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=-6.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 8BC95C43215 for ; Wed, 27 Nov 2019 18:53:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5E5392070B for ; Wed, 27 Nov 2019 18:53:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N8vdY+vl" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727464AbfK0SxW (ORCPT ); Wed, 27 Nov 2019 13:53:22 -0500 Received: from mail-oi1-f193.google.com ([209.85.167.193]:37069 "EHLO mail-oi1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726984AbfK0SxW (ORCPT ); Wed, 27 Nov 2019 13:53:22 -0500 Received: by mail-oi1-f193.google.com with SMTP id 128so12983171oih.4; Wed, 27 Nov 2019 10:53:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=B7OdfyOfsvItvmaN0rYdNSg9G6SH0O4NS8qdePNGNsM=; b=N8vdY+vlJAQhjge4fCNhfz2W4+03pESQoSCgv88q2OlHXMyNb5KgDwo52mHKSK/4D5 6+Ro8/dh5tdnzYBZTchIotY9Bliv0l+waCLXOhRzpqsPOwOfJlqMq6KAiDGTIHWIdxy4 eNFZ4R6HMfsm//Y86ousrjQwK6cIajqJTjbWJSLMEreAY3VyYzy+6EX76/JpzO0N9mUa Ab3bg3doy/GnWBRHtoUin/0E0lzjBm/Q4jbyMuBVqasrsTA2zfyJm4+70JjmIu/m5PYe wBg3FPSV5rUVFe08TNISjx6zOXlxDNo6VChINu5JHQVzCx+Dskm3IBMiG0DbNWuTJM1S jTCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=B7OdfyOfsvItvmaN0rYdNSg9G6SH0O4NS8qdePNGNsM=; b=mahTAn0wv+Ww4fhMVm2TOavbv/42UXdAIEdwXyRjiVdOpIVxVtYdwquBgG0g5uVfr1 sRh7fne7CgzlmFgrfh2ANVhvbnYIz/5tQzKr7XVPtngGrnjC08x48Ct0Ok0x6Cny0sMw pJWTVY6W5nVR0DlBQE1MgIQ0DZc2VsyXVLDGTNzDj7YlawQ44XYHWljmoOnPElWFaBZc 6GrxPQX/z7xeLa4CYuDs343q+lMu4oiUKrR1TLXWau2r8AgJ4S0nZONWPbgRXIfZy8c5 Jn8CnOnN2QKF2GgvZlApKlJoXW84aLaHmF8wSBk1qgO9ScPnS4EgDT/egkYnOoetZuih 6MtA== X-Gm-Message-State: APjAAAUOZ8jeOKNrzMb9iaAY+CpAHdMqzCdRQwoDQG7U9fdPuuadmH3q tUdN3ohUI2sYDftb1E5nMZ1u7pziri7iNsk1/P89ZIJB X-Google-Smtp-Source: APXvYqx+wTrJMMEAadlR2TvpMsiJs6MouGSI7S70yGV387JqMw+U7ZdD2Kjv46qQTOWW6lu42qDvJ/n1yjP4CpNThoM= X-Received: by 2002:aca:5883:: with SMTP id m125mr5055567oib.145.1574880800897; Wed, 27 Nov 2019 10:53:20 -0800 (PST) MIME-Version: 1.0 References: <20191127052935.1719897-1-anarsoul@gmail.com> <20191127052935.1719897-3-anarsoul@gmail.com> <20191127174434.wousbqosmm5vxcsu@gilmour.lan> <20191127180743.ww5npenlg2urxtjn@core.my.home> In-Reply-To: <20191127180743.ww5npenlg2urxtjn@core.my.home> From: Vasily Khoruzhick Date: Wed, 27 Nov 2019 10:52:55 -0800 Message-ID: Subject: Re: [PATCH v6 2/7] dt-bindings: thermal: add YAML schema for sun8i-thermal driver bindings To: Maxime Ripard , Vasily Khoruzhick , Yangtao Li , Zhang Rui , Eduardo Valentin , Daniel Lezcano , Amit Kucheria , Rob Herring , Mark Rutland , Chen-Yu Tsai , Mauro Carvalho Chehab , "David S. Miller" , Greg Kroah-Hartman , Linux PM , devicetree , arm-linux , linux-kernel Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 27, 2019 at 10:07 AM Ond=C5=99ej Jirman wro= te: > > Hi, > > On Wed, Nov 27, 2019 at 06:44:34PM +0100, Maxime Ripard wrote: > > Hi, > > > > On Tue, Nov 26, 2019 at 09:29:30PM -0800, Vasily Khoruzhick wrote: > > > From: Yangtao Li > > > > > > sun8i-thermal driver supports thermal sensor in wide range of Allwinn= er > > > SoCs. Add YAML schema for its bindings. > > > > > > Signed-off-by: Yangtao Li > > > Signed-off-by: Vasily Khoruzhick > > > --- > > > .../thermal/allwinner,sun8i-a83t-ths.yaml | 103 ++++++++++++++++= ++ > > > 1 file changed, 103 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/thermal/allwinn= er,sun8i-a83t-ths.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/thermal/allwinner,sun8= i-a83t-ths.yaml b/Documentation/devicetree/bindings/thermal/allwinner,sun8i= -a83t-ths.yaml > > > new file mode 100644 > > > index 000000000000..e622f0a4be90 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/thermal/allwinner,sun8i-a83t-= ths.yaml > > > @@ -0,0 +1,103 @@ > > > +# SPDX-License-Identifier: GPL-2.0 > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/thermal/allwinner,sun8i-a83t-ths.= yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Allwinner SUN8I Thermal Controller Device Tree Bindings > > > + > > > +maintainers: > > > + - Yangtao Li > > > + > > > +properties: > > > + compatible: > > > + oneOf: > > > + - const: allwinner,sun8i-a83t-ths > > > + - const: allwinner,sun8i-h3-ths > > > + - const: allwinner,sun8i-r40-ths > > > + - const: allwinner,sun50i-a64-ths > > > + - const: allwinner,sun50i-h5-ths > > > + - const: allwinner,sun50i-h6-ths > > > + > > > + reg: > > > + maxItems: 1 > > > + > > > + interrupts: > > > + maxItems: 1 > > > + > > > + resets: > > > + maxItems: 1 > > > + > > > + clocks: > > > + minItems: 1 > > > + maxItems: 2 > > > + > > > + clock-names: > > > + anyOf: > > > + - items: > > > + - const: bus > > > + - const: mod > > > + - items: > > > + - const: bus > > > > This can be: > > > > clock-names: > > minItems: 1 > > Additionally, minItems should be 0, since A83T doesn't have bus clock/res= et. And > then there should be a special case for A83T too with min/maxItems =3D 0 = for both > resets and clocks. That's why I removed clocks, clock-names and resets from required properties. If they're present min/maxItems should be 1 and 2 accordingly. > regards, > o. > > > maxItems: 2 > > items: > > - const: bus > > - const: mod > > > > And the length should be checked based on the compatible value, with > > something like > > > > if: > > properties: > > compatible: > > contains: > > const: allwinner,sun50i-h6-ths > > > > then: > > properties: > > clocks: > > maxItems: 1 > > > > clock-names: > > maxItems: 1 > > > > else: > > properties: > > clocks: > > maxItems: 2 > > > > clock-names: > > maxItems: 2 > > > > > + > > > + '#thermal-sensor-cells': > > > + enum: [ 0, 1 ] > > > + description: | > > > + Definition depends on soc version: > > > + > > > + For "allwinner,sun8i-h3-ths", > > > + value must be 0. > > > + For all other compatibles > > > + value must be 1. > > > > This should be checked using an if as well. > > > > > + > > > + nvmem-cells: > > > + maxItems: 1 > > > + items: > > > + - description: Calibration data for thermal sensors > > > > You can drop the items and just move the description up one level, > > under nvmem-cells > > > > > + > > > + nvmem-cell-names: > > > + items: > > > + - const: calibration > > > > Ditto for the const > > > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - interrupts > > > + - '#thermal-sensor-cells' > > > > Whether clocks, clock-names and resets are thereshould be check using > > an if statement as well. > > > > > + > > > +examples: > > > + - | > > > + ths_a83t: ths@1f04000 { > > > > You don't need the label at all, and the node name should be > > temperature-sensor according to the DT spec, not ths. This applies to > > all you examples. > > > > > + compatible =3D "allwinner,sun8i-a83t-ths"; > > > + reg =3D <0x01f04000 0x100>; > > > + interrupts =3D <0 31 0>; > > > + nvmem-cells =3D <&ths_calibration>; > > > + nvmem-cell-names =3D "calibration"; > > > + #thermal-sensor-cells =3D <1>; > > > + }; > > > > New line. > > > > Thanks! > > Maxime > > 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=-6.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 E317CC432C3 for ; Wed, 27 Nov 2019 18:53:25 +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 BCFF42070B for ; Wed, 27 Nov 2019 18:53:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="cp7l0YAr"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="N8vdY+vl" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BCFF42070B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=gLYtgVTaiBPEYQWZj/6X4cOavTjqP70o09E+7J0l39Q=; b=cp7l0YArau012RqxWpmRe82sV7 L24gBEHDjPPo5eFYigFDcU6XHGpDUQ53yRHets86nn433OBmcHtlWkaXC1goy4jcnxmPZqHG0Ss78 K2RF+XQvMHsTNSi2DHAJ79xLiyYeztKPJYF2tyl/PVA/IkiFiRWvSORdFyedY+QV1ARhdplKEi/Vm qkPliUshivzxA/0HZtwwKjZqY80YjOou/kIRraaq+9mdAmjbOyVVlqOhxbzhMuSVqo72xt5W/EuHr NefvObv3DuWmFtNlIOcb01Gu5besIvOGaiainQuwM5EUiDEw8XDFHFXwHaL/5baUSitdS1fWa9CWi vsUXWdMg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia2RJ-0005hO-5i; Wed, 27 Nov 2019 18:53:25 +0000 Received: from mail-oi1-x243.google.com ([2607:f8b0:4864:20::243]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ia2RF-0005h2-K5 for linux-arm-kernel@lists.infradead.org; Wed, 27 Nov 2019 18:53:23 +0000 Received: by mail-oi1-x243.google.com with SMTP id l136so5430198oig.1 for ; Wed, 27 Nov 2019 10:53:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-transfer-encoding; bh=B7OdfyOfsvItvmaN0rYdNSg9G6SH0O4NS8qdePNGNsM=; b=N8vdY+vlJAQhjge4fCNhfz2W4+03pESQoSCgv88q2OlHXMyNb5KgDwo52mHKSK/4D5 6+Ro8/dh5tdnzYBZTchIotY9Bliv0l+waCLXOhRzpqsPOwOfJlqMq6KAiDGTIHWIdxy4 eNFZ4R6HMfsm//Y86ousrjQwK6cIajqJTjbWJSLMEreAY3VyYzy+6EX76/JpzO0N9mUa Ab3bg3doy/GnWBRHtoUin/0E0lzjBm/Q4jbyMuBVqasrsTA2zfyJm4+70JjmIu/m5PYe wBg3FPSV5rUVFe08TNISjx6zOXlxDNo6VChINu5JHQVzCx+Dskm3IBMiG0DbNWuTJM1S jTCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=B7OdfyOfsvItvmaN0rYdNSg9G6SH0O4NS8qdePNGNsM=; b=nuuUuQnSn7aTcRounGHrEDwCT2Os4MNEHblmYvc9OgofrO+DX3C3CSuwgLiTidNwq6 lFHluTqdJsnCgUs2jnKWwdVyF+0BUeOTNby8hOWiOHmxecq9JXZHsA/jaMha00Qn8xaO lwkc2rLGikAnPugHWU5kGsivzncalqCRj9Tyg087b04xF1sINGlTqIEtEKNFw9o8sTSI IYZqih0i3K2Cnkhud5erLRcIzhK6CNI8zlqjEBxMlBqiSeaJMqkhWZ26QM/VQignknqr hDyhzUy0wYpDk+m4D8JVzL68ikJ6tGjEHwklOpXUsv/9nKkMOSzXozxpWnixbETKHjLc HYRw== X-Gm-Message-State: APjAAAUNwv2Al3a5unkKbggN3V115qlsWcr4Ci3nNew6brVt1kbjEeSo 11fJc/m31nwNjzzfjSErZi1Mw9BdTdAo18Oaffw= X-Google-Smtp-Source: APXvYqx+wTrJMMEAadlR2TvpMsiJs6MouGSI7S70yGV387JqMw+U7ZdD2Kjv46qQTOWW6lu42qDvJ/n1yjP4CpNThoM= X-Received: by 2002:aca:5883:: with SMTP id m125mr5055567oib.145.1574880800897; Wed, 27 Nov 2019 10:53:20 -0800 (PST) MIME-Version: 1.0 References: <20191127052935.1719897-1-anarsoul@gmail.com> <20191127052935.1719897-3-anarsoul@gmail.com> <20191127174434.wousbqosmm5vxcsu@gilmour.lan> <20191127180743.ww5npenlg2urxtjn@core.my.home> In-Reply-To: <20191127180743.ww5npenlg2urxtjn@core.my.home> From: Vasily Khoruzhick Date: Wed, 27 Nov 2019 10:52:55 -0800 Message-ID: Subject: Re: [PATCH v6 2/7] dt-bindings: thermal: add YAML schema for sun8i-thermal driver bindings To: Maxime Ripard , Vasily Khoruzhick , Yangtao Li , Zhang Rui , Eduardo Valentin , Daniel Lezcano , Amit Kucheria , Rob Herring , Mark Rutland , Chen-Yu Tsai , Mauro Carvalho Chehab , "David S. Miller" , Greg Kroah-Hartman , Linux PM , devicetree , arm-linux , linux-kernel X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191127_105321_683604_CE0B1F51 X-CRM114-Status: GOOD ( 23.20 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 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+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gV2VkLCBOb3YgMjcsIDIwMTkgYXQgMTA6MDcgQU0gT25kxZllaiBKaXJtYW4gPG1lZ291c0Bt ZWdvdXMuY29tPiB3cm90ZToKPgo+IEhpLAo+Cj4gT24gV2VkLCBOb3YgMjcsIDIwMTkgYXQgMDY6 NDQ6MzRQTSArMDEwMCwgTWF4aW1lIFJpcGFyZCB3cm90ZToKPiA+IEhpLAo+ID4KPiA+IE9uIFR1 ZSwgTm92IDI2LCAyMDE5IGF0IDA5OjI5OjMwUE0gLTA4MDAsIFZhc2lseSBLaG9ydXpoaWNrIHdy b3RlOgo+ID4gPiBGcm9tOiBZYW5ndGFvIExpIDx0aW55LndpbmR6ekBnbWFpbC5jb20+Cj4gPiA+ Cj4gPiA+IHN1bjhpLXRoZXJtYWwgZHJpdmVyIHN1cHBvcnRzIHRoZXJtYWwgc2Vuc29yIGluIHdp ZGUgcmFuZ2Ugb2YgQWxsd2lubmVyCj4gPiA+IFNvQ3MuIEFkZCBZQU1MIHNjaGVtYSBmb3IgaXRz IGJpbmRpbmdzLgo+ID4gPgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBZYW5ndGFvIExpIDx0aW55Lndp bmR6ekBnbWFpbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFZhc2lseSBLaG9ydXpoaWNrIDxh bmFyc291bEBnbWFpbC5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgLi4uL3RoZXJtYWwvYWxsd2lubmVy LHN1bjhpLWE4M3QtdGhzLnlhbWwgICAgIHwgMTAzICsrKysrKysrKysrKysrKysrKwo+ID4gPiAg MSBmaWxlIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWxsd2lubmVyLHN1 bjhpLWE4M3QtdGhzLnlhbWwKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24v ZGV2aWNldHJlZS9iaW5kaW5ncy90aGVybWFsL2FsbHdpbm5lcixzdW44aS1hODN0LXRocy55YW1s IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3RoZXJtYWwvYWxsd2lubmVyLHN1 bjhpLWE4M3QtdGhzLnlhbWwKPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gaW5kZXgg MDAwMDAwMDAwMDAwLi5lNjIyZjBhNGJlOTAKPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiArKysg Yi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdGhlcm1hbC9hbGx3aW5uZXIsc3Vu OGktYTgzdC10aHMueWFtbAo+ID4gPiBAQCAtMCwwICsxLDEwMyBAQAo+ID4gPiArIyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ID4gPiArJVlBTUwgMS4yCj4gPiA+ICstLS0KPiA+ ID4gKyRpZDogaHR0cDovL2RldmljZXRyZWUub3JnL3NjaGVtYXMvdGhlcm1hbC9hbGx3aW5uZXIs c3VuOGktYTgzdC10aHMueWFtbCMKPiA+ID4gKyRzY2hlbWE6IGh0dHA6Ly9kZXZpY2V0cmVlLm9y Zy9tZXRhLXNjaGVtYXMvY29yZS55YW1sIwo+ID4gPiArCj4gPiA+ICt0aXRsZTogQWxsd2lubmVy IFNVTjhJIFRoZXJtYWwgQ29udHJvbGxlciBEZXZpY2UgVHJlZSBCaW5kaW5ncwo+ID4gPiArCj4g PiA+ICttYWludGFpbmVyczoKPiA+ID4gKyAgLSBZYW5ndGFvIExpIDx0aW55LndpbmR6ekBnbWFp bC5jb20+Cj4gPiA+ICsKPiA+ID4gK3Byb3BlcnRpZXM6Cj4gPiA+ICsgIGNvbXBhdGlibGU6Cj4g PiA+ICsgICAgb25lT2Y6Cj4gPiA+ICsgICAgICAtIGNvbnN0OiBhbGx3aW5uZXIsc3VuOGktYTgz dC10aHMKPiA+ID4gKyAgICAgIC0gY29uc3Q6IGFsbHdpbm5lcixzdW44aS1oMy10aHMKPiA+ID4g KyAgICAgIC0gY29uc3Q6IGFsbHdpbm5lcixzdW44aS1yNDAtdGhzCj4gPiA+ICsgICAgICAtIGNv bnN0OiBhbGx3aW5uZXIsc3VuNTBpLWE2NC10aHMKPiA+ID4gKyAgICAgIC0gY29uc3Q6IGFsbHdp bm5lcixzdW41MGktaDUtdGhzCj4gPiA+ICsgICAgICAtIGNvbnN0OiBhbGx3aW5uZXIsc3VuNTBp LWg2LXRocwo+ID4gPiArCj4gPiA+ICsgIHJlZzoKPiA+ID4gKyAgICBtYXhJdGVtczogMQo+ID4g PiArCj4gPiA+ICsgIGludGVycnVwdHM6Cj4gPiA+ICsgICAgbWF4SXRlbXM6IDEKPiA+ID4gKwo+ ID4gPiArICByZXNldHM6Cj4gPiA+ICsgICAgbWF4SXRlbXM6IDEKPiA+ID4gKwo+ID4gPiArICBj bG9ja3M6Cj4gPiA+ICsgICAgbWluSXRlbXM6IDEKPiA+ID4gKyAgICBtYXhJdGVtczogMgo+ID4g PiArCj4gPiA+ICsgIGNsb2NrLW5hbWVzOgo+ID4gPiArICAgIGFueU9mOgo+ID4gPiArICAgICAg LSBpdGVtczoKPiA+ID4gKyAgICAgICAgLSBjb25zdDogYnVzCj4gPiA+ICsgICAgICAgIC0gY29u c3Q6IG1vZAo+ID4gPiArICAgICAgLSBpdGVtczoKPiA+ID4gKyAgICAgICAgLSBjb25zdDogYnVz Cj4gPgo+ID4gVGhpcyBjYW4gYmU6Cj4gPgo+ID4gY2xvY2stbmFtZXM6Cj4gPiAgIG1pbkl0ZW1z OiAxCj4KPiBBZGRpdGlvbmFsbHksIG1pbkl0ZW1zIHNob3VsZCBiZSAwLCBzaW5jZSBBODNUIGRv ZXNuJ3QgaGF2ZSBidXMgY2xvY2svcmVzZXQuIEFuZAo+IHRoZW4gdGhlcmUgc2hvdWxkIGJlIGEg c3BlY2lhbCBjYXNlIGZvciBBODNUIHRvbyB3aXRoIG1pbi9tYXhJdGVtcyA9IDAgZm9yIGJvdGgK PiByZXNldHMgYW5kIGNsb2Nrcy4KClRoYXQncyB3aHkgSSByZW1vdmVkIGNsb2NrcywgY2xvY2st bmFtZXMgYW5kIHJlc2V0cyBmcm9tIHJlcXVpcmVkCnByb3BlcnRpZXMuIElmIHRoZXkncmUgcHJl c2VudCBtaW4vbWF4SXRlbXMgc2hvdWxkIGJlIDEgYW5kIDIKYWNjb3JkaW5nbHkuCgo+IHJlZ2Fy ZHMsCj4gICAgICAgICBvLgo+Cj4gPiAgIG1heEl0ZW1zOiAyCj4gPiAgIGl0ZW1zOgo+ID4gICAg IC0gY29uc3Q6IGJ1cwo+ID4gICAgIC0gY29uc3Q6IG1vZAo+ID4KPiA+IEFuZCB0aGUgbGVuZ3Ro IHNob3VsZCBiZSBjaGVja2VkIGJhc2VkIG9uIHRoZSBjb21wYXRpYmxlIHZhbHVlLCB3aXRoCj4g PiBzb21ldGhpbmcgbGlrZQo+ID4KPiA+IGlmOgo+ID4gICBwcm9wZXJ0aWVzOgo+ID4gICAgIGNv bXBhdGlibGU6Cj4gPiAgICAgICBjb250YWluczoKPiA+ICAgICAgICAgY29uc3Q6IGFsbHdpbm5l cixzdW41MGktaDYtdGhzCj4gPgo+ID4gdGhlbjoKPiA+ICAgcHJvcGVydGllczoKPiA+ICAgICBj bG9ja3M6Cj4gPiAgICAgICBtYXhJdGVtczogMQo+ID4KPiA+ICAgICBjbG9jay1uYW1lczoKPiA+ ICAgICAgIG1heEl0ZW1zOiAxCj4gPgo+ID4gZWxzZToKPiA+ICAgcHJvcGVydGllczoKPiA+ICAg ICBjbG9ja3M6Cj4gPiAgICAgICBtYXhJdGVtczogMgo+ID4KPiA+ICAgICBjbG9jay1uYW1lczoK PiA+ICAgICAgIG1heEl0ZW1zOiAyCj4gPgo+ID4gPiArCj4gPiA+ICsgICcjdGhlcm1hbC1zZW5z b3ItY2VsbHMnOgo+ID4gPiArICAgIGVudW06IFsgMCwgMSBdCj4gPiA+ICsgICAgZGVzY3JpcHRp b246IHwKPiA+ID4gKyAgICAgIERlZmluaXRpb24gZGVwZW5kcyBvbiBzb2MgdmVyc2lvbjoKPiA+ ID4gKwo+ID4gPiArICAgICAgRm9yICJhbGx3aW5uZXIsc3VuOGktaDMtdGhzIiwKPiA+ID4gKyAg ICAgIHZhbHVlIG11c3QgYmUgMC4KPiA+ID4gKyAgICAgIEZvciBhbGwgb3RoZXIgY29tcGF0aWJs ZXMKPiA+ID4gKyAgICAgIHZhbHVlIG11c3QgYmUgMS4KPiA+Cj4gPiBUaGlzIHNob3VsZCBiZSBj aGVja2VkIHVzaW5nIGFuIGlmIGFzIHdlbGwuCj4gPgo+ID4gPiArCj4gPiA+ICsgIG52bWVtLWNl bGxzOgo+ID4gPiArICAgIG1heEl0ZW1zOiAxCj4gPiA+ICsgICAgaXRlbXM6Cj4gPiA+ICsgICAg ICAtIGRlc2NyaXB0aW9uOiBDYWxpYnJhdGlvbiBkYXRhIGZvciB0aGVybWFsIHNlbnNvcnMKPiA+ Cj4gPiBZb3UgY2FuIGRyb3AgdGhlIGl0ZW1zIGFuZCBqdXN0IG1vdmUgdGhlIGRlc2NyaXB0aW9u IHVwIG9uZSBsZXZlbCwKPiA+IHVuZGVyIG52bWVtLWNlbGxzCj4gPgo+ID4gPiArCj4gPiA+ICsg IG52bWVtLWNlbGwtbmFtZXM6Cj4gPiA+ICsgICAgaXRlbXM6Cj4gPiA+ICsgICAgICAtIGNvbnN0 OiBjYWxpYnJhdGlvbgo+ID4KPiA+IERpdHRvIGZvciB0aGUgY29uc3QKPiA+Cj4gPiA+ICsKPiA+ ID4gK3JlcXVpcmVkOgo+ID4gPiArICAtIGNvbXBhdGlibGUKPiA+ID4gKyAgLSByZWcKPiA+ID4g KyAgLSBpbnRlcnJ1cHRzCj4gPiA+ICsgIC0gJyN0aGVybWFsLXNlbnNvci1jZWxscycKPiA+Cj4g PiBXaGV0aGVyIGNsb2NrcywgY2xvY2stbmFtZXMgYW5kIHJlc2V0cyBhcmUgdGhlcmVzaG91bGQg YmUgY2hlY2sgdXNpbmcKPiA+IGFuIGlmIHN0YXRlbWVudCBhcyB3ZWxsLgo+ID4KPiA+ID4gKwo+ ID4gPiArZXhhbXBsZXM6Cj4gPiA+ICsgIC0gfAo+ID4gPiArICAgIHRoc19hODN0OiB0aHNAMWYw NDAwMCB7Cj4gPgo+ID4gWW91IGRvbid0IG5lZWQgdGhlIGxhYmVsIGF0IGFsbCwgYW5kIHRoZSBu b2RlIG5hbWUgc2hvdWxkIGJlCj4gPiB0ZW1wZXJhdHVyZS1zZW5zb3IgYWNjb3JkaW5nIHRvIHRo ZSBEVCBzcGVjLCBub3QgdGhzLiBUaGlzIGFwcGxpZXMgdG8KPiA+IGFsbCB5b3UgZXhhbXBsZXMu Cj4gPgo+ID4gPiArICAgICAgICAgY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuOGktYTgzdC10 aHMiOwo+ID4gPiArICAgICAgICAgcmVnID0gPDB4MDFmMDQwMDAgMHgxMDA+Owo+ID4gPiArICAg ICAgICAgaW50ZXJydXB0cyA9IDwwIDMxIDA+Owo+ID4gPiArICAgICAgICAgbnZtZW0tY2VsbHMg PSA8JnRoc19jYWxpYnJhdGlvbj47Cj4gPiA+ICsgICAgICAgICBudm1lbS1jZWxsLW5hbWVzID0g ImNhbGlicmF0aW9uIjsKPiA+ID4gKyAgICAgICAgICN0aGVybWFsLXNlbnNvci1jZWxscyA9IDwx PjsKPiA+ID4gKyAgICB9Owo+ID4KPiA+IE5ldyBsaW5lLgo+ID4KPiA+IFRoYW5rcyEKPiA+IE1h eGltZQo+Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK