From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 9F4D08015D for ; Mon, 7 Sep 2026 16:28:22 +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 687GR4c6029759; Mon, 7 Sep 2026 19:27:06 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 687GR4c6029759 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="fC8j00FH" Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 687GR1tm029755 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 7 Sep 2026 19:27:02 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 687GR1tm029755 Received: by mail-pg1-f199.google.com with SMTP id 41be03b00d2f7-cc1ca15334cso1631488a12.1 for ; Mon, 07 Sep 2026 09:27:02 -0700 (PDT) X-Gm-Message-State: AFuF++nCsoJYVH5DpIvrlrGRF+hnfb9ZGPLyicXzTRjopSO8QRj9EQoB Qv5KXap1wjNN5GXZfgWvUGEhlQLtVmRIZK6v2Pi5adq7hGm9RN/GPD1JMsR9UGeiinvyJ52KDJz KN/gqhg+9j5D3Bb+63yR+d0k2HdiS1+bNjkLxyf20GRUxGO0ofpboWA== X-Gm-Gg: AYBFou2ov6z9WuaZIDQ8iLft1o2ensZa07vH4VM/MuZmOv17e0f3j70X0VY4ogy+ptv IQuVypfOzk82xI90l2kdgoUNAfK1HuFFkCAVkNrriSDVmx6eCVnIa+dAh31lyg/ByN32eR6SmYP UlmJY3AuBfmnSZdgHcTEWJWBtupYfe5jyT5oZZ+E0mrlfxBg+3tgjJ9Og+se/NRl/AeNXKDi/sd T46Ko8AWuhu7zWeII54qXYa6CYn/Qel7iO+JeHrAhkmNil2w6/beOG7idaXUUAyCRxcag17AlZS 4TU5lWENFNEhlajNBFCYIbE/sJfvqRh2HQBtfPKGG1joxF5daeAQx4SAjvgf014BL2yLSxNuCwM /e/C9ndpx+tUeRo9LoRmqAZmRmL4QNva6IoWYYsUoiPae7Ivd4ZjxkEmDfHDdvdqbXaeY91q62C z9tyefuPNSIhtWpW4TEFrVeg== X-Received: by 2002:a05:6a21:497:b0:3d3:ae0f:526a with SMTP id adf61e73a8af0-3da3a152bbamr37185048637.22.1788798420774; Mon, 07 Sep 2026 09:27:00 -0700 (PDT) X-Received: by 2002:a05:6a21:497:b0:3d3:ae0f:526a with SMTP id adf61e73a8af0-3da3a152bbamr37184954637.22.1788798420096; Mon, 07 Sep 2026 09:27:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1788798420; cv=pass; d=google.com; s=arc-20260327; b=GvkdL4ZtDWrdATu7yjWqffPUJWMayDz3FEX78/o3YxkHA75Xvw3M7d7FESjiVHOoyc gi2BG9EvEEsEQj54Mn00azac2+489hpPBD2hLx/+CLvlZo4M5/XHyTC0b+/c0sjmuwCo R/1htG1zhxEU1mHmZD0x8vPvCfupWIesA80/ss+HpNjuVQCe5i3Xlx9PB0JjUuuy3hHo 1jPnYBgZrCH2QXI83iLFKUOxVuTjE+Nq/Lzq9ScytWjaLyJz7e//IRW1pNtdBapoCVYE y7UN+hhz5xROuS/c4no7VjE9PILVwH8E3cXFNaiIQltJlyqs1DvWPEgIOv1VVvlD2ier 8z0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:cc:to:subject:message-id :date:from:in-reply-to:references:dkim-signature; bh=RcNguBFEftnfI9AYaXAObs8jzjiu6zmbdJtt3l3HwXY=; fh=IZaB34B70s/96FpxKrELXD1FTo/7sX9/PXHybIIsqiI=; b=imd+aV1FXJay8dTEr7ejce8pskes6K7Uq5C4yKPYzmhH0e4hDhQakxNllYEtx4d9we HJbLwhoRuBGSlwe+S9QJuGfGs/vnfwCUWCdh+Sb4HxQ7oDEVUDUOoqCzryRzS7lFnPSX FdxeS+FW0EZGItN8fdfOEPxATlRVGxaJVCVXkrDIdMlTlJBCFej3uaeu/WYt4FBFKHJa ib5rmc6i7lKVPPTi0KPoMxcHyK6Hvwm6z2y6ubGpS7Y71+moYiWx/nzwhGaC5xaQTs/B JagItf/zcZ7urxxB+1OUwM3/TrySAwqAek9BVGHZKfZdwYP+459PiVL670BYb03NH/rf 5Jeg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=fC8j00FH; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of kuznet@virtuozzo.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=kuznet@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c202::7]) by mx.google.com with ESMTPS id 41be03b00d2f7-cc4555b604asi21375780a12.214.2026.09.07.09.26.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 09:26:59 -0700 (PDT) Received-SPF: pass (google.com: domain of kuznet@virtuozzo.com designates 2a01:111:f403:c202::7 as permitted sender) client-ip=2a01:111:f403:c202::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=fC8j00FH; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of kuznet@virtuozzo.com designates 2a01:111:f403:c202::7 as permitted sender) smtp.mailfrom=kuznet@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=zK9220mIItVBAjM8c9bFcKi6QeiGvw7Pa8c79ptncA0HO/XnQRlJjvO1e/1tOCMMHg4Abnxy4guzGo9BpBP6MIqMNloEUlIi5QEhgVdDLht172c3OBwCFjTH+jTs/ckz1nWrgfOxqB1xLeHGMLfZQG+IpTGWr6vj9AuC8lHSVCPCwyd1DrJ1YqAZVEYCdBz6Pqnk0MuaBGcTeMP4NiEXeQYjJr8SwN3p9gJ0pr+k3Al8TQPJZW0L50TXbn6Twae58Cl5NFOTwpio0JKMUCD2YOtxipOwPjznz4UsRy7wQqbPKQcOGXjGjppWjgcdCfmPmO4yVbwVC4we8b6bv4cthg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RcNguBFEftnfI9AYaXAObs8jzjiu6zmbdJtt3l3HwXY=; b=LESEypCwLp6kz2lLcA+zfSGCJ5nfJhBeTf2yYeuq7Z0TO/9nO1uuTuBqywVoNLeZ4YQK6aPMlDUGu8Hcfw/ugYxYTZO5TYpYP5pnaP7139bhP3Smo8DL1nwmISBg7Kq+517HMjf80v3cz7Kfg2B+Ej/9GtzEv1qy7Zd5vcREO1XHzFTqBKujqhqWHEcID2sruQabBu9ipOcRuTiXgxTrwuAHPRYj0cNz+PBE0GkV/6D4CmZDLnzoKX02cvadd3cBuKkbG0drsasm+zQCaRYiQcn5tiD1tqre6FSDVhkZphERpo9Q9ZVIr+dvjxPzu683mUluaPqstHHsB5tiEIosuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RcNguBFEftnfI9AYaXAObs8jzjiu6zmbdJtt3l3HwXY=; b=fC8j00FHLEtFmgfOQabjFBOgn8XgGDepCw2TfuiiW6FycilkJY7PsCIbUmXn7sZ8CNRbWGyTR4TSojwKUA/j3nU253X0RerhkDFkmzIVohS8ghcNiyA9t8Q8cz3H1Z2SE0z5qDy4Gy6n2BQ/3J6khwFHxLT4i/A/cl80/NyaK7ebzLBjp94X+CcmAE5qy7DMw+Vgev0LU31FL+QZKuQc2mNj+1AZhnmnB9g99PGuhthycZLrgPjaPkiDcsx/axm4sFSOGkySEyiu2bcuYpvJmQ1WKIsj7xc5XfPxITq0KtEwTp6DkICCxuEBlOf/IZWo+xiYxQofd4TIiqNWwkznBw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from DU0PR08MB8254.eurprd08.prod.outlook.com (2603:10a6:10:412::11) by GV2PR08MB11465.eurprd08.prod.outlook.com (2603:10a6:150:2a7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.6; Mon, 7 Sep 2026 16:26:57 +0000 Received: from DU0PR08MB8254.eurprd08.prod.outlook.com ([fe80::66a7:414d:72e6:4327]) by DU0PR08MB8254.eurprd08.prod.outlook.com ([fe80::66a7:414d:72e6:4327%5]) with mapi id 15.21.0406.005; Mon, 7 Sep 2026 16:26:57 +0000 X-Received: by 2002:a17:907:7204:b0:c26:19e3:e98b with SMTP id a640c23a62f3a-c2619e3f02cmr712239766b.43.1788798414953; Mon, 07 Sep 2026 09:26:54 -0700 (PDT) References: <20260907141009.1728909-1-khorenko@virtuozzo.com> <178879495683.1734901.12684619982505300765.b4-review@b4> In-Reply-To: <178879495683.1734901.12684619982505300765.b4-review@b4> From: Alexey Kuznetsov Date: Tue, 8 Sep 2026 00:26:42 +0800 X-Gmail-Original-Message-ID: X-Gm-Features: AcwNN1V4eR4ryCDrdTclI4jo44KzQriGFMwp0xNXppm2h5pVHh3ODb0KJb9Xvcg Message-ID: To: Konstantin Khorenko X-ClientProxiedBy: AM9P193CA0026.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::31) To DU0PR08MB8254.eurprd08.prod.outlook.com (2603:10a6:10:412::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR08MB8254:EE_|GV2PR08MB11465:EE_ X-MS-Office365-Filtering-Correlation-Id: ab4a28f7-9b46-4779-11a3-08df0cfcd584 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|52116014|376014|23010399003|366016|38350700014|10067099003|18002099003|5023799004|4143699003|56012099006|22082099003; X-Microsoft-Antispam-Message-Info: htC84sUtnrLH4cG6Arc2tD3ivye0NjAWmCbVppYkjTAxRlK3nl46XKPzq1LtiGyQ+xR/SyTc0xCKJ0UYooToM1sRom6wprrOpXX8y+RBrv0b+632866PlJ8nvoi3JMF9nQrYSLZaucN0g6eJcqa0N9QnwMePRlSeOzj9malRMsVKTYk1/4D0L7OjDFKPt+SErwaR6x0ZKnTuffvjKDvS28Y1CtUTRN4q8gRjRGRbVUN4dvyB1NUyaP6/nuYx71pLJJEgVdu0Vfgp7Tz6kLf0OZD+iBYFpBYZYuwqT/GEIcrR4CMwKYEH4CYg7+oJax/oSbH/DPUYnI3oVgi1oGNKZLEdbIYkp2d3kZ4LXuG7Uv59kS+bk2cIad2/iwq4Xd1o0EjCxKjxZm1zCxPIB7WeHR80OMwYTa3cuweTC17yZZjufAM/04tYwo9xRkOj81tLYNiDa3oFN6cfn46PyxeES2PXpmOeUCNTD95gU8ldv5ie5Iu9JsXuU3BFbsCOZOWQxKwmEg2RwCDR/tmtjrbDDC/J/CD6OSbC7LPaWQBvdVUBv+f++ORJjH7jYzTMrqOsFGMuQkEHy4euIucIWYnCorRYKLE1ciTPwMLWD8pRV5MihDZd6cMJwcpArVTiPHbU7BALQFuQKE72dmcdUT34C5531dbYvXDYKikkRFXZW/+RxICnC9ch9Afw5ujjNCMGotI5wVfCALW7Mb59OOxMAKzV3GTHwH4XuPs9CwNRIM4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR08MB8254.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(52116014)(376014)(23010399003)(366016)(38350700014)(10067099003)(18002099003)(5023799004)(4143699003)(56012099006)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RDlpUWIzWlpYV29vUTRnczRrUjl4NC8rNFRJbjJnU1I4TW95ZzBWN3lWSWI0?= =?utf-8?B?UTgxdkVyMHRkTFlBS1pESjdHdmNaWDJ4UldvZnArVmdEU1h1S2wraDRnOU1R?= =?utf-8?B?dXcreVpGcnVFSUZFaGN2UWU5cm5mK0kyeEwxUm5tTERaOFpab1RhS21oSG42?= =?utf-8?B?b1JVb1NYTXl0M1hsbmY5V3hHRDAweHFlTkxNUE92OWtSWnVNVnlYaGo1K05B?= =?utf-8?B?ZGRLeTlXQTkyazBsRnJqVGNsczFQTlFNRnIrWk12VStNaUtyTXY0T3J2REtK?= =?utf-8?B?Qk5TMDVTcDhvV0tQb2twR3MrQWRyQ1F2cDJrTy9uVXJremU3ZURqT2s1cTFM?= =?utf-8?B?eDFuWlJsRGpyR2RNSE1HQjlEZlFrWVVTaWd0T3BIN2JnMEpFVXZsN3A0bGhp?= =?utf-8?B?ODUvU2EyOUhPTnVITzNVMzY3bWdjMWVnQjdvOExCNmsrUEVrcFpoTDBFZ29C?= =?utf-8?B?QzVoWld3bmRJanVXNUpYRkNFK2g1K0V3YzdYSHQzNjFkMWhEVnI3NElBc3dI?= =?utf-8?B?ZzJyWE81YThoYXFSdFBrWmNGUEk4TVc5Q283Z2NQdmZtT0NVRW5ZbUlLc3Bz?= =?utf-8?B?ZmVPT3E1Ylo0MG1KSXVQbVdZejFyQXIzT05LYUJOMVcwUUo5MXNkd3RXUzFq?= =?utf-8?B?THFWSitLdjhxbWl0dERUakIvYStKVXc5Vkg3RjBzMmM4UHEyWkdXOTdKYzBD?= =?utf-8?B?SXIrVDBjcDJ4eXBzNkljUFRrcytSV3VEWGY0S0lyRHk2MHlPanVWazZSNnpS?= =?utf-8?B?S09udDRUOGNpSHJXK3BiRkxFdFdpWm5HZWhBUnFGMjQzUDRBVk1RakM3TEht?= =?utf-8?B?dk9VR2lEUGw0KzZRQkxwT0o3akcyZnNRTmxnYVNpcktjckdIZlFjbzF6ZHhO?= =?utf-8?B?TkFnajhvRlk2K1RkNVZDditndXZTZlR5Z3lDWDlXbzM1QWlyL21kY1E1blFy?= =?utf-8?B?cmlHVWRueXBRYmUxVzhVQ3AwSVFuYVFTRnhmNnBRcUtzQjlqbGNFVDlXN0ls?= =?utf-8?B?YzVaKzZsQ1gzNHg3cVg1Ri9QdWNLMUxVTWNoL1drS0swaldlOW1LUUE5a1lG?= =?utf-8?B?YzZPZlZ1N1JoTDZOS1U4Q1RUcW5hc0kzVTh0TDgzMGpyV1JZZVZjSnQybkRx?= =?utf-8?B?bE5RWCtHbzZweDJNb2lrNXRabC9lVWFHRHBmWlhIQjhlUzg1WU5qaUxEcE9G?= =?utf-8?B?L2p6dFpJUS82RERTZDV0OWRQZDNBSjV5Q3ltS2tjL08zN0R1OWdWaGZzcDNF?= =?utf-8?B?NFlqVUN5cHIvNUptZnplalhDaS9KYThhWUkxbm5aWXBQTDZSNHZlT0UrQlNZ?= =?utf-8?B?dmtCT1RYSWZ4cW94VCtpbmZuSnUvVmpjTFllT1gzRmtGaVJDUjBKNVZJbU5S?= =?utf-8?B?ZG5wS20xWXpZSTAxOE11UWkvK2JydFJ0S1p2Mk56QVRIRFB5M08zYU9vNVZM?= =?utf-8?B?d3Y2cHBFdVZKMFFHRVk2MGRYZE42Qk5kbTAyTDhMU3NyZVNJemhrVnkvY1Vz?= =?utf-8?B?TmtkdVQzZ244MHNEODRtUmNIaURZbWdzWlNVb0tQMHFvbGFkSFZoT0pSZHBl?= =?utf-8?B?cksyR3hOSVRQRmtSVjVHOXhwSURHVUVGb1laYzRZZGt5TWlYM2NXaFZvV2Y5?= =?utf-8?B?eUZOMzJTRERBL1hTNDlJZGQ0WWsrZXBGelFYbHk3R1YzNEV6YytTWm9XSHRt?= =?utf-8?B?NHB4OHYreWE4UHhmRFZtK1NjcUJpUEZCR1p4Qk16b2hLVWZlZlNEcjFYRjVR?= =?utf-8?B?SEZaUFZLSGQwMEdtS3ducGFHd1QrNG5OMk95c0tGWmtqZzFTUmludm95V0k5?= =?utf-8?B?TmJ1ckhZWGtnRkgwNnpLMERTNU9yVVhvVFV4S3FZdHVTZmZlUXBRQklQandI?= =?utf-8?B?NEpuanlOZjZRNG5SVk9aUmxzM3lXWTk1MHJEN1ZtWkNUdUNrbG1ERzdER3Z1?= =?utf-8?B?OXNNVldpdW4vRkVETVRLRndrRkJYcW1FWmplS1laS3ZVS21UNXdMMjlMSWRL?= =?utf-8?B?M3ptVUtHMk1Id0R6NFAzQnZLRUg5dGcrTWwxM2kvek45TThadHgrbmpib0xX?= =?utf-8?B?OFFvMmorc3pCTHJraTFYdnZxaHQxcHd6dDBSWVd4WjMzLzBsdjltRVF3aUtD?= =?utf-8?B?TjA3eDZTYzlnNlRUOS80eUcxZE1YSUZxUFhnZ01JWklKbFZZL1BpcUxWUmJV?= =?utf-8?B?R2U0bitXc1BOOU9QNy9XOXJUbldTZUZKaVRWdXNaeFRabk0vRzdSMHdFeFcw?= =?utf-8?B?Q081VkFKZG9ndlFpL2s1VVk3ZTBIY0FNS2pQN2s1Q1k0SmxhbzZXU0VuZXFu?= =?utf-8?B?N29EMmhKYjE2NlpJNFhFRGJxM3hJZGhkc3ViaUQ1ejBRT1lFbFQrZz09?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: ab4a28f7-9b46-4779-11a3-08df0cfcd584 X-MS-Exchange-CrossTenant-AuthSource: DU0PR08MB8254.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Sep 2026 16:26:56.4624 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tXhdosvd3sbAv/C5bctJp8W0Q6aZeX8NlpK0hMrqhI80/h1RJpTLKZVFeaVTQZiCsoXo/cxuMYSA/HacLicFvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB11465 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 687GR1tm029755 Cc: "Denis V. Lunev" , OpenVZ devel list Subject: Re: [Devel] [PATCH vz10 v3] fs/ext4: let FALLOC_FL_PREALLOCATE through the vfs_fallocate mode switch 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org SGVsbG8hCgoxLiBQcm9iYWJseS4gVGhpcyBpcyBvdXIgcHJpdmF0ZSBwYXRjaCwgd2UgZG8gbm90 IHVzZSBhbnkgZXh0NCBhdHRycwogICAgYW5kIGNhbiBsZWF2ZSBiZWhhdmlvdXIgYXMgaXQgaXMu CiAgICBUaGUgb25seSB0YXJnZXQgY3JpdGVyaXVtIGlzIHRvIGtlZXAgdGhlIHBhdGNoIGFzIHNt YWxsIGFzIHBvc3NpYmxlLgogICAgQWN0dWFsbHksIGl0IGlzIHRoZSByZWFzb24gd2h5IHRoaXMg cGF0Y2ggaXMgbm90IGdvaW5nIHRvIHVwc3RlYW0gZXZlciwKICAgIEkgaGF2ZSBub3QgbXVjaCBs aWZlIHRpbWUgbGVmdCB0byBhcmd1ZSB3aXRoIGFuYWwgZnJlYWtzIGluCmxpbnV4LWtlcm5lbC4g Oi0pCgogICAgSXQgaXMgYWxsIHJpZ2h0IHRvIGtlZXAgaXQgYXMgaXQgaXMuCgoyLiBJdCBpcyBP Sy4gRkFMTE9DX0ZMX1pFUk9fUkFOR0UgfCBGQUxMT0NfRkxfUFJFQUxMT0NBVEUgY29tYmluYXRp b24KICAgIHNob3VsZCBiZSByZWplY3RlZCwgRkFMTE9DX0ZMX1BSRUFMTE9DQVRFIGlzIG1vZGUg dmFsdWUsIG5vdCBhCmZsYWcgbW9kaWZpZXIuCiAgICBGcmFua2x5IGl0IHJlYWxseSBtYWtlcyBz ZW5zZSB3aXRoIFpFUk9fUkFOR0UuIEJ1dCBjaGFuZ2Ugb2Ygc3RhdHVzCiAgICBvZiB0aGUgYml0 IGZyb20gbW9kZSB0byBtaXNjIHJlcXVpcmVzIHNvbWUgdG9keWluZyB1cCwgd2hpY2ggaXMKbm90 IHJlYXNvbmFibGUuCgozLiBUaGlzIGlzIHZlcnkgc2VyaW91cy4gWWVzLCB3ZSBoYXZlIHRvIGNo YW5nZSBjdXJyZW50IHZhbHVlLiBObyBodXJyeSB0aG91Z2gsCiAgICB0aGlzIGNhbiBiZSBkb25l IGluIHRoZSBuZXh0IHJlbGVhc2UuIFdoaWxlIHRoaXMgcGF0Y2ggbXVzdCBnbyB0byA4LjAKICAg IGFuZCB3ZSBkZWZpbnRlbHkgZG8gbm90IHdhbnQgc3VjaCB0cm91YmxlIG5vdy4gQlRXIHdhcyA3 LjQgcmVsZWFzZWQKICAgIHdpdGggNi4xMj8KCiAgICBJIHdvdWxkIHN1Z2dlc3QgdG8gYWRkIHRo ZSBzZWNvbmQgZmxhZyBhbmQgc3VwcG9ydCB0aGVtIGFzIHRoZSBzYW1lLAogICAgdGhlbiB3ZSBo YXZlIGdyYWNlIHRpbWUgdG8gd2FzaCBvdXQgb2xkIHZhbHVlIGJlZm9yZSBpdCBnZXRzIHJldXNl ZC4KICAgIE9iamVjdGlvbnM/CgoKCk9uIE1vbiwgU2VwIDcsIDIwMjYgYXQgMTE6NDHigK9QTSBL b25zdGFudGluIEtob3JlbmtvCjxraG9yZW5rb0B2aXJ0dW96em8uY29tPiB3cm90ZToKPgo+IDEu IEFwcGVuZC1vbmx5IGZpbGVzLCBwcmUtZXhpc3RpbmcuCj4KPiBBIGZldyBsaW5lcyBiZWxvdyB0 aGUgc3dpdGNoIHRoZSBwYXRjaCB0b3VjaGVkLCB2ZnNfZmFsbG9jYXRlKCkgc3RpbGwgaGFzOgo+ Cj4gICAgICAgLyoKPiAgICAgICAgKiBPbiBhcHBlbmQtb25seSBmaWxlcyBvbmx5IHNwYWNlIHBy ZWFsbG9jYXRpb24gaXMgc3VwcG9ydGVkLgo+ICAgICAgICAqLwo+ICAgICAgIGlmICgobW9kZSAm IH5GQUxMT0NfRkxfS0VFUF9TSVpFKSAmJiBJU19BUFBFTkQoaW5vZGUpKQo+ICAgICAgICAgICAg ICAgcmV0dXJuIC1FUEVSTTsKPgo+IHNvIGZhbGxvY2F0ZSgwKSB3b3JrcyBvbiBhbiBhcHBlbmQt b25seSBmaWxlIHdoaWxlCj4gZmFsbG9jYXRlKEZBTExPQ19GTF9QUkVBTExPQ0FURSkgZ2V0cyBF UEVSTSwgZXZlbiB0aG91Z2ggdGhlIGNvbW1lbnQKPiBzYXlzIHNwYWNlIHByZWFsbG9jYXRpb24g aXMgdGhlIHRoaW5nIHRoYXQgaXMgYWxsb3dlZCBhbmQgdGhhdCBpcwo+IGV4YWN0bHkgd2hhdCB0 aGUgbmV3IG1vZGUgZG9lcy4KPgo+IHZ6OSBiZWhhdmVkIHRoZSBzYW1lIHdheSwgc28gdGhpcyBp cyBub3QgYSByZWdyZXNzaW9uLCBidXQgcHJvYmFibHkgbmVlZAo+IHRvIGZpeCBpdD8KPgo+IDIu IE9uZSBmbGFnIGNvbWJpbmF0aW9uIHN0b3BwZWQgd29ya2luZy4KPgo+ICAgICAgIGZhbGxvY2F0 ZShmZCwgRkFMTE9DX0ZMX1pFUk9fUkFOR0UgfCBGQUxMT0NfRkxfUFJFQUxMT0NBVEUsIC4uLikK Pgo+IHdvcmtlZCBpbiB2ejkgYW5kIHJldHVybnMgRU9QTk9UU1VQUCBub3cuIFRoYXQgbW9kZSB2 YWx1ZSBpcyAweDkwLCBhbmQKPiBzaW5jZSBib3RoIGJpdHMgc2l0IGluIEZBTExPQ19GTF9NT0RF X01BU0sgdGhlIHN3aXRjaCBzZWVzIGl0IGFzIG9uZQo+IHVua25vd24gbW9kZSBhbmQgdGFrZXMg dGhlIGRlZmF1bHQgbGFiZWwuIHZ6OSBoYWQgbm8gc3VjaCBzd2l0Y2ggYW5kCj4gWkVST19SQU5H RSBoYWQgbm8gZXhjbHVzaXZpdHkgY2hlY2sgb2YgaXRzIG93biwgc28gdGhlIGNvbWJpbmF0aW9u Cj4gcGFzc2VkLCBhbmQgZXh0NF9mYWxsb2NhdGUoKSBjYXJyaWVkIHRoZSB3aG9sZSBtb2RlIGRv d24gdGhyb3VnaAo+IGV4dDRfemVyb19yYW5nZSgpIGludG8gZXh0NF9hbGxvY19maWxlX2Jsb2Nr cygpLCB3aGVyZSB0aGUgZmxhZyBpcyByZWFkLgo+Cj4gTm90aGluZyBpcyBicm9rZW4gdG9kYXks IGNzZCBwYXNzZXMgdGhlIGZsYWcgb24gaXRzIG93bjoKPgo+ICAgICAgIGZhbGxvY2F0ZShyZXEt PmlucGxhY2Vfd3JfZmQsCj4gICAgICAgICAgICAgICAgIGotPnVzZV9zd2FwZXh0ID8gRkFMTE9D X0ZMX1BSRUFMTE9DQVRFIDogMCwgLi4uKQo+Cj4gYnV0IHplcm8gcmFuZ2UgdG9nZXRoZXIgd2l0 aCBwcmVhbGxvY2F0aW9uIGlzIG5vIGxvbmdlciBleHByZXNzaWJsZS4KPgo+IDMuIFVwc3RyZWFt IGhhcyB0YWtlbiBiaXQgMHg4MCBpbiA2LjE3Lgo+Cj4gQ29tbWl0IDdiZDQzY2M3OWNhYiAoImZz OiBpbnRyb2R1Y2UgRkFMTE9DX0ZMX1dSSVRFX1pFUk9FUyIpLCByZWxlYXNlZAo+IGluIHY2LjE3 LCBkZWZpbmVzCj4KPiAgICAgICAjZGVmaW5lIEZBTExPQ19GTF9XUklURV9aRVJPRVMgICAgICAg ICAgMHg4MAo+Cj4gYWRkcyBpdCB0byBGQUxMT0NfRkxfTU9ERV9NQVNLLCBhbmQgZXh0NCBpbXBs ZW1lbnRzIGl0LiBVcHN0cmVhbSBhbHNvCj4gcHV0cyBpdCBpbiB0aGUgZ3JvdXAgb2YgdGhhdCBz YW1lIHN3aXRjaCB3aGljaCByZWZ1c2VzCj4gRkFMTE9DX0ZMX0tFRVBfU0laRSwgbmV4dCB0byBj b2xsYXBzZSBhbmQgaW5zZXJ0IHJhbmdlLCB3aGlsZSB0aGUgbW9kZQo+IGFkZGVkIGhlcmUgc2l0 cyBpbiB0aGUgZ3JvdXAgdGhhdCBhbGxvd3MgS0VFUF9TSVpFLgo+Cj4gT24gYSByZWJhc2UgdG8g djYuMTcgb3IgbGF0ZXIgdGhlIHR3byBhcmUgb25lIHZhbHVlIGluIG9uZSBzd2l0Y2guCj4gS2Vl cGluZyBib3RoIGNhc2UgbGFiZWxzIGRvZXMgbm90IGJ1aWxkLCB0aGUgc3dpdGNoIHRoZW4gaGFz IGEKPiBkdXBsaWNhdGUgY2FzZSB2YWx1ZS4gRHJvcHBpbmcgZWl0aGVyIGxhYmVsIHNpbGVudGx5 IGNoYW5nZXMgdGhlCj4gbWVhbmluZyBvZiBhIG1vZGU6IGRyb3Agb3VycyBhbmQgdGhlIGZlYXR1 cmUgcXVpZXRseSBkaXNhcHBlYXJzIGFnYWluLAo+IHdoaWNoIGlzIHRoZSB2ZXJ5IGJ1ZyB0aGlz IHBhdGNoIGlzIGZpeGluZzsgZHJvcCB0aGVpcnMgYW5kIGEKPiBGQUxMT0NfRkxfV1JJVEVfWkVS T0VTIHJlcXVlc3QgZ2V0cyB1bndyaXR0ZW4gZXh0ZW50cyBpbnN0ZWFkIG9mIHplcm9lZAo+IGJs b2Nrcywgd2l0aCBLRUVQX1NJWkUgYWNjZXB0ZWQgd2hlcmUgdXBzdHJlYW0gcmVmdXNlcyBpdC4K Pgo+IEFkb3B0aW5nIHRoZSB1cHN0cmVhbSBtb2RlIGluc3RlYWQgb2Ygb3VycyBkb2VzIG5vdCBn ZXQgdXMgb3V0IG9mIGl0Lgo+IEl0IHJlYWNoZXMgZXh0NF9hbGxvY19maWxlX2Jsb2NrcygpIHRo cm91Z2ggZXh0NF96ZXJvX3JhbmdlKCksIHdoZXJlCj4KPiAgICAgICBpZiAobGVuX2xibGsgPD0g RVhUX1VOV1JJVFRFTl9NQVhfTEVOKQo+ICAgICAgICAgICAgICAgZmxhZ3MgfD0gRVhUNF9HRVRf QkxPQ0tTX05PX05PUk1BTElaRTsKPgo+IGlzIHVuY2hhbmdlZCwgc28gaXQgbG9zZXMgbWJhbGxv YyBwcmVhbGxvY2F0aW9uIGV4YWN0bHkgbGlrZSBwbGFpbgo+IGZhbGxvY2F0ZSBhbmQgZG9lcyBu b3RoaW5nIGZvciB1cy4gSXQgYWxzbyBkb2VzIHJlYWwgemVyb2luZyBwbHVzCj4gY29udmVyc2lv biB0byB3cml0dGVuLCByZXF1aXJlcyB0aGUgZGV2aWNlIHRvIHJlcG9ydCB1bm1hcCB3cml0ZQo+ IHplcm9lcywgYW5kIHJlZnVzZXMgS0VFUF9TSVpFLgo+Cj4gU28gdGhlIHdheSBvdXQgaXMgbW92 aW5nIG91ciBmbGFnIHRvIGEgZnJlZSBoaWdoIGJpdCwgYW5kIHllcywgdGhhdAo+IG5lZWRzIGEg Y29vcmRpbmF0ZWQgdXNlcnNwYWNlIHJlYnVpbGQuIGNzZF9qb3VybmFsLmMgY2FycmllcyBpdHMg b3duCj4gY29weSBvZiB0aGUgdmFsdWU6Cj4KPiAgICAgICAjaWZuZGVmIEZBTExPQ19GTF9QUkVB TExPQ0FURQo+ICAgICAgICNkZWZpbmUgRkFMTE9DX0ZMX1BSRUFMTE9DQVRFICAgICAgICAgIDB4 ODAKPiAgICAgICAjZW5kaWYKPgo+IEEgcmVidWlsZCBhZ2FpbnN0IGEgaGVhZGVyIHdpdGhvdXQg dGhlIG5hbWUgd291bGQga2VlcCBzZW5kaW5nIDB4ODAsCj4gd2hpY2ggb24gdjYuMTcgaXMgc29t ZW9uZSBlbHNlJ3MgbW9kZSwgc28gdGhlIHJlbnVtYmVyaW5nIGhhcyB0byByZW1vdmUKPiB0aGF0 IGJsb2NrIHRvby4KPgo+IC0tCj4gS29uc3RhbnRpbiBLaG9yZW5rbyA8a2hvcmVua29AdmlydHVv enpvLmNvbT4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkRldmVsIG1haWxpbmcgbGlzdApEZXZlbEBvcGVudnoub3JnCmh0dHBzOi8vbGlzdHMub3BlbnZ6 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsCg==