Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2482880pxb; Tue, 12 Oct 2021 07:33:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkZlgWY3n36HaP304MYD18NXMzqWpnqHv8seP33YcYGzQL7JTCffzyNjksJN3skpDSwLjh X-Received: by 2002:a5d:59a9:: with SMTP id p9mr15053183wrr.386.1634049228758; Tue, 12 Oct 2021 07:33:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1634049228; cv=pass; d=google.com; s=arc-20160816; b=L/9pFuDPm/NEWTEhN3IuimHv0UbrEVKfrORXBLPfDJbfPwShs6A/tR5AGcc/1PymKl 6w3jmL+OI7qDJxXgg21JNillbM7+EqZlDr3P6ae7FDLL54mtdkuNy9DnS2OzEbpyy8kR GeEtS7AItK+ZtNAz6Ldo6eWkc/sMqMuTtFIdZBBQ32nOw0+Cyg1s6FGTsd4KYQoXP6Iw qpVSBz4OoQR7zsyCTzIRFx8EC4+ICmiwrAQiSYq46XbTS3rxmdVqQo15/AaWYFRXC6zY 1jX7UUItOMZDc5aXWdMfhQyzTpnGOPibXGjq5CeSxaUOrZEWdmrGdZqSeUiPikR9DBZy Smaw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature; bh=3NEKCZVEZpupcx1m+ZpVfK4daDbh1RvXgc3IR4ytrY0=; b=PtYREDKgS3qr9EGZ/9m9uGPyk0Hu7jIV9o/ezkHt7FBeOQSuGqw0UkDdFO0FUcDHYm 7DDyWACMm88nMFnYhVA4FBFiBuzOP5BJCz3+/tjBjnCGK274Vtuk6HWdpTHXdpHfyBkZ Ssy0P+rdyiCW45CMMANweKKc3VVfrEL7ThxqaFywQBPT5We4MDtCxhlKmICJKQ7GFyP6 s7gYCD1cFdgVSpHvH3CPkppE8PjvwpEaM/jyxufNvGEhfudjRB+t6Gr8HeRDdDaADehM HFHd2B5giavYqQHen1ZgJoR1ekXKxYuJTme0TwMdHSVNRgKXXUvAe8JmaJuxPOJ6rTKx lwlw== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@bang-olufsen.dk header.s=selector1 header.b=Wd1iiF37; arc=pass (i=1 spf=pass spfdomain=bang-olufsen.dk dkim=pass dkdomain=bang-olufsen.dk dmarc=pass fromdomain=bang-olufsen.dk); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bang-olufsen.dk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x2si19953829ejy.385.2021.10.12.07.33.23; Tue, 12 Oct 2021 07:33:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bang-olufsen.dk header.s=selector1 header.b=Wd1iiF37; arc=pass (i=1 spf=pass spfdomain=bang-olufsen.dk dkim=pass dkdomain=bang-olufsen.dk dmarc=pass fromdomain=bang-olufsen.dk); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bang-olufsen.dk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237289AbhJLOc5 (ORCPT + 99 others); Tue, 12 Oct 2021 10:32:57 -0400 Received: from mail-am6eur05on2102.outbound.protection.outlook.com ([40.107.22.102]:54241 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S236695AbhJLOc4 (ORCPT ); Tue, 12 Oct 2021 10:32:56 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dCHgQnv1HIjmphSlK5QDoW14aFKexA1EQxmy09QL2XiQ9UIsK5IGkhIUB6QUePgn7GnNrK6Q4whdxT0LAoODUMYPf9y0BTJPS/BR0u2xO85ej3riSjfj347SbRsIA4O51Ed8HCBWMlSb4gqpVplRpQCPRtc1GzR303cgqRcc+pZJAnkfKFyUdB9zg1JLoCYwOUkApe4IJC2Sa4wrlyEMOdZJHcrQuUVDpFreTP0c9JsLltNWpDrGME2ipOuKnAEmKE87kpa4CdKfwq+WgzM+67w9BNJh/3N67xbwMRGR5KYlyGTVSwom58uCmebGgCfSyaJC8OIZgwHWGo8Gmrb3xA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=3NEKCZVEZpupcx1m+ZpVfK4daDbh1RvXgc3IR4ytrY0=; b=lnBil3ErPfdNslikwC48v8uUZLf436KWE/VCIrxuVgu7ZTW0hDGy6VpYvgoiQrk1TTwzJ/TW9BW9FM8EwnRr5r7VcokZyyMytbelWpk8/PE3cJCbDh+hYhAMj4q9x5xtuQhIJw2mvzxgBmR1kM8qVLi+z0c4xd07im3X21gP32QVHys4PMuYcMhKLsVw8A1CPc0pK46koNAiN4aeQdjoLOQEbM7EC+NUPlq7LhCaUlaq5DQDrIFQ4n1poP6iUDqei8Z8QR8bjZcsrmH0bKRXyNID/gcxKjVixShtBUesVavOepsvoFq0HyWuPIN1m54KgHMixA772vX1Mkv/3Z4/eQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bang-olufsen.dk; dmarc=pass action=none header.from=bang-olufsen.dk; dkim=pass header.d=bang-olufsen.dk; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bang-olufsen.dk; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3NEKCZVEZpupcx1m+ZpVfK4daDbh1RvXgc3IR4ytrY0=; b=Wd1iiF37eTK4mBMcCxECz+O+bMsBVenkyeZfz6ugnahZysIIC/xlzavFMMeBsiuNoOO2mo5xvyOnLebFZebXbgV1obdD7Q+Xt7lsGJGjuW77sfFjbHANKKO30NBXhxMm67eZTABB5UhImUj52ARdS2m2AKAAqhQ3UtEd5E/rqOc= Received: from HE1PR03MB3114.eurprd03.prod.outlook.com (2603:10a6:7:60::18) by HE1PR03MB3115.eurprd03.prod.outlook.com (2603:10a6:7:56::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.25; Tue, 12 Oct 2021 14:30:50 +0000 Received: from HE1PR03MB3114.eurprd03.prod.outlook.com ([fe80::d984:dc33:ba2e:7e56]) by HE1PR03MB3114.eurprd03.prod.outlook.com ([fe80::d984:dc33:ba2e:7e56%5]) with mapi id 15.20.4587.026; Tue, 12 Oct 2021 14:30:50 +0000 From: =?utf-8?B?QWx2aW4gxaBpcHJhZ2E=?= To: Vladimir Oltean CC: =?utf-8?B?QWx2aW4gxaBpcHJhZ2E=?= , Linus Walleij , Andrew Lunn , Vivien Didelot , Florian Fainelli , "David S. Miller" , Jakub Kicinski , Rob Herring , Heiner Kallweit , Russell King , Michael Rasmussen , "netdev@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH net-next 5/6] net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC Thread-Topic: [PATCH net-next 5/6] net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC Thread-Index: AQHXv2Xnxc/wFCiERUe0xn+KS7nXfavPVJWAgAAFEwCAAAfYgIAAA7IAgAAHgoA= Date: Tue, 12 Oct 2021 14:30:50 +0000 Message-ID: <3db3be5f-7b74-02a2-82b8-705fe498cc1b@bang-olufsen.dk> References: <20211012123557.3547280-1-alvin@pqrs.dk> <20211012123557.3547280-6-alvin@pqrs.dk> <20211012130429.chiqugd57xoqf6hd@skbuf> <6848079b-eb8b-91c9-f64d-5f0c3fde36ec@bang-olufsen.dk> <20211012140356.kqd5g6h2lhvugpxz@skbuf> In-Reply-To: <20211012140356.kqd5g6h2lhvugpxz@skbuf> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=bang-olufsen.dk; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 764d4435-4e3c-4d31-7c6e-08d98d8ce396 x-ms-traffictypediagnostic: HE1PR03MB3115: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wtxefzQJqsLv5ZR0nM1U70o4qPYgkmZle/qaoBrhCN8FqczYl73QUpESPROxMeDhD+f8VOdsLjKT++NIbYbhiy7ZgVpNpR/HCTzNO50Fb3i9Dac8YQ8AxrEVhkimEgudoMzir5SxkMR5gcfT9rx5KuqXxPp80JaX0Q4a9QhM7vijgIJIN0fZTmBba+FAhqf7vp/cjXsy8h15kN0bIEezmmZLcO+5fuYW/V6wIS5RjGORgy57J22VYNCqknJl4/2MdNAdzVt8M7kzPQFl4N8DVv0jksjbPkZOn9rVZDG/zstiXGg+ftXMpC+RKup5Qbno0lY1cCw5dphqIoZDxcEusasU+t5upj18dC2tORJ85IGs57Ew/cW4AQXQj2lBP/xsOO4osXtxSVoiei81ix5Ga3cMDeMh5QcDXXVal3/0kuYg0BVFNRsdSvDZRYLb999VoRoV2SEMPkMOP7G9RNyikDeKGcxgewfCKJ/G0d7inOVoY0GwgbUwJc+/+ctL6rLL1osA0Q+1d3XhQLsIbr+aawvVEfVSHdT8u1Ti7qLJhBDssZgUK6e0HX/UOy7nwWTOpj/elhjzwRM6jRLBenb8Tbtdt26w3HDHBxZMQUyIBAdw0PrVyBeWECwtsQGNp6KZjudayTLHATjV+nYB+7LS2Ozkdr1MBx0kea84U2P55BLOeN3MLRRXHgbi1HCFhIR7oujC6Kz6UPiiH+//K5Q+Vp56Lmt6wq/k/vvjkmEiWilUunC6oNhBahqQxrrRKW8DZlNnFeks2jawf7yDJ3uo5gMQGys+oSaIMEqHJwfVNLW108dCFUvIJ27x+vH1BCnkvrBpPZedkJPjHSWlaaNtPVyiEcsCNvtEPfrFoOM/g38= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:HE1PR03MB3114.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8976002)(31686004)(31696002)(53546011)(85202003)(122000001)(8936002)(508600001)(38070700005)(8676002)(38100700002)(66446008)(71200400001)(54906003)(36756003)(6916009)(66556008)(86362001)(2616005)(85182001)(966005)(6512007)(2906002)(26005)(6506007)(66574015)(7416002)(76116006)(83380400001)(5660300002)(6486002)(316002)(64756008)(186003)(66476007)(66946007)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cTcrTThsL1ZrWUdWNUhad1FZZjNTRFFnNmtFRXFWYVlsN2Ryd1BVYzFYZm8w?= =?utf-8?B?NGVHZXpQQjlzejMyeTNFOFVHSFhjYUxodjI5OTFJNUJCcGdoVjlWcHNieXUv?= =?utf-8?B?ZXFqYmVJSHhFc25YRmNTQ2FBVVhKMHNDaFFBQ2FFbTVGUk10ek9yOUVvd0FP?= =?utf-8?B?OFNKSDhQYzk2VEREeTFSNVBWWllrOWxuQWxqTWo3UDlqTW9kWVNUSU00UCtN?= =?utf-8?B?K0tncDBXbS81Sk1zVFpDR2YwS01jSWhrcUtCR3BZTWpObCs2SStOVlNhdEwv?= =?utf-8?B?MjQ4OGszQVJQY0ZZSEdYZXZmUFlIQmpNS3Vub1I5dDlwUFp2Y0UyTTVCN25j?= =?utf-8?B?aC82VTVyNC9TVXJSaTFKWXBSTjRuSndHYUhkZmxjR2NxM0Y4ZmxtK2lkdjJQ?= =?utf-8?B?SzdUWWhSWTdkZm1oRWxTU1NDRTArKzY1NzFFM1gvV0N6WW5GZ2ZRK0x5RTln?= =?utf-8?B?eCtIaEUrVVdFOHErVGozY3ZFWEVYQ3ZSaHNDcWV5MStqbFF0MmFPSnc1R3JO?= =?utf-8?B?UUlDUFhIRStLQU1rZUhkZ2o1SlBRM2RqRmpOeWRoenVNN2VnOWNnRmtxUUJ1?= =?utf-8?B?UXhuQ3JrUWlQWEZuTWdLUVB2OFhWUVJnZXl1R3RKckVGTUw0ZDZhYkNMWmpT?= =?utf-8?B?QUJPVHBTckg2TVgwL05nWGh1aDByUWR2RktiZU1OQktQTFZ0ZGVyR1dSVzZK?= =?utf-8?B?VmlmaFE0eXhoWFVEaHhqQTEwMGxDeFFtWS9FZDd5TFpvTzlGQXhrbVlhNFh0?= =?utf-8?B?cnBCY3JFdUxBaUgvc1JiYWFjNDJlU3RXdnVTZWtyNXJpcGQ2clJob014cUJq?= =?utf-8?B?ZFVMaVJ6a0ZnK3VmR2JhQnY4SVVNUjlrY1RzUk9kUDM3SnhjZ0Vhc3ZIN2Ir?= =?utf-8?B?K2JRSWJnVVZPQ3BjV09udjU1K2tLemcrYk5IZnVKVmMybE02Slc0RGJYZ0tX?= =?utf-8?B?Vnp2M0RVb1FWZGJvSFhISkxJdzJUbXkwbjhZRTN3TTl1bjk4eFVFWnRYN0Jw?= =?utf-8?B?MGhOcXhkdTBpeENLWkJSZkVVMlBYUFFUZGZsN2hjSnhTZG13eWRrcUZqRUl5?= =?utf-8?B?c3ZDaEtEYlltMGtZSTgvbkQ2NFdKMXlBVGlWcDhoWDh6OHlNZUR5QW9wR3Nl?= =?utf-8?B?YzNML0J4dXB6NGNPY0hNUUdGZFFDeGpHamhBV2FwM3ZQRkhvdTI5Nm55OWpS?= =?utf-8?B?RUhRUytxQUVCWklOaHltaW9scGxWZUlwYzVFRVdDNDRXSGZJQ2wza0ltVVRl?= =?utf-8?B?MitHSkJNMkdDSW5zRXJrUjRVOUlaMU5rQVhYdHlaTEQ5V1BTdGV0NnlrU3pt?= =?utf-8?B?WkNaV2E2ZXlnZGRTNDFqOTFyNkVKNTZXbHczREdrbDBJZS9rQi9rbklDSS82?= =?utf-8?B?NFIrcHBwc1JyT2k1a0hRR041Tks0YVZqTmloYXVza0toRFVROGo5K2U2Ti9Q?= =?utf-8?B?enJQdGtneTJyOHU3TkxQajZRQUpSeE40ZHlXdUpBRnZvWFAxYXEzb2ZjN0xG?= =?utf-8?B?UDJua1h3UEhJZitZNm5EYjZHZ0didm5RNGFZbFBqMjIxa2RJZE5SS0hMOWJw?= =?utf-8?B?bFB5akI0Yk1JZGJrbWhyU2F6KzBpcHRKc3dlQlYwZ0JQTTRoZWRZQXlTOXVt?= =?utf-8?B?T0o3VVhUU3o4bm5HMHRzZ0orL2xEeXVoTlFsSExvSGZzWjVVWnJUTGxXbG9S?= =?utf-8?B?eTVXOS82K3VXbUJyN1loVnVYVGtlVWJ6c0VpWWluNkVOWGZTb2d4ckFYZzI5?= =?utf-8?Q?2/z3UDadR7lH8oYWJnijKQFgVrcc6KIyAAf0Q58?= Content-Type: text/plain; charset="utf-8" Content-ID: <44C414540583EB4685DE838541F0E858@eurprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: bang-olufsen.dk X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: HE1PR03MB3114.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 764d4435-4e3c-4d31-7c6e-08d98d8ce396 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2021 14:30:50.1554 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 210d08b8-83f7-470a-bc96-381193ca14a1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JxAcPs9QsMCDTQzFzCCRveSpaeaRQL3gEPauHhGaZ2k6VA6AE5uo5gEkvvmzYhiEbMfE5xhsPUB20hL07vyXpw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR03MB3115 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMTAvMTIvMjEgNDowMyBQTSwgVmxhZGltaXIgT2x0ZWFuIHdyb3RlOg0KPiBPbiBUdWUsIE9j dCAxMiwgMjAyMSBhdCAwMTo1MDo0NFBNICswMDAwLCBBbHZpbiDFoGlwcmFnYSB3cm90ZToNCj4+ Pj4+ICtzdGF0aWMgaW50IHJ0bDgzNjVtYl9leHRfY29uZmlnX3JnbWlpKHN0cnVjdCByZWFsdGVr X3NtaSAqc21pLCBpbnQNCj4+Pj4+IHBvcnQsDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBoeV9pbnRlcmZhY2VfdCBpbnRlcmZhY2UpDQo+Pj4+PiAr ew0KPj4+Pj4gK8KgwqDCoCBpbnQgdHhfZGVsYXkgPSAwOw0KPj4+Pj4gK8KgwqDCoCBpbnQgcnhf ZGVsYXkgPSAwOw0KPj4+Pj4gK8KgwqDCoCBpbnQgZXh0X3BvcnQ7DQo+Pj4+PiArwqDCoMKgIGlu dCByZXQ7DQo+Pj4+PiArDQo+Pj4+PiArwqDCoMKgIGlmIChwb3J0ID09IHNtaS0+Y3B1X3BvcnQp IHsNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBleHRfcG9ydCA9IFBPUlRfTlVNX0wyRShwb3J0KTsN Cj4+Pj4+ICvCoMKgwqAgfSBlbHNlIHsNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKHNt aS0+ZGV2LCAib25seSBvbmUgRVhUIHBvcnQgaXMgY3VycmVudGx5DQo+Pj4+PiBzdXBwb3J0ZWRc biIpOw0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOw0KPj4+Pj4gK8KgwqDC oCB9DQo+Pj4+PiArDQo+Pj4+PiArwqDCoMKgIC8qIFNldCB0aGUgUkdNSUkgVFgvUlggZGVsYXkN Cj4+Pj4+ICvCoMKgwqDCoCAqDQo+Pj4+PiArwqDCoMKgwqAgKiBUaGUgUmVhbHRlayB2ZW5kb3Ig ZHJpdmVyIGluZGljYXRlcyB0aGUgZm9sbG93aW5nIHBvc3NpYmxlDQo+Pj4+PiArwqDCoMKgwqAg KiBjb25maWd1cmF0aW9uIHNldHRpbmdzOg0KPj4+Pj4gK8KgwqDCoMKgICoNCj4+Pj4+ICvCoMKg wqDCoCAqwqDCoCBUWCBkZWxheToNCj4+Pj4+ICvCoMKgwqDCoCAqwqDCoMKgwqAgMCA9IG5vIGRl bGF5LCAxID0gMiBucyBkZWxheQ0KPj4+Pj4gK8KgwqDCoMKgICrCoMKgIFJYIGRlbGF5Og0KPj4+ Pj4gK8KgwqDCoMKgICrCoMKgwqDCoCAwID0gbm8gZGVsYXksIDcgPSBtYXhpbXVtIGRlbGF5DQo+ Pj4+PiArwqDCoMKgwqAgKsKgwqDCoMKgIE5vIHVuaXRzIGFyZSBzcGVjaWZpZWQsIGJ1dCB0aGVy ZSBhcmUgYSB0b3RhbCBvZiA4IHN0ZXBzLg0KPj4+Pj4gK8KgwqDCoMKgICoNCj4+Pj4+ICvCoMKg wqDCoCAqIFRoZSB2ZW5kb3IgZHJpdmVyIGFsc28gc3RhdGVzIHRoYXQgdGhpcyBtdXN0IGJlIGNv bmZpZ3VyZWQNCj4+Pj4+ICpiZWZvcmUqDQo+Pj4+PiArwqDCoMKgwqAgKiBmb3JjaW5nIHRoZSBl eHRlcm5hbCBpbnRlcmZhY2UgaW50byBhIHBhcnRpY3VsYXIgbW9kZSwgd2hpY2gNCj4+Pj4+IGlz IGRvbmUNCj4+Pj4+ICvCoMKgwqDCoCAqIGluIHRoZSBydGw4MzY1bWJfcGh5bGlua19tYWNfbGlu a197dXAsZG93bn0gZnVuY3Rpb25zLg0KPj4+Pj4gK8KgwqDCoMKgICoNCj4+Pj4+ICvCoMKgwqDC oCAqIE5PVEU6IEZvciBub3cgdGhpcyBpcyBoYXJkY29kZWQgdG8gdHhfZGVsYXkgPSAxLCByeF9k ZWxheSA9IDQuDQo+Pj4+PiArwqDCoMKgwqAgKi8NCj4+Pj4+ICvCoMKgwqAgaWYgKGludGVyZmFj ZSA9PSBQSFlfSU5URVJGQUNFX01PREVfUkdNSUlfSUQgfHwNCj4+Pj4+ICvCoMKgwqDCoMKgwqDC oCBpbnRlcmZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX1RYSUQpDQo+Pj4+PiArwqDC oMKgwqDCoMKgwqAgdHhfZGVsYXkgPSAxOyAvKiAyIG5zICovDQo+Pj4+PiArDQo+Pj4+PiArwqDC oMKgIGlmIChpbnRlcmZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JHTUlJX0lEIHx8DQo+Pj4+ PiArwqDCoMKgwqDCoMKgwqAgaW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9SR01JSV9S WElEKQ0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJ4X2RlbGF5ID0gNDsNCj4+Pj4NCj4+Pj4gVGhl cmUgaXMgdGhpcyBvbmdvaW5nIGRpc2N1c3Npb24gdGhhdCB3ZSBoYXZlIGJlZW4gaW50ZXJwcmV0 aW5nIHRoZQ0KPj4+PiBtZWFuaW5nIG9mICJwaHktbW9kZSIgaW5jb3JyZWN0bHkgZm9yIFJHTUlJ IGFsbCBhbG9uZy4gVGhlIGNvbmNsdXNpb24NCj4+Pj4gc2VlbXMgdG8gYmUgdGhhdCBmb3IgYSBQ SFkgZHJpdmVyLCBpdCBpcyBva2F5IHRvIGNvbmZpZ3VyZSBpdHMgaW50ZXJuYWwNCj4+Pj4gZGVs YXkgbGluZXMgYmFzZWQgb24gdGhlIHZhbHVlIG9mIHRoZSBwaHktbW9kZSBzdHJpbmcsIGJ1dCBm b3IgYSBNQUMNCj4+Pj4gZHJpdmVyIGl0IGlzIG5vdC4gVGhlIG9ubHkgdmlhYmxlIG9wdGlvbiBm b3IgYSBNQUMgZHJpdmVyIHRvIGNvbmZpZ3VyZQ0KPj4+PiBpdHMgaW50ZXJuYWwgZGVsYXlzIGlz IGJhc2VkIG9uIHBhcnNpbmcgc29tZSBuZXcgZGV2aWNlIHRyZWUgcHJvcGVydGllcw0KPj4+PiBj YWxsZWQgcngtaW50ZXJuYWwtZGVsYXktcHMgYW5kIHR4LWludGVybmFsLWRlbGF5LXBzLg0KPj4+ PiBTaW5jZSB5b3UgZG8gbm90IHNlZW0gdG8gaGF2ZSBhbnkgYmFnZ2FnZSB0byBzdXBwb3J0IGhl cmUgKG5ldyBkcml2ZXIpLA0KPj4+PiBjb3VsZCB5b3UgcGxlYXNlIGp1c3QgYWNjZXB0IGFueSBQ SFlfSU5URVJGQUNFX01PREVfUkdNSUkqIHZhbHVlIGFuZA0KPj4+PiBhcHBseSBkZWxheXMgKG9y IG5vdCkgYmFzZWQgb24gdGhvc2Ugb3RoZXIgT0YgcHJvcGVydGllcz8NCj4+Pj4gaHR0cHM6Ly9w YXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L25ldGRldmJwZi9wYXRjaC8yMDIxMDcyMzE3MzEw OC40NTk3NzAtNi1wcmFzYW5uYS52ZW5nYXRlc2hhbkBtaWNyb2NoaXAuY29tLz4+Pj4NCj4+Pg0K Pj4+IFVnaCwgSSByZW1lbWJlciBteSBoZWFkIHNwaW5uaW5nIHdoZW4gSSBmaXJzdCBsb29rZWQg aW50byB0aGlzLiBCdXQgT0ssDQo+Pj4gSSBjYW4gZG8gYXMgeW91IHN1Z2dlc3QuDQo+Pj4NCj4+ PiBKdXN0IHRvIGNsYXJpZnk6IGlmIHRoZSAqLWludGVybmFsLWRlbGF5LXBzIHByb3BlcnR5IGlz IG1pc3NpbmcsIHlvdSBhcmUNCj4+PiBzYXlpbmcgdGhhdCBJIHNob3VsZCBzZXQgdGhlIGRlbGF5 IHRvIDAgcmF0aGVyIHRoYW4gbXkgZGVmYXVsdHMgKHR4PTEsDQo+Pj4gcng9NCksIHJpZ2h0Pw0K PiANCj4gWWVzLCBJIHRoaW5rIHNvLg0KPiANCj4+IEFub3RoZXIgcHJvYmxlbSBpcyB0aGF0IGZv ciB0aGUgUlggZGVsYXksIEkgaGF2ZSBubyBpZGVhIHdoYXQgdGhlIGFjdHVhbA0KPj4gdW5pdCBv ZiBtZWFzdXJlbWVudCBpcy4gU2VlIHRoZSBjb21tZW50IEkgbGVmdCBpbg0KPj4gcnRsODM2NW1i X2V4dF9jb25maWdfcmdtaWkoKS4NCj4+DQo+PiBTbyBJIGd1ZXNzIEkgY291bGQgInJlaW50ZXJw cmV0IiByeC1pbnRlcm5hbC1kZWxheS1wcyB0byBtZWFuIHRoZXNlDQo+PiBtYWdpYyBzdGVwIHZh bHVlcywgb3Igb3RoZXJ3aXNlIEkgZG9uJ3Qga25vdyB3aGF0IG1pZ2h0IGJlIHRoZSBiZXN0DQo+ PiBwcmFjdGljZS4NCj4gDQo+IEkgdGhpbmsgd2hhdCBjb3VsZCB3b3JrIGlzIHlvdSBjb3VsZCBh Y2NlcHQgb25seSB0aGUgMCBvciAyMDAwIHBzIHZhbHVlcy4NCj4gRm9yIHRoZSBUWCBkZWxheSB5 b3Ugc2F5IGl0IGlzIGNsZWFyIHRoYXQgeW91IHNob3VsZCBwcm9ncmFtICIxIiB0byBoYXJkd2Fy ZS4NCj4gRm9yIHRoZSBSWCBkZWxheSBJIGd1ZXNzIHRoYXQgdGhlIHZhbHVlIG9mICI0IiBpcyBz aW1wbHkgeW91ciBiZXN0IGd1ZXNzDQo+IG9mIHdoYXQgd291bGQgY29ycmVzcG9uZCB0byAyIG5z LiBTbyB5b3UgY291bGQganVzdCB0cmFuc2Zvcm0gdGhlIDIwMDAgcHMNCj4gdmFsdWUgaW50byBh ICI0IiBmb3IgdGhlIFJYIGRlbGF5IGFuZCBtYWtlIG5vIG90aGVyIGd1ZXNzZXMgb3RoZXJ3aXNl Lg0KDQpPSywgdGhpcyBpcyBhbHNvIHRoZSBtb3N0IG9idmlvdXMgd2F5IHRvIGRlYWwgd2l0aCBp dC4gV2lsbCBhZGRyZXNzIGluIHYyLg0KDQo+IA0KPj4+Pj4gK8KgwqDCoCByZXQgPSByZWdtYXBf dXBkYXRlX2JpdHMoDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgc21pLT5tYXAsIFJUTDgzNjVNQl9F WFRfUkdNWEZfUkVHKGV4dF9wb3J0KSwNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBSVEw4MzY1TUJf RVhUX1JHTVhGX1RYREVMQVlfTUFTSyB8DQo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBS VEw4MzY1TUJfRVhUX1JHTVhGX1JYREVMQVlfTUFTSywNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBG SUVMRF9QUkVQKFJUTDgzNjVNQl9FWFRfUkdNWEZfVFhERUxBWV9NQVNLLCB0eF9kZWxheSkgfA0K Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRklFTERfUFJFUChSVEw4MzY1TUJfRVhUX1JH TVhGX1JYREVMQVlfTUFTSywgcnhfZGVsYXkpKTsNCj4+Pj4+ICvCoMKgwqAgaWYgKHJldCkNCj4+ Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+Pj4gKw0KPj4+Pj4gK8KgwqDCoCBy ZXQgPSByZWdtYXBfdXBkYXRlX2JpdHMoDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgc21pLT5tYXAs IFJUTDgzNjVNQl9ESUdJVEFMX0lOVEVSRkFDRV9TRUxFQ1RfUkVHKGV4dF9wb3J0KSwNCj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoCBSVEw4MzY1TUJfRElHSVRBTF9JTlRFUkZBQ0VfU0VMRUNUX01PREVf TUFTSyhleHRfcG9ydCksDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgUlRMODM2NU1CX0VYVF9QT1JU X01PREVfUkdNSUkNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDw8IFJUTDgzNjVNQl9E SUdJVEFMX0lOVEVSRkFDRV9TRUxFQ1RfTU9ERV9PRkZTRVQoDQo+Pj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGV4dF9wb3J0KSk7DQo+Pj4+PiArwqDCoMKgIGlmIChy ZXQpDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+Pj4+ICsNCj4+Pj4+ICvC oMKgwqAgcmV0dXJuIDA7DQo+Pj4+PiArfQ0KPj4+Pg0KPj4+Pj4gK3N0YXRpYyB2b2lkIHJ0bDgz NjVtYl9waHlsaW5rX21hY19jb25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQNCj4+Pj4+ IHBvcnQsDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1 bnNpZ25lZCBpbnQgbW9kZSwNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKQ0KPj4+Pj4g K3sNCj4+Pj4+ICvCoMKgwqAgc3RydWN0IHJlYWx0ZWtfc21pICpzbWkgPSBkcy0+cHJpdjsNCj4+ Pj4+ICvCoMKgwqAgaW50IHJldDsNCj4+Pj4+ICsNCj4+Pj4+ICvCoMKgwqAgaWYgKCFydGw4MzY1 bWJfcGh5X21vZGVfc3VwcG9ydGVkKGRzLCBwb3J0LCBzdGF0ZS0+aW50ZXJmYWNlKSkgew0KPj4+ Pj4gK8KgwqDCoMKgwqDCoMKgIGRldl9lcnIoc21pLT5kZXYsICJwaHkgbW9kZSAlcyBpcyB1bnN1 cHBvcnRlZCBvbiBwb3J0ICVkXG4iLA0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5 X21vZGVzKHN0YXRlLT5pbnRlcmZhY2UpLCBwb3J0KTsNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBy ZXR1cm47DQo+Pj4+PiArwqDCoMKgIH0NCj4+Pj4+ICsNCj4+Pj4+ICvCoMKgwqAgLyogSWYgcG9y dCBNQUMgaXMgY29ubmVjdGVkIHRvIGFuIGludGVybmFsIFBIWSwgd2UgaGF2ZSBub3RoaW5nDQo+ Pj4+PiB0byBkbyAqLw0KPj4+Pj4gK8KgwqDCoCBpZiAoZHNhX2lzX3VzZXJfcG9ydChkcywgcG9y dCkpDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPj4+Pj4gKw0KPj4+Pj4gK8KgwqDC oCBpZiAobW9kZSAhPSBNTE9fQU5fUEhZICYmIG1vZGUgIT0gTUxPX0FOX0ZJWEVEKSB7DQo+Pj4+ PiArwqDCoMKgwqDCoMKgwqAgZGV2X2VycihzbWktPmRldiwNCj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICJwb3J0ICVkIHN1cHBvcnRzIG9ubHkgY29udmVudGlvbmFsIFBIWSBvciBmaXhl ZC1saW5rXG4iLA0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcG9ydCk7DQo+Pj4+PiAr wqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPj4+Pj4gK8KgwqDCoCB9DQo+Pj4+PiArDQo+Pj4+PiAr wqDCoMKgIGlmIChwaHlfaW50ZXJmYWNlX21vZGVfaXNfcmdtaWkoc3RhdGUtPmludGVyZmFjZSkp IHsNCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBydGw4MzY1bWJfZXh0X2NvbmZpZ19yZ21p aShzbWksIHBvcnQsIHN0YXRlLT5pbnRlcmZhY2UpOw0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGlm IChyZXQpDQo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZfZXJyKHNtaS0+ZGV2LA0K Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiZmFpbGVkIHRvIGNvbmZpZ3Vy ZSBSR01JSSBtb2RlIG9uIHBvcnQgJWQ6ICVkXG4iLA0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwb3J0LCByZXQpOw0KPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsN Cj4+Pj4+ICvCoMKgwqAgfQ0KPj4+Pj4gKw0KPj4+Pj4gK8KgwqDCoCAvKiBUT0RPOiBJbXBsZW1l bnQgTUlJIGFuZCBSTUlJIG1vZGVzLCB3aGljaCB0aGUgUlRMODM2NU1CLVZDIGFsc28NCj4+Pj4+ ICvCoMKgwqDCoCAqIHN1cHBvcnRzDQo+Pj4+PiArwqDCoMKgwqAgKi8NCj4+Pj4+ICt9DQo+Pj4+ PiArDQo+Pj4+PiArc3RhdGljIHZvaWQgcnRsODM2NW1iX3BoeWxpbmtfbWFjX2xpbmtfZG93bihz dHJ1Y3QgZHNhX3N3aXRjaCAqZHMsDQo+Pj4+PiBpbnQgcG9ydCwNCj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBtb2RlLA0K Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5 X2ludGVyZmFjZV90IGludGVyZmFjZSkNCj4+Pj4+ICt7DQo+Pj4+PiArwqDCoMKgIHN0cnVjdCBy ZWFsdGVrX3NtaSAqc21pID0gZHMtPnByaXY7DQo+Pj4+PiArwqDCoMKgIGludCByZXQ7DQo+Pj4+ PiArDQo+Pj4+PiArwqDCoMKgIGlmIChkc2FfaXNfY3B1X3BvcnQoZHMsIHBvcnQpKSB7DQo+Pj4+ DQo+Pj4+IEkgYXNzdW1lIHRoZSAiZHNhX2lzX2NwdV9wb3J0KCkiIGNoZWNrIGhlcmUgY2FuIGFs c28gYmUgcmVwbGFjZWQgd2l0aA0KPj4+PiAicGh5X2ludGVyZmFjZV9tb2RlX2lzX3JnbWlpKGlu dGVyZmFjZSkiPyBDYW4geW91IHBsZWFzZSBkbyB0aGF0IGZvcg0KPj4+PiBjb25zaXN0ZW5jeT8N Cj4+Pg0KPj4+IENvbnNpc3RlbmN5IHdpdGggd2hhdCBleGFjdGx5Pw0KPiANCj4gSSB3YXMgZ29p bmcgdG8gc2F5IHdpdGggcnRsODM2NW1iX3BoeWxpbmtfbWFjX2NvbmZpZygpIHdoZXJlIHlvdSBk byBoYXZlDQo+IGEgc3BlY2lmaWMgY2hlY2sgZm9yIHBoeV9pbnRlcmZhY2VfbW9kZV9pc19yZ21p aSgpLCBidXQgbm93IEkgbm90aWNlDQo+IHRoYXQgaXQgaXMgZnVydGhlciBndWFyZGVkIGJ5IGEg ImRzYV9pc191c2VyX3BvcnQoKSIgY2hlY2suIFNvLCB3aXRoIG5vdGhpbmcuDQo+IA0KPj4+IEFs bCBJJ20gc2F5aW5nIHdpdGggdGhpcyBjb2RlIGlzIHRoYXQgZm9yIENQVSBwb3J0cywgd2UgaGF2 ZSB0bw0KPj4+IGZvcmNlIHNvbWUgbW9kZSBvbiBpdCBpbiByZXNwb25zZSB0byBtYWNfbGlua191 cC4gVGhpcyBkb2Vzbid0DQo+Pj4gYXBwbHkgdG8gdXNlciBwb3J0cyBiZWNhdXNlIHRoZSBQSFkg aXMgYWx3YXlzIGludGVybmFsIHRvIHRoZSBzd2l0Y2gNCj4+PiAodGhpcyBhcHBlYXJzIHRvIGJl IHRoZSBjYXNlIGZvciBhbGwgc3dpdGNoZXMgaW4gdGhlIHJ0bDgzNjVtYi1saWtlDQo+Pj4gZmFt aWx5KS4gT3IgYXJlIHlvdSB3b25kZXJpbmcgYWJvdXQgYSBzY2VuYXJpbyB3aGVyZSB0aGUgcG9y dCBpcw0KPj4+IHRyZWF0ZWQgYXMgYSBEU0EgcG9ydD8NCj4gDQo+IFVuZGVyc3Rvb2QgdGhhdCB0 aGUgY29kZSBpcyBmdW5jdGlvbmFsbHkgY29ycmVjdCwgYnV0IHlvdSdyZSBub3QgZm9yY2luZw0K PiB0aGUgbGluayBiZWNhdXNlIGl0J3MgYSBDUFUgcG9ydCwgeW91J3JlIGZvcmNpbmcgdGhlIGxp bmsgYmVjYXVzZSBpdCdzDQo+IGFuIFJHTUlJIHBvcnQuIFNlbWFudGljYWxseSwgYSBDUFUgcG9y dCBtZWFucyBzb21ldGhpbmcgZW50aXJlbHkNCj4gZGlmZmVyZW50OiBwYXNzIERTQS10YWdnZWQg ZnJhbWVzIHRvIGEgaG9zdC4gTm90aGluZyBhdCB0aGUgcGh5c2ljYWwgbGluayBsZXZlbC4NCj4g T24geW91ciBzd2l0Y2ggaXQgaXMgYmFzaWNhbGx5IGEgY29pbmNpZGVuY2UgdGhhdCBhbGwgdXNl ciBwb3J0cyBoYXZlDQo+IGludGVybmFsIFBIWXMsIGFuZCB0aGUgQ1BVIHBvcnQgaXMgUkdNSUku IEFsbCBJJ20gc2F5aW5nIGlzIHRvIHJlbW92ZQ0KPiB0aGUgYXNzdW1wdGlvbnMgYmFzZWQgb24g cG9ydCByb2xlcyBmcm9tIHlvdXIgTUFDIGNvbmZpZ3VyYXRpb24gbG9naWMuDQoNCkkgc2VlIHlv dXIgcG9pbnQuIEhvd2V2ZXIgSSB3b3VsZCBzdGlsbCBsaWtlIHRvIGtlZXAgdGhlIA0KZHNhX2lz X3t1c2VyLGNwdX1fcG9ydCgpIGNoZWNrcyBpbiBydGw4MzY1bWJfcGh5X21vZGVfc3VwcG9ydGVk KCksIGp1c3QgDQpzbyB0aGF0IHNvbWVib2R5IGRvZXNuJ3QgdW53aXR0aW5nbHkgbWlzY29uZmln dXJlIHRoZSBjaGlwIHZpYSBkZXZpY2UgDQp0cmVlLiBCdXQgSSdsbCByZW1vdmUgdGhlIHBvcnQg dHlwZSBjaGVja3MgaW4gDQoucGh5bGlua19tYWNfe2NvbmZpZyxsaW5rX2Rvd24sbGlua191cH0u DQoNCj4gDQo+IEZvciBzb21lYm9keSBzZWFyY2hpbmcgdGhlIGdpdCB0cmVlIGZvciAucGh5bGlu a19tYWNfbGlua191cCBpbXBsZW1lbnRhdGlvbnMNCj4gYW5kIHNsZWVwd2Fsa2luZyBpbnRvIHlv dXIgY29kZSwgaXQgd2lsbCBiZSBkZWVwbHkgY29uZnVzaW5nIHRvIHNlZSBzdWNoDQo+IGxvZ2lj LCBldmVuIGlmIHRoZXJlIGlzIGEgZHJhd2luZyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlLg0KPiAN Cj4gV2h5IGRvIHlvdSBuZWVkIHRoZXNlIGNoZWNrcyBhbnl3YXkgYW5kIGNhbm5vdCBzaW1wbHkg ZGlzdGluZ3Vpc2ggYmFzZWQNCj4gb24gUEhZX0lOVEVSRkFDRV9NT0RFX0lOVEVSTkFMIHZzIFBI WV9JTlRFUkZBQ0VfTU9ERV9SR01JSSo/DQoNCg0KRXZlbiB0aGlzIG1pZ2h0IG5vdCBiZSBuZWNl c3NhcnksIGJ1dCBJJ2xsIGNoZWNrIGl0IG91dCBmb3IgdjIuDQo=