Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp2762058iob; Mon, 16 May 2022 05:50:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx2h6vPwf4cM1PeJc2xugusGBqIcnxW3ZDVJ9a0kzVSb/4JX7SYCI5x3SAOOUeLjpvM+68L X-Received: by 2002:a62:6dc3:0:b0:505:895a:d38b with SMTP id i186-20020a626dc3000000b00505895ad38bmr17430381pfc.7.1652705430296; Mon, 16 May 2022 05:50:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652705430; cv=none; d=google.com; s=arc-20160816; b=DmJMa1hgYou528naMgoPHr1cHvWenoKc9feXs7U6H0WEy7lpvH5n9Vb65sBR6oRv4B +BZ3ATsmFixpm6t2q1pUqD+LTEM1GZiaOgalegdTXwvhsErG+As8Jjnht515bUAV0Pc2 G1VHxWZ2f/maAJEmT0frp6R0u4tpSfusodjPKJR8kYF5ZW3vOPGf3ocg8Wh3MPM9gIsc nHVvytRNskgynaJDBXL3MWf8va2VMXU1tsBO+mK6pMTEnaCPxjykqF5cE+ja7BZEgLcN ttP4XtuWCQTWHaPrr7/HyjA0flbvSjKIuWSAUMU6+LDGZt50Z4GY8/dLLtvp04O5JGr0 yyTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=lZ51yxMYxu44zQdsQgL3aNGSkYEv4iHOa5VJSaJbnyY=; b=fN3+GGI90QW6xhlpVUv5MF3fPR8Kn8PJY865SzmoSms1pSB6sTGfuBnH/cYHx9riD2 botNIINCR4ZAZ0RG3wlkRB9HeMsNXE1j+7n+xIn4Z8RaL58O6houY4SIdVLwQ/Kr200r 6rkJjYFt1MGXrlg/615J1Muxr0J9JxX42I5jboL6Zu7WI8EvFYUDM/tmI0DaCperjMsB ja+tMLAvzVtlShUlOpAhSyKCs8PX5b3hnAG5YqZTy4KgIquYOQY1Bw8FNYYkdWRVFcqL MJgkRNdCGgyVHrbJkV5bL7ZxaGhe06qTV6hn14SUmTtk63grtBN9G5Q1hmMtCOtHZybE x7kA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Xl5zcX3h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a21-20020a1709027d9500b00153b2d165c6si11289127plm.462.2022.05.16.05.50.19; Mon, 16 May 2022 05:50:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Xl5zcX3h; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233350AbiEPMMg (ORCPT + 99 others); Mon, 16 May 2022 08:12:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229742AbiEPMMd (ORCPT ); Mon, 16 May 2022 08:12:33 -0400 Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5461E275E1; Mon, 16 May 2022 05:12:31 -0700 (PDT) Received: by mail-ed1-x532.google.com with SMTP id g12so2690755edq.4; Mon, 16 May 2022 05:12:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=lZ51yxMYxu44zQdsQgL3aNGSkYEv4iHOa5VJSaJbnyY=; b=Xl5zcX3hoLaaO7OylGHlTIGqIr3u/4APXQ4pUbe9zDRh+4EzH2hGGrxc5+yfj+imIb cuRiETFserSBfzhPURt7UzMjUKIypgT78UD93j+Lhe04Aobzh5gudk/8jCWQO45nLJKX a2UAOX1OOSksQjYIXVizjjPthIe3UhwcKD5St97JuYoY+Xaz1PgvTLZhLuxFrzMawq05 Zxp0cpHX8CEfX8TZDJ+Xy/xDDfKHvpL76f6lMxapuv438hEpHfQD6RV/SU0/2RHVvFT4 90RLzgapGrCbeMQaDaqKSBtk4iQJtjtkwELxGpHXSk66/Zuli5giiGctohDHn+Tv5CSh 4W/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=lZ51yxMYxu44zQdsQgL3aNGSkYEv4iHOa5VJSaJbnyY=; b=xLc3L4lu21UEsbTQAI8YXrgGn69aQ21dXb6cVP4Bg3q8F6KmFKEYvZJJSAu9N58tbq 3ZmQ1ahnOmXruK6BBiLXRzeuEUkyTCPSzkFBtWfC6fyam/f0qMRdoZjKsOIaw/3vNQfv DaAqtg2Az5Ca9Am8CWBwLaqK/JYc4lfBkUGsCWowj/kzBwAD3azpORkv1fDH4Jot/IxQ 8DosP61oPBIQZZiyycIsS1XdWkrVXO/BX3MXo/lXox9Qk8yn3Oeiqh0luUqtOrYEhaQv OVwDput5A9zpPfbkYan955Im1cnyfK64wx/5xZrtH6l/Rz79djQ0gAfgOmhaPLNzVOge iKZQ== X-Gm-Message-State: AOAM531GZPRa7yDMc/dbLWZWgHEUVZMhR1s17C6tq2Z1QsVf+x5YgOTt sAn+8yoD7GJ11rHFTJ4QIhtm4ghZcEA= X-Received: by 2002:aa7:d415:0:b0:42a:bb4d:7deb with SMTP id z21-20020aa7d415000000b0042abb4d7debmr1624523edq.6.1652703149728; Mon, 16 May 2022 05:12:29 -0700 (PDT) Received: from [192.168.8.198] ([85.255.232.94]) by smtp.gmail.com with ESMTPSA id y24-20020aa7ccd8000000b0042617ba6397sm5197269edt.33.2022.05.16.05.12.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 May 2022 05:12:29 -0700 (PDT) Message-ID: <41c86189-0d1f-60f0-ca8e-f80b3ccf5130@gmail.com> Date: Mon, 16 May 2022 13:12:00 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [REGRESSION] lxc-stop hang on 5.17.x kernels Content-Language: en-US To: Daniel Harding , Thorsten Leemhuis , Jens Axboe Cc: regressions@lists.linux.dev, io-uring@vger.kernel.org, linux-kernel@vger.kernel.org References: <7925e262-e0d4-6791-e43b-d37e9d693414@living180.net> <6ad38ecc-b2a9-f0e9-f7c7-f312a2763f97@kernel.dk> <371c01dd-258c-e428-7428-ff390b664752@kernel.dk> <2436d42c-85ca-d060-6508-350c769804f1@gmail.com> <12a57dd9-4423-a13d-559b-2b1dd2fb0ef3@living180.net> <897dc597-fc0a-34ec-84b8-7e1c4901e0fc@leemhuis.info> From: Pavel Begunkov In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gNS8xNS8yMiAxOTozNCwgRGFuaWVsIEhhcmRpbmcgd3JvdGU6DQo+IE9uIDUvMTUvMjIg MTE6MjAsIFRob3JzdGVuIExlZW1odWlzIHdyb3RlOg0KPj4gT24gMDQuMDUuMjIgMDg6NTQs IERhbmllbCBIYXJkaW5nIHdyb3RlOg0KPj4+IE9uIDUvMy8yMiAxNzoxNCwgUGF2ZWwgQmVn dW5rb3Ygd3JvdGU6DQo+Pj4+IE9uIDUvMy8yMiAwODozNywgRGFuaWVsIEhhcmRpbmcgd3Jv dGU6DQo+Pj4+PiBbUmVzZW5kIHdpdGggYSBzbWFsbGVyIHRyYWNlXQ0KPj4+Pj4gT24gNS8z LzIyIDAyOjE0LCBQYXZlbCBCZWd1bmtvdiB3cm90ZToNCj4+Pj4+PiBPbiA1LzIvMjIgMTk6 NDksIERhbmllbCBIYXJkaW5nIHdyb3RlOg0KPj4+Pj4+PiBPbiA1LzIvMjIgMjA6NDAsIFBh dmVsIEJlZ3Vua292IHdyb3RlOg0KPj4+Pj4+Pj4gT24gNS8yLzIyIDE4OjAwLCBKZW5zIEF4 Ym9lIHdyb3RlOg0KPj4+Pj4+Pj4+IE9uIDUvMi8yMiA3OjU5IEFNLCBKZW5zIEF4Ym9lIHdy b3RlOg0KPj4+Pj4+Pj4+PiBPbiA1LzIvMjIgNzozNiBBTSwgRGFuaWVsIEhhcmRpbmcgd3Jv dGU6DQo+Pj4+Pj4+Pj4+PiBPbiA1LzIvMjIgMTY6MjYsIEplbnMgQXhib2Ugd3JvdGU6DQo+ Pj4+Pj4+Pj4+Pj4gT24gNS8yLzIyIDc6MTcgQU0sIERhbmllbCBIYXJkaW5nIHdyb3RlOg0K Pj4+Pj4+Pj4+Pj4+PiBJIHVzZSBseGMtNC4wLjEyIG9uIEdlbnRvbywgYnVpbHQgd2l0aCBp by11cmluZyBzdXBwb3J0DQo+Pj4+Pj4+Pj4+Pj4+ICgtLWVuYWJsZS1saWJ1cmluZyksIHRh cmdldGluZyBsaWJ1cmluZy0yLjEuwqAgTXkga2VybmVsDQo+Pj4+Pj4+Pj4+Pj4+IGNvbmZp ZyBpcyBhDQo+Pj4+Pj4+Pj4+Pj4+IHZlcnkgbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9uIG9m IEZlZG9yYSdzIGdlbmVyaWMga2VybmVsDQo+Pj4+Pj4+Pj4+Pj4+IGNvbmZpZy4gQWZ0ZXIN Cj4+Pj4+Pj4+Pj4+Pj4gbW92aW5nIGZyb20gdGhlIDUuMTYueCBzZXJpZXMgdG8gdGhlIDUu MTcueCBrZXJuZWwgc2VyaWVzLCBJDQo+Pj4+Pj4+Pj4+Pj4+IHN0YXJ0ZWQNCj4+Pj4+Pj4+ Pj4+Pj4gbm90aWNlZCBmcmVxdWVudCBoYW5ncyBpbiBseGMtc3RvcC7CoCBJdCBkb2Vzbid0 IGhhcHBlbiAxMDAlDQo+Pj4+Pj4+Pj4+Pj4+IG9mIHRoZQ0KPj4+Pj4+Pj4+Pj4+PiB0aW1l LCBidXQgZGVmaW5pdGVseSBtb3JlIHRoYW4gNTAlIG9mIHRoZSB0aW1lLiBCaXNlY3RpbmcN Cj4+Pj4+Pj4+Pj4+Pj4gbmFycm93ZWQNCj4+Pj4+Pj4+Pj4+Pj4gZG93biB0aGUgaXNzdWUg dG8gY29tbWl0DQo+Pj4+Pj4+Pj4+Pj4+IGFhNDM0NzdiMDQwMjUxZjQ1MWRiMGQ4NDQwNzNh YzAwYThhYjY2ZWU6DQo+Pj4+Pj4+Pj4+Pj4+IGlvX3VyaW5nOiBwb2xsIHJld29yay4gVGVz dGluZyBpbmRpY2F0ZXMgdGhlIHByb2JsZW0gaXMgc3RpbGwNCj4+Pj4+Pj4+Pj4+Pj4gcHJl c2VudA0KPj4+Pj4+Pj4+Pj4+PiBpbiA1LjE4LXJjNS4gVW5mb3J0dW5hdGVseSBJIGRvIG5v dCBoYXZlIHRoZSBleHBlcnRpc2Ugd2l0aCB0aGUNCj4+Pj4+Pj4+Pj4+Pj4gY29kZWJhc2Vz IG9mIGVpdGhlciBseGMgb3IgaW8tdXJpbmcgdG8gdHJ5IHRvIGRlYnVnIHRoZSBwcm9ibGVt DQo+Pj4+Pj4+Pj4+Pj4+IGZ1cnRoZXIgb24gbXkgb3duLCBidXQgSSBjYW4gZWFzaWx5IGFw cGx5IHBhdGNoZXMgdG8gYW55IG9mIHRoZQ0KPj4+Pj4+Pj4+Pj4+PiBpbnZvbHZlZCBjb21w b25lbnRzIChseGMsIGxpYnVyaW5nLCBrZXJuZWwpIGFuZCByZWJ1aWxkIGZvcg0KPj4+Pj4+ Pj4+Pj4+PiB0ZXN0aW5nIG9yDQo+Pj4+Pj4+Pj4+Pj4+IHZhbGlkYXRpb24uwqAgSSBhbSBh bHNvIGhhcHB5IHRvIHByb3ZpZGUgYW55IGZ1cnRoZXINCj4+Pj4+Pj4+Pj4+Pj4gaW5mb3Jt YXRpb24gdGhhdA0KPj4+Pj4+Pj4+Pj4+PiB3b3VsZCBiZSBoZWxwZnVsIHdpdGggcmVwcm9k dWNpbmcgb3IgZGVidWdnaW5nIHRoZSBwcm9ibGVtLg0KPj4+Pj4+Pj4+Pj4+IERvIHlvdSBo YXZlIGEgcmVjaXBlIHRvIHJlcHJvZHVjZSB0aGUgaGFuZz8gVGhhdCB3b3VsZCBtYWtlIGl0 DQo+Pj4+Pj4+Pj4+Pj4gc2lnbmlmaWNhbnRseSBlYXNpZXIgdG8gZmlndXJlIG91dC4NCj4+ Pj4+Pj4+Pj4+IEkgY2FuIHJlcHJvZHVjZSBpdCB3aXRoIGp1c3QgdGhlIGZvbGxvd2luZzoN Cj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIHN1ZG8gbHhjLWNyZWF0ZSAt LW4gbHhjLXRlc3QgLS10ZW1wbGF0ZSBkb3dubG9hZCAtLWJkZXYNCj4+Pj4+Pj4+Pj4+IGRp ciAtLWRpciAvdmFyL2xpYi9seGMvbHhjLXRlc3Qvcm9vdGZzIC0tIC1kIHVidW50dSAtciBi aW9uaWMNCj4+Pj4+Pj4+Pj4+IC1hIGFtZDY0DQo+Pj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIHN1 ZG8gbHhjLXN0YXJ0IC1uIGx4Yy10ZXN0DQo+Pj4+Pj4+Pj4+PiDCoMKgwqDCoMKgIHN1ZG8g bHhjLXN0b3AgLW4gbHhjLXRlc3QNCj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+PiBUaGUgbHhj LXN0b3AgY29tbWFuZCBuZXZlciBleGl0cyBhbmQgdGhlIGNvbnRhaW5lciBjb250aW51ZXMN Cj4+Pj4+Pj4+Pj4+IHJ1bm5pbmcuDQo+Pj4+Pj4+Pj4+PiBJZiB0aGF0IGlzbid0IHN1ZmZp Y2llbnQgdG8gcmVwcm9kdWNlLCBwbGVhc2UgbGV0IG1lIGtub3cuDQo+Pj4+Pj4+Pj4+IFRo YW5rcywgdGhhdCdzIHVzZWZ1bCEgSSdtIGF0IGEgY29uZmVyZW5jZSB0aGlzIHdlZWsgYW5k IGhlbmNlIGhhdmUNCj4+Pj4+Pj4+Pj4gbGltaXRlZCBhbW91bnQgb2YgdGltZSB0byBkZWJ1 ZywgaG9wZWZ1bGx5IFBhdmVsIGhhcyB0aW1lIHRvDQo+Pj4+Pj4+Pj4+IHRha2UgYSBsb29r DQo+Pj4+Pj4+Pj4+IGF0IHRoaXMuDQo+Pj4+Pj4+Pj4gRGlkbid0IG1hbmFnZSB0byByZXBy b2R1Y2UuIENhbiB5b3UgdHJ5LCBvbiBib3RoIHRoZSBnb29kIGFuZCBiYWQNCj4+Pj4+Pj4+ PiBrZXJuZWwsIHRvIGRvOg0KPj4+Pj4+Pj4gU2FtZSBoZXJlLCBpdCBkb2Vzbid0IHJlcHJv ZHVjZSBmb3IgbWUNCj4+Pj4+Pj4gT0ssIHNvcnJ5IGl0IHdhc24ndCBzb21ldGhpbmcgc2lt cGxlLg0KPj4+Pj4+Pj4gIyBlY2hvIDEgPiAvc3lzL2tlcm5lbC9kZWJ1Zy90cmFjaW5nL2V2 ZW50cy9pb191cmluZy9lbmFibGUNCj4+Pj4+Pj4+PiBydW4gbHhjLXN0b3ANCj4+Pj4+Pj4+ Pg0KPj4+Pj4+Pj4+ICMgY3AgL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy90cmFjZSB+L2lv dS10cmFjZQ0KPj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4gc28gd2UgY2FuIHNlZSB3aGF0J3MgZ29p bmcgb24/IExvb2tpbmcgYXQgdGhlIHNvdXJjZSwgbHhjIGlzIGp1c3QNCj4+Pj4+Pj4+PiB1 c2luZw0KPj4+Pj4+Pj4+IHBsYWluIFBPTExfQURELCBzbyBJJ20gZ3Vlc3NpbmcgaXQncyBu b3QgZ2V0dGluZyBhIG5vdGlmaWNhdGlvbg0KPj4+Pj4+Pj4+IHdoZW4gaXQNCj4+Pj4+Pj4+ PiBleHBlY3RzIHRvLCBvciBpdCdzIFBPTExfUkVNT1ZFIG5vdCBkb2luZyBpdHMgam9iLiBJ ZiB3ZSBoYXZlIGENCj4+Pj4+Pj4+PiB0cmFjZQ0KPj4+Pj4+Pj4+IGZyb20gYm90aCBhIHdv cmtpbmcgYW5kIGJyb2tlbiBrZXJuZWwsIHRoYXQgbWlnaHQgc2hlZCBzb21lIGxpZ2h0DQo+ Pj4+Pj4+Pj4gb24gaXQuDQo+Pj4+Pj4+IEl0J3MgbGF0ZSBpbiBteSB0aW1lem9uZSwgYnV0 IEknbGwgdHJ5IHRvIHdvcmsgb24gZ2V0dGluZyB0aG9zZQ0KPj4+Pj4+PiB0cmFjZXMgdG9t b3Jyb3cuDQo+Pj4+Pj4gSSB0aGluayBJIGdvdCBpdCwgSSd2ZSBhdHRhY2hlZCBhIHRyYWNl Lg0KPj4+Pj4+DQo+Pj4+Pj4gV2hhdCdzIGludGVyZXN0aW5nIGlzIHRoYXQgaXQgaXNzdWVz IGEgbXVsdGkgc2hvdCBwb2xsIGJ1dCBJIGRvbid0DQo+Pj4+Pj4gc2VlIGFueSBraW5kIG9m IGNhbmNlbGxhdGlvbiwgbmVpdGhlciBjYW5jZWwgcmVxdWVzdHMgbm9yIHRhc2svcmluZw0K Pj4+Pj4+IGV4aXQuIFBlcmhhcHMgaGF2ZSB0byBnbyBsb29rIGF0IGx4YyB0byBzZWUgaG93 IGl0J3Mgc3VwcG9zZWQNCj4+Pj4+PiB0byB3b3JrDQo+Pj4+PiBZZXMsIHRoYXQgbG9va3Mg ZXhhY3RseSBsaWtlIG15IGJhZCB0cmFjZS7CoCBJJ3ZlIGF0dGFjaGVkIGdvb2QgdHJhY2UN Cj4+Pj4+IChjYXB0dXJlZCB3aXRoIGxpbnV4LTUuMTYuMTkpIGFuZCBhIGJhZCB0cmFjZSAo Y2FwdHVyZWQgd2l0aA0KPj4+Pj4gbGludXgtNS4xNy41KS7CoCBUaGVzZSBhcmUgdGhlIGRp ZmZlcmVuY2VzIEkgbm90aWNlZCB3aXRoIGp1c3QgYQ0KPj4+Pj4gdmlzdWFsIHNjYW46DQo+ Pj4+Pg0KPj4+Pj4gKiBCb3RoIHRyYWNlcyBoYXZlIHRocmVlIGlvX3VyaW5nX3N1Ym1pdF9z cWUgY2FsbHMgYXQgdGhlIHZlcnkNCj4+Pj4+IGJlZ2lubmluZywgYnV0IGluIHRoZSBnb29k IHRyYWNlLCB0aGVyZSBhcmUgZnVydGhlcg0KPj4+Pj4gaW9fdXJpbmdfc3VibWl0X3NxZSBj YWxscyB0aHJvdWdob3V0IHRoZSB0cmFjZSwgd2hpbGUgaW4gdGhlIGJhZA0KPj4+Pj4gdHJh Y2UsIHRoZXJlIGFyZSBub25lLg0KPj4+Pj4gKiBUaGUgZ29vZCB0cmFjZSB1c2VzIGEgbWFz ayBvZiBjMyBmb3IgaW9fdXJpbmdfdGFza19hZGQgbXVjaCBtb3JlDQo+Pj4+PiBvZnRlbiB0 aGFuIHRoZSBiYWQgdHJhY2U6wqAgdGhlIGJhZCB0cmFjZSB1c2VzIGEgbWFzayBvZiBjMyBv bmx5IGZvcg0KPj4+Pj4gdGhlIHZlcnkgbGFzdCBjYWxsIHRvIGlvX3VyaW5nX3Rhc2tfYWRk LCBidXQgYSBtYXNrIG9mIDQxIGZvciB0aGUNCj4+Pj4+IG90aGVyIGNhbGxzLg0KPj4+Pj4g KiBJbiB0aGUgZ29vZCB0cmFjZSwgbWFueSBvZiB0aGUgaW9fdXJpbmdfY29tcGxldGUgY2Fs bHMgaGF2ZSBhDQo+Pj4+PiByZXN1bHQgb2YgMTk1LCB3aGlsZSBpbiB0aGUgYmFkIHRyYWNl LCB0aGV5IGFsbCBoYXZlIGEgcmVzdWx0IG9mIDEuDQo+Pj4+Pg0KPj4+Pj4gSSBkb24ndCBr bm93IHdoZXRoZXIgYW55IG9mIHRob3NlIHRoaW5ncyBhcmUgc2lnbmlmaWNhbnQgb3Igbm90 LCBidXQNCj4+Pj4+IHRoYXQncyB3aGF0IGp1bXBlZCBvdXQgYXQgbWUuDQo+Pj4+Pg0KPj4+ Pj4gSSBoYXZlIGFsc28gYXR0YWNoZWQgYSBjb3B5IG9mIHRoZSBzY3JpcHQgSSB1c2VkIHRv IGdlbmVyYXRlIHRoZQ0KPj4+Pj4gdHJhY2VzLsKgIElmIHRoZXJlIGlzIGFueXRoaW5nIGZ1 cnRoZXIgSSBjYW4gdG8gZG8gaGVscCBkZWJ1ZywgcGxlYXNlDQo+Pj4+PiBsZXQgbWUga25v dy4NCj4+Pj4gR29vZCBvYnNlcnZhdGlvbnMhIHRoYW5rcyBmb3IgdHJhY2VzLg0KPj4+Pg0K Pj4+PiBJdCBzb3VuZHMgbGlrZSBtdWx0aS1zaG90IHBvbGwgcmVxdWVzdHMgd2VyZSBnZXR0 aW5nIGRvd25ncmFkZWQNCj4+Pj4gdG8gb25lLXNob3QsIHdoaWNoIGlzIGEgdmFsaWQgYmVo YXZpb3VyIGFuZCB3YXMgc28gYmVjYXVzZSB3ZQ0KPj4+PiBkaWRuJ3QgZnVsbHkgc3VwcG9y dCBzb21lIGNhc2VzLiBJZiB0aGF0J3MgdGhlIHJlYXNvbiwgdGhhbg0KPj4+PiB0aGUgdXNl cnNwYWNlL2x4YyBpcyBtaXN1c2luZyB0aGUgQUJJLiBBdCBsZWFzdCwgdGhhdCdzIHRoZQ0K Pj4+PiB3b3JraW5nIGh5cG90aGVzaXMgZm9yIG5vdywgbmVlZCB0byBjaGVjayBseGMuDQo+ Pj4gU28sIEkgbG9va2VkIGF0IHRoZSBseGMgc291cmNlIGNvZGUsIGFuZCBpdCBhcHBlYXJz IHRvIGF0IGxlYXN0IHRyeSB0bw0KPj4+IGhhbmRsZSB0aGUgY2FzZSBvZiBtdWx0aS1zaG90 IGJlaW5nIGRvd25ncmFkZWQgdG8gb25lLXNob3QuwqAgSSBkb24ndA0KPj4+IGtub3cgZW5v dWdoIHRvIGtub3cgaWYgdGhlIGNvZGUgaXMgYWN0dWFsbHkgY29ycmVjdCBob3dldmVyOg0K Pj4+DQo+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2x4Yy9seGMvYmxvYi83ZTM3Y2M5NmJiOTQx NzVhOGUzNTEwMjVkMjZjYzM1ZGMyZDEwNTQzL3NyYy9seGMvbWFpbmxvb3AuYyNMMTY1LUwx ODkNCj4+PiBodHRwczovL2dpdGh1Yi5jb20vbHhjL2x4Yy9ibG9iLzdlMzdjYzk2YmI5NDE3 NWE4ZTM1MTAyNWQyNmNjMzVkYzJkMTA1NDMvc3JjL2x4Yy9tYWlubG9vcC5jI0wyNTQNCj4+ PiBodHRwczovL2dpdGh1Yi5jb20vbHhjL2x4Yy9ibG9iLzdlMzdjYzk2YmI5NDE3NWE4ZTM1 MTAyNWQyNmNjMzVkYzJkMTA1NDMvc3JjL2x4Yy9tYWlubG9vcC5jI0wyODgtTDI5MA0KPj4g SGksIHRoaXMgaXMgeW91ciBMaW51eCBrZXJuZWwgcmVncmVzc2lvbiB0cmFja2VyLiBOb3Ro aW5nIGhhcHBlbmVkIGhlcmUNCj4+IGZvciByb3VuZCBhYm91dCB0ZW4gZGF5cyBub3cgYWZh aWNzOyBvciBkaWQgdGhlIGRpc2N1c3Npb24gY29udGludWUNCj4+IHNvbWV3aGVyZSBlbHNl Lg0KPj4NCj4+IMKgRnJvbSB3aGF0IEkgZ2F0aGVyZWQgZnJvbSB0aGlzIGRpc2N1c3Npb24g aXMgc2VlbXMgdGhlIHJvb3QgY2F1c2UgbWlnaHQNCj4+IGJlIGluIExYQywgYnV0IGl0IHdh cyBleHBvc2VkIGJ5IGtlcm5lbCBjaGFuZ2UuIFRoYXQgbWFrZXMgaXQgc2lsbCBhDQo+PiBr ZXJuZWwgcmVncmVzc2lvbiB0aGF0IHNob3VsZCBiZSBmaXhlZDsgb3IgaXMgdGhlcmUgYSBz dHJvbmcgcmVhc29uIHdoeQ0KPj4gd2Ugc2hvdWxkIGxldCB0aGlzIG9uZSBzbGlwPw0KPiAN Cj4gTm8sIHRoZXJlIGhhc24ndCBiZWVuIGFueSBkaXNjdXNzaW9uIHNpbmNlIHRoZSBlbWFp bCB5b3UgcmVwbGllZCB0by4gSSd2ZSBkb25lIGEgYml0IG1vcmUgdGVzdGluZyBvbiBteSBl bmQsIGJ1dCB3aXRob3V0IGFueXRoaW5nIGNvbmNsdXNpdmUuwqAgVGhlIG9uZSB0aGluZyBJ IGNhbiBzYXkgaXMgdGhhdCBteSB0ZXN0aW5nIHNob3dzIHRoYXQgTFhDIGRvZXMgY29ycmVj dGx5IGhhbmRsZSBtdWx0aS1zaG90IHBvbGwgcmVxdWVzdHMgd2hpY2ggd2VyZSBiZWluZyBk b3duZ3JhZGVkIHRvIG9uZS1zaG90IGluIDUuMTYueCBrZXJuZWxzLCB3aGljaCBJIHRoaW5r IGludmFsaWRhdGVzIFBhdmVsJ3MgdGhlb3J5LsKgIEluIDUuMTcueCBrZXJuZWxzLCB0aG9z ZSBzYW1lIHBvbGwgcmVxdWVzdHMgYXJlIG5vIGxvbmdlciBiZWluZyBkb3duZ3JhZGVkIHRv IG9uZS1zaG90IHJlcXVlc3RzLCBhbmQgdGh1cyB1bmRlciA1LjE3LnggTFhDIGlzIG5vIGxv bmdlciByZS1hcm1pbmcgdGhvc2UgcG9sbCByZXF1ZXN0cyAoYnV0IGFsc28gc2hvdWxkbid0 IG5lZWQgdG8sIGFjY29yZGluZyB0byB3aGF0IGlzIGJlaW5nIHJldHVybmVkIGJ5IHRoZSBr ZXJuZWwpLsKgIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGNoYW5nZSBpbiBrZXJuZWwgYmVoYXZp b3IgaXMgcmVsYXRlZCB0byB0aGUgaGFuZywgb3IgaWYgaXQgaXMganVzdCBhIHNpZGUgZWZm ZWN0IG9mIG90aGVyIGlvLXVyaW5nIGNoYW5nZXMgdGhhdCBtYWRlIGl0IGludG8gNS4xNy7C oCBOb3RoaW5nIGluIHRoZSBMWEMncyB1c2FnZSBvZiBpby11cmluZyBzZWVtcyBvYnZpb3Vz bHkgaW5jb3JyZWN0IHRvIG1lLCBidXQgSSBhbSBmYXIgZnJvbSBhbiBleHBlcnQuwqAgSSBh bHNvIGRpZCBzb21lIHdvcmsgdG93YXJkIGNyZWF0aW5nIGEgc2ltcGxlciByZXByb2R1Y2Vy LCB3aXRob3V0IHN1Y2Nlc3MgKEkgd2FzIGFibGUgdG8gZ2V0IGEgc2ltcGxlIHByb2dyYW0g dXNpbmcgaW8tdXJpbmcgcnVubmluZywgDQo+IGJ1dCBuZXZlciBjb3VsZCBnZXQgaXQgdG8g aGFuZykuwqAgSVNUTSB0aGF0IHRoaXMgaXMgc3RpbGwgYSBrZXJuZWwgcmVncmVzc2lvbiwg dW5sZXNzIHNvbWVvbmUgY2FuIHBvaW50IG91dCBhIGRlZmluaXRlIGZhdWx0IGluIHRoZSB3 YXkgTFhDIGlzIHVzaW5nIGlvLXVyaW5nLg0KDQpIYXZlbid0IGhhZCB0aW1lIHRvIGRlYnVn IGl0LiBBcHBhcmVudGx5IExYQyBpcyBzdHVjayBvbg0KcmVhZCgyKSB0ZXJtaW5hbCBmZC4g Tm90IHlldCBjbGVhciB3aGF0IGlzIHRoZSByZWFzb24uDQoNCi0tIA0KUGF2ZWwgQmVndW5r b3YNCg==