From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D15A5C4338F for ; Fri, 23 Jul 2021 17:47:44 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8F38F60C51 for ; Fri, 23 Jul 2021 17:47:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8F38F60C51 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:References: Cc:To:From:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=CJDBBiQALz9nEuweGKLg5+zx+laJXbQveiAnSp07k2I=; b=2dyJ7uJiSHPR2R4DL4GFmPaRfp R/59MB4dSl5zIHlKH8uHJY1IaflEfSV2HxMiuYN1w97yecEh5l6D+MTpj/vyonzi9u6HTIJSUz6K9 waC5PH6RtxpS8JXxJ/894nqu03w1uz2C1gGJnn1T+u4O5R5pRiEuvbHnnMWTvL80K6vojz617JaA/ jcXfUGlO6uEvv7PBFHu8aiYdNA0Rh8DEOenDvUOfB3qH5Ipds0cukdjUZ/LWRqjZ0DCsq8bkoXRQa vzuZY0IlQdEP0eHQU3DJFAc1gmaxlY82LE0igpSuSVJlbi7km6ser6BxnU+qm15YndfNPY75uNOuV Dzw5FZsg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6zGr-005VIQ-EJ; Fri, 23 Jul 2021 17:47:37 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6zGn-005VHd-HF; Fri, 23 Jul 2021 17:47:35 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B742211D4; Fri, 23 Jul 2021 10:47:28 -0700 (PDT) Received: from [10.57.36.146] (unknown [10.57.36.146]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1A6493F73D; Fri, 23 Jul 2021 10:47:26 -0700 (PDT) Subject: Re: Random reboots on ODROID-N2+ From: Robin Murphy To: Stefan Agner , Byron Stanoszek Cc: linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Neil Armstrong , Jerome Brunet , Kevin Hilman , Martin Blumenstingl , Mike Rapoport References: <40ca11f84b7cdbfb9ad2ddd480cb204a@agner.ch> <216a006d-6df0-4229-d2c1-32256853c857@arm.com> Message-ID: <0067ee4c-b9d2-1c92-2444-759ac9a56de0@arm.com> Date: Fri, 23 Jul 2021 18:47:21 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <216a006d-6df0-4229-d2c1-32256853c857@arm.com> Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210723_104733_722589_A7922FDB X-CRM114-Status: GOOD ( 32.48 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org T24gMjAyMS0wNy0yMyAxNzoxNCwgUm9iaW4gTXVycGh5IHdyb3RlOgo+IE9uIDIwMjEtMDctMjMg MTY6NTYsIFN0ZWZhbiBBZ25lciB3cm90ZToKPj4gSGkgQnlyb24sIEhpIFJvYmluLAo+Pgo+PiBW ZXJ5IGludGVyZXN0aW5nIGZpbmRpbmdzIQo+Pgo+PiBPbiAyMDIxLTA3LTIzIDE3OjM2LCBSb2Jp biBNdXJwaHkgd3JvdGU6Cj4+PiBPbiAyMDIxLTA3LTIzIDE1OjI1LCBCeXJvbiBTdGFub3N6ZWsg d3JvdGU6Cj4+Pj4gT24gVHVlLCAyMiBKdW4gMjAyMSwgU3RlZmFuIEFnbmVyIHdyb3RlOgo+Pj4+ Cj4+Pj4+IE9uIDIwMjEtMDUtMTcgMTE6MTQsIFN0ZWZhbiBBZ25lciB3cm90ZToKPj4+Pj4+IEhp LAo+Pj4+Pj4KPj4+Pj4+IFdlIGFyZSBjdXJyZW50bHkgdGVzdGluZyBhIG5ldyByZWxlYXNlIHVz aW5nIExpbnV4IDUuMTAuMzMuIEkndmUKPj4+Pj4+IHJlY2VpdmVkIHNpbmNlIHNldmVyYWwgcmVw b3J0cyBvZiByYW5kb20gcmVib290cyBldmVyeSBjb3VwbGUgb2YgCj4+Pj4+PiBkYXlzLgo+Pj4+ Pj4gVW5mb3J0dW5hdGVseSB0aGUgbG9nIChqb3VybmFsZCkgZG9lc24ndCBzaG93IGFueXRoaW5n LCBqdXN0IGEgCj4+Pj4+PiBoYXJkIGN1dAo+Pj4+Pj4gYXQgc29tZSBwb2ludC4KPj4+Pj4+Cj4+ Pj4+PiBBZnRlciBydW5uaW5nIHNlcmlhbCBjb25zb2xlIG9uIHNldmVyYWwgaW5zdGFuY2VzLCBJ IHdhcyBhYmxlIHRvIAo+Pj4+Pj4gY2F0Y2gKPj4+Pj4+IHRoaXMgc3RhY2sgdHJhY2U6Cj4+Pj4+ Pgo+Pj4+Pj4gWzIwMjk4My45ODgxNTNdIFNFcnJvciBJbnRlcnJ1cHQgb24gQ1BVMywgY29kZSAw eGJmMDAwMDAwIC0tIFNFcnJvcgo+Pj4+Pj4gWzIwMjk4My45ODgxNTVdIENQVTogMyBQSUQ6IDM0 NjMgQ29tbTogbWRucy1yZXBlYXRlciBOb3QgdGFpbnRlZCAKPj4+Pj4+IDUuMTAuMzMKPj4+Pj4+ ICMxCj4+Pj4+PiBbMjAyOTgzLjk4ODE1Nl0gSGFyZHdhcmUgbmFtZTogSGFyZGtlcm5lbCBPRFJP SUQtTjJQbHVzIChEVCkKPj4+Pj4+IFsyMDI5ODMuOTg4MTU3XSBwc3RhdGU6IDgwMDAwMDA1IChO emN2IGRhaWYgLVBBTiAtVUFPIC1UQ08gQlRZUEU9LS0pCj4+Pj4+PiBbMjAyOTgzLjk4ODE1OF0g cGMgOiB1ZHBfc2VuZF9za2IuaXNyYS4wKzB4MTc4LzB4MzkwCj4+Pj4+PiBbMjAyOTgzLjk4ODE1 OV0gbHIgOiB1ZHBfc2VuZF9za2IuaXNyYS4wKzB4MTMwLzB4MzkwCj4+Pj4+Cj4+Pj4+IDxzbmlw Pgo+Pj4+Pgo+Pj4+PiBXZSBkbyBzZWUgdGhvc2UgY3Jhc2hlcyBpbiBzaW1pbGFyIGZyZXF1ZW5j eSB3aXRoIExpbnV4IDUuMTI6Cj4+Pj4+Cj4+Pj4+IFsxMjk5ODguNjQyMzQyXSBTRXJyb3IgSW50 ZXJydXB0IG9uIENQVTQsIGNvZGUgMHhiZjAwMDAwMCAtLSBTRXJyb3IKPj4+Pj4KPj4+Pj4gSXQg c2VlbXMgbG9hZCBhbmQvb3IgaGFyZHdhcmUgZGVwZW5kZW50IHNpbmNlIHdlIHNlZSBpdCBvbiBz b21lIAo+Pj4+PiBkZXZpY2VzCj4+Pj4+IHF1aXRlIGZyZXF1ZW50IChldmVyeSBmZXcgZGF5cyks IGFuZCBvbiBvdGhlcnMgaXQgdGFrZXMgbXVsdGlwbGUgCj4+Pj4+IHdlZWtzLgo+Pj4+PiBPZiBj b3Vyc2UgdGhlIG9uY2Ugd2Ugc2VlIGl0IGZyZXF1ZW50bHkgYXJlIHRoZSBvbmVzIGluIHByb2R1 Y3Rpb24gOikuCj4+Pj4+Cj4+Pj4+IEkgYW0gY3VycmVudGx5IHRyeWluZyBkaWZmZXJlbnQgc3Ry ZXNzLW5nIGFuZCBvdGhlciBsb2FkIHRvIGFjY2VsZXJhdGUKPj4+Pj4gdGhlIGNyYXNoIHJhdGUg YmVmb3JlIHRoZW4gdHJ5aW5nIHRvIGdpdCBiaXNlY3QgaXQuCj4+Pj4KPj4+PiBJIGhhdmUgYW4g T2Ryb2lkLU4yKyBhbmQgd2FzIGFibGUgdG8gdHJhY2sgdGhpcyBwcm9ibGVtIGRvd24uIFRoZSAK Pj4+PiBwcm9ibGVtIGlzCj4+Pj4gcmVsYXRlZCB0byB0aGUgZm9sbG93aW5nIGRtZXNnIGxpbmUg dGhhdCByZWFkcyAiZmFpbGVkIHRvIHJlc2VydmUgCj4+Pj4gbWVtb3J5Igo+Pj4+IGJlbG93Ogo+ Pj4+Cj4+Pj4gTWFjaGluZSBtb2RlbDogSGFyZGtlcm5lbCBPRFJPSUQtTjJQbHVzCj4+Pj4gbWVt YmxvY2tfcmVtb3ZlOiBbMHgwMDAxMDAwMDAwMDAwMDAwLTB4MDAwMGZmZmZmZmZmZmZmZV0gCj4+ Pj4gMHhmZmZmZmZjMDEwN2UzNjA0Cj4+Pj4gbWVtYmxvY2tfcmVtb3ZlOiBbMHgwMDAwMDA0MDAw MDAwMDAwLTB4MDAwMDAwM2ZmZmZmZmZmZV0gCj4+Pj4gMHhmZmZmZmZjMDEwN2UzNjY0Cj4+Pj4g bWVtYmxvY2tfcmVzZXJ2ZTogWzB4MDAwMDAwMDAwODIxMDAwMC0weDAwMDAwMDAwMDhiYWZmZmZd IAo+Pj4+IDB4ZmZmZmZmYzAxMDdlMzZkYwo+Pj4+IG1lbWJsb2NrX3Jlc2VydmU6IFsweDAwMDAw MDAwMDUwMDAwMDAtMHgwMDAwMDAwMDA1MmZmZmZmXSAKPj4+PiAweGZmZmZmZmMwMTA3ZmViNTAK Pj4+PiBPRjogZmR0OiBSZXNlcnZlZCBtZW1vcnk6IGZhaWxlZCB0byByZXNlcnZlIG1lbW9yeSBm b3Igbm9kZSAKPj4+PiAnc2VjbW9uQDUwMDAwMDAnOiBiYXNlIDB4MDAwMDAwMDAwNTAwMDAwMCwg c2l6ZSAzIE1pQgo+Pgo+PiBJbiBteSA1LjkgYnVpbGRzIHRoYXQgbGluZSBpc24ndCBwcmVzZW50 LCBhbmQgaXQgc2VlbXMgYWxsIGxvZ3MgSSBzdG9yZWQKPj4gZnJvbSA1LjEwIGJ1aWxkcyBoYXZl IHRoZSBjaGFuZ2UgYWxyZWFkeSBhbmQgc2hvdyB0aGlzIGxpbmUuCj4+Cj4+Pj4gbWVtYmxvY2tf cmVzZXJ2ZTogWzB4MDAwMDAwMDBlNGMwMDAwMC0weDAwMDAwMDAwZjRiZmZmZmZdIAo+Pj4+IDB4 ZmZmZmZmYzAxMDdmZjg3Ywo+Pj4+IE9GOiByZXNlcnZlZCBtZW06IG5vZGUgbGludXgsY21hIGNv bXBhdGlibGUgbWF0Y2hpbmcgZmFpbAo+Pj4+IG1lbWJsb2NrX2ZyZWU6IFsweDAwMDAwMDAwZTRj MDAwMDAtMHgwMDAwMDAwMGY0YmZmZmZmXSAKPj4+PiAweGZmZmZmZmMwMTA3ZmZjYTgKPj4+PiAu Li4KPj4+Pgo+Pj4+IEEgc3Vic2VxdWVudCAiY2F0IC9wcm9jL2lvbWVtIiBzaG93cyB0aGF0IHRo aXMgbWVtb3J5IHJlZ2lvbiBpcyAKPj4+PiBzdGlsbCByZXNlcnZlZAo+Pj4+IGFuZCB0aGUgc3lz dGVtIGFwcGVhcnMgdG8gb3BlcmF0ZSBub3JtYWxseSwgdW50aWwgZXZlbnR1YWxseSB0aGUgU0Vy cm9yCj4+Pj4gSW50ZXJydXB0IGNvbWVzIGluIHVuZGVyIGhlYXZ5IG1lbW9yeS9wYWdlLWNhY2hl IHVzYWdlLiBUaGUgCj4+Pj4gZGlmZmVyZW5jZSB3aXRoCj4+Pj4gbGF0ZXIga2VybmVscyBpcyB0 aGF0IG5vdyB0aGUgbWVtb3J5IGF0IDB4NTAwMDAwMC0weDUyZmZmZmYgaXMgCj4+Pj4gcmVnaXN0 ZXJlZCB1bmRlcgo+Pj4+IHRoZSAiU3lzdGVtIFJBTSIgbWVtb3J5IGFyZWEsIHdoZXJlYXMgcHJl dmlvdXMga2VybmVscyBoYWQgZHJvcHBlZCAKPj4+PiBpdCBmcm9tCj4+Pj4gIlN5c3RlbSBSQU0i Lgo+Pj4+Cj4+Pj4gVGhlIGN1bHByaXQgaXMgdGhpcyBuZXcgY29kZSBpbnRyb2R1Y2VkIGluIExp bnV4IDUuMTIsIGluIHRoaXMgCj4+Pj4gZnVuY3Rpb24gaW4KPj4+PiBkcml2ZXJzL29mL2ZkdC5j LCBjYWxsZWQgYnkgZnVuY3Rpb24gX19yZXNlcnZlZF9tZW1fcmVzZXJ2ZV9yZWcoKToKPj4KPj4g SXQgc2VlbXMgdGhhdCBwYXRjaCBnb3QgYWxzbyBiYWNrcG9ydGVkLCBzbyB0aGF0IGlzIHdoeSBJ IHNlZSBpdCB3aXRoCj4+IDUuMTAgYXMgd2VsbC4KPj4KPj4+Pgo+Pj4+IGludCBfX2luaXQgX193 ZWFrIGVhcmx5X2luaXRfZHRfcmVzZXJ2ZV9tZW1vcnlfYXJjaChwaHlzX2FkZHJfdCBiYXNlLAo+ Pj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHlzX2FkZHJfdCBzaXplLCBib29sIG5vbWFw KQo+Pj4+IHsKPj4+PiDCoCDCoMKgwqDCoMKgwqDCoCBpZiAobm9tYXApIHsKPj4+PiDCoCDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoKPj4+PiDCoCDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqIElmIHRoZSBtZW1vcnkgaXMgYWxyZWFkeSByZXNlcnZlZCAoYnkgYW5v dGhlciAKPj4+PiByZWdpb24pLCB3ZQo+Pj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICogc2hvdWxkIG5vdCBhbGxvdyBpdCB0byBiZSBtYXJrZWQgbm9tYXAuCj4+Pj4gwqAg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPj4+PiDCoCDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaWYgKG1lbWJsb2NrX2lzX3JlZ2lvbl9yZXNlcnZlZChiYXNlLCBz aXplKSnCoCA8LS0tLS0tCj4+Pj4gwqAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXR1cm4gLUVCVVNZO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgPC0tLS0tLQo+Pj4+Cj4+Pj4gwqAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiBtZW1ibG9ja19tYXJrX25vbWFwKGJhc2UsIHNpemUpOwo+Pj4+ IMKgIMKgwqDCoMKgwqDCoMKgIH0KPj4+PiDCoCDCoMKgwqDCoMKgwqDCoCByZXR1cm4gbWVtYmxv Y2tfcmVzZXJ2ZShiYXNlLCBzaXplKTsKPj4+PiB9Cj4+Pj4KPj4+PiAibm9tYXAiIGlzIHRydWUs IGR1ZSB0byB0aGlzIHRleHQgYmVpbmcgcHJlc2VudCBpbiB0aGUgRkRUOgo+Pj4+Cj4+Pj4gwqAg wqDCoCByZXNlcnZlZC1tZW1vcnkgewo+Pj4+IMKgIMKgwqDCoMKgIHJhbmdlcyBzZWNtb25fcmVz ZXJ2ZWQ6IHNlY21vbkA1MDAwMDAwIHsKPj4+PiDCoCDCoMKgwqDCoMKgwqAgcmVnID0gPDB4MCAw eDA1MDAwMDAwIDB4MCAweDMwMDAwMD4KPj4+PiDCoCDCoMKgwqDCoMKgwqAgbm8tbWFwCj4+Pj4g wqAgwqDCoMKgwqAgfQo+Pj4+IMKgIMKgwqDCoMKgIC4uLgo+Pj4+Cj4+Pj4gQnV0IG1lbWJsb2Nr X2lzX3JlZ2lvbl9yZXNlcnZlZCgpIGlzIHJldHVybmluZyB0cnVlIGJlY2F1c2UgdGhlcmUgaXMg Cj4+Pj4gYWxyZWFkeSBhbgo+Pj4+IGVudHJ5IGZvciAweDUwMDAwMDAtMHg1MmZmZmZmIGluIHRo ZSBtZW1vcnkgbWFwLCB3aGljaCBpcyBhbHJlYWR5IAo+Pj4+IG1hcmtlZAo+Pj4+IHJlc2VydmVk LCBhdCB0aGUgdGltZSB0aGUgX19yZXNlcnZlZF9tZW1fcmVzZXJ2ZV9yZWcoKSBmdW5jdGlvbiBp cyAKPj4+PiBjYWxsZWQuCj4+Pj4gKFBlcmhhcHMgdGhpcyBpcyBiZWluZyBzZXQgcmVzZXJ2ZWQg YnkgdS1ib290PyAtLSBJIGRpZCBub3QgcmVzZWFyY2ggCj4+Pj4gdGhhdCBmYXIuKQo+Pj4+Cj4+ Pj4gVGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIGFzOgo+Pj4+Cj4+Pj4gYm9vbCBfX2luaXRfbWVt YmxvY2sgbWVtYmxvY2tfaXNfcmVnaW9uX3Jlc2VydmVkKHBoeXNfYWRkcl90IGJhc2UsIAo+Pj4+ IHBoeXNfYWRkcl90IHNpemUpCj4+Pj4gewo+Pj4+IMKgIMKgwqDCoMKgwqDCoMKgIHJldHVybiBt ZW1ibG9ja19vdmVybGFwc19yZWdpb24oJm1lbWJsb2NrLnJlc2VydmVkLCBiYXNlLCAKPj4+PiBz aXplKTsKPj4+PiB9Cj4+Pj4KPj4+PiBTaW5jZSB0aGUgcmVnaW9uIHRvIG1hcmsgbm8tbWFwLCAi MHg1MDAwMDAwLTB4NTJmZmZmZiIsIG92ZXJsYXBzIHRoZSAKPj4+PiBleGlzdGluZwo+Pj4+IHJl c2VydmVkIHJlZ2lvbiAiMHg1MDAwMDAwLTB4NTJmZmZmZiIsIHRoZSBmdW5jdGlvbiByZXR1cm5z IHRydWUuCj4+Pj4KPj4+PiBJZiBJIGNvbW1lbnQgb3V0IHRoZSAiaWYgKG1lbWJsb2NrX2lzX3Jl Z2lvbl9yZXNlcnZlZChiYXNlLCBzaXplKSkiIAo+Pj4+IGNvZGUgYW5kCj4+Pj4gYWxsb3cgaXQg dG8gbWFyayB0aGUgcmVnaW9uIG5vLW1hcCwgdGhlbiB0aGUgbWVtb3J5IGFyZWEgaXMgcHJvcGVy bHkgCj4+Pj4gcmVtb3ZlZAo+Pj4+IGZyb20gdGhlICJTeXN0ZW0gUkFNIiBhcmVhIGFuZCB0aGUg Y3Jhc2hpbmcgc3RvcHMuCj4+Pj4KPj4+PiBJJ3ZlIGhhZCB0aGUgc3lzdGVtIHVwIGFuZCBydW5u aW5nIGZvciAxNSBkYXlzIG5vdyB1bmRlciBoZWF2eSBsb2FkIAo+Pj4+IHdpdGhvdXQgYW55Cj4+ Pj4gY3Jhc2hlcywgdXNpbmcganVzdCB0aGUgZm9sbG93aW5nIHBhdGNoIGFzIHdvcmthcm91bmQ6 Cj4+Pj4KPj4+Pgo+Pj4+IC0tLSBsaW51eC01LjEzLjAvZHJpdmVycy9vZi9mZHQuYy5iYWvCoMKg wqAgMjAyMS0wNy0wNyAKPj4+PiAwMDoyMjo1OC4wMDAwMDAwMDAgLTA0MDAKPj4+PiArKysgbGlu dXgtNS4xMy4wL2RyaXZlcnMvb2YvZmR0LmPCoMKgwqAgMjAyMS0wNy0wNyAwMDoyMzowOC4wMDAw MDAwMDAgCj4+Pj4gLTA0MDAKPj4+PiBAQCAtMTE1NywxMyArMTE1Nyw2IEBACj4+Pj4gwqAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwaHlzX2FkZHJfdCBzaXplLCBi b29sIG5vbWFwKQo+Pj4+IMKgIMKgewo+Pj4+IMKgIMKgwqDCoMKgIGlmIChub21hcCkgewo+Pj4+ IC3CoMKgwqDCoMKgwqDCoCAvKgo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgICogSWYgdGhlIG1lbW9y eSBpcyBhbHJlYWR5IHJlc2VydmVkIChieSBhbm90aGVyIHJlZ2lvbiksIHdlCj4+Pj4gLcKgwqDC oMKgwqDCoMKgwqAgKiBzaG91bGQgbm90IGFsbG93IGl0IHRvIGJlIG1hcmtlZCBub21hcC4KPj4+ PiAtwqDCoMKgwqDCoMKgwqDCoCAqLwo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBpZiAobWVtYmxvY2tf aXNfcmVnaW9uX3Jlc2VydmVkKGJhc2UsIHNpemUpKQo+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldHVybiAtRUJVU1k7Cj4+Pj4gLQo+Pj4+IMKgIMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJu IG1lbWJsb2NrX21hcmtfbm9tYXAoYmFzZSwgc2l6ZSk7Cj4+Pj4gwqAgwqDCoMKgwqAgfQo+Pj4+ IMKgIMKgwqDCoMKgIHJldHVybiBtZW1ibG9ja19yZXNlcnZlKGJhc2UsIHNpemUpOwo+Pj4+Cj4+ Pj4KPj4+PiBUaGUgYWJvdmUgcGF0Y2ggYXBwbGllcyB0byBsYXRlciB2ZXJzaW9ucyBvZiBMaW51 eCA1LjEwLnggdGhyb3VnaCAKPj4+PiA1LjEyLnggYXMKPj4+PiB3ZWxsLgo+Pgo+PiBFdmVudGhv dWdoIHByb2JhYmx5IG5vdCB0aGUgY29ycmVjdCBzb2x1dGlvbiwgSSdsbCBnaXZlIHRoaXMgYSB0 cnkgb24gbXkKPj4gZW5kIGp1c3QgdG8gdmVyaWZ5IHdlIGFyZSBpbmRlZWQgZXhwZXJpZW5jZSB0 aGUgc2FtZSBwcm9ibGVtIGFuZCB0aGUKPj4gY2hhbmdlIGZpeGVzIGl0IGZvciBtZSB0b28uCj4+ Cj4+Pj4KPj4+PiBQZXJoYXBzIGEgbW9yZSBwcm9wZXIgZml4IGlzIHRvIGFsbG93IHRoZSBuby1t YXAgdG8gc3RpbGwgcHJvY2VlZCwgCj4+Pj4gaW4gdGhlIGNhc2UKPj4+PiB0aGF0IHRoZSBleGlz dGluZyByZXNlcnZlZCByZWdpb24gaXMgaWRlbnRpY2FsIChzYW1lIHN0YXJ0L2VuZCkgdG8gCj4+ Pj4gdGhlIHJlZ2lvbgo+Pj4+IGdldHRpbmcgbWFya2VkIG5vLW1hcC4KPj4+Cj4+PiBJZiBVLUJv b3QgaXMgbWFya2luZyByZWdpb25zIHdpdGggdGhlIHdyb25nIHR5cGUvYXR0cmlidXRlcyBpbiB0 aGUgRUZJCj4+PiBtZW1vcnkgbWFwLCB0aGVuIHRoZSBiZXN0IHRoaW5nIHRvIGRvIHdvdWxkIGJl IHRvIGZpeCB0aGF0LiBJIHNlZSBhCj4+PiBmYWlybHkgcmVjZW50IGNvbW1pdCB3aGljaCBsb29r cyBzdXNwaWNpb3VzbHkgcmVsZXZhbnQ6Cj4+Pgo+Pj4gaHR0cHM6Ly9zb3VyY2UuZGVueC5kZS91 LWJvb3QvdS1ib290Ly0vY29tbWl0LzlmZjlmNGI0MjY4OTQ2ZjNiNzNkOTc1OTc2NmNjZmNjNTk5 ZGEwMDQgCj4+Pgo+Pgo+PiBJdCBzZWVtcyB0aGF0IHRoaXMgcGF0Y2ggd2VudCBpbnRvIFUtQm9v dCAyMDIxLjA0IHdoaWNoIEkgYW0gdXNpbmcsIHNvCj4+IHRoYXQgKGFsb25lKSBzZWVtcyBub3Qg dG8gZml4IHRoZSBtYXBwaW5nLgo+Pgo+Pj4KPj4+IEJvb3Rpbmcgd2l0aCAiZWZpPWRlYnVnIiBz aG91bGQgKGFtb25nIG90aGVyIHRoaW5ncykgcHJpbnQgdGhlIG1lbW9yeQo+Pj4gbWFwIGF0IGJv b3QgaWYgeW91IHdhbnQgdG8gZG91YmxlLWNoZWNrIHRoYXQgdGhhdCBpcyB0aGUgc291cmNlIG9m IHRoZQo+Pj4gbWlzbWF0Y2guIE91ciBFRkkgY29kZSBzaG91bGQgYmUgcGVyZmVjdGx5IGNhcGFi bGUgb2Ygc2V0dGluZyB0aGUKPj4+IG1lbWJsb2NrIGZsYWcgaWYgdGhlIHJlZ2lvbiAqaXMqIGRl c2NyaWJlZCBhcHByb3ByaWF0ZWx5LCBzZWUKPj4+IHJlc2VydmVfcmVnaW9ucygpIGluIGRyaXZl cnMvZmlybXdhcmUvZWZpL2VmaS1pbml0LmMuCj4+Cj4+IEJvb3RpbmcgNS4xMi4xMCB3aXRoICJl Zmk9ZGVidWciIG9uIFUtQm9vdCAyMDIxLjA0IGdhdmUgdGhpczoKPj4gW8KgwqDCoCAwLjAwMDAw MF0gTWFjaGluZSBtb2RlbDogSGFyZGtlcm5lbCBPRFJPSUQtTjJQbHVzCj4+IFvCoMKgwqAgMC4w MDAwMDBdIGVmaTogR2V0dGluZyBVRUZJIHBhcmFtZXRlcnMgZnJvbSAvY2hvc2VuIGluIERUOgo+ PiBbwqDCoMKgIDAuMDAwMDAwXSBlZmk6IFVFRkkgbm90IGZvdW5kLgo+PiBbwqDCoMKgIDAuMDAw MDAwXSBPRjogZmR0OiBSZXNlcnZlZCBtZW1vcnk6IGZhaWxlZCB0byByZXNlcnZlIG1lbW9yeSBm b3IKPj4gbm9kZSAnc2VjbW9uQDUwMDAwMDAnOiBiYXNlIDB4MDAwMDAwMDAwNTAwMDAwMCwgc2l6 ZSAzIE1pQgo+Pgo+PiBTbyBpdCBzZWVtcyBVRUZJIGlzIG5vdCBpbiB0aGUgcGxheSBoZXJlPwo+ IAo+IEFoLCBPSywgaW4gdGhhdCBjYXNlIEkgZ3Vlc3MgdGhlIHF1ZXN0aW9uIHJlbWFpbnMgd2h5 IGRvZXMgCj4gZWFybHlfaW5pdF9kdF9yZXNlcnZlX21lbW9yeV9hcmNoKCkgdGhpbmsgdGhlIHJl Z2lvbiBpcyBhbHJlYWR5IAo+IHJlc2VydmVkPyBNeSBpbnN0aW5jdGl2ZSBhc3N1bXB0aW9uIHdh cyBhbiBFRkkgbWVtb3J5IG1hcCBiZWluZyBwcmVzZW50OyAKPiBzZWVpbmcgdGhhdCBVLUJvb3Qg ZG9lcyBpbmRlZWQgcmVmbGVjdCBEVCByZXNlcnZhdGlvbnMgdGhlcmUgKmFuZCogaGFzIAo+IGhh ZCBhIGxpa2VseS1sb29raW5nIGJ1ZyByZWNlbnRseSB3YXMgdGhlbiBqdXN0IG92ZXJ3aGVsbWlu Z2x5IAo+IHN1Z2dlc3RpdmUgOikKCkFjdHVhbGx5LCBwb2tpbmcgYXQgVS1Cb290IGEgYml0IG1v cmUgSSBmaW5kIAptZXNvbl9ib2FyZF9hZGRfcmVzZXJ2ZWRfbWVtb3J5KCkgLSBjYW4geW91IGNo ZWNrIC9zeXMvZmlybXdhcmUvZmR0IGFuZCAKc2VlIGlmIHRoZSByZWdpb24gZW5kcyB1cCBiZWlu ZyBwYXNzZWQgYXMgYSAvbWVtcmVzZXJ2ZS8gYXMgd2VsbCBhcyBhIApwcm9wZXIgcmVzZXJ2ZWQt bWVtb3J5IG5vZGU/CgpJSVJDIHRoZSBzZW1hbnRpY3Mgb2YgL21lbXJlc2VydmUvIGFyZW4ndCBy ZWFsbHkgd2VsbC1kZWZpbmVkIGVub3VnaCB0byAKYmUgc3VpdGFibGUgZm9yIHRoZSBraW5kIG9m IHRoaW5ncyB3aGljaCByZXF1aXJlIG5vLW1hcCwgYW5kIG15IG5ldyAKZ3Vlc3MgaXMgdGhhdCB0 aGF0J3Mgd2hhdCBlbmRzIHVwIGNvbmZsaWN0aW5nIGhlcmUuCgpSb2Jpbi4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFtbG9naWMgbWFpbGlu ZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK