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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 797E2C433F5 for ; Wed, 9 Feb 2022 20:03:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230511AbiBIUDU (ORCPT ); Wed, 9 Feb 2022 15:03:20 -0500 Received: from gmail-smtp-in.l.google.com ([23.128.96.19]:44134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230446AbiBIUDT (ORCPT ); Wed, 9 Feb 2022 15:03:19 -0500 Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 842BCE06C424; Wed, 9 Feb 2022 12:03:14 -0800 (PST) Received: by mail-oi1-f174.google.com with SMTP id q8so3659072oiw.7; Wed, 09 Feb 2022 12:03:14 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=uN6+PRmPc/49F6WOV3zu54SlBZGz2+tDnDSPMlVZhUI=; b=z6rexH6HfpCD38it7SDsdhVVnmcHlGsE5FMaL7VZUmB91eD3xQeK4w9tnIL1+yCyDX RnLMvgvXHBr2byoSqGgVaHFzF6/QzcGltISdG0UmaqPaazj5TLTxjyOjgGqbmH801NEo O4q8a5DXWP60u5SkaMvioEmIjVi+zsFcYKtV4wdnRZ+BPdasuWHEoIkGN4XTxEWqeYNW DpH8yvW+ZLPLybk/twVHlp53xRjeTOb3HKNQ5hljlIQkI+XXkX6e8HSY7RZhKwgOMGNk f6/IwocKc2d9+IO8FNmsgy5/oacZSB9idaof1eVQotS+L4W20tFfyTuUqYrFc8Vv0jMG 1SNA== X-Gm-Message-State: AOAM532LiWqTkqW44BA4fcb50bjhTEEQNy/LGzBGMmb9lHB5wWTpERFK a4+2lXbX6Cb7+mJxNtOehA/OKWGdQw== X-Google-Smtp-Source: ABdhPJziENkuR5Hv3Ho/13HaMJGMlyAZdyehvKAGGuXRAMKaAoQVYtg3uMwhc2w654GqogYY6HhTqg== X-Received: by 2002:a05:6808:120c:: with SMTP id a12mr2286954oil.118.1644436958092; Wed, 09 Feb 2022 12:02:38 -0800 (PST) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id bq16sm2050694oib.33.2022.02.09.12.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Feb 2022 12:02:36 -0800 (PST) Received: (nullmailer pid 799522 invoked by uid 1000); Wed, 09 Feb 2022 20:02:35 -0000 Date: Wed, 9 Feb 2022 14:02:35 -0600 From: Rob Herring To: =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Wim Van Sebroeck , Guenter Roeck , Florian Fainelli , Justin Chen , linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH V2] dt-bindings: watchdog: brcm,bcm7038: add more compatible strings Message-ID: References: <20220126132116.11070-1-zajec5@gmail.com> <20220126222034.16889-1-zajec5@gmail.com> <7b60d62b-9828-cc74-8d03-64ef5f722661@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <7b60d62b-9828-cc74-8d03-64ef5f722661@gmail.com> Precedence: bulk List-ID: X-Mailing-List: linux-watchdog@vger.kernel.org On Wed, Feb 09, 2022 at 08:26:00PM +0100, Rafał Miłecki wrote: > On 9.02.2022 20:09, Rob Herring wrote: > > On Wed, Jan 26, 2022 at 11:20:34PM +0100, Rafał Miłecki wrote: > > > From: Rafał Miłecki > > > > > > This hardware block is used on almost all BCM63xx family chipsets and > > > BCM4908 which reuses a lot of BCM63xx parts. Add relevant compatible > > > strings and also include a generic one. > > > > > > The only SoC with a different block I found is BCM6838 (thus not included > > > in this change). > > > > > > It may be worth noting that BCM6338, BCM6345, BCM6348 and BCM63268 don't > > > include "SoftRst" register but that can be handled by drivers based on > > > precise compatible string. > > > > > > Signed-off-by: Rafał Miłecki > > > --- > > > V2: Sort enum entries & update brcm,twd.yaml > > > --- > > > .../devicetree/bindings/mfd/brcm,twd.yaml | 2 +- > > > .../bindings/watchdog/brcm,bcm7038-wdt.yaml | 21 +++++++++++++++---- > > > 2 files changed, 18 insertions(+), 5 deletions(-) > > > > > > diff --git a/Documentation/devicetree/bindings/mfd/brcm,twd.yaml b/Documentation/devicetree/bindings/mfd/brcm,twd.yaml > > > index 634526f790b8..3f5db1990aba 100644 > > > --- a/Documentation/devicetree/bindings/mfd/brcm,twd.yaml > > > +++ b/Documentation/devicetree/bindings/mfd/brcm,twd.yaml > > > @@ -55,7 +55,7 @@ examples: > > > #size-cells = <1>; > > > watchdog@28 { > > > - compatible = "brcm,bcm7038-wdt"; > > > + compatible = "brcm,bcm4908-wdt", "brcm,bcm63xx-wdt"; > > > reg = <0x28 0x8>; > > > }; > > > }; > > > diff --git a/Documentation/devicetree/bindings/watchdog/brcm,bcm7038-wdt.yaml b/Documentation/devicetree/bindings/watchdog/brcm,bcm7038-wdt.yaml > > > index a926809352b8..4d848442913c 100644 > > > --- a/Documentation/devicetree/bindings/watchdog/brcm,bcm7038-wdt.yaml > > > +++ b/Documentation/devicetree/bindings/watchdog/brcm,bcm7038-wdt.yaml > > > @@ -16,9 +16,22 @@ maintainers: > > > properties: > > > compatible: > > > - enum: > > > - - brcm,bcm6345-wdt > > > - - brcm,bcm7038-wdt > > > + items: > > > + - enum: > > > + - brcm,bcm4908-wdt > > > + - brcm,bcm6338-wdt > > > + - brcm,bcm6345-wdt > > > + - brcm,bcm6348-wdt > > > + - brcm,bcm6848-wdt > > > + - brcm,bcm6858-wdt > > > + - brcm,bcm7038-wdt > > > + - brcm,bcm60333-wdt > > > + - brcm,bcm63138-wdt > > > + - brcm,bcm63148-wdt > > > + - brcm,bcm63268-wdt > > > + - brcm,bcm63381-wdt > > > + - brcm,bcm68360-wdt > > > + - const: brcm,bcm63xx-wdt > > > > Is it really worthwhile to update all these DTs?: > > > > arch/mips/boot/dts/brcm/bcm63268.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm6328.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm6358.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm6362.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm6368.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7125.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7346.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7358.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7360.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7362.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7420.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7425.dtsi: compatible = "brcm,bcm7038-wdt"; > > arch/mips/boot/dts/brcm/bcm7435.dtsi: compatible = "brcm,bcm7038-wdt"; > > I don't have problem handling that. Even if the dts files above are updated, the driver still has to support the above case. It's pointless to change this. We've already got 1000s of warnings to fix and 2000 bindings still to convert if you need something to do. > > I don't think so. > So what's the policy for such bindings then? How to select SoCs that > should have their own bindings? How can I tell which should /borrow/ a > binding instead? The way it is supposed to work is the first implementation gets 'soc1-block'. When the 2nd implementation comes about, it gets 'soc2-block'. If soc2 implementation is 'the same' or a superset, then it should have a fallback to 'soc1-block'. Another way to test that is, "I want my existing s/w to work as-is with this new h/w". The process repeats on the next SoC, but you could be backwards compatible with soc1, soc2, both or none. Is that what you are asking? If you are doing all this after the fact at once, then it can be a bit different in how you do compatibles. In this case, I would make "brcm,bcm7038-wdt" the fallback to the rest (granted, I know nothing about these chips or the relationship between them), but you have to keep supporting "brcm,bcm7038-wdt". 6345 is up to you I guess as there aren't any upstream dts files using it. Florian might care. Rob 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 22016C433EF for ; Wed, 9 Feb 2022 20:04:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jVliT2E6YnY5VGRLA+m+2vc/nEO+GSyqDT2j71T3Oi4=; b=0WvLu4iQQNJmLW CBQqVDfZovWMdAKhGQpG1vfyTB/xQjZ8Hjw2OWm6vIhMxDd9AatCTfpIvjN0KaUpaSg7CNAVzRdj+ +AhIZjOYuUNRdb3bgvUcpvY3haApMynrDDPrzj2wkfKimfOakm3oy5FspnVlZ9echRSsF2UGpirnJ kWhMp4qM7Wjrg8+Cv5ZkPVb45MCPJBGvfNVppr29laf92boS1quqg5IdwA+mSgq8aHW8vgvKrTCQh pdfS987ZxRhPTRp5tYGb00v0oK7lSBjVMFB71MU8M6KXc7SNv178duT4z5awERmfqW4x9iD9nsyLJ b1wFORTbNxu8O8Q/FCiQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHtAu-001TtZ-PA; Wed, 09 Feb 2022 20:02:48 +0000 Received: from mail-oi1-f173.google.com ([209.85.167.173]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nHtAl-001Tiv-Kk for linux-arm-kernel@lists.infradead.org; Wed, 09 Feb 2022 20:02:41 +0000 Received: by mail-oi1-f173.google.com with SMTP id i5so3699545oih.1 for ; Wed, 09 Feb 2022 12:02:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=uN6+PRmPc/49F6WOV3zu54SlBZGz2+tDnDSPMlVZhUI=; b=wIiuXV/bzGPxW/kaA0U6Krjz3yh7wXg8xXIhTQBSeGGjKPI5EHAM+ZmGWdyxytpLaq ORTxu4E0i6Aw/OPok3bKFIRJ63vOSWWwpwg0ZkbpXYvavoXiqzwWD4P77BR21KxS2uK2 E3QWyJYra64nLW4SJakmW9nz1Td9aeYMYYOJ0vftxuEumTo6Dqe0vMizPR+5wci9oVjy CZqKrf3g8a/9CwldYD7B95l+WFtrjD99c+wxZbiLeLgyWdbeXs3YOEgOH1mszJZd5qhQ zufYFBVAFSJcMJPQfN1uunNapF6hr9Zm3HEmrvjbYqtNkWzT5OTuIwPrdP7xsT5y+b6+ bdFw== X-Gm-Message-State: AOAM533jfwbe3eD2FseJiMiBop5UxbhIPxRxr+JgLp4M6WR4KkxJsivM 0vhWXxo/DfQlu3hEpcEHJA== X-Google-Smtp-Source: ABdhPJziENkuR5Hv3Ho/13HaMJGMlyAZdyehvKAGGuXRAMKaAoQVYtg3uMwhc2w654GqogYY6HhTqg== X-Received: by 2002:a05:6808:120c:: with SMTP id a12mr2286954oil.118.1644436958092; Wed, 09 Feb 2022 12:02:38 -0800 (PST) Received: from robh.at.kernel.org (66-90-148-213.dyn.grandenetworks.net. [66.90.148.213]) by smtp.gmail.com with ESMTPSA id bq16sm2050694oib.33.2022.02.09.12.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Feb 2022 12:02:36 -0800 (PST) Received: (nullmailer pid 799522 invoked by uid 1000); Wed, 09 Feb 2022 20:02:35 -0000 Date: Wed, 9 Feb 2022 14:02:35 -0600 From: Rob Herring To: =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Cc: Wim Van Sebroeck , Guenter Roeck , Florian Fainelli , Justin Chen , linux-watchdog@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, =?utf-8?B?UmFmYcWCIE1pxYJlY2tp?= Subject: Re: [PATCH V2] dt-bindings: watchdog: brcm,bcm7038: add more compatible strings Message-ID: References: <20220126132116.11070-1-zajec5@gmail.com> <20220126222034.16889-1-zajec5@gmail.com> <7b60d62b-9828-cc74-8d03-64ef5f722661@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <7b60d62b-9828-cc74-8d03-64ef5f722661@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220209_120239_743614_1ED47972 X-CRM114-Status: GOOD ( 37.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCBGZWIgMDksIDIwMjIgYXQgMDg6MjY6MDBQTSArMDEwMCwgUmFmYcWCIE1pxYJlY2tp IHdyb3RlOgo+IE9uIDkuMDIuMjAyMiAyMDowOSwgUm9iIEhlcnJpbmcgd3JvdGU6Cj4gPiBPbiBX ZWQsIEphbiAyNiwgMjAyMiBhdCAxMToyMDozNFBNICswMTAwLCBSYWZhxYIgTWnFgmVja2kgd3Jv dGU6Cj4gPiA+IEZyb206IFJhZmHFgiBNacWCZWNraSA8cmFmYWxAbWlsZWNraS5wbD4KPiA+ID4g Cj4gPiA+IFRoaXMgaGFyZHdhcmUgYmxvY2sgaXMgdXNlZCBvbiBhbG1vc3QgYWxsIEJDTTYzeHgg ZmFtaWx5IGNoaXBzZXRzIGFuZAo+ID4gPiBCQ000OTA4IHdoaWNoIHJldXNlcyBhIGxvdCBvZiBC Q002M3h4IHBhcnRzLiBBZGQgcmVsZXZhbnQgY29tcGF0aWJsZQo+ID4gPiBzdHJpbmdzIGFuZCBh bHNvIGluY2x1ZGUgYSBnZW5lcmljIG9uZS4KPiA+ID4gCj4gPiA+IFRoZSBvbmx5IFNvQyB3aXRo IGEgZGlmZmVyZW50IGJsb2NrIEkgZm91bmQgaXMgQkNNNjgzOCAodGh1cyBub3QgaW5jbHVkZWQK PiA+ID4gaW4gdGhpcyBjaGFuZ2UpLgo+ID4gPiAKPiA+ID4gSXQgbWF5IGJlIHdvcnRoIG5vdGlu ZyB0aGF0IEJDTTYzMzgsIEJDTTYzNDUsIEJDTTYzNDggYW5kIEJDTTYzMjY4IGRvbid0Cj4gPiA+ IGluY2x1ZGUgIlNvZnRSc3QiIHJlZ2lzdGVyIGJ1dCB0aGF0IGNhbiBiZSBoYW5kbGVkIGJ5IGRy aXZlcnMgYmFzZWQgb24KPiA+ID4gcHJlY2lzZSBjb21wYXRpYmxlIHN0cmluZy4KPiA+ID4gCj4g PiA+IFNpZ25lZC1vZmYtYnk6IFJhZmHFgiBNacWCZWNraSA8cmFmYWxAbWlsZWNraS5wbD4KPiA+ ID4gLS0tCj4gPiA+IFYyOiBTb3J0IGVudW0gZW50cmllcyAmIHVwZGF0ZSBicmNtLHR3ZC55YW1s Cj4gPiA+IC0tLQo+ID4gPiAgIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL21mZC9icmNtLHR3ZC55 YW1sICAgICB8ICAyICstCj4gPiA+ICAgLi4uL2JpbmRpbmdzL3dhdGNoZG9nL2JyY20sYmNtNzAz OC13ZHQueWFtbCAgIHwgMjEgKysrKysrKysrKysrKysrLS0tLQo+ID4gPiAgIDIgZmlsZXMgY2hh bmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYg LS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2JyY20sdHdkLnlh bWwgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2JyY20sdHdkLnlhbWwK PiA+ID4gaW5kZXggNjM0NTI2Zjc5MGI4Li4zZjVkYjE5OTBhYmEgMTAwNjQ0Cj4gPiA+IC0tLSBh L0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZmQvYnJjbSx0d2QueWFtbAo+ID4g PiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWZkL2JyY20sdHdkLnlh bWwKPiA+ID4gQEAgLTU1LDcgKzU1LDcgQEAgZXhhbXBsZXM6Cj4gPiA+ICAgICAgICAgICAjc2l6 ZS1jZWxscyA9IDwxPjsKPiA+ID4gICAgICAgICAgIHdhdGNoZG9nQDI4IHsKPiA+ID4gLSAgICAg ICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiA+ICsgICAgICAgICAg ICBjb21wYXRpYmxlID0gImJyY20sYmNtNDkwOC13ZHQiLCAiYnJjbSxiY202M3h4LXdkdCI7Cj4g PiA+ICAgICAgICAgICAgICAgcmVnID0gPDB4MjggMHg4PjsKPiA+ID4gICAgICAgICAgIH07Cj4g PiA+ICAgICAgIH07Cj4gPiA+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUv YmluZGluZ3Mvd2F0Y2hkb2cvYnJjbSxiY203MDM4LXdkdC55YW1sIGIvRG9jdW1lbnRhdGlvbi9k ZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2JyY20sYmNtNzAzOC13ZHQueWFtbAo+ID4gPiBp bmRleCBhOTI2ODA5MzUyYjguLjRkODQ4NDQyOTEzYyAxMDA2NDQKPiA+ID4gLS0tIGEvRG9jdW1l bnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3dhdGNoZG9nL2JyY20sYmNtNzAzOC13ZHQueWFt bAo+ID4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvd2F0Y2hkb2cv YnJjbSxiY203MDM4LXdkdC55YW1sCj4gPiA+IEBAIC0xNiw5ICsxNiwyMiBAQCBtYWludGFpbmVy czoKPiA+ID4gICBwcm9wZXJ0aWVzOgo+ID4gPiAgICAgY29tcGF0aWJsZToKPiA+ID4gLSAgICBl bnVtOgo+ID4gPiAtICAgICAgLSBicmNtLGJjbTYzNDUtd2R0Cj4gPiA+IC0gICAgICAtIGJyY20s YmNtNzAzOC13ZHQKPiA+ID4gKyAgICBpdGVtczoKPiA+ID4gKyAgICAgIC0gZW51bToKPiA+ID4g KyAgICAgICAgICAtIGJyY20sYmNtNDkwOC13ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNt NjMzOC13ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNtNjM0NS13ZHQKPiA+ID4gKyAgICAg ICAgICAtIGJyY20sYmNtNjM0OC13ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNtNjg0OC13 ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNtNjg1OC13ZHQKPiA+ID4gKyAgICAgICAgICAt IGJyY20sYmNtNzAzOC13ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNtNjAzMzMtd2R0Cj4g PiA+ICsgICAgICAgICAgLSBicmNtLGJjbTYzMTM4LXdkdAo+ID4gPiArICAgICAgICAgIC0gYnJj bSxiY202MzE0OC13ZHQKPiA+ID4gKyAgICAgICAgICAtIGJyY20sYmNtNjMyNjgtd2R0Cj4gPiA+ ICsgICAgICAgICAgLSBicmNtLGJjbTYzMzgxLXdkdAo+ID4gPiArICAgICAgICAgIC0gYnJjbSxi Y202ODM2MC13ZHQKPiA+ID4gKyAgICAgIC0gY29uc3Q6IGJyY20sYmNtNjN4eC13ZHQKPiA+IAo+ ID4gSXMgaXQgcmVhbGx5IHdvcnRod2hpbGUgdG8gdXBkYXRlIGFsbCB0aGVzZSBEVHM/Ogo+ID4g Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY202MzI2OC5kdHNpOiAgICAgICAgICAgICAg ICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9k dHMvYnJjbS9iY202MzI4LmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJj bSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY202MzU4LmR0c2k6 ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBh cmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY202MzYyLmR0c2k6ICAgICAgICAgICAgICAgICAgIGNv bXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJj bS9iY202MzY4LmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203 MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY203MTI1LmR0c2k6ICAgICAg ICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21p cHMvYm9vdC9kdHMvYnJjbS9iY203MzQ2LmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGli bGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY203 MzU4LmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdk dCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY203MzYwLmR0c2k6ICAgICAgICAgICAg ICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9v dC9kdHMvYnJjbS9iY203MzYyLmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAi YnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY203NDIwLmR0 c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4g PiBhcmNoL21pcHMvYm9vdC9kdHMvYnJjbS9iY203NDI1LmR0c2k6ICAgICAgICAgICAgICAgICAg IGNvbXBhdGlibGUgPSAiYnJjbSxiY203MDM4LXdkdCI7Cj4gPiBhcmNoL21pcHMvYm9vdC9kdHMv YnJjbS9iY203NDM1LmR0c2k6ICAgICAgICAgICAgICAgICAgIGNvbXBhdGlibGUgPSAiYnJjbSxi Y203MDM4LXdkdCI7Cj4gCj4gSSBkb24ndCBoYXZlIHByb2JsZW0gaGFuZGxpbmcgdGhhdC4KCkV2 ZW4gaWYgdGhlIGR0cyBmaWxlcyBhYm92ZSBhcmUgdXBkYXRlZCwgdGhlIGRyaXZlciBzdGlsbCBo YXMgdG8gc3VwcG9ydCAKdGhlIGFib3ZlIGNhc2UuCgpJdCdzIHBvaW50bGVzcyB0byBjaGFuZ2Ug dGhpcy4gV2UndmUgYWxyZWFkeSBnb3QgMTAwMHMgb2Ygd2FybmluZ3MgdG8gCmZpeCBhbmQgMjAw MCBiaW5kaW5ncyBzdGlsbCB0byBjb252ZXJ0IGlmIHlvdSBuZWVkIHNvbWV0aGluZyB0byBkby4K Cj4gPiBJIGRvbid0IHRoaW5rIHNvLgo+IFNvIHdoYXQncyB0aGUgcG9saWN5IGZvciBzdWNoIGJp bmRpbmdzIHRoZW4/IEhvdyB0byBzZWxlY3QgU29DcyB0aGF0Cj4gc2hvdWxkIGhhdmUgdGhlaXIg b3duIGJpbmRpbmdzPyBIb3cgY2FuIEkgdGVsbCB3aGljaCBzaG91bGQgL2JvcnJvdy8gYQo+IGJp bmRpbmcgaW5zdGVhZD8KClRoZSB3YXkgaXQgaXMgc3VwcG9zZWQgdG8gd29yayBpcyB0aGUgZmly c3QgaW1wbGVtZW50YXRpb24gZ2V0cyAKJ3NvYzEtYmxvY2snLiBXaGVuIHRoZSAybmQgaW1wbGVt ZW50YXRpb24gY29tZXMgYWJvdXQsIGl0IGdldHMgCidzb2MyLWJsb2NrJy4gSWYgc29jMiBpbXBs ZW1lbnRhdGlvbiBpcyAndGhlIHNhbWUnIG9yIGEgc3VwZXJzZXQsIHRoZW4gCml0IHNob3VsZCBo YXZlIGEgZmFsbGJhY2sgdG8gJ3NvYzEtYmxvY2snLiBBbm90aGVyIHdheSB0byB0ZXN0IHRoYXQg aXMsIAoiSSB3YW50IG15IGV4aXN0aW5nIHMvdyB0byB3b3JrIGFzLWlzIHdpdGggdGhpcyBuZXcg aC93Ii4gVGhlIHByb2Nlc3MgCnJlcGVhdHMgb24gdGhlIG5leHQgU29DLCBidXQgeW91IGNvdWxk IGJlIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggCnNvYzEsIHNvYzIsIGJvdGggb3Igbm9uZS4g SXMgdGhhdCB3aGF0IHlvdSBhcmUgYXNraW5nPwoKSWYgeW91IGFyZSBkb2luZyBhbGwgdGhpcyBh ZnRlciB0aGUgZmFjdCBhdCBvbmNlLCB0aGVuIGl0IGNhbiBiZSBhIApiaXQgZGlmZmVyZW50IGlu IGhvdyB5b3UgZG8gY29tcGF0aWJsZXMuCgpJbiB0aGlzIGNhc2UsIEkgd291bGQgbWFrZSAiYnJj bSxiY203MDM4LXdkdCIgdGhlIGZhbGxiYWNrIHRvIHRoZSByZXN0IAooZ3JhbnRlZCwgSSBrbm93 IG5vdGhpbmcgYWJvdXQgdGhlc2UgY2hpcHMgb3IgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIAp0 aGVtKSwgYnV0IHlvdSBoYXZlIHRvIGtlZXAgc3VwcG9ydGluZyAiYnJjbSxiY203MDM4LXdkdCIu IDYzNDUgaXMgdXAgCnRvIHlvdSBJIGd1ZXNzIGFzIHRoZXJlIGFyZW4ndCBhbnkgdXBzdHJlYW0g ZHRzIGZpbGVzIHVzaW5nIGl0LiBGbG9yaWFuIAptaWdodCBjYXJlLgoKUm9iCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==