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 E2CFDC4338F for ; Fri, 23 Jul 2021 16:14:27 +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 A224C60ED7 for ; Fri, 23 Jul 2021 16:14:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org A224C60ED7 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:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=nqcKRb/U9HJATGnfbmio+DjHOE5n0Te1NeKpMPIJlbs=; b=nCW7E3mzPH6aLroAlikNz2o5V4 Lfn/GWOePg59imH6Oq5TRmKNn7MYHVY5amkKRk9pYNv9YKQ+zP3w3wrIBxbDYqWRiXtqm2bgJ2B4e 4dO2r1f+FRRwNnR1f5iUaYyRqGiGWE0WL4b8NPvL2vgxOwn4p+Sd0W6Mjtwrts7Iu2HTdsHbgpM8g u9xSNF47pAYyY7Qj7DsjhuWed6sOGl4Z51R/4zNcbfUwpYq5ChMJZXnkS3pwb7fBx02lENISU2VJk PxRy1ZwnUmx1t7Dd8gvnDEPdFd2SGxiPKkwLVtolU4LaPUYOG7V9ewiuMZCPyzrPJXA06EjFeh3RF jvb0By6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6xob-005KFu-Ne; Fri, 23 Jul 2021 16:14:21 +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 1m6xoX-005KFU-Nv; Fri, 23 Jul 2021 16:14:19 +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 20B4411D4; Fri, 23 Jul 2021 09:14:14 -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 B31D03F73D; Fri, 23 Jul 2021 09:14:12 -0700 (PDT) Subject: Re: Random reboots on ODROID-N2+ 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> From: Robin Murphy Message-ID: <216a006d-6df0-4229-d2c1-32256853c857@arm.com> Date: Fri, 23 Jul 2021 17:14:07 +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: Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210723_091417_924184_09A3148E X-CRM114-Status: GOOD ( 35.68 ) 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 T24gMjAyMS0wNy0yMyAxNjo1NiwgU3RlZmFuIEFnbmVyIHdyb3RlOgo+IEhpIEJ5cm9uLCBIaSBS b2JpbiwKPiAKPiBWZXJ5IGludGVyZXN0aW5nIGZpbmRpbmdzIQo+IAo+IE9uIDIwMjEtMDctMjMg MTc6MzYsIFJvYmluIE11cnBoeSB3cm90ZToKPj4gT24gMjAyMS0wNy0yMyAxNToyNSwgQnlyb24g U3Rhbm9zemVrIHdyb3RlOgo+Pj4gT24gVHVlLCAyMiBKdW4gMjAyMSwgU3RlZmFuIEFnbmVyIHdy b3RlOgo+Pj4KPj4+PiBPbiAyMDIxLTA1LTE3IDExOjE0LCBTdGVmYW4gQWduZXIgd3JvdGU6Cj4+ Pj4+IEhpLAo+Pj4+Pgo+Pj4+PiBXZSBhcmUgY3VycmVudGx5IHRlc3RpbmcgYSBuZXcgcmVsZWFz ZSB1c2luZyBMaW51eCA1LjEwLjMzLiBJJ3ZlCj4+Pj4+IHJlY2VpdmVkIHNpbmNlIHNldmVyYWwg cmVwb3J0cyBvZiByYW5kb20gcmVib290cyBldmVyeSBjb3VwbGUgb2YgZGF5cy4KPj4+Pj4gVW5m b3J0dW5hdGVseSB0aGUgbG9nIChqb3VybmFsZCkgZG9lc24ndCBzaG93IGFueXRoaW5nLCBqdXN0 IGEgaGFyZCBjdXQKPj4+Pj4gYXQgc29tZSBwb2ludC4KPj4+Pj4KPj4+Pj4gQWZ0ZXIgcnVubmlu ZyBzZXJpYWwgY29uc29sZSBvbiBzZXZlcmFsIGluc3RhbmNlcywgSSB3YXMgYWJsZSB0byBjYXRj aAo+Pj4+PiB0aGlzIHN0YWNrIHRyYWNlOgo+Pj4+Pgo+Pj4+PiBbMjAyOTgzLjk4ODE1M10gU0Vy cm9yIEludGVycnVwdCBvbiBDUFUzLCBjb2RlIDB4YmYwMDAwMDAgLS0gU0Vycm9yCj4+Pj4+IFsy MDI5ODMuOTg4MTU1XSBDUFU6IDMgUElEOiAzNDYzIENvbW06IG1kbnMtcmVwZWF0ZXIgTm90IHRh aW50ZWQgNS4xMC4zMwo+Pj4+PiAjMQo+Pj4+PiBbMjAyOTgzLjk4ODE1Nl0gSGFyZHdhcmUgbmFt ZTogSGFyZGtlcm5lbCBPRFJPSUQtTjJQbHVzIChEVCkKPj4+Pj4gWzIwMjk4My45ODgxNTddIHBz dGF0ZTogODAwMDAwMDUgKE56Y3YgZGFpZiAtUEFOIC1VQU8gLVRDTyBCVFlQRT0tLSkKPj4+Pj4g WzIwMjk4My45ODgxNThdIHBjIDogdWRwX3NlbmRfc2tiLmlzcmEuMCsweDE3OC8weDM5MAo+Pj4+ PiBbMjAyOTgzLjk4ODE1OV0gbHIgOiB1ZHBfc2VuZF9za2IuaXNyYS4wKzB4MTMwLzB4MzkwCj4+ Pj4KPj4+PiA8c25pcD4KPj4+Pgo+Pj4+IFdlIGRvIHNlZSB0aG9zZSBjcmFzaGVzIGluIHNpbWls YXIgZnJlcXVlbmN5IHdpdGggTGludXggNS4xMjoKPj4+Pgo+Pj4+IFsxMjk5ODguNjQyMzQyXSBT RXJyb3IgSW50ZXJydXB0IG9uIENQVTQsIGNvZGUgMHhiZjAwMDAwMCAtLSBTRXJyb3IKPj4+Pgo+ Pj4+IEl0IHNlZW1zIGxvYWQgYW5kL29yIGhhcmR3YXJlIGRlcGVuZGVudCBzaW5jZSB3ZSBzZWUg aXQgb24gc29tZSBkZXZpY2VzCj4+Pj4gcXVpdGUgZnJlcXVlbnQgKGV2ZXJ5IGZldyBkYXlzKSwg YW5kIG9uIG90aGVycyBpdCB0YWtlcyBtdWx0aXBsZSB3ZWVrcy4KPj4+PiBPZiBjb3Vyc2UgdGhl IG9uY2Ugd2Ugc2VlIGl0IGZyZXF1ZW50bHkgYXJlIHRoZSBvbmVzIGluIHByb2R1Y3Rpb24gOiku Cj4+Pj4KPj4+PiBJIGFtIGN1cnJlbnRseSB0cnlpbmcgZGlmZmVyZW50IHN0cmVzcy1uZyBhbmQg b3RoZXIgbG9hZCB0byBhY2NlbGVyYXRlCj4+Pj4gdGhlIGNyYXNoIHJhdGUgYmVmb3JlIHRoZW4g dHJ5aW5nIHRvIGdpdCBiaXNlY3QgaXQuCj4+Pgo+Pj4gSSBoYXZlIGFuIE9kcm9pZC1OMisgYW5k IHdhcyBhYmxlIHRvIHRyYWNrIHRoaXMgcHJvYmxlbSBkb3duLiBUaGUgcHJvYmxlbSBpcwo+Pj4g cmVsYXRlZCB0byB0aGUgZm9sbG93aW5nIGRtZXNnIGxpbmUgdGhhdCByZWFkcyAiZmFpbGVkIHRv IHJlc2VydmUgbWVtb3J5Igo+Pj4gYmVsb3c6Cj4+Pgo+Pj4gTWFjaGluZSBtb2RlbDogSGFyZGtl cm5lbCBPRFJPSUQtTjJQbHVzCj4+PiBtZW1ibG9ja19yZW1vdmU6IFsweDAwMDEwMDAwMDAwMDAw MDAtMHgwMDAwZmZmZmZmZmZmZmZlXSAweGZmZmZmZmMwMTA3ZTM2MDQKPj4+IG1lbWJsb2NrX3Jl bW92ZTogWzB4MDAwMDAwNDAwMDAwMDAwMC0weDAwMDAwMDNmZmZmZmZmZmVdIDB4ZmZmZmZmYzAx MDdlMzY2NAo+Pj4gbWVtYmxvY2tfcmVzZXJ2ZTogWzB4MDAwMDAwMDAwODIxMDAwMC0weDAwMDAw MDAwMDhiYWZmZmZdIDB4ZmZmZmZmYzAxMDdlMzZkYwo+Pj4gbWVtYmxvY2tfcmVzZXJ2ZTogWzB4 MDAwMDAwMDAwNTAwMDAwMC0weDAwMDAwMDAwMDUyZmZmZmZdIDB4ZmZmZmZmYzAxMDdmZWI1MAo+ Pj4gT0Y6IGZkdDogUmVzZXJ2ZWQgbWVtb3J5OiBmYWlsZWQgdG8gcmVzZXJ2ZSBtZW1vcnkgZm9y IG5vZGUgJ3NlY21vbkA1MDAwMDAwJzogYmFzZSAweDAwMDAwMDAwMDUwMDAwMDAsIHNpemUgMyBN aUIKPiAKPiBJbiBteSA1LjkgYnVpbGRzIHRoYXQgbGluZSBpc24ndCBwcmVzZW50LCBhbmQgaXQg c2VlbXMgYWxsIGxvZ3MgSSBzdG9yZWQKPiBmcm9tIDUuMTAgYnVpbGRzIGhhdmUgdGhlIGNoYW5n ZSBhbHJlYWR5IGFuZCBzaG93IHRoaXMgbGluZS4KPiAKPj4+IG1lbWJsb2NrX3Jlc2VydmU6IFsw eDAwMDAwMDAwZTRjMDAwMDAtMHgwMDAwMDAwMGY0YmZmZmZmXSAweGZmZmZmZmMwMTA3ZmY4N2MK Pj4+IE9GOiByZXNlcnZlZCBtZW06IG5vZGUgbGludXgsY21hIGNvbXBhdGlibGUgbWF0Y2hpbmcg ZmFpbAo+Pj4gbWVtYmxvY2tfZnJlZTogWzB4MDAwMDAwMDBlNGMwMDAwMC0weDAwMDAwMDAwZjRi ZmZmZmZdIDB4ZmZmZmZmYzAxMDdmZmNhOAo+Pj4gLi4uCj4+Pgo+Pj4gQSBzdWJzZXF1ZW50ICJj YXQgL3Byb2MvaW9tZW0iIHNob3dzIHRoYXQgdGhpcyBtZW1vcnkgcmVnaW9uIGlzIHN0aWxsIHJl c2VydmVkCj4+PiBhbmQgdGhlIHN5c3RlbSBhcHBlYXJzIHRvIG9wZXJhdGUgbm9ybWFsbHksIHVu dGlsIGV2ZW50dWFsbHkgdGhlIFNFcnJvcgo+Pj4gSW50ZXJydXB0IGNvbWVzIGluIHVuZGVyIGhl YXZ5IG1lbW9yeS9wYWdlLWNhY2hlIHVzYWdlLiBUaGUgZGlmZmVyZW5jZSB3aXRoCj4+PiBsYXRl ciBrZXJuZWxzIGlzIHRoYXQgbm93IHRoZSBtZW1vcnkgYXQgMHg1MDAwMDAwLTB4NTJmZmZmZiBp cyByZWdpc3RlcmVkIHVuZGVyCj4+PiB0aGUgIlN5c3RlbSBSQU0iIG1lbW9yeSBhcmVhLCB3aGVy ZWFzIHByZXZpb3VzIGtlcm5lbHMgaGFkIGRyb3BwZWQgaXQgZnJvbQo+Pj4gIlN5c3RlbSBSQU0i Lgo+Pj4KPj4+IFRoZSBjdWxwcml0IGlzIHRoaXMgbmV3IGNvZGUgaW50cm9kdWNlZCBpbiBMaW51 eCA1LjEyLCBpbiB0aGlzIGZ1bmN0aW9uIGluCj4+PiBkcml2ZXJzL29mL2ZkdC5jLCBjYWxsZWQg YnkgZnVuY3Rpb24gX19yZXNlcnZlZF9tZW1fcmVzZXJ2ZV9yZWcoKToKPiAKPiBJdCBzZWVtcyB0 aGF0IHBhdGNoIGdvdCBhbHNvIGJhY2twb3J0ZWQsIHNvIHRoYXQgaXMgd2h5IEkgc2VlIGl0IHdp dGgKPiA1LjEwIGFzIHdlbGwuCj4gCj4+Pgo+Pj4gaW50IF9faW5pdCBfX3dlYWsgZWFybHlfaW5p dF9kdF9yZXNlcnZlX21lbW9yeV9hcmNoKHBoeXNfYWRkcl90IGJhc2UsCj4+PiAgIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwaHlzX2FkZHJfdCBzaXplLCBib29sIG5vbWFwKQo+Pj4gewo+Pj4gICDC oMKgwqDCoMKgwqDCoCBpZiAobm9tYXApIHsKPj4+ICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIC8qCj4+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogSWYgdGhl IG1lbW9yeSBpcyBhbHJlYWR5IHJlc2VydmVkIChieSBhbm90aGVyIHJlZ2lvbiksIHdlCj4+PiAg IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogc2hvdWxkIG5vdCBhbGxvdyBpdCB0 byBiZSBtYXJrZWQgbm9tYXAuCj4+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ICovCj4+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAobWVtYmxvY2tfaXNf cmVnaW9uX3Jlc2VydmVkKGJhc2UsIHNpemUpKcKgIDwtLS0tLS0KPj4+ICAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVCVVNZO8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPC0tLS0tLQo+Pj4KPj4+ICAg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBtZW1ibG9ja19tYXJrX25vbWFw KGJhc2UsIHNpemUpOwo+Pj4gICDCoMKgwqDCoMKgwqDCoCB9Cj4+PiAgIMKgwqDCoMKgwqDCoMKg IHJldHVybiBtZW1ibG9ja19yZXNlcnZlKGJhc2UsIHNpemUpOwo+Pj4gfQo+Pj4KPj4+ICJub21h cCIgaXMgdHJ1ZSwgZHVlIHRvIHRoaXMgdGV4dCBiZWluZyBwcmVzZW50IGluIHRoZSBGRFQ6Cj4+ Pgo+Pj4gICDCoMKgIHJlc2VydmVkLW1lbW9yeSB7Cj4+PiAgIMKgwqDCoMKgIHJhbmdlcyBzZWNt b25fcmVzZXJ2ZWQ6IHNlY21vbkA1MDAwMDAwIHsKPj4+ICAgwqDCoMKgwqDCoMKgIHJlZyA9IDww eDAgMHgwNTAwMDAwMCAweDAgMHgzMDAwMDA+Cj4+PiAgIMKgwqDCoMKgwqDCoCBuby1tYXAKPj4+ ICAgwqDCoMKgwqAgfQo+Pj4gICDCoMKgwqDCoCAuLi4KPj4+Cj4+PiBCdXQgbWVtYmxvY2tfaXNf cmVnaW9uX3Jlc2VydmVkKCkgaXMgcmV0dXJuaW5nIHRydWUgYmVjYXVzZSB0aGVyZSBpcyBhbHJl YWR5IGFuCj4+PiBlbnRyeSBmb3IgMHg1MDAwMDAwLTB4NTJmZmZmZiBpbiB0aGUgbWVtb3J5IG1h cCwgd2hpY2ggaXMgYWxyZWFkeSBtYXJrZWQKPj4+IHJlc2VydmVkLCBhdCB0aGUgdGltZSB0aGUg X19yZXNlcnZlZF9tZW1fcmVzZXJ2ZV9yZWcoKSBmdW5jdGlvbiBpcyBjYWxsZWQuCj4+PiAoUGVy aGFwcyB0aGlzIGlzIGJlaW5nIHNldCByZXNlcnZlZCBieSB1LWJvb3Q/IC0tIEkgZGlkIG5vdCBy ZXNlYXJjaCB0aGF0IGZhci4pCj4+Pgo+Pj4gVGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIGFzOgo+ Pj4KPj4+IGJvb2wgX19pbml0X21lbWJsb2NrIG1lbWJsb2NrX2lzX3JlZ2lvbl9yZXNlcnZlZChw aHlzX2FkZHJfdCBiYXNlLCBwaHlzX2FkZHJfdCBzaXplKQo+Pj4gewo+Pj4gICDCoMKgwqDCoMKg wqDCoCByZXR1cm4gbWVtYmxvY2tfb3ZlcmxhcHNfcmVnaW9uKCZtZW1ibG9jay5yZXNlcnZlZCwg YmFzZSwgc2l6ZSk7Cj4+PiB9Cj4+Pgo+Pj4gU2luY2UgdGhlIHJlZ2lvbiB0byBtYXJrIG5vLW1h cCwgIjB4NTAwMDAwMC0weDUyZmZmZmYiLCBvdmVybGFwcyB0aGUgZXhpc3RpbmcKPj4+IHJlc2Vy dmVkIHJlZ2lvbiAiMHg1MDAwMDAwLTB4NTJmZmZmZiIsIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRy dWUuCj4+Pgo+Pj4gSWYgSSBjb21tZW50IG91dCB0aGUgImlmIChtZW1ibG9ja19pc19yZWdpb25f cmVzZXJ2ZWQoYmFzZSwgc2l6ZSkpIiBjb2RlIGFuZAo+Pj4gYWxsb3cgaXQgdG8gbWFyayB0aGUg cmVnaW9uIG5vLW1hcCwgdGhlbiB0aGUgbWVtb3J5IGFyZWEgaXMgcHJvcGVybHkgcmVtb3ZlZAo+ Pj4gZnJvbSB0aGUgIlN5c3RlbSBSQU0iIGFyZWEgYW5kIHRoZSBjcmFzaGluZyBzdG9wcy4KPj4+ Cj4+PiBJJ3ZlIGhhZCB0aGUgc3lzdGVtIHVwIGFuZCBydW5uaW5nIGZvciAxNSBkYXlzIG5vdyB1 bmRlciBoZWF2eSBsb2FkIHdpdGhvdXQgYW55Cj4+PiBjcmFzaGVzLCB1c2luZyBqdXN0IHRoZSBm b2xsb3dpbmcgcGF0Y2ggYXMgd29ya2Fyb3VuZDoKPj4+Cj4+Pgo+Pj4gLS0tIGxpbnV4LTUuMTMu MC9kcml2ZXJzL29mL2ZkdC5jLmJha8KgwqDCoCAyMDIxLTA3LTA3IDAwOjIyOjU4LjAwMDAwMDAw MCAtMDQwMAo+Pj4gKysrIGxpbnV4LTUuMTMuMC9kcml2ZXJzL29mL2ZkdC5jwqDCoMKgIDIwMjEt MDctMDcgMDA6MjM6MDguMDAwMDAwMDAwIC0wNDAwCj4+PiBAQCAtMTE1NywxMyArMTE1Nyw2IEBA Cj4+PiAgIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGh5c19hZGRy X3Qgc2l6ZSwgYm9vbCBub21hcCkKPj4+ICAgwqB7Cj4+PiAgIMKgwqDCoMKgIGlmIChub21hcCkg ewo+Pj4gLcKgwqDCoMKgwqDCoMKgIC8qCj4+PiAtwqDCoMKgwqDCoMKgwqDCoCAqIElmIHRoZSBt ZW1vcnkgaXMgYWxyZWFkeSByZXNlcnZlZCAoYnkgYW5vdGhlciByZWdpb24pLCB3ZQo+Pj4gLcKg wqDCoMKgwqDCoMKgwqAgKiBzaG91bGQgbm90IGFsbG93IGl0IHRvIGJlIG1hcmtlZCBub21hcC4K Pj4+IC3CoMKgwqDCoMKgwqDCoMKgICovCj4+PiAtwqDCoMKgwqDCoMKgwqAgaWYgKG1lbWJsb2Nr X2lzX3JlZ2lvbl9yZXNlcnZlZChiYXNlLCBzaXplKSkKPj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHJldHVybiAtRUJVU1k7Cj4+PiAtCj4+PiAgIMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIG1l bWJsb2NrX21hcmtfbm9tYXAoYmFzZSwgc2l6ZSk7Cj4+PiAgIMKgwqDCoMKgIH0KPj4+ICAgwqDC oMKgwqAgcmV0dXJuIG1lbWJsb2NrX3Jlc2VydmUoYmFzZSwgc2l6ZSk7Cj4+Pgo+Pj4KPj4+IFRo ZSBhYm92ZSBwYXRjaCBhcHBsaWVzIHRvIGxhdGVyIHZlcnNpb25zIG9mIExpbnV4IDUuMTAueCB0 aHJvdWdoIDUuMTIueCBhcwo+Pj4gd2VsbC4KPiAKPiBFdmVudGhvdWdoIHByb2JhYmx5IG5vdCB0 aGUgY29ycmVjdCBzb2x1dGlvbiwgSSdsbCBnaXZlIHRoaXMgYSB0cnkgb24gbXkKPiBlbmQganVz dCB0byB2ZXJpZnkgd2UgYXJlIGluZGVlZCBleHBlcmllbmNlIHRoZSBzYW1lIHByb2JsZW0gYW5k IHRoZQo+IGNoYW5nZSBmaXhlcyBpdCBmb3IgbWUgdG9vLgo+IAo+Pj4KPj4+IFBlcmhhcHMgYSBt b3JlIHByb3BlciBmaXggaXMgdG8gYWxsb3cgdGhlIG5vLW1hcCB0byBzdGlsbCBwcm9jZWVkLCBp biB0aGUgY2FzZQo+Pj4gdGhhdCB0aGUgZXhpc3RpbmcgcmVzZXJ2ZWQgcmVnaW9uIGlzIGlkZW50 aWNhbCAoc2FtZSBzdGFydC9lbmQpIHRvIHRoZSByZWdpb24KPj4+IGdldHRpbmcgbWFya2VkIG5v LW1hcC4KPj4KPj4gSWYgVS1Cb290IGlzIG1hcmtpbmcgcmVnaW9ucyB3aXRoIHRoZSB3cm9uZyB0 eXBlL2F0dHJpYnV0ZXMgaW4gdGhlIEVGSQo+PiBtZW1vcnkgbWFwLCB0aGVuIHRoZSBiZXN0IHRo aW5nIHRvIGRvIHdvdWxkIGJlIHRvIGZpeCB0aGF0LiBJIHNlZSBhCj4+IGZhaXJseSByZWNlbnQg Y29tbWl0IHdoaWNoIGxvb2tzIHN1c3BpY2lvdXNseSByZWxldmFudDoKPj4KPj4gaHR0cHM6Ly9z b3VyY2UuZGVueC5kZS91LWJvb3QvdS1ib290Ly0vY29tbWl0LzlmZjlmNGI0MjY4OTQ2ZjNiNzNk OTc1OTc2NmNjZmNjNTk5ZGEwMDQKPiAKPiBJdCBzZWVtcyB0aGF0IHRoaXMgcGF0Y2ggd2VudCBp bnRvIFUtQm9vdCAyMDIxLjA0IHdoaWNoIEkgYW0gdXNpbmcsIHNvCj4gdGhhdCAoYWxvbmUpIHNl ZW1zIG5vdCB0byBmaXggdGhlIG1hcHBpbmcuCj4gCj4+Cj4+IEJvb3Rpbmcgd2l0aCAiZWZpPWRl YnVnIiBzaG91bGQgKGFtb25nIG90aGVyIHRoaW5ncykgcHJpbnQgdGhlIG1lbW9yeQo+PiBtYXAg YXQgYm9vdCBpZiB5b3Ugd2FudCB0byBkb3VibGUtY2hlY2sgdGhhdCB0aGF0IGlzIHRoZSBzb3Vy Y2Ugb2YgdGhlCj4+IG1pc21hdGNoLiBPdXIgRUZJIGNvZGUgc2hvdWxkIGJlIHBlcmZlY3RseSBj YXBhYmxlIG9mIHNldHRpbmcgdGhlCj4+IG1lbWJsb2NrIGZsYWcgaWYgdGhlIHJlZ2lvbiAqaXMq IGRlc2NyaWJlZCBhcHByb3ByaWF0ZWx5LCBzZWUKPj4gcmVzZXJ2ZV9yZWdpb25zKCkgaW4gZHJp dmVycy9maXJtd2FyZS9lZmkvZWZpLWluaXQuYy4KPiAKPiBCb290aW5nIDUuMTIuMTAgd2l0aCAi ZWZpPWRlYnVnIiBvbiBVLUJvb3QgMjAyMS4wNCBnYXZlIHRoaXM6Cj4gWyAgICAwLjAwMDAwMF0g TWFjaGluZSBtb2RlbDogSGFyZGtlcm5lbCBPRFJPSUQtTjJQbHVzCj4gWyAgICAwLjAwMDAwMF0g ZWZpOiBHZXR0aW5nIFVFRkkgcGFyYW1ldGVycyBmcm9tIC9jaG9zZW4gaW4gRFQ6Cj4gWyAgICAw LjAwMDAwMF0gZWZpOiBVRUZJIG5vdCBmb3VuZC4KPiBbICAgIDAuMDAwMDAwXSBPRjogZmR0OiBS ZXNlcnZlZCBtZW1vcnk6IGZhaWxlZCB0byByZXNlcnZlIG1lbW9yeSBmb3IKPiBub2RlICdzZWNt b25ANTAwMDAwMCc6IGJhc2UgMHgwMDAwMDAwMDA1MDAwMDAwLCBzaXplIDMgTWlCCj4gCj4gU28g aXQgc2VlbXMgVUVGSSBpcyBub3QgaW4gdGhlIHBsYXkgaGVyZT8KCkFoLCBPSywgaW4gdGhhdCBj YXNlIEkgZ3Vlc3MgdGhlIHF1ZXN0aW9uIHJlbWFpbnMgd2h5IGRvZXMgCmVhcmx5X2luaXRfZHRf cmVzZXJ2ZV9tZW1vcnlfYXJjaCgpIHRoaW5rIHRoZSByZWdpb24gaXMgYWxyZWFkeSAKcmVzZXJ2 ZWQ/IE15IGluc3RpbmN0aXZlIGFzc3VtcHRpb24gd2FzIGFuIEVGSSBtZW1vcnkgbWFwIGJlaW5n IHByZXNlbnQ7IApzZWVpbmcgdGhhdCBVLUJvb3QgZG9lcyBpbmRlZWQgcmVmbGVjdCBEVCByZXNl cnZhdGlvbnMgdGhlcmUgKmFuZCogaGFzIApoYWQgYSBsaWtlbHktbG9va2luZyBidWcgcmVjZW50 bHkgd2FzIHRoZW4ganVzdCBvdmVyd2hlbG1pbmdseSBzdWdnZXN0aXZlIDopCgpSb2Jpbi4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFtbG9n aWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFtbG9naWMK