python-aiohttp-doc-3.6.0-150100.3.9.1<>,bp9|ZH$:zeM4&;аK VFEΖ꽿jts F z*Y2T" ;}p?}`d ( O 6<Dnn n n ln !n !n#@n%fn''n)p))*(*/8*89*:,aFhGhnHjpnIl(nXlYl\ln]nn^ubwcwdxJexOfxRlxTuxhnvz z|}}}}\Cpython-aiohttp-doc3.6.0150100.3.9.1Documentation files for python-aiohttpHTML documentation on the API and examples for python-aiohttp.bibs-arm-3*?5SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://github.com/aio-libs/aiohttplinuxaarch64Ar./CO,M6!$b7 [/.q -r]~ / }^ Yc@5 +)=*$RZZci`/lc [Gh< ZoQ v%Bp L0Tf@H#(Ghc0 0!W#V-IJ99jb>FAP(AAA큤A큤A큤bbxbsbsbsbsbv]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW bw]rW bw[KMbw[KM[KM[KMZ}fbwbw[KM[KM]rW [KM[LPU_+[KM[KMbwbw[KM[KM[KM[KM[LPUblblbnbnbnbnbobobpbpbpbpbwbpbpbqbqbqbqbqbqbwbqbwbwbwbqbqbrbrbrbsbsbsbtbtbubvbvbvbv0f10aa9ce512bb1fef8bbc51a0324b2978d2bf51051f10bce8f0e860eb4f8ad6b1bc56588d5ce39d3857378406f782212481c94b318ff368aaaf3785ca802778c392bd4911222bc71b3ab2f08201149e04fa99a213e871af8cd5457ec030db32fb7cb7d7cbdfcff0bb3789433ada26fe41b24bb8b9097635f2fff1de7bb7cd4d4bc8ac06bd24400a17fad67ce818879613749ab083f44750a3e7d6f7b3ed79d8c8f85fb4c92b102a163c9a58e1af6a60a2c00090a51293991c2ec98267bd6c2984baee842d955a08c93f98f7243e370a4fe680f224c55f1c2f96c2e393ddda13af65ea256a0ff26725c58bae51ef9cd91daea9f49e77bfac44a48aa21e70162ccba256580df5c2c3b5196107dec305927f7b4365ac6af13dcd7adbc7b1a3a848beba4bfa4dc13d40af461b4d738e476b161a86c54af942a6f92424b3021284477326bc859ab7d94db66db44be23531c039b0e186056f1e360075ddc0ede8330c0787c0e43ad2cadac9732fa8c05911366b4daab0387750bbd1a12c8bd546cab190e25f4b6ee9777d0ba9be8cd753b45338014dd34ceb8ecbb38f84510712297e54cf7cd3b6b3c92c86408a558c521a82a186eb664543c9c01e49b9989dafdce826806ac9215c6b1b18abc60677f2ff1f871a59a9ce1caa55b084336cab921acc89fa793e3328d19baf74f1483f485131dd41501661494787c4a4f2473434ffa8462d921bb2ab79374cea12ade58cbee90139a887734b42c8158ed9d9addff44523a0e6d5f9cc6f64fa3e8f84439ee0f8e011765c528b72b18b86edc39d86836e2a70223310cc6af79210eba4f03ce5bc6b6d3bc3e21dc02377df59186ec3a1b26982b2006827987bbd1d0ff806cd08034650acdd7e8ee8ece1e2ea26506a2a3d767e3bd5a768505b5454280e07a164cb29b20494b8baec48c36cbbd9bf7a343b615b9988d83669c655dabc366a1583f9d70175aa5dd269b94358ae9884fe268e985457a3e96eab96d1d7c550c72eb29ffcf1fed68bc38dc7374ab76942afffad1149fe6803b2f7349b4debe68e58a33ed5906f73e7d293baaf0d4c01b413789221ab2d60b0941473ea10334136da14f8f96f713d31ce7aeb32188ba5f10fbddd1a6c6679676d4dbbfba128db4457fffe590e99114551c8e0fe01040ea4f4719180a739ea2384e91946f8927ce14004d56a09fd63ce42840f91d5742e58d2fe867d89613bfbaa9d605484e3b2a8c145b176ffdf3ecd220fe9b174e94d7994fa70f1fde54c8ec4efd0061a5b230c93f09d048382350bdb3832d444c1657be04e1d43af1e20fa6f67b65f842ec7ad117865cc715834e78a546b4185f0e983de0e25521b8ae70db02c7ea069e3ca645d3be366c959991758ead66088890d11fc31d5d0c37d71276a3d177aa2b756fcc5db4210c1662a0074ab1c328e34f53d58b3e492baf6f9b91202086066a5ebc3ea9f3f31ebfcd6784865c1f21448ef050242a958c1cfbc8a4e1444105f13f7f45dd0bef7aa5837d13e5c9aa3aeb8fef56aa22e4c8e0ef95ead9e39296ca52bb9b78ae916fc7d3c894e9c7d63e410f54a6bb9b59275892f20c6c930275bbeb8fe36583cb03e36f08c5957e8039f2306bffb8628a6abdb2ffc7961294a3fa16843c1ab1cb40736caef77ecc4b015dd3136ab714e8cecee848edb98dd131e2d719d321562ec0bddeab40cbb3d21583e361f9fb581ad7cef26c46756cead1afb1a9d583588f594ea2dbeb55721b4cb1d6d3d4aa1c8fdc8fc8504b36711870f5adc084e27f92d6de4ae92802089d586bd7243636c88ccfd2efcbfb629775e110441ed058d192fd65e8219fefd002614232b262fe2325d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c2b61fc4383784ca3ff8589a1bb48d19d06fddc78d6120cbc9ad31f275f62f4cce0737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa539f23a6561786e3cb4e33e4a96562a1305a8b74c0d45dc215a64018692cd5d4cba5080dd83bfbc09c8440ecc3e163b7352073f7428a92facb9dfcd04ba29188b8a36ac68c17b2b11d6ecd0ac6d27fcc3716aa124a5aba62820c762a7c8a75765c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec891d96c5bc59d8e36c030e18377d7efa1c64ff920eb8a60a575e63725fe60417cd5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e0d9027289ffa5d9f6c8b4e0782bb31bbff2cef5ee3708ccbcb7a22df9128bb2187083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac6387303dd58f316b31eecde1e8d682523be591c97026c0f57f6f30e9e44a7c402be8d039d87d8f443d02abb76df25715de53a329a7a35cb58d4767c08a574fbe00f808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e935023e61ad44de4625bdd7aa3b1ac8ddad355c919de8a23bd16fb36053901ff23cb9ed2cc44bb02b75974d19e00c82fb76e2bd4b5f4c06e7a141454f6a4e780321ee4e5dd97b7d9154fa0f18c09e4d26849bc2a62140b792b329c7154a7c5da3b983c692a9314047e888bedd4ab8d2db3fbe46cd7515bcec38d1b2c7c6809fc9ef832f1f717596d7dc6a589520d98b10145a2b6867c5fd21e8cccdede00e4679a06c7fc1ccec1cd43ea9567b7084da6775922b83971c0ef5e266433007435991a550b1db2d0b698479d67e98ebfddb9f3aaffbdc64dcc13d2392bd587392dfa5ecb0764c3e8f27b58dde35ca09399e53be51183c724d909293f39259d69e354251f98e019cc12aecf55f993a38deb107488ad27985178805cdadfe3822c04bce584a1cc994a32da37d171b3a5e4d9b63486d0edf89b88f3137ba997ab3abeb1ebff714fec13684be8c3240b85290dfe62e9bcd9a74de1701dcedcecbd635807b53b757d60166c29f1c95d07a2902cf1aebb9409a53dad7dc5dbeb4f75c1fb2156de390335be5ec291849dbc43940ad8827a787f647552f57863e5578132b7b73cce56e139c5433c90d45510c3199c67dc2de36c4e567aa1006cc068f54fdae68b900dac7eb609ef3fe0377f4598c839dee19812126daea20e3b65218105845ea7c0ae653fc8043e8fc70f35b4c52e73d3f361da5bcc14d7719816f64b837e8024b48fd3e8ef22b68477c8065900dc2fd938f065495c64e26a5bc661d5c17da7051ec8d5be1e1825047a8b1f40375414015d7f4a86ebfc87fc319ed2df6245c69fcf126243511c05f5b7ba82dea4aa612c22390efe918ab80b393f20e08dae05bfe35c4e41474870e33a529de66dfefb78f80ff4be421f3a97d33fc47d3b15bc8c3d2988ca2f16a600169799b7f9aa9f1dd2bdde3229db5450a12175db1dd326cd81826266b19082b115f92c5d672af4f8ae4062f70cc4e4507b4a4211009258f6b6bc0ca52a81cb887e3b4f52f3f992f8e873123d0afbc335ef6b1698b21fa7fdd271c4c57ea95e7b441cc625413a7df213b20f7838ca99f725e8236599e23fd5b71e426350ef85c107c74ad9abe436a85097126a037e627f7a1afea0d89413908762e16c8dddb4b06f7d979d6615f34140250d295c0491dc89bd0fe8724bfaa076bddcb7c4b3479e95fd705332f04d61b245f8c929a70801a9aeb75b43159ca8ce64642a493850a66e41a3e6abd4a8150702fe3b1788a4606afc126c0c7b4408eb73f9455c26e824e1d0dba8d9ffa20e33cb41eae7e20c8333ced25915e4ed44195defb2db09186471f0face490ccb963993d77dd3dcfb761a2cb0f849f515471bd421bbe9b2a57ba9aa4625a95ebc99ee0a7afdda0cea9bbe60623f2a438ecee5e99ce47cda6aeced9528682e0a3a44d53ea038d43ba6b7af75878c57754a8e4e9f6d86e7ca78cfaee0a3c720d8e5968c04849987d1dc618dfea257f7731f7921531f27a6323287fa87c4185ab37dd5d36e8434c943f2fc638d48d1aba7770444f5b60d0d61b822636d31307a39da1b03a732cd69f7955f91999ba3ef062e9a28aac6a29bef66f5fdbd6f7c50a7f8441d7952e00ecd68ab5b49c2494c047b2054350d3698669f11dd2149eeff58918a1930125b43a6d923092dad0eb1dca45e4340e8676b718603307a2f7c3e30719d4c91777d4c0d7d27301c0512b0f5dbb0ea61a347884af0bb779f9a3df837af207a7bc507a8f6525104009e4014961a99758a880095dcff97c66585e5bf1764870c459a0d4bcb5a51dee0675b38dbed5e26ff2f3cfc883c9b43c1a361e025a58fd0e7a72485b4aead8f81eb05553b5317968bcf0481b3c996a91ea40698137d3687555af850496cad8fc240f46858c626e5drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-aiohttp-3.6.0-150100.3.9.1.src.rpmpython-aiohttp-docpython-aiohttp-doc(aarch-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1brj`e@`!']{]^\]@\v{\=@[@[[-[-[0@Z@ZJ@Z@Z@ZH@Z-!Z'Z#@Zr@ZC@YX@YzYadrian.glaubitz@suse.comadrian.glaubitz@suse.comadrian.glaubitz@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.commimi.vx@gmail.comaplanas@suse.comadrian.glaubitz@suse.commcepl@suse.comtchvatal@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.detbechtold@suse.comalarrosa@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dealoisio@gmx.comjengelh@inai.desebix+novell.com@sebix.at- Update in SLE-15 (bsc#1197831) - Refresh patches for new version + CVE-2021-21330.patch- Add patch to fix how pure-Python HTTP parser interprets `//` + CVE-2021-21330.patch (bsc#1184745, CVE-2021-21330)- Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352)- Update to 3.6.0: * Add support for Named Pipes * Removed Transfer-Encoding: chunked header * Accept non-GET request for starting websocket handshake on server side - Drop merged patch pytest5.patch- Add patch to work well with pytest 5: * pytest5.patch- Fix Requires and BuildRequires- update to 3.5.4 - drop invalid-escapes-in-tests.patch and rename-request-fixture.patch * big list of changes from 3.4.4 - https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst- Remove version dependency from Cython (boo#1121578).- Add patch to address name collision issue with pytest fixtures + rename-request-fixture.patch- Upgrade to 3.4.4: - Multiple small bugfixes - Remove remove-failing-tests-due-to-pytest-timeout-issues.patch - Add invalid-escapes-in-tests.patch to fix invalid escapes in non-raw regexp strings.- Match up requirements to the setup.py- update to version 3.4.0: * please check the longer list in CHANGES.rst- update to version 3.3.2: * Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to write to a closed stream. (`#2499 `_) * Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 `_) * Enable logging when ``aiohttp.web`` is used as a program (`#2956 `_) * Add canonical property to resources (`#2968 `_) * Forbid reading response BODY after release (`#2983 `_) * Implement base protocol class to avoid a dependency from internal ``asyncio.streams.FlowControlMixin`` (`#2986 `_) * Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 `_) * Optimize HTTP parser (`#3015 `_) * Implement ``runner.addresses`` property. (`#3036 `_) * Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It improves websocket message reading a little. (`#3039 `_) * Remove heartbeat on closing connection on keepalive timeout. The used hack violates HTTP protocol. (`#3041 `_) * Limit websocket message size on reading to 4 MB by default. (`#3045 `_)- update to version 3.1.3: * Fix cancellation broadcast during DNS resolve (#2910)- update to version 3.1.2: * Make LineTooLong exception more detailed about actual data size (#2863) * Call on_chunk_sent when write_eof takes as a param the last chunk (#2909) - changes from version 3.1.1: * Support asynchronous iterators (and asynchronous generators as well) in both client and server API as request / response BODY payloads. (#2802)- update to 3.1.0: - Relax JSON content-type checking in the ``ClientResponse.json()`` to allow "application/xxx+json" instead of strict "application/json". (#2206) - Bump C HTTP parser to version 2.8 (#2730) - Accept a coroutine as an application factory in ``web.run_app`` and gunicorn worker. (#2739) - Implement application cleanup context (``app.cleanup_ctx`` property). (#2747) - Make ``writer.write_headers`` a coroutine. (#2762) - Add tracking signals for getting request/response bodies. (#2767) - Deprecate ClientResponseError.code in favor of .status to keep similarity with response classes. (#2781) - Implement ``app.add_routes()`` method. (#2787) - Implement ``web.static()`` and ``RouteTableDef.static()`` API. (#2795) - Install a test event loop as default by ``asyncio.set_event_loop()``. The change affects aiohttp test utils but backward compatibility is not broken for 99.99% of use cases. (#2804) - Refactor ``ClientResponse`` constructor: make logically required constructor arguments mandatory, drop ``_post_init()`` method. (#2820) - Use ``app.add_routes()`` in server docs everywhere (#2830) - Websockets refactoring, all websocket writer methods are converted into coroutines. (#2836) - Provide ``Content-Range`` header for ``Range`` requests (#2844) - Fix websocket client return EofStream. (#2784) - Fix websocket demo. (#2789) - Property ``BaseRequest.http_range`` now returns a python-like slice when requesting the tail of the range. It's now indicated by a negative value in ``range.start`` rather then in ``range.stop`` (#2805) - Close a connection if an unexpected exception occurs while sending a request - Fix firing DNS tracing events. (#2841) - Change ``ClientResponse.json()`` documentation to reflect that it now allows "application/xxx+json" content-types (#2206) - Document behavior when cchardet detects encodings that are unknown to Python. - Add diagrams for tracing request life style. (#2748) - Drop removed functionality for passing ``StreamReader`` as data at client side. (#2793)- update to version 3.0.1 * async/await everywhere. The minimal supported Python version is 3.5.3 now. * Application Runners. * Client Tracing. Now it is possible by registering special signal handlers on every request processing stage. * HTTPS support * Dropped obsolete API. The release dropped a lot of already deprecated features. * The full changelog can be read at https://aiohttp.readthedocs.io/en/stable/changes.html - Add python3-idna_ssl, python3-Pygments and python3-aiohttp-theme to BuildRequires. - Add Requires: python3-idna_ssl - Fix tests by removing a file and adding a patch to remove another failing test due to a DeprecationWarning being issued by pytest because of a problem in python-pytest-timeout. * remove-failing-tests-due-to-pytest-timeout-issues.patch- update to version 2.3.7- add MarkupSafe as build depdency to fix documentaion generation- update to version 2.3.6: * Correct request.app context (for handlers not just middlewares). (#2577)- specfile: * require pluggy - update to version 2.3.5: * Fix compatibility with pytest 3.3+ (#2565) - changes from version 2.3.4: * Make request.app point to proper application instance when using nested applications (with middlewares). (#2550) * Change base class of ClientConnectorSSLError to ClientSSLError from ClientConnectorError. (#2563) * Return client connection back to free pool on error in connector.connect(). (#2567)- update to version 2.3.3: * Having a ; in Response content type does not assume it contains a charset anymore. (#2197) * Use getattr(asyncio, ‘async’) for keeping compatibility with Python 3.7. (#2476) * Ignore NotImplementedError raised by set_child_watcher from uvloop. (#2491) * Fix warning in ClientSession.__del__ by stopping to try to close it. (#2523) * Fixed typo’s in Third-party libraries page. And added async-v20 to the list (#2510)- specfile: * updated requirements according to requirement/ci-wheel.txt in tar-ball * removed 'changes' from %doc - update to version 2.3.2: * Fix passing client max size on cloning request obj. (#2385) * Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy connector. (#2408) * Drop generated _http_parser shared object from tarball distribution. (#2414) * Fix connector convert OSError to ClientConnectorError. (#2423) * Fix connection attempts for multiple dns hosts. (#2424) * Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the aiohttp.web.run_app function. (#2431) * _SessionRequestContextManager closes the session properly now. (#2441) * Rename from_env to trust_env in client reference. (#2451) - changes from version 2.3.1: * Relax attribute lookup in warning about old-styled middleware (#2340) - changes from version 2.3.0: * Features + Add SSL related params to ClientSession.request (#1128) + Make enable_compression work on HTTP/1.0 (#1828) + Deprecate registering synchronous web handlers (#1993) + Switch to multidict 3.0. All HTTP headers preserve casing now but compared in case-insensitive way. (#1994) + Improvement for normalize_path_middleware. Added possibility to handle URLs with query string. (#1995) + Use towncrier for CHANGES.txt build (#1997) + Implement trust_env=True param in ClientSession. (#1998) + Added variable to customize proxy headers (#2001) + Implement router.add_routes and router decorators. (#2004) + Deprecated BaseRequest.has_body in favor of BaseRequest.can_read_body Added BaseRequest.body_exists attribute that stays static for the lifetime of the request (#2005) + Provide BaseRequest.loop attribute (#2024) + Make _CoroGuard awaitable and fix ClientSession.close warning message (#2026) + Responses to redirects without Location header are returned instead of raising a RuntimeError (#2030) + Added get_client, get_server, setUpAsync and tearDownAsync methods to AioHTTPTestCase (#2032) + Add automatically a SafeChildWatcher to the test loop (#2058) + add ability to disable automatic response decompression (#2110) + Add support for throttling DNS request, avoiding the requests saturation when there is a miss in the DNS cache and many requests getting into the connector at the same time. (#2111) + Use request for getting access log information instead of message/transport pair. Add RequestBase.remote property for accessing to IP of client initiated HTTP request. (#2123) + json() raises a ContentTypeError exception if the content-type does not meet the requirements instead of raising a generic ClientResponseError. (#2136) + Make the HTTP client able to return HTTP chunks when chunked transfer encoding is used. (#2150) + add append_version arg into StaticResource.url and StaticResource.url_for methods for getting an url with hash (version) of the file. (#2157) + Fix parsing the Forwarded header. * commas and semicolons are allowed inside quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; * non-standard parameters are allowed (although this alone could be easily done in the previous parser). (#2173) + Don’t require ssl module to run. aiohttp does not require SSL to function. The code paths involved with SSL will only be hit upon SSL usage. Raise RuntimeError if HTTPS protocol is required but ssl module is not present. (#2221) + Accept coroutine fixtures in pytest plugin (#2223) + Call shutdown_asyncgens before event loop closing on Python 3.6. (#2227) + Speed up Signals when there are no receivers (#2229) + Raise InvalidURL instead of ValueError on fetches with invalid URL. (#2241) + Move DummyCookieJar into cookiejar.py (#2242) + run_app: Make print=None disable printing (#2260) + Support brotli encoding (generic-purpose lossless compression algorithm) (#2270) + Add server support for WebSockets Per-Message Deflate. Add client option to add deflate compress header in WebSockets request header. If calling ClientSession.ws_connect() with compress=15 the client will support deflate compress negotiation. (#2273) + Support verify_ssl, fingerprint, ssl_context and proxy_headers by client.ws_connect. (#2292) + Added aiohttp.ClientConnectorSSLError when connection fails due ssl.SSLError (#2294) + aiohttp.web.Application.make_handler support access_log_class (#2315) + Build HTTP parser extension in non-strict mode by default. (#2332) * Bugfixes + Clear auth information on redirecting to other domain (#1699) + Fix missing app.loop on startup hooks during tests (#2060) + Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063) + Fix issue with CookieJar incorrectly expiring cookies in some edge cases. (#2084) + Force use of IPv4 during test, this will make tests run in a Docker container (#2104) + Warnings about unawaited coroutines now correctly point to the user’s code. (#2106) + Fix issue with IndexError being raised by the StreamReader.iter_chunks() generator. (#2112) + Support HTTP 308 Permanent redirect in client class. (#2114) + Fix FileResponse sending empty chunked body on 304. (#2143) + Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests by default. (#2167) + Fix parsing the Forwarded header according to RFC 7239. (#2170) + Securely determining remote/scheme/host #2171 (#2171) + Fix header name parsing, if name is split into multiple lines (#2183) + Handle session close during connection, KeyError: (#2193) + Fixes uncaught TypeError in helpers.guess_filename if name is not a string (#2201) + Raise OSError on async DNS lookup if resolved domain is an alias for another one, which does not have an A or CNAME record. (#2231) + Fix incorrect warning in StreamReader. (#2251) + Properly clone state of web request (#2284) + Fix C HTTP parser for cases when status line is split into different TCP packets. (#2311) + Fix web.FileResponse overriding user supplied Content-Type (#2317) * Improved Documentation + Add a note about possible performance degradation in await resp.text() if charset was not provided by Content-Type HTTP header. Pass explicit encoding to solve it. (#1811) + Drop disqus widget from documentation pages. (#2018) + Add a graceful shutdown section to the client usage documentation. (#2039) + Document connector_owner parameter. (#2072) + Update the doc of web.Application (#2081) + Fix mistake about access log disabling. (#2085) + Add example usage of on_startup and on_shutdown signals by creating and disposing an aiopg connection engine. (#2131) + Document encoded=True for yarl.URL, it disables all yarl transformations. (#2198) + Document that all app’s middleware factories are run for every request. (#2225) + Reflect the fact that default resolver is threaded one starting from aiohttp 1.1 (#2228) * Deprecations and Removals + Drop deprecated Server.finish_connections (#2006) + Drop %O format from logging, use %b instead. Drop %e format from logging, environment variables are not supported anymore. (#2123) + Drop deprecated secure_proxy_ssl_header support (#2171) + Removed TimeService in favor of simple caching. TimeService also had a bug where it lost about 0.5 seconds per second. (#2176) + Drop unused response_factory from static files API (#2290) * Misc + #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, [#2248]- Fixed build on non Factory targets- Repair package description grammar.- first singlespec package - fixes boo#1054580 boo#1054581ibs-arm-3 1654111725  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn3.6.0-150100.3.9.13.6.0-150100.3.9.1python-aiohttp-dochtml_imagesblockdiag-01f8c7ea81260e2fd47484686b6499cdb2384cd1.pngblockdiag-05bc7514e0a36c9153d89a94b45277a8b0854184.pngblockdiag-9e4ca86db1dec60a9e840bbdca40a83459c051cc.png_sourcesabc.rst.txtbuilt_with.rst.txtchanges.rst.txtclient.rst.txtclient_advanced.rst.txtclient_quickstart.rst.txtclient_reference.rst.txtcontributing.rst.txtdeployment.rst.txtessays.rst.txtexternal.rst.txtfaq.rst.txtglossary.rst.txtindex.rst.txtlogging.rst.txtmigration_to_2xx.rst.txtmisc.rst.txtmultipart.rst.txtmultipart_reference.rst.txtnew_router.rst.txtpowered_by.rst.txtsignals.rst.txtstreams.rst.txtstructures.rst.txttesting.rst.txtthird_party.rst.txttracing_reference.rst.txtutilities.rst.txtweb.rst.txtweb_advanced.rst.txtweb_lowlevel.rst.txtweb_quickstart.rst.txtweb_reference.rst.txtwebsocket_utilities.rst.txtwhats_new_1_1.rst.txtwhats_new_3_0.rst.txt_staticaiohttp-icon-128x128.pngaiohttp.cssajax-loader.gifbasic.csscomment-bright.pngcomment-close.pngcomment.pngcustom.cssdoctools.jsdocumentation_options.jsdown-pressed.pngdown.pngfavicon.icofile.pngjquery-3.2.1.jsjquery.jsminus.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsabc.htmlbuilt_with.htmlchanges.htmlclient.htmlclient_advanced.htmlclient_quickstart.htmlclient_reference.htmlcontributing.htmldeployment.htmlessays.htmlexternal.htmlfaq.htmlgenindex.htmlglossary.htmlindex.htmllogging.htmlmigration_to_2xx.htmlmisc.htmlmultipart.htmlmultipart_reference.htmlnew_router.htmlobjects.invpowered_by.htmlpy-modindex.htmlsearch.htmlsearchindex.jssignals.htmlstreams.htmlstructures.htmltesting.htmlthird_party.htmltracing_reference.htmlutilities.htmlweb.htmlweb_advanced.htmlweb_lowlevel.htmlweb_quickstart.htmlweb_reference.htmlwebsocket_utilities.htmlwhats_new_1_1.htmlwhats_new_3_0.html/usr/share/doc/packages//usr/share/doc/packages/python-aiohttp-doc//usr/share/doc/packages/python-aiohttp-doc/html//usr/share/doc/packages/python-aiohttp-doc/html/_images//usr/share/doc/packages/python-aiohttp-doc/html/_sources//usr/share/doc/packages/python-aiohttp-doc/html/_static/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:24453/SUSE_SLE-15-SP1_Update/2b238af2afe6df4097d438cc668d433c-python-aiohttp.SUSE_SLE-15-SP1_Updatedrpmxz5aarch64-suse-linux     directoryPNG image data, 832 x 600, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 440, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 680, 8-bit/color RGBA, non-interlacedASCII textUTF-8 Unicode textPython script, ASCII text executablePNG image data, 128 x 128, 8-bit colormap, non-interlacedGIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedASCII text, with very long linesPNG image data, 11 x 11, 8-bit grayscale, non-interlacedHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textHTML document, ASCII textASCII text, with very long lines, with no line terminatorsS Xutf-840ab307f5776ce57ce8319a802d90615060a266925d62a0d0027b88cc3133889?P7zXZ !t/z!]"k%%) o-OK$V& W-WvZ<8>o'݃R^_Ph&? W^ 1Xb9; k3R;.; ,\vlPѝ! R?,K)B~vQ7ËgSiUQBpF'ArE`FqHg&vVNvhht:"/=ke˙<ڝFřY J۰q.s5T.™ڢwT؎hrv%4T;ǑV:s:!96#6JAF@J!K QUoyкyYVB`߂1Kh2.VNSLՎ@׬ɖiA0Dwui:!Z:)GW Q}BwՓƍ46S3ڝ &}yZL}wsފ@ jg'w¥}Xgi[VҗVUǀ eπ{g㚴8@5$2\G!& }(Cu]nZ(vx>EAD|JPm*ym~XN"JQpG$(\wI[xbczȏܻ'~fj'&L 7ZLG60G;{سVYR~[X^D0WB5v1Y%-<BA}gm3 Xpױl {n;x?EF Nk96%PL"1ܽ}Y@'|L0n#.nŝ%;tiXv!r魥FiNd H6ByŦĕl].2{jգϧb@G<ߋB-al?Cet0Y: \ C֎-bJ|IҺ_iɬfa]ׇC6?0W2A>cq>dx9pBC y%uxI.%*~~6d[җTSSqTQP[OMLC"^`Xk#a]$ճFZXN|űgG+G>BrpXBfi#05v-(טT5P,XSFXB1!3]`Q:c\<-C6>^ TEc3Kk z@2/w]  Vt5UF7۳PQFQ,4AZjO]ڃ?6(=M97qᣥȞ=!Căb*immrܨ.'H=q527N0#{rCb~X$3Uc%vo|:>G/Sd9tboaR=AEǓD"'<64*r$,ihVN~\<&l/FT؜cq!^f5`E ZCrp%jbY']MҊ"WG}0`]9m% ɼ.@3I#5[vt#}eh$Rnsi-Œ dxN {SndZDń3tA2:Gvt~\K(*,^'}2E1.pn(3zZVC{̣T"Wi ee``|a0%v+MڞߍЀTJ*,59mшpoď๦`@'Ħ*sz\b)XtOWx5 S[֐Rw-S0=3(7=>ܐ6'$Gs !rPS7f(īI3y~DR`Y4Cy4#Clt3r  ~FCmTk a&GY}qE;`8!͙h7|l <6R3s. @zR-bu&E>.!8P&Di&t; jݱ{-VȚAjac ?<>a'tk+Gx`Hr .aZ?H@PoJeS\ܸ*]f4>VPQJQ z-ZlG0-E򻿼(QFd֩ otQzFL~$kLEpcC`u /t?[sۑSf-~ CGBdLU>h'Ű#3eAi}-7\g*:Mc}8arڻ#$BwJcѵ*}:d߭n6ZJk>bPbc yAu$MeII=Q`d~:+  ?j/-홨*Q3}ͳs2x NH5UQw>ظ%9Fc<{nW;!.!rhD⑳6[7^oO),}=7$ DFz Kl_➶b+$KsN>:mg7YIgw2.x~t0Q)( fnۆaCH8 D nKzʷpHL.~ų:!eP@-΄mtH  _f-†s B@y9ke@d:ie:9x+ ϦgF`eG~~ǻfaYCVt{fb"SXVM@A:X݉8H1Q=4%d Ms&FFewCR#Sڤٶu*?' kk \PL26Hhe)|v55bs8"IĀTi͚ YO[~g|2w Lw#R2f7ê='!}di\Wll#&@ -d*[s׺um>d(ymҔsmধjvXPx㔽җ2ou@f/ʸ}wabǡ`{XF@$ycumpq+Ÿ2hd䆗8usig8"O@dKɰp?9 `SBs%_t}1a$$e{1E .~z=|5\^z1䑬aAݛE /Je%f%@>9䅩$Sbնd^ p? p={~E'}YņLM+!ڼ]~wZ-n :5<ۉ^ :oOCl]LgJ0_Xֺ?0Ս*83%TGwF8* z9_4PB5kqE<{` N 7z$B#r硯F4`sYeӶTV |s9 FL`_^\E0MwވkeK>^8.x_L9q8i 03>zhl ~' "Ro*ȆA)VuMgCU uQ>;fB_<6dFp'&*ׇ>Be7<$+/9X_DWŰA95?h M *hAN3*wPOeCZkP (PuF?iNg% ƫKpa!GlV(Lfæ*i~t'1TECfurw^w:|1LE0@52ɡ?֣>.f蚆HNQ==&mS:`x4Vv9.rXЗBpe@/"k ) B5IP<ddŜ>ÿ*Ji>:D x_ ^6>ߙb `+I-“TxAԭF 9(~ #_NH>X➾'khV0b|X}tD/ *vYיb$ j;8lYY%\^kNLq|2x1^;#: e}-XEw@RG%> 'j֒sǚXTY q-J.J`G|y\R0)ԍUӔ2ULf,§|4?1 7J$7jQ%kC"Јdp9o! і K^vFu*rGTUUeE?3^4M[!דt?T jjhwB'^Y`; |Q,-2d,M-![W_^Sߵ6LS މ+:Q^9@aS4mdc3Aa`H? Bb#t3 2c EV`ΠIr]<:I~&Tx=E Đ| $?~$sK%r,[P3Bi`HT3JcK:O?SZz"cq6/|t lFc{X :P@[}f2y;q5Gr!#ۈ4κ|g!$" /d<4,Cԡ@ѬaCjI;)PėJpYr ..|qreR] G7 uMJ*/lhLdGf(Jb^}"Jx_`1|d[A2:ggs\5GbčD_n ޾`ҤI&h16sL<_e4yI3$(ZX0SL]/>Ϋo5Rl11`ݹi!XpO]aFGj FE~yeVS摒?-B'22x9>n9ݜ-M n%dd"{c35|=xgwQbmA%`\G }L4hB %c0#?KZ|we'"nATyRO!5gꎛ5ԹZgܤ=69݅4Řؾ O.p5.k 6>s#6SSR?@QI.6'iDal =vLeݷ"q G[6 _U B 8Rکa *n |(@A閂yKQBwf6z0ӢD50,qLr#f~^)Ny`a מ)3֐#uJQo>GrTLZFl(ZȈ_0teGeE(v.amu$r%~-1"+Fw@ "$-JpB.04(}0:#a7m̐:oFMGpg&Ca-Joyb3S|c](!QEw(1bc)]n*Tr3 "H`1L,&)ИPnH f]9Qز/ "sxmC_Ȃ/ i/C7;eQ75c ~&"}b"lLb 29 #"cpHUYG8:ҞܖLM}Ia}3\uVbGL^oAvTFK+ e^B.i~溽ӿ@w@޲(0[yF]J/ij\C ߘ姥)Vkf[IK0#LJUMr5(cz-J{~ic /xhPʿ!JpK}382~2TsjR[eCԁvO,'T)m\hΏ$r L.  Ap<3_lw8zЄW_-xF~ |@J붴Cp%y0gW[ nF:9D BZlVFF . zU{A*Ckt gWpk.^1{ Zp2nI۶"7YՓX(/׿v,޼և|n#mTA!Jbo^x.s#Re"xU'hnGPv PYsE[+O^95s\ fvS Vxk;]wc­GuԲ,L/P+KcH;</] Fkmym-C-BwíLԼސF*1X fh6k3ߕXtp5E=YH*Teb 59 lhw6N=cxLX`Ҹp^9y tFc6mFW"حcpga(hWE'OaJRFH3[)bQƃBOx,Ǹ = 'X>j,! Y4ÊC:$b̹CSבCA2I2*b3,nBY9sb`+Dlv ϲ<˒@B+5[Yӗ(i 6㧘kT >Ӧأ=\ctfѢAxUh\" 0nfǻ\?`LBwsXǏ,+bw[ M/BT*3!#Ul̓Ί8OܟKcn'O CGM< ]".MTh$K L+4#bk-FIVOfFL IdW2K?MTEn"ueM J\8uԢeuK1a8XkPQqMKN+dڂyoQ BK  ^}ܵƈHVw1be>0㨍?̎h<\SH%d.X3:bwP ߿LW~ĿiWnd=)Ÿ ;@Vc]^֍?A&1=lt(BTSbk{Y/Af9a@8f~Sn4E|b !A>i(#܌ZrdKٗ#1Bw MreR#,!Ƴ9KdUN.AiR´!1I`BKRaV̒Nd2}4Z@bצZ:p W`IgLy/ eU,қ]b8H~I6Beh jJ#9(_j~fOp\CnW#>?AK⺆ΆW{|`jɣi6xr GdVz"Nb N7b3O0q!tOtWoUK!@ooPj@ooYQBUdi؅NU\a&UnMo9%qW'{A7U4Lg_z[bh:&;F*AOF&樷j/+^tq\EJ cR/DVIugM+_[Z.I>³>˦A;<^EoHv@^j76=:@jg:3Lsă}:Neu-OtJRz?KKux(*t-oGϯ&V2Ir͛"xɉ֭ur`ZVlcZM_.L 3JD"9s7C;=]ajpZ߼(&CdmKV[~F7G$}R#ӺȹV!G6#A`Xb3ҝ{0N-K\fsCxgS#H>~9SQRy$j6iZƗ -B,SS2Q/D+7-0cuە{PboaZd:LqN`q8vhVEzzWYZPibPd]zszx=D[7v[{L$.#6ʛaF;ݴ^9?F>ܕ($ڋJ%o /A3XǼ7Bjs=/x;q䁸ÇSvEԬG_˛{MoU_y_^q\!G lwaarY/g鿖Y S^+9elV<~эJrJG>Tl8dȟ_fnL mّS+oZ!0,%I[}\R+Z>xk=h/O֒7jP,+S {  ! .ZxA,K=DtK!gwu>煪 15obh'<?s~b覲~P`OWp[կe@1'lpǿ@>x mQe'md~B¤N0nuU@p~:m[=ʙr ͏gLiZ. ~AovOvܣ߈+T66J3)w?v%E'['7VIʐ2.>hks#ӷsӇ$UItIa55:q2>2|C_|`'NFT&t([R]XZ@e*G ܿQ_B-*vAʩEHG*%lr z"GV0s ^[bd#xAǸxh6x{M˙رA0xK_Wz67WKd`z#8%qBK-z1k)V b. #EHVkG39bAG2IĄ6bË DmT^dMӯq'pȗKaeۏ5Ta:c^ G>ªcOQJA53Jix<*L/)si`!#-#cP1/'IW3c jsy-פjqe!l]Z\>_^(OK!& z]ۃC$ۗ׍U׈«ދc*l-| 8kIK)hx&Ӊe2H3N51Q&6F;L&F9HH*֢(p Y})H= %8"H)&kVovZl*ԙ砣 <8IUXۯ?p u#]k|>A㲄t& W FdykKGOb eZ[0:Y{߅š6,w_i:vtjiu^L;a 8rNG~6n`<P)S7W(ȦȼZD0as{XhwcRaz <^*U`! ygck#q[ZQB}5W<"[,RAY:yw`#[~ghͥkaq[R \5iˠrXșZ`*Ĭ9@֌.fÀN LTW?2癆)OH@QFU?%κ$m|U5gYw`T\ܪpT3kl1'8BLgLѤ!ØZ%jXΡ3 ,_goӵ!WmJAھ u&+|H$@YxMf:/[XʃEL MROVg+! "`s R[\zH9]ȜJ.XJ9Hnr-$Ff'RBˍmz# E (gwpQqvѩIhk<,:XMd DFXݬ_;TGK(ks}u  S8G59U!p PօUAG(Yn4F>ߩ4(O(4uڢYpna\ڭcuуy\x=t~#Z!isK * 9ޤYbrѼHgN޹h1uMRla51[`EQ1$:lܾ iP}iV=蜅3p?vRt͉ պțn9 O_*a_'uўc:u=r+gkH_F\.Txn5VKRZ686DFDCB[NʫW!UtۯT7R.K}I"yE(r$/w?Ek^h V&ZK8$ݗ Z)WDŽ Bk{, ӂU:Ūˊn,}TG`ֵ>/%JϯT?'}yX{d?7,QPGhy"ݘc&nK8<6^)ϳcFt}Qpa*qGp5YƴXfʜcx{2^3w06KK'9nZj4W-bK/zphW MK`F=jqPS\fBY B&q=,DS8װjJ[h(wjOD,tؕad6GW1I˪">l;xRV9^΃$7w8}BtcTKeޖ;vQ nseF\Q[cx {gB oMi.L/V%<7~XiDŽ=p^FϢX+qҹC8xܛËNAq)(r:!v^x#dL@C|m35.|o5xktgс%" X(zT3t*]z2 |u~fw{W[Vzp Dy|>,r&ڽHM0:2a 84*@u.ybd/Nek)5IܘIhHaX>[Ś]EǬH 237o) Hdd®o9k$x$M5&(Gm&4߷[y tV:_!)c"teJ*4C2{_Ɉ*1E RG 4IMu!;LˆM'. B`\ȹwp&ns1 D|P'`iB/!b7D gv=upq>5"B@U:cyG/?MP{ѥ -J(R*]Rk| mNf  8 B /?/'8PXS+¶wV~JZ]p}4J&gqԄ$~v.1"P45 XN#"wʜGѠD&Ikr[?ejwU̧pߓyhNXH+Nc/1wD\`p+mL Řn(A1 6& F<^EX rQP^!.(п_u`H [~-r)lndKj;^^)CK_`5BTŴaIN2>F|ۤ~jf0~ni[#'Ŧ=oqSMNSpyt<&OdR^m_cȈ]k+cUf򼡌I2LNH}2xs(J];>]"J<ɹ)~D@4Aޟ PS`[=z$irN'?̓_4޶;@v gh?9jizG}anP2md0:>}H|^I.!:Wzo 9]8 FKwSx-JȁRwl^]8' sk(!;wnXFB[g.;u?f:4FP-qBQ^4Q1/)Z]Љh|*@`i&VYgZx%ӆ;-5gV@2XDLtI<'3U׾\шJV0CtwuRqwmG Bb^xܰM>Jt_(9i.C͸V(1k8g*Jy*),9V0)8/?[I*Lþ / 9$W-Va  'Ʀhs9 I P:{4cEwLAXlT ^Rmzy+/)".>5iS;$R^M%*=e8.wMAzdX*&VU T%ΆWlc$Bŧmb s =4):v[1Y i n \詡+*GC%~ ۼg^ꀚbh}ľܤE@1˚a=rud6 0HY 8]UN2w3f GH='T2'+RxZ6?}Ly4YյuƬ{P.p0&Qk{)ԍ=CXH4x2VZ+PΡϣ)9 ] ָ (jEyqn{|hlcA˫DIsʉITzFLD0ThI4@ŻG/A?ŭXWhl˩Xh7\(ʓƨ]I`YkB+gn õ9Qv%'"JRu"!xt~xԱ3X.rxRȜ-M!/vZrdƅ:Uhse s*n{gs I_Nܓx;2L_< jZ[ xм + 0* 醌YCB&j "_]Jlr%Jvc3]I c9-_;X0l*._7eY-%\`WdQ$szwNi6  ?\qGo/]E "/j3QɭOiNK@I2Ol]D"Yi\TZj2AƗ~e;֯B􈏃aqs֣Y P/J QNB0pƂ._s_byˊm*d&nRHWN>2`}j7gPv`{mhN2Hy(QMfk3@&㊬uYe%紀g:@sᲳçw'v]Yd[ yrXT?)pNEA{#$&fUt>*L*}N5Mͪ z< dhm  A0E-ҹ4COPNjTQ\ 7mM!2}#ܯf ;0wU#1iM'#H  X(ߵ·ؿ/c _΋c-~&{ˣV㝎{"`8[]̈HqW_!&QeMnXݩ .nCz94KRGKBx @9ك 01:vD-RsѤu*wTQ7c, NSJzj vR e8wK!Jf?ҋzNR7$Kye9\TɳȁSY P$f<jTIZk,IaJ}akOvo%>".Fuv%α\v^GhȞ!LС%wJ)} rb3um76 LYr)d ?ցe&Nw('?}&P` )Bu;Lǩbs J/t+H$̕m׌@WpMyy l3 zc$,Eb+fmO8xHP&JCX?a\ShɕUן򪰑ږJ~w+9'qd\V%q tmx) O˂*#&5<BQ?''zT&&}Wl>f=ujJlԐt~ ߢNpY52Z7CۈWiV(FE477@=|h|Swq>0ؓxq 3'^lo-]`+m wTnxv$VJ=&[ʿlWOYyZ]zw`ua1]?2ϵ'V+ʡ"\+,m'k8LPl~//FWҋIE퍆k1'lUB'eoE6&[)zvP]N6ҔlVU65_KȢZ~8W;=R{xJDtz{y|elG-Z;B֧'1y`āl- /M6{ n! H{۰24a6DW_1AQL'*ANcW%JoT&,$W87ȄY|\ZbE0_|mJW  ˫CY7wI" ?6Bx\ ,}m;uܲOD6bG3#-CY1qW P< s7A'$?PقԂ^ѬԦZ4w_$,$.=vU[ %\ 2Z_P8ӿ}bqYgMGun1*-zsBAcwŽQ`0%5$qf/It6^ 3dP{-߆4J;r0dpF@9e+"C1 c9db;1󐖧V_v٘~8~NN^~\424*3;;bʤ* Y|aÑ%ƥ{!gch[Ac#h p7ɖ}w2~㝡j(% Wbu 9-ėC*E5!`@ Zz6i-5}pH=fIq!la]U+W.Z& f.L9QrXk\F{^A&ڹȾ=~$I;<O?i~}X͒d78ò;87)g}կ^ }~M߉n _ ec64>V 7cj.VLu5#L:9 q ]Rei8{ NvnKyc z) hxa J{ ȍ"kVN2Nܖ:D3[lc]a r4+Dg |uɻuǔ2y䢤'Os. 5޲zF??IT9JzIhz{З1A3ظZ]?1Jͭ :'C>"h$&ld#YReT>ȉqƂ3! g1U#2z6JFT#c^8e)ɣ.A1mDޙI(=ȃ# kHJ*w-H%+IMU9ɡļT_WdSz&Pn>q8#Z@5,Kº_m>- bߊPr_ISe#^LB&Qc|jo?[y .Nuv/Ql NmaR.ͦ+`|~ ~ڦ0%;LG 6YO\H}}9ގ0N_|I{&o:H 1sm 1YEo6LJ3a>y^Tn6_[;MH8ZDT8,wzJ=p_FQ}CF"K B{蒭B! j]pQ8]D_mN+2/㔺4= (GBjc۲ C1UsW5^ɘ8./$8_#ҙ?Ây+ XLu֥ \R 9+fq- (1B^ sK\8S<1Z:;͎ ;ūc@UTQbDr>`Nt ,aG[^[O|h9 I(]C@{Il YӫijD=VKN \1Z5`ˑ1:udҝ+fL6jZkK8CT NXgޔ2>LxlVc 73xgwU(чd$q1\mH ǂ{{d}O}a>B'L N?NR9vMI4Rxˌ6]UA2 dk㫀>`wGTC4xQ +C$[x":8 R QjRu Χ5u!BztƼ+aDՀh٠%4Yw=Gs^oYV`QGvudo$¤bӾ&=r0Q}xWms_<ݕ4sO0cB7|CF5䩍]Je n\d΍x:5t 툹TM)]^ਠ(}{Ƚ?`ge]\)6A<*Oշ-ן(,Xcos3,Vu\(q_')AhqfAQetUr)w?x"g"Me~e_ ۜ,_$ڞzltiU+~!ُWV>X v:QbG`nA4ܼDhpf.fSWQѺ{g~D*ilX% {[޷>4}_ E rwz}yʅ&Zpo>/K..cq%grT N_M"-ۤ#8u)oy8A޸ۗ=6 |;DZo)E;ElG`n Y٭_{tʧPx4(-N nM,Bb, 3mA%FAܒvx \ bU7]c0&X_&T)]D1(-f-~L.SS>XUi78B#478cYɬ<!0k%Z2(8ut$bQ1LDCC201ݚoL$Xo {aM\6NK"q͊" ZwܑԾ*hCaThsT t<鳅K2$-JGH kKzKݽCj,Q>V^j-_I|Kߪ{넇^L \֊kD =Ax*PáU~ CdW3ͨrffC$&Xݦׅ@I9Ы@ޯO7 26C DƸ&˹7!JE \m/:H|^4M܀!couuPŕ {*8&ioY{O1܈̍5s ֙f^N[>wTxn dnz}pщxX&:fyx{ ׎h51;&rE\3*WMx2X$cT)Nz~xb\ Y1U26Կ߁̖{v '4x* =6oT(TϒOA3XV2=\C?:rP;덗uAOk ̃( Jbt"9oDP75 dw ♷ւ]A@W0-pҟ.ɨ=M x=zKJڃBѼ3n8#0H/U! w>PWjf>ٴ@aM;=&11tAwݑ|eVi:}4)Eqmrt}sbs. n;$rYzV=k%j;;(n | UKKs Yдӝq؄,=r ڃGhAn[<E9" "U?m͍hZg`%C|}o'L< hS席^f[$0LOX:VH>C._Qq(_:e 7+"O 4)|!WAW5POM _LPK.j %5gt;l]o:F׵y-h4Ζ?=Vuf.:oC]GmQK5mXt`U6bՇʯ<\kW_.7sPIק8)sp=)NҴrWǽWt3hFjEDURqZc$?٬Ŀ1+N>.-mP7M/5U]&_-vYR+ueX1ʞ=I^ WZ깗6HJڸ^2 ȽW:oJ4n,{EH@$fʻш>ZB׊[m0 D#`;o5$q ~qSwDzӅ5t:\M]1wͽX%":\ \y' bP*_>d̶WۀNG='=R=J? 5hef|  \'?2_qifY֖QBNXWjNU f]("-|'%X7,Jy4B8XE|5u5M_1[ѡtĻe<*Q- XxAyl#Ä=/D8#Q;pieQISD́x釒m'-hN1JZ!D@P൪K?lSXŅK3=2pD7S+Kؠs6\|R5CasYJ )a{˂RVo7b_ݬ0dV ?G.-PVO,{Gh2dg]Wnt*`RX iy<' P)Bkʼ)}l& oAQɕ޵]KP|u}&@8ᵢ~˕H8#1h650U m` ;,d 5(zɎl޴'n݋mcM4h>Bm - l*;%644me-MLih"5A1#p 14r m4K Y>\Ŕ XW7`ֱy<`a=6@ &J{36lg/9G~yRjGf-6ێ*a:QI 5o B2=J  ΜO`>/@z};Ux2ZԖN R!?2 G{XQ=1ltE@ 6L⭊Z#yˆ6v2w,GX~Xb+*P/%js{㮮p1010CTK~@w):e:o=4݋vӮWA`HPUncDz '1/&z#poXxyjXӳ7A-7:ݕT3vi|n [?zO.v f'6ٽ,)k. ʱ;\lXP1ݬu6׶$WTB.ڄIEXAkNXIDuL[aeG@t`Hކkl_=ţٲNA7V ,Y:}>̜(/qF~]9ΊoaW13ps1b6=?h#tLmf}_m_p@zXpu0fm< 2>>hi+#VI@+LқϋPS1!6[XD[̄n 8ز+ 7"GsX슷L/V d=Oiig= JQ,gRRbTm fmfT4&&Y4)ߚtۧ {N'>"`#؇hi }ykAϦgIJmγ#_ cd[I'72$çCڐ$r?1B̢ʈC&hgy U$t,mqVºoК {;^ @Hq}M8/$sf/`6(yv+ԁSH"X ?,뼷\fTNXE?EWߚ鉥T@dr_J 'ҡ"6o#I`p K'#q*O]l8˯px>oKTL8@; >{:53׵w ! w+𪠡~x0+m-[vz8;cĎ5Z7d:N9fbh5Qsvl2%1@L-ZuKFc"GswIQ ?0GIީT.1o\r# u9^a(5%fm,rDeWyj]5yґnhDchSk[VW6NU˹aj؂~\|۟-n]0r]o8X qߞ)$zo@ ni*tzYfR |Vh%>s]`!`i齞"PDJ= 4' UJ+7TN[e zJ qt8g0?3@kP|x YZ