From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 30D8880474 for ; Wed, 28 Oct 2026 12:29:35 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SCSFmV019929; Wed, 28 Oct 2026 15:28:16 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SCSFmV019929 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=sashiko.virtuozzo.com header.i=@sashiko.virtuozzo.com header.b="FGkjrzeq"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="evX5soe5" Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SCSEYE019925 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 28 Oct 2026 15:28:14 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SCSEYE019925 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4a359c7f47bso7674935e9.2 for ; Wed, 28 Oct 2026 05:28:14 -0700 (PDT) X-Gm-Message-State: AFq9FYJ4oFmH15GsDJ144fH3w1iFUke9f+EOI7HgbzWafvSF+sY2vZM0 nHwpWX7CRgss+pJOpFPZI2jeTzXYj8OSaleK2cJpsTS+GKRuRhB4GPIph1luuZHnd4hxoMoE9H/ xUXJNfbHoozAgIwHLIa6wh1HGkwhNOSElMgTh0UAdblUnvWKpxPF3oA== X-Gm-Gg: AYBFou0xrXCJyTsGtRyhYRNjmn7+f3KrT0VgOA4BwHov1azMx/LWYbGbVJNjeObFSco JGCHl1WnSy/Bq8cTooiinBBEgy6m54gLMemNS5PZocOuSOv0BWxR4nTn26V23E67W87WE5JzJDW A9dzCARb7rCfwJSEG6EOZI3KOMAxQWQCpTYkjKVSAjLy3pxZdIoz5uMQvhdNLbAtKX4ADfk/ZG4 IiJ1uUg148MBXFdvZ31x9CrCzargPltFaiuSJOx0rtdOmTLHQJ8s8flFGGb6879Ei5h55AbCUuz 9Sn2rFmxrIWe6XcBkxk6Oor6XKOz7JtlmI/8K0CCE6v1L5VIQYaEpH0+cCP7KLKFe71jrUyyUil nX6/yBbHjpLF2S9tdQAVePtBS3jatZ8BWwZiET9TZZHtSwli6ZN9jRVJwSjlFPvaVu4/8rw6RdV pw0zg4ktnSCH8vUSUnzKAhgxvfsABXsjSQIxLslcHzBe3nNM1ehWyV4baQ3o6raY1UyCbWJ1Az8 i8KluXRmbkaFqayH+L5 X-Received: by 2002:a05:600c:4e47:b0:4a2:5267:3cd4 with SMTP id 5b1f17b1804b1-4a963ffc376mr43144495e9.3.1793190493882; Wed, 28 Oct 2026 05:28:13 -0700 (PDT) X-Received: by 2002:a05:600c:4e47:b0:4a2:5267:3cd4 with SMTP id 5b1f17b1804b1-4a963ffc376mr43143645e9.3.1793190493174; Wed, 28 Oct 2026 05:28:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793190493; cv=none; d=google.com; s=arc-20260327; b=OlR+W4Vpe2Ah4rpg/HoUL17oC6bC9h+WOTFDvxTRGoyermltV69PT8elC8U/kkUclR v+gkt38wptuFXTu+fSE9n6C5dO2B+m/FDGfXskAEWX68kv+rEnV0RBMgsgpTiqgakod4 dG+sf2fYCpxo+xelPqa4K9eic3ozsnrJZ1tYEW9OhMIyF+qyAR4sXPYMJPN2TV8xqR7D Gl1iFQbeIGCCDviPGtHyO1Ng3sXh6uxeJcRuQaihsSdK6eqch1C31m5tx7K2l/imW0m3 JzTPiJbixEnynrFZTeEP+lhoLCeHReR3obyeJSSt2uzJz/qBvo/7lRTvSMVbHDezE9W5 zubQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:date:content-transfer-encoding:references:in-reply-to :cc:to:subject:from:message-id:dkim-signature:dkim-signature; bh=iU4uitzOpd9qi/Eq4ZIZpvycMqFaG47IphddmIk9iyI=; fh=wZwd5yRbW8HRNLtAnbjmPgrqfPdwPW1GvOQXIFYLV2Y=; b=b4w0BUExteGPqPDqBZIbhi/zpL0TARxvhT50Fn6awDZV0WY9Pbwz5QBXEc9eZ2gEZL 7L8x1VSmDzUG+dKthNlaA7+RSaiFVk3/6TaR+S3eVOpnbo6Lu6ObGoQ09j0DkZgf3+mS pohsIpRdpcc2ApOW2q4HmlRDowLPkicGT+mXlR7rkseHpfOrVkpE10jqEDKLSlr8gpt1 tXF5wYvdH0ibindtzvV/QEHjmfTyprpUWBtrdYhS2nIFE+M+Ee5KHm/67vvVzT2DdaS7 1uZK1XvTfvBVnH0s00TINyzcFdtl4zv3/vKNCekjBF11/eJqNEcosk7DyvoMZM4Fg4pw WuDw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=FGkjrzeq; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=evX5soe5; spf=pass (google.com: domain of 010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-5.smtp-out.eu-central-1.amazonses.com (b224-5.smtp-out.eu-central-1.amazonses.com. [69.169.224.5]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ecf8e6csi26909353f8f.262.2026.10.28.05.28.13 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Oct 2026 05:28:13 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) client-ip=69.169.224.5; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=FGkjrzeq; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=evX5soe5; spf=pass (google.com: domain of 010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1793190492; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=ywjyx9Ds1pvt5ngr2e327WOeN99tZVVKlSHRmwn96Tk=; b=FGkjrzeqjO2KFi9jdE+t4kSqfpoNMMX731cJHlBzdpe8j40EGYmiU1x4cXFXpUPf I1dy7Bvp1f+uSOao+j/zJPIF79y6Siib5nHUrRHXL5Gl7ngGzJ4VaYjd6ZKXRmlS/Qr iAaTBV/RLUjyAbtGbLD+0ZrGU2q1tRYkdRHQVpMaLyJoueP7fAG3hRny6Ljub3JwKFe fx5xD/11KuV7F5m1gasKkCuVZuQdNuw3YecPDA2Ru5EtJIFNxfMartREiHTG4TK7coV 6ix1WG9/mQzNdz501XK/3cT+L4UieQcjUaNWHBK8ZxYL4j0vV2KOkKyFFmh1EFFI3Z0 N1T4SQCcIA== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1793190492; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=ywjyx9Ds1pvt5ngr2e327WOeN99tZVVKlSHRmwn96Tk=; b=evX5soe5AoEAD6JhT26YhTE4tnGiSi5wkL9Pwg5g0JIGGuc32UJRoRMN6aK14hMB jBcuzMJmI5zBoO3n/nFlr9Hfnc9ZDvUVosXzTsjtnftQRrekzvN5ioeqaVOe7bXc0hL 4N4sE6LKlgjZYFLoTXhNc8TDiD8sDuV7uo0cRPDY= Message-ID: <010701a1827b7a0d-6b15a0d0-8526-440a-8200-d89487da45ee-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: Konstantin Khorenko , Pavel Tikhomirov In-Reply-To: <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v1-2-268336526677@virtuozzo.com> References: <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v1-0-268336526677@virtuozzo.com> <20261028-b4-prep-khorenko-vstor-151607-numa-migrate-order-v1-2-268336526677@virtuozzo.com> Date: Wed, 28 Oct 2026 12:28:12 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.28-69.169.224.5 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 69SCSEYE019925 Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 2/2] selftests/ve: check memory.numa_migrate keeps the folio order X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gc2VsZnRlc3RzL3Zl OiBudW1hX21pZ3JhdGUgdGVzdCBuZXZlciBjaGVja3MgdGhhdCBsYXJnZSBmb2xpb3Mgd2VyZSBj cmVhdGVkCi0gW01lZGl1bV0gc2VsZnRlc3RzL3ZlOiBzdHJpY3QgbnVtYV9taWdyYXRlIHBhc3Mg dGhyZXNob2xkIGNhbiBmYWlsIG9uIGEgY29ycmVjdCBrZXJuZWwgYW5kIGxlYXZlIHRoZSBYRlMg bW91bnQgYmVoaW5kCi0gW01lZGl1bV0gc2VsZnRlc3RzL3ZlOiBta2ZzLnhmcyBza2lwIHByb2Jl IGNoZWNrcyBmaXhlZCBwYXRocywgbm90IFBBVEgKLSBbTG93XSBzZWxmdGVzdHMvdmU6IHZlX251 bWFfbWlncmF0ZV90ZXN0IGJpbmFyeSBtaXNzaW5nIGZyb20gLmdpdGlnbm9yZQotLQoKY29tbWl0 IDUzODY0Yjk1NDRiZTczNWY0MDU2ZmM1Mzk3MzAzMGI1NjMxODc4YTIKQXV0aG9yOiBLb25zdGFu dGluIEtob3JlbmtvIDxraG9yZW5rb0B2aXJ0dW96em8uY29tPgoKc2VsZnRlc3RzL3ZlOiBjaGVj ayBtZW1vcnkubnVtYV9taWdyYXRlIGtlZXBzIHRoZSBmb2xpbyBvcmRlcgoKVGhpcyBhZGRzIGEg c2VsZnRlc3QgdGhhdCB3cml0ZXMgYSBmaWxlIG9uIGFuIFhGUyBsb29wIGltYWdlIGZyb20gYQpj Z3JvdXAgYm91bmQgdG8gb25lIE5VTUEgbm9kZSwgbWlncmF0ZXMgdGhlIGNncm91cCB0byBhIHNl Y29uZCBub2RlCndpdGggbWVtb3J5Lm51bWFfbWlncmF0ZSwgYW5kIHJlYWRzIHRoZSBmaWxlIGJh Y2sgYWdhaW5zdCB0aGUgd3JpdHRlbgpwYXR0ZXJuLiBJdCBpcyBtZWFudCB0byBjYXRjaCBtZW1j Z19udW1hX21pZ3JhdGVfbmV3X2ZvbGlvKCkgYWxsb2NhdGluZwphbiBvdmVyc2l6ZWQgZGVzdGlu YXRpb24gZm9yIGEgbGFyZ2UgcGFnZSBjYWNoZSBmb2xpby4gSXQgc2tpcHMgd2hlbgpyb290LCB0 d28gTlVNQSBub2RlcywgY2dyb3VwMiBjb250cm9sbGVycyBvciBta2ZzLnhmcyBhcmUgbWlzc2lu Zy4KCkxpbms6IGh0dHBzOi8vdmlydHVvenpvLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1ZTVE9SLTE1 MTYwNwoKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdmUvTWFrZWZpbGUg Yi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92ZS9NYWtlZmlsZQo+IGluZGV4IDUxZjkzMTZiZWI5 OS4uZTk2MzIwYTE4Mzg0IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Zl L01ha2VmaWxlCj4gKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvdmUvTWFrZWZpbGUKPiBA QCAtNiw2ICs2LDcgQEAgVEVTVF9HRU5fUFJPR1MgKz0gdmVfbnNfb3duZXJfdGVzdAo+ICBURVNU X0dFTl9QUk9HUyArPSB2ZV9wZXJtc190ZXN0Cj4gIFRFU1RfR0VOX1BST0dTICs9IHZlX21vdW50 X2FjY291bnRpbmdfdGVzdAo+ICBURVNUX0dFTl9QUk9HUyArPSB2ZV92dHR5X3N0cmVzcwo+ICtU RVNUX0dFTl9QUk9HUyArPSB2ZV9udW1hX21pZ3JhdGVfdGVzdAoKW1NldmVyaXR5OiBMb3ddClNo b3VsZCB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92ZS8uZ2l0aWdub3JlIGdldCBhIG1hdGNoaW5n IGVudHJ5PwoKVGhlIGlnbm9yZSBsaXN0IGN1cnJlbnRseSBlbmRzIHdpdGggdmVfdnR0eV9zdHJl c3MgYW5kIGhhcyBubyBlbnRyeSBmb3IKdmVfbnVtYV9taWdyYXRlX3Rlc3QsIHdoaWNoIHRoaXMg bGluZSBub3cgYnVpbGRzLiAgQWZ0ZXIgYSBidWlsZCB0aGUKYmluYXJ5IHdpbGwgc2hvdyB1cCBh cyB1bnRyYWNrZWQgaW4gZ2l0IHN0YXR1cywgYW5kIHRoZSBwYXRjaCBkb2VzIG5vdAp0b3VjaCAu Z2l0aWdub3JlLgoKWyAuLi4gXQoKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvdmUvdmVfbnVtYV9taWdyYXRlX3Rlc3QuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Zl L3ZlX251bWFfbWlncmF0ZV90ZXN0LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAw MDAwMDAwMDAwMC4uNWZiZjRhZjQ5ZjdmCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL3ZlL3ZlX251bWFfbWlncmF0ZV90ZXN0LmMKClsgLi4uIF0KCj4gKyAq IFdyaXRlIGEgZmlsZSBvbiBhbiBYRlMgaW1hZ2UgKFhGUyBhbGxvY2F0ZXMgbGFyZ2UgZm9saW9z IGZvciA2NEsgd3JpdGVzKQo+ICsgKiBmcm9tIGEgY2dyb3VwIGJvdW5kIHRvIG9uZSBOVU1BIG5v ZGUsIG1pZ3JhdGUgdGhlIGNncm91cCB0byBhbm90aGVyIG5vZGUKPiArICogYW5kIGNoZWNrIHRo YXQgdGhlIGRhdGEgcmVhZHMgYmFjayBpbnRhY3QuCgpbU2V2ZXJpdHk6IE1lZGl1bV0KSXMgaXQg c2FmZSB0byBhc3N1bWUgbGFyZ2UgZm9saW9zIHdlcmUgYWN0dWFsbHkgY3JlYXRlZCBoZXJlPwoK Tm90aGluZyBpbiB0aGUgdGVzdCB2ZXJpZmllcyBpdC4gIG1hcHBpbmdfbWF4X2ZvbGlvX29yZGVy KCkgcmV0dXJucyAwCndoZW4gQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFIGlzIG5vdCBzZXQu ICBMYXJnZSBmb2xpbyBhbGxvY2F0aW9uIGNhbgphbHNvIGZhbGwgYmFjayB0byBvcmRlci0wIHVu ZGVyIGZyYWdtZW50YXRpb24gb3IgbWVtb3J5IHByZXNzdXJlLgoKSW4gZWl0aGVyIGNhc2UgZXZl cnkgZm9saW8gaXMgb3JkZXItMCwgYW5kIHRoZSBvbmx5IHByZWNvbmRpdGlvbiBjaGVjawooQVNT RVJUX0dFIG9uIHRoZSBub2RlX3RvIGZpbGUgYnl0ZXMpIGlzIHNhdGlzZmllZCBieSBvcmRlci0w IGZvbGlvcyBhcwp3ZWxsLiAgVGhlIG1lbWNtcCByZWFkYmFjayB0aGVuIHN1Y2NlZWRzIGJlY2F1 c2Ugbm90aGluZyB3YXMgbWlzLW1pZ3JhdGVkLAphbmQgdGhlIHRlc3QgcmVwb3J0cyBQQVNTIHdp dGhvdXQgY292ZXJpbmcgdGhlIGZvbGlvX3Rlc3RfbGFyZ2UoKSBicmFuY2gKaW4gbWVtY2dfbnVt YV9taWdyYXRlX25ld19mb2xpbygpLgoKQ291bGQgdGhlIHRlc3QgY2hlY2sgZm9yIGxhcmdlIGZv bGlvcywgZm9yIGV4YW1wbGUgdGhyb3VnaAovcHJvYy9rcGFnZWZsYWdzIG9yIHRoZSBUSFAgY291 bnRlcnMsIGFuZCBTS0lQIHdoZW4gbm9uZSBhcmUgc2Vlbj8KClsgLi4uIF0KCj4gKwlpZiAoYWNj ZXNzKCIvdXNyL3NiaW4vbWtmcy54ZnMiLCBYX09LKSAmJiBhY2Nlc3MoIi9zYmluL21rZnMueGZz IiwgWF9PSykpCj4gKwkJU0tJUChyZXR1cm4sICJuZWVkcyBta2ZzLnhmcyIpOwoKW1NldmVyaXR5 OiBNZWRpdW1dCkNhbiB0aGlzIHByb2JlIGNhdXNlIGEgZmFsc2Ugc2tpcD8KCkl0IG9ubHkgbG9v a3MgaW4gL3Vzci9zYmluIGFuZCAvc2Jpbiwgd2hpbGUgcHJlcGFyZSgpIHJ1bnMgdGhlIHRvb2wK dGhyb3VnaCBydW5fY21kKCkgYW5kIHN5c3RlbSgpLCB3aGljaCByZXNvbHZlcyBpdCB2aWEgUEFU SDoKCglpZiAocnVuX2NtZCgibWtmcy54ZnMgLXEgLWYgJXMiLCBzZWxmLT5pbWcpKSB7CgkJKndo eSA9ICJta2ZzLnhmcyBmYWlsZWQiOwoKT24gYSBob3N0IHdoZXJlIG1rZnMueGZzIGlzIGluIC91 c3IvYmluIG9yIC91c3IvbG9jYWwvc2JpbiwgdGhlIHRlc3QKc2tpcHMgd2l0aCAibmVlZHMgbWtm cy54ZnMiIGJlZm9yZSBwcmVwYXJlKCkgd291bGQgaGF2ZSBmb3VuZCB0aGUgdG9vbC4KQSBta2Zz IGZhaWx1cmUgaW4gcHJlcGFyZSgpIGFscmVhZHkgdHVybnMgaW50byBhIFNLSVAsIHNvIHdvdWxk IGl0IGJlCnNpbXBsZXIgdG8gZHJvcCB0aGlzIHByZS1wcm9iZT8KClsgLi4uIF0KCj4gKwkvKiBG cm9tIGhlcmUgb24gYSBmYWlsdXJlIG1lYW5zIGV2aWN0aW9uIHdvdWxkIGNyYXNoIHRoZSBrZXJu ZWwuICovCj4gKwlzZWxmLT5sZWF2ZV9tb3VudGVkID0gMTsKPiArCXNucHJpbnRmKGxpc3QsIHNp emVvZihsaXN0KSwgIiVkLCVkIiwgc2VsZi0+bm9kZV9mcm9tLCBzZWxmLT5ub2RlX3RvKTsKPiAr CUFTU0VSVF9FUSh3cml0ZV9maWxlX2F0KHNlbGYtPmNnX2ZkLCAiY3B1c2V0Lm1lbXMiLCBsaXN0 KSwgMCk7Cj4gKwlBU1NFUlRfRVEod3JpdGVfdTY0X2F0KHNlbGYtPmNnX2ZkLCAibWVtb3J5Lm51 bWFfbWlncmF0ZSIsCj4gKwkJCSAgICAgICBzZWxmLT5ub2RlX3RvKSwgMCk7Cj4gKwo+ICsJQVNT RVJUX0VRKGZpbGVfYnl0ZXNfb25fbm9kZShzZWxmLT5jZ19mZCwgc2VsZi0+bm9kZV90bywKPiAr CQkJCSAgICAgJm9uX3RvX2FmdGVyKSwgMCk7Cj4gKwlUSF9MT0coImZpbGUgYnl0ZXMgb24gbm9k ZSAlZDogJWxsdSAtPiAlbGx1Iiwgc2VsZi0+bm9kZV90bywKPiArCSAgICAgICBvbl90b19iZWZv cmUsIG9uX3RvX2FmdGVyKTsKPiArCUFTU0VSVF9HRShvbl90b19hZnRlciwgb25fdG9fYmVmb3Jl ICsgRklMRV9TSVpFKTsKCltTZXZlcml0eTogTWVkaXVtXQpDYW4gdGhpcyBzdHJpY3QgdGhyZXNo b2xkIGZhaWwgb24gYSBjb3JyZWN0IGtlcm5lbCBhbmQgdGhlbiBsZWF2ZSB0aGUgWEZTCm1vdW50 IGJlaGluZD8KClRoZSBhc3NlcnRpb24gcmVxdWlyZXMgZXZlcnkgYnl0ZSBvZiB0aGUgNE1CIGZp bGUgdG8gaGF2ZSBtb3ZlZCB0bwpub2RlX3RvLiAgVGhlIG1lbW9yeS5udW1hX21pZ3JhdGUgd3Jp dGUgZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQ6CgptbS9tZW1jb250cm9sLmM6X19tZW1jZ19udW1h X21pZ3JhdGVfcGFnZXMoKSB7CiAgICByZXQgPSBtaWdyYXRlX3BhZ2VzKCZwYWdlcywgbWVtY2df bnVtYV9taWdyYXRlX25ld19mb2xpbywKICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgKHVu c2lnbmVkIGxvbmcpJm1zLCBNSUdSQVRFX0FTWU5DLAogICAgICAgICAgICAgICAgICAgICAgICBN Ul9TWVNDQUxMLCBOVUxMKTsKICAgIHB1dGJhY2tfbW92YWJsZV9wYWdlcygmcGFnZXMpOwogICAg aWYgKHJldCA8IDApCiAgICAgICAgcmV0dXJuIHJldDsKICAgIC4uLgp9CgpPbmx5IGEgbmVnYXRp dmUgcmV0dXJuIGlzIHByb3BhZ2F0ZWQuICBBIHBvc2l0aXZlIGNvdW50IG9mIGZvbGlvcyB0aGF0 CmZhaWxlZCB0byBtaWdyYXRlIGlzIGRyb3BwZWQsIGFuZCBfX21lbWNnX251bWFfbWlncmF0ZV93 cml0ZSgpIHJldHVybnMKInJldCA/OiBuYnl0ZXMiLCBzbyB0aGUgQVNTRVJUX0VRIG9uIHRoZSB3 cml0ZSBwYXNzZXMgb24gYSBwYXJ0aWFsCm1pZ3JhdGlvbi4KCkxhcmdlIGRlc3RpbmF0aW9uIGZv bGlvcyBhcmUgYWxsb2NhdGVkIGluIG1lbWNnX251bWFfbWlncmF0ZV9uZXdfZm9saW8oKQp3aXRo OgoKICAgIGlmIChmb2xpb190ZXN0X2xhcmdlKG9sZF9mb2xpbykpIHsKICAgICAgICBnZnBfbWFz ayA9IEdGUF9UUkFOU0hVR0VfTElHSFQgfCBfX0dGUF9USElTTk9ERTsKICAgICAgICBvcmRlciA9 IGZvbGlvX29yZGVyKG9sZF9mb2xpbyk7CiAgICB9CgpUaGF0IGhhcyBubyBkaXJlY3QgcmVjbGFp bSBvciBjb21wYWN0aW9uIGFuZCBubyBub2RlIGZhbGxiYWNrLCBzbyBpdCBjYW4KZmFpbCBvbiBh IGZyYWdtZW50ZWQgbm9kZV90byBhbmQgbGVhdmUgdGhlIGZvbGlvIG9uIG5vZGVfZnJvbS4KCm1l bWNnX251bWFfaXNvbGF0ZV9wYWdlcygpIGFsc28gc2tpcHMgZm9saW9zIHRoYXQgYXJlIG5vdCBv biB0aGUgTFJVOgoKICAgIC8qIE9ubHkgdGFrZSBwYWdlcyBvbiBMUlU6IGEgY2hlY2sgbm93IG1h a2VzIGxhdGVyIHRlc3RzIHNhZmUgKi8KICAgIGlmICghZm9saW9fdGVzdF9scnUoZm9saW8pKQog ICAgICAgIGdvdG8gaXNvbGF0ZV9mYWlsOwoKRm9saW9zIHN0aWxsIHNpdHRpbmcgaW4gcGVyLUNQ VSBMUlUgYmF0Y2hlcyBhcmUgc2tpcHBlZCB3aXRob3V0IGEgZHJhaW4uCgpBbnkgb2YgdGhlc2Ug bWFrZXMgdGhlIEFTU0VSVF9HRSBmYWlsIHdpdGhvdXQgYSBrZXJuZWwgYnVnLiAgQmVjYXVzZQps ZWF2ZV9tb3VudGVkIHdhcyBzZXQganVzdCBhYm92ZSwgRklYVFVSRV9URUFSRE9XTiB0aGVuIHNr aXBzIHRoZSB1bm1vdW50CmFuZCB0aGUgbG9vcCBtb3VudCBhbmQgaW1hZ2Ugc3RheSBvbiB0aGUg aG9zdC4KCldvdWxkIGEgdG9sZXJhbnQgY2hlY2ssIHN1Y2ggYXMgcmVxdWlyaW5nIGEgbWVhbmlu Z2Z1bCBmcmFjdGlvbiBvZiB0aGUKZmlsZSB0byBoYXZlIG1vdmVkLCB3b3JrIGJldHRlcj8gIENv dWxkIGxlYXZlX21vdW50ZWQgYWxzbyBiZSBzZXQgb25seQphZnRlciB0aGUgZGF0YS1pbnRlZ3Jp dHkgY2hlY2sgaGFzIHNob3duIGEgcHJvYmxlbSwgcmF0aGVyIHRoYW4gYmVmb3JlCnRoZSBtaWdy YXRpb24/CgpbIC4uLiBdCgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtv LnZ6aW50LmRldi8jL3BhdGNoc2V0LzIwMjYxMDI4LWI0LXByZXAta2hvcmVua28tdnN0b3ItMTUx NjA3LW51bWEtbWlncmF0ZS1vcmRlci12MS0wLTI2ODMzNjUyNjY3N0B2aXJ0dW96em8uY29tP3Bh cnQ9MgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGV2 ZWwgbWFpbGluZyBsaXN0CkRldmVsQG9wZW52ei5vcmcKaHR0cHM6Ly9saXN0cy5vcGVudnoub3Jn L21haWxtYW4vbGlzdGluZm8vZGV2ZWwK