
From nobody Mon May  1 07:47:03 2017
Return-Path: <timjenki@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0DB32129C1B for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 07:47:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.822
X-Spam-Level: 
X-Spam-Status: No, score=-11.822 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id go6qIHwdNaGL for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 07:47:00 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6260D129AB2 for <netconf@ietf.org>; Mon,  1 May 2017 07:44:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5058; q=dns/txt; s=iport; t=1493649883; x=1494859483; h=from:to:subject:date:message-id:content-id: content-transfer-encoding:mime-version; bh=tnav2DawexlJfE8w31XaScXBo+fv+m7oQapW1i4hgug=; b=EZAOAn13GK8PUP7Le/WFnlmdF6U7SHbkvAMgILqk6NDeWSKfeCh5XFQH 5s1XXXmBLEdEPQLsPoS++UsnbxcLShGdhadH6U+pa1sSp+4hh0E9Feo/f t+jgYBDR1HcOLa7pxJj3CRZRNYUGeKLnr9DskHNx9SpWM6P7ehN7VXrcS Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BGAQDhSAdZ/4wNJK1dGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBg1UlPYEMB4NhihinOIIPIQ2GEoQdPxgBAgEBAQEBAQFrHQuFPxE?= =?us-ascii?q?aGCUBIgIIAR0CBC8BFRIEDwUYBASJHWEOnDuQDIImiwoBAQEBAQEBAwEBAQEBA?= =?us-ascii?q?QEBAR+BC4VUggmGEYRILoIxBZ1TAYcai3aCAo9ciHaLNgEfOIEKbxVWAYReHIF?= =?us-ascii?q?jdQEGh2MBgQwBAQE?=
X-IronPort-AV: E=Sophos;i="5.37,401,1488844800"; d="scan'208";a="238032166"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 01 May 2017 14:44:42 +0000
Received: from XCH-RTP-013.cisco.com (xch-rtp-013.cisco.com [64.101.220.153]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id v41Eifn2022426 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <netconf@ietf.org>; Mon, 1 May 2017 14:44:42 GMT
Received: from xch-rtp-011.cisco.com (64.101.220.151) by XCH-RTP-013.cisco.com (64.101.220.153) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 1 May 2017 10:44:41 -0400
Received: from xch-rtp-011.cisco.com ([64.101.220.151]) by XCH-RTP-011.cisco.com ([64.101.220.151]) with mapi id 15.00.1210.000; Mon, 1 May 2017 10:44:41 -0400
From: "Tim Jenkins (timjenki)" <timjenki@cisco.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: Subscriptions to non-existent data
Thread-Index: AQHSwol3jzH/5L4K90iinQbkbTuvQQ==
Date: Mon, 1 May 2017 14:44:41 +0000
Message-ID: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [161.44.212.158]
Content-Type: text/plain; charset="utf-8"
Content-ID: <5991C188F10C6441B927EB7DFDC47ABE@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/yOVyDbRuF1CQOyHRV6Z8Qn1sQFI>
Subject: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 14:47:02 -0000

QWxsLA0KDQpJbiBsb29raW5nIGF0IHRoZSBzdWJzY3JpYmVkIG5vdGlmaWNhdGlvbnMgZHJhZnQg
KGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJl
ZC1ub3RpZmljYXRpb25zLTAyKSwgSSdkIGxpa2UgdG8gc3VnZ2VzdCB0aGF0IHdlIGFsdGVyIHRo
ZSBsYW5ndWFnZSB0byBwZXJtaXQgdGhlIGV4aXN0ZW5jZSBvZiBzdWJzY3JpcHRpb25zIHRvIGRh
dGEgdGhhdCBkb2Vzbid0IGV4aXN0IChidXQgY291bGQpLiBPYnZpb3VzbHksIHN1YnNjcmlwdGlv
bnMgdG8gaW52YWxpZGx5IHNwZWNpZmllZCBkYXRhIHNob3VsZCBmYWlsLCBidXQgYXMgYW4gZXhh
bXBsZSwgYSBzdWJzY3JpcHRpb24gdG8gdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFuIGludGVy
ZmFjZSB0aGF0IGhhc24ndCB5ZXQgYmVlbiBjcmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQuDQoN
ClRoZSBwcm9zIGFyZToNCiogZWFzaWVyIHRvIGltcGxlbWVudDogbm8gY2hlY2sgb2YgcHJlc2Vu
Y2Ugb2YgZGF0YQ0KKiBmYXN0ZXIgc2V0dXAgdGltZTogYWdhaW4sIG5vIGNoZWNrIGZvciBwcmVz
ZW5jZSBvZiBkYXRhDQoqIHBvdGVudGlhbCB0byBzdWJzY3JpYmUgdG8gZW50aXJlIGxpZmV0aW1l
IG9mIGRhdGENCiogY29uc2lzdGVudCBiZWhhdmlvdXIgZm9yIGNvbmZpZ3VyZWQgYW5kIGR5bmFt
aWMgc3Vic2NyaXB0aW9ucw0KDQpUaGUgY29uczoNCiogdXNlIHJlc291cmNlcyBmb3IgdGhpbmdz
IHRoYXQgbWF5IG5ldmVyIGV4aXN0LCBpbmNsdWRpbmcgY29ubmVjdGlvbnMgdG8gcmVjZWl2ZXJz
DQoNCkxpZmV0aW1lIE1vbml0b3Jpbmc6DQoNClRoaXMgYXBwcm9hY2ggYWxsb3dzIHRoZSBzdWJz
Y3JpcHRpb24gdG8gdGhlIGVudGlyZSBsaWZlIG9mIG9iamVjdHMuIFdoaWxlIHRoaXMgaW4gc29t
ZSBjYXNlcyBiZSBoYW5kbGVkIGJ5IHN1YnNjcmliaW5nIHRvIHRoZSBwYXJlbnQgb2JqZWN0LCBp
dCBkb2Vzbid0IHdvcmsgaWYgYSB0b3AtbGV2ZWwgb2JqZWN0IGl0c2VsZiBpcyB0aGUgaXRlbSBv
ZiBpbnRlcmVzdCwgaW4gcGFydGljdWxhciBpZiBpdCdzIGEgcHJlc2VuY2UgY29udGFpbmVyLiBJ
biB0aGlzIGNhc2UsIGl0IG1heSBiZSBpbXBvcnRhbnQgdG8ga25vdyBleGFjdGx5IHdoZW4gdGhl
IHByZXNlbmNlIGNvbnRhaW5lciBhcHBlYXJzLCBkaXNhcHBlYXJzIGFuZCByZS1hcHBlYXJzLg0K
DQpPdGhlciBub3RlczoNCg0KQ29uZmlndXJlZCBzdWJzY3JpcHRpb25zIGZvciB0aGluZ3MgdGhh
dCBkb24ndCBleGlzdCBlZmZlY3RpdmVseSByZXF1aXJlIHRoZSBwdWJsaXNoZXIgdG8gcGxhY2Ug
YSBzdWJzY3JpcHRpb24gb24gdGhlIG5lYXJlc3QgZXhpc3RpbmcgcGFyZW50IG9iamVjdCwgYW5k
IG1haW50YWluIHRoYXQgaW50ZXJuYWwgc3Vic2NyaXB0aW9uIHVudGlsIHRoZSBzdWJzY3JpYmVk
IHRvIGl0ZW0gZXhpc3RzLCBhbmQgdGhlbiBhdCB0aGF0IHRpbWUsIG1ha2UgdGhlIHN1YnNjcmlw
dGlvbiBhY3RpdmUuIFRoaXMgaXMgY29tcGxpY2F0ZWQgYnkgdGhlIHBvc3NpYmlsaXR5IHRoYXQg
dGhlIHBhdGggdG8gdGhlIGl0ZW0gb2YgaW50ZXJlc3QgY2FuIGxlbmd0aGVuIG9yIHNob3J0ZW4g
YmVmb3JlIHRoZSBpdGVtIGNvbWVzIGludG8gZXhpc3RlbmNlLiBUaGUgcmVzdWx0IGlzIHRoYXQg
dGhlcmUgaXMgbGVzcyBuZXQgcmVzb3VyY2Ugc2F2aW5ncyBpbiB0aGUgY29uZmlndXJlZCBzdWJz
Y3JpcHRpb24gY2FzZSwgYW5kIGltcGxlbWVudGF0aW9uIGlzIG1vcmUgY29tcGxleCwgYmVjYXVz
ZSB0aGUgdHlwZS91c2Ugb2YgdGhlIHN1YnNjcmlwdGlvbiBoYXMgdG8gY2hhbmdlIHdoZW4gdGhl
IGRhdGEgYXBwZWFycyBhbmQgYWdhaW4gd2hlbiB0aGUgZGF0YSBkaXNhcHBlYXJzLg0KDQpJbnN0
ZWFkLCBpZiB0aGUgc3Vic2NyaXB0aW9uIGlzIGNvbnNpZGVyZWQgdmFsaWQsIGNvbm5lY3Rpb25z
IHRvIHJlY2VpdmVycyBjYW4gYmUgc2V0dXAgYW5kIHRoZSB0cnVlIHN0YXRlIG9mIHRoZSBzdWJz
Y3JpYmVkIHRvIGRhdGEgY2FuIGJlIHNlbnQgdG8gdGhlIHJlY2VpdmVycy4gVGhlcmUgaXMgbm8g
bmVlZCBmb3IgaW50ZXJuYWwgc3Vic2NyaXB0aW9ucyB0aGF0IGFmZmVjdCB0aGUgc3RhdGUgb2Yg
Y29uZmlndXJlZCBzdWJzY3JpcHRpb25zLiBJdCBhbHNvIG1ha2VzIHRoZSBpbXBsZW1lbnRhdGlv
biBiZWhhdmlvdXIgYmV0d2VlbiBkeW5hbWljIGFuZCBzdGF0aWMgc3Vic2NyaXB0aW9ucyBtb3Jl
IGNvbnNpc3RlbnQ6IHRoZXJlIGlzIG5vIGludGVybmFsIGNoYW5nZSBvZiBiZWhhdmlvdXIgd2hl
biB0aGUgc3Vic2NyaWJlZC10byBkYXRhIGRvZXNuJ3QgZXhpc3QuDQoNCkV4cGVjdGVkIGJlaGF2
aW91cjoNCg0KRm9yIG9uLWNoYW5nZSB0cmlnZ2VyZWQgc3Vic2NyaXB0aW9ucyB0byBub24tZXhp
c3RlbnQgZGF0YSB3aXRoIG5vLXN5bmMtb24tc3RhcnQgZGlzYWJsZWQsIHRoZSBpbml0aWFsIHN5
bmMgd291bGQgYmUgYW4gZW1wdHkgdXBkYXRlIG5vdGlmaWNhdGlvbi4NCg0KRm9yIHBlcmlvZGlj
IHRyaWdnZXJlZCBzdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhLCB0aGUgZXhwZWN0
YXRpb24gaXMgdGhhdCBlbXB0eSB1cGRhdGUgbm90aWZpY2F0aW9ucyBhcmUgc2VudCBhdCB0aGUg
cGVyaW9kIHJlcXVlc3RlZC4NCg0KTm90ZSB0aGF0IHdoZW4gdGhlIHN1YnNjcmliZWQgdG8gZGF0
YSBhcHBlYXJzLCBhbiBhY2Nlc3MgcGVybWlzc2lvbnMgY2hlY2sgbXVzdCBiZSBkb25lLiBJZiB0
aGUgc3Vic2NyaWJlci9yZWNlaXZlciBoYXMgbm8gcGVybWlzc2lvbiB0byBhY2Nlc3MgdGhlIGRh
dGEsIHRoZSBiZWhhdmlvdXIgdG93YXJkIHRoYXQgc3Vic2NyaWJlci9yZWNlaXZlciBjb250aW51
ZXMgYXMgdGhvdWdoIHRoZSBkYXRhIGRvZXMgbm90IGV4aXN0Lg0KDQpTaW1pbGFybHksIHdoZW4g
dGhlIGRhdGEgY2Vhc2VzIHRvIGV4aXN0LCBvciBhY2Nlc3MgcGVybWlzc2lvbiBjaGFuZ2Ugb2Nj
dXJzIHRoYXQgcHJldmVudHMgdGhlIHJlY2VpdmVyIGZyb20gYWNjZXNzIHRoZSBkYXRhLCB0aGUg
dXBkYXRlIG5vdGlmaWNhdGlvbnMgbXVzdCBjb252ZXkgdGhlIGlkZWEgdGhhdCB0aGUgZGF0YSBu
byBsb25nZXIgZXhpc3RzLiBUaGlzIG1lYW5zIGZvciBhbiBvbi1jaGFuZ2UgdHJpZ2dlcmVkIHN1
YnNjcmlwdGlvbiwgYSBkZWxldGUgb3BlcmF0aW9uIGlzIHNlbnQuIE5vdGUgdGhhdCBhbGxvd2lu
ZyBzdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhIGRvZXNuJ3QgY2hhbmdlIHRoZSBs
YXR0ZXIgYmVoYXZpb3VyLiBBbGwgdGhhdCB3b3VsZCBjaGFuZ2UgaXMgdGhhdCB0aGUgc3Vic2Ny
aXB0aW9uIGlzIG5vdCBkZWxldGVkIGFmdGVyIHRoZSBkZWxldGUgdXBkYXRlIG5vdGlmaWNhdGlv
biBpcyBzZW50Lg0KDQpUaGFua3MsDQoNClRpbSBKZW5raW5zDQoNCi0tIA0KQ2lzY28gU3lzdGVt
cyBDYW5hZGEgQ28uDQoyMDAwIElubm92YXRpb24gRHJpdmUNCkthbmF0YSwgT04sIENhbmFkYSwg
SzJLIDNFOA0KUHJlZmVyZW5jZXMgPGh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmli
ZS8/c2lkPTAwMDQ3ODMyNj4NClVuc3Vic2NyaWJlIDxodHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZl
ci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNz4NClByaXZhY3kgPGh0dHA6Ly93d3cuY2lzY28u
Y29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbD4NCg0KDQoNCg0K


From nobody Mon May  1 11:42:21 2017
Return-Path: <phil@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 588191200B9 for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 11:42:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.021
X-Spam-Level: 
X-Spam-Status: No, score=-2.021 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kITU3ma_myl7 for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 11:42:17 -0700 (PDT)
Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0120.outbound.protection.outlook.com [104.47.40.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4C9211286AB for <netconf@ietf.org>; Mon,  1 May 2017 11:39:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dEhSfnQWRzy7YydVhyTvjjXBzPXdYJZp8XHqG9FA4Vg=; b=W8Sv+c/EldwerEiTMfgSpEZ1DCXZH/RdwWKqmtVvQQtws0ULM+pV81qAGmXDkCNqfTZ7BrVJP8C1O/Z0bunVoc/j+euMaKknL7RklRMoopsOsifqWVenbqx5Tbdbg0LmXE/EITy9zo+3l2hHa6YuXeqmrnZP0wJsVEafg3CRBYA=
Received: from CO2PR05CA0010.namprd05.prod.outlook.com (10.166.88.148) by BY2PR05MB046.namprd05.prod.outlook.com (10.242.34.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.6; Mon, 1 May 2017 18:39:08 +0000
Received: from DM3NAM05FT033.eop-nam05.prod.protection.outlook.com (2a01:111:f400:7e51::204) by CO2PR05CA0010.outlook.office365.com (2603:10b6:102:2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1075.1 via Frontend Transport; Mon, 1 May 2017 18:39:08 +0000
Authentication-Results: spf=softfail (sender IP is 66.129.239.12) smtp.mailfrom=juniper.net; ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=fail action=none header.from=juniper.net;
Received-SPF: SoftFail (protection.outlook.com: domain of transitioning juniper.net discourages use of 66.129.239.12 as permitted sender)
Received: from p-emfe01a-sac.jnpr.net (66.129.239.12) by DM3NAM05FT033.mail.protection.outlook.com (10.152.98.145) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.1019.24 via Frontend Transport; Mon, 1 May 2017 18:39:07 +0000
Received: from p-mailhub01.juniper.net (10.160.2.17) by p-emfe01a-sac.jnpr.net (172.24.192.21) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 1 May 2017 11:39:06 -0700
Received: from idle.juniper.net (idleski.juniper.net [172.25.4.26])	by p-mailhub01.juniper.net (8.14.4/8.11.3) with ESMTP id v41Id6Ko026648;	Mon, 1 May 2017 11:39:06 -0700	(envelope-from phil@juniper.net)
Received: from idle.juniper.net (localhost [127.0.0.1])	by idle.juniper.net (8.14.4/8.14.3) with ESMTP id v41IcxRY024434;	Mon, 1 May 2017 14:38:59 -0400 (EDT)	(envelope-from phil@idle.juniper.net)
Message-ID: <201705011838.v41IcxRY024434@idle.juniper.net>
To: "Tim Jenkins (timjenki)" <timjenki@cisco.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
In-Reply-To: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com>
Date: Mon, 1 May 2017 14:38:58 -0400
From: Phil Shafer <phil@juniper.net>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-Office365-Filtering-HT: Tenant
X-Forefront-Antispam-Report: CIP:66.129.239.12; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39450400003)(39860400002)(39410400002)(39850400002)(39400400002)(2980300002)(189002)(199003)(9170700003)(2950100002)(50466002)(53416004)(48376002)(110136004)(38730400002)(81166006)(77096006)(6916009)(2810700001)(7696004)(76506005)(478600001)(50986999)(54356999)(106466001)(305945005)(105596002)(2906002)(4326008)(86362001)(229853002)(8936002)(47776003)(189998001)(8276002)(7126002)(1076002)(5660300001)(53936002)(356003)(8676002)(6306002); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR05MB046; H:p-emfe01a-sac.jnpr.net; FPR:; SPF:SoftFail; MLV:sfv; MX:1; A:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; DM3NAM05FT033; 1:qkJtgFR2rPQw5dIIX94KwsvZFLNyUl2giqEg4xhUnF3oca8GSoRadrll7/VEz2tM2p9SuQ51BYFS4kImC+2EJvdlcJdm8eBxWD9rpuOw/y6/nGMTrQj54OnqdfP3tvBYcfj8E2z3jdboq042ofAFdThU3QGASKSkU8x5k8y16YKJW7TelP3fXOY4ImRp8QDEH/fQtF0Sa4WEMiqgvK2qNHNP49xViF+h8xo2Ua+AhUF0dOwtJ9qJFaUk705K8kpsOJU3BygW9REY4Wn/kd8CmseAUv8jWYtYxyK5dtqVbfq/guRQM4mmU/LKg9SNFeD/KmATlxxJNi/4Ys8ONSEy/G+zv6iEsacBNpipK4Ehi2FjPLi8H3mAM2HQvZGS/mpD+3g/Xdeve8IfIgwLPkQIS64SdFV1aimejQkzk6936AqK/MLTKruPl825JLNkvUzgrtaPbDoJrF7HP3oTwKPEqL5o1mF24q1cOHgav3d2x7d+Yr3+o6Kvpzze83Tx77INTdvsEJ2U3Je6d2CKc5OVgrG0w19NEVKnk017OAKBKvaPHFIrKkfGcqyTqknmnrNFBzvctntsIGM96VtrYaPb4uizcSgkSttrOuN5TayhefHzd4EUDZlFpddqQeHFYkVs
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 75266081-368a-4991-017a-08d490c159f9
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081)(201702281549075); SRVR:BY2PR05MB046; 
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 3:OZthVF1hfgi0BInGkwkEVGPGV9c3DeHmtj4Aa3AghluhmbyPL+hYLuPaN3j9ZumhgknuLaO+M3L3lbbbg5+geT6Y4CFXuzoL0/4Flog3cLR7CUXz+b9g1InloTTeYAjqKj3H3FqbC2VOuLU9GXihN52sG2i3t1z3Z8Q6+h4esJ41X84KBE8s+YEdBAdsGI4uz6NKp3rXx3csgdjcHNr2rCXHEy/TeR29dCMD2GXQ3wWKEwBAyr94Ej22wYCNA11Ewh+5bCOcPz5RQaz9hysg44/lRYPAeC/d2objlzbTc7ndOpYz5OPR3dNKk8aZ6kskE96Ziqu3yTOZJlGoPcHAVDVpVcYgw9ldwJ8b2vgN7cyc5I/cN84hjAn+6ethu+2TYRXhJuYgmcSNH105vEF1x6CNoD52zoLh2dxTG21UznM1Q3PWmqcshtbXbILCFbpod7l/qADHkCiVjjsdRRwJ5MCJ1D19KDjCUTtVrj2NYpK4gZ4BlfAVRpwY0aPPlflR
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 25:Cwlc12q5SL2i85Kh0PrqKvrQOscw1mZRYx16V6jIIL89nPVauu1I832zU3Ix3EplEWOOaRJKSYxbb79i1Hjw5vgiFsEsYEwH9BUHm12EH1ppFhjVKtc4F0CGIvwcrcPevLN+VlIO5l2zU1JD6ejgo5+Q3M2ZFWZsw57Sedv2yWC6SwVWlbuiXz/PDuQfkoRLeCdddA9qCSJ8d/nuHkS7rE6tlIy1qBSM8a2AWGyCv3TJylZ9+Gyo8N7uDjbxQWnewo1kk6xqFKpX+WsrwkDHBRXeAodzNHcrZeNJYZIq2uoJukKPV0C21ObjXDYFV7j9rmgHOjV3yN+YJUxF45nRKoTQWeCTQnaLgQ4VYNzdzfuFK9yzKt6K5rZDNrNaCUUYz8mu4dS81cl2fsA7xVl6jM5J+Q0VN77vmeDkJuG8X6mtWjoxNPxTybOsA0wTmUnuiB0mr6NSKdLvu7mgGh92EwX5QLfTkjY2LXckU/HFPvc=; 31:KHy69Xt4c+VJVFoNyDd0+LLCH4J9gF0rBfQfJv5gHAa/qbuZqf5pqHpLinipmZblGsIcU6QscZgwKVpRPWGPP2Ejqwhg5RedOj53VPZGsap8o3se2c/4/tHmKanrwpBS0FjS0J9DDRqwMSELY71fcF3BcIkTu+5u/a2fZAoq5HCenOE3T2TLVuqTmklQSSn0f2qhN8Z+Zg+yKp3eQrmWkb6WIm9FMK4ZQ6M0BKJVtdaHAdmC3mX0uzg6d0iCbs7AEurW+Q96w/UXBhY/LCizGf/lUhS2E/y9vf7ICGLqMxM=
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 20:oqI93bb7IRp/HqrTV/uUgbwAoG0Vwnm1VIKsDPtgMDXgi1g2MUNe38R68OMEwKO7ytEly1R7/Hg1OI3WxuDSAuUdqyM06cWQlHvj6AsVfO5sN78mrdXbvLW6UlHI1H6UW8vh8o2kyjgdvcAMKHAmFvVPYlQx/zEK4rWNSb8YBLP3BRUJuk8in3oJ7wV+HWDd/CURhiqIy1ftpPEwW72F9FJPIdqe0GKBCysiP9M1SILBKLN6TRFqICRx/iZxBhf0mHEYrWjHseHzvmx96K7OFHW7v5atM6S81NKZZTSAe8I4yY19neEpC8u8mAqkj7o06r+1PBQjL4uvg8hiXDOk3OnmlldUVIrC1x4rmW4a4C8V6nT2iVhu8zVsK+uL7dCwgVeXIJdgsFCC/GcAiC3RVAoERiTKg8K/xdDu+rRLMVN+e/j7XFoyCBZgh1dAgqtga2PzepHklJsAauptzRKtK37JVjCkCCplJIghCTPwDKgeioi+Z8pP7P8ySVvMTvns
X-Microsoft-Antispam-PRVS: <BY2PR05MB0462B50F0436B423213561CC9140@BY2PR05MB046.namprd05.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(13017025)(13015025)(5005006)(8121501046)(13023025)(13024025)(13018025)(10201501046)(3002001)(93006095)(93003095)(6055026)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123562025)(20161123558100)(20161123564025)(6072148); SRVR:BY2PR05MB046; BCL:0; PCL:0; RULEID:; SRVR:BY2PR05MB046; 
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 4:JmnKNEexrQ7qd+MLL/PsNazY0XbkuhHkKv4fxgxfMAPA+jiCpKj1mGO/yTYUNqoM+ZsGiYnqE2IkeN65qU2RqxRmK9njKtjQiDVrzPTdQykrtUCi2652uQ8FFWD5bnvx3+VDRtSIQ2rNf7BykeweJwW/nYSNzTORYYtrckyT1+PnGhoAuOGOX1gyWb7y4twCbXQNulOQnv8c7kv/sQwzjfnWtI7ygaZlJ47kn1/3x9OpJ+caA5b4qK74nx6cCcLD4/QBuHFZQxhcApTRzZxh+nntbTAgriC+oKYc7E7Qcmj8AORpvrbgosk/vzxJU+niOP3gvvjhxdrhCdOz95Vry4YF1LVaiGM405D9YJHqzuccDFedjTbuPyqFZ+nLYrV5YWOTf/05++PEJIer8ukOBfwl2mjoTtZMvQfLm2wFf4OBS24SqTLNJPW+DsoQu3fqSy8OBHOwq6+WdMUuS6x5nRdEXXqww+X9XqPViz06BXuXLtUD5lOhMV0IsT7YbsDE7GKQj8J+BqwZXuAtek4eG8WkOBzkWp0ZRnzjPAlEsaNfVw5gzhDRmgtD+NoBGeowMtZYwqXIpB8CXAOqBUGFRmO1VaOSUJzK2jQG7IsM4EAgftrtFe0RU6xBzZCAyMHqh0jQrq/D2qzaX+eeT0qVL6HkfnB/q6H1K8K4dyT/VXNgwJf2wwZmhC4oy+6++ATHAgr3IRposHz6bXRRj82+UTi2OmJt/e6dEBIneuJFo+jcWPT1uc5kwmglHXRBTY/hx1SL5sVDg/g307RLa9XJjlt2uX8EmpXm4tCsow1Yuo8BCl1MgQraKP1zGSWPwME0Z8zDO64bnDnHxuxBGJLbZ5GQj/4Lrvv2vR3S8qoZ+LyPbx3TpO0S+AFAVdW86tKwO7MKnTe2KwqP1lHzHswBDQ==
X-Forefront-PRVS: 02945962BD
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR05MB046; 23:PM29q/a9NgTyZsTV2feiZ4cE8hWTPGrz8kf5KGxwu+?= =?us-ascii?Q?xDG5CtvKgBQclEzAZXjq+NyHIbBhDqi9ID5I0DdEgIuslGDAfKsuGxubxG2B?= =?us-ascii?Q?H54JKeifM+HkgVLafYPnS0K4GKhHIyCOhmqQ6vEYuTGc/sKWPxmtCwTWJGkd?= =?us-ascii?Q?Eg8kCb9iNI0iRmqDbuPSx6rFf86U0ovbi6slzwXadelYJ1Dw1+7J0NltxT36?= =?us-ascii?Q?LjBloog3Dr77KGNbV0JpP4I06Y4IzcDJJj/cPInlsHMWjX4ATy6MhkM6MV7R?= =?us-ascii?Q?3kMw2Tz6qCZUmGQpEQ0i9cHIpFHIjIZnUCAwHtxHaxurUPbk6yoUFb5FZO8j?= =?us-ascii?Q?7Hjz7nY2/4m7FJa4vPd0Pe1tk5e4B2TQ33NQ7E1YqqysD5zQB+4uJNCX/kez?= =?us-ascii?Q?KNhbDHFoHJ4Q3IIySutxSATeAS06tS7elUhRU6YXnNESgghu5q3w96rCvYGT?= =?us-ascii?Q?1ArMgTM0by4c9Dd3dLXWF3/aLZ4HSTJws4YqaYl/X/mzoO++a7zHw1GquUYT?= =?us-ascii?Q?UQtP3zXGMgqPNmciua9ntU1mnzai00ZBsmhU5/JUaWQL9tLNVxcTbySYnfA2?= =?us-ascii?Q?CuB8G4B6OFMHJB2OhmopmfxYP++Boz0badoZaouqk79EJy1ymicqwmxbQb7i?= =?us-ascii?Q?AVAOHxFZTM/o0fCt/gf79GYZ2lgCxVLzAVYS91K/nPia7fx9VXCdQadY76Am?= =?us-ascii?Q?JxJbr7AJK2BpJ/SfBJQBteyINgnb9hh8jiOFlJ049f7QxVeUSsz4iOIEgnmj?= =?us-ascii?Q?d52TFgF+hfeF0HzbzS5YMU1ODIHcogCUpoIkCSMBX03vbGJSsC0x4toiK2uD?= =?us-ascii?Q?jhg41C/zvy/NHjnmNLT94jct45cjsuoH3mO097yh+oZU2i221LSyL79+e/pp?= =?us-ascii?Q?n6IaMXkjfjtaDdfXnOe/F/wU6fMwkrr0niZ2bjpUeqDr3agY0I2XZm5INnDx?= =?us-ascii?Q?T4UFxMbsO1D9QWsH3oPJPHy8sv+YIxe5KQVBENOkW42pe4gpnv2/75kZ8ZrR?= =?us-ascii?Q?R9f3tu4yPmpDfMd3cyNDeJzd3ByTP4K3PVCKvkIiYcBH8kANBu/6/5MPsZc4?= =?us-ascii?Q?IyuY5Xu73HpyOCYs4XReHTbi0N4BfMyQHhZEB+eGbHJx+b3Q=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 6:W6J3RQtvs3AXJVss0hu0lD7wupnA3W5vfrh2cjSN9Ap2qq/7K+SNuoSBKABsHEmeiCOasit7vl0bfe0U7sJdM2Jt0+OWsYWidQiLYsV7BB81dmfaoDYBNtM1paymDm0CI6wjTYD6OQ5+4POYVSuJMr5VR00KrNzXQUH1jHx5xJqsu/70izZwuRZ65+9jZquQ/QuTiy80BPb1Ll6LT6w+rVkD4CRjQ/EnqXNTN2ddhY+vjPIUL2DY/tZH+lTvbDKs8924wUS9xK70eGqv1NU2Q/eJRMcaXwfURxfA9BrK1Ov4HcEwwfcuMkZldL8TqCU6/nK0GSRjh4RnEbs185fO+DF60d7LskeXJKC/7SG5RWoDHPLc5A+cbCuXC+AwFPIjsb8GcjffkrzmTJEi5itc3ctyK4YaKfLLXzS2SIin2pc7DVIRDF8zm4GSL8H6gMajfZytYeg3JXbApKbqx1dhcagZSSPBZeHlfZ9kvgx65BVwuNBo91L25iuoWDZWdnz0PVlMnn8XloU0U5wZS9fzU/txyBoPVUHKXH4e+d6rrpU=; 5:U1s7onmqCfUkzshyijFxJL328ml7SZgwMVeZnpc3f8Thj0EuW7yPPZNv1LwI+Z0phDzhzuXp5WpB0Oib7ukjGdXQnzVCpKO4PatFSoVYqRIXBU/SvxIFYhb1GI39828K/b3i2TxwJ/2KNXKIKoGklz9RD7UryQYDJ/1Yq6cZCR0=; 24:xG+5+O9IeWjDhisgYrbw68eeFNvG8W0vTOpX4Qhv0CR6ee8EoqYtIYkDdsNl3xkDU4vriLQnBE6/o3jySeGotn0+Xh6ltVCROJuiBLYCicY=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY2PR05MB046; 7:8GoAQFVTAjq9rbjyOoYNzu7XmvSGn8cSBB1kqo93hHqzU+H/bm2X/xz8fYilu1njAmVhOs4Re++7NN/HaMjH/pO/COzAmu/hVuZwl5+N+ysEQZnZ1VjMtSwYfy56M5TwV67ib15kaPPj6Zj4CcgjJpkFm6d2P/n/NLhTjVNiDA1rf2fquPHjfWAKTk2/tTxSjF+7H4ERzBqV1fmFuA1kKmKwDIqIBW+zdzPo06ubJz9MmdN9c7U9PqNqKNJ7hhI/+nGpYHwirwIVzBLYMKDF+tB55brp0Qwwy5ZY6+3Fc1j/YspT7gjmkqxeP7P9YhH2zpgb1sIJjoIssVrtRyPOjg==
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2017 18:39:07.5438 (UTC)
X-MS-Exchange-CrossTenant-Id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=bea78b3c-4cdb-4130-854a-1d193232e5f4; Ip=[66.129.239.12];  Helo=[p-emfe01a-sac.jnpr.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR05MB046
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/4UG4VE2qBJtYB3QoZOA7zWjWnAs>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 18:42:19 -0000

+1


"Tim Jenkins (timjenki)" writes:
>In looking at the subscribed notifications draft (https://tools.ietf.org/html/draft-ietf-netconf-subscribed-notifications-02), I'd like to suggest that we alter the language to permit the existence of subscriptions to data that doesn't exist (but could). Obviously, subscriptions to invalidly specified data should fail, but as an example, a subscription to the operational state of an interface that hasn't yet been created should be permitted.


From nobody Mon May  1 12:02:28 2017
Return-Path: <timjenki@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1DB2112EA57 for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 12:02:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.521
X-Spam-Level: 
X-Spam-Status: No, score=-14.521 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 94r6tSYSy-rS for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 12:02:25 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8CC4412EA53 for <netconf@ietf.org>; Mon,  1 May 2017 11:59:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=22528; q=dns/txt; s=iport; t=1493665150; x=1494874750; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=GJOQIxLxGVW7+gUbhABgZm/G27OToMAPE/wGeV5+xwI=; b=WjeAEOiJYrpmc8DUxBWjtbLkPEb8JU1flXhCP+sfM6h6pGcq0I/O5Ns/ yceoCcF/Vn9Qke1mzZL/QO3W38FILzwcTg+XRNsC+7ANxN7xgJsiebhjq nQ25r8y+xQ6lfM4enV3fuB5gsDw9BZvSR3elo1YlIYOHfzK2JSspVSFbR w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DhAQBhhAdZ/4cNJK1dGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nYoEMB4NhihiRLCGQNoU3gg8hAQyFdgIahCE/GAECAQEBAQE?= =?us-ascii?q?BAWsdC4UVAQEBAQMjKxgjAgEIEQMBAg0BHQICAi8BHQgCBA8EARgEBIl+Dq4Sg?= =?us-ascii?q?iYrimQBAQEBAQEBAQEBAQEBAQEBAQEBAQEdhl+CCQuCZYMhgWKCZi6CMQWWVYZ?= =?us-ascii?q?+AYcai3aCAo9ciHaLNgEfOIEKbxVWAYReHIFjdQEGh2OBDQEBAQ?=
X-IronPort-AV: E=Sophos; i="5.37,401,1488844800"; d="scan'208,217"; a="21985611"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 01 May 2017 18:59:09 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v41Ix9C0007100 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <netconf@ietf.org>; Mon, 1 May 2017 18:59:09 GMT
Received: from xch-rtp-011.cisco.com (64.101.220.151) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 1 May 2017 14:59:08 -0400
Received: from xch-rtp-011.cisco.com ([64.101.220.151]) by XCH-RTP-011.cisco.com ([64.101.220.151]) with mapi id 15.00.1210.000; Mon, 1 May 2017 14:59:08 -0400
From: "Tim Jenkins (timjenki)" <timjenki@cisco.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: Subscriptions to non-existent data
Thread-Index: AQHSwol3jzH/5L4K90iinQbkbTuvQaHf1PUA
Date: Mon, 1 May 2017 18:59:08 +0000
Message-ID: <012596F2-2AA8-4B7D-8499-E5BAE3CED9C0@cisco.com>
References: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com>
In-Reply-To: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.219.127]
Content-Type: multipart/alternative; boundary="_000_012596F22AA84B7D8499E5BAE3CED9C0ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/YW5clZA0RU0n1ZNC9CE9pH01Ofw>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 19:02:27 -0000

--_000_012596F22AA84B7D8499E5BAE3CED9C0ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QWxsLA0KDQpBIGNsYXJpZmljYXRpb246IHRoaXMgaXMgcmVhbGx5IGRpcmVjdGVkIG1vcmUgYXQg
WUFORy1QdXNoIChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25m
LXlhbmctcHVzaC0wNSkgdGhhbiBpdCBpcyBhdCBzdWJzY3JpYmVkIG5vdGlmaWNhdGlvbnMuDQoN
ClNvcnJ5IGZvciB0aGUgY29uZnVzaW9uLCBpZiBhbnkuDQoNClRpbQ0KDQotLQ0KQ2lzY28gU3lz
dGVtcyBDYW5hZGEgQ28uDQoyMDAwIElubm92YXRpb24gRHJpdmUNCkthbmF0YSwgT04sIENhbmFk
YSwgSzJLIDNFOA0KUHJlZmVyZW5jZXMgPGh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNj
cmliZS8/c2lkPTAwMDQ3ODMyNj4NClVuc3Vic2NyaWJlIDxodHRwOi8vd3d3LmNpc2NvLmNvbS9v
ZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNz4NClByaXZhY3kgPGh0dHA6Ly93d3cuY2lz
Y28uY29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbD4NCg0KDQpGcm9tOiAiVGlt
IEplbmtpbnMgKHRpbWplbmtpKSIgPHRpbWplbmtpQGNpc2NvLmNvbT4NCkRhdGU6IE1vbmRheSwg
TWF5IDEsIDIwMTcgYXQgMTA6NDQgQU0NClRvOiAibmV0Y29uZkBpZXRmLm9yZyIgPG5ldGNvbmZA
aWV0Zi5vcmc+DQpTdWJqZWN0OiBTdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhDQoN
CkFsbCwNCg0KSW4gbG9va2luZyBhdCB0aGUgc3Vic2NyaWJlZCBub3RpZmljYXRpb25zIGRyYWZ0
IChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNjcmli
ZWQtbm90aWZpY2F0aW9ucy0wMiksIEknZCBsaWtlIHRvIHN1Z2dlc3QgdGhhdCB3ZSBhbHRlciB0
aGUgbGFuZ3VhZ2UgdG8gcGVybWl0IHRoZSBleGlzdGVuY2Ugb2Ygc3Vic2NyaXB0aW9ucyB0byBk
YXRhIHRoYXQgZG9lc24ndCBleGlzdCAoYnV0IGNvdWxkKS4gT2J2aW91c2x5LCBzdWJzY3JpcHRp
b25zIHRvIGludmFsaWRseSBzcGVjaWZpZWQgZGF0YSBzaG91bGQgZmFpbCwgYnV0IGFzIGFuIGV4
YW1wbGUsIGEgc3Vic2NyaXB0aW9uIHRvIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiBhbiBpbnRl
cmZhY2UgdGhhdCBoYXNuJ3QgeWV0IGJlZW4gY3JlYXRlZCBzaG91bGQgYmUgcGVybWl0dGVkLg0K
DQpUaGUgcHJvcyBhcmU6DQoqIGVhc2llciB0byBpbXBsZW1lbnQ6IG5vIGNoZWNrIG9mIHByZXNl
bmNlIG9mIGRhdGENCiogZmFzdGVyIHNldHVwIHRpbWU6IGFnYWluLCBubyBjaGVjayBmb3IgcHJl
c2VuY2Ugb2YgZGF0YQ0KKiBwb3RlbnRpYWwgdG8gc3Vic2NyaWJlIHRvIGVudGlyZSBsaWZldGlt
ZSBvZiBkYXRhDQoqIGNvbnNpc3RlbnQgYmVoYXZpb3VyIGZvciBjb25maWd1cmVkIGFuZCBkeW5h
bWljIHN1YnNjcmlwdGlvbnMNCg0KVGhlIGNvbnM6DQoqIHVzZSByZXNvdXJjZXMgZm9yIHRoaW5n
cyB0aGF0IG1heSBuZXZlciBleGlzdCwgaW5jbHVkaW5nIGNvbm5lY3Rpb25zIHRvIHJlY2VpdmVy
cw0KDQpMaWZldGltZSBNb25pdG9yaW5nOg0KDQpUaGlzIGFwcHJvYWNoIGFsbG93cyB0aGUgc3Vi
c2NyaXB0aW9uIHRvIHRoZSBlbnRpcmUgbGlmZSBvZiBvYmplY3RzLiBXaGlsZSB0aGlzIGluIHNv
bWUgY2FzZXMgYmUgaGFuZGxlZCBieSBzdWJzY3JpYmluZyB0byB0aGUgcGFyZW50IG9iamVjdCwg
aXQgZG9lc24ndCB3b3JrIGlmIGEgdG9wLWxldmVsIG9iamVjdCBpdHNlbGYgaXMgdGhlIGl0ZW0g
b2YgaW50ZXJlc3QsIGluIHBhcnRpY3VsYXIgaWYgaXQncyBhIHByZXNlbmNlIGNvbnRhaW5lci4g
SW4gdGhpcyBjYXNlLCBpdCBtYXkgYmUgaW1wb3J0YW50IHRvIGtub3cgZXhhY3RseSB3aGVuIHRo
ZSBwcmVzZW5jZSBjb250YWluZXIgYXBwZWFycywgZGlzYXBwZWFycyBhbmQgcmUtYXBwZWFycy4N
Cg0KT3RoZXIgbm90ZXM6DQoNCkNvbmZpZ3VyZWQgc3Vic2NyaXB0aW9ucyBmb3IgdGhpbmdzIHRo
YXQgZG9uJ3QgZXhpc3QgZWZmZWN0aXZlbHkgcmVxdWlyZSB0aGUgcHVibGlzaGVyIHRvIHBsYWNl
IGEgc3Vic2NyaXB0aW9uIG9uIHRoZSBuZWFyZXN0IGV4aXN0aW5nIHBhcmVudCBvYmplY3QsIGFu
ZCBtYWludGFpbiB0aGF0IGludGVybmFsIHN1YnNjcmlwdGlvbiB1bnRpbCB0aGUgc3Vic2NyaWJl
ZCB0byBpdGVtIGV4aXN0cywgYW5kIHRoZW4gYXQgdGhhdCB0aW1lLCBtYWtlIHRoZSBzdWJzY3Jp
cHRpb24gYWN0aXZlLiBUaGlzIGlzIGNvbXBsaWNhdGVkIGJ5IHRoZSBwb3NzaWJpbGl0eSB0aGF0
IHRoZSBwYXRoIHRvIHRoZSBpdGVtIG9mIGludGVyZXN0IGNhbiBsZW5ndGhlbiBvciBzaG9ydGVu
IGJlZm9yZSB0aGUgaXRlbSBjb21lcyBpbnRvIGV4aXN0ZW5jZS4gVGhlIHJlc3VsdCBpcyB0aGF0
IHRoZXJlIGlzIGxlc3MgbmV0IHJlc291cmNlIHNhdmluZ3MgaW4gdGhlIGNvbmZpZ3VyZWQgc3Vi
c2NyaXB0aW9uIGNhc2UsIGFuZCBpbXBsZW1lbnRhdGlvbiBpcyBtb3JlIGNvbXBsZXgsIGJlY2F1
c2UgdGhlIHR5cGUvdXNlIG9mIHRoZSBzdWJzY3JpcHRpb24gaGFzIHRvIGNoYW5nZSB3aGVuIHRo
ZSBkYXRhIGFwcGVhcnMgYW5kIGFnYWluIHdoZW4gdGhlIGRhdGEgZGlzYXBwZWFycy4NCg0KSW5z
dGVhZCwgaWYgdGhlIHN1YnNjcmlwdGlvbiBpcyBjb25zaWRlcmVkIHZhbGlkLCBjb25uZWN0aW9u
cyB0byByZWNlaXZlcnMgY2FuIGJlIHNldHVwIGFuZCB0aGUgdHJ1ZSBzdGF0ZSBvZiB0aGUgc3Vi
c2NyaWJlZCB0byBkYXRhIGNhbiBiZSBzZW50IHRvIHRoZSByZWNlaXZlcnMuIFRoZXJlIGlzIG5v
IG5lZWQgZm9yIGludGVybmFsIHN1YnNjcmlwdGlvbnMgdGhhdCBhZmZlY3QgdGhlIHN0YXRlIG9m
IGNvbmZpZ3VyZWQgc3Vic2NyaXB0aW9ucy4gSXQgYWxzbyBtYWtlcyB0aGUgaW1wbGVtZW50YXRp
b24gYmVoYXZpb3VyIGJldHdlZW4gZHluYW1pYyBhbmQgc3RhdGljIHN1YnNjcmlwdGlvbnMgbW9y
ZSBjb25zaXN0ZW50OiB0aGVyZSBpcyBubyBpbnRlcm5hbCBjaGFuZ2Ugb2YgYmVoYXZpb3VyIHdo
ZW4gdGhlIHN1YnNjcmliZWQtdG8gZGF0YSBkb2Vzbid0IGV4aXN0Lg0KDQpFeHBlY3RlZCBiZWhh
dmlvdXI6DQoNCkZvciBvbi1jaGFuZ2UgdHJpZ2dlcmVkIHN1YnNjcmlwdGlvbnMgdG8gbm9uLWV4
aXN0ZW50IGRhdGEgd2l0aCBuby1zeW5jLW9uLXN0YXJ0IGRpc2FibGVkLCB0aGUgaW5pdGlhbCBz
eW5jIHdvdWxkIGJlIGFuIGVtcHR5IHVwZGF0ZSBub3RpZmljYXRpb24uDQoNCkZvciBwZXJpb2Rp
YyB0cmlnZ2VyZWQgc3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3RlbnQgZGF0YSwgdGhlIGV4cGVj
dGF0aW9uIGlzIHRoYXQgZW1wdHkgdXBkYXRlIG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgYXQgdGhl
IHBlcmlvZCByZXF1ZXN0ZWQuDQoNCk5vdGUgdGhhdCB3aGVuIHRoZSBzdWJzY3JpYmVkIHRvIGRh
dGEgYXBwZWFycywgYW4gYWNjZXNzIHBlcm1pc3Npb25zIGNoZWNrIG11c3QgYmUgZG9uZS4gSWYg
dGhlIHN1YnNjcmliZXIvcmVjZWl2ZXIgaGFzIG5vIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoZSBk
YXRhLCB0aGUgYmVoYXZpb3VyIHRvd2FyZCB0aGF0IHN1YnNjcmliZXIvcmVjZWl2ZXIgY29udGlu
dWVzIGFzIHRob3VnaCB0aGUgZGF0YSBkb2VzIG5vdCBleGlzdC4NCg0KU2ltaWxhcmx5LCB3aGVu
IHRoZSBkYXRhIGNlYXNlcyB0byBleGlzdCwgb3IgYWNjZXNzIHBlcm1pc3Npb24gY2hhbmdlIG9j
Y3VycyB0aGF0IHByZXZlbnRzIHRoZSByZWNlaXZlciBmcm9tIGFjY2VzcyB0aGUgZGF0YSwgdGhl
IHVwZGF0ZSBub3RpZmljYXRpb25zIG11c3QgY29udmV5IHRoZSBpZGVhIHRoYXQgdGhlIGRhdGEg
bm8gbG9uZ2VyIGV4aXN0cy4gVGhpcyBtZWFucyBmb3IgYW4gb24tY2hhbmdlIHRyaWdnZXJlZCBz
dWJzY3JpcHRpb24sIGEgZGVsZXRlIG9wZXJhdGlvbiBpcyBzZW50LiBOb3RlIHRoYXQgYWxsb3dp
bmcgc3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3RlbnQgZGF0YSBkb2Vzbid0IGNoYW5nZSB0aGUg
bGF0dGVyIGJlaGF2aW91ci4gQWxsIHRoYXQgd291bGQgY2hhbmdlIGlzIHRoYXQgdGhlIHN1YnNj
cmlwdGlvbiBpcyBub3QgZGVsZXRlZCBhZnRlciB0aGUgZGVsZXRlIHVwZGF0ZSBub3RpZmljYXRp
b24gaXMgc2VudC4NCg0KVGhhbmtzLA0KDQpUaW0gSmVua2lucw0KDQotLQ0KQ2lzY28gU3lzdGVt
cyBDYW5hZGEgQ28uDQoyMDAwIElubm92YXRpb24gRHJpdmUNCkthbmF0YSwgT04sIENhbmFkYSwg
SzJLIDNFOA0KUHJlZmVyZW5jZXMgPGh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmli
ZS8/c2lkPTAwMDQ3ODMyNj4NClVuc3Vic2NyaWJlIDxodHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZl
ci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNz4NClByaXZhY3kgPGh0dHA6Ly93d3cuY2lzY28u
Y29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbD4NCg0KDQoNCg0KDQo=

--_000_012596F22AA84B7D8499E5BAE3CED9C0ciscocom_
Content-Type: text/html; charset="utf-8"
Content-ID: <2994F376BE04B84CA8219B56ED5E6878@emea.cisco.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBE
ZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0K
CXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0
Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCmE6bGluaywgc3Bhbi5Nc29IeXBl
cmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNv
cmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRp
b246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNv
bmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OkNhbGlicmk7DQoJY29sb3I6d2luZG93dGV4dDt9DQpz
cGFuLm1zb0lucw0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28tc3R5bGUtbmFt
ZToiIjsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCWNvbG9yOnRlYWw7fQ0KLk1zb0No
cERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBw
dDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2lu
OjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6
V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiZ2NvbG9yPSJ3aGl0
ZSIgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0i
V29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPkFsbCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTpDYWxpYnJpIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp
YnJpIj5BIGNsYXJpZmljYXRpb246IHRoaXMgaXMgcmVhbGx5IGRpcmVjdGVkIG1vcmUgYXQgWUFO
Ry1QdXNoIChodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXlh
bmctcHVzaC0wNSkgdGhhbiBpdCBpcyBhdCBzdWJzY3JpYmVkIG5vdGlmaWNhdGlvbnMuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6Q2FsaWJyaSI+U29ycnkgZm9yIHRoZSBjb25mdXNpb24sIGlmIGFueS48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTpDYWxpYnJpIj5UaW08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpD
YWxpYnJpIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNrIj4tLSZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj5DaXNj
byBTeXN0ZW1zIENhbmFkYSBDby48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjIwMDAgSW5ub3ZhdGlv
biBEcml2ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpD
b25zb2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250
LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+S2FuYXRhLCBPTiwgQ2FuYWRhLCBLMksgM0U4
PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFz
O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5
OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj5QcmVmZXJlbmNlcyAmbHQ7PGEgaHJlZj0iaHR0cDovL3d3
dy5jaXNjby5jb20vb2ZmZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI2Ij5odHRwOi8vd3d3LmNp
c2NvLmNvbS9vZmZlci9zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjY8L2E+Jmd0Ozwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFj
ayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztj
b2xvcjpibGFjayI+VW5zdWJzY3JpYmUgJmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzY28uY29t
L29mZmVyL3Vuc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI3Ij5odHRwOi8vd3d3LmNpc2NvLmNvbS9v
ZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNzwvYT4mZ3Q7PC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJs
YWNrIj5Qcml2YWN5ICZsdDs8YSBocmVmPSJodHRwOi8vd3d3LmNpc2NvLmNvbS93ZWIvc2l0ZWFz
c2V0cy9sZWdhbC9wcml2YWN5Lmh0bWwiPmh0dHA6Ly93d3cuY2lzY28uY29tL3dlYi9zaXRlYXNz
ZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbDwvYT4mZ3Q7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmki
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29s
aWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpO2NvbG9yOmJsYWNr
Ij5Gcm9tOiA8L3NwYW4+DQo8L2I+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Y29s
b3I6YmxhY2siPiZxdW90O1RpbSBKZW5raW5zICh0aW1qZW5raSkmcXVvdDsgJmx0O3RpbWplbmtp
QGNpc2NvLmNvbSZndDs8YnI+DQo8Yj5EYXRlOiA8L2I+TW9uZGF5LCBNYXkgMSwgMjAxNyBhdCAx
MDo0NCBBTTxicj4NCjxiPlRvOiA8L2I+JnF1b3Q7bmV0Y29uZkBpZXRmLm9yZyZxdW90OyAmbHQ7
bmV0Y29uZkBpZXRmLm9yZyZndDs8YnI+DQo8Yj5TdWJqZWN0OiA8L2I+U3Vic2NyaXB0aW9ucyB0
byBub24tZXhpc3RlbnQgZGF0YTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QWxsLDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JbiBsb29raW5nIGF0IHRoZSBzdWJzY3JpYmVkIG5v
dGlmaWNhdGlvbnMgZHJhZnQgKDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9k
cmFmdC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zLTAyIj5odHRwczovL3Rv
b2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNjcmliZWQtbm90aWZpY2F0
aW9ucy0wMjwvYT4pLCBJJ2QgbGlrZSB0byBzdWdnZXN0DQogdGhhdCB3ZSBhbHRlciB0aGUgbGFu
Z3VhZ2UgdG8gcGVybWl0IHRoZSBleGlzdGVuY2Ugb2Ygc3Vic2NyaXB0aW9ucyB0byBkYXRhIHRo
YXQgZG9lc24ndCBleGlzdCAoYnV0IGNvdWxkKS4gT2J2aW91c2x5LCBzdWJzY3JpcHRpb25zIHRv
IGludmFsaWRseSBzcGVjaWZpZWQgZGF0YSBzaG91bGQgZmFpbCwgYnV0IGFzIGFuIGV4YW1wbGUs
IGEgc3Vic2NyaXB0aW9uIHRvIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiBhbiBpbnRlcmZhY2Ug
dGhhdCBoYXNuJ3QNCiB5ZXQgYmVlbiBjcmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQuPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBwcm9z
IGFyZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiogZWFzaWVyIHRvIGltcGxlbWVudDogbm8gY2hlY2sgb2YgcHJlc2VuY2Ugb2YgZGF0YTxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+KiBmYXN0ZXIg
c2V0dXAgdGltZTogYWdhaW4sIG5vIGNoZWNrIGZvciBwcmVzZW5jZSBvZiBkYXRhPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4qIHBvdGVudGlhbCB0
byBzdWJzY3JpYmUgdG8gZW50aXJlIGxpZmV0aW1lIG9mIGRhdGE8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiogY29uc2lzdGVudCBiZWhhdmlvdXIg
Zm9yIGNvbmZpZ3VyZWQgYW5kIGR5bmFtaWMgc3Vic2NyaXB0aW9uczxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgY29uczo8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiogdXNlIHJlc291cmNl
cyBmb3IgdGhpbmdzIHRoYXQgbWF5IG5ldmVyIGV4aXN0LCBpbmNsdWRpbmcgY29ubmVjdGlvbnMg
dG8gcmVjZWl2ZXJzPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPkxpZmV0aW1lIE1vbml0b3Jpbmc6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgYXBwcm9hY2ggYWxsb3dzIHRoZSBzdWJz
Y3JpcHRpb24gdG8gdGhlIGVudGlyZSBsaWZlIG9mIG9iamVjdHMuIFdoaWxlIHRoaXMgaW4gc29t
ZSBjYXNlcyBiZSBoYW5kbGVkIGJ5IHN1YnNjcmliaW5nIHRvIHRoZSBwYXJlbnQgb2JqZWN0LCBp
dCBkb2Vzbid0IHdvcmsgaWYgYSB0b3AtbGV2ZWwgb2JqZWN0IGl0c2VsZiBpcyB0aGUgaXRlbSBv
ZiBpbnRlcmVzdCwgaW4gcGFydGljdWxhciBpZiBpdCdzIGENCiBwcmVzZW5jZSBjb250YWluZXIu
IEluIHRoaXMgY2FzZSwgaXQgbWF5IGJlIGltcG9ydGFudCB0byBrbm93IGV4YWN0bHkgd2hlbiB0
aGUgcHJlc2VuY2UgY29udGFpbmVyIGFwcGVhcnMsIGRpc2FwcGVhcnMgYW5kIHJlLWFwcGVhcnMu
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk90
aGVyIG5vdGVzOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5Db25maWd1cmVkIHN1YnNjcmlwdGlvbnMgZm9yIHRoaW5ncyB0aGF0IGRvbid0IGV4
aXN0IGVmZmVjdGl2ZWx5IHJlcXVpcmUgdGhlIHB1Ymxpc2hlciB0byBwbGFjZSBhIHN1YnNjcmlw
dGlvbiBvbiB0aGUgbmVhcmVzdCBleGlzdGluZyBwYXJlbnQgb2JqZWN0LCBhbmQgbWFpbnRhaW4g
dGhhdCBpbnRlcm5hbCBzdWJzY3JpcHRpb24gdW50aWwgdGhlIHN1YnNjcmliZWQgdG8gaXRlbSBl
eGlzdHMsIGFuZCB0aGVuDQogYXQgdGhhdCB0aW1lLCBtYWtlIHRoZSBzdWJzY3JpcHRpb24gYWN0
aXZlLiBUaGlzIGlzIGNvbXBsaWNhdGVkIGJ5IHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBwYXRo
IHRvIHRoZSBpdGVtIG9mIGludGVyZXN0IGNhbiBsZW5ndGhlbiBvciBzaG9ydGVuIGJlZm9yZSB0
aGUgaXRlbSBjb21lcyBpbnRvIGV4aXN0ZW5jZS4gVGhlIHJlc3VsdCBpcyB0aGF0IHRoZXJlIGlz
IGxlc3MgbmV0IHJlc291cmNlIHNhdmluZ3MgaW4gdGhlIGNvbmZpZ3VyZWQgc3Vic2NyaXB0aW9u
DQogY2FzZSwgYW5kIGltcGxlbWVudGF0aW9uIGlzIG1vcmUgY29tcGxleCwgYmVjYXVzZSB0aGUg
dHlwZS91c2Ugb2YgdGhlIHN1YnNjcmlwdGlvbiBoYXMgdG8gY2hhbmdlIHdoZW4gdGhlIGRhdGEg
YXBwZWFycyBhbmQgYWdhaW4gd2hlbiB0aGUgZGF0YSBkaXNhcHBlYXJzLjxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JbnN0ZWFkLCBpZiB0aGUg
c3Vic2NyaXB0aW9uIGlzIGNvbnNpZGVyZWQgdmFsaWQsIGNvbm5lY3Rpb25zIHRvIHJlY2VpdmVy
cyBjYW4gYmUgc2V0dXAgYW5kIHRoZSB0cnVlIHN0YXRlIG9mIHRoZSBzdWJzY3JpYmVkIHRvIGRh
dGEgY2FuIGJlIHNlbnQgdG8gdGhlIHJlY2VpdmVycy4gVGhlcmUgaXMgbm8gbmVlZCBmb3IgaW50
ZXJuYWwgc3Vic2NyaXB0aW9ucyB0aGF0IGFmZmVjdCB0aGUgc3RhdGUgb2YgY29uZmlndXJlZA0K
IHN1YnNjcmlwdGlvbnMuIEl0IGFsc28gbWFrZXMgdGhlIGltcGxlbWVudGF0aW9uIGJlaGF2aW91
ciBiZXR3ZWVuIGR5bmFtaWMgYW5kIHN0YXRpYyBzdWJzY3JpcHRpb25zIG1vcmUgY29uc2lzdGVu
dDogdGhlcmUgaXMgbm8gaW50ZXJuYWwgY2hhbmdlIG9mIGJlaGF2aW91ciB3aGVuIHRoZSBzdWJz
Y3JpYmVkLXRvIGRhdGEgZG9lc24ndCBleGlzdC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RXhwZWN0ZWQgYmVoYXZpb3VyOjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Gb3Igb24tY2hhbmdl
IHRyaWdnZXJlZCBzdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhIHdpdGggbm8tc3lu
Yy1vbi1zdGFydCBkaXNhYmxlZCwgdGhlIGluaXRpYWwgc3luYyB3b3VsZCBiZSBhbiBlbXB0eSB1
cGRhdGUgbm90aWZpY2F0aW9uLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5Gb3IgcGVyaW9kaWMgdHJpZ2dlcmVkIHN1YnNjcmlwdGlvbnMgdG8g
bm9uLWV4aXN0ZW50IGRhdGEsIHRoZSBleHBlY3RhdGlvbiBpcyB0aGF0IGVtcHR5IHVwZGF0ZSBu
b3RpZmljYXRpb25zIGFyZSBzZW50IGF0IHRoZSBwZXJpb2QgcmVxdWVzdGVkLjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Ob3RlIHRoYXQgd2hl
biB0aGUgc3Vic2NyaWJlZCB0byBkYXRhIGFwcGVhcnMsIGFuIGFjY2VzcyBwZXJtaXNzaW9ucyBj
aGVjayBtdXN0IGJlIGRvbmUuIElmIHRoZSBzdWJzY3JpYmVyL3JlY2VpdmVyIGhhcyBubyBwZXJt
aXNzaW9uIHRvIGFjY2VzcyB0aGUgZGF0YSwgdGhlIGJlaGF2aW91ciB0b3dhcmQgdGhhdCBzdWJz
Y3JpYmVyL3JlY2VpdmVyIGNvbnRpbnVlcyBhcyB0aG91Z2ggdGhlIGRhdGEgZG9lcyBub3QNCiBl
eGlzdC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+U2ltaWxhcmx5LCB3aGVuIHRoZSBkYXRhIGNlYXNlcyB0byBleGlzdCwgb3IgYWNjZXNzIHBl
cm1pc3Npb24gY2hhbmdlIG9jY3VycyB0aGF0IHByZXZlbnRzIHRoZSByZWNlaXZlciBmcm9tIGFj
Y2VzcyB0aGUgZGF0YSwgdGhlIHVwZGF0ZSBub3RpZmljYXRpb25zIG11c3QgY29udmV5IHRoZSBp
ZGVhIHRoYXQgdGhlIGRhdGEgbm8gbG9uZ2VyIGV4aXN0cy4gVGhpcyBtZWFucyBmb3IgYW4gb24t
Y2hhbmdlIHRyaWdnZXJlZA0KIHN1YnNjcmlwdGlvbiwgYSBkZWxldGUgb3BlcmF0aW9uIGlzIHNl
bnQuIE5vdGUgdGhhdCBhbGxvd2luZyBzdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRh
IGRvZXNuJ3QgY2hhbmdlIHRoZSBsYXR0ZXIgYmVoYXZpb3VyLiBBbGwgdGhhdCB3b3VsZCBjaGFu
Z2UgaXMgdGhhdCB0aGUgc3Vic2NyaXB0aW9uIGlzIG5vdCBkZWxldGVkIGFmdGVyIHRoZSBkZWxl
dGUgdXBkYXRlIG5vdGlmaWNhdGlvbiBpcyBzZW50LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGFua3MsPG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRpbSBKZW5raW5zPG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tIDxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Q2lzY28gU3lzdGVtcyBD
YW5hZGEgQ28uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4yMDAwIElubm92YXRpb24gRHJpdmU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkthbmF0YSwgT04sIENhbmFkYSwgSzJLIDNFODxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UHJlZmVyZW5jZXMg
Jmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmliZS8/c2lkPTAw
MDQ3ODMyNiI+aHR0cDovL3d3dy5jaXNjby5jb20vb2ZmZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4
MzI2PC9hPiZndDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPlVuc3Vic2NyaWJlICZsdDs8YSBocmVmPSJodHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZl
ci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNyI+aHR0cDovL3d3dy5jaXNjby5jb20vb2ZmZXIv
dW5zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjc8L2E+Jmd0OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UHJpdmFjeSAmbHQ7PGEgaHJlZj0iaHR0cDov
L3d3dy5jaXNjby5jb20vd2ViL3NpdGVhc3NldHMvbGVnYWwvcHJpdmFjeS5odG1sIj5odHRwOi8v
d3d3LmNpc2NvLmNvbS93ZWIvc2l0ZWFzc2V0cy9sZWdhbC9wcml2YWN5Lmh0bWw8L2E+Jmd0Ozxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
DQo=

--_000_012596F22AA84B7D8499E5BAE3CED9C0ciscocom_--


From nobody Mon May  1 13:11:07 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4EE80129C31 for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 13:11:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.122
X-Spam-Level: 
X-Spam-Status: No, score=-13.122 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AH-F8en9aSoV for <netconf@ietfa.amsl.com>; Mon,  1 May 2017 13:11:02 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BBDF512EB1C for <netconf@ietf.org>; Mon,  1 May 2017 13:07:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1339; q=dns/txt; s=iport; t=1493669278; x=1494878878; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=abRLoaACy7/iOLrNW9WYPyEQNjIX5FbXXWBXcJ5eumE=; b=GxNo3k7sO+EtyKCRJ7zFUWCwltZSCE9ojb1SE+s5d6fUQHLSxQZJeYHs T7k7eBW0JyxJFlKOeWpYjSqzgd+UmOUjpFHCepy/w6jK7DMlm14v+d6VK tnBLgwJwUf8HjSufaRqWV9bda6Bwf9VIO7lvfa78WLrL5QaMEmqf4nIh/ Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DNAAAhlQdZ/5NdJa1dGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBg1VigQwHjXmRTpVtgg8hDYUsSgKEOz8YAQIBAQEBAQEBayiFFQE?= =?us-ascii?q?BAQECAQEBODQLBQsCAQgVEBEQJwslAgQBDQUIE4l8CA6wRIsTAQEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBGAWGX4R5ikgFnVMBhxqLbZFnlCwBHziBCm8VRIZwdYgsgQ0?= =?us-ascii?q?BAQE?=
X-IronPort-AV: E=Sophos;i="5.37,401,1488844800"; d="scan'208";a="238151101"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 May 2017 20:07:57 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id v41K7v0E032163 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 1 May 2017 20:07:57 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 1 May 2017 16:07:57 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Mon, 1 May 2017 16:07:56 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Phil Shafer <phil@juniper.net>, "Tim Jenkins (timjenki)" <timjenki@cisco.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Subscriptions to non-existent data
Thread-Index: AQHSwqqvQ5yN0Jrs50y1wiVEhHaGDqHf42vg
Date: Mon, 1 May 2017 20:07:56 +0000
Message-ID: <171168450ddf469cbe99e731fd2373d4@XCH-RTP-013.cisco.com>
References: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com> <201705011838.v41IcxRY024434@idle.juniper.net>
In-Reply-To: <201705011838.v41IcxRY024434@idle.juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/8QLjk1gueayYyRjrGAE8nkTiFcg>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 20:11:05 -0000

This seems a reasonable change to yang-push.   It does make implementation =
simpler as they don't have to worry about some complex enforcement cases.  =
For example, you don't have to worry about recreating subscriptions when da=
ta disappears then reappears.  In fact it is actually is more robust as you=
 can put subscriptions in anticipation of the creation of certain objects.

The downsides are you lose some protections for left over subscriptions han=
ging around in memory.  But there are other ways of addressing that which w=
ill be needed in the larger solution space anyway.

Eric

> From: Phil Shafer, Monday, May 1, 2017 2:39 PM
> +1
>=20
>=20
> "Tim Jenkins (timjenki)" writes:
> >In looking at the subscribed notifications draft
> (https://tools.ietf.org/html/draft-ietf-netconf-subscribed-notifications-=
02), I'd
> like to suggest that we alter the language to permit the existence of
> subscriptions to data that doesn't exist (but could). Obviously, subscrip=
tions to
> invalidly specified data should fail, but as an example, a subscription t=
o the
> operational state of an interface that hasn't yet been created should be
> permitted.
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf


From nobody Mon May  1 13:58:44 2017
Return-Path: <david.waltermire@nist.gov>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E60D6129573; Mon,  1 May 2017 13:58:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nistgov.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 62oQKWlzZPYl; Mon,  1 May 2017 13:58:26 -0700 (PDT)
Received: from gcc01-CY1-obe.outbound.protection.outlook.com (mail-cy1gcc01on0111.outbound.protection.outlook.com [23.103.200.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD68E12EA57; Mon,  1 May 2017 13:55:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nistgov.onmicrosoft.com; s=selector1-nist-gov; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yydB+HZEndTBVwwALOuONx8e4e/nLVLAndrg5rCdK+4=; b=Gtkf2ijAfPaws1aoptH85dkl0Mpdw3m7CappxtqUM/tLT254XYIXE2fiKi3gmLjYqXd1xo3oaF6sLaJY51sBAuA+C9FmLFNV/Z8OU2fbhoviyBcSAPCnGCemz7YcitXZ/qONZWGsLsW6yEBWHVMXTTo1F19ckfeMtssHPd5Zx/E=
Received: from MWHPR09MB1440.namprd09.prod.outlook.com (10.173.50.14) by MWHPR09MB1440.namprd09.prod.outlook.com (10.173.50.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12; Mon, 1 May 2017 20:55:40 +0000
Received: from MWHPR09MB1440.namprd09.prod.outlook.com ([10.173.50.14]) by MWHPR09MB1440.namprd09.prod.outlook.com ([10.173.50.14]) with mapi id 15.01.1061.021; Mon, 1 May 2017 20:55:29 +0000
From: "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>
To: "saag@ietf.org" <saag@ietf.org>, "opsawg@ietf.org" <opsawg@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "sacm@ietf.org" <sacm@ietf.org>, "mile@ietf.org" <mile@ietf.org>, "i2nsf@ietf.org" <i2nsf@ietf.org>
Thread-Topic: PANIC Bar BoF Tonight @ 6:30pm CDT
Thread-Index: AdKoyz/2/d9baDSGTnuHD2EJjZ7MgwZ8FaBw
Date: Mon, 1 May 2017 20:55:28 +0000
Message-ID: <MWHPR09MB14408EF0A9F034AEB6A1EC80F0140@MWHPR09MB1440.namprd09.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=nist.gov;
x-originating-ip: [129.6.224.58]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; MWHPR09MB1440; 7:ZGPQ0SBjCk2HAocykw0x4gGRcHCR65Zmi+EDiD5V7Q5bAJjXI5dmBfc6+ZyAd+BvEQK9k4c9DhtNyw8r/7sJY9ZoIqkaqb/fVAs5AYrHxn9mOEwmmLau9tUkwKzQFvf1eTzVJxakPBRyLie59ZaA71LcavJTgrbT3jRtMAxOOEvYBrz599/AG6ppbC4FQ7pfcT5MEPpbH6uqFBu6iUNiDpiK1oo9CYtWVMCkjyxopxLIRXijrl6j+hkIgtVqcDZODAuxDMq/qpTpdNh5yDsTPqu5YBsxZ3ukRDJr2muKFrngo2kfAbFt7hxflnzeI5X2cPzxzCoWOfrGjjqrPFxIbQ==
x-ms-office365-filtering-correlation-id: 52c6bf8e-73df-44d0-0bc4-08d490d4665f
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:MWHPR09MB1440; 
x-microsoft-antispam-prvs: <MWHPR09MB144075C96718EA97AC37A9C9F0140@MWHPR09MB1440.namprd09.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(192374486261705)(211171220733660)(148717330147763); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415395)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123558100)(20161123562025)(20161123560025)(20161123555025)(6072148); SRVR:MWHPR09MB1440; BCL:0; PCL:0; RULEID:; SRVR:MWHPR09MB1440; 
x-forefront-prvs: 02945962BD
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39410400002)(39860400002)(39450400003)(39850400002)(39400400002)(377454003)(13464003)(50944005)(77096006)(25786009)(6436002)(53546009)(122556002)(305945005)(99286003)(54356999)(189998001)(229853002)(5660300001)(74316002)(6506006)(99936001)(7736002)(50986999)(450100002)(33656002)(2906002)(3280700002)(9686003)(55016002)(6116002)(102836003)(478600001)(3846002)(7696004)(6306002)(3660700001)(53936002)(5890100001)(2501003)(66066001)(86362001)(2201001)(2900100001)(6246003)(8936002)(81166006)(38730400002)(8676002); DIR:OUT; SFP:1102; SCL:1; SRVR:MWHPR09MB1440; H:MWHPR09MB1440.namprd09.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/mixed; boundary="_002_MWHPR09MB14408EF0A9F034AEB6A1EC80F0140MWHPR09MB1440namp_"
MIME-Version: 1.0
X-OriginatorOrg: nist.gov
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 May 2017 20:55:28.8321 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2ab5d82f-d8fa-4797-a93e-054655c61dec
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR09MB1440
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/OAnG6Opmsg6gOytRPX5XF5M6dW0>
Subject: Re: [Netconf] PANIC Bar BoF Tonight @ 6:30pm CDT
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 20:58:30 -0000

--_002_MWHPR09MB14408EF0A9F034AEB6A1EC80F0140MWHPR09MB1440namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

The Posture Assessment Through Network Information Collection (PANIC) group=
 held an informal bar BoF at IETF 98 to discuss available protocols and dat=
a models for assessing the posture of network equipment devices. A descript=
ion of PANIC is below, and a slide deck is attached describing the group's =
goals and requirements. We had a productive discussion about the group's sc=
ope, and agreed to continue the conversation on a non-working group mailing=
 list.=20

The PANIC mailing list is now available for subscribers at this link: https=
://www.ietf.org/mailman/listinfo/panic.

If you are interested in the effort, please join the mailing list. A scopin=
g draft will be posted to the list in the next week. We look forward to you=
r feedback on it.

Regards,
Dave

PANIC Description:

The IETF SACM work group has been working to standardize the collection of =
endpoint configuration and other posture information from enterprise endpoi=
nts. Collecting this information is critical to support automation of commo=
n network security tasks, including asset, software, vulnerability, and con=
figuration management. Thus far, our efforts have focused primarily on stan=
dards to collect information in support of asset, software and vulnerabilit=
y management use cases for classical endpoint devices (e.g., servers, lapto=
ps, etc), and has worked with other IETF members to determine what data wou=
ld need to be to be collected, and how that data would be securely communic=
ated across the network. Through such exchanges an organization can know wh=
at client endpoints are connected to their network, and if they are vulnera=
ble to attack.

Given the proliferation of attacks against network infrastructure devices, =
it is clear that the next step in our enterprise security automation effort=
 must be to enable standardized reporting of similar information from netwo=
rk infrastructure devices. With the growing number of Yang models and incre=
ased adoption of NETCONF, RESTCONF, and related protocol work, we believe t=
he time is right to work out how these standards can be used to measure the=
 health of network devices. This information will, as in our efforts in SAC=
M for client devices, support asset, software, vulnerability, and configura=
tion management use cases. We hope to use existing management protocols to =
report this information from network infrastructure devices, supporting mul=
tiple use cases using the same set of management protocols. Such a mechanis=
m will help network defenders protect against known attacks, and provide th=
e necessary knowledge to detect and mitigate future attacks.

> -----Original Message-----
> From: Waltermire, David A. (Fed)
> Sent: Wednesday, March 29, 2017 4:42 PM
> To: 'saag@ietf.org' <saag@ietf.org>; 'opsawg@ietf.org' <opsawg@ietf.org>;
> 'netconf@ietf.org' <netconf@ietf.org>; 'netmod@ietf.org'
> <netmod@ietf.org>
> Subject: PANIC Bar BoF Tonight @ 6:30pm CDT
>=20
>=20
> Just a quick reminder... the Posture Assessment through Network
> Information Collection (PANIC) bar BoF is tonight right after the IETF 98
> Technical and Administrative Plenary at 6:30pm CDT in Vevey 4 at the
> Swissotel Conference Center. We are hoping to start a discussion about ho=
w
> to leverage the existing IETF network management protocols to best addres=
s
> security automation for network infrastructure devices. We would like you=
r
> ideas on how to best pursue this work, and your insights into network
> infrastructure security problems that will impact our networks in the fut=
ure.
> We are holding a side meeting at IETF 98 on Wednesday, March 29th at
> 6:30pm CDT to start a discussion about how to move forward on this topic.
>=20
> Given the late hour, we will have some light snacks. We hope to see you
> there.
>=20
> Regards,
> David Waltermire

--_002_MWHPR09MB14408EF0A9F034AEB6A1EC80F0140MWHPR09MB1440namp_
Content-Type: application/pdf; name="PANIC-slides.pdf"
Content-Description: PANIC-slides.pdf
Content-Disposition: attachment; filename="PANIC-slides.pdf"; size=311384;
	creation-date="Mon, 01 May 2017 20:45:38 GMT";
	modification-date="Mon, 01 May 2017 20:55:28 GMT"
Content-Transfer-Encoding: base64

JVBERi0xLjUNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFu
Zyhlbi1VUykgL1N0cnVjdFRyZWVSb290IDE2NiAwIFIvTWFya0luZm88PC9NYXJrZWQgdHJ1ZT4+
Pj4NCmVuZG9iag0KMiAwIG9iag0KPDwvVHlwZS9QYWdlcy9Db3VudCA4L0tpZHNbIDMgMCBSIDkg
MCBSIDM1IDAgUiA4NiAwIFIgOTMgMCBSIDE1OSAwIFIgMTYxIDAgUiAxNjMgMCBSXSA+Pg0KZW5k
b2JqDQozIDAgb2JqDQo8PC9UeXBlL1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0V4dEdT
dGF0ZTw8L0dTNSA1IDAgUi9HUzggOCAwIFI+Pi9Gb250PDwvRjEgNiAwIFI+Pi9Qcm9jU2V0Wy9Q
REYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAv
Q29udGVudHMgNCAwIFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0Rldmlj
ZVJHQj4+L1RhYnMvUy9TdHJ1Y3RQYXJlbnRzIDA+Pg0KZW5kb2JqDQo0IDAgb2JqDQo8PC9GaWx0
ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMyMj4+DQpzdHJlYW0NCnicrdBba8IwFAfw90C+w3lMhMWT
W2NBBFsvOFAcK+xh7EFGrTJtWVvZ11/aiShzyMCnXM4J/18OdJfQ73fn8WwEOBhANIrhkxIEFIgo
lUIHTiFYg1CmlLx0IKekO322kFWUSMhOzRhI1Paie92h5IkSGM9jgLMkeZbUPpXoVAh4JSpKfNxE
gjECDSTrJtMHggSllcAAVBgK6yv7BpK1tl5rQ5hS8sqW3Gk2XMxiiFYl8DdIHikZJ9dh6h4wo1CY
3i/Y0RMVkxsI/X9EM4pLhHRGBA4UotA/BmG1ax3t5jgbGbKi4lKx+lByaVgK3LJhxQ2r0qpZ9mnO
Q1ZDvfF1x4pDtrk1RHMXvzXC+iWQIvzTv0i9tv7ywKL8AC6RzRrtmivjb/Yr3mP1lmtW5MAfpGZx
sdv5Y/peb4v8yi++AUKHoQ8NCmVuZHN0cmVhbQ0KZW5kb2JqDQo1IDAgb2JqDQo8PC9UeXBlL0V4
dEdTdGF0ZS9CTS9Ob3JtYWwvY2EgMT4+DQplbmRvYmoNCjYgMCBvYmoNCjw8L1R5cGUvRm9udC9T
dWJ0eXBlL1RydWVUeXBlL05hbWUvRjEvQmFzZUZvbnQvQUJDREVFK0NhbGlicmkvRW5jb2Rpbmcv
V2luQW5zaUVuY29kaW5nL0ZvbnREZXNjcmlwdG9yIDcgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hh
ciAxMjIvV2lkdGhzIDUxMyAwIFI+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNj
cmlwdG9yL0ZvbnROYW1lL0FCQ0RFRStDYWxpYnJpL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNj
ZW50IDc1MC9EZXNjZW50IC0yNTAvQ2FwSGVpZ2h0IDc1MC9BdmdXaWR0aCA1MjEvTWF4V2lkdGgg
MTc0My9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVtViA1Mi9Gb250QkJveFsgLTUwMyAt
MjUwIDEyNDAgNzUwXSAvRm9udEZpbGUyIDUxMSAwIFI+Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9U
eXBlL0V4dEdTdGF0ZS9CTS9Ob3JtYWwvQ0EgMT4+DQplbmRvYmoNCjkgMCBvYmoNCjw8L1R5cGUv
UGFnZS9QYXJlbnQgMiAwIFIvUmVzb3VyY2VzPDwvRXh0R1N0YXRlPDwvR1M1IDUgMCBSL0dTOCA4
IDAgUj4+L0ZvbnQ8PC9GMSA2IDAgUj4+L1hPYmplY3Q8PC9JbWFnZTExIDExIDAgUi9JbWFnZTEz
IDEzIDAgUi9JbWFnZTE3IDE3IDAgUi9JbWFnZTE5IDE5IDAgUi9JbWFnZTIzIDIzIDAgUi9JbWFn
ZTI1IDI1IDAgUi9JbWFnZTI5IDI5IDAgUi9JbWFnZTMxIDMxIDAgUj4+L1BhdHRlcm48PC9QMTYg
MTYgMCBSL1AyMiAyMiAwIFIvUDI4IDI4IDAgUi9QMzQgMzQgMCBSPj4vUHJvY1NldFsvUERGL1Rl
eHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNzIwIDU0MF0gL0NvbnRl
bnRzIDEwIDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdC
Pj4vVGFicy9TL1N0cnVjdFBhcmVudHMgMT4+DQplbmRvYmoNCjEwIDAgb2JqDQo8PC9GaWx0ZXIv
RmxhdGVEZWNvZGUvTGVuZ3RoIDcwMz4+DQpzdHJlYW0NCnicrZRPb9pAEMXvlvwd5riO1GVn9r8U
5RCSpmmVKlVQe6h6oIkhSIlpgSjqt+8sBmxCMFKUC7DLzpvn+fkt9K7h+Lh31b88A3VyAqdnffib
ZwqUVEohkfLgSYE1CmZlnv04girPehc3FsbzPEMYbw4rh0rbrdOjozz7lmdwftUHaHXCVqdlKSpP
EdQrrU4H3O4jgo4yOhiMUk9uCAjOyxgJjOV/EAaPych46S0svSm4yLOfYnA/qcZzGFZwXhVBLApE
Uc7+zCbzEr6W5d0cFrw9hS8FBlFNn4tfMPicZ+eD163TS+sqBMTVuILmn7vPgC5I7Za2o5UGyFvp
DGhSEh3csvPe5eNwXHLx2RS4K4t/WA1GR021OhmD5jX16KSt1b2SGiOQQ2kC60cZQltfN/q96+Fi
Uc4quJ3z47GN+S1rkY9cZtKouUqn0VpIbR945djGZsVm1id5db+ftX4Daz5IZgs2BS3JQvIQTQN7
xfh7QVo8PRRGVCV/zApCMfw9eSismCz+HSBqdohaZ003Uc0WG6KWAKNJSElje95+h6cKRh3QJhWk
C2ueRjNPaxNPMkp6auvHfTyJap4YuUxbGRJOhiuVa1EzZjnNZsNyXX28m6l9H6beS2R/HmWgHab9
aVU4MZoUWoyfmCiJYeHFYsLb3TzdDk9NnrovNBNpK6GIOuFEg2kyzcSplaCVuAmcse74W5IUtgLK
bzMjRovpqyVv9wINK6D8TqFx0i8DitGngG6QMb8U0c3aKb0+3Q3UvwXoFkyteG6cg0DSxR2YN9PR
4rmIYjgrkER5gGBo3Kxjo8M6kvuuQc7sdiQ1JYQ8+6DaoaS4G0qn6eAVvnlB1qH0IXXhfUttfY37
GGpTM2Qd62UNEH2KZMPIKUqRbG0EU5/uBhjfAaCSXBG1tNz5JcBPiRyKu+fEbz/F/xL5tAINCmVu
ZHN0cmVhbQ0KZW5kb2JqDQoxMSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2Uv
V2lkdGggMjM0L0hlaWdodCAxMzMvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVu
dCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEyIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVu
Z3RoIDExMz4+DQpzdHJlYW0NCnic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA/wZsxQABDQplbmRzdHJlYW0NCmVuZG9iag0KMTIgMCBvYmoNCjw8L1R5cGUv
WE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDIzNC9IZWlnaHQgMTMzL0NvbG9yU3BhY2UvRGV2
aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFs
c2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNTU2Pj4NCnN0cmVhbQ0KeJzt3YlWGjEYBeDO
yOCKShXXWlpRQUXrhrZuFaSoIAKy+v4v0iQzCi3/jLMkmSTtfQLvqaf9zuS/px8+/M//BI6m6ZoW
9g/BIZoeiUYNXf2qmh6disdjoyOqV0VFZ5bXU6uzY4pXRUWnV3dyp3ufZ0fV/gXWo7HV3YvS3fX+
2ozSVXUjtrxz8VBvVK73Ps1E1a2qGVNLmfP7RqfTLF9lV6ejetg/EaNokcmFre93jU6v131+uNhZ
jhlqVtUiE4nN01K903t5QVXvzzNLU4aKv7/ayPh8KlckRVHVTuPu+9bCZES9qtrI2Nz68W2tTYri
qvXS6WZiQrmqqGj8y1HhqWUVJVWLudT8uGKC0PTR2eRBvtoviqq2a7fH63NqYQkVnVnb//nY6r4M
pNd6Khx9iatUFRvw0951pflHUVy1mj9IquRCZMCV3ctys9v7s+lLt/X4UyUX6sYUNuDzUFFUtYld
OK2IC5EBFzM/7htAUSSIZvlydyWmhAsRjSwDDhclWMIunFLAhYMGhKs27n9kFuV34asB2zZF31wo
O5YQjT5+HTAgXFUBF2o6MuDhoAHBqm3pXYgN+PngptrqOhW1XPj1o7xYejXg3zQCqiIXHiIXyvrP
KjHg1ZABoXRb1ZsDab8X6gYxIEQjoGpTXhciAy5twwaEq1auiAvD/rk9RzMmF9M2BoSCsCSnC4kB
z+wMaFP14WJbOhdqkfHExukvWwPCVYkLJ6VyITLgXOqk6EgjoKp8LnRjQLhq/dfpRmJcmqpIDPHk
YaHqbECwartWPEnNyeJCYsBv7xvQpqo8LsRvwWv71y4MCFZtVaVxIX4LzmIDev7dJcEu/CaFC/ET
qWsDglVNFwr/EQ0/kW6fuzYgkB52ofiPq68G9CKG4aqmC4XGkmnAUqCipgvPt4V+XMWfxzZy3gwI
Vu0gF6YFdqE/A9pULZ2J60JiwKPbp+BF+y4UUhCmAfM+DAhWFdeFlgEf/RgQrvokpguxAaEn0gBV
W9X8YTIuHJZMAwJPpP7TbT0K6ELzTC6AAcGqTfGO7qwzObpFyeOqYC7UItiAXj6Pua36XBbq6I48
kQY2oE1VkY7uaBkQrGq5UAgskTM5Kga0qVo6E+NxFRsQn8mxKWq6MLchwOMqXQOCVbELwz+6w0+k
NA0IV8VHdyG7kL4BwaoCuJCBAaGYLgzzcdWaSlCmEVQ1ZBeyMSCUkF2IpxJp2zM52lVDHGO8dyZH
vWpYLmRpQLAqflxNhzDG+HsqwaNqKEd3w1MJLlX5uxCaSnCoyn+MYZ7JsTUgWJX3GMNuKsGjKt8x
BpnLQlMJ9sEu5Hd05zCV4FCV4xiDTCW4GBCKOcZY5XF05zyV4FGVkwv5GtCmKg8Xvj+V4FCVx9Ed
/jzG14BwVeYuJFMJzga0qcp2jGFOJfK+zuQoVyUuZPYRDZ7LhlSVqQs9TCXYp8vQhdZcNiQxDIXd
SBcb0MNUgn3eXEi5KD6Ts5vLhhNGI92wDQiFyRjDz1SCfRiMMeidydENdRf6nUqwj3V0R6uqNZfl
/HnMXcyjO0ouDDKVYB+KYwxzKuFmLhtO6I0xAk4l2IfWGMPTXDac0Blj6IGnEuxDZYxBYyrBPhTG
GN7nsuHkbYzhtyqikYAGhBJwjCGqAaFgF/oeY1gGZHYmRzcBxhjsz+ToxvcYg/ZUgn18jjGsMzlh
DQjF39Gd8AaE4meMQc7kxDYgFORCj0d3/M7k6MazC82phOgGhEJc6P5xlc5cNpx4elzlfSZHNx7G
GGynEuzjeqTLeirBPi6P7mQzIBRrjOFcVT4DQsEuPHJ2IZ+pBPu870JOUwn2ec+F3KYS7OM8xpDV
gFAcxxg8pxLs43B0Z81lJaXRcGxdKLcBoeCPaIAL+U8l2Acc6b5OJVQqCrqQTCUkNyCUoTFG/4lU
tab4cXXw6E4jL4cPjXZXuXSeK+aLY/+v3ZNCuVZvKJd6rVI8Sy9OmH+o+LPR1vHlTUHJ5K9ymZWY
+a+qNjIxt7a5k83uKZhsdiedTFh+QH8hTc7OLywqmoVE//+r1HQjOqZwRo3+PzOarnT+if9XdiC/
AUYh5FENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5
cGUvSW1hZ2UvV2lkdGggMjc0L0hlaWdodCA5OC9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVy
Q29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMTQgMCBSL0ZpbHRlci9GbGF0ZURl
Y29kZS9MZW5ndGggMTAxPj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20Hb6AAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAB+Azq7AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNCAwIG9iag0KPDwvVHlwZS9YT2Jq
ZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjc0L0hlaWdodCA5OC9Db2xvclNwYWNlL0RldmljZUdy
YXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0Zp
bHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzY1Nz4+DQpzdHJlYW0NCnic7Vp5f9rIsh3tCxJCrGIR
u0AsAhsQQgItLDZxPJnfvd//y7zqFmDsOLmeMbnvvRmdv5Km3cvprqpT1frttwQJEiRIkCBBggQJ
EiRIkCBBggQJEiRIkCBBggQJ/r4gCOK/P+qvmfQmIEiKpshbL+8/jEoQv2LSnyzn+wP44ZEQJCtK
KY667eoIihMlkX07KkGQJOaBZAQpxdPEVdMvBBwP8+YACJJm6PfnJRi5WC1n+NtSQnKKVi2lWfLN
yhiOZ2EhBJ3KV8pZgSJwE/eDtd0I6NBlWWSvJiFoXpJ/cA9Iodi1zKrM3HJNBC2V+1avJL6ekmSl
bF4VGZLksq3RQFdYEjUV1BSDqftFvoVgpKKul+SX8yEoIVvVtbcndvotVZt6dkdlb8oIo7Tm3n1d
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
4eMWSsg1RvOlY9+Puq3uaARii4RUsDtGjwIko+gD3IQPvmiM+6hkBBJdKXfHs4Vt24vZpF/LcCRE
jzZ6pGTiqCBkG8OZbc/vxn2jPxrUMyxJpzRjZHa6g7uF49h3/WoGVbZpuWqOuxBKwaSbQxMGIGmp
3BsbuEBGchl9OFvas6Gu4KqWoFnb54fFpxX8hRGYodxoVtF787mJFjJavWN0GuVcJqeV8yn8cFSI
H44oXtUqeQlvk2TlYrWk4KyLZFNZrd7uGkanWSsq0BPVWSuayp/TGl4pwe+dRrWYK5S1LArvXLpY
LmazJb3d7TZreZnDz5h8RqsUZJiUFnNlTRVQR6VUKeInWcQ9jNM5LxlE2ig4hjdQ8BdKKC6VTr8q
YhO4aq5m0iLH8mIKVbsJ9OGCiBcM/VOnAjiutounCjpJc6KsqNlsJi3xDN4a+tjhMvBl1BTPCSL6
CIJATSmB41C7qsBfnUQGJ0q4xk8yfCrF4Wo0muhS4xZkJaOc3gvQHQn3q1s+SeN3jjefTaDvJliW
xmUNCj8/QS+KOmf1FHV+bbq04v/gv2KxGME9iatf4+9j4HfmPOrp79Gb1qn9MtD1XC+Tnt9B0DjM
6bsOHBq20f0NFPwrAr5/C7u8l11+It7519tPF96+s33/6Pf9qK/a35nrvaFeuoOvMeKS3S3fX/8/
A5UTb6Xg/xYAVV+drN1R+SYK/u8AlFObd+NG5r3vgP6RQGKg2rjWDv94XJ7N/7cX8n8HBMX86APL
fyqI98RDggQJEiRIkCBBggQJEiRIkCBBggQJEiRIkCBBggQJEiRIkOAfif8BRKNTMA0KZW5kc3Ry
ZWFtDQplbmRvYmoNCjE1IDAgb2JqDQo8PC9GdW5jdGlvblR5cGUgMC9TaXplWyAyNTZdIC9EZWNv
ZGVbIDAgMSAwIDEgMCAxXSAvUmFuZ2VbIDAgMSAwIDEgMCAxXSAvQml0c1BlclNhbXBsZSA4L0Rv
bWFpblsgMCAxXSAvRW5jb2RlWyAwIDI1NV0gL09yZGVyIDEvRmlsdGVyL0ZsYXRlRGVjb2RlL0xl
bmd0aCAzODY+Pg0Kc3RyZWFtDQp4nHXCBzuCYRgG0D9mhaxCilIUla1QIYlURhr29q+S0Ve2FLL3
5n68IS7OdfwZKX6Wx6Z+TlvKTJ5Osz5mY8Zn3hKfF0jMDOSwWTQ3m13OQz7NxxxakIsrKMijQsyn
hQW4WiSgxShcFWHhWgkWUXExBiWioKQkWMqKuTIxJ5Vw0lJORkOyslC5NCRHWUghCyvKwxUoD1fK
15WKdWUFVVVuYJVyoxpVm2qs2tRU45ZWTWs027VaWlezXV+7gw11tLF+F5sadpsb91DXhBF9c0Sv
i7TQ/Vb9flsLRg2tUUNb1EhjJkPMZIy1Gw86TB/bDzs7Ds3YedSF5iMLdsW70RK3Wo6t3cc9Vjzp
xZ4TG/ae9qHt1I59Zw60nznt507HeT868WKgnw7iwOUQDuKVa4gOo+vK7bp2D1MPum/Q60n0eW59
XjriwzscHUkcG71nx3EMH3Bi/PskTjyyU5Nfn6Zx6seZaXxOPjuT/GWOnf19fg5f/7sw/+c3dpFd
+PM7xsPMDA0KZW5kc3RyZWFtDQplbmRvYmoNCjE2IDAgb2JqDQo8PC9QYXR0ZXJuVHlwZSAyL1No
YWRpbmc8PC9Db2xvclNwYWNlL0RldmljZVJHQi9TaGFkaW5nVHlwZSAyL0Nvb3Jkc1sgMzYwIDMy
NC45NiAzNjAgNDE0XSAvRXh0ZW5kWyB0cnVlIHRydWVdIC9GdW5jdGlvbiAxNSAwIFI+Pj4+DQpl
bmRvYmoNCjE3IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCA0NTkv
SGVpZ2h0IDEzMy9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJw
b2xhdGUgZmFsc2UvU01hc2sgMTggMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjAwPj4N
CnN0cmVhbQ0KeJztwQENAAAAwqD3T20PBxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC3BsuDAAENCmVuZHN0cmVhbQ0KZW5kb2Jq
DQoxOCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggNDU5L0hlaWdo
dCAxMzMvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25l
bnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE0NDU+Pg0K
c3RyZWFtDQp4nO3diVLaUACF4d5AEAWsuKDWBauIqNi61t2KtYqyCBJJ+v4v0iTEdqaNgHCTu53/
EXJmMsk3hPvhA0KDR6SP9RUOKaJF9ZjM6dGIGmNqejw1kZ6Ut/TE+KiuKbClpidnltbW8xKXy2ZS
Mfm31PTUXH7/9OJS4s4OCwsfpd+S6Mm5wsltpVZ/krV6vXp3vr0wHtNYX+xAI9HE7MbJfcNoy9xL
8+Fiez6ly7wliY5l8sd3jbZl/ZI4q/38cLY5l9TlvcWSyOh07uinvSTrix1wVrtZPt2YTUi7pb3k
1Orh7dOL7Eu6W94d5zNjUTm3JJH45Of9H3UFlnS2bPz8lpsZjci4JdFG0tm9Us1QYUl7y5en28O1
KRm3tJecWP56XTVM1hc5pKyX+o+Dz5Nx6bYkWuzj4s5VpaXKkvaWRq20l02PyEYFWmx8oXj52DLV
uL26mUb1+uvyhGRbanpqfuv88VmlJe0tW9WrL0tyEZ7DdZtnD4ot+csyW5XLolSER/TE7MZpuSk9
DfybZT4/SkV4Htept6S7pUyERyKjM7lvCnCdX1IRnsN1a2pwnV8SEZ7LdQeKcJ1f0hCeYlznlySE
pxzX+SUF4Tlct/TlqqoQ1/klA+F1uK6iFNf5JT7hOVy3faEa1/klOuEpynV+CU54ynKdXx3C+yQm
4SnMdX79ITzxtlSa6/wSlvAU5zq/7C3vBSQ85bnOL4/wxNoSXOdbh/CmRSI8cN0b2VuKRXjgujez
jNrN3ko6LgoVgOvezjRqAhEeuK5bZqv6XRTCA9d1TSDCA9f1SBjCA9f1TBDCs5cE1/VKCMJzPmsG
1/VMAMLzuA5L9op7wiNaPL2ydwOu6x3nhOdxXQ1c10dcE16H676D6/qLZ8ID170vfglP01OfwHXv
iVfC08B1741TwgPXDRCXhNfhunss+b44JDxw3YBxR3jguoHjjPDAdUPEFeGB64bKIbwjPggPXDdk
LuGtckB44Lqhs4w6F4QHrhs+h/B2mRMeuI5GHuEx3RJcRyeH8HYWWRIeuI5Sr4THbEtwHbUcwjvf
nGdFeOA6illms3xaYER44DqqMSQ8cB3lmBEeuI56jAjP5bpdcB3VmBCevSS4jn4sCE+LjS/uXKp0
aEg4hU94WgxcF0xhE56mJ+c3z8F1QRQu4TlcVzgtN7FkAIVKeOC6QAuR8MB1ARca4blcdwSuC7CQ
CM/hulVwXbCFQnge19XBdYEWAuGB60IqcMID14WWQ3j7K+nAtgTXhZdp1Eq72aAID1wXZqYRHOGB
68LNbFWuXMKjviW4LuQssxUM4YHrQs8lvC3qhAeuY5BHeHRPFwbXMckhvBO6hAeuY5RLeOsUCc9e
ElzHJsqEB65jGFXCA9cxjSLhEZfrrsB1rKJHeB7X4bNmZtEiPIfrtsB1TKNDeERPgutYR4XwXK47
AdcxjgLhOVy3Dq5j39CEB67jpiEJD1zHUUMRnst1++A6ThqC8Byuy+6WwHW8NDDhvXIdluSmAQkP
XMdhgxEeuI7HBiE8cB2fvZ/wwHWc1iG8hf4JD1zHbR7h9Xs0CbiO4+wty2eFuf4ID1zHdR7hJfpg
H3Ad51ntxl1fhAeu4z57y34ID1wnQB3Cm+rOPuA6IeqD8MB1gmT1JDxwnSiZRvW6G+FpegpcJ0jd
CY/oybnCGbhOiLoSHokmwHXi1IXwOlx3B64TpTcJz+M6LClObxAeicSnwHWC5Ut44Doh8yG8P1yH
JcXqP8L7ezIsphQryzJqLuG9vl4S9zzRh+aLiUSr/VxxfrnlvV46D6+5w5vHp0YTiVbjqXJ7vJEZ
69xiSTQxmz+4uL5BIla6PCrMpzpvlyQyNrW8vlUs7iDxKha389kZ70/z7aeexMR0ZhaJWWYmnRzx
nmGJpsfiSNxG9L9vI0RDIkdYHCuMgus3sYWsCw0KZW5kc3RyZWFtDQplbmRvYmoNCjE5IDAgb2Jq
DQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyOTAvSGVpZ2h0IDk4L0NvbG9y
U3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFz
ayAyMCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMDU+Pg0Kc3RyZWFtDQp4nO3BMQEA
AADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgY00bAAENCmVuZHN0cmVhbQ0KZW5k
b2JqDQoyMCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjkwL0hl
aWdodCA5OC9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBv
bmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzc4Mj4+
DQpzdHJlYW0NCnic7Vppm5pKFo7sICCgKO4b7gsqIrKIgvaSTDLPzP//M3MKtGNvuekxN3fmPryf
uhHqvPVy6ixVfPqUIkWKFClSpEiRIkWKFClSpEiRIkWKFClSpEiRIkWKFH8xMgh/NYn/YWQwnCRJ
Av87i4RcAMP+Oz/IYCTDi1JOYEkM4c+VKYMs/PY3AT5AUDRNUyT+8fllMEpQa61Ou1bgaYpmKOJP
1CiDETRDk3/yW3jLKifKBbWg5Hjmw9YxSqz0jbVlTlsFMZdXZY781fy/+zZG8oqq8BT2iy382DxO
8/lKSx8Mh712TRUZ/EMTzOBZbWTvAs9e9spqtdtvFdiPjfCHFsDDz76dwbliu98p8cRvdKIMwcrV
3ny9dV13axmDuvKxCWYouWsdDs5yOmhqZX1pTWvCL+UPbzDLc1QsUYbMNeaW0ZKo36dQBmfzrfk2
OByC3S4IfHvWlD7kwxhbmviRO2mVi4pc6pn2vC78ymWWwRlJqxaTMUGhpmEv2/LvUyiDMUp7uYtC
f7MyFquN61mDIvsRhfBsbXk4LJtylmVYqT6c6EXuV66yDClUhzNdZZETZQhe60365V/6Dv7Ivtgw
guN+M+nWq9VGd7ww+heF4gLgWQWQlIXo+tNVGKBlRbupliVxHBZsqawK1PXzWOZ7Nfl6rMsf52Lj
2WPJrxit6Ja7qPMEGgmjxWK5mKMv6eSnON4kEM6Vxt5xb/Y0ieeyglyqt2oyjX1KqkDI3TT9VAFk
MhAxcQyu009XYQ0ounPcTTSeJjCMZAWRp2MXgrvR8wxNAchkegTxNBZE36QqSOIwuhfGRDddHkt+
xghg6Ed2V2bRFbDHizxDPI3yBkfiBcfbFKKkjhVGlq5mKRx8gGKh8mPB/lMFoOZz2WTKkGlZnmdp
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
OaMhaE7IyXJO4GjicmhOs+z5TAHmwnDxVxDo2xiOOR9h4BTLMiTBlqa7eAuSJElGrM0v9WdyOCFL
AktRNMvERQBOMSx9OZJAZnlkFe0RMTAUdjacFSVJRAclYI09f32RcES83+d4GeJ2jXCCpCgSHTBl
Xlwjvh86Za6+Dso8fceTufqiJ/kbZyHnhpC1OZhmVmku93sUizPn3Q10eoa9ePyaCroDx64/RYq5
xOyeWfs5jr9CoGS01x/avXHpp4CaAD9yp81SXimUmpPt3hldHeT+wZhv3vHuY/8tx78WKGuvg/3W
GPd7/bFh+w6k4t930v5/AGj3SoO167s2dK6b7daatpQPfpX0dwdk7VJngg4UN2tzMYVy4Rd/dPX/
D4zkZK3R7Q/6V+VCimtAEucEOV8oKFepOMU1vn9eS/yCb1T+prjhE+0UKVKkSJEiRYoUKVKkSJEi
RYoUKVKkSJEiRYoUKVKkSJEiRYoUKX4G/wEcO3VzDQplbmRzdHJlYW0NCmVuZG9iag0KMjEgMCBv
YmoNCjw8L0Z1bmN0aW9uVHlwZSAwL1NpemVbIDUxMl0gL0RlY29kZVsgMCAxIDAgMSAwIDFdIC9S
YW5nZVsgMCAxIDAgMSAwIDFdIC9CaXRzUGVyU2FtcGxlIDgvRG9tYWluWyAwIDFdIC9FbmNvZGVb
IDAgNTExXSAvT3JkZXIgMS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDY1NT4+DQpzdHJlYW0N
CnicfdT5W0xRHAbw/88uISGEQnYiS4hsJVnKvpSZkLFkicpgGINmn2mapRlqQiSqiYqs7/d8z5x7
x9Mzz/P5cZZ7z3nfN/a3Jja+ixCFP+ldgA7lt955JQK/lHNKmP08qxciZ0JjmuDYafKDnWpXvp+E
gHQiMEraRqulkWr/SJU0XOUbPi4cA+83dtTzFY4w91Alcw0ddiWIM1HhHIRD4BgsdwyU20mZvb+s
tf8ge/XlgLD/5WfYBy/69oKtr9T2CfY8h97dYO0tsX6EXc/gw86n0LMDLD3Flvew/Qm82/aYbH30
dgszdxeZuzc/hPgmaIkXtnTBxuauDc2dpKlzfdObdQ/I2vuvYQ00xlY3xlbBvehKoeBuB6yAO5Hl
cDuyjITzG0heQyjvVmgpCS65GVws5N5oh0XCwusBtsAUyDG1sfnXwD8P6v1zhex6X/ZV3xzJm3WF
zJY8sy5LM6HOk1nnVmaA0Z1hdLHpzCBNMzjZVLgkTdE4JkOtNCnVxFo7qdFMSEt+jL9FX///B+lf
+B9TnkE8lUEST4vHFs9v1Ii3c2fw+2qv78nkM+HzwUFph+bNwjGqI8Xx0iGL0+aTxxWYiLiRQA4u
iG8KV5a8u1xcJd8pLpdvGddNlx7ORwA4CZwKTgiigsBwcjhFiBPnCgFDzBA2RA7B4wQiiggkxTJe
yClFXM2kSMUYkUawEW+E3EKKEXvOP4qAOqAUVlKCmnBfUBwbKUWVuFPcLxQNdePeqRqiklTMASop
qsqdpfImKrjLKLUquKo86o8R4DXgZeCVwFyo6cCMqEnhhaGpEZvD+6PmKEjERom90i8YDVrqyhGx
fpEUyZHUjaeg29Xk2EaltPssZlwYf+f/ATrhPYENCmVuZHN0cmVhbQ0KZW5kb2JqDQoyMiAwIG9i
ag0KPDwvUGF0dGVyblR5cGUgMi9TaGFkaW5nPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvU2hhZGlu
Z1R5cGUgMi9Db29yZHNbIDM2MCAxNDYuNjQgMzYwIDMyNC45Nl0gL0V4dGVuZFsgdHJ1ZSB0cnVl
XSAvRnVuY3Rpb24gMjEgMCBSPj4+Pg0KZW5kb2JqDQoyMyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0
L1N1YnR5cGUvSW1hZ2UvV2lkdGggNjg0L0hlaWdodCAxMzMvQ29sb3JTcGFjZS9EZXZpY2VSR0Iv
Qml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDI0IDAgUi9GaWx0ZXIv
RmxhdGVEZWNvZGUvTGVuZ3RoIDI4Nz4+DQpzdHJlYW0NCnic7cEBDQAAAMKg909tDwcUAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbwYqUAABDQplbmRzdHJlYW0NCmVuZG9iag0K
MjQgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDY4NC9IZWlnaHQg
MTMzL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50
IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNDk4Pj4NCnN0
cmVhbQ0KeJzt3YlS2lwAhuEmGEQUFRes1q3uIloV0Yr7VhcQRbb0/m+kBLD/9FcQIcs5J+97CZlv
MiEPc/LlCxE1SyPp83pDLqUFeowgSZxhBHQ/rFXTjb7IcHSEpC06PBgO+mCsmh6MxGYXV0jiluYm
BnvVH6seHJxaS6ZPSOKOUvHpYeXHWr2rTsXTN5lc7okkLZfL3h5vzgwpPlbdGJhcT9/li2WSuNLL
w0liejCoe70nB9OM/om1w7t82TR/k7yZlZeH442piMJj1XrCsZWD2+pUvb7Y1F3Vsd4frU8OGKqO
tTrV8aX9m2emKn9mJX93uDbRb6j5yKoF+sYWU9dPJaaqQGY5f3uwEgv3qDhWLRAaWUheMVVFMsvP
N/tL4yqOVdND0fmdy1yRqSqSWXq6Ti2O9QVUG6um9w7Pbp8/FiteX2Kyq+pYr5ILIyHFxqrpwaGZ
rbNsgakqlFnMXe7MR0NqmYAeHPyWOMkwVbWqFB/Pt2fV0lbdiExtHD+8VHhYVatKIXu2pZS26sbA
1/X0PVNVr0ohc7KpkLZasrpak1WvryzZnWLaiqyqnFLaiqyqnULaWpPVPWRV3ZTRVktWvyevckxV
3RTR1oasPiKrKmdp657s2lqT1R/IquopoK3Iql8yi4+Sa+tfWeUJQPUsbf0hsbYiqz6qoa2SHnGB
rPop09LWxDc5tRVZ9Vev2iohYCGrfsvS1vT6V/m0FVn1X2Y5f3e4Kp22Iqt+TEptRVb9mYTaasnq
HLLqw6TTVmTVv5ml3FXyuzTaWpfVU2TVl8mlrciqr5NJW3UjMoms+jh5tFVDVn2eNNqKrJIk2lqX
1V9M1ddJoa1aoA9ZJRm0tTrVUWSVJNBWZJVea2irqIBVl9ULZJV+v2rrqJhjbchqFlklK4G1FVml
fzOLjxc7cyJqK7JK/6tSzAqprcgqvalSyJ6Kp63IKr1NSG1FVum96to6KZK2Iqv0fn+1VZSnAGSV
miWYtiKr1LzqWH8Jo63IKrVKIG3V9F5klVokjLYiq/RRgmirJavTm6d8vJJaJIa21mX1AVmlVomg
rZasxo+QVfog77XVktW19B1TpQ/yXFu1HmSV2stjbUVWqf081VbriNWlFLJK7eWhtlqyuoCsUtt5
pq01Wd1FVqn9LG1NLbl+OCuySp/PE21FVqmTLG3ddVdbkVXqrIa2ughYyCp1mNvaiqxSx1UKmdPN
abe0FVmlzjMrhQfXtBVZpW6ytPUo7oq2IqvUXdWx3qXXXNBWZJW67VVbHQYsLRBCVqnLXNFWS1bn
dy+RVeoqF7QVWSV7qmnrgoPaiqySXTmsrcgq2Zez2oqsko05qa11WeWIVbIp57QVWSV7c0xb67J6
C1eRbTmkrVpPeHwZWSVbc0RbkVVyIge0FVklZ6pp6/K4fdqKrJJT2aytyCo5V0Nb7QEsZJWczCzl
LnfnbdFWZJWczT5tRVbJ4ezSVmSVHM8ebUVWyfls0VZkldzIOpy1S21FVsmdutZWZJXcyiznb7vQ
1pqsJq+QVXKhrrS1OtUoskpu1YW2Iqvkbh1ra3WqQ8gquVmH2oqskvt1pq3IKnlQJ9qKrJInfV5b
kVXypk9rq9bTH1v9iayS+31SWxuyCleRB31KW5FV8jJLW3+uxtrRVmSVvM0sP7enrcgqeV2b2oqs
kveZpaer5EfaiqySCNW1NdpqrMgqidHH2oqskiDVtXWo6ViRVRKm1tqKrJI4tdRWS1ZXkFUSpBba
WpPVfWSVRKmptlqyupi6ZqokTE20FVkl8XpXW19lFa4ikXpHW60jVue2kVUSrTfaanHVzNZZFgMg
wTLN4uM/2qoZkamN4/t8qUIkWOWXzNnWzFDjNWvtz9V7lw9Pz3kiwXp+ylwfrE6E6zdW6+DKleTx
+SWRgF2cpNamIvW3rFogPDqzHE8kNomEK5GIr86NN0Sg+tOqf3gsNkEkZLHxaKS38eNK041giEjY
eo3/XlppOpHAaXZ+XZjI8f4AE5+D5A0KZW5kc3RyZWFtDQplbmRvYmoNCjI1IDAgb2JqDQo8PC9U
eXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyMTIvSGVpZ2h0IDk4L0NvbG9yU3BhY2Uv
RGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAyNiAw
IFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA4Mz4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9t
DQ+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAeDTzeAABDQplbmRzdHJlYW0NCmVuZG9iag0KMjYgMCBvYmoNCjw8L1R5cGUvWE9iamVj
dC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDIxMi9IZWlnaHQgOTgvQ29sb3JTcGFjZS9EZXZpY2VHcmF5
L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0
ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDI4ODc+Pg0Kc3RyZWFtDQp4nO1ZZ5PiSBYcJOQdTgaEFSCE
8CCDkEGCprvH3ez9/z9zr0Sz3TM7vXsRXNzOXSg/lfzLMpnvlT58KFCgQIECBQoUKFCgQIECBQoU
KFCgQIH/V5Ry/N1R/CdRwvAyQRA49j/ACroew7C/HIASTrFipSJyFP6rk4LeJyiKpsi/GIBSma02
e4bR0yTq1x6pElam+UpdluWa9KcDUMLZxmC+c52V2eSJX3lZlTCSb+iGaU2tcb9ZZcrvRopRVWMb
JVHg2G2RxPHyL7usMFJsjleuHwSBv5v1avR7gZZwrrWIsshZTA1VoGhO+FWXVYkQWrYXJ2EQHMLQ
s1v8ewNVIqSBmyXbka7WRYaRtLZWobD/brT/HjBGmfjpcb+eTWer3W7WFoh3OGFU3TycgokiMDRJ
8pq5sN7vgL8TpbLY3aaZP+2qitYejPoKdwvzB30v4bQyizN3UKHKOE5KvW3oGBUSbvjwnQ3/tH19
F/bDpdsXvv/e/ZzI2jg4xwtdYmiGl2pVnryuJ6TvJEXT1Iu+lzBC0FfpyR1UaaJM0PVxcDpYCoeu
Ix/Gb4+9beMEUYZ27hU0Q9NgFqU3l3B0Gl5QejmDPkeW7xYejJKn8UM4adA4lrsU8cKgTHFSTVbk
usRT8BmkjvLIPV8Cq1UTOb7aXiRP6bqvVAWGonlJYkksf46CNnftF4xkRRHaL+9SVbkmsi+XCEYQ
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
tnN7sd1DXgl5E3BS7PC4vdlF+aUO2Mzt6Wy5XpraPXs3MPfkEaT3SQxI4v1yUIcuwkipbbtREoeH
MAr95aCB+g2c1fJ8W2XyIh1S1GWYpZG36FXIfPLNostDgJQFZ1Q7ulyQ6mEgPUxjtIuScO+BRXmH
cNvPhcN0g3mTvU4xKEGhfjpEUK/5eygcTY27J40oEbxqQBW63++hojXbNbQPCxNG1IZzVHe6u9tJ
0KdK1571a1epw6Dwne08d2PpKIkqkVJ37ji2jgbt2n4p7WAUFGOxc10olcZQwZtNvowRUmc6M+ov
zprX1cZs43j5ByftO/cNMYKtah1jbJqjfqshUPhtP6KqdY3RaNh7PQl60mzW2eu0KOF0ResZw36z
ku8wwGGz181/Dlzbv/8oKBFoP2I4Mjpao640FXQaZ6paq/G67YaReRQjczzqt5V8z+IOQAQkI0jV
Wg39grmJKNhWfrZaEVnqVtOXyjQHsv/ShfAcK1SgMroxpjhRYEm89H37w+0PT7UisDTFcCzcD+uP
4rg36vYaRRVKLfLuLetSvpVHksR3e/qoQiB+OAk3fn/09v8aOiy/7uyV3zyYG3v+KnjBbbsQWm8j
v0VBXjOA+1H66R/Nn5z8w+HbG97bjf3uVb+f/mPgpZ+HUaBAgQIFChQoUKBAgQIFChQoUKBAgQIF
ChQoUKBAgQIFCvyd+BeLQKfCDQplbmRzdHJlYW0NCmVuZG9iag0KMjcgMCBvYmoNCjw8L0Z1bmN0
aW9uVHlwZSAwL1NpemVbIDUxMl0gL0RlY29kZVsgMCAxIDAgMSAwIDFdIC9SYW5nZVsgMCAxIDAg
MSAwIDFdIC9CaXRzUGVyU2FtcGxlIDgvRG9tYWluWyAwIDFdIC9FbmNvZGVbIDAgNTExXSAvT3Jk
ZXIgMS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDY5MT4+DQpzdHJlYW0NCnichdR1V9NhGMbx
F2ogGCh2YIKMGj26xugY67EgN8ZolFYBCbvjPfi9f89ztqE7eM7nT+O3576ua9n/ezmdJfjw6yRe
sSh+/mvBo/w4xi3mxXfNJebEN80pZsVX4RBx8SU+LGa0zzN2EcPQJ2Uag/gYxQA+IIJ+vJ9Cn5js
faf1vJ1Qut+MG8a6jkTn0WjnobAdhm0H4Q7sh2DdD1pfB9tFoG0PI63Y9aNlx9+84xOvvE146Wk0
NLxwo37bhbptZ92Ws3bLUbvpsGwOWzaGa7Bur163V60PVa0NVa4NVq4OVqwOoPx5P8qe9cG80ovS
ld6S5R4UL3WjaLELhQudMC3YTPO2gvmOgrmOp3PWfMxa82bb8+LtT+JteDzTikexFjyMNT+YFvej
TciNNuZGGu9FGnB3CvV3JlF323Brola5OW7BjTHUXMdo9TWt6mpY5IQrc0LiSqgCl4NKeTYC5ZcC
ZcrFEZhxQZSe9ydl+UuyfFqmr1h4xTlRpGTAo531FKY6AzdMqU4nuFBw6iTqzyT/Ssq/U6gd+x/5
gOTHZOgvVF+rvzxTfkjiR/EDU3+vegGz8SDCeB8eSp4rO5h4QB6TJ1VvyyOr1048PofgHOouHIgz
qXtxOHVBdU11WU7MoTk3R+f0BEAlgUgQDOJBSIgKgSE2hIcISZDyJVREi4ARM8JG5Age8SOERJFA
EkvCKRE1rxBXQkt0CTAxJsxEmmATb0JO1Ak8sZfwWzYoAnWgFFSDglATykJlKI5qEFWiUNSKclEx
KVrr7ojYUx1UfaSY1JOShsUBtaW8qsXUWfVadZyyq9ZT/8QUqGVgIiJCRiOqyZhMC5mXxNTE7Hp/
ZIiMRVLrJDPl0KulF8ypNy05cS69e8kZdOtt/HswjRVNO7CLXr3A/1lpn4x52pHHH1z4+oANCmVu
ZHN0cmVhbQ0KZW5kb2JqDQoyOCAwIG9iag0KPDwvUGF0dGVyblR5cGUgMi9TaGFkaW5nPDwvQ29s
b3JTcGFjZS9EZXZpY2VSR0IvU2hhZGluZ1R5cGUgMi9Db29yZHNbIDM2MCA1Ny43MiAzNjAgMjM1
LjhdIC9FeHRlbmRbIHRydWUgdHJ1ZV0gL0Z1bmN0aW9uIDI3IDAgUj4+Pj4NCmVuZG9iag0KMjkg
MCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDkwOS9IZWlnaHQgMTMz
L0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxz
ZS9TTWFzayAzMCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzNzQ+Pg0Kc3RyZWFtDQp4
nO3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcGiQ4AAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjMwIDAg
b2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCA5MDkvSGVpZ2h0IDEzMy9D
b2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0lu
dGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTgxOT4+DQpzdHJlYW0N
Cnic7d2JUtpcHIbxnkgQBVSqQt2tC+JaxbrvS60VRREk6f3fyMdJ0H5Tl7IkITl5fpfAzDsD5Jn8
P30CEF4C8LdOT8QrQovoUcC/9EhXOOaoRWLJgdRnwK9SA8keXQvBHDU9MTQxO58FfGt2Mp2Mqr/G
2hYz8/m9wyPAt/Y3c6N9Ua3TY3GZ0OOZhZ3Lwl3xHvCnYrHwY39pNKn4GkWkN53duXqoVAH/qpSu
DxZHErrKa6xtcXhu+8dD1TR/A35lmtXS9V4uE9fV/dkounqGZrcu75+YIvyttsafO9l0b0TVNYqu
2OeZzQu2CP8zqw8/tueGVV2j0GKp6Y3zYoUtwv/Mp/vLrdmhHiWf/gute2By/fSuYnT6YwYaUFvj
xebM55iCa6xtsX9i7eS2zBYRDGaleJ6fTqm3RqFF+8ZXjwpsEYFhVO7O1qcGulVLcbRocnT58ObR
4AcjAsOo3J6sTfQrtkZNT4wsHfxiiwgUo1w4Xh3vUypTFXoik9u7LrFFBIpplG8Ol5UK40Qkns7u
/ixV2SKCxTQefx0sKRTGyQhu3orgOv3RAk0yDSuMSygSxhHBIcBkGLebTceVSHGI4BBoZvXhante
iTCutsXUdJ4IDoFVW6MaYZyM4KbWz4jgEFx2GDcY9BTnOYJjiwgwJcI4O4I7JoJDsJkKhHH1CK7M
w34Em1G5PQ12GKfpSSI4KCHoYZzQE19y+0RwUIAdxo0FNYwjgoNC6mFcMpBhnB3BXRHBQQ0yjNvP
fQliGFeP4NgiVBHYME50xQaJ4KCUgIZxRHBQUCDDuJcIji1CJQEM4+wI7pQIDqoxnwIWxhHBQVky
jNsIUBinRZNjRHBQkwzjvgUmjCOCg8rsMK4/EGEcERyUJsO4o5WxIBw2lhHcAhEc1BWYMM6K4HaI
4KCw2hqDEMbJCG5ui7cyQmlWGLfg8zCOCA6hIMO4HX+Hcc8RHFuE4uRh4605H4dxVgS3QQSHEPB5
GGdFcN+I4BAKdhjn08PGQov2E8EhNOwwLuXLFEeL9o2tHBHBISysMG7Sj5kqERzCxq9hXD2CY4sI
D5+GcURwCCFfhnFEcAglH4ZxRHAIKRnG7S1k/BPGWRHcd04TI4Rqa/RTGCdPExPBIaR8FcYJrTtF
BIfQMp/uL7/7I4yTQeokERzCyzdhHBEcQs8vYRwRHOCPMI4IDvBHGEcEB/z2RRgnIvHMwh4RHELP
NB5vDjsZxolIbzq7c8UWAZmpdjCMI4IDXpjV0nXHwrjaFonggGdWGJdNdyKMkxHc1/wFERxg61gY
RwQH/KUexnm9RiI44BXzqXiR/+pxGEcEB7yhHsbFvHz4TwQHvMX7MM6K4A5vCG+Avxjl2+O1Ce/C
ODuCI0gFXjGNcsHDMM6O4K4Jb4DXrDBu2aMwjggO+IAVxi16EsaJrp7huW0iOOAdz2Gc62uUEdws
ERzwPo/COCuC2ySCAz4gw7jtuWF3UxyhxYjggH+xwrhZV8M4IjigITKM23QzjJMR3MTa8S0RHPAP
bodxdgRXIIID/sndME5GcMtEcEBDjPLtiVthnIzgFonggMa4GMYJnQgOaIIdxo06H8YRwQFNegnj
nF0jERzQNFfCOCI4oAXysLHDYRwRHNCSehjn3BplBDe9cU4EBzTLDuMce39jPYK7I4IDmuZoGGdH
cCdEcEArzMrd+ca0M2EcERzQDqNy51AYp+nJUSI4oHX1MK7tNWpEcEB7rDBudbzdMI4IDmjbcxjX
1hrtCI7TxEBbZBh3sDjSThhX2yIRHNA+0yhd7+XaCOPkaWIiOMABbYZxRHCAY9oK44jgAAfJMG6r
tTDOiuDWieAAh9TWeLE500IYV9siERzgJLNSbCmM06J946tHnCYGnCPDuPWmwzgtSgQHOK2VME7T
EyOLB0RwgLNewriG1ygjuNzedYktAo5qOowjggNcYoVxSw2HcURwgGvqYVxjh42tCG6LCA5whQzj
drPpeAMpjozgZjYv2CLgDiuMm28gjKttMTWdPy8SwQEuaTCMkxHc1PoZERzgnobCuOcIji0CLpJh
XH469dEahRXBHRPBAe4yKndn61MfhXH1CI63MgIuMyofh3EyglsiggM8YJQLx++HcUJPEMEB3jCN
8s3h8tjbYZyIxNPZXSI4wBP1MO6tw8YygpsnggO8IsO4/dyX12EcERzgsXfCONEVGySCAzxlVh+u
XoVxRHBAB9TW+HcY9xLBsUXAS3YYN/gnxflzDpUxAl4y5SnV/P/eGCesE4y/Sk8GAG9VHwsyxak/
bpR/pM59P7+5fygB8NbDfeFyZyHda39RFZF4Jrt5eHoOwHtnR1u5kaT9tFF09Q5Ozi+trKwC8NrK
ynJ2arh+LE5o0fjAUDoDoBPSw6lEd/3/VKHp0RiATunW/zzbEBqAzhGtXjQG4Ib/AH8ZTmcNCmVu
ZHN0cmVhbQ0KZW5kb2JqDQozMSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2Uv
V2lkdGggMjI2L0hlaWdodCA5OC9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50
IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMzIgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5n
dGggODc+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4MQObAAENCmVuZHN0cmVh
bQ0KZW5kb2JqDQozMiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGgg
MjI2L0hlaWdodCA5OC9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1Bl
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
DySNiCXCiYgiqIgrQlszpjKMMCPSCLYkHFFH4BF7hF9agDqgFKhGPdcEpDWoD0okbUKtGgkVTRon
7UMNUUZpZQuXFKSz0l8UWRrdxgUHlF1aLwvQ7lGbgHHoILQVGA1Zj06iVkWPTOLy6DnqCqqN0pPV
rdCgpa+crF/iHuqRTFpOI3Va9eT+b5Pjox2b8YwjD/8A6xVZ4w0KZW5kc3RyZWFtDQplbmRvYmoN
CjM0IDAgb2JqDQo8PC9QYXR0ZXJuVHlwZSAyL1NoYWRpbmc8PC9Db2xvclNwYWNlL0RldmljZVJH
Qi9TaGFkaW5nVHlwZSAyL0Nvb3Jkc1sgMzYwIC0zMS41NiAzNjAgMTQ2Ljc2XSAvRXh0ZW5kWyB0
cnVlIHRydWVdIC9GdW5jdGlvbiAzMyAwIFI+Pj4+DQplbmRvYmoNCjM1IDAgb2JqDQo8PC9UeXBl
L1BhZ2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0V4dEdTdGF0ZTw8L0dTNSA1IDAgUi9HUzgg
OCAwIFI+Pi9Gb250PDwvRjIgMzcgMCBSL0YxIDYgMCBSPj4vWE9iamVjdDw8L0ltYWdlNDIgNDIg
MCBSL0ltYWdlNDYgNDYgMCBSL0ltYWdlNDggNDggMCBSL0ltYWdlNTAgNTAgMCBSL0ltYWdlNTIg
NTIgMCBSL0ltYWdlNTQgNTQgMCBSL0ltYWdlNTYgNTYgMCBSL0ltYWdlNTggNTggMCBSL0ltYWdl
NjAgNjAgMCBSL0ltYWdlNjIgNjIgMCBSL0ltYWdlNjQgNjQgMCBSL0ltYWdlNjYgNjYgMCBSL0lt
YWdlNjggNjggMCBSL0ltYWdlNzAgNzAgMCBSL0ltYWdlNzIgNzIgMCBSL0ltYWdlNzQgNzQgMCBS
L0ltYWdlNzYgNzYgMCBSL0ltYWdlNzggNzggMCBSL0ltYWdlODAgODAgMCBSL0ltYWdlODIgODIg
MCBSL0ltYWdlODQgODQgMCBSPj4vUGF0dGVybjw8L1A0NSA0NSAwIFI+Pi9Qcm9jU2V0Wy9QREYv
VGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAvQ29u
dGVudHMgMzYgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VS
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
279QEeyAzu31gqXXk4yXaxx1MRSLJPdJt7zUXbjBJZpSkdAmu3grtQWl2KUkHCnZMQUJs0JFVgox
Vigv2+HkWsvIn6QoDRvIVrK101sFCMls8qnGULASSA/KHftSayZ9gdEBnOiU11qzyUBRmkttSGJ6
LFpeyeJQqcoIBqSSjFqyqthZl9qW6pUwDqH/AxKuLuwNCmVuZHN0cmVhbQ0KZW5kb2JqDQozNyAw
IG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHlwZTAvQmFzZUZvbnQvQUJDREVFK0NhbGlicmkv
RW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5kYW50Rm9udHMgMzggMCBSL1RvVW5pY29kZSA1MTAg
MCBSPj4NCmVuZG9iag0KMzggMCBvYmoNClsgMzkgMCBSXSANCmVuZG9iag0KMzkgMCBvYmoNCjw8
L0Jhc2VGb250L0FCQ0RFRStDYWxpYnJpL1N1YnR5cGUvQ0lERm9udFR5cGUyL1R5cGUvRm9udC9D
SURUb0dJRE1hcC9JZGVudGl0eS9EVyAxMDAwL0NJRFN5c3RlbUluZm8gNDAgMCBSL0ZvbnREZXNj
cmlwdG9yIDQxIDAgUi9XIDUxMiAwIFI+Pg0KZW5kb2JqDQo0MCAwIG9iag0KPDwvT3JkZXJpbmco
SWRlbnRpdHkpIC9SZWdpc3RyeShBZG9iZSkgL1N1cHBsZW1lbnQgMD4+DQplbmRvYmoNCjQxIDAg
b2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FCQ0RFRStDYWxpYnJpL0ZsYWdz
IDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDc1MC9EZXNjZW50IC0yNTAvQ2FwSGVpZ2h0IDc1MC9B
dmdXaWR0aCA1MjEvTWF4V2lkdGggMTc0My9Gb250V2VpZ2h0IDQwMC9YSGVpZ2h0IDI1MC9TdGVt
ViA1Mi9Gb250QkJveFsgLTUwMyAtMjUwIDEyNDAgNzUwXSAvRm9udEZpbGUyIDUxMSAwIFI+Pg0K
ZW5kb2JqDQo0MiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTY4
L0hlaWdodCAyMDgvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVy
cG9sYXRlIGZhbHNlL1NNYXNrIDQzIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEyND4+
DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tCU+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADgb5mPAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo0MyAwIG9iag0KPDwvVHlw
ZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTY4L0hlaWdodCAyMDgvQ29sb3JTcGFjZS9E
ZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBm
YWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ4MT4+DQpzdHJlYW0NCnic7d3bThMBGEXh
zgwzU0ScFhsMahCltYRDvEESS1WiRhOgyKkjvv+L2KFE4/26+Jus7wlW9gvsVmuBJKH9rUyzvAgr
X0rnpUlWrlTdsKrHZXYfmpbVxlZ/EFT/9fNOu1k0yVY2dg5H46BG73dfrOZNZ15tHX49PZ/EdPbt
aLtb3Hd2+6PT62kd0vTmfDx8WqazzqI7GE+md0HVF592ev8667vfMdU/P9sJspNlJ8tOlp0sO1l2
suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmy
k2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06W
nSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay
7GTZybKTZSfLTpadLDtZC9o5Ddr53696//jspv4V0+3k43DemXfeHH2fXF6FdHnx48NgrUhmnUur
Lw9GJ1+COjl+t/kkbzqz9trm2739g5D294avesvZrHM26HLVW38W1Hqv86iZswnNirIdVllk6byz
lSRpYMlD5WL4A94tx8UNCmVuZHN0cmVhbQ0KZW5kb2JqDQo0NCAwIG9iag0KPDwvRnVuY3Rpb25U
eXBlIDAvU2l6ZVsgNTEyXSAvRGVjb2RlWyAwIDEgMCAxIDAgMV0gL1JhbmdlWyAwIDEgMCAxIDAg
MV0gL0JpdHNQZXJTYW1wbGUgOC9Eb21haW5bIDAgMV0gL0VuY29kZVsgMCA1MTFdIC9PcmRlciAx
L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNjczPj4NCnN0cmVhbQ0KeJyF1PlbjGEUxvE/TUgk
ZIks2SJ7hCh7yzTtMzXVtIyUCmUnlKXwByBSk5jSMhUlSyGyfZ/nvPM2dV3luj4/zvK+59z3cT3+
65pGySPxZ2bF4qHpN4r8NZp+FfprMDiVceXBeMEU93/mT5Z374dwiLsYyzXVj+XUf1fqFLvyzXbH
9DX7tiHrFkYzRe1oRu2IcnMkXfmSdsOQev0zrLj2KUVc/WjRkq9gOAmXhxNx6UOCdurikFIzdLJm
8ASqB49Xv8exC3h39Lxy5NwA4lE1EFfVH1fZf7iy7xAq+mIrvLFnvQdR7j1Q3ov9Zb0xZT0xZ3r2
obR7b2l3NE537YGra7frLXaVoHNncecOFHVs17YVdkQVeqKcnq1Oz5aCN4hE/uvN2qY8tG90tG/Q
1ue+QgRy2tZpa+1ta+xuxeZebXOH21rDs1tXaSuzWhCGzJYVysvlGcoykd68VAtFWvMS5cXiVGWR
FmLFcyzUglNE0wJhaZrvE2R5FpSszPMTiCTxdK42x5SozJ7kCQKQoMyakXwmQH9Fm/gd+WXzj+R/
AxX9JJOfUJ6ZhzdfhJeStwtW1PvKu4cYjMnIlBgXQ2N0ob5JMlKZrcyZgTN2hh+mFwHZCwtiTSyL
lcnuWKJsk7VG6BVDNs7qCQAxkDwQjEgdEhAYYkN4iJBkiVARLQJGzAibpI74EUKiGK1jSTiJKEEl
roRW0kuMCTORJtjEm5ATdQJP7Al/vC4CpBcUhJpIXygO9aFEVEk6Jf2iaNSN0lG9ZMXoI8WUhlJV
q64tzCJTaqpNwaXpVF66n6VMnAVOhHkuOB32OuOSyFXhvJinxqEYV8g8SlOOFedrykHjxBm3rmHi
APpfxSLFdzD9rmixwXdm9dX973GWGz7dhcc/2wH4iA0KZW5kc3RyZWFtDQplbmRvYmoNCjQ1IDAg
b2JqDQo8PC9QYXR0ZXJuVHlwZSAyL1NoYWRpbmc8PC9Db2xvclNwYWNlL0RldmljZVJHQi9TaGFk
aW5nVHlwZSAyL0Nvb3Jkc1sgOTIuNyAzOC44OCA5Mi43IDMyMi44XSAvRXh0ZW5kWyB0cnVlIHRy
dWVdIC9GdW5jdGlvbiA0NCAwIFI+Pj4+DQplbmRvYmoNCjQ2IDAgb2JqDQo8PC9UeXBlL1hPYmpl
Y3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMS9Db2xvclNwYWNlL0RldmljZVJH
Qi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgNDcgMCBSL0ZpbHRl
ci9GbGF0ZURlY29kZS9MZW5ndGggMTAwPj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20ND6AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA4MIANPoAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjQ3IDAgb2JqDQo8PC9U
eXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMS9Db2xvclNwYWNl
L0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRl
IGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDE2Pj4NCnN0cmVhbQ0KeJzt3WtOEwEY
heHOdKZTTGEoNCWoQcDWalrinwKhgBI1xgAtXujI2f9GkFMuMSzhe98lPAs4p1ajRUncHgnSLG/E
LM/SBUNSL1plO2Zlq1m3QlqUm9u9fsR6Oy/bVkiy1uaH8eQkYpP94avl/A4hL7fHX8+nEbv4dvi2
3TDCam9y/nteBezP5elgvUj/ITTa/ZPp/CZi1ezT+84TQnWjgFVXn0EAQSA4EASCA0EgOBAEggNB
IDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0Eg
OBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4
EASCA0EgOBAEggNBzxDmERH+22jtHV9cV38Ddj09HSwQ8nL34Pvs56+AzX4c9de825wtv96bnH2J
2Nnxx60VL3jXm2tb74ajvXiNhoM3nSUv2ifZUtnpdjcC1u2svsgfvg3yohmzolG/P3ioJUkataer
j/DdAsxoUtkNCmVuZHN0cmVhbQ0KZW5kb2JqDQo0OCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1
YnR5cGUvSW1hZ2UvV2lkdGggMjQyL0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRz
UGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgNDkgMCBSL0ZpbHRlci9GbGF0
ZURlY29kZS9MZW5ndGggODc+Pg0Kc3RyZWFtDQp4nO3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8GwT3
AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo0OSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUv
SW1hZ2UvV2lkdGggMjQyL0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAg
MCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURl
Y29kZS9MZW5ndGggMzczND4+DQpzdHJlYW0NCnic7VrnduQ4j+0qlXLOVA5UpEIlh+6esO//VgtK
ZbfdZ2ePa863PZ6zuj9sqkRCuCIBAoS+fNmwYcOGDRs2bNiwYcOGDRs2bHjBbrff73d/Z+D+7cD3
V58ZO4YTBI75mK47wJuBoiiwK8vdnhVE8aNi/kN4q80doxhBdz1D/Iiuu/2BZV86wkDDQ47K7enV
nlMd5OnCr6S8Z35oc88wzoibNjX5/Qf6spKqvJDacXrSDRVSWLjesQqqSBNp7K9jvGNFVRUO9z5w
x0ioe3gkobIMBWNkwBp3i3Ezq12+NHe7g+yEyLhR3gtu+/j9WjnCnl441eXbtbL4Pe3NMFTGsur2
i3nf5LzcWB/0o9ubPuuA/cvAL28VeCdxx4hWGJh3r6odq6fzt++X0uR2dNXyoiTyB1CbfWntGGiK
Is8yjGBlbR3dlu5eQuNv//V9itQDvAs1Gr//+bV1BebACZK02DcI4TheoMbOUA3pDYm6jN0qXl6u
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
wsteM/dJgBfGzdwujMcxNfSITLR0ciuqrKVVya1mkvj5fK5dVY866PGRr43+OcAWIxqoHC/HKs6H
CVs8w1vlPGThz4wTXQu6sTB5ljIuUULmyhEOnFlMQ4ryac51QfKbcf1m6POCHmLwioePl6HE41xS
xmYJprnMsePXc4dkXs+mnxkH6cKY4Yx8YQyLQONEl5bkPjXjJXLgBD0ZLiPG47F2JQ7W6dTFaGHs
wZKNNNnCR9icwSFPtPx0K472c+PLnEiL3rGf0yIiMK4+OeMd/W5JVzUnG88kyzqwX0uzkm7EtMo/
pZZDXZFnR/11BsY+mO7quWjJv57BSWvguEfwXNk4rIyHT86YVZwoieOsnSeM/GKYmizOYNdJLDsH
DoaZwH5T5s3pcU402amgm2+YcUcyx8nI1GZxWg8d3Z1oEZGFvY7gT23HO1ZFZdt1ZBzrwNB9TIa+
7UibOeB2IXdSVa+a5qEfjucuUAQDbLfPPDus6kjXvHLtDfGKqgW0iMjyJi1CfmZfvWMkJ6mAclMg
XRBUL6OffOHEkXmJ5scir8EbaZdCIg293Lyp6Y4dRY609m6ht7t8sRZZ4MZUWoT81BHInpVNP4wj
ZNHiIiebXhCipRLJLWcgDK/aKECuY9MLVrZ839EkZSkVrr0Dd7mzFhGhOy1CfmbG9JNVSVEVafk8
lH6/KisyLTDczrmWqp98qzCu37dCQsgutcgfvd9UD1nu73wp/UtBj+kOLyd17z4wfqkOroXEl1Ih
s35AvB543SqYX34uIn52vKsp/A8Fhv+FwlaO2LBhw4YNGzZs2LBhw4YNGzZs2LBhw4ZX/DfMM8+m
DQplbmRzdHJlYW0NCmVuZG9iag0KNTAgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0lt
YWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAxL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21w
b25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayA1MSAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCAxMDA+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADgwgA0+gABDQplbmRzdHJlYW0NCmVuZG9iag0KNTEgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9T
dWJ0eXBlL0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAxL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9N
YXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVy
L0ZsYXRlRGVjb2RlL0xlbmd0aCA0MTY+Pg0Kc3RyZWFtDQp4nO3da04TARiF4c50plNMYSg0JahB
wNZqWuKfAqGAEjXGAC1e6MjZ/0aQUy4xLOF73yU8CzinVqNFSdweCdIsb8Qsz9IFQ1IvWmU7ZmWr
WbdCWpSb271+xHo7L9tWSLLW5ofx5CRik/3hq+X8DiEvt8dfz6cRu/h2+LbdMMJqb3L+e14F7M/l
6WC9SP8hNNr9k+n8JmLV7NP7zhNCdaOAVVefQQBBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIID
QSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNB
IDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0HP
EOYREf7baO0dX1xXfwN2PT0dLBDycvfg++znr4DNfhz117zbnC2/3pucfYnY2fHHrRUveNeba1vv
hqO9eI2GgzedJS/aJ9lS2el2NwLW7ay+yB++DfKiGbOiUb8/eKglSRq1p6uP8N0CzGhS2Q0KZW5k
c3RyZWFtDQplbmRvYmoNCjUyIDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9X
aWR0aCAyNjUvSGVpZ2h0IDkyL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQg
OC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayA1MyAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0
aCA5ND4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tDB+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICnAR3DAAENCmVu
ZHN0cmVhbQ0KZW5kb2JqDQo1MyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2Uv
V2lkdGggMjY1L0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAv
Qml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9M
ZW5ndGggNDY2OD4+DQpzdHJlYW0NCnic7Vtpl9s2srVEcd/3fSe4ASS1dLfjnLHP+/+/agqkWm4n
caY9yYt83lN9aIsklsIlqlBVl/7w4SEPechDHvKQhzzkIQ95yEMe8pCH/N+THci9dfgJZLdnDsz+
r4Dx08O4gzWC7P9Uzx3DS4ossCsY/+0sfz7FnQX040RJlkWe/RM9dwfR9EPfVCSRP+x/bIJtF+1Z
Abr+vEjs9pxsuEEY+pbCfXeFu71gpQ0qQse2dZH5keXs9gf2ALuIEXVLF36o6z8pgIPm503bdSj3
FPZ7au5YNe5IX4R+GLnfb/bHE8iqzDN7VvVCR/5ptwTgEDYjHvu+a2Kdgze3B1Pe3MCOXlCBfwW7
mkgd2rYfUiBe3crqPF8br3Lrsd8eUwAiT+UP3BWI66Nbp639nWEAFyh5DcEoT5I0DTSOYVhelESB
ZehSWY7nRVHgDgyrhMOJFI6mWa4pHcCtCBII+BXmwNLGO2h82K9dBOjB0mG2x5JbdbWvCbxiOYYI
4BzoIxh0v3ai7f/cPf0zQHBGTiYUmqqqG7rIsaJme75nayLLwG/DhCvXkHjRqk4fz01gaLAaieUk
3fHDMPAMWZQ1VWD2jKBqMs+Jmmm7rq0rqukGgWepgmhk09MCPRWVAnE48Irp+jCozDEHQTVMy/Wh
HXdnJPai1y5jovOHA8dzsEA7LhuEqsSWYfFxUVRNC85D08Phly+/kMy1g9jTRMVJK9SNI0os3QkD
nWfA00SOIhlRWTd1HjheUqEWFYGh++3L509z5ZtWELsKL+hBXiNU57BJBD3Mi6JGbRVq33fU/4Ts
GCXGx9YVmdVYD6KdtUPfD2OfO4oWdTMZBzLj0rOi8dOXTyT3wbFmtu7k3dCT09NceXZcV67Iik6J
UlPz0XKc+iry46Jpe4yb0Am7j19+XerA9os6MRUjbnqQcawDTQWznMZ+nCbky3c9T3YHLZuXyuRW
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
3TRgtonemXXtWX4lmw88vybd6yVcSYpMaWvIlN8Q3Qxlw2X6QAAjGo9jAUDgeT3BoYeiSJBnU5qb
/UpfMzdiW1YUWaRJNYxIp9ro8D0rUEp9OzYYTlRUVRa2bJsTZeXKvG+DUb1keWXO6cj8G+Z8/7b1
4ZWO57h3l65uPPZr0eTKVG8Vl1fW+sON6H59cJA8NBEIDdpxyGlkCA8ODPOG5v6WvqY9D4frf1a4
lk9eKzq3Ss+HdZTDrSL0ey58u/MfmfNvNPiL8t0hrovg9LgBd9HQ/HyrMP4nPut9fNe3xdzf9/iT
Me7Cp9E6K7XnJPZN6f83zw1GqWq6vvLc91bmrkKNnqVVxAfPvXvw3A95yEMe8pCHPOQhD3nIQx7y
kIc85CEPech/I/8Gt1pZsw0KZW5kc3RyZWFtDQplbmRvYmoNCjU0IDAgb2JqDQo8PC9UeXBlL1hP
YmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMi9Db2xvclNwYWNlL0Rldmlj
ZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgNTUgMCBSL0Zp
bHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTAwPj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20ND6AA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAPgyOAkAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjU1IDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMi9Db2xvclNw
YWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9s
YXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDIwPj4NCnN0cmVhbQ0KeJzt3e8u
HAEYhfGdmZ2Z9a+zqxuibVDdRYp+QmJtVUpIsCh2OPd/IziotLfwPs8l/PJ+Pm+jQS8lcftLkDbz
ImZ5M31hSLJyqurErJouMyukZbWw3OtHrPf1U7v1fAtJNrWwvj0YRmyw8/3zTP6MkFfL20dnF6OA
nR/vfusURmj3Bmc34zpe49uL4drHMn1CKDr94Wj8ELH68mC9+45QPyhg9dUvEEAQCA4EgeBAEAgO
BIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4E
geBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB
4EAQCA4EgeBAEAgOBIHgQBAI7j+EcUSEf4Zqe/vnt/V9wO5GP18ni/NqZfdkdP0nXteXp3v9WY9X
N2e+bA0Of0fscP/H4gfPmGet2cXVjc2teG1urC11JzzrnzQnqu7cfMTmuu3J/O3BQ1G2YlYW2euX
i0aSpFF7/3cSvkceZao6DQplbmRzdHJlYW0NCmVuZG9iag0KNTYgMCBvYmoNCjw8L1R5cGUvWE9i
amVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2NS9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VS
R0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDU3IDAgUi9GaWx0
ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDk0Pj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20MH6AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAgKcBHcMAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjU3IDAgb2JqDQo8PC9UeXBlL1hP
YmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjUvSGVpZ2h0IDkyL0NvbG9yU3BhY2UvRGV2aWNl
R3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2Uv
RmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0Njc5Pj4NCnN0cmVhbQ0KeJztW+di3EaS1gTk2Mg5
NzIwiaSkteW993+qqwJmSMrrvaO8tsS1p36QALo64ENVdYWeDx/udKc73elOd7rTne50pzvd6U53
utNfhTab39HnTY/+q2iz3e623/gSm6+6bADJzfII6Q9e3h9M8La3Jb66XG8Znmd337T+zZ7juf2t
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
bQ0KZW5kb2JqDQo1OCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGgg
MjY1L0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50
ZXJwb2xhdGUgZmFsc2UvU01hc2sgNTkgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggOTQ+
Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACApwEdwwABDQplbmRzdHJl
YW0NCmVuZG9iag0KNTkgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRo
IDI2NS9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQ
ZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro
IDQyMjc+Pg0Kc3RyZWFtDQp4nO1bZ5fjNrJdiWLOOUcQDACDUndPO/7/f/UKVIeZ2X1n28de+7St
+iJRLAKFS6BQVRf617/ucpe73OUud7nLXe5yl7vc5S53ucvfWHa73V9twp8qu/884N2eO3D7fwwU
OzZeNuDvRrzb85KqKSL3D0FiG6+uazL/3bvfC5obxb4p/TtGf0fZcaLuRWkWe7rwDRK7gxpUHS48
TRT4f8Cs2AtG3PTDgEtfPXw93L1oV3Tqcs8wDF362yMB7z3C0zT2uAp1frc5DG4Pa2HHKWG/0iq0
7SCJrG19sBWye3Gs2+duf9PervdMbj9uX/7qof022QlWOS19mSahoxxgXIKkKLLIczBTivlMctfy
qx4npiwIbIXsOH772B94/sDxosy0D3uATxBFSZZ4jjsIkixLwiebQ3vRbdelCUxdUwSOExTLD6PQ
NWRR8fHlaanCoCCXE45twzA1kQOPYhnSARQNXZF1J4iiwFYF7iCbjucHji5JquUFgWeC8/2rB/db
hAFxXFGgS/CiOUEPCoQ73KSObqb0+adLX+T4/OPz0sRBlIaGKJpxmdqSoHpx6Ng37TLQRMnOmhaj
wjetMK8RqjNXOXymOQFLo1rOtPR1mNW8GjTDOAyE9oXvZhMA0W1A/LCiJC5xE2ha2C1DYihOjsrQ
T2vck4nWnqpHw+k0D1UUJE3fd93QFa70mWKxHadG3XqiKHEUUXYqQtqiaMjcp17UXR+nIvCL6fEK
l345DrnjFOuXC/LMqB2qwAmSrEB0HVPTzNenK6niIEZkRGXd0z5lzvfzyF4wk24+rmMVGGbcT11s
WwGap8r36+WIfV0P8HEubc1IhwlFUXv96WmI/WIYC1g+jhfmw2mpHLs8Pi6lZzo5WUmVZu00Vbbw
mbzEbi8aYT2upxlFQUnBfEk0MjKjwC3oXFmS5DQzSTVR9tt5KIvh+vw0VRkiXWxophem9XQ9NZ5T
LufOV2WrXK9LW1b9MjeO+JmAgMUhqE6Kl/Pc5O1Mc50/KFE/49DNyVSagmjX0xArPDiTaeowPV2v
a4cGinzDZH5xOD3BWnGKealMUbSa89OZ4G6cxsL6VDOCpZi8ZMT9+TzU3TK9AtG+A1FNY6weeC0l
x3ma52k5znQmpWuFTd/hfn08MyCmqdABLQDiNKC6aYpA/VzbBgeRkqC4zXoea7zM29JIx6nxnWwD
AmbCTDKARw668/WyDng4Xi6nMbXdkky4rCHMuAEBGPJmuV5oFYcBhBTip9o1DpJhmTDJ0bLivKLL
5iwbSgrbyggtbkDMtasI4CzOPzwf2xytT8+XLjB9tMxtVgzn4wYErKrDAabNOhaBY9vG54qoIJIO
szzL63EhRRC389QWeTPQNtSNZBhzg+eNfDqNuaNIRr7+8LwUQUaffjjVjuY289o3iF7WxrUzMmba
gZM8NBGUx3Hoap/KRcDumbY9i6GGytOtFFM6DOOIU1NSA9TG2uYx1rmNDEkJ+su5Cy0fna4k0SXY
UGfQnlaS22bctpHC7Xk9bseha1EVm59q09jxWlBiiAVR7qmiZMY17rq2ii2JF604cWRuL1oZ7ptI
h/A6bdvUVPQI4cKWeMnJ2w6jFpW+BhtPYkMouRfNqEIt/BYan2pG7PaC5oRxHG1ZEqRUWxoFjo7b
H2TDVPj9jpNMPwpMGea94XkGIKS7niUfQAFuhIHv2ZooKKbJkosdJ2qsiRAUP1f+udvzoqKqCsub
d+xiS6z5rSIhCJBgs31FuuXa8AXU9qB0077l7JLEsvYDU35pT1Zu7f3VY/ttspViuNe65Gup5bX2
8qqxVV9YzWW3u9Vgdq+PvpZj3grhWxMv5Zq73OUud7nLXe5yl98nb4HHf775x3Xx2tTGMf2Vccwt
OPveBhZsSt9TzG/39n/EwQPGZL+TShDnyxAK/6lIfHOyYou5VfV7G3a8YtvfJ+W3UHQbwB9w8GDP
a14YmLf0ZndQ7JARd38iEjuOf2fKd1sWFscBZGTf0slOlnvKN8NlnCFkL2Cz5Ri/u5S145QAkT63
WOa/20tuNZLqz6wdw9B1/XXUO052shYy+iaxvrGBU8K2S/WvwWFJqq4Ie1YXir3f/e52vFGsz48k
VgFtuMjnL080UriNpX7PnN7Z6Rf6+qv8intPp94yqXdi+93nvDfy9X1OsuPYeUFiJ5j5MNGha3OH
zdF3LTUZSGFsGe1rB4IRxL4mHEQzTBgQ35n8bs7HgBAs9PDrL+fGFvYwITz88OvPa6beWOrNd+xY
eiyIN0fymmWzVHq7A0k0pNEsseb4jcFmk5XjtwcgFecF6fYbm8i3n15aZBeM+BaMrO9z+3bYZi8H
eJnaIo0DE5b97RHW10FNCS1NgWfL6ManC1qI+jrQJUl3fXbmgFl2036zQGKZ/0eBsNHDLz8/DiHM
goOW0qdffjpmmiDpjh+GrNTC8Ypp2a4feNZWd9FsuOFbCg+TkhHfcRz5oMbLxqbDaG1Jt2x4PHAM
w/IC31ZZbYY9GPiOLh3gK2sxCDxDFtWwv1xJ7iiM3OOUmJzgwtA16fDal2cpAiMCptKSVV0TuT0n
6aDhVst1aUJTNVzPlA4H8WYyWLZZYDlb18IHkWBAXH94fphyg+dEu1oen5+XTJeNoGjaFoGDEhU3
q6oa4bbwFF7Q/fzGWauCoPkF6gZC2thUNDetGtQUgc6qdSU80HVNkRUNZlQ3f5DMqGgQqhJbkfQg
ryrWSubodrH+9PN1SDefwIA409xWtjqNZMUlK9lBm7LOgHAMNwoMgRPNKA28ZHj6+ctcB5YTp54q
ylZctZhZ9mJBhfDL0ZWPAnF+vJ7X1pN5JcTL6fowZ4Zqp03bjXQoHNXMxmUmIyNkHFm2krrtBjpW
rqr5VT+S+XKdS9f0C9x3/TA0ga6HeJ4JmdbjTAZ4jjaeIpkJAic4kC63dbeiyzSSaR5yzyuPP//6
OGYbEHsp6E4rBrAEjhOtFA9DP5CxCQ0zI1PlOimqwE45aHARZeTLL88wJdyoRqmp2hkeGQ0/bha0
80TANop8+WM7KwDRHM/LvA6JLlv5OE/rZcoMxQpTxlIvfWQ69fFh7Ro8rX2sK2bAbpAV3qGdw7hQ
f7wupecVPcFV1VFSunZKr6eh7ZaHx+PQ4o3qNsKWDE3V0rmLnbA7XyfcdPOCIzclT89L5anszYHH
Kuhp6cvAkEQtwnRoihJTUnlODkAAagMOFUGNB9qEUXv5csaxbcfdCJ3Gm3bVTbTy7Ixej0MDZlKY
6R8GYj2OwzzVnhkgOnb0NGW6pFquHxbkNOWOh06XIfPjdqG5Kaumu9HXc+UxEqdKivFEcy/uFoqy
rKFLF3n5fJnKMOkuj3MVxYwXhyFQdrqoJKe5DOKBHaDx0x4gsn10OmNf3ZwlbJ9eRdbjhFNbd0pK
2cRP+7lP/A0Iv6Z9pArgMBbku8V0IqwizmAJguqmnQ1Ln3gFsyAI62mGXeDDQCwLboa5T8O8J23d
rzTTRYWx1M38cITe0bpUjgbvirmr7UYNrxzBK5lpneT90qd+Pl2PXVXh+TgkfjEdcWDYxXKGCWUx
XjyK8flCUYnoeanDpD/S3NKcZqaZZZfzDPvBzadBdORkeDquQxHEeIZpKsouqBUh9A6mNNMQMyDo
gjwrHmbsK4IWs8MGCZ5hwoqyhxamzSxg/NLceh8LijYg5iaD19ZWmPRFhgEIQzHDYmOpzw30zohL
UUvHqXa0jb7uj0+XFoA4ngbUEopCWOlfrlOHh2lqYUbQubaZf1uQq2hRP7VJNj4+HQfc02XM/bib
+1ARDcbxWdZGeb7GQ4w/DMrxdBqKcli6QOZ4s5ymKiq/BiKjS+Oa0DByJV5hQMRZD6jIB8Es500b
LJCUoJtaT/o4EDCPc3JcmFuLIlgBmWVGqIdhHQEIH3ofoXdYmFPj2dELfX1powifH04TpV1q2+wU
DEF1g+rEsTfqV2JvCqxRQ7Amzcnj49I1sG/kvh3hCYwW9BwgsKyckeCvoSWLMRSnmC5L25AbEIDX
V0Cwcxbw4IoAiG5C3gsQSQ4v35e4FyDY7DVF2ccT/PhxIGCNh/j8+HAhuevD1ModWIy0LdkK2IAY
YkVg/TVhUBGKy4pcTm0UgxM4L7QrPM3IpuuCkpCdhdPMDQiRIVfBa2FAJCk7M1BEAYsk9GCz7x2I
ubJuSwPCNRa86VF/XnEzrkOsiZJTTwQm++Ys63kqLNWu1iMAEXYzDjbXCTMihRUaadtCIkVQkBsQ
7W8EIrOc6vjjTw9daLobLlG30iYtxsuxZh5qiACICICAtb5MKMv786mN0+HycJ4HlNoamM5Oljq2
bWqykTIOXFSjgb4CEYXNsnapZ9uWoWhBS29AUFgaZkZXHGzOEsJm1TANw07BGTcFdFX5pp10U8ec
JS1dmCpLG3pJfzkj14AolGSWoifsDTGHVXqmDa61i718swCAoB8HwqqmMTX0mD7/eK5sQHsimRvh
dcYVmi4rvIaKdJHCK1FHauhvWbqqoZcjitLh+nRZSFdFtuFVdMJFHEEwqoCPIrkBQHSktGChtqQJ
mO8f65RxgZrmI8LmtJYRkpl6PJ5gwGz7ZDlXkmdpgaelS4JiXMY6K1oylh5gQwrbTIaVogovj6eG
UenLyrbPpCeV78LWP1RZgSnbS1NmgQCek3X0MSB4iPXbUJWd5ngZI00y4TKyXPA2pO+nlWQ2uPHG
hyjGb3DuegVZKLtByxCAeDzPlI5talsRGscONVXqaBDO4EQX2AOpAZO1wrmjOxBo9G1TF6GpuSUu
bRGgxTjSFQ/NS88CKpZR+yVEZSOd+oyBO05gxDjULERCODFUt6YLHckC27opwxKEeRu6McKg7VcE
tAcy1P5NG/IEe+voY0Bwip9vxz+DGoE1PLt0IGgscdciBGG1rvtpDCmQaMYpdOEVtxtV5GXkfCJt
O8zzdhiqbBmDHduKYiepKzMqPIWgXDQgHtYl2BZZzF7nPsTvYQqhLyc5aerI4BFQ36YbEJCKpk23
peE2pCFe3nbdLWiWWZuKqAVV12PoqIQQX3bLrqtC200yX5Mg3n/R1m7asIXoW0cfi7H3gmaZyoET
NNs1JMgG2aUgqHYQhb7v2aoIKZKxEdfsALGgsBuB7zmmndMTrdMMQcgZgiE2Y7AhGxMYrQ1rfnsA
QmWJPXeApMwLYWW4ugQZncm4cp7R3zwn6F4UOrfI8iBbfpzEIWjB/a1IE7EmOfhuQj4HdoXQiefZ
0DLPbPFNVTUtyMZ5yABv2vxNe2PmWUcfTDYge2V5MqS84pZ0b5dwJb+y1CylvRHXAkuFXm9IRkaP
7DwkRJM4kA83BptR3jdamx0yF1gBgXs9ir6l7CxNfjuVftNjN14KkqAsb8T6C5cusSZZYv2q+24X
64CVCiA13/rZb49+o/1y/P1DOLzw0xsiL0WTG129/4qlfivJvP+tAEYL28E8QWjQkYEdA3xjsHe7
96a+/XihzN9bfK3ovFV63ko9rz2+FXJf23y366Vsu/+qu3/T3v3v/+sAW52VthBcQTb9Vk38r51+
LOz/vbb9ucKOwQRJlqVJYCmf6sj0Hy1sPesQ/+j/nH/x/T/C/uPIs3/h3E+2fHPe5y53uctd7nKX
u9zlLne5y13ucpe73OUud7nLR+X/AMkCC+4NCmVuZHN0cmVhbQ0KZW5kb2JqDQo2MCAwIG9iag0K
PDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAxMDEvQ29sb3JT
cGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNr
IDYxIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEwMD4+DQpzdHJlYW0NCnic7cExAQAA
AMKg9U9tDQ+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODCADT6AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo2
MSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAx
MDEvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQg
OC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQxNj4+DQpzdHJl
YW0NCnic7d1rThMBGIXhznSmU0xhKDQlqEHA1mpa4p8CoYASNcYALV7oyNn/RpBTLjEs4XvfJTwL
OKdWo0VJ3B4J0ixvxCzP0gVDUi9aZTtmZatZt0JalJvbvX7Eejsv21ZIstbmh/HkJGKT/eGr5fwO
IS+3x1/PpxG7+Hb4tt0wwmpvcv57XgXsz+XpYL1I/yE02v2T6fwmYtXs0/vOE0J1o4BVV59BAEEg
OBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4
EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQ
BIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQc8Q5hER/tto7R1fXFd/A3Y9PR0sEPJy9+D77OevgM1+
HPXXvNucLb/em5x9idjZ8cetFS9415trW++Go714jYaDN50lL9on2VLZ6XY3AtbtrL7IH74N8qIZ
s6JRvz94qCVJGrWnq4/w3QLMaFLZDQplbmRzdHJlYW0NCmVuZG9iag0KNjIgMCBvYmoNCjw8L1R5
cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDIxNy9IZWlnaHQgOTIvQ29sb3JTcGFjZS9E
ZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDYzIDAg
Ui9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDgxPj4NCnN0cmVhbQ0KeJztwYEAAAAAw6D5Ux/h
AlUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAfAPp9AABDQplbmRzdHJlYW0NCmVuZG9iag0KNjMgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9T
dWJ0eXBlL0ltYWdlL1dpZHRoIDIxNy9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01h
dHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIv
RmxhdGVEZWNvZGUvTGVuZ3RoIDMzNjY+Pg0Kc3RyZWFtDQp4nO1aaZPbuBG1xPsE7/sA75uUNOOx
vclu5f//qjRIzeWNUyN7JzuV4vsiiASa/Qiw0c3HT5927NixY8eOHTt27NixY8fHweEKaByPR/j9
BVO/7MovGnhh6ki9AMvzzPEnjV8t/cKtIRZ+9up/skVzoiTLiiLLkigIqmHIzJtNb/P8yhIY4Rjq
TxZedvyBIcIL7iv758E/gwMlaI4fxnEchb5jGF6amPzxzYMZhn68wwda0L0w9D3bUIXvZ530pH5s
9mroyMi6LrNvvfx/941RXFz30+k0dRUOfdw1vvTGe3agOFkR2SuHI6cn7dA3dZlFlsy+YnageEUB
tj80xCuqyBwpTvN8nf9LFiMQc9J6vPv27TIAsbCcx1hlqe0xWWMJeWQOW+vp4PYgHVnVDexHDkfB
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
d1z2a7gnMg6Zvr78CM/YgZHdrG7bfhzrUL9qIk1HNmiVZPcInr5xHtp+PvWhKiCg2WcwgUUV6aqd
9Vvv3FUVr6wCheG0uMJv/yTtHYlB1RKX4FuTB5rAKy6uGvKZhk0+M4F6TIRDWdNUZVkkRNkkUgx2
dSuIbJmXyRceTV2mkBcLehhZAs3ITgQ51QfYoI9EXQmj0DOhcqRYSXf9wHfI10lrBc1SrGxAGepY
JpTTqxTj20iSkSZzNCvqDum9yiwiIvU2yYtV/iOkVEQGEWVFFslXqKsmIsmSQAqR6zsPcl4SBX4V
SLY/5HMHlpyi2LU3t55ZD61B9iPw+rRpJjR9/bz1tZhylUmol1LMJpm8VFCoV73fT0H5Cbz6CPY/
fBB7eN3304//7tixY8eOHTt27NixY8eOHTt27Njx/4V/A+TkmBENCmVuZHN0cmVhbQ0KZW5kb2Jq
DQo2NCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdo
dCAxMDIvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRl
IGZhbHNlL1NNYXNrIDY1IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEwMD4+DQpzdHJl
YW0NCnic7cExAQAAAMKg9U9tDQ+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4MjgJAAENCmVuZHN0cmVh
bQ0KZW5kb2JqDQo2NSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGgg
MjYxL0hlaWdodCAxMDIvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQ
ZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro
IDQyMD4+DQpzdHJlYW0NCnic7d3vLhwBGIXxnZmdmfWvs6sbom1Q3UWKfkJibVVKSLAodjj3fyM4
qLS38D7PJfzyfj5vo0EvJXH7S5A28yJmeTN9YUiycqrqxKyaLjMrpGW1sNzrR6z39VO79XwLSTa1
sL49GEZssPP980z+jJBXy9tHZxejgJ0f737rFEZo9wZnN+M6XuPbi+HaxzJ9Qig6/eFo/BCx+vJg
vfuOUD8oYPXVLxBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgO
BIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4E
geBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCO4/hHFEhH+Ganv757f1fcDu
Rj9fJ4vzamX3ZHT9J17Xl6d7/VmPVzdnvmwNDn9H7HD/x+IHz5hnrdnF1Y3NrXhtbqwtdSc86580
J6ru3HzE5rrtyfztwUNRtmJWFtnrl4tGkqRRe/93Er5HHmWqOg0KZW5kc3RyZWFtDQplbmRvYmoN
CjY2IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNTUvSGVpZ2h0
IDkyL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBm
YWxzZS9TTWFzayA2NyAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA5MT4+DQpzdHJlYW0N
Cnic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPARL7AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo2
NyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjU1L0hlaWdodCA5
Mi9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4
L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzkzMD4+DQpzdHJl
YW0NCnic7Vtnd9y4Ds2MRr13Ub1RjSpT7CRO9pX//6seKNmOnU2c+Lw9u3HO3C8eSSDIywICBP3u
3RVXXHHFFVdcccUVV1xxxRVXXPFut/unW/C34Ns0d3tmv/9hB/zlXfQTCnd/XaU7YEmx/1rljuEE
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
uBF4vW/H7WFFw13vkqoQ2bCiTvO89Go8veaqyxy9I+vBG8c2FY6huRh6P1XWdfr0KM1t0mv+V1df
uO7+y2H9bwVZ3lK1u/s8Lw1h94c1o3sf1Ao8FQB69OIyC7sFFf+zNM0Df/ce/y+JLwnhd1/lee/T
t1sm98vDmrd9uMj+9K76/au3dwr85hp8xRVXXHHFFVdcccUVV1xxxRVXXHHFFVdcccUbxf8AYJvl
Pg0KZW5kc3RyZWFtDQplbmRvYmoNCjY4IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9J
bWFnZS9XaWR0aCA5MC9IZWlnaHQgMTAwL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21w
b25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayA2OSAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCA0OT4+DQpzdHJlYW0NCnic7cEBDQAAAMKg909tDjegAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAA+DGl4AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo2OSAwIG9iag0KPDwvVHlwZS9YT2Jq
ZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggOTAvSGVpZ2h0IDEwMC9Db2xvclNwYWNlL0RldmljZUdy
YXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0Zp
bHRlci9GbGF0ZURlY29kZS9MZW5ndGggNzA4Pj4NCnN0cmVhbQ0KeJztmetymkAYht1dFgUV8YDn
AwYPGDWiEkVF3GQc48SOPaRNmzb3fx1daXMH3/5Iy3cB7zC7z748sLFYNDGEMUYigjGRZUoERGOq
6jktAR+NaapoWnVdxsDBSEqWetNZr6gQ4GCiFnu3W882ErDPjIhSsNxdMDOBVwORRK49C3aLrqGA
7iDCcb3lbNnSLiUlUDSwnGnc+Gx1XUlR0LXANF0brdl6VEvDBiOaqgxWzL9pZIB3j4PcX7Kt08rG
QVuDg2x0bzlv7Rzswea85a15sHM7BWDeSCLbngZs0Suq0LzpTQ6yZ5fBQdbq4w1bD6vAvHGQq8M1
24zrGjhv5YHH/EkTuoYkXpwLtp2a4CArhQ4HeX6VBwc5d8VBvhVQnFnzUpx9eJD/FOegnKLQINdG
F5Chi5ODXLlecZAbAkC2PV6cTT0O/D5VDQ4yL84sNG+hAexcKw9enG8GoEYGEBrAZlTTwA2gLNYA
4IvzPRqAKcwAJn5kADHRBrBkgRgD4J9Oc0uMATCBBiCoOD0hBjAWaAC8OOFBLoUG0BJmAODF+WYA
8MUpxgBifw3AE2AAmjgDGEYGEAYT5b0ZwKU4hRrA4H82AIQJwQjDGwAisqLIEg3/AUAaACctYxgZ
NWlwA9hBGgCiWr3XrRWK1iz8BwBXnDhh2O7cNrtTaAMgyZoT+LPxfMtWgwqgASApbS72e3/D7oGN
E1G96z+ejocDczvFJOARwfHC9d2np8/nY+B0qzpgw2GlPDl8ffn+dGLLSY+fa8ANrLunH6+/ns8P
dxunnQVb6MsGrs4vrz+/fTzer2+aGbBnRjRj+efn5y8f9r47NAtw5wTRbGd1PD0wz+m3yroigbGB
ZN10vKVjm5V8WpEBX1FcAkqm1arkNVWWQO/5EImndD3NYwn09SEiVKbwsWE0wkjIZWc00UQTzT85
vwGkf32NDQplbmRzdHJlYW0NCmVuZG9iag0KNzAgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0
eXBlL0ltYWdlL1dpZHRoIDQxMC9IZWlnaHQgNzUvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1Bl
ckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDcxIDAgUi9GaWx0ZXIvRmxhdGVE
ZWNvZGUvTGVuZ3RoIDExMj4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tDQ+gAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAD4MmhpAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo3MSAwIG9iag0K
PDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggNDEwL0hlaWdodCA3NS9Db2xvclNw
YWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9s
YXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTMwNj4+DQpzdHJlYW0NCnic7Zxp
c9pmFIUjgUAIBMIyO2IHYwhgViODASV206Z1p06Xcab+/7+jEhLaIY5HwrQ9z9fMZDxz5+G95+iV
3r0DAIB/JQRBkCQZkCGJt/5bwJbtSOSBBKkQHYlGo0wogNG8KTtJ5ImEI0yUTST5dK4gFDOJMPnW
f9v/FH0iVJhmorE4d5bK5oVKrdnu9oejq1YuFoQ0R8UkCa1Kci5LUqo2Ljq9q/F0Li6Wq/VK7Atx
CpM5CuafLVkSNs7xJkkmM3kit+uNzHq1XMxHF3DGd6ySxFRJijtJZqokG2mzWd0ubuaz8VWv226U
s/I5g8n4g6skBaFSb12+H4wm1xZJxOvJaPD+slWvCIVsmudY7GY+YFmAVUkyOaFca2qS3CxuVxtZ
EmUiqiSdi0a1VMylz5MJNsZE6BAVRJ7xEBdJ0tlCSZNEO9u3ktzKkswmw363rUqS4rk4G2XosDKS
gPyfEBiLJ1hT4nYBzuQVSZSzfSeJpEoiGpIUrJKoE8FIvMA9JZaqsiS9q9H02nS2b08SRZJmrSLk
s6kzLh6DJN6jSWJLiWV9Ab5ZGieJOJ/KklyaJIkykTAk8RanJC4pcfu7dbuUz3ZNkrKQz+iSUOpI
MBGPcJztapVSVyXZLsB2SVr1rSQ8JPGFb6VEbQGWdinRLol2tkMSz3hZStTXramWEktKSkzaF2CM
xAtcJMnkimW7JBu7JLmMZQGGJJ7hkCRpTomTa+Nst1QpkMQ/3FJizpwSl1ZJ3KsUTMQ77JKYUqKp
SjEkGep9o0uVgpF4gUtKzDhSogRJjsfelKhUKbaUqFcp9V2Vgr7RB6w/WzG3lGhegG19I1Ki97wo
JUpalSLO3PpGVCmecjAlDm0L8A2qlCNgl4TbpkSTJEu9SlmiSjkG35cSbVVKAguwD9hTov7AXV2A
7ZJMUKX4zZ6UWNmXElGl+I6REs0P3CtWSSTjJFEX4HJRkYRDSvSBgw/c5ZSoLMAukqBK8Y8917Lr
xo3T7UQkVCnHwjUlFlyeJe76RqNKwdUtX9ibEo0qZfezZZEEVYpv7KtSmo4qZaXfbzT6RlQp3vPS
lKidJKhS/Md+LZszp8SxaQG2942mKgWSeIlbSjRfy7YuwLsqxSQJFmCvcb+WbUmJa10Sa5WCvtEX
DqdE5Ww/0DciJfrBwZd3rSlRr1KaVbVvRJXiB4df3nWmRFQpfrPv5V17SrRUKU1UKT7yfSnRqFLw
FtzrIUhlFdr7r9++lu08SSxVCiR5HQRJ0QxNOUdzICXuHriv3SRxVimQ5DUQATqeyp6zlP5lmsNV
ivEs0XSS7FIi+kbvICmGL7U79VQkQBx8eVe9ceqUxFSloG/0DoIMxdKNoTjv5tlQ8NCzRGUie/tG
LMBeQwTCiXx7tvm46AlJlrWlRNPZbukbcXXLd8hg5KzUW376fL/o10uC88appD65QpVyZEgqmqqN
pIcvv/24mo2GI7sktrfgOFzdOhJEkEk1p/ePT1///PXTh81aO0kcHxSCJMeGDCUr47vHr8/PT19+
vpdWakrso0p5c0iab8x+eHz6+/npUf45G3TQN54IZCghdMW7h9//+uPh47xbyfIo5U8DOfxz+eZA
/PDTL5/vxG4hQaNKORGIQCiazNW6k6UkLZSPoOL7dKcCQQZCTCJdag0m406BxedpTwh5NhTN8vlK
VeAj+NbmaUGQwTAT5+IMhc+gnxqKOBQVwGBOEQIrMgAAAAAAAAAA8N/hH/rSuQYNCmVuZHN0cmVh
bQ0KZW5kb2JqDQo3MiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGgg
NDEwL0hlaWdodCAzNS9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50
ZXJwb2xhdGUgZmFsc2UvU01hc2sgNzMgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNjQ+
Pg0Kc3RyZWFtDQp4nO3BAQ0AAADCoPdPbQ8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAPBuoKgABDQplbmRzdHJlYW0NCmVuZG9iag0KNzMgMCBvYmoNCjw8L1R5cGUv
WE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDQxMC9IZWlnaHQgMzUvQ29sb3JTcGFjZS9EZXZp
Y2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxz
ZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM4OD4+DQpzdHJlYW0NCnic7djdTsJAEAVgdrd/
FChQrIBYBAoEFEiKFJqgSCMhgEoCGhTl/Z/DRi+8aLldGnO+J9jkZGZnJhYDAAAAAAD4bwillJz6
ERBAqCjJEkM0EePnomh6TlMQTaQQyuSUUa5bpbRET/0Y+EOYlMiZrf6wXz9T8NVEht/I4pliwx57
02HTUEUGvIVPXsRvZOfV3ni2WniDRiGTSgJfiYQSNnkRpmQv26PHl+3myXNurEoZ+DLNC0OTg1VD
pbTZvVu+fux36/nEdQa3wJndaxSSQjAZJWcN59v94fC+Wc286QNwNrl3u6YmBpORsxXbW+++Pv2a
eRi77gg4c+xWMRWsGSKoRs2erDZv29XU6TStGnBWLRcyYRs+FVXdbA+95fNiYteLeloDzlKqHHp6
+dn/Kx3Xm02dhqFKAnDG2JH1nlBBSResnjseNA2/rIC30Fh+s2Gimi3Vr9tXWdzNIoYyKann87oa
nBHgtPyWJsVVRUDJRA+h9NhPBAAAAAAAAHDcNxsipWoNCmVuZHN0cmVhbQ0KZW5kb2JqDQo3NCAw
IG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggNDMwL0hlaWdodCAxMDQv
Q29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNl
L1NNYXNrIDc1IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE1Mj4+DQpzdHJlYW0NCnic
7cEBAQAAAIIg/69uSEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7wYMLgABDQplbmRzdHJlYW0NCmVuZG9iag0K
NzUgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDQzMC9IZWlnaHQg
MTA0L0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50
IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMjg4Pj4NCnN0
cmVhbQ0KeJztnfly2mYUR6MVmc0swWYxu8GAAYMBmVWQ2Kmn2caTNu6kad//NaoN6QOETf+pLp3f
eQKNzlwhuGc+3rwBAAAAAAAAAAAA+D/AcTzP+X0R4BB0U6IkyyJ8kcdQJZ9EYolYWOb9vhjwIhwv
6KoS6UK1Vj4PixguwnC8pITj6WK9Oxyr3WIMw0UYTghEU/l6V9XuP9zPeyXdFoaLLLwczV4NFr98
fnr6/DC5zscUSdBfDWGMJIKSvBw9fP3+48f3L/fjdjkdj4QUWRKhjCJ8IFFVH3/78++//nh6XN71
mpfF3HkyFgmdQBk9OCmcac0/Pf/8+fz068M7bTYe9TuNy1IubSoLQBkpeDmSbc0+/v787dO9ttCW
q9XSUXaRfgtltNB1pRuTx69fPkz73W5/OJ4tDGULU1kTyojBS6Gz2uj943u1UchdFKuNtqlMM6ds
ot7ayuJRKKMALwZT1dvFUq2fR8ORWPI8V6xetXv2lK30KTOU1Up5KKMAJ54kS51hr5pURFGSlaCu
7CxbqF5dG8rmzpR1m7XyWpkMZX7BCUosWylnohJv7E0EwVR2ulY2uJsaylbafK0sk4pHw0Eo8wdO
kMPxeCQgWHeeVZbQlVXq1zfD8dSZsgGU+QrHi7IsCew9d5WFHWXslA26LVNZQlemQNl/C+d5tznd
massoytrbSurV+wpM5QJUOY7rrJoIpXJl01lk7nxXVqbT+8GN626OWWnhjIJyghgKhNZZd2BOrGn
zFJWKWTPXGVw5jfmh5mlLG4oq9nKlvrrh6Gsdw1lxLCVBRxlze6tOpm5U2YpS55GoIwIG8rS+ZKl
zHkwDnvXV1UoI4WlTAqchKLxt2lnyoxfrLTFbOwoi0EZFTaVXZQum53bkfVgXM4NZe1G1dpxBrGW
pgGjLMYoc6as7yhDSUAEV1nEUtbo9EfuwoxVhpKABpvKctvKUBLQg1WWtJWt19IoCUhiK5NNZcaO
015LoyQgy1qZsqVMM5W5JUEMa2kqMAuznZLAeDCiJCDHhrKtkmCBkoAiKAmOjm1l5loaJQFlDi0J
4igJqLCpzLskYOMPrKX9x7MkmLo7TpQE5EBJcHTsKwnWylASkMOjJBi4JcEYJQE9vOMPdspQEhBj
rcxYS6e2SoI5SgKKbMUfpZqxlh5bJcFipySAMgJ4lQQqSgLK7JQETZQExHk1/kBJQI2XSgIm/sBa
mg6vlwSIP4jxSkkwQklAjp2SoGGWBHOUBGT5VyUBlFHgkJJAnzKspenwQkmwck/+QElACI+SoOfu
OFESEGRXGUoC6rDHSLAlwWqrJIiiJKACUxIYC7OKZ0mQwVqaEExJkPAqCW5QElBjX0lgHdYyHqIk
IAdKgqODLQmYMwk0lARk8SoJ1I2S4AolAS28jpFASUAalARHx56SQENJQBavksDjGAmspemAkuDo
QElwdDjKPEsCVxnW0mTYUxIsUBKQxaskGKIkoIxnSXCHkoAwXiXBECUBZQ44RgIlATFeLAkm1loa
JQEpmGMkDisJODjzGZQER8fOWrrlWRIksJYmA0qCo+PQkgDKyLCnJFiwJUEBJQEl9pQEmvMfItsl
AYT5zeElQTAgwhcFDjiToFrMJEMS7/eVAptXSoJhp5IKChguSuwvCbRxOxcRYYscniWBOmhmwrBF
lK2SoFAu5+IKXjMow+44TyMKRos+tjL9GxdkHQkch23KEfIPISbKPw0KZW5kc3RyZWFtDQplbmRv
YmoNCjc2IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxMjgvSGVp
Z2h0IDExNS9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xh
dGUgZmFsc2UvU01hc2sgNzcgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNjY+Pg0Kc3Ry
ZWFtDQp4nO3BgQAAAADDoPlTX+EAVQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACvAayAAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQo3NyAwIG9iag0KPDwvVHlwZS9YT2Jq
ZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTI4L0hlaWdodCAxMTUvQ29sb3JTcGFjZS9EZXZpY2VH
cmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9G
aWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDc0OT4+DQpzdHJlYW0NCnic7dqJcqJAEAZgmQFEEFQU
7zPG2xg1gBdyRGuTNZXabK2p7Kby/s+xKMS8wTRVmX6B+Wuajx5xYjFatGjRokWLVozxC3B1hFmW
xQgBpUBcQlZkSRR4DmNEPAODE2ql2ayV8moqKQocJhyAYZPlobE0Z+Neu17WFIFwAIaVa/Pd09Pj
3lkbt71qJo7Iro+lyvzh+Pft+HLY22a/KBHeACTkx7vjx8f78fmHYw5KEku4AVz62np5//j35+CY
42Y2QfoBwFJNP7y+vb48bqftgsyR7X/QgPtfv58PD67eLZJf329Ae/X4c+96O3ve1iSWcICTgJm3
3+iG5W3vrvMS6R1AgtZf2Xq/O1m5dtACoo8gwyn1iT6qF2vDheuY/ZLCkw2AhWyj08jJqVLfdNzl
sJKKE0XIsGI6lxF5Xi50ddtd3dQzZMcAwrzAswhxktaeb93NpKkmiL4GGYROLUesmGtNN641vcqJ
pB2ec7AJtTFZu9s5gMNzACyka6PQIWEGYYB4qjJYOL7DMmmHQQDEy6We4TscVQk7/AzAJQsdEIdh
XRze+scBwseRIAArZltTy7VmUA5x6BBiHgYBouHQBXZoUofUIXXoO1wM4B2mQR2ugR161KEN7tAA
duhSh7AOZxb0PNycHGpQDDL1m5PDDqxDx+iBOVQi4NCAcxg7O7wDdxicS0UIh0zg0KMOI+IQZByF
DlejWhqIQTQceptpC9bhdtYGdejZeqeQBHVo9krQDisKzLEwPJfCOtRtjzqMikMIBpd5CO8Q6HMl
Lxeh52Hen4feetJQSd8iCANI2pXv0Do7BPn7Tsw2b32H8+/rMJ6ujpaA8xDxSvm7O5Sow6g47EI6
XJ2vs8A6JH+d5RIgdDgGdrg5OQT5XPnlEOo6C3UYIYcKD9GCi8NhWeYgrngHDreO2ckKABsQOpwu
jV4+gSHWP18rq/cHTZXw5eqvAFhIaQUV5MdxGIATRAHiHfgZACEMwD+C9R/Zx6b3DQplbmRzdHJl
YW0NCmVuZG9iag0KNzggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRo
IDExMi9IZWlnaHQgMzUvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0lu
dGVycG9sYXRlIGZhbHNlL1NNYXNrIDc5IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM0
Pj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20ND6AAAAAAAAAAAAAAAHg0LfAAAQ0KZW5kc3RyZWFt
DQplbmRvYmoNCjc5IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAx
MTIvSGVpZ2h0IDM1L0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVy
Q29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA2
NjQ+Pg0Kc3RyZWFtDQp4nO2WaVPaUBSGJRs3KwmBkIVgIotCEFBCDFuEorbW2uqMU5mp//939CRg
RWiZtpPwifM58MzzznvuvQcH+9nPfvZzkILZHQzDCZLEsV3RCIoRRIEmdwAENRLxsm7ZpkzjSUcK
NIrJKKXjtus2DJ5MmJfCKVbSjpq90fTDqGUKJJYoMIUjyah2BrPbL5+v+o6RQSSB4xiWVFUxSjSb
g5uvT9+f7me+Y6nZDM8ydJpaYGPnYkiueDeP85cfzw8fA6/dqJUt01DzsigAF61wY+JRonU+e5i/
vMwf766nwXDge92zlnNStQ9NvZCTMjzH0Cg23RTB5Mrd2cPz/On+ZhKMg8vJZHIZjIZ9v9ftnNZB
t2RoiiwJMcWMEYxsdS7vHr99GrvtVvvM9frD0TjEAn4Eum6ke2SZuprPigIXxgwn0f/GDA0Vi07/
+vZqcGobulGyK8eN00635wN3qTsGXQ90G8cVu1TUlDBm9n9jhg3k1ZobTIfNosiynCBm8wXdPDyq
njgt0PUHo3EwmUwXMV+45+1mfdEqZbNVf8NNYSSbs1ue19A4yIkgqTRiWF4QZUU1Sla5Vm+2z3sX
C93pWsxhq6KY/0UXI5BoVGqWjOD4hK/hNxEX0QzHZ6RcQSse2pu6Y2hz7zXmqFXvlncLFDLlsnmJ
Xb0e3rChLsQs51XDXOq6r7q/Yo50y1Gr5LBVNEVsuWvCCwmlf/fFim6ahphBV9GKr60C3SHoToG7
iDnSheU1ChKz9XIL/3Vb7BEXtoAMY160StVNa9mqNV2/d+ZYsVxu67qCJCuasakb+I7OEfEdvmut
Wluii37frWtsApf3+1a9LVG1XJRQco+TzSWSBBRjnH/mLrEwiT+FVrE7fcyuzE+9SHA/DQplbmRz
dHJlYW0NCmVuZG9iag0KODAgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dp
ZHRoIDI2MS9IZWlnaHQgMTAxL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQg
OC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayA4MSAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0
aCAxMDA+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgwgA0
+gABDQplbmRzdHJlYW0NCmVuZG9iag0KODEgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBl
L0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAxL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsg
MCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRl
RGVjb2RlL0xlbmd0aCA0MTY+Pg0Kc3RyZWFtDQp4nO3da04TARiF4c50plNMYSg0JahBwNZqWuKf
AqGAEjXGAC1e6MjZ/0aQUy4xLOF73yU8CzinVqNFSdweCdIsb8Qsz9IFQ1IvWmU7ZmWrWbdCWpSb
271+xHo7L9tWSLLW5ofx5CRik/3hq+X8DiEvt8dfz6cRu/h2+LbdMMJqb3L+e14F7M/l6WC9SP8h
NNr9k+n8JmLV7NP7zhNCdaOAVVefQQBBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASC
A0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIID
QSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0HPEOYREf7b
aO0dX1xXfwN2PT0dLBDycvfg++znr4DNfhz117zbnC2/3pucfYnY2fHHrRUveNeba1vvhqO9eI2G
gzedJS/aJ9lS2el2NwLW7ay+yB++DfKiGbOiUb8/eKglSRq1p6uP8N0CzGhS2Q0KZW5kc3RyZWFt
DQplbmRvYmoNCjgyIDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAy
NzAvSGVpZ2h0IDkyL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRl
cnBvbGF0ZSBmYWxzZS9TTWFzayA4MyAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA5NT4+
DQpzdHJlYW0NCnic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADApwEjJwABDQplbmRzdHJl
YW0NCmVuZG9iag0KODMgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRo
IDI3MC9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQ
ZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro
IDM5NTg+Pg0Kc3RyZWFtDQp4nO1b54LbuLW2RLH33hvYQZCUNG29Jfe+/1PlgNRoZhx7k3Gczc5G
3w+PSBwUfgAOToE/fbrhhhtuuOGGG2644YYbbrjhhhtu+N/D7tXP3X63+7bkXwHwiftvf+Juz1wZ
2DEsxzH/Mh3Q7quW6dOfn8rdHj7xsP9W6YEX+Uvpbs8rhib8Dh07iusDw4m07u7SiyAK76DyB+DN
aP5F7DnF0MXD16vtGEG3dHH7iN1B8ZJA477ZA6wd9rC/LiTB8HxbYfdbL6rjuxr/O6vwR2O3P7Ds
O+nfMZKbxib/9cWxYxU39FR2t7bOGWlT2MI31xHDK6rEXT54x+lphytfpkRDO0E91IHyDdb/A4Dh
SqrCv4+OHaslXe1LDF1W+5e9vf7e75/ZoGUH0Ua48cT9a8mXatC95keucqFjL3jdw+dzZVGi94JT
n59OpQGFoImYTZ88131uab9nXv9mLk9vZF56u471uZG3Le5Y2Ql9/X107DijIEOksAdQH/y2t3d0
m/OiKPAsJ5muKR329FnS/Ia0vsjsGU4AlQDLEL7sudqBYWW/6kpP2bTDXgrJL///M4lgPewOakw+
//pQWzxzgLoSVIYB07pbS3T0zKWAzsvaHQBGA7Pw0ts6SBgYx7K003UjQDPrq8OlRVoA0oxoF10d
/q6e+wobJprHWOVFzTAt13MNCcbG8Or6WxFl0zEl9gDPnh8WeOl8CSjSbde1NZFl2JdqvGiVy/2M
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
9md9L/acFrfzce5zV1X9hnSJbXolIcjzgY1kS5DS1MnYRaZbnc6Nq0hmPuLUCV6kS8+vT3d94kXt
MibKx90qe14PEF5OBNHcFEG2JKj04kEUVMCGmwxzTdNqVKXqZj5Nuc6vGUSaZHstXS9zYSnmmiP/
wHqU4RQ7buYzKWNESK5zB9Frpy4Jq21tzDVNQNNEqmZkhKQqy9HschYUb6UnnKiClowk1z6umUrD
VYIetqdTX9TTlGksI3rNhY3YiXtgQxQtNAEbekpIdmEjp2y8lQbrRIkxUPRh2dhuO4pWMZ9xWU8z
sgROofcz1p0S22EHalFVvHbBKxtTYVx2ip+P01vpD88GWNuqrqmai+ZjlxV4Bl2pOTkekU+1aGz5
zYwzx83IeYxU2AdgmyiSAWykLiybN9JdsLIxZh+XDVb14iROin4hhU8vPDRZnHcjnLBOgdvQsItp
7oqiO93jUFXD4TTmrm7luE8sryJvpQOJU6Iepx9Wi+44Pao6emtxrHzdiBoy9l0/gPWl0Ly6p2ph
O024H5el9WSJ3mzoEsdJmjrQ9PALaVdkJb9uoj/wUvqPxerQN33ft4WvCqBNUdu1DaI3XmUa3xAE
I667rqnrKjEEHkzSrk4cw0tiUxT/QZo/8Gac2B/WNN/tOdUOYK/4pswxDA8PURQ44Hoxa+yLPQia
G4Q0Ba/DO151w8AGV87Q11vbX0gf9gdJN2T2o1rm6//GkRVVkdZ0PM23K4okbAl9jmOo1y7QRPqa
m1+FZRG8/C3J/qX0loX/yDFCmg8/HGiUeH16zpq/yZdfsvzXh5dc+5fSa/r945JB8TY79o+psjcv
vgytf/Bvv+GGG2644YYbbrjhhhtuuOGGG2644YYbbrjhhg+NvwOh0PmGDQplbmRzdHJlYW0NCmVu
ZG9iag0KODQgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDE3MC9I
ZWlnaHQgMjEzL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBv
bGF0ZSBmYWxzZS9TTWFzayA4NSAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMjg+Pg0K
c3RyZWFtDQp4nO3BMQEAAADCoPVP7WkJoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAALgBqGUAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjg1IDAgb2JqDQo8PC9U
eXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxNzAvSGVpZ2h0IDIxMy9Db2xvclNwYWNl
L0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRl
IGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTIyMj4+DQpzdHJlYW0NCnic7ZzrbttG
EEZFUpQoWff7xZQlW9ZdsqKbJYsSqcBxAiRx2zQp4AZ9/9focsmkv1r0xwqeD5jzBIPlkDNnuLuR
CMMwDMMwDKMO7bUD+H9oumEYOkKwumklk3GTfrBaNFms1UrZZIx6rHos1xpOh516PmWZBuVY9Xix
tz15u3nPLmcSlGPVY8WB+/m3z0/OctiuZiy6oWqxfN/78vLy7fnpsBraubj+2hH9G5qZ7R6/fP/r
z2/PH07bYf2C7KJq0XTn4ZeX7y+/f3p0t+NmKko10oiRam0+fv3j66/vndXkupwku6YRI9lcPD0/
f/r4bjdpV9Im2TyN6Ina7PTh3dvHR2dq5wi/++KDWh45b53NzvM2t+UE4UjFZ6q72S9H4417fHOV
i9F9+uLlvxzPBy17uPX20ybpRLUKdrtRyDfHD95uWLug+5nSoolMLm1ZWfvOEalaIpyqmmHGTMOI
5zvL43HRydMtqBFN0zVNMxLl243nzOwM4VSVaNGL2nDnPYzqhFM1QDfTlzPHu+9RLqkBov9vvzm6
y+uCRdxUNMMqdtfuYd7KEi4AEs1IVgeiAEwaaZP2ooq+Ot2Y7L3toAqQqtnW/OCuu0XKXZWPJmrr
9VL0Km3KvYpEpGq5dy8KwCXlXkUiCkB9RL1XCdDNjD1zqLfVEj2eby+OxyXpXkUiCkDpduM6d3aG
/FsV9Cr7cT1FvQCIXqU5FQWgXwEoALkr0ausbugXANGr3Kyoy6pEFIBKn7ysSjQzVR/vMQpALCNk
1RWySj1V/QIgZbUNUABYVtUjehWWVdUEsuqxrCrF71VYVhUjUrVwvWJZVYsvq+QH6wG+rN7ByGoH
RVYTQla9A8uqSqSsOiyrSmFZPQdCVhswsppt3R08GFl1if9Zlfiy2sOR1RHLqmJYVs+AlNUdjKxO
UWQ1d4Ujqzcwslrpo8hqimVVOcFg3WVZVcmPwbqQVfqpyrKqHCmraxhZHeDI6kTI6qBKvwBIWXXX
ELJakLKK8WdVDtZBZPUBTFYBepVcexHK6mvH8t+wrJ6Dn7KK0auwrComHKw7UxBZRRmsC1k9AMkq
yJ/VMpas7jFk9RJHVts4stplWVVMeGQJRVbnBw9CVoMjSyyrKgmPLIHIqg0jq3kcWS3dgshq9IJl
VTnhYB1DVossq6phWT0HwS4wkD+rSLI6wpHVGcuqWsLBOoisVllWVRPKKsA2YA1JVpNYsnpiWVVK
cGQJRlY3KLIqB+uTBsyRJRhZ9dYYvQrWkSUHolfBk1XKl0EGhEeWsGSVfKqGR5YgZDXYBYYkqwWE
AuDL6hyiAMjBOkABCAfrO4gjS0JWRa8CMViX92ss2oSv1w/4534NhAJQH/uyCtCrmLJXQZHVpZRV
+qmaYFlVDsvqGQiOLKEM1v1dYCCyine/BkYBgPmzKnoVGFl9YFlViy+rC5ZVtbCsngN5ZAlGVm9g
ZFUO1iFk1R+ss6yq5UevwrKqEJbVc8CyegbAZHWCI6tzFFn1d4GxrColkNUTxjbgDMw24PhPWaX+
/MP7NfxUJb6owTbg432vRH1R/V6lMd6s+5UE9Uj9rTXN3uCK/DfV3wYcy5SrhST171TED9W0klaU
/JJG/FB1g/iFtcD8DcwFEbgNCmVuZHN0cmVhbQ0KZW5kb2JqDQo4NiAwIG9iag0KPDwvVHlwZS9Q
YWdlL1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9FeHRHU3RhdGU8PC9HUzUgNSAwIFIvR1M4IDgg
MCBSPj4vRm9udDw8L0YxIDYgMCBSL0YzIDg4IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdl
Qi9JbWFnZUMvSW1hZ2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyA4NyAw
IFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMv
Uy9TdHJ1Y3RQYXJlbnRzIDM+Pg0KZW5kb2JqDQo4NyAwIG9iag0KPDwvRmlsdGVyL0ZsYXRlRGVj
b2RlL0xlbmd0aCAxMDY4Pj4NCnN0cmVhbQ0KeJytV9uO2zYQfTfgf5hHMoi1JEXdgMUW2EuD3NA0
cdGHog+qRdtCZUkrybvZfn1nqN3EWUurSPCLTImUeHxm5pwhnH2C8/Ozj1dvr0FcXMDl9RXczmcC
hCOEkEqJAAIlwNMCKjOf/fkK8vns7M0XDzb1fCZh822x8KVwvR9Wr1/NZ7/PZ3Dz8QrgYCd5sJN9
VYpARSA6trpc4na/StDaERqWa9oTNwQJytVOpEF7oeNFsNwRkI3FFlpsAt7MZ3+xz1wGzNzu04pL
l5mdyXnEmpr/Dct389nNshuhGovQBSWdyP8BoXYdBW6kHU9+x9fCOhciDC5exuCOZ+kYQyB6MbCb
r2VR84VmBvgiZCsiqOALl2WZWTVceswkOBOxsqBVNQ9Zs0caJb6Q5sBdVu/5QrGS5j1WNVCsgUa7
OKdvPQC9lqRrLgVbc+UzU9EQQ4DXBmd9tq/pCwTAbQHELaKhAOkJARLPUyiIHKU0uEiScDtCdCkH
QuRNCNERCimkE4Q9KCh/kbdkv3oMlMdKUyGjISuqHdcszlfEnZ1Z4T1GVGoiF4drutqHWYbTGNQ0
3xDfUNL1celTSHFFmnOfHX6cS8WatMgHouGfrlyw0OWkcglOVy6dGNgy3ZnswRbE81JB5uxdbvPY
Dtc2+ZFQj1Jftg+rXcyDnyE0PGV6y8jxJ6V3dMr07kTB3pM85wXm2j0QqekOCdsZTrrRZh9dTMZb
OUEi77cGaUYBWW2J0jjfoFh4zD4qVrYYMKNDzV4DKn2cJ/SECiGu/4U2t201FJjq9wNhkOIUDHg6
cITfx8BiCMMEt+zA4LmO7I3Cvnwi6XZv1aQm9ac8rWEI3mirbOH53VkihKOP8cU15MZgDiQmGcIz
2jZ7tUgF2tHRFC2So+2pV4y6QbAPVCJ36MhoqVgU8YaGWCAo6IYc42taW5NFwYemXZJTZOtW+a0Y
NVBWth7orvkmaQfiNuTCcrQBvqBTysOZLukf1Ck52n9eEKpuGOwT9S9x1aRkqbZIsrjCsXUE0qlt
UVsPjbPKWnacPFirTclIy8zQD3U+8lHSqLUK2D/49AGaLb6K7+RJSa5RpLZ/aobYH215/amusL+e
luqjrao/1TtBsD+IVzRd23/aFtFmchLbJKYsT9L/uHItpT7b2dRNTFZTYOSh+7Y8Y9fZlkjZNj51
3Tr1Bp5l/7MuuNfLByVyio8iRaHu4EgoJwqOODr8kya2hJEdPjUilif8q/vaDB18RjveCxUtg9DR
/pSKVicxvceK7obBrg3G8y6lvtnA2+shYqYcCXuJ8fRUYqacCnuJ6YTBvhTr5p40CgWO/AQ+FPGQ
7apTHsikK6bSc8oTWTcMdoXdu2brdLO37vmzZyQ15ZB03Cg9UST8qRRNOSj1NmzdONhvzdae67Hz
UKz+pYOa/wE++tI6DQplbmRzdHJlYW0NCmVuZG9iag0KODggMCBvYmoNCjw8L1R5cGUvRm9udC9T
dWJ0eXBlL1R5cGUwL0Jhc2VGb250L0FyaWFsTVQvRW5jb2RpbmcvSWRlbnRpdHktSC9EZXNjZW5k
YW50Rm9udHMgODkgMCBSL1RvVW5pY29kZSA1MTQgMCBSPj4NCmVuZG9iag0KODkgMCBvYmoNClsg
OTAgMCBSXSANCmVuZG9iag0KOTAgMCBvYmoNCjw8L0Jhc2VGb250L0FyaWFsTVQvU3VidHlwZS9D
SURGb250VHlwZTIvVHlwZS9Gb250L0NJRFRvR0lETWFwL0lkZW50aXR5L0RXIDEwMDAvQ0lEU3lz
dGVtSW5mbyA5MSAwIFIvRm9udERlc2NyaXB0b3IgOTIgMCBSL1cgNTE2IDAgUj4+DQplbmRvYmoN
CjkxIDAgb2JqDQo8PC9PcmRlcmluZyhJZGVudGl0eSkgL1JlZ2lzdHJ5KEFkb2JlKSAvU3VwcGxl
bWVudCAwPj4NCmVuZG9iag0KOTIgMCBvYmoNCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5h
bWUvQXJpYWxNVC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEw
L0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAv
WEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAg
NzI4XSAvRm9udEZpbGUyIDUxNSAwIFI+Pg0KZW5kb2JqDQo5MyAwIG9iag0KPDwvVHlwZS9QYWdl
L1BhcmVudCAyIDAgUi9SZXNvdXJjZXM8PC9FeHRHU3RhdGU8PC9HUzUgNSAwIFIvR1M4IDggMCBS
Pj4vRm9udDw8L0YxIDYgMCBSPj4vWE9iamVjdDw8L0ltYWdlOTUgOTUgMCBSL0ltYWdlOTcgOTcg
MCBSL0ltYWdlMTAxIDEwMSAwIFIvSW1hZ2UxMDMgMTAzIDAgUi9JbWFnZTEwNyAxMDcgMCBSL0lt
YWdlMTA5IDEwOSAwIFIvSW1hZ2UxMTEgMTExIDAgUi9JbWFnZTExMyAxMTMgMCBSL0ltYWdlMTE5
IDExOSAwIFIvSW1hZ2UxMjEgMTIxIDAgUi9JbWFnZTEyMyAxMjMgMCBSL0ltYWdlMTI1IDEyNSAw
IFIvSW1hZ2UxMjcgMTI3IDAgUi9JbWFnZTEyOSAxMjkgMCBSL0ltYWdlMTMxIDEzMSAwIFIvSW1h
Z2UxMzMgMTMzIDAgUi9JbWFnZTEzNSAxMzUgMCBSL0ltYWdlMTM3IDEzNyAwIFIvSW1hZ2UxMzkg
MTM5IDAgUi9JbWFnZTE0MSAxNDEgMCBSL0ltYWdlMTQzIDE0MyAwIFIvSW1hZ2UxNDUgMTQ1IDAg
Ui9JbWFnZTE0NyAxNDcgMCBSL0ltYWdlMTQ5IDE0OSAwIFIvSW1hZ2UxNTEgMTUxIDAgUi9JbWFn
ZTE1MyAxNTMgMCBSL0ltYWdlMTU1IDE1NSAwIFIvSW1hZ2UxNTcgMTU3IDAgUj4+L1BhdHRlcm48
PC9QMTAwIDEwMCAwIFIvUDEwNiAxMDYgMCBSL1AxMTYgMTE2IDAgUi9QMTE4IDExOCAwIFI+Pi9Q
cm9jU2V0Wy9QREYvVGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3
MjAgNTQwXSAvQ29udGVudHMgOTQgMCBSL0dyb3VwPDwvVHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5j
eS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFyZW50cyA0Pj4NCmVuZG9iag0KOTQgMCBv
YmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzM1OT4+DQpzdHJlYW0NCnic5Vtbbx23
EX4XoP/Ax3MCaM3b8AIEAeJLgxQw4NZG81D0QVVkycWR1Mhygvz7zIXcXe7u2WNZsp2iL5LI5WVu
33CGHKknr9S33z55+ezH50p/9516+vyZ+uX4SCvdaa2NtTqqaLUCr9Xt+fHRT9+o6+OjJz+8BnXx
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
y5bicNn2OZQsoCWPGXx111QvGATCVF2WuBVSPWvJodJ9vu9Ra8Qt1ZOVCzF1OU747JUOAq1nqREn
jEqQytZMQ86EUfIvINX5dLhabjmrWiGsaDbMNZstfMRRWxIIi0eh6TXrOIoZKRbMSLExUiWMN1Up
VKRGhtFj1oTqsotuEREUYMiIyyJRkcGwzFS3jHyg+r2qbFFKKmcmcMtacdDAdbCx94LSNlG8YGDY
ZXGCTj5V1WrD+4TeITvxQfVs9YwtJHXoAKGdD1vPq0OSMMp10oBQnQIZBsWtRImVi95EtYKtDFZU
G2dJahHpkL95qOTWt/ZpR5mym65xz5T1c9UcePS00BwTMH/o/FxsU94Z78O2TFj5NL/L5X9amtzl
EihsG9PCcIVEt7cXU1bXstY9Qxb/6eSTnhDnVzFUuIpcIHd4ck0Twx+vz+gW5udaVXDi711q4B4h
vZbk1ZO5PSB39XrNwa7lrr2DjZwC1piXKzXHml+t2We3izDB4EqH3u8mjiSdb/xuLqlo9bsYgPU3
NuxzImcOKUz8ruv9rqQmtu/I3Kaji9xu4GhbF7cbuQXQ+90oJf3F70rw63wffUYusq6eV0LhEBrP
m8m9Vs+bmdiho/yLgRHHm+v/G/TZb6TouXre1CdBtuZHFPE1Qmgd7x/8vwfiDQplbmRzdHJlYW0N
CmVuZG9iag0KOTUgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDE2
OC9IZWlnaHQgMjA4L0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRl
cnBvbGF0ZSBmYWxzZS9TTWFzayA5NiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMjQ+
Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA4G+ZjwABDQplbmRzdHJlYW0NCmVuZG9iag0KOTYgMCBvYmoNCjw8L1R5
cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDE2OC9IZWlnaHQgMjA4L0NvbG9yU3BhY2Uv
RGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUg
ZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0ODE+Pg0Kc3RyZWFtDQp4nO3d204TARhF
4c4MM1NEnBYbDGoQpbWEQ7xBEktVokYToMipI77/i9ihROP9uvibrO8JVvYL7FZrgSSh/a1Ms7wI
K19K56VJVq5U3bCqx2V2H5qW1cZWfxBU//XzTrtZNMlWNnYOR+OgRu93X6zmTWdebR1+PT2fxHT2
7Wi7W9x3dvuj0+tpHdL05nw8fFqms86iOxhPpndB1Refdnr/Ouu73zHVPz/bCbKTZSfLTpadLDtZ
drLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJ
spNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tO
lp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2
suxk2cmyk2Uny06WnSw7WQvaOQ3a+d+vev/47Kb+FdPt5ONw3pl33hx9n1xehXR58ePDYK1IZp1L
qy8PRidfgjo5frf5JG86s/ba5tu9/YOQ9veGr3rL2axzNuhy1Vt/FtR6r/OombMJzYqyHVZZZOm8
s5UkaWDJQ+Vi+APeLcfFDQplbmRzdHJlYW0NCmVuZG9iag0KOTcgMCBvYmoNCjw8L1R5cGUvWE9i
amVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDEzMS9IZWlnaHQgNjIvQ29sb3JTcGFjZS9EZXZpY2VS
R0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDk4IDAgUi9GaWx0
ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ2Pj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20LL6AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAOBtXy4AAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjk4IDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxMzEvSGVpZ2h0IDYyL0NvbG9yU3Bh
Y2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xh
dGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMzY2Pj4NCnN0cmVhbQ0KeJztl1d7
qzgQho8B0bsRxaaDAIsWO07OZtv//1k7YDunOVmyz+aO7yZRRoNeSaOZyZcvq1atWrVq1apV/00b
0DtG5h3r/7M+w85imLsLbVieR/dNF/uGecNzsRgkyipIlnj2zpc2rKSbKs+87c8J4s+em3eP9Zcl
kLIN9vv9zt9q/J3dMLwZhFi+R3dDNCxd+MG+YTjELT6ZDSM52YE2dVVEW+nXhWAFnJNQR28iIM0N
HIX7zr5heEVT7u3njU2oe3oaaU3y0JYAfb7aa/zB7yxSg5omJn+zXD98G8ByMwL6Zt8wSMMBvnum
dxE4Pe6PNN35rq0KHMfzvCBKl8vdsEiUFCuiXWoJCF0swnTCgMaLEkzjGAYpNrYkxF3tPMdyMs7q
3NOEN2/vp3M0kn7Isa7K4M3LumnZ2HVMCTEMJ+mO64dkGHJLmi2Oiy0V8BheNh3XmwYcki2YLkg3
uyKIVtKfx9LXhUXnMCP0qa2IAmI5aRsmaVaQMnZkhGQ7LEjVDOdjYWvWPk3TvCxT3xA4QXOjvCRF
4hmiqHs7rCnWPklT8IQ/6V71/NcL7OuHCHkXYXioAttQRcTrYTN0h0PX08SWJDtuurYdzi/n0jGD
ehhoc+haEuiS7ufNoWkoLQNDdZIitAyw9/TQ9m3h2UHz9e/fx8JdjJAen0eShp4piVb2cB6rnHRj
HejGru5pWTSnCcGKhufTIc/rvi+w6eawepKQtis8yyub1LHj4enYFGU70thx8+Nvj/XOFBcFAyBk
p5envoGzVyU7Pz42oRuQsYu3OOu63Mfh4XwqHDt5eB5S1wmb8RB68aEjgWUH1UAjvKva3N0m41OX
uH7e9zm2Q3pso4UE8ymcvgJ/srNlQBiH1FatuOszLyB9s9MVKx3GCWF8rD1V2eZDl4VF18amKJrJ
BBnWXQEIw5Fgzdg3femaftVXnrzoGi4I46mJXNuQIZSznoaaAKmiL4Kw7okr8xoMckAYHgpb4Kf3
UyZVf9ipCM3zdleEfkgNUfaqDhA80hEsvp3Uf0a4vggecYKVdYdA4ZWg6QCh6QmWePUVIbcEHrLI
hDDANI5Td4dp3owQd12s8RKGxb2PI4CzISKOZQUr7ZpA5uUZYV8Pta9KRtwNE8J4Ini6qr7LIzK0
kS4IRkTbzH9FiDRexOWE4JLpIpaFwi01OZoMiU+00rbxLwi555d9mziWR44PUywcn/t4a+/qoYn8
rOsL1zDcom0gHOt2RmgvCG3pGriEODWXZsdLgk6mBK2rdkorX0ayX9EUOzEd6iTKu/MDnEJ6+uOJ
ZimBAHQnEJqHYdZQeJQ+ofAIIkpDFYlOQQusQ9COJDCWMUxlqr2UqQgbdkRyLKG5OFo6bLI71E3/
0Ma2lT7++XJsaQevUVempEXrumkgNWk4JbFt7ggBeMFKSGIrRkjHNluaHV+LdRljXcdhAOcnTC2C
KmpeVlWkKMvE1c3k+PIE6bHOYXM8pO6yAhfI1qJo+KGrq9twb4ss0rzQ00V5m9R1ujA7QjCo15bF
0SVRNXWo2NzcKHG8anuB7zqOpUFQjmeIwzBwoADCBAMHu8CD4spyom5qoqCYpowYVtBgMJUuP3CN
pbnp1rgpEtRZqLgsFP5Lu8ggQVYUSYQKxmtRN5aeqSni3BmwvKRArydMg2kyy0KZn7oN+AKCSsqB
p7wwHL/80L7emuXrz9ky9yGQAhoKCRGxzGszM9leJ0/9yi+eH2lq3243r+0TI+E08+BuN9/7/Ms3
PwCwQBtew9gQFua7TxFcuPyBu/0cBuaDd/spEJ/9X92qVatWrVq1atWqb/oH2XmccQ0KZW5kc3Ry
ZWFtDQplbmRvYmoNCjk5IDAgb2JqDQo8PC9GdW5jdGlvblR5cGUgMC9TaXplWyA1MTJdIC9EZWNv
ZGVbIDAgMSAwIDEgMCAxXSAvUmFuZ2VbIDAgMSAwIDEgMCAxXSAvQml0c1BlclNhbXBsZSA4L0Rv
bWFpblsgMCAxXSAvRW5jb2RlWyAwIDUxMV0gL09yZGVyIDEvRmlsdGVyL0ZsYXRlRGVjb2RlL0xl
bmd0aCA2NzM+Pg0Kc3RyZWFtDQp4nIXU+VuMYRTG8T9NSCRkiSzZInuEKHvLNO0zNdW0jJQKZSeU
pfAHIFKTmNIyFSVLIbJ9n+e88zZ1XeW6Pj/O8r7n3PdxPf7rmkbJI/FnZsXioek3ivw1mn4V+msw
OJVx5cF4wRT3f+ZPlnfvh3CIuxjLNdWP5dR/V+oUu/LNdsf0Nfu2IesWRjNF7WhG7YhycyRd+ZJ2
w5B6/TOsuPYpRVz9aNGSr2A4CZeHE3HpQ4J26uKQUjN0smbwBKoHj1e/x7ELeHf0vHLk3ADiUTUQ
V9UfV9l/uLLvECr6Yiu8sWe9B1HuPVDei/1lvTFlPTFnevahtHtvaXc0Tnftgatrt+stdpWgc2dx
5w4UdWzXthV2RBV6opyerU7PloI3iET+683apjy0b3S0b9DW575CBHLa1mlr7W1r7G7F5l5tc4fb
WsOzW1dpK7NaEIbMlhXKy+UZyjKR3rxUC0Va8xLlxeJUZZEWYsVzLNSCU0TTAmFpmu8TZHkWlKzM
8xOIJPF0rjbHlKjMnuQJApCgzJqRfCZAf0Wb+B35ZfOP5H8DFf0kk59QnpmHN1+El5K3C1bU+8q7
hxiMyciUGBdDY3ShvkkyUpmtzJmBM3aGH6YXAdkLC2JNLIuVye5YomyTtUboFUM2zuoJADGQPBCM
SB0SEBhiQ3iIkGSJUBEtAkbMCJukjvgRQqIYrWNJOIkoQSWuhFbSS4wJM5Em2MSbkBN1Ak/sCX+8
LgKkFxSEmkhfKA71oURUSTol/aJo1I3SUb1kxegjxZSGUlWrri3MIlNqqk3BpelUXrqfpUycBU6E
eS44HfY645LIVeG8mKfGoRhXyDxKU44V52vKQePEGbeuYeIA+l/FIsV3MP2uaLHBd2b11f3vcZYb
Pt2Fxz/bAfiIDQplbmRzdHJlYW0NCmVuZG9iag0KMTAwIDAgb2JqDQo8PC9QYXR0ZXJuVHlwZSAy
L1NoYWRpbmc8PC9Db2xvclNwYWNlL0RldmljZVJHQi9TaGFkaW5nVHlwZSAyL0Nvb3Jkc1sgOTIu
NyAzOC44OCA5Mi43IDMyMi44XSAvRXh0ZW5kWyB0cnVlIHRydWVdIC9GdW5jdGlvbiA5OSAwIFI+
Pj4+DQplbmRvYmoNCjEwMSAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lk
dGggMTY4L0hlaWdodCAyMDgvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4
L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEwMiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0
aCAxMjQ+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA4G+ZjwABDQplbmRzdHJlYW0NCmVuZG9iag0KMTAyIDAgb2Jq
DQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxNjgvSGVpZ2h0IDIwOC9Db2xv
clNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVy
cG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDgwPj4NCnN0cmVhbQ0KeJzt
3dFO0wAcRvG1pe0QsRsuGNAA6iZEIN4giWMoUSMJsIHCCr7/i7gC0Xh/Lv5Lzu8JTr4X+FqtOZKE
9rcyzfIirHwhfShNsnKp6oZVPS2z+9C0rNa2+oOg+q/XO+1m0SRbWts5GI6CGn58/3I5bzrzauvg
29nFOKbz74dvu8V9Z6c/PPs1rUOaXl+Mtp+X6ayz6A5G4+ldUPXk807vX2d99zum+vKLnSA7WXay
7GTZybKTZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKT
ZSfLTpadLDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpad
LDtZdrLsZNnJspNlJ8tOlp0sO1l2suxk2cmyk2Uny06WnSw7WXay7GTZybKTZSfLTpadLDtZdrLs
ZNnJspNlJ8tOlp0sO1l2suxk2cmykzWnndOgnf/9qvePzq/r25huxsePP/V59ebwx/jqZ0hXk9NP
g5UimXUuLL/aH558Derk6MPGs7zpzNorG+929/ZD2tvd3uwtZrPO2aCLVW/1RVCrvc6TZs4mNCvK
dlhlkaUPna0kSQNLHivnwx9RF8fCDQplbmRzdHJlYW0NCmVuZG9iag0KMTAzIDAgb2JqDQo8PC9U
eXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxMjMvSGVpZ2h0IDkyL0NvbG9yU3BhY2Uv
RGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAxMDQg
MCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNTY+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVP
bQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEcDhJwAAQ0KZW5kc3RyZWFtDQpl
bmRvYmoNCjEwNCAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTIz
L0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNv
bXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjAx
NT4+DQpzdHJlYW0NCnic7Zhpc9s4EobD+wJvErzvA7wpxbIzydbu//9Z26DsrKcmrinZmexMld4v
pkiYLxokuvvhp0933XXXXXfdddc/VQzzf/JlOSr2l/szrCCrCGmqLHBvejPMXzEvRtDcKEni0DMU
/o37M5wg8OzPNmc4xaumeRpJk7rqj70ZTka6Kvxsb4ZHyfxwXpd1nUpX5hiGpbquLxxz8IOTzCDy
NPB+XnjmRc9jXw5utBaMYn9YmqpbT1OqCxwvyYoii/StY49jSZT0sCWlh0SeF4TrBfqXE0RJkulQ
ToCBsnjjM2EEs9xPbeBG3WmvHUVGth9gz1JFjhM128e+rRt+c7qsJTYUVdcVgWVFzUCyKCPLdj3X
UCRFd3zfszTxJm9qvW2FpdnFeuqwaYdF07ZNjnVJ0nHeNFWK/Wz++u8vc+GbThjaMicgP8aGagR5
VTdFaBluVNR1nWFDZN9pvXehn7YDaBqb0DT8apxIk4dBvn77z29LiZ2obkIkSHbWFp7p18u+jk3i
B3lH+p6QOkDCDWEfC36GBQ/bbW3itJuHOi/6Za4DLxvWoUoCxwn7y9dzG9p2QsbMEGWvmbvQDoeH
y9qmQZCTqa/KdppKR7ohbLCuPj+uDfznSrIY9lmNbSch25iF5byRzLcQXZEziWCJ03HOTUnxu5VE
Tjxd6HyssNvWNkuqaSOByt1mffn2uE7T1GdB1C5DYsiKU29rFeXDNlWRjRQjmdbGVUSUTEtxWG/U
ejhPiaHo0fRwHqqiXU5jpL2dEX9s/a+nlbRF5Fhhv/ZY4QUjX9Y6CMpxHtvURUY8LJUtCS/WuKfW
Edk6TOezfnlcSUeWtYOob7P+/LTVCYboUHBYc4d16Vo476ZlyF07+Z91aclqQPaBWi+NK8PJ7ctl
buu6qRPrxmddns4d1hVJ4OlKDhGSZLtal9zSDDdpl72PvGRYGw8CjMe1djVY//MYO1G/1I4kqNF8
2eFtw9i33qwCb1lva2HS9MVKTrXMpWfaUb8OiYkMiHuCJOcnwz7EhoJCspHEw/V+maj1DNYw335f
69C1bQtJN6w3TaT5Mqc6nS4j6BDeUKZ5O8OLbtl+CO/tPiRO0O1rE5gGhh3YlfV8uYyRE3ZT5Uic
aOXT2hdxGPimfJM1ryekj47Xg2FlpxjmkRwpxTJxVrdknirPcIp5H2k2y4Ztmcb1vLfY8ssus0SW
U3ENqaeFvOe9UfresIaimaWOzF7nobpZ05O+LQJYXjetu64tsC4jv+y73EPIzbqBdG1bxxaywhRD
+mIFHRdt37dV4ii3RP2JFTTLUp8TIMMrph/FEbY1kReRE0RR4CARCokTBK4uiaqF4ZTvuSYUDQMe
Lq1jUGZwlBwjb8nhtEGSoNx9XwRR0ZCmSFAAr52Tehzykqoe5REuQy8lS8exKFyfEy8pCEbKt3YT
tM4zr3/RFpGeoYc8bRc/XVvHoylgr5evXcNLJ0mv8vxPaCxftYA/6gZ/fP+/pnG86667PqbnbPHr
d+eRDdVrBv3VzlAsoDJA3RBuKgEfFysaYdn1PeDmbYXvwwLeDKAzGUlX0BL86YqOL1TJsq/pkybr
V2j5wpnvnS8j2uWykTJNQkfl2QMdZUmgyPvMk5J0VMhnyGR5UZYPtIQTonjw5ju9WdmD7qvyTUMH
xGQFxXQ8zzEUgRMUw3aAJ23L0qHpY0VVB8iUkOX5no0kHroI03Zo6/BOb1b2u9NWeXBXiElEXlpW
VZG4mqTYSQkUWaRpFpoSJ2hehE1kUcis8tBSJISzqq7L0BDfaS0C6pyH1KFx8Bp0YhQde+jGADz2
fSFN2ZAm0ETZyQGAvaQhBNCyTSzdKed9m9rEvK05+i7oS+PhtA8lxAG3L8YJWl4yk9Rxiv3Lw1gm
ST1NuQWA1Q/VwaMwmRF40wn6h6e9zzztFr79XdiSBX3uvpLc1Wmgc51m3Qrchevz0wowDXy7tBi6
4mks02bZhyItYFiB4+HxMiS2etsXhddhc7IVNfPpPJfYL/fHvSsrsu1dFNT7ufNVSfXqZcy8sJ37
LCWfH+amaKbTWgXJ8LCVtvyBJMhwku5l5PR5LtL+4evD3PfjOlcBrlbAIoEVjGxaGoh0qqN0fHza
h47M65DhmJymGN3S+v/BGjawYiXj51NfDpffzkNzfCexvRKwCHEMpwKFTkCyQ+rDGj+uHUXLzLfD
fh/CW4j+B8aiIKpeczqTqj9f5jLCGLsmsotlSsCalYA+z/u+tYEV9OczyUJAS0fXA2DtQHl/3md4
WTd0ZAbtvndZtZxGiMe2DE2xinkE64PN5kdg+MJGTrVuXezBAF1FuPuYNSuZQZLElCunHMfdOjdp
GGBXVwEjh1iD9WQVTB6/fZljJBsHjwJaYhshv106/CFrO20JEOYyVb5hJ9009k1dRDYyk649Ps4w
olVsT+fWlQXKoxPpmjoPTOSWpPLkD1hDzaz6YRi63EeSYsUVFNC2jCxV89LEpp8p4EXz66GNkMDy
qgc82nf0w55qhNm7kygVbGvDj9I0xrYqcHSfhbD+2FJFSbPMKzUzguZgTxcpByqWHyVJ5BmyKBuW
cRPR/9FbVJCuI+X6XVaQNV3XKWSygvjCobSFusLk69GcKL27YD57U6z8zpX0h3Cg42sOZV71C68H
fBz0fgeLzJ+h458OuOuuu+6666677rrrrr+V/gsVxuCADQplbmRzdHJlYW0NCmVuZG9iag0KMTA1
IDAgb2JqDQo8PC9GdW5jdGlvblR5cGUgMC9TaXplWyA1MTJdIC9EZWNvZGVbIDAgMSAwIDEgMCAx
XSAvUmFuZ2VbIDAgMSAwIDEgMCAxXSAvQml0c1BlclNhbXBsZSA4L0RvbWFpblsgMCAxXSAvRW5j
b2RlWyAwIDUxMV0gL09yZGVyIDEvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA2NzM+Pg0Kc3Ry
ZWFtDQp4nIXU+VuMYRTG8T9NSCRkiSzZInuEKHvLNO0zNdW0jJQKZSeUpfAHIFKTmNIyFSVLIbJ9
n+e88zZ1XeW6Pj/O8r7n3PdxPf7rmkbJI/FnZsXioek3ivw1mn4V+mswOJVx5cF4wRT3f+ZPlnfv
h3CIuxjLNdWP5dR/V+oUu/LNdsf0Nfu2IesWRjNF7WhG7YhycyRd+ZJ2w5B6/TOsuPYpRVz9aNGS
r2A4CZeHE3HpQ4J26uKQUjN0smbwBKoHj1e/x7ELeHf0vHLk3ADiUTUQV9UfV9l/uLLvECr6Yiu8
sWe9B1HuPVDei/1lvTFlPTFnevahtHtvaXc0Tnftgatrt+stdpWgc2dx5w4UdWzXthV2RBV6opye
rU7PloI3iET+683apjy0b3S0b9DW575CBHLa1mlr7W1r7G7F5l5tc4fbWsOzW1dpK7NaEIbMlhXK
y+UZyjKR3rxUC0Va8xLlxeJUZZEWYsVzLNSCU0TTAmFpmu8TZHkWlKzM8xOIJPF0rjbHlKjMnuQJ
ApCgzJqRfCZAf0Wb+B35ZfOP5H8DFf0kk59QnpmHN1+El5K3C1bU+8q7hxiMyciUGBdDY3Shvkky
UpmtzJmBM3aGH6YXAdkLC2JNLIuVye5YomyTtUboFUM2zuoJADGQPBCMSB0SEBhiQ3iIkGSJUBEt
AkbMCJukjvgRQqIYrWNJOIkoQSWuhFbSS4wJM5Em2MSbkBN1Ak/sCX+8LgKkFxSEmkhfKA71oURU
STol/aJo1I3SUb1kxegjxZSGUlWrri3MIlNqqk3BpelUXrqfpUycBU6EeS44HfY645LIVeG8mKfG
oRhXyDxKU44V52vKQePEGbeuYeIA+l/FIsV3MP2uaLHBd2b11f3vcZYbPt2Fxz/bAfiIDQplbmRz
dHJlYW0NCmVuZG9iag0KMTA2IDAgb2JqDQo8PC9QYXR0ZXJuVHlwZSAyL1NoYWRpbmc8PC9Db2xv
clNwYWNlL0RldmljZVJHQi9TaGFkaW5nVHlwZSAyL0Nvb3Jkc1sgMjg0LjI4IDM4Ljg4IDI4NC4y
OCAzMjIuOF0gL0V4dGVuZFsgdHJ1ZSB0cnVlXSAvRnVuY3Rpb24gMTA1IDAgUj4+Pj4NCmVuZG9i
ag0KMTA3IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAxMzEvSGVp
Z2h0IDM1L0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9TTWFzayAxMDggMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzY+Pg0Kc3Ry
ZWFtDQp4nO3BMQEAAADCoPVPbQlPoAAAAAAAAAAAAAAAAAA4GzW7AAENCmVuZHN0cmVhbQ0KZW5k
b2JqDQoxMDggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDEzMS9I
ZWlnaHQgMzUvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21w
b25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM1ND4+
DQpzdHJlYW0NCnic7dbrUoJAGIBhdxcWXAQVFA8NNgo4mjqeUJk8oWkmTU5qVpb3fx059RPs38Y0
w3MF7+y3p0gkFAqF/h6AEIJgCxDLYRYFGAEQLymyFGWDWwmIpbxuFFSRZwKKAJBX9Ha/U9EUAV+c
BoCIIpakzZ4zG3XK+QTxnwaALE+EGDViImt0nQd3OWyWMhLntxCQjSk5TStQc63XLMfd7p4W9o2W
5L0NAEVTpXq7S4/VsyfLzeH4vnfHDS2OoTdByFX7o8mUHme2WD+/nU7H/WpgKLxPAlHNVm9Aj20P
p/ebw8fn62beKSY5T8L53IqqVizRo5fr1mS9fdm507aeFhjvfgQIE1GiJy5n9dZ49bie96uafD6W
F64Fhh5M0obl3Dl2o6iKHPIr+K6gCPEp07q1m0YuEdQ7AXGyUKmZV/Iv9zNlgCFyJiPHLs+APshw
JIqDeiZ/nPd70N+mUCj0v3wBs4WCJQ0KZW5kc3RyZWFtDQplbmRvYmoNCjEwOSAwIG9iag0KPDwv
VHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTMwL0hlaWdodCAzNS9Db2xvclNwYWNl
L0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMTEw
IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM1Pj4NCnN0cmVhbQ0KeJztwQEBAAAAgiD/
r25IQAEAAAAAAAAAAAAAAAC8GDVSAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMTAgMCBvYmoNCjw8
L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDEzMC9IZWlnaHQgMzUvQ29sb3JTcGFj
ZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM1Nj4+DQpzdHJlYW0NCnic7dXZboJA
FAbgMsOwKaDgrrgBRk2tRRFp3SDVttTUVLtqfP/nqKaXjunVyA3fC8yfmf+cubqKRCKR/1AAACrM
8yFiWARDi0ABxEuKKnEhRaAAzYrpsqEXJARCCQCZmKo1e46lq1wIVTg+QKJgWmPfG5hpAUFy8E2n
ICtmat3RInj2+kYuIcaJifEMpmYU5JKl1nD+ulkvPbutV8qkaFoxI2OaDhhZ64yD95/t52oxcQd2
n5jeTSMvotMEnGo4j5vtfv/9Fsx9b0bMdHLXrSaYk1kDbLJq+auv3e5wB7OR6w6JcXqtknR6BxQt
pOvW9GX9sQ6m9nVDrxNTq+STPKaKAAmK1nL8YPk0udVziiwRI8ZYGrfwwHEcqx3Xe5jZekpANDnw
zLo7riQ5Z3Td+76ZOowLOdjj/zJARlCKZrtZxnT1Qg5PEVeyWUWgQ/yeaYbn8U25XAZwrimRSCRC
xi9IVYFXDQplbmRzdHJlYW0NCmVuZG9iag0KMTExIDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3Vi
dHlwZS9JbWFnZS9XaWR0aCAxMTIvSGVpZ2h0IDExOS9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRz
UGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMTEyIDAgUi9GaWx0ZXIvRmxh
dGVEZWNvZGUvTGVuZ3RoIDYxPj4NCnN0cmVhbQ0KeJztwQEBAAAAgiD/r25IQAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwK8BnDAAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjEx
MiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMTEyL0hlaWdodCAx
MTkvQ29sb3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQg
OC9JbnRlcnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEzNjI+Pg0Kc3Ry
ZWFtDQp4nO3baVeyWhgG4BxAVBCcNWfJIYc8r+YETjlE4oATav//j5y9Qc3St6xknfNh318KaO3L
R1urPtzPzc3/Oboz0cLQgxj2MRoxDMcxzGg83ILPf22rDjgfw00EYbZYSZJSYqMZu52hbeoVSVot
ZjNhgq8Ayj9hoaQ4ZgtJ2RiHy+31B4LhSBQmFmfvEok7Nh5TLiPhUMDv9bgcDE2RFjNwjYr6jakM
RiBZKdrh8t6GIvG7ZDqbLxQfy9VaHYbj+EaD5zjlolatPBb/yWfvk3fxaDjgczsYygpUgH49KbQw
QNnsLl8wwiYz+T+P1TrfbD/1BsKLOBqN1UxAdt+OR+KLMOg9tZs8Vy0XHzJJNhr0ue02gGKGz+ZU
MMJKO33BaOL+oVTlmp3e81AcT6bSbL5YrlayvD6JLK9Wy8V8Jk0n49FQ6HWaXLVUyCSiQa+TJgnc
+BdSpwMYybgDsVS+VG10+oI4nkrzhYpsNpvtJwGPVXo5n03H4ku/06iW8ql40GunzDiY8kTTG3AL
7Q6ymWKt1RPEiTRfriCjnvd6QfYycJdzaSIKvVa9lEuEvIzVZPwg6gy41e6PZYr1zrM4ValLnXMu
UMGo05HwxJey7K2DNBmOQZ3RzPjZh2p7MJIWK4X6ifRBheZsLDzVC4mA3YK9jajHrK5ortYdTlXs
t9axKS8lsccV4h4S34M6jPQmSp3hbAmwa1kHE0w5E7vllI/C9bvPzuJJVvqT5fp6k70Tt5uV9FxP
+0ijMqDe5GDLA0m+/mxv5Hom1JIuQq+O53/oSrJ2mgr2/4QoOKDOaItWhktNOQCuxDrL4NDDGJYb
azseHHDSTDkUD7cnGhPtvWkr7TLp/yMPvJ/a/r5s5RNPQ3D70ZvIl/8d+AEGcvL5bbUR9+eupfax
t96+Pbs2BU886+1/5KrW7rTz3vFPK19+JR2/9k+996/vspHP/Vtz9PgL7wR9N+370w6Pz0uXe+pp
rxd42y8/+ou942k/m++LfN/7XZCHPOQhD3nIQx7ykIc85CEPechDHvKQhzzkIQ95yEMe8pCHPOQh
D3l/8/b9CYy54zXv97yup62UU/XoWE1cad23kcd8wq70iQxksDiYa/uGbjcLoRy1YbCApifcaV5c
aAluN8tRK+uzKKVFHUYF8s3hXLPC23aznovtQpjeFfr0JjqU4waThQb1QUVbToXGQ8RO7AqLOgDe
pkotYXLdeuSr0h2UF9OXTvk+yBCHCqhOj5PuSKbcOtQ/r2StZVgAbVdyMQ913DjV6Y2EzRNJF7nO
80iar+Sft1t3FLRWC2ksdPlSJuZjzNj7Rq1Oj5lt7iCbLdbb/eEYVmrlfXv3exDs0sLesDQeDjrc
Yy4R8tAW3HCmMQzryZ5gPF0oc63uM0BnivrWGj6tuBzfVzrKQFrAhrLQa3GVP5m7kNdOEpjhbCUa
dpQJknb5w2wqX6xwzae+MByNp9Lsffd6c8iHDrY0nYxEof/U5CrFfJqN3LoZ0vzXAvbNvl5uIWmn
NxBhk9mHYrnGNdvdPuyWq61y2P2ezZXMYMdbbZorHfNup8nXKqVCNsVGAl4nQ1mIzwvmOxKYOGGh
aIfbFwhH2eR9TunO1zmebzQazVanu0un1QQ3eJ6rww59IZdJsrFw0O9x0LBBjxm/xA4mmBOicDuA
trs86m6AshaQTKYzuVweJJfLpJNJZVFgtyPgcjA20momcOyisv4pul9+gLsPu7UHu8Pp9ni8IB6P
2+kANxjGRlFwB4JQVhF+uAHxpur2ux3KWgeOm0zELiYTvN4velxjxeODrEZ/iHZLLFfLv573e3kN
CmVuZHN0cmVhbQ0KZW5kb2JqDQoxMTMgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0lt
YWdlL1dpZHRoIDEwMy9IZWlnaHQgNjIvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBv
bmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDExNCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCA0MT4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tCF+gAAAAAAAAAAAAAAAAAAAAAAAA
4DVK1gABDQplbmRzdHJlYW0NCmVuZG9iag0KMTE0IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3Vi
dHlwZS9JbWFnZS9XaWR0aCAxMDMvSGVpZ2h0IDYyL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0
ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0Zs
YXRlRGVjb2RlL0xlbmd0aCAxMDA4Pj4NCnN0cmVhbQ0KeJztVmlzozgQDWBOY3GY+7YBARKXTTyJ
U8ns/v9ftRIebzKpnSmyn3areF/slkQ/Hd39+uFhxYoVK1as+E+D+WQy/7zsty4YliNgGQKWgHkf
JwbzQH7mefbm/L6c/RoXwwmSst0qEs+xG1GWxQ17G2d5SaaDnCBv1a0ii+Q/Mw8rqrqlU1/gYXlF
s73Ad/c7SVAM1zUVnplZRGB71k7kJc0JwsBz9poicAwrqJYfhr5rAWmzmId8ZcdFVVVl5mnqPm3Q
wVboNhkehBAVriprIcSohuUxcTWJ2yhOjnBTwTwy5aXnYTaqc2wwauq6TCwjwE/XIdMFcjec7FSX
65jqqlWM5x41CKMy1CURxO00YoS7JtEFdhkLJ1kH3FZZHCVJYO2T8e3Pp9oluySHSYbXPy75HrjV
eYRpcoBtX4WaYhzGCR2zshsqsnAZDQ8i1MHQBDvN0IGRjK/fX/oE8CwrWcX0+v1SWJpXjyg2NTMo
+750tP1xGHLHCusTDtVlt8aK+7zHiSHxG14UJRD315enU2FJHK8GzfT8MuWUhux7S2aDesTx3s6H
LjN1D45ttJRGoT488uY0SXg16i6X6dQEqiAZGR6nb6d8r3lVD22Z40RzPodbjGPhOQk6IX+7jIbb
hngsLXF+SYZTw3YauqHNDFl1y7btzuONprQlltns4naEvldOl7bI0XmqPWURDXEcdWNuCrfFlOaE
K9xDTzOTGsF6GI7vNPOeqsAvH69T256fLs3C0xCa+GcaPNRH2OHU9QsEs6LrP9NASvN8QnU3PXap
Liw9TfvTpeEBxhnqqyxvmkN4aD/S0EsbCs8ryHUlYVoNI3TkRYnDKT461R9CAPeFH8BhIO8CQye5
00BbIiFgHPous5186A8WMCJEInrZrbGSDccu/TugCU3u2Fl/+fbYH20zxjPNHNCCCPxqaEKDBnSi
Kzu3OnULI5oR9LQb68gEYE5P6tfSA/z8du1iXY9+0MzpaXh52+U2oOl5tDUzak44WBoDiktyuz7E
8VxsYtRm5s4qLm+k5KggbIhJi80A0ygtUVv6gBabM8qiFHZ9QZ5sAQst0CAo264ltbNMbNMvq1iT
QdQ+9qkubd2iinXVpqWzqeqmzgPtXjrrBuMyAPyyEk1VxcsgcUGFYLcPY3sryGZSZLbCSwYxZyFA
qCqLQ+wA8V0ICvKByC5VAiI4huuHAZU1UdF0VeA2sm4ZCs9uqPlD1nzPMYmssXdZIzJnqOJy/WSo
MlMRnkVaEHmi8ZwgEqlmbuZHkWbeRVqhav6VbuDeUtxaDtpIzL+3mV+2HBz7JZKFW/lk/psOasWK
FStWrFix4v+HvwBMFX3bDQplbmRzdHJlYW0NCmVuZG9iag0KMTE1IDAgb2JqDQo8PC9GdW5jdGlv
blR5cGUgMC9TaXplWyA1MTJdIC9EZWNvZGVbIDAgMSAwIDEgMCAxXSAvUmFuZ2VbIDAgMSAwIDEg
MCAxXSAvQml0c1BlclNhbXBsZSA4L0RvbWFpblsgMCAxXSAvRW5jb2RlWyAwIDUxMV0gL09yZGVy
IDEvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA2NzM+Pg0Kc3RyZWFtDQp4nIXU+VuMYRTG8T9N
SCRkiSzZInuEKHvLNO0zNdW0jJQKZSeUpfAHIFKTmNIyFSVLIbJ9n+e88zZ1XeW6Pj/O8r7n3Pdx
Pf7rmkbJI/FnZsXioek3ivw1mn4V+mswOJVx5cF4wRT3f+ZPlnfvh3CIuxjLNdWP5dR/V+oUu/LN
dsf0Nfu2IesWRjNF7WhG7YhycyRd+ZJ2w5B6/TOsuPYpRVz9aNGSr2A4CZeHE3HpQ4J26uKQUjN0
smbwBKoHj1e/x7ELeHf0vHLk3ADiUTUQV9UfV9l/uLLvECr6Yiu8sWe9B1HuPVDei/1lvTFlPTFn
evahtHtvaXc0Tnftgatrt+stdpWgc2dx5w4UdWzXthV2RBV6opyerU7PloI3iET+683apjy0b3S0
b9DW575CBHLa1mlr7W1r7G7F5l5tc4fbWsOzW1dpK7NaEIbMlhXKy+UZyjKR3rxUC0Va8xLlxeJU
ZZEWYsVzLNSCU0TTAmFpmu8TZHkWlKzM8xOIJPF0rjbHlKjMnuQJApCgzJqRfCZAf0Wb+B35ZfOP
5H8DFf0kk59QnpmHN1+El5K3C1bU+8q7hxiMyciUGBdDY3ShvkkyUpmtzJmBM3aGH6YXAdkLC2JN
LIuVye5YomyTtUboFUM2zuoJADGQPBCMSB0SEBhiQ3iIkGSJUBEtAkbMCJukjvgRQqIYrWNJOIko
QSWuhFbSS4wJM5Em2MSbkBN1Ak/sCX+8LgKkFxSEmkhfKA71oURUSTol/aJo1I3SUb1kxegjxZSG
UlWrri3MIlNqqk3BpelUXrqfpUycBU6EeS44HfY645LIVeG8mKfGoRhXyDxKU44V52vKQePEGbeu
YeIA+l/FIsV3MP2uaLHBd2b11f3vcZYbPt2Fxz/bAfiIDQplbmRzdHJlYW0NCmVuZG9iag0KMTE2
IDAgb2JqDQo8PC9QYXR0ZXJuVHlwZSAyL1NoYWRpbmc8PC9Db2xvclNwYWNlL0RldmljZVJHQi9T
aGFkaW5nVHlwZSAyL0Nvb3Jkc1sgMzU0Ljg0IDc5LjggMzU0Ljg0IDIzNi43Nl0gL0V4dGVuZFsg
dHJ1ZSB0cnVlXSAvRnVuY3Rpb24gMTE1IDAgUj4+Pj4NCmVuZG9iag0KMTE3IDAgb2JqDQo8PC9G
dW5jdGlvblR5cGUgMC9TaXplWyAyNTZdIC9EZWNvZGVbIDAgMSAwIDEgMCAxXSAvUmFuZ2VbIDAg
MSAwIDEgMCAxXSAvQml0c1BlclNhbXBsZSA4L0RvbWFpblsgMCAxXSAvRW5jb2RlWyAwIDI1NV0g
L09yZGVyIDEvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNDI+Pg0Kc3RyZWFtDQp4nI3CZVMC
URQG4P8/g92BhS0mLN2IgQp2fRPFAFERMTDf47l79y6o4zOPxXFiqVmndsoZuf6PWqah+ik2yi5j
k/EMm92mLdyD2Va1N9tmPG9Hn9ih7/RfyF0YwMtufU+QX2EvhqiV5qzhXJ++P4J5HODR/CC9xqEY
tdGCLV4Y1o8s3vBRTNCxxC2OL4kTy3d8kq8Up/hq0U7vpzEpziRLdK00+31u/UGexw0sL/BU2SE+
OjEtauknbZO65K1nt9KzzV+8fIf6xArdrfhNXwN7pkF5H99CNcMH6nce4Yc//oiqj6rHfv1Jj8X4
P34B5nZgUw0KZW5kc3RyZWFtDQplbmRvYmoNCjExOCAwIG9iag0KPDwvUGF0dGVyblR5cGUgMi9T
aGFkaW5nPDwvQ29sb3JTcGFjZS9EZXZpY2VSR0IvU2hhZGluZ1R5cGUgMi9Db29yZHNbIDM1NC44
NCAxNTguMjggMzU0Ljg0IDIzNi43Nl0gL0V4dGVuZFsgdHJ1ZSB0cnVlXSAvRnVuY3Rpb24gMTE3
IDAgUj4+Pj4NCmVuZG9iag0KMTE5IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFn
ZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMi9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9u
ZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMTIwIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUv
TGVuZ3RoIDEwMD4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tDQ+gAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD4MjgJAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMjAgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9T
dWJ0eXBlL0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAyL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9N
YXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVy
L0ZsYXRlRGVjb2RlL0xlbmd0aCA0MjA+Pg0Kc3RyZWFtDQp4nO3d7y4cARiF8Z2ZnZn1r7OrG6Jt
UN1Fin5CYm1VSkiwKHY4938jOKi0t/A+zyX88n4+b6NBLyVx+0uQNvMiZnkzfWFIsnKq6sSsmi4z
K6RltbDc60es9/VTu/V8C0k2tbC+PRhGbLDz/fNM/oyQV8vbR2cXo4CdH+9+6xRGaPcGZzfjOl7j
24vh2scyfUIoOv3haPwQsfryYL37jlA/KGD11S8QQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB
4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHg
QBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBA
EAjuP4RxRIR/hmp7++e39X3A7kY/XyeL82pl92R0/Sde15ene/1Zj1c3Z75sDQ5/R+xw/8fiB8+Y
Z63ZxdWNza14bW6sLXUnPOufNCeq7tx8xOa67cn87cFDUbZiVhbZ65eLRpKkUXv/dxK+Rx5lqjoN
CmVuZHN0cmVhbQ0KZW5kb2JqDQoxMjEgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0lt
YWdlL1dpZHRoIDI0Mi9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBv
bmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEyMiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCA4Nz4+DQpzdHJlYW0NCnic7cEBDQAAAMKg909tDwcUAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPwbBPcAAQ0KZW5k
c3RyZWFtDQplbmRvYmoNCjEyMiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2Uv
V2lkdGggMjQyL0hlaWdodCA5Mi9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAv
Qml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9M
ZW5ndGggMzY5ND4+DQpzdHJlYW0NCnic7Vpnd+W4Dd1X1HvvlVQjJb1mj6ek/P9/FVB6tmcn2cRO
cmY95+h+sCk9EsIVQRAg9NtvGzZs2LBhw4YNGzZs2LBhw4YNz9jtAbv/eeB/LeanY3fgRYk/vE3X
HeC7gZIscivL3Z4TpTeL+T/he23eMeogmp5vSm/Rdbc/ctxzRzYwCF2N37OrPa+5oW+IP5Py/vCq
zXuGCWbWdrkl7P9jV5hHWVOfSe14I+tpE6ocXO84NWxom+jcz2O84yRNE4/vfeDuoIT9wyNN1GUo
LMYDrMYdGMzaYveeb+6OshuH5p3yXvS6x6837Ip7duHi25cbtoU96304MBmL1e2X5X2X8/zDKvOl
G2s/32cDlqftX/zCiwK/k7g7SHYcWe+2qh1nFKcv3661xe+Y1QqSLAkcPIFbWkcQfW9yh4No510T
3013L0fjt79/nRLtCO9CS6dvf//ce+LxCKtbXtY32ATPC7C8RTC+HfMX7AeetfdMprJc7fdHnvWB
FrwSjg1gT+Ohw9IXJoVbby26vEg8gHF2bWq+d5bZ5Fw+Pd26AFbynlctz/dMmedEzfYDaHGHo6hD
07d1SdTj4XZpo5XyQY6mr3+FdwXzuhfs+vrtb597XxZk0wvDwNHF40FQDdN2/cDVxcP+KBluEAau
IR33B0GzgyiOQviFExST9YGnHjhJt2BA6NuGcX8+vBBRd5gCYMFHQTWtVaIkqGF3u3bJ21zQ6xQf
1aibT+cLTTUOvE9QIFTGliybUYlREZkiL1lxidhd23Cry7cvc+0vSxcYj09fnm59KB+PsDRuT18f
O19V7KTCbVPHpihoflaWddOixBI5kYlsW5TaEr+0u4H2VaDLup/VCNe5p4qSnZRV3XQdKnImJXdl
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
rRp6l2ne0J7tTiwK50R3KUJ+aMYa+ySpH0aKQ0P3a0IHFlMU4Hajpok01UPTTAd6OveRKpo5PZHS
d2LcJGwzIyP0HrrS01jvUOEEq2iKt3wZ+qdhd5CdDLeQLZahzj5UK5q2bVDmwvq0k8SWhOWNNAih
jIVebtm2uWe5SeLKouoXeO2trr3BjWlBEmgfOgLZc4rlR3Hk20vxGS7CKPSWSiQrC3IHXrUDVkh0
2HeOnAwXri7D2lf4Ay+vvddfWO/9a43zw2L5ZFVRlPVT1aVqqKyVyHtZ8J4/ikvVcfkdEkLw79xS
OPyx93c1zo+L13rg68Xu/r3y62fL++8vno85/1Xv3a9RnfgVdNywYcOGDRs2bNiwYcOGDRs2bNiw
YcOGD49/AOcSzQYNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMjMgMCBvYmoNCjw8L1R5cGUvWE9iamVj
dC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAxL0NvbG9yU3BhY2UvRGV2aWNlUkdC
L0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAxMjQgMCBSL0ZpbHRl
ci9GbGF0ZURlY29kZS9MZW5ndGggMTAwPj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20ND6AAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA4MIANPoAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjEyNCAwIG9iag0KPDwv
VHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAxMDEvQ29sb3JTcGFj
ZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQxNj4+DQpzdHJlYW0NCnic7d1rThMB
GIXhznSmU0xhKDQlqEHA1mpa4p8CoYASNcYALV7oyNn/RpBTLjEs4XvfJTwLOKdWo0VJ3B4J0ixv
xCzP0gVDUi9aZTtmZatZt0JalJvbvX7Eejsv21ZIstbmh/HkJGKT/eGr5fwOIS+3x1/PpxG7+Hb4
tt0wwmpvcv57XgXsz+XpYL1I/yE02v2T6fwmYtXs0/vOE0J1o4BVV59BAEEgOBAEggNBIDgQBIID
QSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNB
IDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0Eg
OBAEggNBIDgQBIIDQc8Q5hER/tto7R1fXFd/A3Y9PR0sEPJy9+D77OevgM1+HPXXvNucLb/em5x9
idjZ8cetFS9415trW++Go714jYaDN50lL9on2VLZ6XY3AtbtrL7IH74N8qIZs6JRvz94qCVJGrWn
q4/w3QLMaFLZDQplbmRzdHJlYW0NCmVuZG9iag0KMTI1IDAgb2JqDQo8PC9UeXBlL1hPYmplY3Qv
U3VidHlwZS9JbWFnZS9XaWR0aCAyNjUvSGVpZ2h0IDkyL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0Jp
dHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAxMjYgMCBSL0ZpbHRlci9G
bGF0ZURlY29kZS9MZW5ndGggOTQ+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAACApwEdwwABDQplbmRzdHJlYW0NCmVuZG9iag0KMTI2IDAgb2JqDQo8PC9UeXBlL1hPYmpl
Y3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjUvSGVpZ2h0IDkyL0NvbG9yU3BhY2UvRGV2aWNlR3Jh
eS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmls
dGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0NzE2Pj4NCnN0cmVhbQ0KeJztW+d65DaynW42MwkSzDln
MHRQ8Ngzfv/H2gLZkkbj9b3S2jPWt9v1Q00SqXiIKlThQJ8+3eQmN7nJTW5yk5vc5CY3uclNbnKT
m/xXyW633+9372zzuslu99zL7p09/WwBNZ9U/OZyu2V5gX0fEjuGE/jDU5PdnmH2+wMvcPADlx8Z
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
m9zkJje5yU1ucpOb3OQmN/nA8i8RzkiADQplbmRzdHJlYW0NCmVuZG9iag0KMTI3IDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMi9Db2xvclNw
YWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sg
MTI4IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDEwMD4+DQpzdHJlYW0NCnic7cExAQAA
AMKg9U9tDQ+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD4MjgJAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQox
MjggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQg
MTAyL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50
IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA0MjA+Pg0Kc3Ry
ZWFtDQp4nO3d7y4cARiF8Z2ZnZn1r7OrG6JtUN1Fin5CYm1VSkiwKHY4938jOKi0t/A+zyX88n4+
b6NBLyVx+0uQNvMiZnkzfWFIsnKq6sSsmi4zK6RltbDc60es9/VTu/V8C0k2tbC+PRhGbLDz/fNM
/oyQV8vbR2cXo4CdH+9+6xRGaPcGZzfjOl7j24vh2scyfUIoOv3haPwQsfryYL37jlA/KGD11S8Q
QBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBA
EAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQ
CA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAjuP4RxRIR/hmp7++e39X3A7kY/XyeL82pl92R0
/Sde15ene/1Zj1c3Z75sDQ5/R+xw/8fiB8+YZ63ZxdWNza14bW6sLXUnPOufNCeq7tx8xOa67cn8
7cFDUbZiVhbZ65eLRpKkUXv/dxK+Rx5lqjoNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMjkgMCBvYmoN
Cjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2NS9IZWlnaHQgOTIvQ29sb3JT
cGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNr
IDEzMCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA5ND4+DQpzdHJlYW0NCnic7cExAQAA
AMKg9U9tDB+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAICnAR3DAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMzAgMCBv
YmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2NS9IZWlnaHQgOTIvQ29s
b3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRl
cnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQyMzI+Pg0Kc3RyZWFtDQp4
nO1baXekttKehmbfN7GvYkdAb7bHSSb//2fdEt322G9uzus5yUmuk64vNFAI6UFVqqdK/eXLXe5y
l7vc5S53uctd7nKXu9zlLnf5B8sO5O/uw18pvzPeHcPu98y/B4ltvHv2NyNmOFHRFGH/L0FiB+OV
NU2VePb9iHec4oQRMkSYFP8CLHYMrzpBnISeLrybEztW9oq2zZEm8hz7z0dix2tB2XZdUyCVewcE
b2bj3GWeoeua+I9HAr47wtPUt00Z6PwO3CbDsgzYwo6VULuSyrcsFAWmyDJXj7q7OdbtSJWp9nbO
UNkuMi8XP5HsOD2dli6PwsBWOBgCL8qyJHIsw+kJOU2Za3lF10SGxPPUQsCjXA8sx+1ZTpBAW6BO
BH4LoiTyLLvnRUkW+U+23Ox4q1wWjAxNlXkYvWy4fuC7uiTIbn1+WqsApeP52EaWrhuauGcF1dQl
gEDWNVnSbBQEyFJ5di/qluMhR5dExXSR75ky96mQACCq9dD4m0dkONVLq6ZtqsTRjGh6/vbQ52l9
+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
/tbcTfs2GP6aM/iB/4ls9ekNkVvS5JpmYd5UqV8L1y//K6A3WMmrydSUVTP2OV3+mJeS+O57U+8P
r/dfauQ3vdd8ylut15M3b//ytl/fUz1vX/Bee/cX/HOI4fUQjBLsHhzJLVP2/770n1jn37bBhEkS
h8j6XLvf/mzZMbykQvyjyf+af/H9joB/2nP0Xzj3nS1f3u73uctd7nKXu9zlLne5y13ucpe73OUu
d7nLXe7yUfkPsskMJA0KZW5kc3RyZWFtDQplbmRvYmoNCjEzMSAwIG9iag0KPDwvVHlwZS9YT2Jq
ZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAxMDEvQ29sb3JTcGFjZS9EZXZpY2VS
R0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEzMiAwIFIvRmls
dGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMDA+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVPbQ0PoAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAADgwgA0+gABDQplbmRzdHJlYW0NCmVuZG9iag0KMTMyIDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMS9Db2xvclNw
YWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9s
YXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDE2Pj4NCnN0cmVhbQ0KeJzt3WtO
EwEYheHOdKZTTGEoNCWoQcDWalrinwKhgBI1xgAtXujI2f9GkFMuMSzhe98lPAs4p1ajRUncHgnS
LG/ELM/SBUNSL1plO2Zlq1m3QlqUm9u9fsR6Oy/bVkiy1uaH8eQkYpP94avl/A4hL7fHX8+nEbv4
dvi23TDCam9y/nteBezP5elgvUj/ITTa/ZPp/CZi1ezT+84TQnWjgFVXn0EAQSA4EASCA0EgOBAE
ggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASC
A0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIIDQSA4EASCA0EgOBAEggNBIDgQBIID
QSA4EASCA0EgOBAEggNBzxDmERH+22jtHV9cV38Ddj09HSwQ8nL34Pvs56+AzX4c9de825wtv96b
nH2J2Nnxx60VL3jXm2tb74ajvXiNhoM3nSUv2ifZUtnpdjcC1u2svsgfvg3yohmzolG/P3ioJUka
taerj/DdAsxoUtkNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMzMgMCBvYmoNCjw8L1R5cGUvWE9iamVj
dC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2NS9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VSR0Iv
Qml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEzNCAwIFIvRmlsdGVy
L0ZsYXRlRGVjb2RlL0xlbmd0aCA5ND4+DQpzdHJlYW0NCnic7cExAQAAAMKg9U9tDB+gAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAICnAR3DAAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMzQgMCBvYmoNCjw8L1R5cGUvWE9i
amVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2NS9IZWlnaHQgOTIvQ29sb3JTcGFjZS9EZXZpY2VH
cmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9G
aWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQ3MTM+Pg0Kc3RyZWFtDQp4nO1b54LbtrK2RLGTYO+d
BCtYJG1xnMR+/8c6A1LakhP7rpMcb26i+bFLEm3wERjMzEd9+HCTm9zkJje5yU1ucpOb3OQmN7nJ
Tf55stvt3luFv4Ps9gzD7P8UGH93HHfbHPff1HPH8JIsCeyB+Xa9b47yB5v+GAH9OEGSZZFnv6Hn
7iDqbuAZqiTyh++bzo4KDHPgv7vpj5TdnpN0xw8Cz1S4ryOxF4wE10Xo2JYmMN8zHUCABYh3jKiZ
6Pua/kgBHFQ3xU3b1pmrsF9Tc8eqUTt2ReQHofP1ar8/gKQqPLNnVTdw5L/tkoAZ+tVAhq7r6ljn
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
ZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDEz
NiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA5MT4+DQpzdHJlYW0NCnic7cEBDQAAAMKg
909tDwcUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAMCPARL7AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMzYgMCBvYmoNCjw8
L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI1NS9IZWlnaHQgOTIvQ29sb3JTcGFj
ZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDM5NTc+Pg0Kc3RyZWFtDQp4nO1bZ3Pj
uLJdBeacCeZMkAQpUZI9YXfv/f//6jUo2TOa3fGMqrZqrvfxfLFINho4CA10N/zbbytWrFixYsWK
FStWrFixYsWK/9/YbLbbzU9I/ePV/oTMP1jddgcApptv3zMsu9/+uPDbfUQ78YvE8vCW/I8VLjJv
K3kAW4YXJUkUeGa3+eaDpGvi/m1uUJpnd2/IbHYsL3D7K6PNds8Jb8pTcZ4Bcpvv89vsOJ770bj8
JDaMZKEwQJ6tCXdUNzvBjkKDe7MaKG2YCvt9mc2O1xzXlK8iW0Y2XUflvs9/yyqmITG7HfPtaHyt
UjU04a0+/3lsBTvvetzUZWzdDfVmrwR15YlvDu2W031kvtGUDaOGTVd6MlW92UtugWukMN+Thz43
ka/zrKAowncmHnS5jZzv63gEm70cDufj0A2kT00e5uiyVunsY9Skx6HCvKwzeH81ES8zEyR3/I3+
tdT25f3r7y1n1+ePp8rmt/TBLI7Pc2ly29cCi/zmtdIrfUE0EKjdbza//VXxjpUd5CrMnY7l29+a
sLfpM2p6OA9FWpFjF8AYbelaFTggzWgpGRJDoosVlMKy5QWRZ/cwMVmG9tN2z7K8ajsasNkynLAU
o33CchzPc1QGJpfXf/rv5zEE1ZudhPoPfzy3Dg9NZfilwKKZZVlQTuvZcZpjq5IetW1sCAyV+1Yx
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
keNhKJEum9kwFK5BQ+Jt4MSUvpMPrb9kMMYCOPbzEOuSGnQ0X5v10CUgjSccusn0NOW+nw1jab19
mex/CltGdpJ2mg9t5KB6xIHCi3YFY+glC/2CYCSxS67O1vxmbDyJk1E31QFNbIYqSJcTSf10nFtf
VVE71s4jGepfjM2WEXS/IKe5jRMMbRf2rJ5NY+anX9OPgL6lujUBAUYE+k0Ut2PjgrSWjmOBUjLR
JLpTEXj5jujTGLfs5NNlLIt+rBx+x2rZ+BX9LpA5JSYHSr/6mj6egOmOURNC6Q8k1TjeKknjvR/6
9BhPb7cF/flQ5bDmfYkVrPJ18ts5GWJNNGgSndIfm8UQAv0waieMZJYH2znA5Kf02XdGnx7jVVVR
DDBqJI9rIGKpRtiOi+mDBxMmdelZCJ9PpaU41dhHmkjT1vSKyAj9o+r0nktIpRNKvxjeE/29aKIo
DOJqBGPmJv2I0zCuhj6zjRD3iaGH/XEo0vrwfCpM2SymqfJ1PcSk9Jykn3AWxVXf042PeggsbKM0
2ft+6Ev0IlxL08ORoTp5T7q2pQcZVfWrOtRkpxwPQzcc6M02AY5Chz6DyVC1qaVR6Z5Kl1fpQGE4
PabJ3ndDn/q7Vdt1bRku9xPTum2bKnUVXqD5WpFX/ALjtq7rzJXoTcC2yWCvD2NPEZQXaU+9Sgt7
Rl6Sve/m2LNlRMML4wgtqVr6EISBC34LvRy7pH4VG4XIc+gdV3hn+sjVJVnTFW7PioYL0t71yxIb
WnK3/Ps59NJtT1RURbqlezlRVmSR/vfCS+qX4SWayV0uHi/fRQ58X5r0pTnjb6Rvyd5fzeoBLAnh
/e5L2nZ/+2eUa6R3SRi/JoY3t2ztl6d76ddk7zvCfXblr5mWuzfffF7zMitWrFixYsWKFStWrFix
YsWKFStWrFix4hH8H7QX55kNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxMzcgMCBvYmoNCjw8L1R5cGUv
WE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI2MS9IZWlnaHQgMTAyL0NvbG9yU3BhY2UvRGV2
aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAxMzggMCBS
L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTAwPj4NCnN0cmVhbQ0KeJztwTEBAAAAwqD1T20N
D6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgyOAkAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjEzOCAwIG9i
ag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAxMDIvQ29s
b3JTcGFjZS9EZXZpY2VHcmF5L01hdHRlWyAwIDAgMF0gL0JpdHNQZXJDb21wb25lbnQgOC9JbnRl
cnBvbGF0ZSBmYWxzZS9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDQyMD4+DQpzdHJlYW0NCnic
7d3vLhwBGIXxnZmdmfWvs6sbom1Q3UWKfkJibVVKSLAodjj3fyM4qLS38D7PJfzyfj5vo0EvJXH7
S5A28yJmeTN9YUiycqrqxKyaLjMrpGW1sNzrR6z39VO79XwLSTa1sL49GEZssPP980z+jJBXy9tH
ZxejgJ0f737rFEZo9wZnN+M6XuPbi+HaxzJ9Qig6/eFo/BCx+vJgvfuOUD8oYPXVLxBAEAgOBIHg
QBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBA
EAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQ
CA4EgeBAEAgOBIHgQBAIDgSB4EAQCO4/hHFEhH+Ganv757f1fcDuRj9fJ4vzamX3ZHT9J17Xl6d7
/VmPVzdnvmwNDn9H7HD/x+IHz5hnrdnF1Y3NrXhtbqwtdSc86580J6ru3HzE5rrtyfztwUNRtmJW
Ftnrl4tGkqRRe/93Er5HHmWqOg0KZW5kc3RyZWFtDQplbmRvYmoNCjEzOSAwIG9iag0KPDwvVHlw
ZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjE3L0hlaWdodCA5Mi9Db2xvclNwYWNlL0Rl
dmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sgMTQwIDAg
Ui9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDgxPj4NCnN0cmVhbQ0KeJztwYEAAAAAw6D5Ux/h
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
Z2h0IDIyMS9Db2xvclNwYWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xh
dGUgZmFsc2UvU01hc2sgMTQyIDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDE5OT4+DQpz
dHJlYW0NCnic7cGBAAAAAMOg+VPf4ARVAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8A8W8AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQox
NDIgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3NC9IZWlnaHQg
MjIxL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50
IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNTE5Pj4NCnN0
cmVhbQ0KeJztnWlTGlkYRrubRQQEATdQcCcqoCiIyNatpsqkZmKmYlI1yeT//47pu/R2/TLfkhrO
+QXWra6X5/Hcuq9lAcB/wnYcx/7Vf8RvhO2ksyuZFEcSYKeyxUq1lONINHY6t944Pt4tZ51f/af8
HjiZfO2gN7w53chxIpYYIdni9sn1bDHiRCR2aqXcOLtdePfdvVKGE7Gc9Gql1Rl77rjTXF9hstpO
prB5eDX1FsN39RIHIkbI2s7pYO7Nro+3ilkSmp3Kre+ej1xvcnlQyzND/BGSr7Z69557d7G3TjhT
I+SoP/Xmw/ZOKcuB+Lm9tNMezr1p/2izkGGEiBGyd3Hneve9VjWfZoTI3H458dzR+S4jROX2rePr
mTcfnO6s8aMrcnup/m648KZXh4wQS/zo5irNztj1xp1WZZURIkbIxuHVxFvcnjXK5HaZ27dPbkRu
P9kmt8sf3fKuqP7kdoVf/autrqr+lVyaD0RW/z7VP8DP7bHqz49uVP3ve/s1crus/rV9Uf3J7RJ/
hPi5XVT/QdvP7RyIzO1tkdup/hIxQpqi+o+7rSq5Par+fm7fLTNCVPU/8av/7OZkm+ofU3aTq8MN
crtSdqL669zOgfi5fQNlF4GyM5DVH2UXgbJLgrIzUMpugLILQNkZqNxO9Q9A2Rmg7AwCZeei7BQo
uyRa2c1QdhqR2xsou4hQ2d2h7AQoOwOUnQHKzkBUf5RdhBwhKLsIreyo/gFB9XdRdoqYsmug7GLV
H2WnUMpuKHI7yk4QKrs7lJ0EZZdEKTtZ/VF2Aq3sFn5up/oLVPVH2QVEym6AshOg7AwiZddF2QlE
bhfVf+FXf3I7yu4NcWW3UeBHVyu7O3XVjuqvlF1Y/cntCWVHbrfit3VRdhL5wE5XVP+LJrk9puzm
wzbV34opu2kfZSfQym6BstNoZecuUHaSWPU/RdlZqvprZcdVOwHKziC4rYuyU6DsDMLq7+d2lJ2F
snuDUnYTlJ1GVn+UXUT4wA7KThHd1kXZCVB2BrL6o+wiZG73q7/M7VR/lJ2Jzu1Tb4ayk6DsDGyU
XZLEbV1yO8rOBGVnoHdioOw04U4MlJ0ifGAHZadA2RnoB3ZQdpqw+s9QdpLYbV2UnUApuxHKLgBl
lwRlZ4CyMwhv66LsFPKBHb/6z1F2klj1R9kJUHYGWtm57ugcZWfFb+ui7CT6tu4MZacJqj/KThPs
xEDZKdRODJRdiM7tc/mgPcoOZfcGlF2SaCcGyk6CsjNA2SXRym6CstNoZTdD2WlQdgYouyQoOwOU
nYG+rYuyC5C5vYeyC0DZGUTVH2UnQdkZBA/soOwUKDuDcCcGyk4RKLsFyk4S3dZF2UlQdgYJZUdu
R9mZhGvsUXaKcCcGyk4RrLFH2WlCZTdE2QlQdgaxnRjkdkH0wA7KThI8sIOyU6DsDGI7MVB2glj1
R9lZKLs3RMqOHdSSxAM75PbYAzsoO0n0wA7KToKyM0DZGaDskoTKboqyk4S3dVF2imAnBspOgbIz
QNkZoOwM4jsxyO3x6n+DshMoZTdA2QXonRgLlJ0mfGAHZSeJbuui7CQyt4vqf4+ykwTKboGyU6Ds
koQ7MVB2iuCBHRdlp0DZJUHZGUQ7MVB2EpRdgG3LjwFlp7FT6XTKsVVu76PsxEMyxeJqxkHZaezU
arXeqBVW/Nwuqj/KzslW9i8u9mvlTb/6uyg7/xMp1Lvj0Vlz7xRlJ7Ez60ejh1n/vDfSuX2ZR4jA
Wd3uus+Pk7spu+wkdnpt//b508f3T0/u7VkdZWc5K7Uz9/PXLy8fn8Z8IYJUYff6w7cff7/+8TA8
26twIv5cPZ6+fP/5z7dPT5Pr9k4xvewn4uQ2Ow9ffvz8/vXlw8PkslXOLPuJpAqNq6fPr69//fn8
OB919krLfiJ+PGt0Jw+P3mw87HdOm9XVZZ8jdiq/cXDeOW8fHzTrW9W13NKPEb/UFKubm7VKaa2Q
z2Uzy/6FWPLfqis5/yjSqZTjLHedCbBtRxwFZwEAAAAAAADwv+VfKuNmPg0KZW5kc3RyZWFtDQpl
bmRvYmoNCjE0MyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjcz
L0hlaWdodCAxMjAvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVy
cG9sYXRlIGZhbHNlL1NNYXNrIDE0NCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMTc+
Pg0Kc3RyZWFtDQp4nO3BAQEAAACCIP+vbkhAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAB8GX/3AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNDQgMCBvYmoNCjw8L1R5cGUvWE9i
amVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3My9IZWlnaHQgMTIwL0NvbG9yU3BhY2UvRGV2aWNl
R3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2Uv
RmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMDcwPj4NCnN0cmVhbQ0KeJztndtymlAUhgUUERSP
eEg0iadQEhtjNCYqAk2P6cTmoufJ9P1fo2wQBE2nl7az/v8JtmsWn7D2N3snEgiC/DUcx/M8t+9V
/DPheCElSekUv++F/BPxqpEtaNWSgoqwciRFOa81u4bRrmSEfS9nz/GaI1dqtI3Lm9n0rKEIlDHi
cjSZVgrVo9OL64VlmxO9KhMuiNscYkYtH3TOrmZLxzanw/6BKlJliM/RYv1YH04XtmPNxufdw3JW
JNogHkdVrdkbjGeWYy2uL06PagUlnST5IhJw9OTF5Y1p28vbkdFulHOZlECxHAFHW/2Xk4XbHPPJ
y35Ly8ui2xwUy8E4mvM4ess4enP54qRezEpEm4M9KkqxFuNoRfWaY99r20MCjnbPGUftxXTNUcLN
kQ046rgcPescgKNRjlYLcpo6R0cbjpYoc9Rtjpr7sQKOBhytHIYcHerH1DlarIccvfI5KtKsBuOo
nNcYR+fsY8XnqEKXoymXo4224XLU9jnaKOXA0ZCjTY0wR4UoR02Po0WFcHPsclQlzFERHA0S46gD
jnoc9YfnLkfn40EPHHU5GgzP9WPiQx+fo1PG0dnVOTiqNXtrjrLhOW2OSiFHHdMbnlPmaDLG0Qnj
aJ4yRzNrjlrgaGQT0mQfK1fe0IcoR0OZozdgHLU3HCVZjo3MMbo1HSfYhKT6qMRkDm94HnKUYjkC
mSN4H8UmZJSjwfCcZDWiMsccm5BxmcOBzAGZY5OIFAeZIyZzgKOQOWKBFBfNnzhKd+gDKS4MZI5Y
dmQOcDRbqm9LcTT/ZH2Zw+coNiGDTciYFNeAFAeZg+VZKQ4yB6S4BGSOrUDmiGaXo5A5tqQ42h8r
kDmCQOaIZZejkDm2pTjIHJDiEjubkEtP5iDL0S2ZAxyNyBy2TV2K25E5BpA5IidzkB+e73AUUlwg
cwQcJdwc6xOOIHM8I8VB5gBH/UCKiyV+whE2ISFzbAIpLhbIHNHghKNYIMVF8yeZg2g1Ihydb044
ojz0wQlHQSDFxZ6BZ2QOYhx1GyL8rZA5Egk+Kclymh1Auy1z0OQon1LK9XpBEniccMTCJZVq91w/
UNPu+yhkjgQnyFp/Mht1Kmp+W+agKMVxglTuXjvOVG81fZnDpn3CES8WTsavP7yZDQdDSHEMqGrr
8m71+MExTcuXOShyNAyXzDYGzuO3r4/3b1/bxE/mSDCAZDTdXH1/+vll9W45OSM89PHDADJ5/+Xp
19PXh1dTo1VSSHJ0E17S9Pn95+8/f3x+uJsazbxIuhysIJXu2Hr7cfVpdf9mOeqU0lQv1FiHF3O1
tnExvlksLWsx7pUl4gXhBFHJl2uHR52+MRjo7JHZ95L2HG8QJMlZtVip1rW8RPTKlWjYlW+CkHTL
kpGoXkHzTLyb8HAXHoIgCIIgCIIgyP+R31Y7LbwNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNDUgMCBv
YmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3My9IZWlnaHQgMzUvQ29s
b3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NN
YXNrIDE0NiAwIFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA1MT4+DQpzdHJlYW0NCnic7cGB
AAAAAMOg+VOf4AZVAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANcAb/kAAQ0KZW5kc3RyZWFt
DQplbmRvYmoNCjE0NiAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGgg
MjczL0hlaWdodCAzNS9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1Bl
ckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgg
NjY3Pj4NCnN0cmVhbQ0KeJztl+tymkAUgAOIooi3iPFGRI1EY/CKEVADRDMmsU2TSce2Y9//ObqL
2i5K7HSSeOns94dddNizH7uHs0dHGAwGg8FgMPsGAdl1EPsDQVI0TVPYyAKS8rKhCMdgIzYE0BFN
iWIq5CV3HcseQJC0P5Iqyu1GicdLBOjwMKFEXlavjW75JEBTpAvEKruO+uMAuyUYz1W71nhsdaRk
mA34IYwPwev10rTHAbWKm8ZD1ElQTCR9rpgPT0/3hlIRMylIMpng4/FjmzhsxCLhEArHBRFYNgDw
/+GAdZLeUKaq3z1/+/7101BXGvWajVytlFGkUrFgU4QU8mLuFEHIZmyLqdTh6yR9sYJy+/zj52z6
5e7GuAYYBrj0e7qu6bre60N6uqZ2Aaqq2ahXHaVto0DarQaUKNdqb9GZ3LZOYMtthURyTetxOptN
H8fWoN8fQCHAyACKAB3TgpgmvAs6N8PRaDQcWov+/FfLXPx9cEA6WZahXYwQngBfaBqTl+nLxOo2
5MvfgcmwVW8uo55P4Go5p/kMteWU5wJ6b9LZ36pOQUjznFvVRdKBmHChDief742WJKCuQSOdEQT0
fYj5xYPnY5xJ5+jglerlis6WU2fXoVPdqc5W7SwRcKu6SMrHJQr13vDWVEoJDt2OYHOyLLphOc6x
/MKRqL0yjxdLlE+c/JPOklPnxVZ1Gpqc5TxuOdYuVNNSU+93JN7vceTotYTuTFA0DbIWksMYZpPO
4JrOGKozzm9Tp6YplXTQVciiODst16pi1Lf5LLP2Edv0xdtvnVIxG331oGKX73wmE2dfUfY+rOnc
6POjdUY5ZsNswb5h2KCf3uPD7rvrBMe2jePBZ7iVKv8H6zr/XrXu96kLg8FgMBjMwfMLDgIhEA0K
ZW5kc3RyZWFtDQplbmRvYmoNCjE0NyAwIG9iag0KPDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1h
Z2UvV2lkdGggMjczL0hlaWdodCAxMjcvQ29sb3JTcGFjZS9EZXZpY2VSR0IvQml0c1BlckNvbXBv
bmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDE0OCAwIFIvRmlsdGVyL0ZsYXRlRGVjb2Rl
L0xlbmd0aCAxMjQ+Pg0Kc3RyZWFtDQp4nO3BgQAAAADDoPlTX+EAVQEAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlwGWXAABDQplbmRzdHJlYW0NCmVuZG9iag0KMTQ4
IDAgb2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNzMvSGVpZ2h0IDEy
Ny9Db2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4
L0ludGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMTExNz4+DQpzdHJl
YW0NCnic7Z3pdqJYFEYFBBGnoGJi1DhPMU7RGKcIrnKlUpX6UemuoVd1vf9zFIMY4PLfXn2+/QR4
1uU7bC6eG4kAAAAAAAAAwP8KjuPOfQn/DcxC8DwvCNGoIPDnvpizY9ZCiIqSrCSSqXQyLlKvCMeL
cjKt5gvF8k2tVtESUeK3DS8m8+VG53Y0nS0W81FNjdFeIpwg5+rjlf7h+ePLx4M+b+dl2gWJCHGt
t375+u3H97++HDbjmioRLwgvqc3l5x///v717XU/75UyMYF2iHDRRHG4f/tlFuTLh+WwXkjHRYGn
XBNeylRnz3//8/Pt9dlYTXvVywtFilIuCS9nm8tPb2+vh/1+v1vPBo3rXEomvEw4QSn0Ni+vh838
YfVk6NvFqFPRMopEtiRcNFkcbA9mpLa6o4eNbuxW037tSk3KIk/TbngpXRlttpN6QSvWb+9XO0Pf
zIetcp5swPIxtTq871+n44lM4aYzXmwN42k5sQI2EaMYsObzqlquV7JyVBDlVO66OZitd4YVsE2i
AWtWJKVmFHMxcHw0lri4rPYmyyfD2C7GnZtChmAf5gRRkpyXIRwviPF0vtQazu2Avb+tF7NJesuE
408/2Fkm6lWtP7UD9mHUrmhpwn04Yi8TSclolfZosdXNgLX7MM2AdbHuHDmVLTYGM6cP37VKdPuw
g3nnSMpF4aY7ebT68OOkS1507IBN5UrNOztgIToRe5nYAdubOn2YuuhEnICNp7Vye+iIzn2/XrRE
R6ApOhZ2wCazJ9F5cESH+DIxAxai48Xpw47o6Ia+ng+aJQSsT3QeLdFBH/aJzoyo6Hjwi46xhegE
RWcH0YHohAHRYYDosEB0GCA6DCfR6UN0XJw+XKh0RhCdI67oNI47OhAdr+g8QnQcIDoMHtFZYkfH
wQ7YdNiODtmavL9whOi4nERn7BEd9GEZouPD6cM+0SlAdBjRyRIXHS4oOu2yBtHxic60V7tCwHpE
x+rDEB1mR6cL0YHoBAmIjtmHITp+0dlBdEJEZwjRCYgOXjhCdMKA6DBAdBggOiwQHQaIDovThy+r
XXdHB6JzEp07iI6LR3SeIDo276Jj92GIDkQnDFd0Ou6ODkTnJDqD+fG/shCd4H9lITpH0cmXW0HR
oVsTR3RUiI4H9xNyr+jgE/IQ0UEf9orOBKLDiM6gUcyiDzM7OujDruiYAXscCgTRgej4CYgOdnT8
omP9V5buUKB3MBSIgREdvHCE6LBAdBggOiwQHQaIDkvYjg5ExxGdoWf6KUTHOxQIooOhQCF4hwLR
nn76DkSH4diHy9Snn3rg7BNRPNNPITo+0dEhOhYB0VlDdIJDgSA6EXcoUB6fkHvAUCAG744Ojnmw
CRGd4zEP576y8xEqOgrpM+yC009ng7qWIF2RgOjom2kzR/3INq/orLeL3qUinPuKzs5JdHrDuwb5
Q/0cjqJTvNaSxDPkhB2wSiIuEn48C2LWRKD8uBoGqhHOH6UDMtgNCmVuZHN0cmVhbQ0KZW5kb2Jq
DQoxNDkgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3NC9IZWln
aHQgMjMxL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9TTWFzayAxNTAgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjA2Pj4NCnN0
cmVhbQ0KeJztwQEBAAAAgiD/r25IQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC/BuXYAAENCmVuZHN0cmVhbQ0KZW5k
b2JqDQoxNTAgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3NC9I
ZWlnaHQgMjMxL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29t
cG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxNTY1
Pj4NCnN0cmVhbQ0KeJztnWtvE0cYRrNrr+NbjB0TE8fEcS4Y50qCXTtXeynQQpUiBIgWof7/v9G5
7e6Ytx/6LUh7zi+wRptHM3PyvLOyAgAAAAAAAJAzAs1D/4ifiCAsRFFULIRhyLoYwqjaaD5aq1XL
Jb0uLEpQqKw/3dsfbG912s21WjnK/ZoExVr3aHpzNb04PTwY9Nr1UvjQP+mBCQq13sXr+w/3797E
N9Oz/U6tmPePpFDZPHvz+du3r5/+fPfr9dl2I8r7ioSl9ij+9P2f718//LaYHfdYkaC4Npjd//39
25f7V9PjQbtSyPuKrITqz+bt57++fPwjngy7jdwnq/pISq3h7f3H+/e/v74+7bfKfCNBob49fvv+
zXz+6tUVS6IJy53ju9e34/PpPL45G7Srxbz/4QRRc3dyOz3cG17cxrcXakuS941rUKhuji5Odzqd
wdl1PJ8MN9dKOV+SMGp0B/2Neq21fXwZL2aHvUer+Q6TICzVm81aqbja6I5UmFydqHzN92Y+CKNS
qRjqlXnybHwX37zYfVyN8p2vQWiSI4xqG3vnN/Hdy4NOPe/5agmLlfWd0yuVr8/V9jXfYeIICuXm
06PLxWJ29LTJZk0TFEqN7vNfVL6e9tcr+c5Xh4rZeufgpcrXc/LVEUbVx7s2X5/U875ZswTFSquv
8/WXEflqUfn6qHc4W8SX5KtDbdZUvk7m8fXpjspXwiTNV3UYPt/bqJGvGpWv7d0XKl/Hz57k/jBs
UWHS6p+ofJ2Otho5Pww7gsKqy9fjbfLVoPJ1bXOo85XLRofK11pn3142kq+WsFhtD85u4vmYy0aH
zldz2Tg93Mr7ZaND5+vW4dTkKzLHYPN1jMzx0JeN5OsSNl+ROR76stHla+5ljkPla2MrlTksyYrN
VydzyFeHlTkqX1/uI3MsVuaYfNX/i8SSOJmTyHLCRGNkzsjKnBYyR5PJcmROgsrXROaQr5ZA5auV
Ochyh5Xls8UCmZNgZflE5ysyx+LJcmSOw8hyJ3OQ5YagmMoc8tXiyRzy1eLJnJ11DsOaTOaQrwmJ
zEGWpxiZc6IvG5HlDpuvyBwPZLkEmSNA5gg8WY7MsTiZs4ivTshXCzJH4suc3DcfLSpf13fIV58l
mUO+apZkTs6bjw5kjgSZIwhoPv5IKnNoPiZ4Mofmo2Wp+chh2IDMEdB8FCBzBKb5OKT56GHydZ/m
o4+5bKT56JM0H5E5Kb7MIV8NyBwJMkeQyhyajwmZzBnRfLSkMgdZnmDy1Vw2kq8JRuZk+cpnYvMV
mbMEzUeBztcuzUcff4xlG5ljyGQ5MseRNR+ROQ43xjJezI56HIYNvixH5hhMvjLGcgnGWAqy5iMy
x6HztXfEGEsPmo+CdIwlzccUf4wl+WpIx1jqfOUwrEHmCPzmI5eNhiCTOeSrw2s+ctloofkooPko
QJZLkOUCmo8CZI7Aaz4icyw0HyWpzOHNxwRvjCX5anHNxwXNxxTGWAp481FC81HAGEsBzUeB9+bj
DrLcQPNRkspyZE4CzUcBzUcBYywFdowlzUcfmo8CK3NoPnogywXIHAkyR0DzUcAYS0HWfGSMpSOT
OeRrgtd8ROZYaD4KUlmOzElYbj5y2biCzPkvrCxH5niEjLH8Edd8ROZkeDKH5qNlSeaQrwaajwJk
jkDlq5E5vPmYko6xpPmYkI6xpPmYgswRpM1HZE6CJ8uRORZkjiB78xGZk5A0H5E5KZ7MYYylRefr
Fs1HH5uv4zkyJwNZLqD5KKD5KHCynDGWGTQfJYnM0W8+InMMmcwZdhvkqyYbY6nylTDR0HwU8Oaj
hOajgOajIG0+InMSGGMp8GQ5MsfBm4+CoJjKHPLVQvNRQPNRkMkc8jXBG2OJLLcwxlLAGEsBslyC
zBEgcwQ0HwXeGEvy1YLMkWRvktF8dKh8Xaf5uIQbY0nzMWNJ5tB81CBzJMgcQUDz8UcYYynwZA7N
RwtjLCVLMocl0fjNR7V/feif8zOQyBy1f+3WI7JkJW0+3s0nB+1VPhKNbT6eX06GG2VWxKIvG/vP
R/0W30iC2qw1NjqtKnuSlKAQlSur3Kh5BGFY4LgH/49/AQNybnwNCmVuZHN0cmVhbQ0KZW5kb2Jq
DQoxNTEgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dpZHRoIDI3NC9IZWln
aHQgMzMzL0NvbG9yU3BhY2UvRGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0
ZSBmYWxzZS9TTWFzayAxNTIgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMjg3Pj4NCnN0
cmVhbQ0KeJztwQEBAAAAgiD/r25IQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAA8Gi16AAENCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNTIgMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9T
dWJ0eXBlL0ltYWdlL1dpZHRoIDI3NC9IZWlnaHQgMzMzL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9N
YXR0ZVsgMCAwIDBdIC9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVy
L0ZsYXRlRGVjb2RlL0xlbmd0aCAyMDM1Pj4NCnN0cmVhbQ0KeJzt3WlTG1cWgGG6tSALECAbYbCE
wWyyBALCJtDWnW3GFSfxzKSSSlLz///GdPc9d6HPl/mGq3ifqnynusJBflv33KUlAAAAAABemCh6
7p/g6xLFlUol5ql4ca2x0mzUsofy3D/JVyKqNttvdzobK8s8FCOqtXofR8Oj7larWa/yTLJfmvrm
0X367fR6cLDTXm1U4+f+gZ5dVNs8nn7+95dP6Xh03H29UnvxjySqrR9Ov/z51x//+pQ+XBxuNSsv
/RcnqqztP/z613///v3XT99NRr1W7aU/kaXKSu/2pz/+/vO3z9/Px+e9dZ5I3Ny5+vE/v//25Z+z
6+FBZ6XKE2l0ztKff/n804/T0UFnrf7iJ+tSVH/dn/3jh/S775PrD28YrPkfm43D8bezu7t5Ojl7
t8Zf36Wl6tre1eR20L+aJeP+dpM5slRpbp9efNzbPfxmntwevXnF701cX995/67d2jq6Wcy/Odhc
fvH/uIkqy2sba6/qK53T+2R2sbfOn5uoUqvXKnFtdWfwmEzOdpmuS1EUR9l/9VZ3NM2m61s+pYm4
vrF/NU/ujreYrkZUabw+vFksrg/aDR5JIao0t06y6Xq5t8F0NaLqytuPD8nknM+uVlxbe3c+SR4+
Ml2tbLq+v5wldyfENJFN1/aH68Xi5vA109WIKq+2Tu6S+dV7pquQ6To977aYrkY+Xc+y6TrYWaW5
Gtk/hvcuZsn9aYfpakTx8ubB9Zzp6mXT9c3xbTZd9zeXGSWFbLpu98fJdNRr8QfHyKbr7nCSPA6z
6cojKcT1Vq+IJR1StMim6z4pOpTHkqNsupKinaja7JyOSdGBPEUPH1NStOem6zaxRMTLpOinSNFK
VGl2SNFP5LFkQIoOZR/nu+dTUnSgSNFzUrTnUvQHYokgRSukaCVI0UxXI0/Rl7Pk/oQULUjRSj5d
j/Ppur9BijZI0QopWsmma++CFB2ISNFlpGjFpegeKVrYFD0kRVukaIUUXUaKVnyKZrqKqLq6Q4p+
Iq61SNFPkaLLihR9k6dopqsozpzcJfNLUrRFilbsmZPBDtNVkKLL8ul6wJmTEClaIUUreYo+m6Sk
aE/OnIxPSdGieNFXpGimq8jPnBQpep8ULfIU3SdFh/hWtEKKVvIXfaTokKToeZ6ima4FUrRiUnRK
ivZI0Uqeoq9I0QH3oo8UbZGiFZOi0+l5l+kqXIpmulrZdCVFP0GKVkjRSj5d+w+k6AApWiFFl5Gi
lScp+rl/mK9DVG0WL/oumK5WXFvdHU74VnSAFK24FM2ZE2FiSTK/5syJlafoU1J0KCo28XPPSSBP
0aNpSor2fIpmuhqkaEVS9IwU7bCJXzEpmukaIEWXsYlfCVI009WwZ05GXWKJMOuPSNEBUnQZKVqx
m/hJ0Y5N0bzoc8z6I1J0gBStyPojUrQj648WpGiHTfyKO3NCLLHkUlhiicelsGWkaMWdOSFFW+5b
0UxXq0jRvOgLyfqje86cWKRoxW3iJ0VbdrqOWH9khSma35uCrD8acymsZTbxLxKmq1Ok6DsuhQ2w
/kghRSt5ir6YpeP+Ni/6hN3ET4q22MSvkKIV1h8p8qLvoU8ssdjEX0aKViRFz7kU1sk+zhdnTkjR
jll/RIoOkKLLSNGKXX/EpbAOKVqRMyePA1K0ZTfxk6KtKC7WH5GiPXvmhG9FOyZFp6RoT9YfTYa7
nDkRxaWwpOiAOXOy4FJYz60/IkVbbhM/KdoiRSsmRRNLAqToMll/RIr2/CZ+YokoNvGTokOkaEXW
H5GiHfuij1jiFCn6nhQdIEUrpGhF1h/xrWhHNvGToj2//ogULYoU/UCKDrCJXzHrj9Jxn/VHghSt
SIpekKIds/4oJUV7dhM/KdqxKZr1Rw6Xwpa5FH1AihbFJv4xKTpgN/GToh028Suk6DJStEKKVkjR
iqw/ylM009UoUvQ8ZRO/I2dOSNEel8IqbrqSoi028Suk6DK7/ogU7cgmflK051J0jxQtSNGKpGg2
8XtuEz8pWhTrj0jRIZOi0zmXwjqRnDkhRTukaMVu4idFWz5FM10FKVpxm/hJ0RYpWnHrj0jRghSt
kKIVUrRCilbM+qOUS2Edn6KZrsJu4i/WH/FIcrL+iBTt2U38pGinSNEzUnSAFF3mL4VtN5iuBbOJ
P52Rop2YFF3G+iPFrj8iRVv2zMkN648st4mfFG3lsWRAig5lH+e7JkUzXQUpuqxI0Tek6EBwKSwp
2iBFK6RohRRdRopW2MSv+BTNdBV+Ez+xRPhN/HycNyKXojlzInyK5kWfIEUrbhM/KdoiRSs+RTNd
DVK0QopW5FLY6XmX6SpkE//jgOlqmfVHLOjw8hSdTVdStOfOnOwzXUWw/ohHYthN/KRop0jRc1K0
Zzfxk6IdUrQim/hnvOhzSNEKKbrMbuInRTt2Ez8p2jGXwpKiA0WKnpCiA6RoxW7iJ0VbXAqrmBSd
kqI9uRR2ypkTh/VHikvRnDkRMl1J0R4pWmETv2LXHw25FNaSTfxcCuvY9UekaIcUrch05VvRHila
cZv4t3nRZ7hLYUnRFilasZv4SdGO28RPLLFk/RGxxGP9URkpWvGb+IklQi6FJUV7pGiFFF3mU3S7
we9Nwaboy70WkdEwsWQxPt3ifxKRp+jh3W2/86ry3D/K1yKur7876e+3SYxWFC+3trbb/P31orjW
aDaq/C/iRXFcoRvh//M/rOjBhQ0KZW5kc3RyZWFtDQplbmRvYmoNCjE1MyAwIG9iag0KPDwvVHlw
ZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjYxL0hlaWdodCAxMDIvQ29sb3JTcGFjZS9E
ZXZpY2VSR0IvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9sYXRlIGZhbHNlL1NNYXNrIDE1NCAw
IFIvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAxMDA+Pg0Kc3RyZWFtDQp4nO3BMQEAAADCoPVP
bQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+DI4CQABDQplbmRzdHJlYW0NCmVuZG9iag0KMTU0IDAg
b2JqDQo8PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNjEvSGVpZ2h0IDEwMi9D
b2xvclNwYWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0lu
dGVycG9sYXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDIwPj4NCnN0cmVhbQ0K
eJzt3e8uHAEYhfGdmZ2Z9a+zqxuibVDdRYp+QmJtVUpIsCh2OPd/IziotLfwPs8l/PJ+Pm+jQS8l
cftLkDbzImZ5M31hSLJyqurErJouMyukZbWw3OtHrPf1U7v1fAtJNrWwvj0YRmyw8/3zTP6MkFfL
20dnF6OAnR/vfusURmj3Bmc34zpe49uL4drHMn1CKDr94Wj8ELH68mC9+45QPyhg9dUvEEAQCA4E
geBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB
4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAIDgSB4EAQCA4EgeBAEAgOBIHg
QBAIDgSB4EAQCA4EgeBAEAgOBIHgQBAI7j+EcUSEf4Zqe/vnt/V9wO5GP18ni/NqZfdkdP0nXteX
p3v9WY9XN2e+bA0Of0fscP/H4gfPmGet2cXVjc2teG1urC11JzzrnzQnqu7cfMTmuu3J/O3BQ1G2
YlYW2euXi0aSpFF7/3cSvkceZao6DQplbmRzdHJlYW0NCmVuZG9iag0KMTU1IDAgb2JqDQo8PC9U
eXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNzAvSGVpZ2h0IDkyL0NvbG9yU3BhY2Uv
RGV2aWNlUkdCL0JpdHNQZXJDb21wb25lbnQgOC9JbnRlcnBvbGF0ZSBmYWxzZS9TTWFzayAxNTYg
MCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggOTU+Pg0Kc3RyZWFtDQp4nO3BAQ0AAADCoPdP
bQ8HFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAwKcBIycAAQ0KZW5kc3RyZWFtDQplbmRvYmoNCjE1NiAwIG9iag0K
PDwvVHlwZS9YT2JqZWN0L1N1YnR5cGUvSW1hZ2UvV2lkdGggMjcwL0hlaWdodCA5Mi9Db2xvclNw
YWNlL0RldmljZUdyYXkvTWF0dGVbIDAgMCAwXSAvQml0c1BlckNvbXBvbmVudCA4L0ludGVycG9s
YXRlIGZhbHNlL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggMzk2Mj4+DQpzdHJlYW0NCnic7Vvn
euNIrh1SYs45x2IuBgXbHWZ29r7/U10UFazu6elvvKF33cvzQxZFFAkeAiigUP7llw0bNmzYsGHD
hg0bNmzYsGHDhv85UBT1+p2maeo7sj8BKOp7j0jRu93tNLVjeW5P/+UL04Q86oujf0bRHwGKZrg/
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
TvXyumnqMjJFTrKjgPT1ga2mQgglBs/KbtnWia07cWQK/NfSGrfjtCCy32/2RbOS4QZh4BoSu7s3
8VWoS1lJU4X9jlPIjmjbsnTI3VnZ8jwTSjl93S/9B+m1/S6x7zUzvywESpe+/bWJ/7C1fl3oWpv+
3NqvpxmONN33zKXX/rX0ugWffdd9ttdO+uvBtVH+RZP/0q+//I/FrXv/B+n73w0bNmzYsGHDhg0b
NmzYsGHDhg0bNmzYsGHDhh+M/we2E/nkDQplbmRzdHJlYW0NCmVuZG9iag0KMTU3IDAgb2JqDQo8
PC9UeXBlL1hPYmplY3QvU3VidHlwZS9JbWFnZS9XaWR0aCAyNzQvSGVpZ2h0IDMzMC9Db2xvclNw
YWNlL0RldmljZVJHQi9CaXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvU01hc2sg
MTU4IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDI4Nj4+DQpzdHJlYW0NCnic7cExAQAA
AMKg9U9tCy+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICHASPYAAENCmVuZHN0
cmVhbQ0KZW5kb2JqDQoxNTggMCBvYmoNCjw8L1R5cGUvWE9iamVjdC9TdWJ0eXBlL0ltYWdlL1dp
ZHRoIDI3NC9IZWlnaHQgMzMwL0NvbG9yU3BhY2UvRGV2aWNlR3JheS9NYXR0ZVsgMCAwIDBdIC9C
aXRzUGVyQ29tcG9uZW50IDgvSW50ZXJwb2xhdGUgZmFsc2UvRmlsdGVyL0ZsYXRlRGVjb2RlL0xl
bmd0aCAxODE4Pj4NCnN0cmVhbQ0KeJzt3GtTGmcAhmF2YfFEQI14NiIR4yEqKioK4qaH1DTTHCZt
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
Z2UvUGFyZW50IDIgMCBSL1Jlc291cmNlczw8L0V4dEdTdGF0ZTw8L0dTNSA1IDAgUi9HUzggOCAw
IFI+Pi9Gb250PDwvRjEgNiAwIFIvRjMgODggMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VC
L0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNzIwIDU0MF0gL0NvbnRlbnRzIDE2MCAw
IFIvR3JvdXA8PC9UeXBlL0dyb3VwL1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQj4+L1RhYnMv
Uy9TdHJ1Y3RQYXJlbnRzIDU+Pg0KZW5kb2JqDQoxNjAgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURl
Y29kZS9MZW5ndGggNjA0Pj4NCnN0cmVhbQ0KeJytlVtvm0AQhd+R+A/zuBspeHdhuUiWpdpOrVSN
1IulPlR92OC1i2IDBZy0/76z68hNG1wE4gWkATRnPs7ZgckHmE4nd4vbJbDZDObLBfxwHQbMY4xx
IVgEkWAgAwaVdp0vV5C7zmT1WcKudh0Ou/PLLOTMl3+9vb1ynY+uAzd3C4AXnfiLTvZTziKRAGtp
NV9ju7ccgsBjAay3pic2BA4iDr0EAhl7MoH1wejYWWmxlcZg5TpfyVznmkqyzWhAmpp+g/U717lZ
t+sSfXX54It/dQW+J8CPmYcwzrJOaqaMxdHs/xr8/mxea4jYRQ3kTZoeK8pjomhIGsoF0YBwHjP9
BFgptkCvBWm+a8h180RjUlQPHdyC8bj5gSeiIdzkeNxaNZBPhpneHFO9MYBAIRrE98xQpQ/IzSeP
NCE6xRJDblDkWAwszI22kFPdwTIcjaWIY48PYhmNxrJdA3mv6xrqwnDcoscMv8ogs060PAtL86By
tcNSF7R4PGgB1pMh0JLxoLVqIKvKhlXhcXaKbWVoYZETfawtOgyvpjwgP7PalJss3yFH+YfjQecm
9dDBk7Nhw4Rt0zDfC19Pk9KIqFLdZ3t7NGe6pj5BsQmpj2VZVI0pW/k4z+G4x6dNVuJ1j5Nex8RM
nCIKVeuuY5333jcX7cFl5Ml4iD147+Vy0R/tIsjyfKArGx6VpiZgGLXs3sBE0MjwlzWEyjd4j87u
Of0H87iLZe/95Lc54wSTc2/QjuS9F85le7aKILeH0u7I4tEmbQNZjn59jh3lkhSluaOFLTjZDu43
Rc7x2w0KZW5kc3RyZWFtDQplbmRvYmoNCjE2MSAwIG9iag0KPDwvVHlwZS9QYWdlL1BhcmVudCAy
IDAgUi9SZXNvdXJjZXM8PC9FeHRHU3RhdGU8PC9HUzUgNSAwIFIvR1M4IDggMCBSPj4vRm9udDw8
L0YxIDYgMCBSL0YzIDg4IDAgUj4+L1Byb2NTZXRbL1BERi9UZXh0L0ltYWdlQi9JbWFnZUMvSW1h
Z2VJXSA+Pi9NZWRpYUJveFsgMCAwIDcyMCA1NDBdIC9Db250ZW50cyAxNjIgMCBSL0dyb3VwPDwv
VHlwZS9Hcm91cC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0I+Pi9UYWJzL1MvU3RydWN0UGFy
ZW50cyA2Pj4NCmVuZG9iag0KMTYyIDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro
IDc1MT4+DQpzdHJlYW0NCnicrVZJb5tAFL4j8R/ecSZSxrOwSlGiZmnaSpFa1VIOVQ/EDBgVQ8ti
6v76vsGRG8ekJMgnwzDWfNt7b2D2Gc7OZndXH6+Bn5/D5fUV/LItDpxxzoWU3AdfcnAdDpW2rfsT
KGxrdvvVhbS2LQHpbjP3BFfu3u7kxLa+2Bbc3F0BPDlJPDmp/6vgvgyBDxx1Ocfj3gtQIQs9mCfm
TDwQBHgBU64EJ1AsFDBfGSBpjy3osXG4ta1v5EPZUUUgLukp/nRUcKIhWiwzTV2ypkLgK25ollkN
CZWClBXQU0kK873paIALP4B+h/kn27qZDxOS0wgFzh4j4TvMD8FR7h6jRyJZgViSykCMaiokaap2
0bTVlkKsqUfWGXXIQtcXI3DVW+EqUJLxfbSOYhJU4DARPsd6xnngn/8fgzNBsgMMPn8RA7lfRqhG
A5oKRX5ntdGpyYoUapOBxigYFXFUmYe4Rs+3C2ByEuNqSCKUNGnqfmVBffzaP3a4rMcS4R6PnhMy
Tx3QyzWyW9OQaMQakCjFuCKqYMus3NLY/phsY8Qv8MUn7yqjB+5EbZb6MT34klKBDH+ajdCgdBh+
3O9gHeh4jKw3jaw3xFa4DHvOc7ZPSD1oSEzO8xyh6ngs6/7Rsi59yYKDunxN1oOjhWEYwy7rHdpW
tnkMpuf1tvb2NcblcpfjMs/1ojGrzuOqLqKHfDTT4fFoqIBJ94DGus0LE0kM4kOWZ6YtbxBfSFZR
gQF3iF7pAquvGTNd8KO5LkLsxsEU18WUMTes1zCIMdtxnCkzzhYoWWl0S7K03XW2JiuLMcfFlMH2
AgVPMEceUHizsxNnlzdkrQiZmGbtxOk11PGGUeC9Bb3soF4aY01TNnXQYfWivy5Z4qQyBYsNep1V
TRvlpiX+oRKVjPutcT8fslfcBsSbZ9WLxeJ7LDzw+FWCThwhA3oOYtiVCs77YFsiG3MNKNtqtjF3
vBbLpP13MyhXpg95pAaspH6UDsr4F+dLXbwNCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNjMgMCBvYmoN
Cjw8L1R5cGUvUGFnZS9QYXJlbnQgMiAwIFIvUmVzb3VyY2VzPDwvRXh0R1N0YXRlPDwvR1M1IDUg
MCBSL0dTOCA4IDAgUj4+L0ZvbnQ8PC9GMSA2IDAgUi9GMyA4OCAwIFI+Pi9Qcm9jU2V0Wy9QREYv
VGV4dC9JbWFnZUIvSW1hZ2VDL0ltYWdlSV0gPj4vTWVkaWFCb3hbIDAgMCA3MjAgNTQwXSAvQ29u
dGVudHMgMTY0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNl
UkdCPj4vVGFicy9TL1N0cnVjdFBhcmVudHMgNz4+DQplbmRvYmoNCjE2NCAwIG9iag0KPDwvRmls
dGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNjc+Pg0Kc3RyZWFtDQp4nJWQTUvDQBRF9wPzH+5yptDk
zWdSCBGa1qLQohjoQtyZpJsabQr6851EKFWj0N17vPs4h4v4DlkWr4ubBSjPMV8UeOOMQBERKa0p
QaIJzhIOFWfbCV44i1cPDk3HmUJzCpNXZNy3dD3h7J4zLNcFcEZSZ6ThVVGiZ6AR1LwMuGsFayOy
KOueGYBQ0N5HXsO6NHIzlPtepBnc0sGNsOLsUWwqqbz4OMqpFuik0uIolRLVq7Sik08obzlbluOe
+lJPA6N/eloTaZiUolDOyfJLLiNKk/x/B3N5V78dEvrTQWx3Vd/NYWgFMhXPLeTUiHfp+92KJgwt
6hBwot0Pt10VNhLV1UiBnwJHdwINCmVuZHN0cmVhbQ0KZW5kb2JqDQoxNjUgMCBvYmoNCjw8L1Rp
dGxlKFNlY3VyaXR5IEF1dG9tYXRpb24gZm9yIE5ldHdvcmsgSW5mcmFzdHJ1Y3R1cmUgRGV2aWNl
cykgL0F1dGhvcihKZXNzaWNhIEZpdHpnZXJhbGQtTWNLYXkpIC9DcmVhdGlvbkRhdGUoRDoyMDE3
MDUwMTE2NDUzOC0wNCcwMCcpIC9Nb2REYXRlKEQ6MjAxNzA1MDExNjQ1MzgtMDQnMDAnKSAvUHJv
ZHVjZXIo/v8ATQBpAGMAcgBvAHMAbwBmAHQArgAgAFAAbwB3AGUAcgBQAG8AaQBuAHQArgAgADIA
MAAxADYpIC9DcmVhdG9yKP7/AE0AaQBjAHIAbwBzAG8AZgB0AK4AIABQAG8AdwBlAHIAUABvAGkA
bgB0AK4AIAAyADAAMQA2KSA+Pg0KZW5kb2JqDQoxNzIgMCBvYmoNCjw8L1R5cGUvT2JqU3RtL04g
MzQzL0ZpcnN0IDMyNzQvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCA2MDMwPj4NCnN0cmVhbQ0K
eJytXc+T2zaW7vNW7WlOe0PltFu1W00QPwhUTU0qjpOJK7HHFXs3h9Qe6BbbrYpa7FCUnd4/fmbe
BwISKREgLO3BFiQSDw/v50c8EM2rghWMV4qpkj4044LTp2RlIehTsLLCZcuEkIybgkmB74Zut/RZ
MWUV49oyrei7KVkliIbRrDKGPhUzlugZyayifobuKTgRsjRYoelOXOWSbrV0uSzQl764QS3dJyRd
txU1LLFj6bIkVjnGVAK/0D+F65Yoa22IbUyjLKiBedClssDACr0wDLf0CziwuAeXZckwcMndJUWN
qnLTL0uMbuiL4ETVcFbKAr3oPol7ON2jSB4lTanUJY3OqbsmXkpOBCt0pZ6l0aBK3a3EpYoJCKEk
LkVR0XUaWHAFOoYJR74sqQEtlIokXxKdUjMSBn6R1CD5laVgQinczJnQJS5Rd01CIn6ZqEBQEB0j
aHTiUlgiVpLahHXdKyYLhclJJjn9XAr6hRuakzBMlhAm6VIKhYZiUqI7CV1KiE6SKShNdCT9ojFd
SXTc6CRQWRk0OJNGgaBl0tLkSkkEneRJEKqgHiVxqbgAHdgUhCTJqEh21CCjFBIyLpmSEC1pUdEY
1NBMKU10lGRKC/wimKqgRsWpUREdmpsyrjtRtmQXJQlLWU2XqKcuYCT0RRdk3aQ9pjnNu9SSGjAb
XTENYhCEFjASslctS/yiqGFwsyC7xwThABryKehmTeZeEgfakD+UZK/aQgWkzqog5ZfkVVUB+yF3
qjgoEweVMxk4UOkucVZJXsCIqAE/hE+RFKihWKUhDeKg0hV6VeRuMFgamASPX2gIS4otyb8qS15S
ktBNQXMq6YvhsFUyAgO7KMkrTenuqZgRkA9pkSRHQ5ApG0nfBNm90YPlUoN6CBKoqcAYuZVxWrbw
drILMnNmC5KEIG+yGFSQx1nMlOydWfiWIFVZQeoW9MUKkg2+WIl7aNpWYSzyL6tIAHA/W7lelhoa
/BhmjUAvomOIeXIgZq3GzeTmRQE75y7ckLYEUeMFbEQg+hQCTkT+Qy0LT0M0kuCTVMgLBT8qcZ/G
JEjj1CJ9ihKUK7I2eCQvDNESCIeFISULBMTCKlylOEXDEWXEKPqxgBNTy/FCcuXc+TNCKsd0BYIu
FyRNQTZIAZH0LMgdOVccfl+gRWYhaGwQARWMUQ0BAy34W4UeBv6BQE7xTg7hm2IccUWi5RSOiAp5
IbXI+gS5GFghTskXeQlJCERjCgF0H1k/J7em+xC8yRkMQg9a4IX8lJO7UA+SK9GFNBQoV5CkwlVD
9AVCLxkbzUhhDEtmK5BsyDoQwQxSDsIcGR61yHIFuSeFBEgSSUVAoxTg0HJXFfICJKSRIZylkCNS
i2YtNJKFxlXMnMIhKINKRd+FxmgGtoHkI8hc6T5QtjAqpBaJuCAgP3I/Gpcsk1qQBmmHTFihB3Eq
YV2CjJNa5GTC4DeJ+ZIPc4m0IEjCXGpHz6LlqFQuhyEug7KBJRr8ZmDoSH7SKrSIA4qQaCHZkf4R
ydGC3pAtFeKiy4sK3iSQL5XjBdlVSYMWcaWUo0IcKApx9Bsoa6IqkDQV7BlpjSvjkoRBRi2QJSqX
W0EZKb5ANEd21WSpSB1oaSQRoqcRmiXyqoZVS4AHLQv04GiRdCW5PpkucgvJlVoWfV3aJqtBrCNq
NEvJ0aOqXFailkHKgddS1KHEAk/WFnkEfk5BAUmLOKjILxiSBJwCPQBfkFQkokAFL3FgooIuEMUJ
7BAtJDVqkUYlPL5C1pSIDJUhPjzYqXAfqFiSuIQnGyRwCa81ThqIDAa4AVGTYBD4c4AJ0UPCkw20
Jx04kqQLichgkDvgX+S0JSgDQmnIBb5KQYXucxAE4VUiMhCawlWMYclCJLyWIiyNAW+05LfUAswB
BJDwcwsflxJYCbKT8Gkr0Rc+bZHCpXLYiuYv4Ze2ollL+LmtLH4DFUMeJh2IsrAXYIKigH6VQ1hk
NVIBNHLQA14pHAcU5SjauxaAE2xKIm0XkuxKavSAp0gApEIDbtA4BMvcb8BllLwITKAHQJTL/QVy
jHS4icI8c8mRwz8kABOCGLU40BksAjAG7s0GxIaRMDYhNUfFQTVQMYBfFXQJ6EEKxriAbcYAxWAM
QFiJlE6T00A2aJHHQpoEwjA3RNwSeR3eRwgN9mIA0WBxDjIQ8qkAhgDtoF+AIcIauA8oD/BZWofl
yMMksnLpOACwosRK/FkH58ALYBylTeAuB1JhYcj+AqBDAhoK2Ly0QHDQgAIKEpCTIt0RewBUgLQC
CE4BDlOIJLQFIEXhkBAU0CgFN8A1ULEcPcABGQcgHJAgoBvgh4uYmB+1EDe1A4OwLvAnh6jgUCAs
vXJYz/mBcIAacgc0hK2V0K/Ck8GAAIXzQfxWcdgG8B2ArQTYdlHqz3++feueRAr28+2723dP9fb2
/fNTc/uu7/Z3/Xeb5vH27Ucm3PUfWfGXv/zrvwx9iNVEn2/u+n29ed/80f/722/evPqWvag79h/s
9sdfGf9fdiB5AbkX7fcDnXKejvB0fuBnVDA46Ziuu4c2+pwlcZAGxvvQ/jFPR0b7k0oyJdPu+n3X
sG92u2a3e2y2Pesfunb/8cGLSlxH/03Tf26739ir7X3bPdb9ut2yb9vNprlDcxhCzg9R+SHezk/e
DkI0xZVCNPH+OkySuJ3vXHhNCv9ZRYlRKEjbtz23b6Mypfz+Yb39uGP1ln237ZvuqVvvGvamaVY7
1rfsx237eWL39oS1YPc/lLOzNCM7Pe3KM0Q8TGO+f9KORlIpj31sUpIjqfzPfrNtuvrDerPunyfW
fMKFLZKmRtF6kf/U/AeG5/sHI/9+/ZHccF583tJtESVjRaYY5aiPzhTjt+32HtzVR49V81yotBir
Zf6TYkyYYYYYrfRijFujzbVGfeiD1ao8Mb5r7/vPddcMEqzmGMCKV0KCWCJbZD0hQc/r5RIcDNFz
OT+BXEM0oz65hvhD3a2OErTzDCRtEOuGi6wnJXiVDWL9cpBgIiIGe3q5rj929eN8SDDeln3eGbQf
5jBLdzmZmdJnVO8oJiGrJUcR6iybYUE1T89//8fN+5v2ZnVT3zyzf7vZ3bCb1zf7m81Nf7Oe4jc1
ZSt7hP+awrdLyXxqtqu2G+fcKWa6lK4HTbspPDqlFgxlPmtjjdvZBPc2x5X/HKNOFdFrygd4mUEg
7gQqMp0k/h8J57vt6qldb/tBODpCLfAxHwbK4loZ2DiBcgnpHZyjGnXKffYAUO/Z63pbf2wcXB/k
YCK85JJ91272x/xuI9REWqrewsqEhZUZgNFzfbGFoQgzMCISjFS5WuKjGCaKTHlOQFN46oyErWyi
I61P9cUjkay0SYUJPshJJDz6IKeUwkSOP6UU5vNXmXArsQQtjgoTo1654GLysBAUFgm92UTjCotE
QZGGL6LyCjMZckoqLCcJJBQmfFIRKsHI4orOQWEjPC1zk2TA00FX1TwX2fTiuorEVsmTupI+/8pE
MDuIKKUreV2+RcF3YITH6cjkSsNEV3bUK3cV6P1D19Q9e9n0w7qP11lZRLjJpTtVVBmJrzK5koSK
tpOPSgSxg3ySikp4ZZaitFdUFaejssFFWY56Za9sNg/1pzVh2tftdt233Xr7MegqAmqzSZ/oKhJa
VRpiKA8xVCJ+qRyIoa6EGMpDDJWAGFl0Lu8agb45XSOxMqdrJBjmdI2gyoyuIhIodDYmEHzUKzd9
v9rerVdICGdwW0QAVzbpqTeIiHPpNBzQHg7oRODROXBAXwkHtIcDOgEHctQ8HxSW1y6w9coxwD2i
5V4yPABL/3sZAJRPzsL3kyGu+PuUv0/5/srfp30u1f4+7cOA9vR0AsBWSZhPHYZ19umiSXZN6ufm
9/26cza6myySDFRHFA/Vqfl1g2qkw7O+YQopYxqXpc4I5D7l//0f7KvJIs0ZpWBOP33YzAeqIs5G
uhgzXmz446ndNexuqFg1K/bk62XrLdvtn57armftPXust89stb6/bzrEiD261LtmN1kOis/gRbt6
np9DmRBlQDU/vZpXgzdZwxNyyC0wkTr+NFmNOqMkl9ShE2wkn8UnRr7a3zXsqelcNXF7B9XsnAq8
igBYjjo61BwnZYs473FFmAT3Iq0I42PLeD01rsx5EgmXsrmrB0eX0pGJ2AUd2oQp2dznrPfrx2bz
fNAXPQyQ9s5UVS2xGFWVFZf7jPXh3Sb8LrtudvQZE6GkluSdsJh0rWrEBqq/bP342KzWdQ/Jf35o
tuzuod5+bHasvbvbd//J6u2K1bvf2D1pJRSL7ZUD+0V2XlxJZ//Eft83O9jG7mQl7WKa9Y5tm2bV
rKbrZ3ENxc1tCLPYZzt8cv+ZMiG5YIb+QdAmos5CxLDxLC6KXExxjBh8PoeJQ9EsYsKiSPGR60k/
NZ+ajgA4a/5Y71yI77t6u3PZ96lr+5aCyW66ZBdnNKZJUWTF51mNeZGGKc2zwL8gUP9pukx4NpuF
SC14PFKL7DLU27rr13f7Td1R1OgfAITqTdfUq2eKJ08bhzUJEn3ARdLNpC7D53PMiPOoHng8gIvD
Q0RED9x7Ic8CTvOqtAnRfQFe+mq6LnlGagEwCZ4ypVzA9N+ks11P0b3uVuv/I2U9tqtms6M43w1K
++Opa3Y7uNQR446SMZsugV7MB8ZrCBEj13cN4WNPdz7HjIQTtxLjNR1X16LX+pKon8Y8K2V+1Tp4
bTmf8cSh9hVTeZmw/OxK3svm05pw8auX00XRODNREZeJ2F0WadH6Epwo48hVpEtw86KdT9Si1Eui
jadSUeY+lB5KDj+19Wq6LBpnKCpeEX9AXRZv5cWbCFbiAsuNZE+xZLkiYbki13JnNpqVkQQolq1X
XGG9wluvSFivuMB6I0lRLFmvSFhvusw24uNvFPC73deelUhaEst2K6+wW1/A9ExflJ/9Up73sGAK
gfMISZ0i6VdiwpN8eMoMOD2Ax4A+QnoKs71mqSyeeDIWPSu/COl3H5dVXAJCLm4/Pt9fL9JVwfGm
FPai6fumY7/Uz9OdxuKEjfRWYyHH++tO+2bUdTzLEQJLWz4OMjiWzoTKRe3TfUkiwkJyQ4ZQPIP7
1PTHNcyo/FIL8N7CpY3TUcm8MhajHHXKNaXwQsJ0o/EpC7nU3jUdPTpOVr3OaMm0SnyYUVWGRJKq
SVlmhmqUD0LjyuUFdKr5njrXzLsGj92Tda0zcaSNXKeMPMfH9XVGbiMSyIUpv++b7nm6tnVGK1nF
FjrHFJISSNhAugQ5dk/OR71yUcS3r1++mC6anTGQ3HspqoT2DrwnJ5+ITTmO5KumYlw1PaVTZafL
0WYzkV2si2ziDItXZ9xctseCR6JnlbZO/3qaqBK5uMqx0uq6SIX3uwdGRIKR7Jw+2mQmTG60m90V
GAmh2UQXd5qdTTIdUI1HwONqYVROKYWZK9GDx9Ge34iUFt8QOSjMjnrl76uY7AosIwE6m15UV2UE
4Zrklg1hfPAxieBzEFFSVzlIOaEr/5aHMIlcZJZ2cB4B8wgxZ1cC5/ZIlxHgnE00rrBIcD28Tjiv
MP+KjbCJYGYytnEKm/DOHIX52qSwCfhkk7h4ojA16pVbNUvsDoyA62zSJ7qKhFib3MkpfC0Oh2Is
iyipq4R3ZunKPzTY+EODTL84ONGVGfXKhQKxLbfz6Def7snGtfn4Kg/ltllFyaEq6E4gWZZPQlGe
7YsVJYcqbeD3coXHljsyukZQdE7X2CJDzoP+FQ+iV0DveVXzbEwgqlGv/4dtnPOAK5/0iTdEnIsn
MYH0mxUlj0edo4hS3sCvwwTSr2t6fq/wqtmuyyuaQnrELz04kR4t+d3Wwm/H9CsM7myp4dMnae3j
rl8Z9ag3IKqQqEMSCDHGnXA0fBr/6ROJLydLv61Uch8u/LuVkseBriyXtntydX7kg8wu871ots39
+mSvpyc5Ipfe7CnHJb7zzhlL2HJc4DuncPF2z3NSC/s95bicdtZbJJPt+Mkc+6HqvmGf1s1nVKtR
Jd8O7+NOVnYTDMYqJ3L8nt15/3Sx2ssyTCU2zy/f2iNjpBa29kiRsp3sV+SGLZ0rVvd9ffcb+0Sh
gQAm4RUIfuVq2ZOl4ASfcblXV8jdv+omx/Wlcya+3NB1jNSSocuUoafrPJM9Vbsd24Wn5b7FHmZK
jpPdlwneorKW19i4344vZcrG5ZfbuImRWrJxmbJxmWvjfwUUb7ph5wuCymEf2+MpIrHXjnVXPw3L
VetmF7aou5H2m379tGlON6eHJeyEbOK69mlz/OLbF+vc53opU/6VXYUbbbyK5cRDDS6mdJWyvnT1
a7wPp+5rVt/dYXuVXz/ELlvYwORIIh7LeEc+owoYv332xYJXHtyolMdmV9rO94qe01rY8iZV0gRy
91u8enzq2k9uHxs5Xft0cgQUjyU8tbjpTKprDN2/uyhVMhsldyp4kBGSXgjIwVmDzYS5XIXrElwu
I3npd2l4ABrmFZP80jojH2qGU6icfvlvfG5Q+5mtWva5IXd8WDefKN09rIc9kB7ZTY8F9KNdMNJ6
e9/VO3cJNewBvhy23MSoh4gSwej+5To5rhqeETmIMKVTLRIUsiuAR08XMVJLEGZcAzzrna69jRj5
5aHuj6k0bHPduTC76ur7fkeJbgu9T5HuxQNuwj50gktkULCir9k3gE8PDf3/sX7aUZOYwrsF0x0M
lw9KY31o2P16s2lWX0+hY1zu0Qjma2rS7xmS4xrdOb2FiKZ9tKl4Sp1f8L7MV1P4eUZq4YUZOd5P
dd47dy3a2dXndr9ZwXacLkkJfn80ms22/rBppifvXD7cp0mN8YgIv54iwrgw4sr2+jEpd1tS8qC/
MJ8IEfMFe02/OgGeZ7QWNptKkwpjJvfpYEbLyAh3iYN7Lh/sTKs8lg2Os4+q1b9QKMclwC9Wqz/t
TZpUAEgfz5lGf2e0qiW12gQn2W85ItnvHoJaHygXbLCY0+EG9wbENCnzWFI4shvVg02FvUX5e+Rm
U76ZPtdzXv6xhHOooMbkb1OWkK4snroVlhSe2313i//Y3X7Xt49NN7xzd5B8LIsdGY1L/hrL9xVd
aVN4SqdxuPbaq4Irerjry/tyXOy9EKslUlkG/vYHFXhwGeYTk/jSJhquz3cHq+yTT9/QfwTPmqeT
xWo9XTHHeeYpIKyKiVBFZA4JoaqCxymo7NcRzxerz0gtABVVVClG8oEKYOfwaPOxZfdd+8jw09cn
8DzKXczBVGFT/KVfX/WCDPOIETksL83TUFfrWsYpZDiQP1LVG2Xgd47cqPf7rml+btv+9ud207yu
n9z5+RjobY2DIXDZHaTvfOnXcEJ5OPQ1nJESXh4IxbbwxB4iRxAAmDnQhZP92DwfDtb9ntjYtn1z
+wb/fbddHb8Eqbm5/9DUq6Yb2ugT2q+2m/W2efdQY3L44ZstUXCoyH/v+vV9TQ337Rd6iv7Qtr/d
vmzv9sA57pfdQ9P0YLK/fV3fde3o+7cP9P/o+8t1vWk/jn54t1mvmtG9wzjhVNyh+ujn+mb/uPuV
Fe4vEzh5ur9M4CTp/jKBk6X7ywROeu4vEzilur9MgJZ2f5kArcr9ZQInXVAfH/I+Obb//AR6d/Ph
EF1/0+Hwbv/74RTqyn+GM5X9QTKHE4KrI9Hj6TZ+UvNHuh5PvfHmcjwHc3Iw5/G4xen5j6NT/SbH
DI5OkPPj+yXb44FlkxPURodjTU7ruuBUnXCs0OSco+MpO044h7dgwjEbnpjXhD94JBzhEQ6xCOdE
hEMWll7kD2+yh9fEwyvW4XXl8L7u6Yup4aXO8DZleBMxvP4XXp0L76uFd72Or1lhksfCuB8kvKfh
zys6vhwweVvhWDD3kj0WzP1gYS90CDiHLbeTPcDHnZ3TraajXYSTbY2jzWqT3XOjjVGTnVqjfTiT
jUEXFObDDobJlopjoR7CPK5N+sG8Jnx5NhQ2Q9kwFNxCaSsUhU7LH6FuEFblw3L2cdXYDX4AZpNV
vbAkFlugCUsbp8/04WH49KEwPE2Fh5SA7o/Q2TFzSHKl/6z850Fc/wR1pvscDQplbmRzdHJlYW0N
CmVuZG9iag0KNTEwIDAgb2JqDQo8PC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDI5MT4+DQpz
dHJlYW0NCnicXdFLi8MgEADgu7/CY/dQYl4NhRBoUwo57IPN7g8wOkmFjRFjD/n3q2PpwgoJfMwD
nUna7tJp5WjyYRfRg6Oj0tLCutytADrApDRJGZVKuIfwL2ZuSOKL+211MHd6XEhd0+TTB1dnN7o7
yWWAF5K8WwlW6Ynuvtveu78b8wMzaEcZaRoqYfSNXrl54zPQBMv2nfRx5ba9r/nL+NoM0AydxsuI
RcJquADL9QSkZv40tL760xDQ8l88zWPZMIobt5ie+3TGMtYEFQWquKAOUWURlLIMdUhR6SkqxspL
1BF1uEa1qOoRu6KODFXlUbFLFbucy6gS1VZR2DMvz16Zr8BnPe4fHhj28JyeuFvrB4fLwomFWSkN
z32axYSq8P0Cl9aQUg0KZW5kc3RyZWFtDQplbmRvYmoNCjUxMSAwIG9iag0KPDwvRmlsdGVyL0Zs
YXRlRGVjb2RlL0xlbmd0aCA5MTMwOC9MZW5ndGgxIDE5MjA0MD4+DQpzdHJlYW0NCnic7HwHeJRV
2vY57zuZmUzJzCQzKTNJZpIhCSGBAKGEIhlIoZeUgSQQSEhoKtKrgNg1iA0sWLEXLJMBJIgFFXtX
LKtrW13X3RVX17IrmOS7z/u8BwKy/vp9//Xvt9efk9xz3+c55T3nOeV9ZonLOGPMgw8Dm1JaNXb0
HRfvncWUlyOMBVaXjSqtfvPWit2MHUSl+HfLRk0o+UPd1h8Ze3kKY8bI6NKy8j899Z3KlOf3M6Z+
NXrK5KoFzcPOYezzdxm/wTa6KjxKVXN/ZMo5nzFW/t7kqoL+P/7+nW8Y4++iw4amhY2L71+/bxtj
OY+g/XdNK5cHItcfeIOxmo8Zi0mdu3jewh9+mGhjLA/jifXOa1y2mKWyIJ4fQnvnvNPXzD1XzVvO
WP1PjBWNmj+nsfnb+HYP+p+B8kHzYbDfb3wP+a3I95i/cPnqt8YlDWVMKWIs67zT5iw9Y2ze1HLG
dqHcOuH0RU2N86vW9GTsavSfXr2wcfXijEE97kD7NrQPnNG4cI7v/iUbGXsc47OPWLxo2fJOH7sA
4wmI8sVL5yz+x5Gm5xkb8BIe52bCtzGPLlmT/PktsxzDv2cpZibSvr+ue0nwG47V244cbt8U+6Xp
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
nr5xAGn4wLiBUwdmDno7nD4aVDSoZHBP0qDBa4YcG6arlDdsj0r1w28c/mY47RpWz/mbw2vUWc0I
2wjb8DdH9E5+IvmjkX3GTCEdv2X2sLxQaT5rQqXGDZflxk1I6ZySlDI8Zfv4biqljZ+jUub4NeNf
5D1z/KekignLJpgTjt+aQdqY6qdUWuqB1APjP+X9mDwiVaZWp34/0VRp28R9Kh2fWA3HJ9amOSbW
kl+dNjXtWFrlbYtIT09KoNy2ibWhnEnLJtZOOjnpzOS0O4umTLk79u6Od3eb5Zg1dVbZrO8bPmf3
Jr09P2Z+54zMjKyMQEZlRnVG7QLHgn4LRi+YuSBjwbIFuQs2Lnhzwa4FhQsOL8xY+PTC7QvPPSQe
in1o7EPTHvroodJFAxZNW/Ti4jsX5y7+/eLzS/QlvZfcvOTNJaceHv3w95kdM2/O9GcuzHwxc0dm
2dLOS3+6dNfSsqXfL/Mua7ts0LJRy2Ys27as7JGej4x+5J5HNj3y+iPHHqldnrx82fKPVugrklcs
XLFzRdGK+pXtV85euW1l9arBqzJX7TDT/sFctevS+aj5bGMuaUpyHlHfrsMpNIP8g7GXcumIaz5O
QpF+xVmnYeaJSM3nDrOoKcnZwSxpSqF5Qc6hMa/HFbXbwDx8dHgNs6aag9Un823LNObXTdFbYzb6
DjbOmZRtWdtlhqzr2xW9qWnuDHmJ2Xm0mn9DpTpHb23wnrwq52JV9qjMV+XDHqTdXb6TzORbqXFU
tXYQ6zbyeVSlptXh9CWrwuiIdaBpJdgq7b5s9n/9stnfHZ7z16n5Xs3yqh1qR4/meFPDTEh/bA/3
F3NTaP4JzW/hfmROZAaUvTajcXZs6FHmuLgUs1LWaOrjLpPMSrOS1mSp8+SlxVd2mXR5TDAPlkTM
qFeYZyPn1cvn1PDMXaSiKTSLTmiYP+W8zhXualbHb+fKpLi0GwekHmjrCK1j6pM1q933bSqIqtiG
1adhVYnt2NbRtAKFolKubaq0Q5ag7p62sTJHXpGl5PXYjr6DDZEa1z62IytgrKwvj0NXm9bRyJVU
2qJWzfC6GbFyxtLCpevkhmar48Hwyti6wXryvw/dXd5/fFqbirjR2NPM+9Jr0sf0VMSIbfBxaCRK
b4YipcsM/J0ie1N6Ii6t9Quqv7fLvokY1YPjd6C1YYUtCbVqVseZZnUoyTvIzy6TZK/Io1CkyU+z
+po+XfuFCK1wXfupVSkiyRUutLqp9fH/M6k1NSJdXkKttBEpvOI2pstryJX2P0tqLf63U+OK/Q/S
pZ6SqXEd/wdJrez/dlK7jX8zXeodtUeJSJf7T+1dIpKM+1BP/2fp8pb/tXX/Xgr5We5dorcO01M6
D6v3HZW7HpXy1BVd7nTUWV5KZ7kHCueR2EENkrum0FU598sjmdTuaIraWck9VM3wGrU/YnfE0Z5h
eWp3YjbuYmTaNtFMPTbRlDsYdbYtvM8JHW9jF1Qpr8gdjayXGk5qx7NI7Y0oq3K3yff4HZTeJndT
zBbdUo+pfVdmOKWpK93krkudpaUek/NSOI/Ezi2JvZrcocl6a9QRSe3TMtR+jrJqp9a4XxufNsKm
PFIvfXHbopAnhulKDxaHLB3/qWpb3mmNaku123wkXt6jkXFwbWnoTOjyGRzy2RvyyRv2KcIrn7ph
/70YKOS/HD+onk8hj6rVv7zX1PMzbPIJGfYp1kG+ob9h1YtCq17zi1bafWKSNk3Ea9NFojZDtNTm
qudwDKDkCPU0Ck09e8JBWS9lW1LWS1m3aq+KUmeES7tHdCS/C/mTyb+K/C60dQ1tJconRahnQ3jk
Ux7kcx3sy7FjhfVb7B1s/8p6zn5SJNmrRD/716KX/VvrkP0033Zl6wdpvVI+XcSy2adc/EE+fUE9
eyFTtBApIgYGix5iCMywDon7YSbIJ0Qsss6LxbAEHoZMWCq8Ypl1WDwCy2EFrIRs6ufAo7AGHoNc
WAvr4HFYD++LUeIDqOP4IliihyZAgzQxRLsNJsHtcAeki4lakeiE4nT7nWKo/S5h2O+FeSLXvkpc
bV8tEuzZ4mrHy9Zhx2bYAodFD8fnUAJHoBS+gDL4ExyFcjgGfxY9omKsQ1EV1uGovwhvVDXH30GN
dViPEil6Dz77ix76jXzOsw7pD8B8eBAWW1/rSwDf6PhGxzf6MsA3+ltiiL4TfgsXxBBnT9HJ2Qvu
FT2cfpgGC2AhLAUTVgM+cubBU/AybBGjnG/w+R2cgRr4K5yDC4APjekwA+6HxaKTS4ghrtaik4rd
U8S1Wx19q5550YaozSdq84m2bkTbSKIti2i7nWibRrSNI9qS5VMq5LMo7HdaT9h/bC0jgm6Qz6OQ
T6Ow/97aZv+KOKsSdvspYvBbcZeKs5OUOsY2s2FU3CP6RrQ/lvaX0P4Y2h8onyJB2xto+7fU6i+f
JCGfI0F7H9HenSKaVs7SyllaiaGVa2llPq30pZW+tNKLVuTTXI7L5z/Q0gxa6Sef/6CUfsLRWyKO
Nv5AG3+gje7avdYHtNOXdu6lnQG0czvtjNDSrc9oq6+2yXqPmh/SnoP2lmDZTNpshWXZtPa4vdI6
j3Wf2r9htH4rrrOfDo/YlrTak1bTaXUgrY6h1a602J3WPpf/alw93ee3xK8nPMP8FzOJnFmeF9lW
tciBR2ENPAa5sBbWgXy6zXr41KoTe2Ef7IcD8BkchENwGD6HEjgCZfBnyxLH4UuogBNQCV9Ze8VJ
qIJzVrn4G+P8PAShFi5AHbPb38n/Hn6AevgvuIgtllWtCdDUrPiVfSoR9lPrrP0ePv3WWcdhq9rx
OZTAESiFL6AM/gRHoRyOwZ/hG6vO8S2chr9ANXwHZ+As1MBf4Rz8Dc4DtjgugmXtjYq19jqTrTrn
GEiB8ZBqfe28g8/JMJX8u+AeuNeqdvphGswlbwGfC2ERxw9DJizlfDmfJp+rYQ3HjwH94HySzzw+
n4JnON4Az8JGeI72X+b6Vo5f4fgNjt/i+EOgj5z0kZM+ctJHznLLch4D+shJHznpI2cFdU5AJdBH
zm+tcudp+AtaquE766DzDJwlr4a2/wrn4Dzn9J2zls8LnNNHxnSYAffTXzbxhGitVi67eILYnUwM
y9UrirNfc5bC2TiivND+meglNK7WitFEZjmRWU5klhOZ5URmOZFZTmSWE5nlRGY5kVlO6a+JtDoi
rY5IqyPS6oi0OiKtjiiqJmJqiZhaIqaWiKnlfgHuV26/W0TZ74NpRNB06yuippyoKSdqyomacqKm
nKgpJ2rKiZpyoqacqCknasqJmnJ6spaerKUna+nFcnqxnJ6rpdfK6bVyequWnqqlp8rplXJ6oxyv
1+H1Orxeh9fr8HodXq3Gq9V4tBaP1uLRWrxYjhdr8WI5XizHi+VqxB4VTnw5kpFssPb+jrX3XftB
1tpDrEKsNsq/p1F4CIUnlH+XcxbHWUf8m0ULX4gprJOJrJOJrJOJrJOJrJOJrJOJrJOJrJOJrJOJ
rJOJ3OlG1squrJVdGbMljNkSxmwJY/YEYzbImA0yZoOM2SBjNsh6GsuYrWLMVjFmqxizVYxZ+luM
Z90cwDg9wTj9knF6gnH6pX2a6GafLp+UJXJYRzuxjnZiHe3A2pnI2pnI2pnI2pnI2pnI2pnI2pnI
2pnI2pnI2pnI2pnI2pnIWKxiLFYxFqsYiyWMvSBjroQxV8KYq2KNS2SNS2R9S2R9S2RdS2SsVLG2
JbK2dWWsVLG+JRL/JcR/CfFfQvyXEP8niP8TxH+Q+A+y/sWy/sUS/1XEfAkxHyTmq1gDE1n/Eln/
Eln/EmW8W+fw9Tn2Z09Yj9IDY5nPTzCfL6YnxtITr5K7nmgfYz/MTqrEumg/Iqap3iun9FFKlbFi
PmGt5GwadQ9T93OuJlP3Cep+TN0U6pZQ7ydCD4+jH1PyCCVLKJmi9lcyZl5TLd1P/gjyD5BfSv4Q
WlpL7k5aGkVLn9JSkir/J7VPPK7ea4VbayE6aVNhHjwAD0IGLICFsAjWsdK3lE8Nkk8IovVM+XQg
tTfaLNrZPxQ32HfT/5WiC6v27ewSY1m527NL7GL/hpnhWyw4zbW/iBtYzxdau6nRlj1lZ7mmU3+e
GMcKNlU+PUSMs9+jdl/jRDSWdcCyDljWAcs6YFkHLOuAZR2wrAOWdcCyDtRsTc351GxNzfmqpo+a
Pmr6qOmjpo+aPmr6qOmjpo+aPmrKp7ldT81u1Lxe1fRS00tNLzW91PRS00tNLzW91PRS0xuuOSBc
cwBK7hI9OeqpfJyv9ggX5POC5DM04DaYBLfDHcLN3s3N3s3N3s3N3s3tkr+ndchn/sgn14R3GoWq
j06IEq27Van1gJ7QC3rDddAH+kISXA/9oD8MgBvgRhgIg+BHMBiGwFAYBsNhBCTDSBgFN8FoGAM3
wy0wFsZBCoyHCXArpMJEeAF+Di/CS/AybIYtsBV+Ca/Aq7ANXoPt8Ct4Hd6AN+HXsAPegp3wG3gb
8uEdeJfdWoDP3dZRbQ8UQCH8EYq4/rF1RCuGT+BT2AvyqUP74QB8xg5iKt9W7rEOOv7ITqIIPoZi
+AQ+hb2wD/ZbRxwH4DPrSFRLqzKqNbSBttAO4iDeqtSfhOcBH+gvWaf0bdZZ/TXYDr+C1+Edrhfw
yW5T/yPHB60j+ueUL+O41qp0XgVXQydIgETrrLMzdIGucA10s444r4Xu1lFnDyAWnMSCk3539uO8
P3lDrFPOoXxOss4aNqvSsIMDokAHJxjgAjd4wAs+iIYWEAPoNWKhFaDbQLeBbgPdBroNdBvtoQN0
BOw3sN/AfgP7jUToDF2gK1wD3bCpn3XK6A8/so4Yg2EI15LhZrgF7qXcND5nkjeLcrMhHebAYvJW
wEpYBSY8yfVfUv41ym+3jhq/4vx1OMe1oFXp0gCtrlbWERc6XG2sU64EYugR9WQrvKPhHQ3vaHhH
wzsa3tGooeEdDe9oeEY9/6olxEIraA1toC20gziIB/mELPl8rE6QAInQGbpAV7gGusG18llrfMvu
AT2hF/SG66AP9IUkuB76QX8YADfAjTAQBsGPYDAMgaEwDIbDCEiGkTAKboLRMAZuhltgLIyDFBgP
E4T8P4g9WipMBPlsr9tgEtwOd8Bk7L4TfgxT4Ccgn8u1ElaBCashC7IhBx6FNfAY5IJ8Tph8SthT
8DQ8AxvgWdgIz4F8YtbP4UV4CV6GzbAFtsIv4RV4FbYBK6C2HX4Fr8Mb8Cb8GnYAc63GXKv9Bt6G
fHhHPqNMPi8M9kABFMIf5XO6oBg+gU9hL1w6i0y27mOWnsI60EI+ZYx1oAWzv3y25iEHM56DGc/B
jOdgxnMw4zmY8RzMeA5mPAcznoMZz8GM52DGc+zgO8pbsBN+A29DPrwD78J71neO9+ED+BA+gt/B
7+EPEIDdsAcKoBD2C6/jAHwmvFEthTuqtfBEtYG20A7iIF549PXWd/rPrGr9SY43crzJ+lp/njWJ
PlCz2Wby0KK/Sh4269isY7POLK2/ZZ3Ud8Lb5OWDnOV2Uf63XHuf/A/gQ84/AuzUsVPNfh9z/il5
e/ncx7X9cAA+g4PCq3/Ovflup/PdTi/l2hfWBTVTHsU2vs/pX1OX7yx6NcfsrnV21/pZ4DuLzncW
ne8s+t/gPAShFm0XrJPOaOs7ZwuIgZYQZ11wxkN76AAd4Srhdl4NnSABugmv81roDj3geq7147M/
sMo6WV1Ds67wGjbhMezggCjQQf69XQNc4AYPeMEH0dACYqAlxEIraC3cRhtoC+0gDuKhPXSAjoCd
BnYa2Glgp5EInaELdIVr4FrrO6MX39F6w3XQh3N2Csb1HDfMxAM4vhEGwiD4EToGwwSObwW+5xoT
qZdmFRq3wST4iXXBuBc7Z1Lu0lma77sG33eNh2EFNqyEVWBSfi33ZvyrWXsjn5to93l4AX4Or9He
dmiYxd/gGn1oBKn7g3XBJayTLk3+2wur2oU/XW4+W3K9lfCqmZ0VytWOa3EQD8zHro7y55JypIf3
VSvk0wDVHm1P4/X5XF+qfo4i91tnRJRtrPVT+61WAbtTt/zZFnnfid62JOu0bQAMhBEw1jpkG2ft
tY2HW9mVT7aOs7s4xu7imHuKtdc9FR6zTrtzYS2sg8dhPfwM+C7nfhLy4Cl4Gp6BDfAsbITnYBM8
Dy/Az+FF+AW8BC/DZtgCW+GX8Ip12tvLOi3sWFprm8J34oV8hx6C/UHsD9oGW1XYH7TdxOda64Rt
Hd9d7hLXMX9dR8m97tutKvcdcCf8FKZbJ9xzYB7MhwxYBI9ZQbQF0RZEWxBtQbQF0RZEWxBtQbQF
0RZEWxBtQbQF0RZEWxBtQbQF0RZEWxBtQbQF0RZEWxBtQbQF0RZEWxBtQbQFPSnWCc94mAC3QipM
hDS4zTqB9iB9OND6gh7aZ1P9aBWrnxx2Qvt2dG+33WXtsM2AB2CtFcAH8mmUR9G+He3b0b4d7dvR
HkB7AO0BtAfQHkB7wJ1p7XAvhUdgNTxq7cCuAHYFsCuAXQHsCmBXALsC2BUQI+mBdHogHdu+ogfS
se8CEXSeCDqPnV9iSRmWlNknXzxvn3IxyOrio2f6srr46J2+4e/4hUTXeaLrPNaVYV0Z1pVhXRnW
lWFdGT2TTs+k0zPp9Ew6PZNOz6TTM+n0TDo9k07PpNMz6fRMOj2TTs+k0zPp9Ew6PZNOz6TTM+n0
TDo9k07PpNMz6fRMOj2TTs+k0zPp9Ew6PZNOz6TjgTI8UIYHyvBAGR4owwNleKAMD5TRM+niJrzg
xwt++uITvOCnPz6xjRVXoT4V9anhn7c+Hv4+3RMvtJXP4cQLbfFC//BPiX9CX31CX31CX31CX32C
N1LxRireSMUbqXgjFW+k4g0/3vDjDT/e8OMNP97w4w0/3vDjDT/e8OMNP97w4w0/3vDjDT/e8OMN
P97w4w0/3vDjDT/e8OMNP97w4w0/3vDjDT/e8OMNP97w441UvJGKN1LxRireSMUbqXgjFW+k4g2/
cBIL51HsRfFTKF6C4lgUrkThwyIeHxXin0J8U4pvSuWzOfFBLLnPoL8Q/YXoL0R/IfpL0V+K/lL0
l6K/FP2l2FGKHaXYUYodpdhRih2l2FGKHaWMlXTrtUvmu/PiOtttzHFTIJ15bg5z3FyYB7SNxRWN
c90K5oxV1l7PI9Zpz3JYASthFZiwGrIgG3LgUVgDzI0e5kYPc6OHudHD3OhhbvQwN3qYGz3MjR7m
Rg/zood50cO86GFe9DAvepgXPcyLHubFaBe4wcOcJ2f208r2IGO8ijFexRivwm/ye3o3cg8zdqsY
u1WM3SrGbhVjtwrbg9gexPYgtgexPYjtQWwPYnsQ24PYHsT2ILYHsT2I7UFsD2J7ENuD2B7E9iC2
B7E9iO1BbA9iexDbg9gexPYgtgexPYjtQWwPYnsQ2+WcNcX6E97eh4d3N85ZUtGXoh+K8smvJP8C
vVFPb9TTG/WU/ZKyBmU9jBQ3SvswUtyo7RP+GVARPVRPD9WjMh+V+ajMR2U+KvNRmY/KfFTmozIf
lfmozEdlPirzUZmPynxU5qMyH5X5qMxHZT4q81GZj8p8VOajMh+V+ajMR2U+KvNRmY/KfFTmozJf
3ICSbPqmmL4ptqWLjvRPMQqmMwL+zgioRUkOStqFfzLTTv5kBiXPyZ9m0XfF9F0xfVdM3xXTd8Wo
ykZVNqqyUZWNqmxUZaMqG1XZqMpGVTaqslGVjapsVGWjKhtV2ajKRlU2qrJRlY2qbFRloyobVdmo
ykZVNqqyUZWNqmxUZaMqG1XZqMpmHE9R43gQKj4L/87pZqx+BqvfFh707kfvfrTuR1cbNLUh51n0
7EfPfvTsR89+9OwXum0x/brE+rvtYeuULYe4+Jl1xvas/Ek7V7+35Vi1QuP976IHJWptmUTEUsix
jtjWCMP2GLXXW9/YNsrnnFo/2J63fvCwv/Wwv/VcBVdDJ0iAROgMMyhzP8yEWTAb0mEOzIV58ADM
hwchAxbAQngIFsFiWAIPQyYshWXWD0rP91j6lW2F9TVaTto2WGdtfNMTU20LifaHYDFXM1G5FFZZ
B20mrIYsyBFtbGust2xPUi7PqrA9BU/DM7DJeh9973ts1j6PHRwQBTo4wQAXuMEDXvBBNLSAGGgJ
sdAKWkMbaAvtIA7ioT10sM7gwzP48Aw+PIMPz+DDM/jwDD484xlsHfQMgaEwDIbDCEiGkTAKboLR
MAZuhltgLIyDGei4H2bCLJgN6TAH5sI8eADmw4OQAQtgITwEi2Ax/D/i7j0+7rrO9/gvM8mknUy4
U8QbchFFVxEFXcH7siyuK94RdcXdFcRWqlQo0NYCVRSVSwG5FKUCUmoB22JjgUIbbsWWQErSTprp
JG1C05Bk+ss0SZPJtEC/5znZ6sE95zzO+eec88fr8ZuZzMzv+32/P7dvKO2luAyXYxZmh1VRtcjZ
RsVNVHwpcVsYFktXhxFxMh59ngtlLpQ5sJcDlQh7Sccp6Tgl7yhRuUzlsg5T0mFKOkxJhynpMCUd
pkT9MvXL1C9Tv0z9MvXL1C9Tv0z9MvXL1C9Tv0z9MvXL1C9Tv0z9MvXL1C9Tv0z9MvXL1C9Tv0z9
MvX3Un8v9fdSfy/191J/L/X3Un+vLlfS5Uq6XEmXK+lyJV2upMuVdLkSdcvULVO3TN0ydcvULVO3
TN0ydcvULVO3TN0ydcvULVO3TN0ydcvULVO3TN0ydcvULVO3LOcuFd2VXJxL0ytE99XRAdTuofZ2
au+KLqJxI40bRXq/d66ndQ+texKzPZ8bBnxqROTHIj8W+bHIj/nwGh8a+dDIh+HEDWGdDGiXAe0y
oF0GtMulF9SGP/OojUdtPGrkUSOPGnnUyKNGHjXyqJFHjTxq5FEjjxp51MijRh418qiRR408auRR
I48aedTIo0YeNfKokUeNPGrkUSOPGnnUyKNGHjXyqJFHPTzq4VEPj3p41MOjHh718KhHhsQyJJYh
sQyJZUgsQ2IZEsuQWIbEMiSWIbEMiWVILENiGRLLkJjHjTxu5HEjjxt53MjjRh438riRx208buNx
G4/beNzG4zYet/G4jcdtPG7jcRuP23jcxuM2HrfxuI3HbTxu43Ebj9t43MbjNh63RVM52MvBXg7u
5vfTXNzFuTzndnKuyLki54qcK/I/w/8V3Iu5Fyeu9dr1nJ4flnKwn4P9HOznYD8HBzk4LE7WcLGL
i11cjLkYczHmYszFmIsxF3u52MvFXi72crGXi71c7OViLxd7udjLxV4u9nKxl4u9XOzlYi8Xe7nY
y8VeLvZysZeLvVzs5WIvF3u5VORSkUtFLhW5VORSkUtFLhW5VORSkUtFLhW5VORSkUtFLhW5FHMp
5lLMpZhLMZdiLsVcirnUxaUuLnVxqYtLXVzq4lIXl7q41MWlLi51camLS11c6uJSF5e6uNTFpS4u
dXGpi0tdXOriUlf0Pi6VuFSayMb/dGGUC8NcGOZAiQOVc9MwdYepO0zdYeoOU3eYuiXqlqhbom6J
uiXqlqhbom6JuiXqlqhbom6JuiXqlqhbom6JuiXqlqhbom6JuiXqlqhbom6JuiXqDFNnmDrD1Bmm
zjB1hqkzTJ3h6F0qw6sqw6uyP9bP04lr7eI6u5hYvce3YYF+f4e+/SZT3ZvxFrwVR+FtOBrH4Dzv
OR/fwQX4LkyQtB6n9Titx2k9TutxWo/TepzW47Qep/U4rcdpPU7rcVqP03qc1uO0Ho++S+t+Wvdb
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
pKJepKJepKJepJqerpqerpqerpqerpqerpqmVdO0appWTdOqaVo1TaumadU0rZqmVdO0vtup73bq
u536bqe+26nvduq7nVHl9x1LcD8ewKroSJX3SP23qP8W9d+i/lvUf4v6b1H/Leq/Rf23qP8W9d+i
/lvUf4uq9QzVeoZqPSPqc5btxwAK2IkYgyhiF4YwjJFwu8q+WGVfrLIvVtkXq+yLVfVZqvosVX2W
qj5LVZ9lps+Z6XNm+pyZPmemz5npc2b6nJk+Z6bPmelzZvqcmT5nps+Z6XNm+pyZPmemz5npc2b6
nJk+Z6bPmelzZvqcmT5nps+Z6XNm+pyZPmemz5npc2b6nJk+Z6bPmelzZvqcmT5nps+Z6XNm+pyZ
Plf1+WhK1RfwRXwJX8avQ1YnyupEWZ0oqxNldaKsTpTVibI6UVYnyupEWZ0oqxNldaKsTpTVibI6
UVYnyupEWZ0oqxNldaKsTpTVibI6UVYnyjpLNDhLrHaWWO0ssdpZYrWzxGpniQZniQZniQZniQZn
iYaqF6J0VTM24MUorYtldLGMLpZJnFr5f1Rd/8H1zHClbnaWbnbWRDf7RogT52Gq7va6rpaYHmKd
7aM62zSd7aM62zRn8fnJi8PS5OPh6WRjdEDyKd3vRef5Vuf0TdERulxBl0sm253v/7PT1eh0x038
HZMFr+/UeS6JMrpcRpfL6HIZXS6jy2V0uYwul9HlMrpcRpfL6HIZk3TBJF0wSRdM0gWTdMEkXTBJ
F0zSBZN0wSRdMEkXTNIFk3Sh+vZQrF6AO/Br/AZ3YiF+i7vC6Trn6Trn6c5dDc5dDc5dDbpoWhdN
66JpXTSti6Z10bQumtZF07poWhdN66JpXTRtziyaM4vmzKI5s2jOLJozi+bMojmzaM4smjOL5syi
ObNozixWj4W4uoRxlLEHe/EKXoWc0Jln6cyzdOYLdOaszjzD+S/n/Jdz/ss5/+Wc/3LOfzmnhLxT
Qt4poeCUkNfBT6/ZEYpOCnknhbxOfoFOfkGNNdVYk45+uo6ecWrI1+zzPIRiKkIVEkhGGZ0+40SR
d6LIO1HknSjyOn9G5884WeSdLPKpN3vvW3Cs197u+fFQa50y8iaD000GmdT7/FwMmg4OderImxBO
NyFknDzyTh55J4+8k0feySPv5JE3OVxgcrjA5HCByeGClDqaUkdT6mjqYlyCmWGqaWKqaeIi08RF
pojTnWdzJomsSSKb+u3E38g0JfUQ/jTxtzJNST3r2hIaTBnZFC+de3Op8WiKiSNr4siaOLImjqyz
cIOzcIOz8Gpn4dUmkKzz8Grn4Yba06K0M3GDc0HRuaDoXFB0Lig6F3SaUhY7FxSdC4qmlRmmlRm1
/xri2m/i3DDL+aBYe6HHcqr2+/gBLsIM3/lD2JezQ6ezQ9HZoejsUDThpE04aWeIojNEsfaX3n/t
xN8qWDT1pJ0nis4TReeJovNE0RQ0yxSUNgUd6VxRNAnNMgmlnS2KzhZFZ4uis0XR2aLobFE0Ic0w
Ic0wIc0wIc2o3eG7e/Ey1Ppatd7UdLup6XZT02JT02LT0izT0gzT0mLT0izTUtpZP+esn3PWzznr
55z1c876OWf9nLN+zlk/56yfc9bPOevnnPVzzvo5Z/2cs37OWT/nrJ8zdWVNXVlTV9bUlTV1ZU1d
WVNX1tSVNXVlTV1ZU1fW1JU1dWVNXVlTV9bUlTV1ZU1d2Unvt6YP4MOhYdKp+Jbv/rbn5+F8fMdr
F7h+F1MxDT8IBRNa1oSWNaFlJ13lM/O9/nvvXRJWT7rf4wcwFnKTo2iKCS472d4mHxoaJh8epdNf
Cj3pL+NsnBPOMtmdlf5Xjy8PcXoW5uAvk948j3+Ka6KMiS9j4suY+DImvoyJL2Piy5j4Mia+jIkv
Y+LLmPgyJr6MiS9j4suY+DImvoyJL2Piy5j4Mia+jIkvY+LLmPgyJr6MiS9j4suY+DImvoyJL/P/
ceLL/M3Ed3h0Q/hI1bnRZ6v+LfpS1b9Hl1f9R/SPVd+OPlJ1XvTVxJnROYmp0dnJr4RPJc8Jn0w+
FhYnG8Nnk9vDc2bDw5IqXPLlcFOyP6xLDkRvShact3aGUnRUdMO+Z6IHw8Zobdjo2z+2/2+D/aBv
f7dvf7dv/0TV1FDSW3vdxWnOqewr4VR3+ai7zEyuDo8n16BxX5x8MqzU49qTT4dnk8+EG9z9ancu
J3tDn7uf6u7z3T3p7r9192eiSckNYVGyxZqc5JMbw7eTm8KqZNanNocOXXGrOfXB8Gdr+7N3fk3v
3ODdt3v3nOTGffu8+x7v/rQ+utInLvOJX0/83Y4nWu1c3fwtuvenE5/VyaeGqYnvR8nEA+bkZ8J/
JNaFBYlt0SmJMR35sOjA5InhvuTqKKNLn2gHf3Sndc6jyeRGZ8228Cddusa377OjrE49Z3+nTu4/
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
VWoXOq/7u3M3/6qkFyqfyrl260OJsIfVuoTH6mHPfZdzpdxaVTXS7omOh6Lj0eh48n+yrpkZHZtF
x3bRsfvFraiZc3EvazW8+Lxu/GL7ej0vPq9faBQyMgqdZxY631PofG+h8x8LneddfN6gxO+yzAkN
UwqdN7zYvmGjQueFyzsUOu9U6LzzxaPYuIOjdZHp7z2hBnkLWW37uf+Um6nzlBcUDy7lXlFCxZLb
29zkdnar3Wy3OE3M+8n7ydmd9E4qzzvlnVLa+8X7RRnb0rZUvr3OXufum5IP2rQ2Ml5al9AlnUb+
gshKe0wxV7OuOy/ldiMj1UKVq46o816Ka0Oia1VKclelk9sld3Nsn3yjo/SuuFuT09xuId3teZra
75XRxV2b/sYx17qdli7pzn/gmGv3K+3OvnDMtYccd7i+Soamqkr2iGvrZlf6F4659ht33OLOv+WY
+zvLo5HlXyPLY5Hld5HlP9rbkfZ2or3X095/lHSm5AZKuvy+xO6khR/Twl208B8leyjZS8k+SrRK
0O4/N82KavnmdnFd3EW1pIuqSW6T3NZFfbPdrGKuTVtcpIySO75neMPk/q/u6k91vZrqTi/xLlGT
vVSvvJrCv2c5zevl9VYPekO9YWoG/4Zljnevl60e9nK8HPWoN997Ws3xfvZ+Vo95Z72z6nHvN+83
NU9SQz2hYzqmntTJOlk9pS/Vl6r5upQupZ7WZXVZtUBfqa9Uz+gauoZaqNN1F7VIZ+vRapMeq8eq
zW71n6De13/Sk9QWPU1PU1v1dD1dbdPz9DyVq5/ST6ntepk+oHaYYi5rLphMk6nippXJUgWmvWnv
abPILPKMn+0/5/lB/6C/lxEMDAZ6DYI7gzu9zOCu4C7vqmBUMMprGIwORntXB2ODsV6j4LPYDK9x
kRuL9PVOFJle1PPiycWTW+vxybcmL9avFhtQbIg+XWxysVn6vNU20STairaiucReaa80xW0VW8Vc
aqvZaqaErWFrmMtsLVvLpNg6to4paevZeqaUrW/rm8ttps00pW1D29CUsY1sI5Nqm9gmpqxtapua
craZbWbK2xa2halgW9lW5gqbZbNMmm1n25mKto/tYyrJPylsrrSD7CBT2Q62g00VO8wOM1XtPfYe
U83ea+811e1oO9rUsGPtWFPTjrfjTS072U42te399n5Txz5oHzR17Qw7w9SzOTbHpNtH7COmvn3U
Pmoy7GP2MdPAzrPzTKZ90j5prrLz7XzT0C6wC8zVdqFdaBrZxXaxaWyX2CWmiV1ql5pr7DK7zDS1
L9oXzbV2uV1umtkVdoVpblfalaaFXW1Xm5b2dfu6aWXftG+a6+xb9i2TZd+x75jWdp1dZ9rY9Xa9
aWs32U2mnX3fvm/a2w/sB6aD3Wa3mY52u91uOtkP7YfmevuR/ch0tp/YT8wNdrfdbbrYT+2npqv9
zH5mutnP7efmRnvAHjDd7UF70PSwX9ovzU32z/bP5mb7k/3J9LQn7Ulziz1lT5le9ow9Y261Z+2v
prdL3r6sX4qVy/POe+fdKlbgFbjVI9BuH8A8C5hnMeZZgk7VqSpRV9KVVJKurqurIqadW92KBv2C
fio5GBAMUMWCQcEgZYPBwWB1STAyGKmKB9lBtro0GBOMUSVsmk1Tl9lKtpKb45VtZVXSVrVVVSlb
3VZXl9uatqYqbWvb2qqMrWvrqlSbbtP5nfoGqpy9yl6lytur7dWqgm1sG6sr7DX2GpVmr7XXqoq2
uW3uVitZf69k/a1s29q2qoq9zd6mqtr+tr+qZgfagaq6vdPeqWrYoXaoqmmH2+Gqlh1hR6jaNttm
qzp2jB2j6tpxdpyqZyfZSSrdTrFTVH07zU5TGXa6na4a2Jl2psq0s+wsdZWdbWerhnaunauuto/b
x1Uj+4R9QjW2T9mnVBP7tH1aXWOfsc+49XqRXaSutc/aZ1Uz+5x9TjW3z9vnVQv7gn1BtbQv2ZdU
K/uyfVldZ1+xr6gsu8quUq3ta/Y11ca+Yd9Qbe0au0a1s2/bt1V7u9auVR3su/Zd1dFutBtVJ9a/
61n/Oru1c6u6wa2duaqL3eFWz652p1ttu9mP3Wp7o93lVtvudo9bZXvYvW6Vvcnuc6vszXa/u2f0
tF+4e8Yt9pC7Z/Syh+1hdSu/Ed/bnrAn1G32Z/uz6mNP29PqdvuL/YX3XuH+ylOZrLU1XG4F3m3e
bU490BuoPP8d/x2lY/mxfGUSmyU2c+vwfyb73Br43+z7b/ZF2ZdK9tWUpy3vrtiX/82x/+bYfyjH
vGCIe54v7lXSmaaN31OVU01UK9VBdVO93H5hiHt+n+CeLHPUY2qBWqpWqDfUu2qL2qn2qkPqG3Vc
nXJP9sqLeclJ45RJGpWUnTSe4+ikCRzHJN3HcWzSn9wx20mTOGYnTeY4OmkKxzFJ93Mcm/SAO452
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
5kY/Y5PkRsm+Y+tHxsX1rubuHtY3umLMl3aqGBYb4967Z5S21r1339jw/mFx/dy/NqPWirwRoVdW
hF2M7XR6GJiiyDAWmhmbGht/WTaSsTVMJxg4cOCPThDR9784cpzRWrvekoJilL4ckur/MCCp1kvq
9di7b8HoEKeo861u+xS6U2JusVoOvnvNf92eVLhl0vBdbVu+jmj2du2s6xHGxEVZJXMcn4Z372Ib
FtfLPq720FPv79dqWbh85/Sj9jsblFjYKebzkecVPDcoib2mTy59vb0aWdNQbfkeweXXm7uLW4/I
q3vwzaEjtZ+lbm+0x9AkcVSd4D39Fh7Mzi3TbFB7ZZLfJmmS9+NnnfLbHze30c10vzHvfFrMph0T
bjklrDuzy2lKWuyVkaH33r9sfdI/yWlkzKFTt+u1kN/q3pSe0XTI0Tr+2XP878xYd+qET9TMpTfj
P1Rs29Il8frMgDj9wSWuk4aEbgu/rnMa33i6+8CRiwdnJTV5kLTBYd2xof1S5gGMPQUYu/A7jGGp
wuB1lwf/tEx7JTos/RHGBv8jYFHCWLxg0Dt8uz08wjkoqnsvOOqfgKxSZa9vgUxbNI4c9Z8AMtPu
9C92/5fANC031ntXJt1R5lLDs4tDdqY0zAmzrVXxY6NzR58+Ozp3Y6nA/nuunTTX2VgujbZfsL9L
81YJ95q3uDLx1KKQlIHWiUWWPzPEZS9vM/hRmeygcxuHhN1+N2N26tOrjT5E13xTctzm3dJhYfmk
oWMaDygS0nCV/aEhoePTDnitymkXezhMnt7EONLxp1sjhgZsaRTTZVCR9duyZ1m3fLHjbPOq9/vd
bOxfw2bVbEPVk+MDMzuerf5yUvcnxq4rmwcn1d+TUWLnfvPLfhZJ85u/DFw8etW9+ctrXlryQrJr
vOLTRv+UOarfvpc2b1D6hsaXOuT7XE6wdBN31icBLmhWybXDvHqNjlztbOdTJr/IYouNKV+AqSt4
pOOPBir9Bq0S8iWPJ6VOPYg5OnXqjhkTFtuFAGkFapstBcCLpQ2NDf7YPp5GD21RtC7n6eFV1au8
sbKxSlVPL6Obh3e3ELfKYd5Gt1Dv0G5uVcMrhXqEhRu9qvpU/g4AT1g+On5ui207fKxKRU9b2x3N
EqVixjYFABhgBAhMBggc6/vfAkDoy9CToRN3Mfq4eXq4VTJ6GDkEBn8Dgf5GAMFvILDW34PAvzh2
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
o3sZ/ZN7lNssxAmvTgXTdfwri9PmmmlzUrCqn/qDjDA0UKkg0X3Smn+Yg1xBszYx01+S5e6/otXv
Y+cZoAnyhT0lCLImyE3Cb+8cyosJ733uWVFor3ZyY7DPskBxMt8roUqlnNTCp5HGc4K8Qe+qtlC3
nLBYdEY04jjZeDcjHC2WDmaO6pny9MO7eODOR6MM8CYdWH9zOgWLI7e99pZE3GIS4j+6M7KmFNqq
x6i0GpgvbsholJgPRQsbOWDlzb1z44oyX32oZ1oiTsYQcbRiAI5W+NtvxADiaLmoQ7u3sjLmh1nA
99vF23LyBMC7PSVZvrW9aagf/tsMFNy11RFRBkFQSV5Znio2f8zIj3vqw+AOzxA+dQ27BEnSJBZF
8cw/8HozV06xqd+5ZN3EFxoaJSJ1mseFQgk6hiuMoJHzm5e0QFj6NlebxOSomlVVMLxjLlE1oVRE
5VTO70pftanMUl0OyTh60VzgrusilF1t15KJbRyn5bX7ifOH87lPtSdfz35J4KqvT7mX/ulnSaV1
CSM0OqnMsvNFWNCM6Tr9TagYv1Sk7+Ity5yblh7cTG5tnLOG42lK3aBV/Y7DR3N7fKomjSNwUCNB
pk4GM+FgZ31tbrN82shb/ceTySMPaGsnPad7LV4OBre4Vd6+JWfShhHIscJZuoZrJWp1LapoaK5J
BTnfTwTyDuqnUIhSh1hEG4kwPc9QWnyobd9BrhElek2DqGt4wr8BS/OA7A0KZW5kc3RyZWFtDQpl
bmRvYmoNCjUxMiAwIG9iag0KWyAwWyA1MDddICAzWyAyMjYgNTc5XSAgMTdbIDU0NCA1MzNdICAy
NFsgNjE1XSAgMjhbIDQ4OF0gIDM4WyA0NTkgNjMxXSAgNDRbIDYyM10gIDQ3WyAyNTJdICA2MFsg
NTIwXSAgNjJbIDQyMF0gIDY4WyA4NTUgNjQ2XSAgNzVbIDY2Ml0gIDg3WyA1MTddICA5MFsgNTQz
XSAgOTRbIDQ1OV0gIDEwMFsgNDg3XSAgMTA0WyA2NDJdICAxMTVbIDU2NyA4OTBdICAyNThbIDQ3
OV0gIDI3MVsgNTI1IDQyM10gIDI4MlsgNTI1XSAgMjg2WyA0OThdICAyOTZbIDMwNV0gIDMzNlsg
NDcxXSAgMzQ2WyA1MjVdICAzNDlbIDIzMF0gIDM2NFsgNDU1XSAgMzY3WyAyMzBdICAzNzNbIDc5
OSA1MjVdICAzODFbIDUyN10gIDM5M1sgNTI1XSAgMzk1WyA1MjUgMzQ5XSAgNDAwWyAzOTFdICA0
MTBbIDMzNV0gIDQzN1sgNTI1XSAgNDQ4WyA0NTIgNzE1XSAgNDU0WyA0MzMgNDUzXSAgNDYwWyAz
OTVdICA4NDVbIDQ2M10gIDg1M1sgMjUwXSAgODU5WyAyNTBdICA4NzZbIDM4Nl0gIDg4MlsgMzA2
XSBdIA0KZW5kb2JqDQo1MTMgMCBvYmoNClsgMjI2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAyNTAg
MzA2IDAgMzg2IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDQ2MyAwIDU3OSA1NDQgNTMz
IDYxNSA0ODggNDU5IDYzMSA2MjMgMjUyIDAgNTIwIDQyMCA4NTUgNjQ2IDY2MiA1MTcgMCA1NDMg
NDU5IDQ4NyA2NDIgNTY3IDg5MCAwIDAgMCAwIDAgMCAwIDAgMCA0NzkgNTI1IDQyMyA1MjUgNDk4
IDMwNSA0NzEgNTI1IDIzMCAwIDQ1NSAyMzAgNzk5IDUyNSA1MjcgNTI1IDUyNSAzNDkgMzkxIDMz
NSA1MjUgNDUyIDcxNSA0MzMgNDUzIDM5NV0gDQplbmRvYmoNCjUxNCAwIG9iag0KPDwvRmlsdGVy
L0ZsYXRlRGVjb2RlL0xlbmd0aCAyMzQ+Pg0Kc3RyZWFtDQp4nF2QTWrEMAyF9z6FltPF4MRdtItg
aKcUsugPTXsAx1ZSQ2MbxVnk9pU9wxQqsOGh94knyVP/1AefQb5TtANmmHxwhGvcyCKMOPsg2gac
t/mi6m8Xk4RkeNjXjEsfpii6DuQHN9dMOxweXBzxRsg3ckg+zHD4Og2shy2lH1wwZGiE1uBw4kEv
Jr2aBUFW7Ng77vu8H5n5c3zuCUFV3Z7D2OhwTcYimTCj6BouDd0zlxYY3L++OlPjZL8NFff9HbtV
o5Qu6rGtqr2t7MVVppRlrxHtRsTp6kVqrBLIB7weLcVUqPJ+AYpQcd8NCmVuZHN0cmVhbQ0KZW5k
b2JqDQo1MTUgMCBvYmoNCjw8L0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGggNDExMTkvTGVuZ3Ro
MSAxNzcxNDg+Pg0Kc3RyZWFtDQp4nOydCWAURdr3n6runnsmMyF3hkwnQ6JkgEAOCCEmkxMwIoEE
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
NZLk/woMzkEq9BF9hagkZazKIqOtv74SJlP5wRbVPKb97tgn4Hc86Lf4DQplbmRzdHJlYW0NCmVu
ZG9iag0KNTE2IDAgb2JqDQpbIDBbIDc1MF0gIDEzNVsgMzUwXSAgMTc3WyA1NTZdIF0gDQplbmRv
YmoNCjUxNyAwIG9iag0KPDwvVHlwZS9YUmVmL1NpemUgNTE3L1dbIDEgNCAyXSAvUm9vdCAxIDAg
Ui9JbmZvIDE2NSAwIFIvSURbPDYyMjJBQTlDQjNGMzEzNDA5RkI4QTVEQUE5QUM3MEE4Pjw2MjIy
QUE5Q0IzRjMxMzQwOUZCOEE1REFBOUFDNzBBOD5dIC9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3Ro
IDEyMjA+Pg0Kc3RyZWFtDQp4nC3We3xPdRzH8d/n/MaE5FLmssgy1sxGKbnbFpPbogtCLrvE3Cli
YS6bS6OZ3OaWS6NQLskt5LJM9yblEiLKaBbKPeu39+v4w/Nx9rudcz7fc17H4/H9Kyoy3/8VPJ5i
JkC+sKvCOx42C7+eokQHSBH+bUTpWFFmsqjYS1RiKyhD1D4ugoeJOrdF/XgRPlu0rCoieUtUKRHN
LrWfITosEd3Wip5BsEP0Zq8T8kQinxvlFaObw1ExNkZMHQP3RGo12CXSSsANMb2RmHlCzI6CkyLD
RGaimMs5W3lMrLovsuPEmkliJ+dlF8ewhwHsjRB5zcSRHuL8CnHhkLgYJvJbiJsh4lZncWebuKtj
tzI6E1b2nCifJCosFgHjRBWotl8EBopal0RQgaizXNTVXlvoKRGm82nhA0TENNGKb4n0E201cItZ
LTry1R2zYLvo1BU0Tes8R3TZK/qEir78Qlw50IwsKUAMmSiGar3YMJ0sG1EkRmplWfIyMdEfskVK
upi8RUxZKFL3iTRI14htVo7ITBbzzov5U8TCFnBaZJUUS4aLpVqmtn632HBBbNQlY5sGiYNLRQ6/
kKu522FdQHaC107y2ul64gwfv8bEri8oxvFq0o7fHeGv68gppQXtVNYZdAK2ihr6WaemxuHUXiSC
dcU5IVdEaLiI0FScBjpap3GuaLJORCWI6FmizU0RU0V06y56NBX9qov+DUW8LnsnoVAMZM+SWotB
vkNxfDed9dYROkFn4XkA3LfE+j4w+Ky75fEDLxg4UAr8oQSUhMehNN/5AlsPQlkoA0FQEcpBBSgP
D0EAVILK8Ag8DIFQBapDNagKteBReAxqQg3oC7XZ+S5shcITEAx1oC6EQD0Ih/oQBo0gAp6CJ6EB
NISm8DQ0gWfhGWgMraEZtIKW0BxaQFuIhDbwHERBNLBQPDHQAdpDO3geugJLyuOeLHfg7gKLhRfh
JXgZXoFu0B1egx7QG3rBq9AT+kA29GNi7i7FQxz0hw9gNQyEREiAAfA6DIOhMAiSYAgMhjdgBAyH
UTASxsPbMBrehGQYA2/BWBgHk2EiTIBJkALTYRpMhSmQBqkwG2bCDJgF70A6rIK5kAHvQibMgYUw
D96DBTAflkIWLIIlsBhWwnJYBivgffgH1jBwd2V9BB/CWvgE1sHHsAHWw1bYCJ/CFtgEm+Ez2AHb
YRvshN3wOeyC/bAH9sEXsBdy4QAcgi/hIOTAd3AYvoVv4Cv4Gn6C7+EI5MEP8COcgKNwHI7Bz/AL
/AYn4Qychl/hFPwBZ+ECnIdz8Dv8CRchHy7BZfgLrkEBXIW/4QoUwnWWhnvz/5ct995zC27CDV6j
D+a24z+4A7fhHtzlnW4Gi+A+fySR5saUNhoVNSpqJNIIphFFI8JGU41EmptPSmkk0qihUUqjlEYp
jUQaNTRKaZTSKKXRB6ONxl3Y6J/RP6OiRiKNkhgJMYpnVNTIp1FDI+VG+83NJ+Ez2miU0kikEVMj
rUYGjW4a3TRqaATTSKQRPiOmRkWNKBrBNMJndNPoppFII61G1Yx8GiEy+mfU0CilET6jeEb/jHwa
+TRKaW19k5/Ko1hau2K8l7uIAj08e6/ouc5beKAYvwzfk/j/D6wcVQ0KZW5kc3RyZWFtDQplbmRv
YmoNCnhyZWYNCjAgNTE4DQowMDAwMDAwMTY2IDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0K
MDAwMDAwMDEyNiAwMDAwMCBuDQowMDAwMDAwMjMzIDAwMDAwIG4NCjAwMDAwMDA0OTcgMDAwMDAg
bg0KMDAwMDAwMDg5MyAwMDAwMCBuDQowMDAwMDAwOTQ2IDAwMDAwIG4NCjAwMDAwMDExMTUgMDAw
MDAgbg0KMDAwMDAwMTM1NSAwMDAwMCBuDQowMDAwMDAxNDA4IDAwMDAwIG4NCjAwMDAwMDE4NjEg
MDAwMDAgbg0KMDAwMDAwMjYzOSAwMDAwMCBuDQowMDAwMDAyOTQ2IDAwMDAwIG4NCjAwMDAwMDQ3
MDAgMDAwMDAgbg0KMDAwMDAwNDk5NCAwMDAwMCBuDQowMDAwMDA4ODQ4IDAwMDAwIG4NCjAwMDAw
MDk0MzMgMDAwMDAgbg0KMDAwMDAwOTU4MyAwMDAwMCBuDQowMDAwMDA5OTc3IDAwMDAwIG4NCjAw
MDAwMTE2MjAgMDAwMDAgbg0KMDAwMDAxMTkxOCAwMDAwMCBuDQowMDAwMDE1ODk3IDAwMDAwIG4N
CjAwMDAwMTY3NTEgMDAwMDAgbg0KMDAwMDAxNjkwNCAwMDAwMCBuDQowMDAwMDE3Mzg1IDAwMDAw
IG4NCjAwMDAwMTkwODEgMDAwMDAgbg0KMDAwMDAxOTM1NiAwMDAwMCBuDQowMDAwMDIyNDQwIDAw
MDAwIG4NCjAwMDAwMjMzMzAgMDAwMDAgbg0KMDAwMDAyMzQ4MSAwMDAwMCBuDQowMDAwMDI0MDQ5
IDAwMDAwIG4NCjAwMDAwMjYwNjYgMDAwMDAgbg0KMDAwMDAyNjM0NSAwMDAwMCBuDQowMDAwMDI5
NDQzIDAwMDAwIG4NCjAwMDAwMzAyNjggMDAwMDAgbg0KMDAwMDAzMDQyMSAwMDAwMCBuDQowMDAw
MDMxMDQ3IDAwMDAwIG4NCjAwMDAwMzM5MTEgMDAwMDAgbg0KMDAwMDAzNDA0NCAwMDAwMCBuDQow
MDAwMDM0MDc0IDAwMDAwIG4NCjAwMDAwMzQyMzUgMDAwMDAgbg0KMDAwMDAzNDMwOSAwMDAwMCBu
DQowMDAwMDM0NTUwIDAwMDAwIG4NCjAwMDAwMzQ4NjggMDAwMDAgbg0KMDAwMDAzNTU0NiAwMDAw
MCBuDQowMDAwMDM2NDE4IDAwMDAwIG4NCjAwMDAwMzY1NzEgMDAwMDAgbg0KMDAwMDAzNjg2NSAw
MDAwMCBuDQowMDAwMDM3NDc4IDAwMDAwIG4NCjAwMDAwMzc3NTcgMDAwMDAgbg0KMDAwMDA0MTY4
OCAwMDAwMCBuDQowMDAwMDQxOTgyIDAwMDAwIG4NCjAwMDAwNDI1OTUgMDAwMDAgbg0KMDAwMDA0
Mjg4MSAwMDAwMCBuDQowMDAwMDQ3NzQ2IDAwMDAwIG4NCjAwMDAwNDgwNDAgMDAwMDAgbg0KMDAw
MDA0ODY1NyAwMDAwMCBuDQowMDAwMDQ4OTQzIDAwMDAwIG4NCjAwMDAwNTM4MTkgMDAwMDAgbg0K
MDAwMDA1NDEwNSAwMDAwMCBuDQowMDAwMDU4NTI5IDAwMDAwIG4NCjAwMDAwNTg4MjMgMDAwMDAg
bg0KMDAwMDA1OTQzNiAwMDAwMCBuDQowMDAwMDU5NzA5IDAwMDAwIG4NCjAwMDAwNjMyNzIgMDAw
MDAgbg0KMDAwMDA2MzU2NiAwMDAwMCBuDQowMDAwMDY0MTgzIDAwMDAwIG4NCjAwMDAwNjQ0NjYg
MDAwMDAgbg0KMDAwMDA2ODU5MyAwMDAwMCBuDQowMDAwMDY4ODM0IDAwMDAwIG4NCjAwMDAwNjk3
MzggMDAwMDAgbg0KMDAwMDA3MDA0MyAwMDAwMCBuDQowMDAwMDcxNTQ2IDAwMDAwIG4NCjAwMDAw
NzE4MDIgMDAwMDAgbg0KMDAwMDA3MjM4NiAwMDAwMCBuDQowMDAwMDcyNzMyIDAwMDAwIG4NCjAw
MDAwNzQyMTggMDAwMDAgbg0KMDAwMDA3NDQ3NyAwMDAwMCBuDQowMDAwMDc1NDIzIDAwMDAwIG4N
CjAwMDAwNzU2NDkgMDAwMDAgbg0KMDAwMDA3NjUwOSAwMDAwMCBuDQowMDAwMDc2ODAzIDAwMDAw
IG4NCjAwMDAwNzc0MTYgMDAwMDAgbg0KMDAwMDA3NzcwMyAwMDAwMCBuDQowMDAwMDgxODU4IDAw
MDAwIG4NCjAwMDAwODIxODAgMDAwMDAgbg0KMDAwMDA4MzYwMCAwMDAwMCBuDQowMDAwMDgzODc2
IDAwMDAwIG4NCjAwMDAwODUwMjAgMDAwMDAgbg0KMDAwMDA4NTE0NiAwMDAwMCBuDQowMDAwMDg1
MTc2IDAwMDAwIG4NCjAwMDAwODUzMzAgMDAwMDAgbg0KMDAwMDA4NTQwNCAwMDAwMCBuDQowMDAw
MDg1NjQ5IDAwMDAwIG4NCjAwMDAwODY0NjMgMDAwMDAgbg0KMDAwMDA4OTg5OCAwMDAwMCBuDQow
MDAwMDkwMjE2IDAwMDAwIG4NCjAwMDAwOTA4OTQgMDAwMDAgbg0KMDAwMDA5MTEzMiAwMDAwMCBu
DQowMDAwMDkyNjk1IDAwMDAwIG4NCjAwMDAwOTM1NjcgMDAwMDAgbg0KMDAwMDA5MzcyMSAwMDAw
MCBuDQowMDAwMDk0MDQxIDAwMDAwIG4NCjAwMDAwOTQ3MTkgMDAwMDAgbg0KMDAwMDA5NDk2OSAw
MDAwMCBuDQowMDAwMDk3MTgyIDAwMDAwIG4NCjAwMDAwOTgwNTUgMDAwMDAgbg0KMDAwMDA5ODIx
NCAwMDAwMCBuDQowMDAwMDk4NDQ0IDAwMDAwIG4NCjAwMDAwOTg5OTUgMDAwMDAgbg0KMDAwMDA5
OTIyNCAwMDAwMCBuDQowMDAwMDk5Nzc3IDAwMDAwIG4NCjAwMDAxMDAwMzMgMDAwMDAgbg0KMDAw
MDEwMTU5NCAwMDAwMCBuDQowMDAwMTAxODI5IDAwMDAwIG4NCjAwMDAxMDMwMzUgMDAwMDAgbg0K
MDAwMDEwMzkwOCAwMDAwMCBuDQowMDAwMTA0MDY3IDAwMDAwIG4NCjAwMDAxMDQ1MDkgMDAwMDAg
bg0KMDAwMDEwNDY3MCAwMDAwMCBuDQowMDAwMTA0OTY2IDAwMDAwIG4NCjAwMDAxMDU1ODQgMDAw
MDAgbg0KMDAwMDEwNTg2NSAwMDAwMCBuDQowMDAwMTA5NzU3IDAwMDAwIG4NCjAwMDAxMTAwNTMg
MDAwMDAgbg0KMDAwMDExMDY2NyAwMDAwMCBuDQowMDAwMTEwOTU1IDAwMDAwIG4NCjAwMDAxMTU4
NjkgMDAwMDAgbg0KMDAwMDExNjE2NSAwMDAwMCBuDQowMDAwMTE2NzgzIDAwMDAwIG4NCjAwMDAx
MTcwNzEgMDAwMDAgbg0KMDAwMDEyMTUwMSAwMDAwMCBuDQowMDAwMTIxNzk3IDAwMDAwIG4NCjAw
MDAxMjI0MTEgMDAwMDAgbg0KMDAwMDEyMjY5OSAwMDAwMCBuDQowMDAwMTI3NjEwIDAwMDAwIG4N
CjAwMDAxMjc4OTUgMDAwMDAgbg0KMDAwMDEzMjA1MCAwMDAwMCBuDQowMDAwMTMyMzQ2IDAwMDAw
IG4NCjAwMDAxMzI5NjQgMDAwMDAgbg0KMDAwMDEzMzIzOSAwMDAwMCBuDQowMDAwMTM2NzQ2IDAw
MDAwIG4NCjAwMDAxMzcxNDEgMDAwMDAgbg0KMDAwMDEzODg1OSAwMDAwMCBuDQowMDAwMTM5MTcy
IDAwMDAwIG4NCjAwMDAxNDA0NDEgMDAwMDAgbg0KMDAwMDE0MDY4NiAwMDAwMCBuDQowMDAwMTQx
NTUwIDAwMDAwIG4NCjAwMDAxNDE4NzAgMDAwMDAgbg0KMDAwMDE0MzE4NiAwMDAwMCBuDQowMDAw
MTQzNTg4IDAwMDAwIG4NCjAwMDAxNDUzNTIgMDAwMDAgbg0KMDAwMDE0NTgzNSAwMDAwMCBuDQow
MDAwMTQ4MDY5IDAwMDAwIG4NCjAwMDAxNDgzNjUgMDAwMDAgbg0KMDAwMDE0ODk4MyAwMDAwMCBu
DQowMDAwMTQ5MjcyIDAwMDAwIG4NCjAwMDAxNTM0MzIgMDAwMDAgbg0KMDAwMDE1MzkxNCAwMDAw
MCBuDQowMDAwMTU1OTMxIDAwMDAwIG4NCjAwMDAxNTYyMDkgMDAwMDAgbg0KMDAwMDE1Njg4OSAw
MDAwMCBuDQowMDAwMTU3MTY3IDAwMDAwIG4NCjAwMDAxNTc5OTQgMDAwMDAgbg0KMDAwMDE1ODI3
MiAwMDAwMCBuDQowMDAwMTU4NjE1IDAwMDAwIG4NCjAwMDAwMDAxNjcgNjU1MzUgZg0KMDAwMDAw
MDE2OCA2NTUzNSBmDQowMDAwMDAwMTY5IDY1NTM1IGYNCjAwMDAwMDAxNzAgNjU1MzUgZg0KMDAw
MDAwMDE3MSA2NTUzNSBmDQowMDAwMDAwMTcyIDY1NTM1IGYNCjAwMDAwMDAxNzMgNjU1MzUgZg0K
MDAwMDAwMDE3NCA2NTUzNSBmDQowMDAwMDAwMTc1IDY1NTM1IGYNCjAwMDAwMDAxNzYgNjU1MzUg
Zg0KMDAwMDAwMDE3NyA2NTUzNSBmDQowMDAwMDAwMTc4IDY1NTM1IGYNCjAwMDAwMDAxNzkgNjU1
MzUgZg0KMDAwMDAwMDE4MCA2NTUzNSBmDQowMDAwMDAwMTgxIDY1NTM1IGYNCjAwMDAwMDAxODIg
NjU1MzUgZg0KMDAwMDAwMDE4MyA2NTUzNSBmDQowMDAwMDAwMTg0IDY1NTM1IGYNCjAwMDAwMDAx
ODUgNjU1MzUgZg0KMDAwMDAwMDE4NiA2NTUzNSBmDQowMDAwMDAwMTg3IDY1NTM1IGYNCjAwMDAw
MDAxODggNjU1MzUgZg0KMDAwMDAwMDE4OSA2NTUzNSBmDQowMDAwMDAwMTkwIDY1NTM1IGYNCjAw
MDAwMDAxOTEgNjU1MzUgZg0KMDAwMDAwMDE5MiA2NTUzNSBmDQowMDAwMDAwMTkzIDY1NTM1IGYN
CjAwMDAwMDAxOTQgNjU1MzUgZg0KMDAwMDAwMDE5NSA2NTUzNSBmDQowMDAwMDAwMTk2IDY1NTM1
IGYNCjAwMDAwMDAxOTcgNjU1MzUgZg0KMDAwMDAwMDE5OCA2NTUzNSBmDQowMDAwMDAwMTk5IDY1
NTM1IGYNCjAwMDAwMDAyMDAgNjU1MzUgZg0KMDAwMDAwMDIwMSA2NTUzNSBmDQowMDAwMDAwMjAy
IDY1NTM1IGYNCjAwMDAwMDAyMDMgNjU1MzUgZg0KMDAwMDAwMDIwNCA2NTUzNSBmDQowMDAwMDAw
MjA1IDY1NTM1IGYNCjAwMDAwMDAyMDYgNjU1MzUgZg0KMDAwMDAwMDIwNyA2NTUzNSBmDQowMDAw
MDAwMjA4IDY1NTM1IGYNCjAwMDAwMDAyMDkgNjU1MzUgZg0KMDAwMDAwMDIxMCA2NTUzNSBmDQow
MDAwMDAwMjExIDY1NTM1IGYNCjAwMDAwMDAyMTIgNjU1MzUgZg0KMDAwMDAwMDIxMyA2NTUzNSBm
DQowMDAwMDAwMjE0IDY1NTM1IGYNCjAwMDAwMDAyMTUgNjU1MzUgZg0KMDAwMDAwMDIxNiA2NTUz
NSBmDQowMDAwMDAwMjE3IDY1NTM1IGYNCjAwMDAwMDAyMTggNjU1MzUgZg0KMDAwMDAwMDIxOSA2
NTUzNSBmDQowMDAwMDAwMjIwIDY1NTM1IGYNCjAwMDAwMDAyMjEgNjU1MzUgZg0KMDAwMDAwMDIy
MiA2NTUzNSBmDQowMDAwMDAwMjIzIDY1NTM1IGYNCjAwMDAwMDAyMjQgNjU1MzUgZg0KMDAwMDAw
MDIyNSA2NTUzNSBmDQowMDAwMDAwMjI2IDY1NTM1IGYNCjAwMDAwMDAyMjcgNjU1MzUgZg0KMDAw
MDAwMDIyOCA2NTUzNSBmDQowMDAwMDAwMjI5IDY1NTM1IGYNCjAwMDAwMDAyMzAgNjU1MzUgZg0K
MDAwMDAwMDIzMSA2NTUzNSBmDQowMDAwMDAwMjMyIDY1NTM1IGYNCjAwMDAwMDAyMzMgNjU1MzUg
Zg0KMDAwMDAwMDIzNCA2NTUzNSBmDQowMDAwMDAwMjM1IDY1NTM1IGYNCjAwMDAwMDAyMzYgNjU1
MzUgZg0KMDAwMDAwMDIzNyA2NTUzNSBmDQowMDAwMDAwMjM4IDY1NTM1IGYNCjAwMDAwMDAyMzkg
NjU1MzUgZg0KMDAwMDAwMDI0MCA2NTUzNSBmDQowMDAwMDAwMjQxIDY1NTM1IGYNCjAwMDAwMDAy
NDIgNjU1MzUgZg0KMDAwMDAwMDI0MyA2NTUzNSBmDQowMDAwMDAwMjQ0IDY1NTM1IGYNCjAwMDAw
MDAyNDUgNjU1MzUgZg0KMDAwMDAwMDI0NiA2NTUzNSBmDQowMDAwMDAwMjQ3IDY1NTM1IGYNCjAw
MDAwMDAyNDggNjU1MzUgZg0KMDAwMDAwMDI0OSA2NTUzNSBmDQowMDAwMDAwMjUwIDY1NTM1IGYN
CjAwMDAwMDAyNTEgNjU1MzUgZg0KMDAwMDAwMDI1MiA2NTUzNSBmDQowMDAwMDAwMjUzIDY1NTM1
IGYNCjAwMDAwMDAyNTQgNjU1MzUgZg0KMDAwMDAwMDI1NSA2NTUzNSBmDQowMDAwMDAwMjU2IDY1
NTM1IGYNCjAwMDAwMDAyNTcgNjU1MzUgZg0KMDAwMDAwMDI1OCA2NTUzNSBmDQowMDAwMDAwMjU5
IDY1NTM1IGYNCjAwMDAwMDAyNjAgNjU1MzUgZg0KMDAwMDAwMDI2MSA2NTUzNSBmDQowMDAwMDAw
MjYyIDY1NTM1IGYNCjAwMDAwMDAyNjMgNjU1MzUgZg0KMDAwMDAwMDI2NCA2NTUzNSBmDQowMDAw
MDAwMjY1IDY1NTM1IGYNCjAwMDAwMDAyNjYgNjU1MzUgZg0KMDAwMDAwMDI2NyA2NTUzNSBmDQow
MDAwMDAwMjY4IDY1NTM1IGYNCjAwMDAwMDAyNjkgNjU1MzUgZg0KMDAwMDAwMDI3MCA2NTUzNSBm
DQowMDAwMDAwMjcxIDY1NTM1IGYNCjAwMDAwMDAyNzIgNjU1MzUgZg0KMDAwMDAwMDI3MyA2NTUz
NSBmDQowMDAwMDAwMjc0IDY1NTM1IGYNCjAwMDAwMDAyNzUgNjU1MzUgZg0KMDAwMDAwMDI3NiA2
NTUzNSBmDQowMDAwMDAwMjc3IDY1NTM1IGYNCjAwMDAwMDAyNzggNjU1MzUgZg0KMDAwMDAwMDI3
OSA2NTUzNSBmDQowMDAwMDAwMjgwIDY1NTM1IGYNCjAwMDAwMDAyODEgNjU1MzUgZg0KMDAwMDAw
MDI4MiA2NTUzNSBmDQowMDAwMDAwMjgzIDY1NTM1IGYNCjAwMDAwMDAyODQgNjU1MzUgZg0KMDAw
MDAwMDI4NSA2NTUzNSBmDQowMDAwMDAwMjg2IDY1NTM1IGYNCjAwMDAwMDAyODcgNjU1MzUgZg0K
MDAwMDAwMDI4OCA2NTUzNSBmDQowMDAwMDAwMjg5IDY1NTM1IGYNCjAwMDAwMDAyOTAgNjU1MzUg
Zg0KMDAwMDAwMDI5MSA2NTUzNSBmDQowMDAwMDAwMjkyIDY1NTM1IGYNCjAwMDAwMDAyOTMgNjU1
MzUgZg0KMDAwMDAwMDI5NCA2NTUzNSBmDQowMDAwMDAwMjk1IDY1NTM1IGYNCjAwMDAwMDAyOTYg
NjU1MzUgZg0KMDAwMDAwMDI5NyA2NTUzNSBmDQowMDAwMDAwMjk4IDY1NTM1IGYNCjAwMDAwMDAy
OTkgNjU1MzUgZg0KMDAwMDAwMDMwMCA2NTUzNSBmDQowMDAwMDAwMzAxIDY1NTM1IGYNCjAwMDAw
MDAzMDIgNjU1MzUgZg0KMDAwMDAwMDMwMyA2NTUzNSBmDQowMDAwMDAwMzA0IDY1NTM1IGYNCjAw
MDAwMDAzMDUgNjU1MzUgZg0KMDAwMDAwMDMwNiA2NTUzNSBmDQowMDAwMDAwMzA3IDY1NTM1IGYN
CjAwMDAwMDAzMDggNjU1MzUgZg0KMDAwMDAwMDMwOSA2NTUzNSBmDQowMDAwMDAwMzEwIDY1NTM1
IGYNCjAwMDAwMDAzMTEgNjU1MzUgZg0KMDAwMDAwMDMxMiA2NTUzNSBmDQowMDAwMDAwMzEzIDY1
NTM1IGYNCjAwMDAwMDAzMTQgNjU1MzUgZg0KMDAwMDAwMDMxNSA2NTUzNSBmDQowMDAwMDAwMzE2
IDY1NTM1IGYNCjAwMDAwMDAzMTcgNjU1MzUgZg0KMDAwMDAwMDMxOCA2NTUzNSBmDQowMDAwMDAw
MzE5IDY1NTM1IGYNCjAwMDAwMDAzMjAgNjU1MzUgZg0KMDAwMDAwMDMyMSA2NTUzNSBmDQowMDAw
MDAwMzIyIDY1NTM1IGYNCjAwMDAwMDAzMjMgNjU1MzUgZg0KMDAwMDAwMDMyNCA2NTUzNSBmDQow
MDAwMDAwMzI1IDY1NTM1IGYNCjAwMDAwMDAzMjYgNjU1MzUgZg0KMDAwMDAwMDMyNyA2NTUzNSBm
DQowMDAwMDAwMzI4IDY1NTM1IGYNCjAwMDAwMDAzMjkgNjU1MzUgZg0KMDAwMDAwMDMzMCA2NTUz
NSBmDQowMDAwMDAwMzMxIDY1NTM1IGYNCjAwMDAwMDAzMzIgNjU1MzUgZg0KMDAwMDAwMDMzMyA2
NTUzNSBmDQowMDAwMDAwMzM0IDY1NTM1IGYNCjAwMDAwMDAzMzUgNjU1MzUgZg0KMDAwMDAwMDMz
NiA2NTUzNSBmDQowMDAwMDAwMzM3IDY1NTM1IGYNCjAwMDAwMDAzMzggNjU1MzUgZg0KMDAwMDAw
MDMzOSA2NTUzNSBmDQowMDAwMDAwMzQwIDY1NTM1IGYNCjAwMDAwMDAzNDEgNjU1MzUgZg0KMDAw
MDAwMDM0MiA2NTUzNSBmDQowMDAwMDAwMzQzIDY1NTM1IGYNCjAwMDAwMDAzNDQgNjU1MzUgZg0K
MDAwMDAwMDM0NSA2NTUzNSBmDQowMDAwMDAwMzQ2IDY1NTM1IGYNCjAwMDAwMDAzNDcgNjU1MzUg
Zg0KMDAwMDAwMDM0OCA2NTUzNSBmDQowMDAwMDAwMzQ5IDY1NTM1IGYNCjAwMDAwMDAzNTAgNjU1
MzUgZg0KMDAwMDAwMDM1MSA2NTUzNSBmDQowMDAwMDAwMzUyIDY1NTM1IGYNCjAwMDAwMDAzNTMg
NjU1MzUgZg0KMDAwMDAwMDM1NCA2NTUzNSBmDQowMDAwMDAwMzU1IDY1NTM1IGYNCjAwMDAwMDAz
NTYgNjU1MzUgZg0KMDAwMDAwMDM1NyA2NTUzNSBmDQowMDAwMDAwMzU4IDY1NTM1IGYNCjAwMDAw
MDAzNTkgNjU1MzUgZg0KMDAwMDAwMDM2MCA2NTUzNSBmDQowMDAwMDAwMzYxIDY1NTM1IGYNCjAw
MDAwMDAzNjIgNjU1MzUgZg0KMDAwMDAwMDM2MyA2NTUzNSBmDQowMDAwMDAwMzY0IDY1NTM1IGYN
CjAwMDAwMDAzNjUgNjU1MzUgZg0KMDAwMDAwMDM2NiA2NTUzNSBmDQowMDAwMDAwMzY3IDY1NTM1
IGYNCjAwMDAwMDAzNjggNjU1MzUgZg0KMDAwMDAwMDM2OSA2NTUzNSBmDQowMDAwMDAwMzcwIDY1
NTM1IGYNCjAwMDAwMDAzNzEgNjU1MzUgZg0KMDAwMDAwMDM3MiA2NTUzNSBmDQowMDAwMDAwMzcz
IDY1NTM1IGYNCjAwMDAwMDAzNzQgNjU1MzUgZg0KMDAwMDAwMDM3NSA2NTUzNSBmDQowMDAwMDAw
Mzc2IDY1NTM1IGYNCjAwMDAwMDAzNzcgNjU1MzUgZg0KMDAwMDAwMDM3OCA2NTUzNSBmDQowMDAw
MDAwMzc5IDY1NTM1IGYNCjAwMDAwMDAzODAgNjU1MzUgZg0KMDAwMDAwMDM4MSA2NTUzNSBmDQow
MDAwMDAwMzgyIDY1NTM1IGYNCjAwMDAwMDAzODMgNjU1MzUgZg0KMDAwMDAwMDM4NCA2NTUzNSBm
DQowMDAwMDAwMzg1IDY1NTM1IGYNCjAwMDAwMDAzODYgNjU1MzUgZg0KMDAwMDAwMDM4NyA2NTUz
NSBmDQowMDAwMDAwMzg4IDY1NTM1IGYNCjAwMDAwMDAzODkgNjU1MzUgZg0KMDAwMDAwMDM5MCA2
NTUzNSBmDQowMDAwMDAwMzkxIDY1NTM1IGYNCjAwMDAwMDAzOTIgNjU1MzUgZg0KMDAwMDAwMDM5
MyA2NTUzNSBmDQowMDAwMDAwMzk0IDY1NTM1IGYNCjAwMDAwMDAzOTUgNjU1MzUgZg0KMDAwMDAw
MDM5NiA2NTUzNSBmDQowMDAwMDAwMzk3IDY1NTM1IGYNCjAwMDAwMDAzOTggNjU1MzUgZg0KMDAw
MDAwMDM5OSA2NTUzNSBmDQowMDAwMDAwNDAwIDY1NTM1IGYNCjAwMDAwMDA0MDEgNjU1MzUgZg0K
MDAwMDAwMDQwMiA2NTUzNSBmDQowMDAwMDAwNDAzIDY1NTM1IGYNCjAwMDAwMDA0MDQgNjU1MzUg
Zg0KMDAwMDAwMDQwNSA2NTUzNSBmDQowMDAwMDAwNDA2IDY1NTM1IGYNCjAwMDAwMDA0MDcgNjU1
MzUgZg0KMDAwMDAwMDQwOCA2NTUzNSBmDQowMDAwMDAwNDA5IDY1NTM1IGYNCjAwMDAwMDA0MTAg
NjU1MzUgZg0KMDAwMDAwMDQxMSA2NTUzNSBmDQowMDAwMDAwNDEyIDY1NTM1IGYNCjAwMDAwMDA0
MTMgNjU1MzUgZg0KMDAwMDAwMDQxNCA2NTUzNSBmDQowMDAwMDAwNDE1IDY1NTM1IGYNCjAwMDAw
MDA0MTYgNjU1MzUgZg0KMDAwMDAwMDQxNyA2NTUzNSBmDQowMDAwMDAwNDE4IDY1NTM1IGYNCjAw
MDAwMDA0MTkgNjU1MzUgZg0KMDAwMDAwMDQyMCA2NTUzNSBmDQowMDAwMDAwNDIxIDY1NTM1IGYN
CjAwMDAwMDA0MjIgNjU1MzUgZg0KMDAwMDAwMDQyMyA2NTUzNSBmDQowMDAwMDAwNDI0IDY1NTM1
IGYNCjAwMDAwMDA0MjUgNjU1MzUgZg0KMDAwMDAwMDQyNiA2NTUzNSBmDQowMDAwMDAwNDI3IDY1
NTM1IGYNCjAwMDAwMDA0MjggNjU1MzUgZg0KMDAwMDAwMDQyOSA2NTUzNSBmDQowMDAwMDAwNDMw
IDY1NTM1IGYNCjAwMDAwMDA0MzEgNjU1MzUgZg0KMDAwMDAwMDQzMiA2NTUzNSBmDQowMDAwMDAw
NDMzIDY1NTM1IGYNCjAwMDAwMDA0MzQgNjU1MzUgZg0KMDAwMDAwMDQzNSA2NTUzNSBmDQowMDAw
MDAwNDM2IDY1NTM1IGYNCjAwMDAwMDA0MzcgNjU1MzUgZg0KMDAwMDAwMDQzOCA2NTUzNSBmDQow
MDAwMDAwNDM5IDY1NTM1IGYNCjAwMDAwMDA0NDAgNjU1MzUgZg0KMDAwMDAwMDQ0MSA2NTUzNSBm
DQowMDAwMDAwNDQyIDY1NTM1IGYNCjAwMDAwMDA0NDMgNjU1MzUgZg0KMDAwMDAwMDQ0NCA2NTUz
NSBmDQowMDAwMDAwNDQ1IDY1NTM1IGYNCjAwMDAwMDA0NDYgNjU1MzUgZg0KMDAwMDAwMDQ0NyA2
NTUzNSBmDQowMDAwMDAwNDQ4IDY1NTM1IGYNCjAwMDAwMDA0NDkgNjU1MzUgZg0KMDAwMDAwMDQ1
MCA2NTUzNSBmDQowMDAwMDAwNDUxIDY1NTM1IGYNCjAwMDAwMDA0NTIgNjU1MzUgZg0KMDAwMDAw
MDQ1MyA2NTUzNSBmDQowMDAwMDAwNDU0IDY1NTM1IGYNCjAwMDAwMDA0NTUgNjU1MzUgZg0KMDAw
MDAwMDQ1NiA2NTUzNSBmDQowMDAwMDAwNDU3IDY1NTM1IGYNCjAwMDAwMDA0NTggNjU1MzUgZg0K
MDAwMDAwMDQ1OSA2NTUzNSBmDQowMDAwMDAwNDYwIDY1NTM1IGYNCjAwMDAwMDA0NjEgNjU1MzUg
Zg0KMDAwMDAwMDQ2MiA2NTUzNSBmDQowMDAwMDAwNDYzIDY1NTM1IGYNCjAwMDAwMDA0NjQgNjU1
MzUgZg0KMDAwMDAwMDQ2NSA2NTUzNSBmDQowMDAwMDAwNDY2IDY1NTM1IGYNCjAwMDAwMDA0Njcg
NjU1MzUgZg0KMDAwMDAwMDQ2OCA2NTUzNSBmDQowMDAwMDAwNDY5IDY1NTM1IGYNCjAwMDAwMDA0
NzAgNjU1MzUgZg0KMDAwMDAwMDQ3MSA2NTUzNSBmDQowMDAwMDAwNDcyIDY1NTM1IGYNCjAwMDAw
MDA0NzMgNjU1MzUgZg0KMDAwMDAwMDQ3NCA2NTUzNSBmDQowMDAwMDAwNDc1IDY1NTM1IGYNCjAw
MDAwMDA0NzYgNjU1MzUgZg0KMDAwMDAwMDQ3NyA2NTUzNSBmDQowMDAwMDAwNDc4IDY1NTM1IGYN
CjAwMDAwMDA0NzkgNjU1MzUgZg0KMDAwMDAwMDQ4MCA2NTUzNSBmDQowMDAwMDAwNDgxIDY1NTM1
IGYNCjAwMDAwMDA0ODIgNjU1MzUgZg0KMDAwMDAwMDQ4MyA2NTUzNSBmDQowMDAwMDAwNDg0IDY1
NTM1IGYNCjAwMDAwMDA0ODUgNjU1MzUgZg0KMDAwMDAwMDQ4NiA2NTUzNSBmDQowMDAwMDAwNDg3
IDY1NTM1IGYNCjAwMDAwMDA0ODggNjU1MzUgZg0KMDAwMDAwMDQ4OSA2NTUzNSBmDQowMDAwMDAw
NDkwIDY1NTM1IGYNCjAwMDAwMDA0OTEgNjU1MzUgZg0KMDAwMDAwMDQ5MiA2NTUzNSBmDQowMDAw
MDAwNDkzIDY1NTM1IGYNCjAwMDAwMDA0OTQgNjU1MzUgZg0KMDAwMDAwMDQ5NSA2NTUzNSBmDQow
MDAwMDAwNDk2IDY1NTM1IGYNCjAwMDAwMDA0OTcgNjU1MzUgZg0KMDAwMDAwMDQ5OCA2NTUzNSBm
DQowMDAwMDAwNDk5IDY1NTM1IGYNCjAwMDAwMDA1MDAgNjU1MzUgZg0KMDAwMDAwMDUwMSA2NTUz
NSBmDQowMDAwMDAwNTAyIDY1NTM1IGYNCjAwMDAwMDA1MDMgNjU1MzUgZg0KMDAwMDAwMDUwNCA2
NTUzNSBmDQowMDAwMDAwNTA1IDY1NTM1IGYNCjAwMDAwMDA1MDYgNjU1MzUgZg0KMDAwMDAwMDUw
NyA2NTUzNSBmDQowMDAwMDAwNTA4IDY1NTM1IGYNCjAwMDAwMDA1MDkgNjU1MzUgZg0KMDAwMDAw
MDAwMCA2NTUzNSBmDQowMDAwMTY1MDgxIDAwMDAwIG4NCjAwMDAxNjU0NDggMDAwMDAgbg0KMDAw
MDI1Njg0OSAwMDAwMCBuDQowMDAwMjU3MzY5IDAwMDAwIG4NCjAwMDAyNTc2NzcgMDAwMDAgbg0K
MDAwMDI1Nzk4NyAwMDAwMCBuDQowMDAwMjk5MTk5IDAwMDAwIG4NCjAwMDAyOTkyNTQgMDAwMDAg
bg0KdHJhaWxlcg0KPDwvU2l6ZSA1MTgvUm9vdCAxIDAgUi9JbmZvIDE2NSAwIFIvSURbPDYyMjJB
QTlDQjNGMzEzNDA5RkI4QTVEQUE5QUM3MEE4Pjw2MjIyQUE5Q0IzRjMxMzQwOUZCOEE1REFBOUFD
NzBBOD5dID4+DQpzdGFydHhyZWYNCjMwMDY3OQ0KJSVFT0YNCnhyZWYNCjAgMA0KdHJhaWxlcg0K
PDwvU2l6ZSA1MTgvUm9vdCAxIDAgUi9JbmZvIDE2NSAwIFIvSURbPDYyMjJBQTlDQjNGMzEzNDA5
RkI4QTVEQUE5QUM3MEE4Pjw2MjIyQUE5Q0IzRjMxMzQwOUZCOEE1REFBOUFDNzBBOD5dIC9QcmV2
IDMwMDY3OS9YUmVmU3RtIDI5OTI1ND4+DQpzdGFydHhyZWYNCjMxMTIwMA0KJSVFT0Y=

--_002_MWHPR09MB14408EF0A9F034AEB6A1EC80F0140MWHPR09MB1440namp_--


From nobody Mon May  1 14:26:11 2017
Return-Path: <linda.dunbar@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 77FA9127F0E; Mon,  1 May 2017 14:26:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J19XSMny4XgO; Mon,  1 May 2017 14:26:00 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3CE301270A3; Mon,  1 May 2017 14:23:29 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml704-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFU98605; Mon, 01 May 2017 21:23:26 +0000 (GMT)
Received: from SJCEML701-CHM.china.huawei.com (10.208.112.40) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 1 May 2017 22:23:25 +0100
Received: from SJCEML702-CHM.china.huawei.com ([169.254.4.233]) by SJCEML701-CHM.china.huawei.com ([169.254.3.8]) with mapi id 14.03.0235.001; Mon, 1 May 2017 14:23:23 -0700
From: Linda Dunbar <linda.dunbar@huawei.com>
To: "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>, "saag@ietf.org" <saag@ietf.org>, "opsawg@ietf.org" <opsawg@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "sacm@ietf.org" <sacm@ietf.org>, "mile@ietf.org" <mile@ietf.org>, "i2nsf@ietf.org" <i2nsf@ietf.org>
Thread-Topic: PANIC Bar BoF Tonight @ 6:30pm CDT
Thread-Index: AdKoyz/2/d9baDSGTnuHD2EJjZ7MgwZ8FaBwAADmGxA=
Date: Mon, 1 May 2017 21:23:22 +0000
Message-ID: <4A95BA014132FF49AE685FAB4B9F17F65927A234@SJCEML702-CHM.china.huawei.com>
References: <MWHPR09MB14408EF0A9F034AEB6A1EC80F0140@MWHPR09MB1440.namprd09.prod.outlook.com>
In-Reply-To: <MWHPR09MB14408EF0A9F034AEB6A1EC80F0140@MWHPR09MB1440.namprd09.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.192.11.111]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.5907A74F.00BE, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.4.233, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 477666db19fed32cdca8d3f611fed601
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/pcfDaFJOMCS1bGuNV0VDv-qVQRc>
Subject: Re: [Netconf] PANIC Bar BoF Tonight @ 6:30pm CDT
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 01 May 2017 21:26:03 -0000

David,=20

Will PANIC initiative cover the "security posture" for "workload" moved to =
3rd party cloud DC?=20
Just finished attending ONUG (Open Network User Group - an enterprise centr=
ic forum) Spring meeting.  Many enterprise users are saying that they are m=
oving their workload to multiple Cloud DC (AWS, Azure, Salesforce, IBM, etc=
) to achieve data portability, app sharing, and built-in redundancy. =20
One of the biggest issue is how to make security risk visible, so that they=
 can better manage the security risks.=20

Possible to have mechanism to properly identify the security posture of "En=
dpoint in 3rd party DC"?  Is it part of PANIC scope?=20

Linda

-----Original Message-----
From: mile [mailto:mile-bounces@ietf.org] On Behalf Of Waltermire, David A.=
 (Fed)
Sent: Monday, May 01, 2017 3:55 PM
To: saag@ietf.org; opsawg@ietf.org; netconf@ietf.org; netmod@ietf.org; sacm=
@ietf.org; mile@ietf.org; i2nsf@ietf.org
Subject: Re: [mile] PANIC Bar BoF Tonight @ 6:30pm CDT

The Posture Assessment Through Network Information Collection (PANIC) group=
 held an informal bar BoF at IETF 98 to discuss available protocols and dat=
a models for assessing the posture of network equipment devices. A descript=
ion of PANIC is below, and a slide deck is attached describing the group's =
goals and requirements. We had a productive discussion about the group's sc=
ope, and agreed to continue the conversation on a non-working group mailing=
 list.=20

The PANIC mailing list is now available for subscribers at this link: https=
://www.ietf.org/mailman/listinfo/panic.

If you are interested in the effort, please join the mailing list. A scopin=
g draft will be posted to the list in the next week. We look forward to you=
r feedback on it.

Regards,
Dave

PANIC Description:

The IETF SACM work group has been working to standardize the collection of =
endpoint configuration and other posture information from enterprise endpoi=
nts. Collecting this information is critical to support automation of commo=
n network security tasks, including asset, software, vulnerability, and con=
figuration management. Thus far, our efforts have focused primarily on stan=
dards to collect information in support of asset, software and vulnerabilit=
y management use cases for classical endpoint devices (e.g., servers, lapto=
ps, etc), and has worked with other IETF members to determine what data wou=
ld need to be to be collected, and how that data would be securely communic=
ated across the network. Through such exchanges an organization can know wh=
at client endpoints are connected to their network, and if they are vulnera=
ble to attack.

Given the proliferation of attacks against network infrastructure devices, =
it is clear that the next step in our enterprise security automation effort=
 must be to enable standardized reporting of similar information from netwo=
rk infrastructure devices. With the growing number of Yang models and incre=
ased adoption of NETCONF, RESTCONF, and related protocol work, we believe t=
he time is right to work out how these standards can be used to measure the=
 health of network devices. This information will, as in our efforts in SAC=
M for client devices, support asset, software, vulnerability, and configura=
tion management use cases. We hope to use existing management protocols to =
report this information from network infrastructure devices, supporting mul=
tiple use cases using the same set of management protocols. Such a mechanis=
m will help network defenders protect against known attacks, and provide th=
e necessary knowledge to detect and mitigate future attacks.

> -----Original Message-----
> From: Waltermire, David A. (Fed)
> Sent: Wednesday, March 29, 2017 4:42 PM
> To: 'saag@ietf.org' <saag@ietf.org>; 'opsawg@ietf.org'=20
> <opsawg@ietf.org>; 'netconf@ietf.org' <netconf@ietf.org>; 'netmod@ietf.or=
g'
> <netmod@ietf.org>
> Subject: PANIC Bar BoF Tonight @ 6:30pm CDT
>=20
>=20
> Just a quick reminder... the Posture Assessment through Network=20
> Information Collection (PANIC) bar BoF is tonight right after the IETF=20
> 98 Technical and Administrative Plenary at 6:30pm CDT in Vevey 4 at=20
> the Swissotel Conference Center. We are hoping to start a discussion=20
> about how to leverage the existing IETF network management protocols=20
> to best address security automation for network infrastructure=20
> devices. We would like your ideas on how to best pursue this work, and=20
> your insights into network infrastructure security problems that will imp=
act our networks in the future.
> We are holding a side meeting at IETF 98 on Wednesday, March 29th at=20
> 6:30pm CDT to start a discussion about how to move forward on this topic.
>=20
> Given the late hour, we will have some light snacks. We hope to see=20
> you there.
>=20
> Regards,
> David Waltermire


From nobody Tue May  2 00:03:18 2017
Return-Path: <internet-drafts@ietf.org>
X-Original-To: netconf@ietf.org
Delivered-To: netconf@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 8C5851200E5; Tue,  2 May 2017 00:03:09 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: netconf@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.50.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <149370858953.9927.16010002022903088176@ietfa.amsl.com>
Date: Tue, 02 May 2017 00:03:09 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/wVFz1lP4F0SwG5lYvCPos9ppqtg>
Subject: [Netconf] I-D Action: draft-ietf-netconf-netconf-event-notifications-02.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 May 2017 07:03:10 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Configuration of the IETF.

        Title           : NETCONF Support for Event Notifications
        Authors         : Alberto Gonzalez Prieto
                          Alexander Clemm
                          Eric Voit
                          Einar Nilsen-Nygaard
                          Ambika Prasad Tripathy
                          Sharon Chisholm
                          Hector Trevino
	Filename        : draft-ietf-netconf-netconf-event-notifications-02.txt
	Pages           : 48
	Date            : 2017-05-02

Abstract:
   This document defines the support of [event-notifications] by the
   Network Configuration protocol (NETCONF). [event-notifications]
   describes capabilities and operations for providing asynchronous
   message notification delivery.  This document discusses how to
   provide them on top of NETCONF.  The capabilities and operations
   defined between this document and [event-notifications] are intended
   to obsolete RFC 5277.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netconf-netconf-event-notifications/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-netconf-netconf-event-notifications-02
https://datatracker.ietf.org/doc/html/draft-ietf-netconf-netconf-event-notifications-02

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-netconf-netconf-event-notifications-02


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Tue May  2 11:52:33 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E7651294B7 for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 11:52:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level: 
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C7ytQNvy4tNS for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 11:52:28 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4132E129B4B for <netconf@ietf.org>; Tue,  2 May 2017 11:49:01 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFW53033; Tue, 02 May 2017 18:48:59 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.301.0; Tue, 2 May 2017 19:48:58 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML703-CHM.china.huawei.com ([169.254.5.195]) with mapi id 14.03.0235.001;  Tue, 2 May 2017 11:48:48 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, Phil Shafer <phil@juniper.net>, "Tim Jenkins (timjenki)" <timjenki@cisco.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Subscriptions to non-existent data
Thread-Index: AQHSwol3jzH/5L4K90iinQbkbTuvQaHgRKkAgAAY2wCAAQFFUA==
Date: Tue, 2 May 2017 18:48:47 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94562@SJCEML701-CHM.china.huawei.com>
References: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com> <201705011838.v41IcxRY024434@idle.juniper.net> <171168450ddf469cbe99e731fd2373d4@XCH-RTP-013.cisco.com>
In-Reply-To: <171168450ddf469cbe99e731fd2373d4@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.93]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090206.5908D49B.00C5, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 6d2d5bcf180b2ac8e381ac784c2b6713
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/yzWPahv684O7bj8qAjaM28DccMA>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 May 2017 18:52:31 -0000

What language would you like to see altered?  The current draft already sup=
ports subscriptions to data that doesn't exist yet.  For example, new list =
elements can be created when a subscription is in progress and an on-change=
 subscription will call this out (new data nodes created, that weren't ther=
e before) specifically.  =20

The one thing that used to be called out as required was the presence of th=
e target data node that serves as the root.   However, this has all moved i=
nto the filter definition, leaving anyone free to create a filter that may =
not match anything already. =20

--- Alex

-----Original Message-----
From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Eric Voit (evo=
it)
Sent: Monday, May 01, 2017 1:08 PM
To: Phil Shafer <phil@juniper.net>; Tim Jenkins (timjenki) <timjenki@cisco.=
com>
Cc: netconf@ietf.org
Subject: Re: [Netconf] Subscriptions to non-existent data

This seems a reasonable change to yang-push.   It does make implementation =
simpler as they don't have to worry about some complex enforcement cases.  =
For example, you don't have to worry about recreating subscriptions when da=
ta disappears then reappears.  In fact it is actually is more robust as you=
 can put subscriptions in anticipation of the creation of certain objects.

The downsides are you lose some protections for left over subscriptions han=
ging around in memory.  But there are other ways of addressing that which w=
ill be needed in the larger solution space anyway.

Eric

> From: Phil Shafer, Monday, May 1, 2017 2:39 PM
> +1
>=20
>=20
> "Tim Jenkins (timjenki)" writes:
> >In looking at the subscribed notifications draft
> (https://tools.ietf.org/html/draft-ietf-netconf-subscribed-notificatio
> ns-02), I'd like to suggest that we alter the language to permit the=20
> existence of subscriptions to data that doesn't exist (but could).=20
> Obviously, subscriptions to invalidly specified data should fail, but=20
> as an example, a subscription to the operational state of an interface=20
> that hasn't yet been created should be permitted.
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf

_______________________________________________
Netconf mailing list
Netconf@ietf.org
https://www.ietf.org/mailman/listinfo/netconf


From nobody Tue May  2 12:20:41 2017
Return-Path: <timjenki@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28801127B57 for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 12:20:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C_e5TwDp875a for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 12:20:38 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CC36212947A for <netconf@ietf.org>; Tue,  2 May 2017 12:17:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=21444; q=dns/txt; s=iport; t=1493752659; x=1494962259; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=aKKKBHXG5EIYB3QRRlqvajJxvC7/HEYt7RTMXY7wyIk=; b=AOrRrTJ2q4gnTHSnYCiWWUbWn73DCQ/EihSQNAJRLevEXTdjjAnRhfcr 4zZk4RbP+frd8KguPWB8XO6vqMNmsnddJ/jaZ8diG8JFro/qALpEeLfyH 7P50rRvfFXFa0+j9p/OJ0/SsZOK5JJOMNZhs6U9I5EuewyO4HJNt3E/Rh U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BXAQB12ghZ/5NdJa1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nYoEMB4NhihiRTpA3hTeCDyEBCoUuSgIahDQ/GAECAQEBAQE?= =?us-ascii?q?BAWsohRUBAQEBAwEBISsYCAsMBAIBCBEDAQEBDQEaAwICAiUKARQJCAIEAQ0BB?= =?us-ascii?q?AEaAgSJfQ6wMYImK4p0AQEBAQEBAQEBAQEBAQEBAQEBAQEBHYZfggmCPDSDIYF?= =?us-ascii?q?iFoJQLoIxBYlPiBiEb4Z+AYcagzKIRIICiRyGQIh3izkBHziBCm8VRBIBhF4cg?= =?us-ascii?q?WN2AQaHdQGBDAEBAQ?=
X-IronPort-AV: E=Sophos;i="5.38,280,1491264000";  d="scan'208,217";a="420919643"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 May 2017 19:17:38 +0000
Received: from XCH-RTP-013.cisco.com (xch-rtp-013.cisco.com [64.101.220.153]) by rcdn-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id v42JHc6u008554 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 2 May 2017 19:17:38 GMT
Received: from xch-rtp-011.cisco.com (64.101.220.151) by XCH-RTP-013.cisco.com (64.101.220.153) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 2 May 2017 15:17:37 -0400
Received: from xch-rtp-011.cisco.com ([64.101.220.151]) by XCH-RTP-011.cisco.com ([64.101.220.151]) with mapi id 15.00.1210.000; Tue, 2 May 2017 15:17:37 -0400
From: "Tim Jenkins (timjenki)" <timjenki@cisco.com>
To: Alexander Clemm <alexander.clemm@huawei.com>, "Eric Voit (evoit)" <evoit@cisco.com>, Phil Shafer <phil@juniper.net>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Subscriptions to non-existent data
Thread-Index: AQHSwol3jzH/5L4K90iinQbkbTuvQaHgEl4AgAAY2wCAAXw4gP//xQEA
Date: Tue, 2 May 2017 19:17:37 +0000
Message-ID: <8100BB37-4F32-49F0-8CB0-D58DEECB4A0E@cisco.com>
References: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com> <201705011838.v41IcxRY024434@idle.juniper.net> <171168450ddf469cbe99e731fd2373d4@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94562@SJCEML701-CHM.china.huawei.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94562@SJCEML701-CHM.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [161.44.212.135]
Content-Type: multipart/alternative; boundary="_000_8100BB374F3249F08CB0D58DEECB4A0Eciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Rgx6h36WLcPxXjD99aL3oQg27Co>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 02 May 2017 19:20:40 -0000

--_000_8100BB374F3249F08CB0D58DEECB4A0Eciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QWxleCwNCg0KSXQgYXBwZWFycyB0byBiZSBsZXNzIGNsZWFyIGluIHRoZSBsYXRlc3QgZHJhZnQs
IGJ1dCB0aGUgcG9pbnQgaXMgdGhhdCBpdCdzIG5vdCBleHBsaWNpdCBlaXRoZXIgd2F5LiBTb21l
IGhhdmUgaW50ZXJwcmV0ZWQgdGhpcyAoc2VjdGlvbiAzLjcpOg0KDQoNCiAgIEEgZGF0YXN0b3Jl
IHN1YnNjcmlwdGlvbiBjYW4gYmUgcmVqZWN0ZWQgZm9yIG11bHRpcGxlIHJlYXNvbnMuICBUaGlz
DQoNCiAgIGluY2x1ZGVzIHRoZSBsYWNrIG9mIHJlYWQgYXV0aG9yaXphdGlvbiBvbiBhIHJlcXVl
c3RlZCBkYXRhIG5vZGUsIC4uLg0KDQphcyBtZWFuaW5nIHRoYXQgdGhlIGRhdGEgaGFzIHRvIGV4
aXN0LCBwZXJoYXBzIGluIG9yZGVyIHRvIGtub3cgdGhlIHJlYWQgcGVybWlzc2lvbnMuIE9yIHBl
cmhhcHMgdGhlcmUgd2FzIGEgZGVzaXJlIHRvIHJlZHVjZSByZXNvdXJjZSB1c2FnZS4NCg0KUmVn
YXJkbGVzcywgd2hhdCBJJ2QgbGlrZSB0byBzZWUgaXMgZXhwbGljaXQgc3RhdGVtZW50cyBvZiB0
aGUgYmVoYXZpb3VyIGFuZCBkZXNjcmlwdGlvbnMgb2YgdGhlIHVwZGF0ZSBub3RpZmljYXRpb24g
Y29udGVudHMgdW5kZXIgdGhvc2UgY29uZGl0aW9ucywgbXVjaCBsaWtlIHdoYXQgSSBwcm9wb3Nl
ZCBiZWxvdy4NCg0KVGltDQoNCi0tDQpDaXNjbyBTeXN0ZW1zIENhbmFkYSBDby4NCjIwMDAgSW5u
b3ZhdGlvbiBEcml2ZQ0KS2FuYXRhLCBPTiwgQ2FuYWRhLCBLMksgM0U4DQpQcmVmZXJlbmNlcyA8
aHR0cDovL3d3dy5jaXNjby5jb20vb2ZmZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI2Pg0KVW5z
dWJzY3JpYmUgPGh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3Vuc3Vic2NyaWJlLz9zaWQ9MDAw
NDc4MzI3Pg0KUHJpdmFjeSA8aHR0cDovL3d3dy5jaXNjby5jb20vd2ViL3NpdGVhc3NldHMvbGVn
YWwvcHJpdmFjeS5odG1sPg0KDQoNCkZyb206IEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNs
ZW1tQGh1YXdlaS5jb20+DQpEYXRlOiBUdWVzZGF5LCBNYXkgMiwgMjAxNyBhdCAyOjQ4IFBNDQpU
bzogIkVyaWMgVm9pdCAoZXZvaXQpIiA8ZXZvaXRAY2lzY28uY29tPiwgUGhpbCBTaGFmZXIgPHBo
aWxAanVuaXBlci5uZXQ+LCAiVGltIEplbmtpbnMgKHRpbWplbmtpKSIgPHRpbWplbmtpQGNpc2Nv
LmNvbT4NCkNjOiAibmV0Y29uZkBpZXRmLm9yZyIgPG5ldGNvbmZAaWV0Zi5vcmc+DQpTdWJqZWN0
OiBSRTogW05ldGNvbmZdIFN1YnNjcmlwdGlvbnMgdG8gbm9uLWV4aXN0ZW50IGRhdGENCg0KV2hh
dCBsYW5ndWFnZSB3b3VsZCB5b3UgbGlrZSB0byBzZWUgYWx0ZXJlZD8gIFRoZSBjdXJyZW50IGRy
YWZ0IGFscmVhZHkgc3VwcG9ydHMgc3Vic2NyaXB0aW9ucyB0byBkYXRhIHRoYXQgZG9lc24ndCBl
eGlzdCB5ZXQuICBGb3IgZXhhbXBsZSwgbmV3IGxpc3QgZWxlbWVudHMgY2FuIGJlIGNyZWF0ZWQg
d2hlbiBhIHN1YnNjcmlwdGlvbiBpcyBpbiBwcm9ncmVzcyBhbmQgYW4gb24tY2hhbmdlIHN1YnNj
cmlwdGlvbiB3aWxsIGNhbGwgdGhpcyBvdXQgKG5ldyBkYXRhIG5vZGVzIGNyZWF0ZWQsIHRoYXQg
d2VyZW4ndCB0aGVyZSBiZWZvcmUpIHNwZWNpZmljYWxseS4NCg0KVGhlIG9uZSB0aGluZyB0aGF0
IHVzZWQgdG8gYmUgY2FsbGVkIG91dCBhcyByZXF1aXJlZCB3YXMgdGhlIHByZXNlbmNlIG9mIHRo
ZSB0YXJnZXQgZGF0YSBub2RlIHRoYXQgc2VydmVzIGFzIHRoZSByb290LiAgIEhvd2V2ZXIsIHRo
aXMgaGFzIGFsbCBtb3ZlZCBpbnRvIHRoZSBmaWx0ZXIgZGVmaW5pdGlvbiwgbGVhdmluZyBhbnlv
bmUgZnJlZSB0byBjcmVhdGUgYSBmaWx0ZXIgdGhhdCBtYXkgbm90IG1hdGNoIGFueXRoaW5nIGFs
cmVhZHkuDQoNCi0tLSBBbGV4DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBO
ZXRjb25mIFttYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnXSBPbiBCZWhhbGYgT2YgRXJp
YyBWb2l0IChldm9pdCkNClNlbnQ6IE1vbmRheSwgTWF5IDAxLCAyMDE3IDE6MDggUE0NClRvOiBQ
aGlsIFNoYWZlciA8cGhpbEBqdW5pcGVyLm5ldDxtYWlsdG86cGhpbEBqdW5pcGVyLm5ldD4+OyBU
aW0gSmVua2lucyAodGltamVua2kpIDx0aW1qZW5raUBjaXNjby5jb208bWFpbHRvOnRpbWplbmtp
QGNpc2NvLmNvbT4+DQpDYzogbmV0Y29uZkBpZXRmLm9yZzxtYWlsdG86bmV0Y29uZkBpZXRmLm9y
Zz4NClN1YmplY3Q6IFJlOiBbTmV0Y29uZl0gU3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3RlbnQg
ZGF0YQ0KDQpUaGlzIHNlZW1zIGEgcmVhc29uYWJsZSBjaGFuZ2UgdG8geWFuZy1wdXNoLiAgIEl0
IGRvZXMgbWFrZSBpbXBsZW1lbnRhdGlvbiBzaW1wbGVyIGFzIHRoZXkgZG9uJ3QgaGF2ZSB0byB3
b3JyeSBhYm91dCBzb21lIGNvbXBsZXggZW5mb3JjZW1lbnQgY2FzZXMuICBGb3IgZXhhbXBsZSwg
eW91IGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgcmVjcmVhdGluZyBzdWJzY3JpcHRpb25zIHdo
ZW4gZGF0YSBkaXNhcHBlYXJzIHRoZW4gcmVhcHBlYXJzLiAgSW4gZmFjdCBpdCBpcyBhY3R1YWxs
eSBpcyBtb3JlIHJvYnVzdCBhcyB5b3UgY2FuIHB1dCBzdWJzY3JpcHRpb25zIGluIGFudGljaXBh
dGlvbiBvZiB0aGUgY3JlYXRpb24gb2YgY2VydGFpbiBvYmplY3RzLg0KDQpUaGUgZG93bnNpZGVz
IGFyZSB5b3UgbG9zZSBzb21lIHByb3RlY3Rpb25zIGZvciBsZWZ0IG92ZXIgc3Vic2NyaXB0aW9u
cyBoYW5naW5nIGFyb3VuZCBpbiBtZW1vcnkuICBCdXQgdGhlcmUgYXJlIG90aGVyIHdheXMgb2Yg
YWRkcmVzc2luZyB0aGF0IHdoaWNoIHdpbGwgYmUgbmVlZGVkIGluIHRoZSBsYXJnZXIgc29sdXRp
b24gc3BhY2UgYW55d2F5Lg0KDQpFcmljDQoNCkZyb206IFBoaWwgU2hhZmVyLCBNb25kYXksIE1h
eSAxLCAyMDE3IDI6MzkgUE0NCisxDQoiVGltIEplbmtpbnMgKHRpbWplbmtpKSIgd3JpdGVzOg0K
PkluIGxvb2tpbmcgYXQgdGhlIHN1YnNjcmliZWQgbm90aWZpY2F0aW9ucyBkcmFmdA0KKGh0dHBz
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJlZC1ub3Rp
ZmljYXRpbw0KbnMtMDIpLCBJJ2QgbGlrZSB0byBzdWdnZXN0IHRoYXQgd2UgYWx0ZXIgdGhlIGxh
bmd1YWdlIHRvIHBlcm1pdCB0aGUNCmV4aXN0ZW5jZSBvZiBzdWJzY3JpcHRpb25zIHRvIGRhdGEg
dGhhdCBkb2Vzbid0IGV4aXN0IChidXQgY291bGQpLg0KT2J2aW91c2x5LCBzdWJzY3JpcHRpb25z
IHRvIGludmFsaWRseSBzcGVjaWZpZWQgZGF0YSBzaG91bGQgZmFpbCwgYnV0DQphcyBhbiBleGFt
cGxlLCBhIHN1YnNjcmlwdGlvbiB0byB0aGUgb3BlcmF0aW9uYWwgc3RhdGUgb2YgYW4gaW50ZXJm
YWNlDQp0aGF0IGhhc24ndCB5ZXQgYmVlbiBjcmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQuDQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KTmV0Y29uZiBt
YWlsaW5nIGxpc3QNCk5ldGNvbmZAaWV0Zi5vcmc8bWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmc+DQpo
dHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYNCg0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNvbmYgbWFpbGluZyBs
aXN0DQpOZXRjb25mQGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3JnPg0KaHR0cHM6Ly93
d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_8100BB374F3249F08CB0D58DEECB4A0Eciscocom_
Content-Type: text/html; charset="utf-8"
Content-ID: <26E6219F2C7D4B4C9C7F17710D348FCB@emea.cisco.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCglwYW5vc2UtMToyIDcg
MyA5IDIgMiA1IDIgNCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAz
IDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1h
bCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsN
Cglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCmE6
bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9y
OmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNv
SHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBs
ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3Jp
dHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdp
bjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9u
dC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkVtYWlsU3R5bGUxNw0KCXttc28tc3R5bGUt
dHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseTpDYWxpYnJpOw0KCWNvbG9yOndpbmRv
d3RleHQ7fQ0Kc3Bhbi5IVE1MUHJlZm9ybWF0dGVkQ2hhcg0KCXttc28tc3R5bGUtbmFtZToiSFRN
TCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHls
ZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9
DQpzcGFuLm1zb0lucw0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28tc3R5bGUt
bmFtZToiIjsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCWNvbG9yOnRlYWw7fQ0KLk1z
b0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEw
LjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFy
Z2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3Bh
Z2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiZ2NvbG9yPSJ3
aGl0ZSIgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFz
cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPkFsZXgsPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
Q2FsaWJyaSI+SXQgYXBwZWFycyB0byBiZSBsZXNzIGNsZWFyIGluIHRoZSBsYXRlc3QgZHJhZnQs
IGJ1dCB0aGUgcG9pbnQgaXMgdGhhdCBpdCdzIG5vdCBleHBsaWNpdCBlaXRoZXIgd2F5LiBTb21l
IGhhdmUgaW50ZXJwcmV0ZWQgdGhpcyAoc2VjdGlvbiAzLjcpOjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OkNhbGlicmkiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwcmU+PHNw
YW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgQSBkYXRhc3RvcmUgc3Vic2NyaXB0
aW9uIGNhbiBiZSByZWplY3RlZCBmb3IgbXVsdGlwbGUgcmVhc29ucy4mbmJzcDsgVGhpczxvOnA+
PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNw
OyZuYnNwOyBpbmNsdWRlcyB0aGUgbGFjayBvZiByZWFkIGF1dGhvcml6YXRpb24gb24gYSByZXF1
ZXN0ZWQgZGF0YSBub2RlLCAuLi48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGli
cmkiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPmFzIG1lYW5p
bmcgdGhhdCB0aGUgZGF0YSBoYXMgdG8gZXhpc3QsIHBlcmhhcHMgaW4gb3JkZXIgdG8ga25vdyB0
aGUgcmVhZCBwZXJtaXNzaW9ucy4gT3IgcGVyaGFwcyB0aGVyZSB3YXMgYSBkZXNpcmUgdG8gcmVk
dWNlIHJlc291cmNlIHVzYWdlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmki
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPlJlZ2FyZGxlc3Ms
IHdoYXQgSSdkIGxpa2UgdG8gc2VlIGlzIGV4cGxpY2l0IHN0YXRlbWVudHMgb2YgdGhlIGJlaGF2
aW91ciBhbmQgZGVzY3JpcHRpb25zIG9mIHRoZSB1cGRhdGUgbm90aWZpY2F0aW9uIGNvbnRlbnRz
IHVuZGVyIHRob3NlIGNvbmRpdGlvbnMsIG11Y2ggbGlrZSB3aGF0IEkgcHJvcG9zZWQgYmVsb3cu
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+VGltPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpibGFjayI+LS0mbmJzcDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+
Q2lzY28gU3lzdGVtcyBDYW5hZGEgQ28uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAu
NXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj4yMDAwIElubm92
YXRpb24gRHJpdmU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7
Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPkthbmF0YSwgT04sIENhbmFkYSwgSzJL
IDNFODwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25z
b2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZh
bWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+UHJlZmVyZW5jZXMgJmx0OzxhIGhyZWY9Imh0dHA6
Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNiI+aHR0cDovL3d3
dy5jaXNjby5jb20vb2ZmZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI2PC9hPiZndDs8L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6
YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29s
YXM7Y29sb3I6YmxhY2siPlVuc3Vic2NyaWJlICZsdDs8YSBocmVmPSJodHRwOi8vd3d3LmNpc2Nv
LmNvbS9vZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNyI+aHR0cDovL3d3dy5jaXNjby5j
b20vb2ZmZXIvdW5zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjc8L2E+Jmd0Ozwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xv
cjpibGFjayI+UHJpdmFjeSAmbHQ7PGEgaHJlZj0iaHR0cDovL3d3dy5jaXNjby5jb20vd2ViL3Np
dGVhc3NldHMvbGVnYWwvcHJpdmFjeS5odG1sIj5odHRwOi8vd3d3LmNpc2NvLmNvbS93ZWIvc2l0
ZWFzc2V0cy9sZWdhbC9wcml2YWN5Lmh0bWw8L2E+Jmd0Ozwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxp
YnJpIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpIj48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9w
OnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaTtjb2xvcjpi
bGFjayI+RnJvbTogPC9zcGFuPg0KPC9iPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJp
O2NvbG9yOmJsYWNrIj5BbGV4YW5kZXIgQ2xlbW0gJmx0O2FsZXhhbmRlci5jbGVtbUBodWF3ZWku
Y29tJmd0Ozxicj4NCjxiPkRhdGU6IDwvYj5UdWVzZGF5LCBNYXkgMiwgMjAxNyBhdCAyOjQ4IFBN
PGJyPg0KPGI+VG86IDwvYj4mcXVvdDtFcmljIFZvaXQgKGV2b2l0KSZxdW90OyAmbHQ7ZXZvaXRA
Y2lzY28uY29tJmd0OywgUGhpbCBTaGFmZXIgJmx0O3BoaWxAanVuaXBlci5uZXQmZ3Q7LCAmcXVv
dDtUaW0gSmVua2lucyAodGltamVua2kpJnF1b3Q7ICZsdDt0aW1qZW5raUBjaXNjby5jb20mZ3Q7
PGJyPg0KPGI+Q2M6IDwvYj4mcXVvdDtuZXRjb25mQGlldGYub3JnJnF1b3Q7ICZsdDtuZXRjb25m
QGlldGYub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6IDwvYj5SRTogW05ldGNvbmZdIFN1YnNjcmlw
dGlvbnMgdG8gbm9uLWV4aXN0ZW50IGRhdGE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPldoYXQgbGFuZ3VhZ2Ugd291bGQgeW91IGxp
a2UgdG8gc2VlIGFsdGVyZWQ/Jm5ic3A7Jm5ic3A7VGhlIGN1cnJlbnQgZHJhZnQgYWxyZWFkeSBz
dXBwb3J0cyBzdWJzY3JpcHRpb25zIHRvIGRhdGEgdGhhdCBkb2Vzbid0IGV4aXN0IHlldC4mbmJz
cDsmbmJzcDtGb3IgZXhhbXBsZSwgbmV3IGxpc3QgZWxlbWVudHMgY2FuIGJlIGNyZWF0ZWQgd2hl
biBhIHN1YnNjcmlwdGlvbiBpcyBpbiBwcm9ncmVzcyBhbmQgYW4gb24tY2hhbmdlIHN1YnNjcmlw
dGlvbg0KIHdpbGwgY2FsbCB0aGlzIG91dCAobmV3IGRhdGEgbm9kZXMgY3JlYXRlZCwgdGhhdCB3
ZXJlbid0IHRoZXJlIGJlZm9yZSkgc3BlY2lmaWNhbGx5LiZuYnNwOyZuYnNwOw0KPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBvbmUgdGhp
bmcgdGhhdCB1c2VkIHRvIGJlIGNhbGxlZCBvdXQgYXMgcmVxdWlyZWQgd2FzIHRoZSBwcmVzZW5j
ZSBvZiB0aGUgdGFyZ2V0IGRhdGEgbm9kZSB0aGF0IHNlcnZlcyBhcyB0aGUgcm9vdC4mbmJzcDsm
bmJzcDsgSG93ZXZlciwgdGhpcyBoYXMgYWxsIG1vdmVkIGludG8gdGhlIGZpbHRlciBkZWZpbml0
aW9uLCBsZWF2aW5nIGFueW9uZSBmcmVlIHRvIGNyZWF0ZSBhIGZpbHRlciB0aGF0IG1heSBub3Qg
bWF0Y2ggYW55dGhpbmcNCiBhbHJlYWR5LiZuYnNwOyZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLS0gQWxleDxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLS0tLU9yaWdpbmFsIE1l
c3NhZ2UtLS0tLTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+RnJvbTogTmV0Y29uZiBbPGEgaHJlZj0ibWFpbHRvOm5ldGNvbmYtYm91bmNlc0BpZXRm
Lm9yZyI+bWFpbHRvOm5ldGNvbmYtYm91bmNlc0BpZXRmLm9yZzwvYT5dIE9uIEJlaGFsZiBPZiBF
cmljIFZvaXQgKGV2b2l0KTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+U2VudDogTW9uZGF5LCBNYXkgMDEsIDIwMTcgMTowOCBQTTxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VG86IFBoaWwgU2hhZmVy
ICZsdDs8YSBocmVmPSJtYWlsdG86cGhpbEBqdW5pcGVyLm5ldCI+cGhpbEBqdW5pcGVyLm5ldDwv
YT4mZ3Q7OyBUaW0gSmVua2lucyAodGltamVua2kpICZsdDs8YSBocmVmPSJtYWlsdG86dGltamVu
a2lAY2lzY28uY29tIj50aW1qZW5raUBjaXNjby5jb208L2E+Jmd0OzxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Q2M6IDxhIGhyZWY9Im1haWx0bzpu
ZXRjb25mQGlldGYub3JnIj5uZXRjb25mQGlldGYub3JnPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U3ViamVjdDogUmU6IFtOZXRjb25mXSBT
dWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhPG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoaXMgc2VlbXMgYSByZWFzb25hYmxlIGNo
YW5nZSB0byB5YW5nLXB1c2guJm5ic3A7Jm5ic3A7IEl0IGRvZXMgbWFrZSBpbXBsZW1lbnRhdGlv
biBzaW1wbGVyIGFzIHRoZXkgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBzb21lIGNvbXBsZXgg
ZW5mb3JjZW1lbnQgY2FzZXMuJm5ic3A7Jm5ic3A7Rm9yIGV4YW1wbGUsIHlvdSBkb24ndCBoYXZl
IHRvIHdvcnJ5IGFib3V0IHJlY3JlYXRpbmcgc3Vic2NyaXB0aW9ucyB3aGVuIGRhdGEgZGlzYXBw
ZWFycw0KIHRoZW4gcmVhcHBlYXJzLiZuYnNwOyZuYnNwO0luIGZhY3QgaXQgaXMgYWN0dWFsbHkg
aXMgbW9yZSByb2J1c3QgYXMgeW91IGNhbiBwdXQgc3Vic2NyaXB0aW9ucyBpbiBhbnRpY2lwYXRp
b24gb2YgdGhlIGNyZWF0aW9uIG9mIGNlcnRhaW4gb2JqZWN0cy48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIGRvd25zaWRlcyBhcmUgeW91
IGxvc2Ugc29tZSBwcm90ZWN0aW9ucyBmb3IgbGVmdCBvdmVyIHN1YnNjcmlwdGlvbnMgaGFuZ2lu
ZyBhcm91bmQgaW4gbWVtb3J5LiZuYnNwOyZuYnNwO0J1dCB0aGVyZSBhcmUgb3RoZXIgd2F5cyBv
ZiBhZGRyZXNzaW5nIHRoYXQgd2hpY2ggd2lsbCBiZSBuZWVkZWQgaW4gdGhlIGxhcmdlciBzb2x1
dGlvbiBzcGFjZSBhbnl3YXkuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPkVyaWM8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90
ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0I1QzRERiA0LjVwdDtwYWRk
aW5nOjBjbSAwY20gMGNtIDQuMHB0O21hcmdpbi1sZWZ0OjMuNzVwdDttYXJnaW4tcmlnaHQ6MGNt
IiBpZD0iTUFDX09VVExPT0tfQVRUUklCVVRJT05fQkxPQ0tRVU9URSI+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+RnJvbTogUGhpbCBTaGFmZXIsIE1vbmRheSwgTWF5IDEsIDIwMTcgMjoz
OSBQTTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
JiM0MzsxPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mcXVvdDtUaW0gSmVua2lucyAodGltamVua2kpJnF1b3Q7IHdyaXRlczo8bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDtJbiBsb29raW5nIGF0
IHRoZSBzdWJzY3JpYmVkIG5vdGlmaWNhdGlvbnMgZHJhZnQ8bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPig8YSBocmVmPSJodHRwczovL3Rvb2xzLmll
dGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNjcmliZWQtbm90aWZpY2F0aW8iPmh0
dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJlZC1u
b3RpZmljYXRpbzwvYT48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPm5zLTAyKSwgSSdkIGxpa2UgdG8gc3VnZ2VzdCB0aGF0IHdlIGFsdGVyIHRoZSBs
YW5ndWFnZSB0byBwZXJtaXQgdGhlDQo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPmV4aXN0ZW5jZSBvZiBzdWJzY3JpcHRpb25zIHRvIGRhdGEgdGhh
dCBkb2Vzbid0IGV4aXN0IChidXQgY291bGQpLg0KPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PYnZpb3VzbHksIHN1YnNjcmlwdGlvbnMgdG8gaW52
YWxpZGx5IHNwZWNpZmllZCBkYXRhIHNob3VsZCBmYWlsLCBidXQNCjxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YXMgYW4gZXhhbXBsZSwgYSBzdWJz
Y3JpcHRpb24gdG8gdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFuIGludGVyZmFjZQ0KPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj50aGF0IGhhc24n
dCB5ZXQgYmVlbiBjcmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQuPG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+TmV0Y29uZiBtYWlsaW5nIGxpc3Q8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxhIGhyZWY9Im1haWx0bzpOZXRj
b25mQGlldGYub3JnIj5OZXRjb25mQGlldGYub3JnPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL25ldGNvbmY8L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvYmxvY2txdW90
ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj5OZXRjb25mIG1haWxpbmcgbGlzdDxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgaHJlZj0ibWFpbHRvOk5ldGNv
bmZAaWV0Zi5vcmciPk5ldGNvbmZAaWV0Zi5vcmc8L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4v
bGlzdGluZm8vbmV0Y29uZjwvYT48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwv
Ym9keT4NCjwvaHRtbD4NCg==

--_000_8100BB374F3249F08CB0D58DEECB4A0Eciscocom_--


From nobody Tue May  2 17:10:20 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 02A68128DE7 for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 17:10:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IFMxYkd-caza for <netconf@ietfa.amsl.com>; Tue,  2 May 2017 17:10:16 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E341412869B for <netconf@ietf.org>; Tue,  2 May 2017 17:08:28 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DMD75644; Wed, 03 May 2017 00:08:26 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 3 May 2017 01:08:25 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML703-CHM.china.huawei.com ([169.254.5.195]) with mapi id 14.03.0235.001;  Tue, 2 May 2017 17:08:19 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "Eric Voit (evoit)" <evoit@cisco.com>, Phil Shafer <phil@juniper.net>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Subscriptions to non-existent data
Thread-Index: AQHSwol3jzH/5L4K90iinQbkbTuvQaHgRKkAgAAY2wCAAQFFUIAAgwGA///bH/A=
Date: Wed, 3 May 2017 00:08:16 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94768@SJCEML701-CHM.china.huawei.com>
References: <FBFB6618-5540-4879-9323-6A5167305AB8@cisco.com> <201705011838.v41IcxRY024434@idle.juniper.net> <171168450ddf469cbe99e731fd2373d4@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94562@SJCEML701-CHM.china.huawei.com> <8100BB37-4F32-49F0-8CB0-D58DEECB4A0E@cisco.com>
In-Reply-To: <8100BB37-4F32-49F0-8CB0-D58DEECB4A0E@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.93]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF94768SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.59091F7B.0075, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: aedfc2a37fed83c33cec5b4305bf1933
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/IEf9_G1VIbKSDNLL_IS_Kp5w3ek>
Subject: Re: [Netconf] Subscriptions to non-existent data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 00:10:19 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF94768SJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgVGltLA0KDQpPa2F5LCBkZWZpbml0ZWx5IHRoZSBiZWhhdmlvciBpcyBzb21ldGhpbmcgd2Ug
c2hvdWxkIGNsYXJpZnkgKGFzIHdlbGwgYXMgaG93IHdlIHdvdWxkIGdvIGFib3V0IOKAnGdhcmJh
Z2UgY29sbGVjdGluZ+KAnSBkeXNmdW5jdCBzdWJzY3JpcHRpb25zLCBhcyBFcmljIGFsbHVkZXMg
dG8pDQoNClRoYW5rcw0KLS0tIEFsZXgNCg0KRnJvbTogVGltIEplbmtpbnMgKHRpbWplbmtpKSBb
bWFpbHRvOnRpbWplbmtpQGNpc2NvLmNvbV0NClNlbnQ6IFR1ZXNkYXksIE1heSAwMiwgMjAxNyAx
MjoxOCBQTQ0KVG86IEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20+
OyBFcmljIFZvaXQgKGV2b2l0KSA8ZXZvaXRAY2lzY28uY29tPjsgUGhpbCBTaGFmZXIgPHBoaWxA
anVuaXBlci5uZXQ+DQpDYzogbmV0Y29uZkBpZXRmLm9yZw0KU3ViamVjdDogUmU6IFtOZXRjb25m
XSBTdWJzY3JpcHRpb25zIHRvIG5vbi1leGlzdGVudCBkYXRhDQoNCkFsZXgsDQoNCkl0IGFwcGVh
cnMgdG8gYmUgbGVzcyBjbGVhciBpbiB0aGUgbGF0ZXN0IGRyYWZ0LCBidXQgdGhlIHBvaW50IGlz
IHRoYXQgaXQncyBub3QgZXhwbGljaXQgZWl0aGVyIHdheS4gU29tZSBoYXZlIGludGVycHJldGVk
IHRoaXMgKHNlY3Rpb24gMy43KToNCg0KDQogICBBIGRhdGFzdG9yZSBzdWJzY3JpcHRpb24gY2Fu
IGJlIHJlamVjdGVkIGZvciBtdWx0aXBsZSByZWFzb25zLiAgVGhpcw0KDQogICBpbmNsdWRlcyB0
aGUgbGFjayBvZiByZWFkIGF1dGhvcml6YXRpb24gb24gYSByZXF1ZXN0ZWQgZGF0YSBub2RlLCAu
Li4NCg0KYXMgbWVhbmluZyB0aGF0IHRoZSBkYXRhIGhhcyB0byBleGlzdCwgcGVyaGFwcyBpbiBv
cmRlciB0byBrbm93IHRoZSByZWFkIHBlcm1pc3Npb25zLiBPciBwZXJoYXBzIHRoZXJlIHdhcyBh
IGRlc2lyZSB0byByZWR1Y2UgcmVzb3VyY2UgdXNhZ2UuDQoNClJlZ2FyZGxlc3MsIHdoYXQgSSdk
IGxpa2UgdG8gc2VlIGlzIGV4cGxpY2l0IHN0YXRlbWVudHMgb2YgdGhlIGJlaGF2aW91ciBhbmQg
ZGVzY3JpcHRpb25zIG9mIHRoZSB1cGRhdGUgbm90aWZpY2F0aW9uIGNvbnRlbnRzIHVuZGVyIHRo
b3NlIGNvbmRpdGlvbnMsIG11Y2ggbGlrZSB3aGF0IEkgcHJvcG9zZWQgYmVsb3cuDQoNClRpbQ0K
DQotLQ0KQ2lzY28gU3lzdGVtcyBDYW5hZGEgQ28uDQoyMDAwIElubm92YXRpb24gRHJpdmUNCkth
bmF0YSwgT04sIENhbmFkYSwgSzJLIDNFOA0KUHJlZmVyZW5jZXMgPGh0dHA6Ly93d3cuY2lzY28u
Y29tL29mZmVyL3N1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNj4NClVuc3Vic2NyaWJlIDxodHRwOi8v
d3d3LmNpc2NvLmNvbS9vZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNz4NClByaXZhY3kg
PGh0dHA6Ly93d3cuY2lzY28uY29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbD4N
Cg0KDQpGcm9tOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPG1h
aWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+DQpEYXRlOiBUdWVzZGF5LCBNYXkgMiwg
MjAxNyBhdCAyOjQ4IFBNDQpUbzogIkVyaWMgVm9pdCAoZXZvaXQpIiA8ZXZvaXRAY2lzY28uY29t
PG1haWx0bzpldm9pdEBjaXNjby5jb20+PiwgUGhpbCBTaGFmZXIgPHBoaWxAanVuaXBlci5uZXQ8
bWFpbHRvOnBoaWxAanVuaXBlci5uZXQ+PiwgIlRpbSBKZW5raW5zICh0aW1qZW5raSkiIDx0aW1q
ZW5raUBjaXNjby5jb208bWFpbHRvOnRpbWplbmtpQGNpc2NvLmNvbT4+DQpDYzogIm5ldGNvbmZA
aWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmc+IiA8bmV0Y29uZkBpZXRmLm9yZzxtYWls
dG86bmV0Y29uZkBpZXRmLm9yZz4+DQpTdWJqZWN0OiBSRTogW05ldGNvbmZdIFN1YnNjcmlwdGlv
bnMgdG8gbm9uLWV4aXN0ZW50IGRhdGENCg0KV2hhdCBsYW5ndWFnZSB3b3VsZCB5b3UgbGlrZSB0
byBzZWUgYWx0ZXJlZD8gIFRoZSBjdXJyZW50IGRyYWZ0IGFscmVhZHkgc3VwcG9ydHMgc3Vic2Ny
aXB0aW9ucyB0byBkYXRhIHRoYXQgZG9lc24ndCBleGlzdCB5ZXQuICBGb3IgZXhhbXBsZSwgbmV3
IGxpc3QgZWxlbWVudHMgY2FuIGJlIGNyZWF0ZWQgd2hlbiBhIHN1YnNjcmlwdGlvbiBpcyBpbiBw
cm9ncmVzcyBhbmQgYW4gb24tY2hhbmdlIHN1YnNjcmlwdGlvbiB3aWxsIGNhbGwgdGhpcyBvdXQg
KG5ldyBkYXRhIG5vZGVzIGNyZWF0ZWQsIHRoYXQgd2VyZW4ndCB0aGVyZSBiZWZvcmUpIHNwZWNp
ZmljYWxseS4NCg0KVGhlIG9uZSB0aGluZyB0aGF0IHVzZWQgdG8gYmUgY2FsbGVkIG91dCBhcyBy
ZXF1aXJlZCB3YXMgdGhlIHByZXNlbmNlIG9mIHRoZSB0YXJnZXQgZGF0YSBub2RlIHRoYXQgc2Vy
dmVzIGFzIHRoZSByb290LiAgIEhvd2V2ZXIsIHRoaXMgaGFzIGFsbCBtb3ZlZCBpbnRvIHRoZSBm
aWx0ZXIgZGVmaW5pdGlvbiwgbGVhdmluZyBhbnlvbmUgZnJlZSB0byBjcmVhdGUgYSBmaWx0ZXIg
dGhhdCBtYXkgbm90IG1hdGNoIGFueXRoaW5nIGFscmVhZHkuDQoNCi0tLSBBbGV4DQoNCi0tLS0t
T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBOZXRjb25mIFttYWlsdG86bmV0Y29uZi1ib3Vu
Y2VzQGlldGYub3JnXSBPbiBCZWhhbGYgT2YgRXJpYyBWb2l0IChldm9pdCkNClNlbnQ6IE1vbmRh
eSwgTWF5IDAxLCAyMDE3IDE6MDggUE0NClRvOiBQaGlsIFNoYWZlciA8cGhpbEBqdW5pcGVyLm5l
dDxtYWlsdG86cGhpbEBqdW5pcGVyLm5ldD4+OyBUaW0gSmVua2lucyAodGltamVua2kpIDx0aW1q
ZW5raUBjaXNjby5jb208bWFpbHRvOnRpbWplbmtpQGNpc2NvLmNvbT4+DQpDYzogbmV0Y29uZkBp
ZXRmLm9yZzxtYWlsdG86bmV0Y29uZkBpZXRmLm9yZz4NClN1YmplY3Q6IFJlOiBbTmV0Y29uZl0g
U3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3RlbnQgZGF0YQ0KDQpUaGlzIHNlZW1zIGEgcmVhc29u
YWJsZSBjaGFuZ2UgdG8geWFuZy1wdXNoLiAgIEl0IGRvZXMgbWFrZSBpbXBsZW1lbnRhdGlvbiBz
aW1wbGVyIGFzIHRoZXkgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBzb21lIGNvbXBsZXggZW5m
b3JjZW1lbnQgY2FzZXMuICBGb3IgZXhhbXBsZSwgeW91IGRvbid0IGhhdmUgdG8gd29ycnkgYWJv
dXQgcmVjcmVhdGluZyBzdWJzY3JpcHRpb25zIHdoZW4gZGF0YSBkaXNhcHBlYXJzIHRoZW4gcmVh
cHBlYXJzLiAgSW4gZmFjdCBpdCBpcyBhY3R1YWxseSBpcyBtb3JlIHJvYnVzdCBhcyB5b3UgY2Fu
IHB1dCBzdWJzY3JpcHRpb25zIGluIGFudGljaXBhdGlvbiBvZiB0aGUgY3JlYXRpb24gb2YgY2Vy
dGFpbiBvYmplY3RzLg0KDQpUaGUgZG93bnNpZGVzIGFyZSB5b3UgbG9zZSBzb21lIHByb3RlY3Rp
b25zIGZvciBsZWZ0IG92ZXIgc3Vic2NyaXB0aW9ucyBoYW5naW5nIGFyb3VuZCBpbiBtZW1vcnku
ICBCdXQgdGhlcmUgYXJlIG90aGVyIHdheXMgb2YgYWRkcmVzc2luZyB0aGF0IHdoaWNoIHdpbGwg
YmUgbmVlZGVkIGluIHRoZSBsYXJnZXIgc29sdXRpb24gc3BhY2UgYW55d2F5Lg0KDQpFcmljDQoN
CkZyb206IFBoaWwgU2hhZmVyLCBNb25kYXksIE1heSAxLCAyMDE3IDI6MzkgUE0NCisxDQoiVGlt
IEplbmtpbnMgKHRpbWplbmtpKSIgd3JpdGVzOg0KPkluIGxvb2tpbmcgYXQgdGhlIHN1YnNjcmli
ZWQgbm90aWZpY2F0aW9ucyBkcmFmdA0KKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFm
dC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJlZC1ub3RpZmljYXRpbw0KbnMtMDIpLCBJJ2QgbGlrZSB0
byBzdWdnZXN0IHRoYXQgd2UgYWx0ZXIgdGhlIGxhbmd1YWdlIHRvIHBlcm1pdCB0aGUNCmV4aXN0
ZW5jZSBvZiBzdWJzY3JpcHRpb25zIHRvIGRhdGEgdGhhdCBkb2Vzbid0IGV4aXN0IChidXQgY291
bGQpLg0KT2J2aW91c2x5LCBzdWJzY3JpcHRpb25zIHRvIGludmFsaWRseSBzcGVjaWZpZWQgZGF0
YSBzaG91bGQgZmFpbCwgYnV0DQphcyBhbiBleGFtcGxlLCBhIHN1YnNjcmlwdGlvbiB0byB0aGUg
b3BlcmF0aW9uYWwgc3RhdGUgb2YgYW4gaW50ZXJmYWNlDQp0aGF0IGhhc24ndCB5ZXQgYmVlbiBj
cmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQuDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0KTmV0Y29uZiBtYWlsaW5nIGxpc3QNCk5ldGNvbmZAaWV0Zi5v
cmc8bWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmc+DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL25ldGNvbmYNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18NCk5ldGNvbmYgbWFpbGluZyBsaXN0DQpOZXRjb25mQGlldGYub3JnPG1haWx0
bzpOZXRjb25mQGlldGYub3JnPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5m
by9uZXRjb25mDQoNCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF94768SJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
V2luZ2RpbmdzOw0KCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0K
CXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMg
MiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1
IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNvbnNvbGFzOw0K
CXBhbm9zZS0xOjIgMTEgNiA5IDIgMiA0IDMgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICov
DQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47
DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1p
bHk6IlRpbWVzIE5ldyBSb21hbiIsc2VyaWY7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0K
CXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246
dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28t
c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRl
cmxpbmU7fQ0KcHJlDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoi
SFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4w
MDAxcHQ7DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciLHNl
cmlmO30NCnAuTXNvTGlzdFBhcmFncmFwaCwgbGkuTXNvTGlzdFBhcmFncmFwaCwgZGl2Lk1zb0xp
c3RQYXJhZ3JhcGgNCgl7bXNvLXN0eWxlLXByaW9yaXR5OjM0Ow0KCW1hcmdpbi10b3A6MGluOw0K
CW1hcmdpbi1yaWdodDowaW47DQoJbWFyZ2luLWJvdHRvbTowaW47DQoJbWFyZ2luLWxlZnQ6LjVp
bjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh
bWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9DQpzcGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFy
DQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltc28tc3R5bGUt
cHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIjsNCglmb250
LWZhbWlseToiQ291cmllciBOZXciLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE5DQoJe21zby1z
dHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K
CWNvbG9yOndpbmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjANCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29s
b3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25s
eTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWlu
IDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0
aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlz
dCBsMA0KCXttc28tbGlzdC1pZDoxMzI2NTQ1NjQ4Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0K
CW1zby1saXN0LXRlbXBsYXRlLWlkczotMTk0ODU5NTI4MiAtMTA1Mjk4MjE4NiA2NzY5ODY5MSA2
NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5
ODY5Mzt9DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLXN0YXJ0LWF0OjI7DQoJbXNvLWxl
dmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+BrjsNCgltc28tbGV2
ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4
dC1pbmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFtaWx5OldpbmdkaW5nczsNCgltc28tZmFyZWFzdC1m
b250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9t
YW4iO30NCkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7
DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2
ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZvbnQtZmFt
aWx5OiJDb3VyaWVyIE5ldyIsc2VyaWY7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1sZXZlbC1u
dW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJ
e21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJ
bXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0
Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDA6
bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4
dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3
IixzZXJpZjt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVs
bGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCglt
c28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZv
bnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLW51bWJl
ci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0
b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6
LS4yNWluOw0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsMDpsZXZlbDgNCgl7bXNvLWxl
dmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciLHNlcmlmO30NCkBsaXN0
IGwwOmxldmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVs
LXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6V2luZ2Rp
bmdzO30NCm9sDQoJe21hcmdpbi1ib3R0b206MGluO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGlu
O30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRz
IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp
ZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1h
cCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRp
Zl0tLT4NCjwvaGVhZD4NCjxib2R5IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1VUyIgbGluaz0i
Ymx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkhpIFRpbSw8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPk9rYXksIGRlZmluaXRlbHkg
dGhlIGJlaGF2aW9yIGlzIHNvbWV0aGluZyB3ZSBzaG91bGQgY2xhcmlmeSAoYXMgd2VsbCBhcyBo
b3cgd2Ugd291bGQgZ28gYWJvdXQg4oCcZ2FyYmFnZSBjb2xsZWN0aW5n4oCdIGR5c2Z1bmN0IHN1
YnNjcmlwdGlvbnMsIGFzIEVyaWMgYWxsdWRlcyB0byk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4m
bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmO2NvbG9yOiMxRjQ5N0QiPlRoYW5rczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4tLS0gQWxleDxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdiBz
dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6
My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gVGltIEplbmtpbnMgKHRpbWpl
bmtpKSBbbWFpbHRvOnRpbWplbmtpQGNpc2NvLmNvbV0NCjxicj4NCjxiPlNlbnQ6PC9iPiBUdWVz
ZGF5LCBNYXkgMDIsIDIwMTcgMTI6MTggUE08YnI+DQo8Yj5Ubzo8L2I+IEFsZXhhbmRlciBDbGVt
bSAmbHQ7YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20mZ3Q7OyBFcmljIFZvaXQgKGV2b2l0KSAm
bHQ7ZXZvaXRAY2lzY28uY29tJmd0OzsgUGhpbCBTaGFmZXIgJmx0O3BoaWxAanVuaXBlci5uZXQm
Z3Q7PGJyPg0KPGI+Q2M6PC9iPiBuZXRjb25mQGlldGYub3JnPGJyPg0KPGI+U3ViamVjdDo8L2I+
IFJlOiBbTmV0Y29uZl0gU3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3RlbnQgZGF0YTxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+
QWxleCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZiI+SXQgYXBwZWFycyB0byBiZSBsZXNzIGNsZWFyIGluIHRoZSBs
YXRlc3QgZHJhZnQsIGJ1dCB0aGUgcG9pbnQgaXMgdGhhdCBpdCdzIG5vdCBleHBsaWNpdCBlaXRo
ZXIgd2F5LiBTb21lIGhhdmUgaW50ZXJwcmV0ZWQgdGhpcyAoc2VjdGlvbiAzLjcpOjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHByZT48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyBBIGRhdGFzdG9yZSBzdWJzY3JpcHRpb24gY2FuIGJlIHJlamVjdGVkIGZv
ciBtdWx0aXBsZSByZWFzb25zLiZuYnNwOyBUaGlzPG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8
cHJlPjxzcGFuIHN0eWxlPSJjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7IGluY2x1ZGVzIHRoZSBs
YWNrIG9mIHJlYWQgYXV0aG9yaXphdGlvbiBvbiBhIHJlcXVlc3RlZCBkYXRhIG5vZGUsIC4uLjxv
OnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWYiPmFzIG1lYW5pbmcgdGhhdCB0aGUgZGF0YSBoYXMgdG8gZXhpc3QsIHBl
cmhhcHMgaW4gb3JkZXIgdG8ga25vdyB0aGUgcmVhZCBwZXJtaXNzaW9ucy4gT3IgcGVyaGFwcyB0
aGVyZSB3YXMgYSBkZXNpcmUgdG8gcmVkdWNlIHJlc291cmNlIHVzYWdlLjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
Ij5SZWdhcmRsZXNzLCB3aGF0IEknZCBsaWtlIHRvIHNlZSBpcyBleHBsaWNpdCBzdGF0ZW1lbnRz
IG9mIHRoZSBiZWhhdmlvdXIgYW5kIGRlc2NyaXB0aW9ucyBvZiB0aGUgdXBkYXRlIG5vdGlmaWNh
dGlvbiBjb250ZW50cyB1bmRlciB0aG9zZSBjb25kaXRpb25zLCBtdWNoIGxpa2Ugd2hhdCBJIHBy
b3Bvc2VkDQogYmVsb3cuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPlRpbTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj4tLSZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj5DaXNjbyBT
eXN0ZW1zIENhbmFkYSBDby48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjIwMDAgSW5ub3ZhdGlvbiBE
cml2ZTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25z
b2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZh
bWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+S2FuYXRhLCBPTiwgQ2FuYWRhLCBLMksgM0U4PC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2Nv
bG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNv
bnNvbGFzO2NvbG9yOmJsYWNrIj5QcmVmZXJlbmNlcyAmbHQ7PGEgaHJlZj0iaHR0cDovL3d3dy5j
aXNjby5jb20vb2ZmZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI2Ij5odHRwOi8vd3d3LmNpc2Nv
LmNvbS9vZmZlci9zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjY8L2E+Jmd0Ozwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xv
cjpibGFjayI+VW5zdWJzY3JpYmUgJmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzY28uY29tL29m
ZmVyL3Vuc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI3Ij5odHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZl
ci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNzwvYT4mZ3Q7PC9zcGFuPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNr
Ij5Qcml2YWN5ICZsdDs8YSBocmVmPSJodHRwOi8vd3d3LmNpc2NvLmNvbS93ZWIvc2l0ZWFzc2V0
cy9sZWdhbC9wcml2YWN5Lmh0bWwiPmh0dHA6Ly93d3cuY2lzY28uY29tL3dlYi9zaXRlYXNzZXRz
L2xlZ2FsL3ByaXZhY3kuaHRtbDwvYT4mZ3Q7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4w
cHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOmJsYWNrIj5Gcm9tOg0KPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj5BbGV4YW5kZXIgQ2xlbW0g
Jmx0OzxhIGhyZWY9Im1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbSI+YWxleGFuZGVy
LmNsZW1tQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjxiPkRhdGU6IDwvYj5UdWVzZGF5LCBNYXkg
MiwgMjAxNyBhdCAyOjQ4IFBNPGJyPg0KPGI+VG86IDwvYj4mcXVvdDtFcmljIFZvaXQgKGV2b2l0
KSZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmV2b2l0QGNpc2NvLmNvbSI+ZXZvaXRAY2lzY28u
Y29tPC9hPiZndDssIFBoaWwgU2hhZmVyICZsdDs8YSBocmVmPSJtYWlsdG86cGhpbEBqdW5pcGVy
Lm5ldCI+cGhpbEBqdW5pcGVyLm5ldDwvYT4mZ3Q7LCAmcXVvdDtUaW0gSmVua2lucyAodGltamVu
a2kpJnF1b3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86dGltamVua2lAY2lzY28uY29tIj50aW1qZW5r
aUBjaXNjby5jb208L2E+Jmd0Ozxicj4NCjxiPkNjOiA8L2I+JnF1b3Q7PGEgaHJlZj0ibWFpbHRv
Om5ldGNvbmZAaWV0Zi5vcmciPm5ldGNvbmZAaWV0Zi5vcmc8L2E+JnF1b3Q7ICZsdDs8YSBocmVm
PSJtYWlsdG86bmV0Y29uZkBpZXRmLm9yZyI+bmV0Y29uZkBpZXRmLm9yZzwvYT4mZ3Q7PGJyPg0K
PGI+U3ViamVjdDogPC9iPlJFOiBbTmV0Y29uZl0gU3Vic2NyaXB0aW9ucyB0byBub24tZXhpc3Rl
bnQgZGF0YTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+V2hhdCBsYW5ndWFnZSB3b3VsZCB5b3UgbGlrZSB0byBzZWUgYWx0ZXJlZD8m
bmJzcDsmbmJzcDtUaGUgY3VycmVudCBkcmFmdCBhbHJlYWR5IHN1cHBvcnRzIHN1YnNjcmlwdGlv
bnMgdG8gZGF0YSB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0LiZuYnNwOyZuYnNwO0ZvciBleGFtcGxl
LCBuZXcgbGlzdCBlbGVtZW50cyBjYW4gYmUgY3JlYXRlZCB3aGVuIGEgc3Vic2NyaXB0aW9uIGlz
IGluIHByb2dyZXNzIGFuZCBhbiBvbi1jaGFuZ2Ugc3Vic2NyaXB0aW9uDQogd2lsbCBjYWxsIHRo
aXMgb3V0IChuZXcgZGF0YSBub2RlcyBjcmVhdGVkLCB0aGF0IHdlcmVuJ3QgdGhlcmUgYmVmb3Jl
KSBzcGVjaWZpY2FsbHkuJm5ic3A7Jm5ic3A7DQo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIG9uZSB0aGluZyB0aGF0IHVzZWQgdG8gYmUg
Y2FsbGVkIG91dCBhcyByZXF1aXJlZCB3YXMgdGhlIHByZXNlbmNlIG9mIHRoZSB0YXJnZXQgZGF0
YSBub2RlIHRoYXQgc2VydmVzIGFzIHRoZSByb290LiZuYnNwOyZuYnNwOyBIb3dldmVyLCB0aGlz
IGhhcyBhbGwgbW92ZWQgaW50byB0aGUgZmlsdGVyIGRlZmluaXRpb24sIGxlYXZpbmcgYW55b25l
IGZyZWUgdG8gY3JlYXRlIGEgZmlsdGVyIHRoYXQgbWF5IG5vdCBtYXRjaCBhbnl0aGluZw0KIGFs
cmVhZHkuJm5ic3A7Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPi0tLSBBbGV4PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Gcm9tOiBOZXRjb25m
IFs8YSBocmVmPSJtYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnIj5tYWlsdG86bmV0Y29u
Zi1ib3VuY2VzQGlldGYub3JnPC9hPl0gT24gQmVoYWxmIE9mIEVyaWMgVm9pdCAoZXZvaXQpPG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TZW50OiBN
b25kYXksIE1heSAwMSwgMjAxNyAxOjA4IFBNPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UbzogUGhpbCBTaGFmZXIgJmx0OzxhIGhyZWY9Im1haWx0
bzpwaGlsQGp1bmlwZXIubmV0Ij5waGlsQGp1bmlwZXIubmV0PC9hPiZndDs7IFRpbSBKZW5raW5z
ICh0aW1qZW5raSkgJmx0OzxhIGhyZWY9Im1haWx0bzp0aW1qZW5raUBjaXNjby5jb20iPnRpbWpl
bmtpQGNpc2NvLmNvbTwvYT4mZ3Q7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5DYzogPGEgaHJlZj0ibWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmciPm5l
dGNvbmZAaWV0Zi5vcmc8L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5TdWJqZWN0OiBSZTogW05ldGNvbmZdIFN1YnNjcmlwdGlvbnMgdG8gbm9u
LWV4aXN0ZW50IGRhdGE8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+VGhpcyBzZWVtcyBhIHJlYXNvbmFibGUgY2hhbmdlIHRvIHlhbmctcHVzaC4m
bmJzcDsmbmJzcDsgSXQgZG9lcyBtYWtlIGltcGxlbWVudGF0aW9uIHNpbXBsZXIgYXMgdGhleSBk
b24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IHNvbWUgY29tcGxleCBlbmZvcmNlbWVudCBjYXNlcy4m
bmJzcDsmbmJzcDtGb3IgZXhhbXBsZSwgeW91IGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgcmVj
cmVhdGluZyBzdWJzY3JpcHRpb25zIHdoZW4gZGF0YSBkaXNhcHBlYXJzDQogdGhlbiByZWFwcGVh
cnMuJm5ic3A7Jm5ic3A7SW4gZmFjdCBpdCBpcyBhY3R1YWxseSBpcyBtb3JlIHJvYnVzdCBhcyB5
b3UgY2FuIHB1dCBzdWJzY3JpcHRpb25zIGluIGFudGljaXBhdGlvbiBvZiB0aGUgY3JlYXRpb24g
b2YgY2VydGFpbiBvYmplY3RzLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5UaGUgZG93bnNpZGVzIGFyZSB5b3UgbG9zZSBzb21lIHByb3RlY3Rp
b25zIGZvciBsZWZ0IG92ZXIgc3Vic2NyaXB0aW9ucyBoYW5naW5nIGFyb3VuZCBpbiBtZW1vcnku
Jm5ic3A7Jm5ic3A7QnV0IHRoZXJlIGFyZSBvdGhlciB3YXlzIG9mIGFkZHJlc3NpbmcgdGhhdCB3
aGljaCB3aWxsIGJlIG5lZWRlZCBpbiB0aGUgbGFyZ2VyIHNvbHV0aW9uIHNwYWNlIGFueXdheS48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RXJp
YzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86
cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9u
ZTtib3JkZXItbGVmdDpzb2xpZCAjQjVDNERGIDQuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4w
cHQ7bWFyZ2luLWxlZnQ6My43NXB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBpbjtt
YXJnaW4tYm90dG9tOjUuMHB0IiBpZD0iTUFDX09VVExPT0tfQVRUUklCVVRJT05fQkxPQ0tRVU9U
RSI+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RnJvbTogUGhpbCBTaGFmZXIsIE1vbmRh
eSwgTWF5IDEsIDIwMTcgMjozOSBQTTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+JiM0MzsxPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mcXVvdDtUaW0gSmVua2lucyAodGltamVua2kpJnF1b3Q7IHdy
aXRlczo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDtJbiBsb29raW5nIGF0IHRoZSBzdWJzY3JpYmVkIG5vdGlmaWNhdGlvbnMgZHJhZnQ8bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPig8YSBocmVm
PSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNjcmli
ZWQtbm90aWZpY2F0aW8iPmh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5l
dGNvbmYtc3Vic2NyaWJlZC1ub3RpZmljYXRpbzwvYT48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPm5zLTAyKSwgSSdkIGxpa2UgdG8gc3VnZ2VzdCB0
aGF0IHdlIGFsdGVyIHRoZSBsYW5ndWFnZSB0byBwZXJtaXQgdGhlDQo8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmV4aXN0ZW5jZSBvZiBzdWJzY3Jp
cHRpb25zIHRvIGRhdGEgdGhhdCBkb2Vzbid0IGV4aXN0IChidXQgY291bGQpLg0KPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PYnZpb3VzbHksIHN1
YnNjcmlwdGlvbnMgdG8gaW52YWxpZGx5IHNwZWNpZmllZCBkYXRhIHNob3VsZCBmYWlsLCBidXQN
CjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YXMg
YW4gZXhhbXBsZSwgYSBzdWJzY3JpcHRpb24gdG8gdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFu
IGludGVyZmFjZQ0KPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj50aGF0IGhhc24ndCB5ZXQgYmVlbiBjcmVhdGVkIHNob3VsZCBiZSBwZXJtaXR0ZWQu
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+TmV0Y29uZiBtYWlsaW5nIGxp
c3Q8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxh
IGhyZWY9Im1haWx0bzpOZXRjb25mQGlldGYub3JnIj5OZXRjb25mQGlldGYub3JnPC9hPjxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgaHJlZj0i
aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mIj5odHRwczovL3d3
dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmY8L2E+PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5OZXRjb25mIG1haWxpbmcgbGlz
dDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEg
aHJlZj0ibWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmciPk5ldGNvbmZAaWV0Zi5vcmc8L2E+PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBocmVmPSJo
dHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYiPmh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0Y29uZjwvYT48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF94768SJCEML701CHMchi_--


From nobody Wed May  3 07:01:03 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 528AD129BF8; Wed,  3 May 2017 07:01:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Level: 
X-Spam-Status: No, score=-14.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9i3xtBFXScnX; Wed,  3 May 2017 07:00:50 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 330E01200ED; Wed,  3 May 2017 06:56:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=44418; q=dns/txt; s=iport; t=1493819817; x=1495029417; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=5af2C7Hh0Mtv7bn7yi+AyOSsHoU548BVV6VXUy+Fp2s=; b=Q0N++QvWfrXjrROdJ1eaVGBT2KCN5lTBuRfFEFslyGtj0TdmplOxGrWN toIKWjBbARuYooFVINiul94Axyf0WRO/uZWfmb+zFDNY7JENQioCUp8z5 ecRyuFLvF166tQzLOi+c1Cbmn5NzYdXUm+er3bjug1cVypk+GN/c0vxzF I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DOAAC+4AlZ/5RdJa1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nYoEMB415kVOIIo1Mgg+GJAKEPD8YAQIBAQEBAQEBayiFFQE?= =?us-ascii?q?BAQEDLUoCEAIBCBEEAQENARMBAgQHIREUCQgBAQQBDQUIigEDFbM8hzUNgy4BA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBAQEdhl+ERTSCVIIWBygChS0FkBaNCzsBik2DdoR?= =?us-ascii?q?HgguFOYolgW2HDIIoiRIBHziBCm8VRYRsOoFKdoYhByIBgQaBDQEBAQ?=
X-IronPort-AV: E=Sophos;i="5.38,284,1491264000";  d="scan'208,217";a="244368486"
Received: from rcdn-core-12.cisco.com ([173.37.93.148]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 May 2017 13:56:53 +0000
Received: from XCH-RTP-010.cisco.com (xch-rtp-010.cisco.com [64.101.220.150]) by rcdn-core-12.cisco.com (8.14.5/8.14.5) with ESMTP id v43Duq4f018609 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 3 May 2017 13:56:52 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-010.cisco.com (64.101.220.150) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 3 May 2017 09:56:52 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Wed, 3 May 2017 09:56:52 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Alexander Clemm <alexander.clemm@huawei.com>, "Zhengguangying (Walker)" <zhengguangying@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
Thread-Index: AdLDR3hOn9XaWmkfSOG01TBPVl+DnAAAtJVQAArbmIAAJ0v9wA==
Date: Wed, 3 May 2017 13:56:52 +0000
Message-ID: <31b203916b3b4081a6d0b88cfb8f0fbc@XCH-RTP-013.cisco.com>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com> <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_31b203916b3b4081a6d0b88cfb8f0fbcXCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/4m9pFFxGVFEsXX1pbwzNhjDaZq4>
Subject: Re: [Netconf] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 14:01:01 -0000

--_000_31b203916b3b4081a6d0b88cfb8f0fbcXCHRTP013ciscocom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

(Moving lots of people to 'BCC' so that this thread can traverse NETCONF & =
NETMOD filters as Walker originally intended.)

One more comment, see <<Eric>>

From: Alexander Clemm, May 2, 2017 8:35 PM

Hi Walker, thank you for your review and comments, and Eric, for your excel=
lent response, to which I have little to add except a few small items inlin=
e <ALEX>
--- Alex

From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: Tuesday, May 02, 2017 9:52 AM
To: Zhengguangying (Walker) <zhengguangying@huawei.com<mailto:zhengguangyin=
g@huawei.com>>; ludwig@clemm.org<mailto:ludwig@clemm.org>; alex@clemm.org<m=
ailto:alex@clemm.org>; 'Balazs Lengyel' <balazs.lengyel@ericsson.com<mailto=
:balazs.lengyel@ericsson.com>>
Cc: netconf@ietf.org<mailto:netconf@ietf.org>; netmod@ietf.org<mailto:netmo=
d@ietf.org>; Ambika Prasad Tripathy (ambtripa) <ambtripa@cisco.com<mailto:a=
mbtripa@cisco.com>>; 'Kent Watsen' <kwatsen@juniper.net<mailto:kwatsen@juni=
per.net>>; Hector Trevino (htrevino) <htrevino@cisco.com<mailto:htrevino@ci=
sco.com>>; Einar Nilsen-Nygaard (einarnn) <einarnn@cisco.com<mailto:einarnn=
@cisco.com>>; Guopeipei (Peipei Guo) <guopeipei@huawei.com<mailto:guopeipei=
@huawei.com>>; Alberto Gonzalez Prieto (albertgo) <albertgo@cisco.com<mailt=
o:albertgo@cisco.com>>; 'Andy Bierman' <andy@yumaworks.com<mailto:andy@yuma=
works.com>>; 'Chisholm, Sharon' <schishol@ciena.com<mailto:schishol@ciena.c=
om>>; Yangang <yangang@huawei.com<mailto:yangang@huawei.com>>; Alexander Cl=
emm <alexander.clemm@huawei.com<mailto:alexander.clemm@huawei.com>>; 'Susan=
 Hares' <shares@ndzh.com<mailto:shares@ndzh.com>>; Tim Jenkins (timjenki) <=
timjenki@cisco.com<mailto:timjenki@cisco.com>>; 'Scharf, Michael (Nokia - D=
E)' <michael.scharf@nokia.com<mailto:michael.scharf@nokia.com>>; Rohit pobb=
athi <rohit.pobbathi@huawei.com<mailto:rohit.pobbathi@huawei.com>>; 'Mehmet=
Ersue' <mersue@gmail.com<mailto:mersue@gmail.com>>; Mahesh Jethanandani (ma=
hesh) <mahesh@cisco.com<mailto:mahesh@cisco.com>>
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push=
 and subscribed-notifications, please help to confirm

Hi Walker,

Thanks very much for the comments.   Some thoughts in-line.

From: Zhengguangying (Walker), May 2, 2017 9:25 AM
Hi Alex, Eric and all,

   I reviewed the latest Draft and have some comments, please help to confi=
rm, thanks.

   For draft-ietf-netconf-yang-push-06:
1.       In section 4.1, the configured subscription receivers not sepcify =
which mechnism to connect to client, it's better define clearly, specify it=
 should be call home protocol.
<Eric> I totally agree call home is necessary.  The two transport drafts cu=
rrently have the call-home specified within them.  As we define the transpo=
rt protocol per receiver, the appropriate call home mechanism for a platfor=
m transport should be automatically selectable.  I will clarify/improve the=
 text in the subscribed-notifications draft to indicate this.
Is there something else needed at the protocol independent level?   At this=
 point I don't know of any transport-independent call home behaviors unspec=
ified, other than the need to add a context statement saying call home is n=
ecessary if transport isn't available for a queued push update message.  I =
don't think we should over specify this right now.  This is because for som=
e transport connection types, call home doesn't need to be always-on.  E.g.=
, HTTP implementations have the potential to scale differently than NETCONF=
 if a configured subscription transport can be established ad-hoc only when=
 a push-update is ready to go.   If there are other specific behaviors need=
ed for call-home behavior, what are they?  Are these something that can var=
y by transport protocol and implementation?
In YANG model, "leaf period" 's unit is timeticks(1/100s), it difficult to =
understand for user, suggest to change the unit to millisecond.
<Eric> The common YANG types of RFC 6021 defines timeticks.  I am hoping no=
t to change typedefs which are compliant with that RFC.   *However* if you =
see a business need to move to Milliseconds because you need a more granula=
r time that hundredths of a second, we should discuss that.  Especially as =
hundredths is what SMIv2 uses, we should have some use cases which needs th=
e extra granularity before making the change.  Do you have use cases which =
need millisecond-level subscription periods?
2.       for the "leaf dampening-period ", it's better to give one maxmum v=
alue, otherwise it may can not effective
<Eric> I think this what we are trying to say in the draft.  How about I im=
prove the leaf dampening-period definition to:
"The shortest time duration which is allowed between the creation of indepe=
ndent yang object update messages.  Effectively this is the amount of time =
that needs to have passed since the last update."
3.       If the time is not enough to send all the data in a cycle, how to =
deal with the remaining data? Just postpone the next cycle or do not send t=
he remaining data? If you do not send the remaining data, it may cause the =
remaining data can not be monitored.\
<Eric> Marshalling data into messages is treated differently within the pub=
lisher than the transmitting of updates.  If for some reason not all the da=
ta can be assembled into a push update or push-change-update message, the "=
updates-not-sent" flag should be set.  The receiver can then determine what=
 to do.   Note: It is perfectly acceptable to have sequential push-change-u=
pdates queued and in the process of being sent (in- order).  I will add tex=
t to this to help clarify the yang-push draft.
<ALEX> One other aspect beyond the receiver:  When you indicate "time is en=
ough to send all the data in a cycle", are you referring to a scenario wher=
e the interval in which to send data is too short to allow for transmission=
 of all the data?  In such a case, a publisher would fall further and furth=
er behind.  Really, this is a case where a publisher should basically suspe=
nd or abort the subscription, as it can't keep up.  We should state this cl=
early in the text.  The tricky part is of course that some of it may be of =
temporal nature due to, for example, a temporary increase in list size or a=
 large number of updates, which may subside later - this would be reason to=
 initially suspend (and later resume), before terminating the subscription =
outright.  Again, we will update the text more clearly.
</ALEX
4.       How to declare which path support "on-change"? Current draft defin=
ed all path not support "on-change" as default, if all "configure" leaf sup=
port "on-change" how I should do? Add extension for all "configure" leaf? I=
t looks too complex, whether we can support one simple mode, such as define=
 by type? then I can define all "configure" lead support "on-change".
<Eric> There is a good discussion in here.    The answer currently in the d=
raft is that you should make a deviations file which lists entries for each=
 parent node of each model which should support on-change.  So this doesn't=
 need to be done for every leaf (as the values are inherited down the subtr=
ee.)  You are right that having a deviations file list this for every confi=
guration node would add some complexity, including for model maintenance.
If you want a default behavior mode for a platform implementation, would yo=
u rather propose feature rather than an extension?  We could create a featu=
re which enables all configuration=3Dtrue nodes to be on-change subscribabl=
e. Maybe an extension titled "on-change-for-configuration"?  We then must d=
ecide what is the interaction between this and the existing "notifiable-on-=
change" extension.  To reduce conflicts/confusion, I would suggest that the=
 feature has precedence.   Balazs, any thoughts on this?
5.       I think "subscription-status" attributes not enough , when subscir=
ption status is suspend ,we need "suspend reason", " suspend time". When su=
bscription resume, we need "resume time".
<Eric> This information will be available in the log as both the suspend an=
d resume trigger the creation of a notification with a timestamp.  Does it =
need to be available via standard exposed codes in the yang model?   I don'=
t really have any problem adding this, but there currently isn't any histor=
ical information exposed in the model.  It is all current state.   I would =
love to hear others' opinions on this one.
or "Modify-subscription " and "Delete-subscription ", we should give the li=
mitition: Subscriptions established via RPC can only be Modified/deleted vi=
a RPC using   the same transport session used for subscription establishmen=
t.
<Eric> This is true.  As these RPCs are augmented from definitions is "subs=
cribed notifications" which include that text, is that not sufficient?  In =
some cases we have the information only in one document to reduce the overa=
ll amount of text.


<ALEX> We currently state: "Subscriptions created by configuration operatio=
ns cannot be modified [respectively deleted] via this RPC."

You are suggesting to be stronger than that, i.e. not allow a dynamic subsc=
ription to be touched by any transport session other than the one over whic=
h it was created.  I am not sure of this, can you elaborate a bit further? =
 Basically this would imply needing to keep track of which session created =
which object or dynamic subscription, something the framework does not curr=
ently keep track of (but that is perhaps a bit i2rs-ish). </ALEX>



<<Eric>> It is true that the YANG model doesn't expose identifiers for the =
transport session which is used for a dynamic subscription.  But these bind=
ings will still be known within the publisher.  So it is viable to enforce =
such a constraint.  I believe it improves security as well.   If there is a=
n administrator which needs to tear down the dynamic subscription, the kill=
-subscription RPC is available.



<</Eric>>



--- Alex (done with comments)





For draft-ietf-netconf-subscribed-notifications-02:
1.       In A.1.  ietf-netconf-netconf-event-noti, the draft name should no=
t be "[I-D.ietf-netconf-restconf-notif]", it should be "draft-ietf-netconf-=
netconf-event-notifications-01", right?
<Eric> Excellent catch.  Thanks!
2.       In "section 1.  Introduction" there have two repeated item "o  Abi=
lity to subscribe to event notifications using two mechanisms: dynamic and =
configuration subscriptions."
<Eric> This text is from the document "draft-ietf-netconf-netconf-event-not=
ifications" which is not ready for review at this time.
Eric

Thanks & Regards
Walker (Guangying zheng)

[X]





--_000_31b203916b3b4081a6d0b88cfb8f0fbcXCHRTP013ciscocom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
p.emailquote, li.emailquote, div.emailquote
	{mso-style-name:emailquote;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:1.0pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle23
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle25
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle26
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle27
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:1134518364;
	mso-list-template-ids:-674093232;}
@list l0:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l0:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1
	{mso-list-id:1257253794;
	mso-list-template-ids:735598154;}
@list l1:level1
	{mso-level-tab-stop:.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level3
	{mso-level-tab-stop:1.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level4
	{mso-level-tab-stop:2.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level5
	{mso-level-tab-stop:2.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level6
	{mso-level-tab-stop:3.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level7
	{mso-level-tab-stop:3.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level8
	{mso-level-tab-stop:4.0in;
	mso-level-number-position:left;
	text-indent:-.25in;}
@list l1:level9
	{mso-level-tab-stop:4.5in;
	mso-level-number-position:left;
	text-indent:-.25in;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">(Moving lots of people to &#8216;BCC&=
#8217; so that this thread can traverse NETCONF &amp; NETMOD filters as Wal=
ker originally intended.)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">One more comment, see &lt;&lt;Eric&gt=
;&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Alexander Clemm, May 2, 2017 8=
:35 PM<br>
<br>
<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Hi Walker, thank you for your review =
and comments, and Eric, for your excellent response, to which I have little=
 to add except a few small items inline
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#00B050">&lt;ALEX&gt;</span><span style=3D"font-size:11.0pt;fo=
nt-family:&quot;Calibri&quot;,sans-serif;color:#1F497D"><o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">--- Alex<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Eric Voit (evoit) [<a href=3D"=
mailto:evoit@cisco.com">mailto:evoit@cisco.com</a>]
<br>
<b>Sent:</b> Tuesday, May 02, 2017 9:52 AM<br>
<b>To:</b> Zhengguangying (Walker) &lt;<a href=3D"mailto:zhengguangying@hua=
wei.com">zhengguangying@huawei.com</a>&gt;;
<a href=3D"mailto:ludwig@clemm.org">ludwig@clemm.org</a>; <a href=3D"mailto=
:alex@clemm.org">
alex@clemm.org</a>; 'Balazs Lengyel' &lt;<a href=3D"mailto:balazs.lengyel@e=
ricsson.com">balazs.lengyel@ericsson.com</a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a hre=
f=3D"mailto:netmod@ietf.org">
netmod@ietf.org</a>; Ambika Prasad Tripathy (ambtripa) &lt;<a href=3D"mailt=
o:ambtripa@cisco.com">ambtripa@cisco.com</a>&gt;; 'Kent Watsen' &lt;<a href=
=3D"mailto:kwatsen@juniper.net">kwatsen@juniper.net</a>&gt;; Hector Trevino=
 (htrevino) &lt;<a href=3D"mailto:htrevino@cisco.com">htrevino@cisco.com</a=
>&gt;;
 Einar Nilsen-Nygaard (einarnn) &lt;<a href=3D"mailto:einarnn@cisco.com">ei=
narnn@cisco.com</a>&gt;; Guopeipei (Peipei Guo) &lt;<a href=3D"mailto:guope=
ipei@huawei.com">guopeipei@huawei.com</a>&gt;; Alberto Gonzalez Prieto (alb=
ertgo) &lt;<a href=3D"mailto:albertgo@cisco.com">albertgo@cisco.com</a>&gt;=
;
 'Andy Bierman' &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.co=
m</a>&gt;; 'Chisholm, Sharon' &lt;<a href=3D"mailto:schishol@ciena.com">sch=
ishol@ciena.com</a>&gt;; Yangang &lt;<a href=3D"mailto:yangang@huawei.com">=
yangang@huawei.com</a>&gt;; Alexander Clemm &lt;<a href=3D"mailto:alexander=
.clemm@huawei.com">alexander.clemm@huawei.com</a>&gt;;
 'Susan Hares' &lt;<a href=3D"mailto:shares@ndzh.com">shares@ndzh.com</a>&g=
t;; Tim Jenkins (timjenki) &lt;<a href=3D"mailto:timjenki@cisco.com">timjen=
ki@cisco.com</a>&gt;; 'Scharf, Michael (Nokia - DE)' &lt;<a href=3D"mailto:=
michael.scharf@nokia.com">michael.scharf@nokia.com</a>&gt;;
 Rohit pobbathi &lt;<a href=3D"mailto:rohit.pobbathi@huawei.com">rohit.pobb=
athi@huawei.com</a>&gt;; 'MehmetErsue' &lt;<a href=3D"mailto:mersue@gmail.c=
om">mersue@gmail.com</a>&gt;; Mahesh Jethanandani (mahesh) &lt;<a href=3D"m=
ailto:mahesh@cisco.com">mahesh@cisco.com</a>&gt;<br>
<b>Subject:</b> RE: hi Alex, Eric and design team guys some comments for YA=
NG-push and subscribed-notifications, please help to confirm<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">Hi Walker,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">Thanks very much for the comments.&nb=
sp;&nbsp; Some thoughts in-line.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"fon=
t-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><=
span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">=
 Zhengguangying (Walker), May 2, 2017 9:25 AM</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">Hi Alex, Eric and all,=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">&nbsp;&nbsp; I reviewe=
d the latest Draft and have some comments, please help to confirm, thanks.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">&nbsp;<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">&nbsp;&nbsp; For draft=
-ietf-netconf-yang-push-06:<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l0 l=
evel1 lfo2">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">1.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">In section 4.1, the configured subscription=
 receivers not sepcify which mechnism to connect to client, it's better def=
ine clearly, specify it should be call home
 protocol.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; I totally agree call home is necessary.&nbsp; T=
he two transport drafts currently have the call-home specified within them.=
&nbsp; As we define the transport protocol per receiver, the
 appropriate call home mechanism for a platform transport should be automat=
ically selectable.&nbsp; I will clarify/improve the text in the subscribed-=
notifications draft to indicate this.&nbsp; &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">Is there something else needed at the protocol independent l=
evel?&nbsp;&nbsp; At this point I don&#8217;t know of any transport-indepen=
dent call home behaviors unspecified, other than the need to
 add a context statement saying call home is necessary if transport isn&#82=
17;t available for a queued push update message.&nbsp; I don&#8217;t think =
we should over specify this right now.&nbsp; This is because for some trans=
port connection types, call home doesn&#8217;t need to be always-on.
 &nbsp;E.g., HTTP implementations have the potential to scale differently t=
han NETCONF if a configured subscription transport can be established ad-ho=
c only when a push-update is ready to go. &nbsp;&nbsp;If there are other sp=
ecific behaviors needed for call-home behavior,
 what are they?&nbsp; Are these something that can vary by transport protoc=
ol and implementation?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>In YANG model, &quot;leaf period&quot; 's unit is timeticks(1/100s), it di=
fficult to understand for user, suggest to change the unit to millisecond.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; The common YANG types of RFC 6021 defines timet=
icks.&nbsp; I am hoping not to change typedefs which are compliant with tha=
t RFC.&nbsp;&nbsp; *However* if you see a business need to move to
 Milliseconds because you need a more granular time that hundredths of a se=
cond, we should discuss that.&nbsp; Especially as hundredths is what SMIv2 =
uses, we should have some use cases which needs the extra granularity befor=
e making the change.&nbsp; Do you have use
 cases which need millisecond-level subscription periods?<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l0 l=
evel1 lfo2">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">2.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">for the &quot;leaf dampening-period &quot;,=
 it's better to give one maxmum value, otherwise it may can not effective<o=
:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; I think this what we are trying to say in the d=
raft.&nbsp; How about I improve the leaf dampening-period definition to:
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&quot;The shortest time duration which is allowed between th=
e creation of independent yang object update messages.&nbsp; Effectively th=
is is the amount of time that needs to have passed since
 the last update.&quot;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l0 l=
evel1 lfo2">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">3.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">If the time is not enough to send all the d=
ata in a cycle, how to deal with the remaining data? Just postpone the next=
 cycle or do not send the remaining data? If
 you do not send the remaining data, it may cause the remaining data can no=
t be monitored.\<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; Marshalling data into messages is treated diffe=
rently within the publisher than the transmitting of updates. &nbsp;If for =
some reason not all the data can be assembled into a push
 update or push-change-update message, the &#8220;updates-not-sent&#8221; f=
lag should be set.&nbsp; The receiver can then determine what to do.&nbsp;&=
nbsp; Note: It is perfectly acceptable to have sequential push-change-updat=
es queued and in the process of being sent (in- order).&nbsp; I
 will add text to this to help clarify the yang-push draft.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B050">&lt;ALEX&gt; One other aspect beyond the receiver:&nbsp; Whe=
n you indicate &#8220;time is enough to send all the data in a cycle&#8221;=
, are you referring to a scenario where the interval in which to send
 data is too short to allow for transmission of all the data?&nbsp; In such=
 a case, a publisher would fall further and further behind.&nbsp; Really, t=
his is a case where a publisher should basically suspend or abort the subsc=
ription, as it can&#8217;t keep up. &nbsp;We should state
 this clearly in the text.&nbsp; The tricky part is of course that some of =
it may be of temporal nature due to, for example, a temporary increase in l=
ist size or a large number of updates, which may subside later &#8211; this=
 would be reason to initially suspend (and
 later resume), before terminating the subscription outright.&nbsp; Again, =
we will update the text more clearly.&nbsp;</span><span style=3D"font-size:=
11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B050">&lt;/ALEX&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l0 l=
evel1 lfo2">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">4.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">How to declare which path support &quot;on-=
change&quot;? Current draft defined all path not support &quot;on-change&qu=
ot; as default, if all &quot;configure&quot; leaf support &quot;on-change&q=
uot; how
 I should do? Add extension for all &quot;configure&quot; leaf? It looks to=
o complex, whether we can support one simple mode, such as define by type? =
then I can define all &quot;configure&quot; lead support &quot;on-change&qu=
ot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; There is a good discussion in here. &nbsp;&nbsp=
;&nbsp;The answer currently in the draft is that you should make a deviatio=
ns file which lists entries for each parent node of each model which
 should support on-change.&nbsp; So this doesn&#8217;t need to be done for =
every leaf (as the values are inherited down the subtree.) &nbsp;You are ri=
ght that having a deviations file list this for every configuration node wo=
uld add some complexity, including for model maintenance.<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">If you want a default behavior mode for a platform implement=
ation, would you rather propose feature rather than an extension?&nbsp; We =
could create a feature which enables all configuration=3Dtrue
 nodes to be on-change subscribable. Maybe an extension titled &#8220;on-ch=
ange-for-configuration&#8221;?&nbsp; We then must decide what is the intera=
ction between this and the existing &#8220;notifiable-on-change&#8221; exte=
nsion.&nbsp; To reduce conflicts/confusion, I would suggest that the
 feature has precedence.&nbsp;&nbsp; Balazs, any thoughts on this?<o:p></o:=
p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l0 l=
evel1 lfo2">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">5.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">I think &quot;subscription-status&quot; att=
ributes not enough , when subscirption status is suspend ,we need &quot;sus=
pend reason&quot;, &quot; suspend time&quot;. When subscription resume, we
 need &quot;resume time&quot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; This information will be available in the log a=
s both the suspend and resume trigger the creation of a notification with a=
 timestamp.&nbsp; Does it need to be available via standard
 exposed codes in the yang model?&nbsp;&nbsp; I don&#8217;t really have any=
 problem adding this, but there currently isn&#8217;t any historical inform=
ation exposed in the model.&nbsp; It is all current state.&nbsp;&nbsp; I wo=
uld love to hear others&#8217; opinions on this one.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>or &quot;Modify-subscription &quot; and &quot;Delete-subscription &quot;, =
we should give the limitition: Subscriptions established via RPC can only b=
e Modified/deleted via RPC using&nbsp;&nbsp; the same transport session use=
d
 for subscription establishment.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#0070C0">&lt;Eric=
&gt; This is true.&nbsp; As these RPCs are augmented from definitions is &#=
8220;subscribed notifications&#8221; which include that text, is that not
 sufficient?&nbsp; In some cases we have the information only in one docume=
nt to reduce the overall amount of text. &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></spa=
n></p>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">&lt;ALEX&gt; We curr=
ently state: &#8220;</span><span lang=3D"EN">Subscriptions created by confi=
guration operations cannot be modified [respectively deleted] via this RPC.=
&#8221;&nbsp; </span><span style=3D"font-size:11.0pt;font-family:&quot;Cali=
bri&quot;,sans-serif;color:#00B050">&nbsp;&nbsp;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">You are suggesting t=
o be stronger than that, i.e. not allow a dynamic subscription to be touche=
d by any transport session other than the one over which it was created.&nb=
sp; I am not sure of this, can you elaborate a bit further?&nbsp; Basically=
 this would imply needing to keep track of which session created which obje=
ct or dynamic subscription, something the framework does not currently keep=
 track of (but that is perhaps a bit i2rs-ish). &lt;/ALEX&gt;<o:p></o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0">&lt;&lt;Eric&gt;&gt;=
 It is true that the YANG model doesn&#8217;t expose identifiers for the tr=
ansport session which is used for a dynamic subscription.&nbsp; But these b=
indings will still be known within the publisher.&nbsp; So it is viable to =
enforce such a constraint.&nbsp; I believe it improves security as well.&nb=
sp;&nbsp; If there is an administrator which needs to tear down the dynamic=
 subscription, the kill-subscription RPC is available.<o:p></o:p></span></p=
re>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0">&lt;&lt;/Eric&gt;&gt=
;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">--- Alex (done with =
comments)<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN"><o:p>&nbsp;</o:p>=
</span></pre>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">For draft-ietf-netconf=
-subscribed-notifications-02:<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l1 l=
evel1 lfo4">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">1.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">In A.1.&nbsp; ietf-netconf-netconf-event-no=
ti, the draft name should not be &#8220;[I-D.ietf-netconf-restconf-notif]&#=
8221;, it should be &#8220;</span><span style=3D"font-size:10.0pt;font-fami=
ly:&quot;Courier New&quot;">draft-ietf-netconf-netconf-event-notifications-=
01</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sa=
ns-serif">&#8221;,
 right?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; Excellent catch.&nbsp; Thanks!</span><span styl=
e=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:=
p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;margin-left:0in;text-align:justify;text-indent:-.25in;mso-list:l1 l=
evel1 lfo4">
<![if !supportLists]><span style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,sans-serif"><span style=3D"mso-list:Ignore">2.<span style=3D"font=
:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,sans-serif">In &quot;section 1.&nbsp; Introduction&quot=
; there have two repeated item &quot;o&nbsp; Ability to subscribe to event =
notifications using two mechanisms: dynamic and configuration subscriptions=
.&quot;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; This text is from the document &#8220;draft-iet=
f-netconf-netconf-event-notifications&#8221; which is not ready for review =
at this time.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">Eric<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">Thanks &amp; Regards<o=
:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif">Walker (Guangying zhen=
g)<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><img b=
order=3D"0" width=3D"83" height=3D"41" style=3D"width:.8645in;height:.427in=
" id=3D"_x0000_i1025" src=3D"rtfimage://"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify"><span style=3D"font-siz=
e:10.5pt">&nbsp;</span><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>

--_000_31b203916b3b4081a6d0b88cfb8f0fbcXCHRTP013ciscocom_--


From nobody Wed May  3 14:12:10 2017
Return-Path: <mersue@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ABD69129B9D for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 14:12:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.701
X-Spam-Level: 
X-Spam-Status: No, score=0.701 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BsuJjeR_puHl for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 14:12:07 -0700 (PDT)
Received: from mail-wr0-x22d.google.com (mail-wr0-x22d.google.com [IPv6:2a00:1450:400c:c0c::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C20BE129B9E for <netconf@ietf.org>; Wed,  3 May 2017 14:10:32 -0700 (PDT)
Received: by mail-wr0-x22d.google.com with SMTP id w50so885799wrc.0 for <netconf@ietf.org>; Wed, 03 May 2017 14:10:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=from:to:cc:subject:date:message-id:mime-version:thread-index :content-language; bh=qE79VBXquxES17ZAhlOu3l5XUCoYuVWEJLwHHMenaRI=; b=Pjje2SOAfKxkKeSe7aLJIqfVGWHswX6d1FTK51mmsayVo9yy8EqEpViLS5kWtf7gth zaJDEBLaH1vf7DGZfX3jhrawPFy7oEzyvdtiLqAA6HDbHSxggILwZpIBPCQgJYzSYC+G zMw21DFc8dpGiU1DT3Cyr+IjFmUp57VDKPWzqQpy+3v0F7d4rflOWsPCER2qD9d6NjG2 +0SylP9Rc3CP0DYxcPZyL7ui7TNmqkhmlhJIlzz2yy4E+chsLh7MNypl8o37etAX0NnL qH4D2lJj0lW/Wq3b2ahbd3qsfdUfjoccgiL/1ZkmXBlpUW0J+r2lt8PcYnbrBuP3fAMb oj/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :thread-index:content-language; bh=qE79VBXquxES17ZAhlOu3l5XUCoYuVWEJLwHHMenaRI=; b=Ywdq7nyBgdykzX9FUsi7WUDubBvzP88pFImyxkAFdyERK2AN4wsN8Q3/Lz1gqsszhE ml3U6WZfp6wMSWGQdg6esGKgwWqIPjdV6ECXl7OwwvgUTZawQHqU9FzOkis6yXsQrmK4 Y7iDZMdncXL1onhIxXLh+i3xrJqBhoWIcbUf/oLFPAhYcbjKYW6RH2+VT59xWiqj3vwl Fk5Mdi06c0dt/qSo7jMN2GVe+3GPsY3fk8x+E8v0FRDraYEylAEFMt/ZV3IruKuEkYhj tumjd/V7fRCSxvCTBH2fdgYCojM6ahf7Wvx4MbI6x4QFY4Z2VXYY1w6mUpTSA2XCc0L3 ohOg==
X-Gm-Message-State: AN3rC/6/AlJ4VCqg1hHuylhJcjqbuXP3Eg83IcmaNaTBeNZecERFKdHK wKkwODQI9l7gvglh
X-Received: by 10.223.183.12 with SMTP id l12mr24525828wre.191.1493845831294;  Wed, 03 May 2017 14:10:31 -0700 (PDT)
Received: from DESKTOPFLHJVQJ (p508A291F.dip0.t-ipconnect.de. [80.138.41.31]) by smtp.gmail.com with ESMTPSA id b80sm191684wma.5.2017.05.03.14.10.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 May 2017 14:10:30 -0700 (PDT)
From: "Mehmet Ersue" <mersue@gmail.com>
To: "'Netconf'" <netconf@ietf.org>
Date: Wed, 3 May 2017 23:10:30 +0200
Message-ID: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0059_01D2C462.75D30B10"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdLAHv/jyjuVJ86kRGOH6kE8k2DARQ==
Content-Language: de
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/R12XCC2PIY3FiLITGKHqop4mxE0>
Subject: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 21:12:09 -0000

This is a multipart message in MIME format.

------=_NextPart_000_0059_01D2C462.75D30B10
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Dear NETCONF WG,

 

as I informed Benoit and Mahesh, after 9 years I'm going to resign from WG
co-chair position effective with the end of IETF #99 meeting. 

Thank You very much for your kind support all the years.      

 

People interested to become NETCONF WG co-chair please contact our AD soon.

 

Regards, 
Mehmet 

 


------=_NextPart_000_0059_01D2C462.75D30B10
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 15 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle18
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:#0000CC;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US =
link=3D"#0563C1" vlink=3D"#954F72"><div class=3DWordSection1><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>Dear NETCONF =
WG,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>&nbsp;<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>as I informed Benoit and =
Mahesh, after 9 years I&#8217;m going to resign from WG co-chair =
position effective with the end of IETF #99 meeting. =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>Thank You very much for your kind support all =
the years.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#0000CC'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>People interested to =
become NETCONF WG co-chair please contact our AD =
soon.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>&nbsp;<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>Regards, <br>Mehmet =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'><o:p>&nbsp;</o:p></span></p></div></body></html>
------=_NextPart_000_0059_01D2C462.75D30B10--


From nobody Wed May  3 14:20:19 2017
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 835E212953B for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 14:20:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.701
X-Spam-Level: 
X-Spam-Status: No, score=0.701 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kN78cMgouo2o for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 14:20:16 -0700 (PDT)
Received: from mail-pg0-x234.google.com (mail-pg0-x234.google.com [IPv6:2607:f8b0:400e:c05::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1387D12783A for <netconf@ietf.org>; Wed,  3 May 2017 14:18:14 -0700 (PDT)
Received: by mail-pg0-x234.google.com with SMTP id o3so929556pgn.2 for <netconf@ietf.org>; Wed, 03 May 2017 14:18:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=from:message-id:mime-version:subject:date:references:to:in-reply-to;  bh=xZmLs7i3JW4C2T7zPctacxwRfQECPaRSO3eGRTFQ6vU=; b=HAWYxBHVasQKptDr1IwHTBWd7beW7bqPFX8YiT6NVLSSxjPbHO0wCzd4YoRREWUZ2M XwewYAL5GBQkm0x5ka1yWUuRrFN+DXf/Y8TStvhQfphwQo3ouKrgJqj405kO8T4zBKQb wYxTNhsSIKzFv8pNBLWX44DJIovIdB9dZIv1Q8gG2iPsUj05BehBXs8kaWSDdEgMQU6C /GUFg9JNHW+U9HkFbuQzJer+HwaxCvudOumX9V9/Jtaizy1DRfJBDpE6L0HxQa5HCEM+ Y8MTtGiKyTMV8Ro/dhCQNzH3meey3iCLEOqPlhWOo6fEvM3p1evBKA9zK6/E2MPfepeb iEPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :references:to:in-reply-to; bh=xZmLs7i3JW4C2T7zPctacxwRfQECPaRSO3eGRTFQ6vU=; b=DlQRdjdzh+w3MMonBTq/l5XPJ7GtKaucpz3/Lpr/+MnphGl5sLx1k+EGZgcZdW3IMJ BQb+9qnhStDhq3pm6r5jXpWRWLVbJfFF0GZwQiyWPOydfA5Uil+SeK2jtlPLPjGSso05 SG0GCpY66Ki0B8zy/2hNro1ZZjvRh8lFGc7m3j8kU5LL78AwOKn7mZ0pWQGQR06DQyz/ LVc7KSCI1J6qYZpnY9sPAusI3F4mVtWBfexWAN7NIjv9wTLVywM7oaYLWhb+elqAFGBS bl05Jb73vCo9ARchqcemtuWTU6dsGahSmugBcYOifck3DtkrjmZJdPFiWesmYsH5kjJb wxvA==
X-Gm-Message-State: AN3rC/7ovTf9DCAwQvGE7W5Yc56y2OAZ3ODFNI9MwJsTdtdUYGrOshJL yjYSMzGokCwyY9If5UQ=
X-Received: by 10.84.213.2 with SMTP id f2mr32891107pli.22.1493846293469; Wed, 03 May 2017 14:18:13 -0700 (PDT)
Received: from [10.154.160.10] ([128.107.241.173]) by smtp.gmail.com with ESMTPSA id p16sm164608pgc.4.2017.05.03.14.18.12 for <netconf@ietf.org> (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 03 May 2017 14:18:12 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_5511D996-D337-4029-A639-1AA81132BBBD"
Message-Id: <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Date: Wed, 3 May 2017 14:18:12 -0700
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com>
To: Netconf <netconf@ietf.org>
In-Reply-To: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/5AVm192JGR12rDzbtzMspLPBvIU>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 21:20:18 -0000

--Apple-Mail=_5511D996-D337-4029-A639-1AA81132BBBD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Folks,

There has been literally no feedback on this document, either to say =
they have read the document and support it, or to express concerns about =
the document. Silence, unfortunately is not a good guide for us. To move =
the document forward, we need to hear from folks, including those who =
were in IETF 98.

Thanks.

> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani =
<mjethanandani@gmail.com> wrote:
>=20
> NETCONF WG,
>=20
> In IETF 98, the authors indicated that the above draft was ready for =
Last Call, and the consensus in the room indicated as much.
>=20
> This is a start of a 2 week WG Last Call for =
draft-ietf-netconf-rfc6536bis. After two weeks, the document will be =
assigned a shepherd, and the document will be prepared for IESG.
>=20
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01 =
<https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01>
>=20
> Please review and send any comments to the WG mailing list or by =
responding to this e-mail. Comments can be statements such as, I =
read/reviewed the document and believe it is ready for publication, or I =
have concerns about the document. For the latter, please indicate what =
your concerns are.=20
>=20
> Any reports on implementation status or plans to implement are also =
very useful.
>=20
> Authors, please indicate if you are aware of any IPRs related to the =
draft.
>=20
> Thanks.
>=20
> Mahesh and Mehmet
>=20
>=20

Mahesh & Mehmet




--Apple-Mail=_5511D996-D337-4029-A639-1AA81132BBBD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D"">Folks,<div class=3D""><br class=3D""></div><div =
class=3D"">There has been literally no feedback on this document, either =
to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately is not a good guide =
for us. To move the document forward, we need to hear from folks, =
including those who were in IETF 98.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Thanks.</div><div class=3D""><br =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt;<a =
href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><meta =
http-equiv=3D"Content-Type" content=3D"text/html charset=3Dus-ascii" =
class=3D""><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; -webkit-line-break: after-white-space;" class=3D"">NETCONF WG,<br =
class=3D""><br class=3D"">In IETF 98, the authors indicated that the =
above draft was ready for Last Call, and the consensus in the room =
indicated as much.<div class=3D""><br class=3D""></div><div =
class=3D"">This is a start of a 2 week WG Last Call for =
draft-ietf-netconf-rfc6536bis. After two weeks, the document will be =
assigned a shepherd, and the document will be prepared for IESG.<br =
class=3D""><br class=3D"">The latest version of the draft can be found =
at:<br class=3D""><a =
href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01" =
class=3D"">https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01</a=
><br class=3D""><br class=3D"">Please review and send any comments to =
the WG mailing list or by responding to this e-mail. Comments can be =
statements such as, I read/reviewed the document&nbsp;and believe it is =
ready for publication, or I have concerns about the document. For the =
latter, please indicate what your concerns are.&nbsp;<br class=3D""><br =
class=3D"">Any reports on implementation status or plans to implement =
are also&nbsp;very useful.<div class=3D""><br class=3D""></div><div =
class=3D"">Authors, please indicate if you are aware of any IPRs related =
to the draft.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Thanks.<br class=3D""><br class=3D"">Mahesh and Mehmet<br =
class=3D""><div class=3D""><br class=3D"Apple-interchange-newline">

</div>
<br class=3D""></div></div></div></div></blockquote></div><br =
class=3D""><div class=3D"">
<div class=3D"">Mahesh &amp; Mehmet</div><div class=3D""><br =
class=3D""></div><br class=3D"Apple-interchange-newline">

</div>
<br class=3D""></div></body></html>=

--Apple-Mail=_5511D996-D337-4029-A639-1AA81132BBBD--


From nobody Wed May  3 15:23:38 2017
Return-Path: <timjenki@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 80D401271DF for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:23:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.802
X-Spam-Level: 
X-Spam-Status: No, score=-11.802 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Juo9gKyic9xj for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:23:26 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 887B312950B for <netconf@ietf.org>; Wed,  3 May 2017 15:21:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10392; q=dns/txt; s=iport; t=1493850101; x=1495059701; h=from:to:subject:date:message-id:mime-version; bh=f5gaCDTbhlqqIhF5UEXTX7bH9nMM6pE61pCQ9UWgFJk=; b=LPKrCG+osE4appnC83m4MkpHvmt64RCkxWEjw+2l++qu3eRkGkqGUDRu s+XRDqAlX5AXlRcx7nVCInrSSzldnKL/Os2BScwUkB+Q1u9FO/XHDHeQw oZIvLMMeW2O+vWKGNDCDwoUDEivwHsCjZ95MEI9B3JlLsu0NKc3nTppj1 Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A1AQC+VgpZ/51dJa1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nJT2BDAeDYYoYogqFN4IPIQEMhhKEJj8YAQIBAQEBAQEBax0?= =?us-ascii?q?LhT8rGBEUASwBHQIELwEnBA8FHASJH2EOoFeQDIImK4o+AQEBAQEBAQMBAQEBA?= =?us-ascii?q?QEBAQEBHoZfggmGEYRILoIxBZZbhwEBhxqLeZFglDMBHzg/S28VVwGEXhyBY3Y?= =?us-ascii?q?BBodjAYEMAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,284,1491264000";  d="scan'208,217";a="244571225"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 May 2017 22:21:40 +0000
Received: from XCH-RTP-013.cisco.com (xch-rtp-013.cisco.com [64.101.220.153]) by rcdn-core-6.cisco.com (8.14.5/8.14.5) with ESMTP id v43MLeE2009810 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <netconf@ietf.org>; Wed, 3 May 2017 22:21:40 GMT
Received: from xch-rtp-011.cisco.com (64.101.220.151) by XCH-RTP-013.cisco.com (64.101.220.153) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 3 May 2017 18:21:39 -0400
Received: from xch-rtp-011.cisco.com ([64.101.220.151]) by XCH-RTP-011.cisco.com ([64.101.220.151]) with mapi id 15.00.1210.000; Wed, 3 May 2017 18:21:39 -0400
From: "Tim Jenkins (timjenki)" <timjenki@cisco.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: notification-complete in draft-ietf-netconf-subscribed-notifications-02
Thread-Index: AQHSxFuiD1cAb2uc9EyB7VoCYigPXQ==
Date: Wed, 3 May 2017 22:21:39 +0000
Message-ID: <1B3662AA-B004-4BA3-BC1A-D7A953E04CCF@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [161.44.213.143]
Content-Type: multipart/alternative; boundary="_000_1B3662AAB0044BA3BC1AD7A953E04CCFciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/47iu1Re35so1fwA5dy2IsFgG2bU>
Subject: [Netconf] notification-complete in draft-ietf-netconf-subscribed-notifications-02
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 22:23:32 -0000

--_000_1B3662AAB0044BA3BC1AD7A953E04CCFciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGksDQoNCkkgaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHR3byBvZiB0aGUgc3RhdGUgbm90aWZpY2F0
aW9ucyBpbiBTZWN0aW9uIDcgb2YgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWll
dGYtbmV0Y29uZi1zdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMtMDIuIFdoYXQgaXMgdGhlIGRpZmZl
cmVuY2UgYmV0d2VlbiA8bm90aWZpY2F0aW9uLWNvbXBsZXRlPiBhbmQgPHN1YnNjcmlwdGlvbi10
ZXJtaW5hdGVkPj8gIEFuZCB3aHkgaXNuJ3QgPG5vdGlmaWNhdGlvbi1jb21wbGV0ZT4gY2FsbGVk
IDxzdWJzY3JpcHRpb24tY29tcGxldGU+Pw0KDQpJZiB0aGUgbmVlZCBmb3IgZm9yIDxub3RpZmlj
YXRpb24tY29tcGxldGU+IGlzIGR1ZSB0byBzdG9wIHRpbWUsIHdoeSBub3QganVzdCB1c2UgdGhh
dCBhcyBhIHJlYXNvbiB0byA8c3Vic2NyaXB0aW9uLXRlcm1pbmF0ZWQ+Pw0KDQpCdXQgdGhlbiBw
ZXJoYXBzIHN1YnNjcmlwdGlvbi10ZXJtaW5hdGVkIHNob3VsZG4ndCB1c2UgZXJyb3ItaWRlbnRp
ZmllcjsgcGVyaGFwcyBpdCBzaG91bGQgdXNlIHNvbWV0aGluZyB0aGF0IGNhbiBtZWFuIHRoaW5n
cyB0aGF0IGFyZW4ndCBleGNsdXNpdmVseSBlcnJvcnMuIFRoZXJlIGNvdWxkIGJlIG90aGVyIG5v
bi1lcnJvciByZWFzb25zIGEgc3Vic2NyaXB0aW9uIGlzIHRlcm1pbmF0ZWQgYW5kIHRoaXMgbm90
aWZpY2F0aW9uIHNob3VsZCBzdGlsbCBiZSBzZW50Lg0KDQpJJ2QgcHJlZmVyIHRoZXJlIGJlIGZl
d2VyIG5vdGlmaWNhdGlvbiB0eXBlcyB3aGVuIHRoZSBzYW1lIGJhc2ljIHRoaW5nIGlzIGhhcHBl
bmluZyB0aGF0IGlzIGFscmVhZHkgZGVzY3JpYmVkIGJ5IGFub3RoZXIgbm90aWZpY2F0aW9uLCBw
YXJ0aWN1bGFybHkgd2hlbiB0aGF0IG90aGVyIG5vdGlmaWNhdGlvbiBoYXMgdGhlIGFiaWxpdHkg
dG8gc3BlY2lmeSBhIHJlYXNvbi4NCg0KVGhhbmtzLA0KDQpUaW0NCg0KLS0NCkNpc2NvIFN5c3Rl
bXMgQ2FuYWRhIENvLg0KMjAwMCBJbm5vdmF0aW9uIERyaXZlDQpLYW5hdGEsIE9OLCBDYW5hZGEs
IEsySyAzRTgNClByZWZlcmVuY2VzIDxodHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZlci9zdWJzY3Jp
YmUvP3NpZD0wMDA0NzgzMjY+DQpVbnN1YnNjcmliZSA8aHR0cDovL3d3dy5jaXNjby5jb20vb2Zm
ZXIvdW5zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjc+DQpQcml2YWN5IDxodHRwOi8vd3d3LmNpc2Nv
LmNvbS93ZWIvc2l0ZWFzc2V0cy9sZWdhbC9wcml2YWN5Lmh0bWw+DQoNCg==

--_000_1B3662AAB0044BA3BC1AD7A953E04CCFciscocom_
Content-Type: text/html; charset="utf-8"
Content-ID: <208A18D5D6FC2B48AE8BAA1CC493BDF0@emea.cisco.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBE
ZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0K
CXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0
Ow0KCWZvbnQtZmFtaWx5OkNhbGlicmk7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXtt
c28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6IzA1NjNDMTsNCgl0ZXh0LWRlY29yYXRpb246
dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28t
c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Izk1NEY3MjsNCgl0ZXh0LWRlY29yYXRpb246dW5k
ZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLWNv
bXBvc2U7DQoJZm9udC1mYW1pbHk6Q2FsaWJyaTsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCnNwYW4u
YXBwbGUtY29udmVydGVkLXNwYWNlDQoJe21zby1zdHlsZS1uYW1lOmFwcGxlLWNvbnZlcnRlZC1z
cGFjZTt9DQpzcGFuLm1zb0lucw0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28t
c3R5bGUtbmFtZToiIjsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KCWNvbG9yOnRlYWw7
fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1m
YW1pbHk6Q2FsaWJyaTt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4w
cHQ7DQoJbWFyZ2luOjcyLjBwdCA3Mi4wcHQgNzIuMHB0IDcyLjBwdDt9DQpkaXYuV29yZFNlY3Rp
b24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBi
Z2NvbG9yPSJ3aGl0ZSIgbGFuZz0iRU4tVVMiIGxpbms9IiMwNTYzQzEiIHZsaW5rPSIjOTU0Rjcy
Ij4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+SGksPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij5JIGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0d28gb2YgdGhlIHN0YXRl
IG5vdGlmaWNhdGlvbnMgaW4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtj
b2xvcjpibGFjaztiYWNrZ3JvdW5kOndoaXRlIj5TZWN0aW9uIDcgb2YgaHR0cHM6Ly90b29scy5p
ZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtbmV0Y29uZi1zdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMt
MDIuIFdoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiAmbHQ7bm90aWZpY2F0aW9uLWNvbXBs
ZXRlJmd0OyBhbmQgJmx0O3N1YnNjcmlwdGlvbi10ZXJtaW5hdGVkJmd0Oz8mbmJzcDs8L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFu
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hp
dGUiPkFuZA0KIHdoeSBpc24ndCAmbHQ7bm90aWZpY2F0aW9uLWNvbXBsZXRlJmd0OyBjYWxsZWQg
Jmx0O3N1YnNjcmlwdGlvbi1jb21wbGV0ZSZndDs/PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6Ymxh
Y2s7YmFja2dyb3VuZDp3aGl0ZSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6YmxhY2s7
YmFja2dyb3VuZDp3aGl0ZSI+SWYgdGhlIG5lZWQgZm9yIGZvciAmbHQ7bm90aWZpY2F0aW9uLWNv
bXBsZXRlJmd0OyBpcyBkdWUgdG8gc3RvcCB0aW1lLCB3aHkgbm90IGp1c3QgdXNlIHRoYXQgYXMg
YSByZWFzb24gdG8gJmx0O3N1YnNjcmlwdGlvbi10ZXJtaW5hdGVkJmd0Oz8NCjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hpdGUiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hpdGUiPkJ1dCB0aGVuIHBlcmhhcHMgc3Vic2Ny
aXB0aW9uLXRlcm1pbmF0ZWQgc2hvdWxkbid0IHVzZSBlcnJvci1pZGVudGlmaWVyOyBwZXJoYXBz
IGl0IHNob3VsZCB1c2Ugc29tZXRoaW5nIHRoYXQgY2FuIG1lYW4gdGhpbmdzIHRoYXQgYXJlbid0
IGV4Y2x1c2l2ZWx5IGVycm9ycy4gVGhlcmUgY291bGQgYmUgb3RoZXINCiBub24tZXJyb3IgcmVh
c29ucyBhIHN1YnNjcmlwdGlvbiBpcyB0ZXJtaW5hdGVkIGFuZCB0aGlzIG5vdGlmaWNhdGlvbiBz
aG91bGQgc3RpbGwgYmUgc2VudC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjpibGFjaztiYWNrZ3Jv
dW5kOndoaXRlIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjpibGFjaztiYWNrZ3JvdW5k
OndoaXRlIj5JJ2QgcHJlZmVyIHRoZXJlIGJlIGZld2VyIG5vdGlmaWNhdGlvbiB0eXBlcyB3aGVu
IHRoZSBzYW1lIGJhc2ljIHRoaW5nIGlzIGhhcHBlbmluZyB0aGF0IGlzIGFscmVhZHkgZGVzY3Jp
YmVkIGJ5IGFub3RoZXIgbm90aWZpY2F0aW9uLCBwYXJ0aWN1bGFybHkgd2hlbiB0aGF0IG90aGVy
IG5vdGlmaWNhdGlvbg0KIGhhcyB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgcmVhc29uLjwvc3Bh
bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5UaGFua3MsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij5UaW08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtjb2xvcjpibGFjayI+LS0mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+Q2lz
Y28gU3lzdGVtcyBDYW5hZGEgQ28uPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj4yMDAwIElubm92YXRp
b24gRHJpdmU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9u
dC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPkthbmF0YSwgT04sIENhbmFkYSwgSzJLIDNF
ODwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xh
cztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWls
eTpDb25zb2xhcztjb2xvcjpibGFjayI+UHJlZmVyZW5jZXMgJmx0OzxhIGhyZWY9Imh0dHA6Ly93
d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNiI+PHNwYW4gc3R5bGU9
ImNvbG9yOmJsdWUiPmh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmliZS8/c2lkPTAw
MDQ3ODMyNjwvc3Bhbj48L2E+Jmd0Ozwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+VW5zdWJzY3JpYmUg
Jmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3Vuc3Vic2NyaWJlLz9zaWQ9
MDAwNDc4MzI3Ij48c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZSI+aHR0cDovL3d3dy5jaXNjby5jb20v
b2ZmZXIvdW5zdWJzY3JpYmUvP3NpZD0wMDA0NzgzMjc8L3NwYW4+PC9hPiZndDs8L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6Ymxh
Y2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7
Y29sb3I6YmxhY2siPlByaXZhY3kgJmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuY2lzY28uY29tL3dl
Yi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUi
Pmh0dHA6Ly93d3cuY2lzY28uY29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbDwv
c3Bhbj48L2E+Jmd0Ozwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_1B3662AAB0044BA3BC1AD7A953E04CCFciscocom_--


From nobody Wed May  3 15:29:35 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D73DD129530 for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:29:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.701
X-Spam-Level: 
X-Spam-Status: No, score=-0.701 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id APlXdLz9w2Ve for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:29:32 -0700 (PDT)
Received: from mail-wm0-x22e.google.com (mail-wm0-x22e.google.com [IPv6:2a00:1450:400c:c09::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AE07127337 for <netconf@ietf.org>; Wed,  3 May 2017 15:27:41 -0700 (PDT)
Received: by mail-wm0-x22e.google.com with SMTP id u65so2670109wmu.1 for <netconf@ietf.org>; Wed, 03 May 2017 15:27:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=X1Aj3sLR7eZJxmBrgBhCGr275DkbtbpssPGCB5QZ06Q=; b=OaZmiy5Kh9R2WsS2nkwSOsHf6jMkfTfvka57zke/KHKOMV6JAkV9ruTtDukx+UpV2D wY1RJQ0WGpyC2kLR/xgBuZCfav86CvxyFA7bRSDaFl6oKBX2aufnqqWyv37V9ldPmk5H WX5uy7dYD5O4YGasEnBBib51wS1zWZJ4+fWjpsUEEW6Xou/QvYwCMKTi8qbwE2jzF4Wz o9SaGhvA068lYf9SIN+lNaI3o5NpUL7cgwNv0j8J9MdzoieuGHMiedVcauLHoKXYH3Tv dqIvMQYUvUNf3SRqhcAu9xQQP+DWdVVJgtTFHrbeSLA2VRoTtfN1Fna/XuwCVttE/n+l wUjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=X1Aj3sLR7eZJxmBrgBhCGr275DkbtbpssPGCB5QZ06Q=; b=Qvf4EMbd0Mir6NR3dUZurztG3AvZZYnxwP/GSxK3tZVUmoXVOZxir+9AmJyLFfAd6X y4yWnFC3WGCBGnXqwv4Pm9NsY2fbjGzUsPgW8kYkcIurUMlxGOR4Ynyvs8iXyNQz1rNV cJhHXeA+2xqhHApjcvk3PmWQTxt041X2KAiXnkje5d/5wQTGcnvkNAoiFza36WLQxuOG 6nZrlfVHzFiYE4Vynb0c9U0ubV+ApFyfGvkzT6TNB79nnQP7U2v4SdMHoTYhpNBU9iK2 diZBGBAVhigm+x2bxd27E3LkJrdiArcnO1sM/M257jrb3QIy8efdAoWEHAQfo62U4Kyk tHqA==
X-Gm-Message-State: AN3rC/4Rq5IeI29Yq3aeQY4v8BkMMtU3K1gMa9twrH5KMnpFKSFFra6F 8fvKrEwls27WkC8A5+kvKg/aA0ibNQ==
X-Received: by 10.28.91.77 with SMTP id p74mr688918wmb.54.1493850459708; Wed, 03 May 2017 15:27:39 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 3 May 2017 15:27:38 -0700 (PDT)
In-Reply-To: <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 3 May 2017 15:27:38 -0700
Message-ID: <CABCOCHSD+f8Fb9AYhue4R16Yz2t3pHM3FCfnRT1=egHmcKOX+Q@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=001a11443132ffbbdf054ea62928
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/7YKLzk0WgCkrJZDVb_2lzwjkdCE>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 22:29:34 -0000

--001a11443132ffbbdf054ea62928
Content-Type: text/plain; charset=UTF-8

Hi.

I do not agree that there has been no feedback on this document.
The draft has not changed much since the early revisions.
There were comments on those revisions and refinements were made
to improve the text.

This update provides explicit support for RESTCONF and new YANG 1.1
constructs.
I think there has been sufficient feedback that these enhancements have
been adequately addressed.


Andy


On Wed, May 3, 2017 at 2:18 PM, Mahesh Jethanandani <mjethanandani@gmail.com
> wrote:

> Folks,
>
> There has been literally no feedback on this document, either to say they
> have read the document and support it, or to express concerns about the
> document. Silence, unfortunately is not a good guide for us. To move the
> document forward, we need to hear from folks, including those who were in
> IETF 98.
>
> Thanks.
>
> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com>
> wrote:
>
> NETCONF WG,
>
> In IETF 98, the authors indicated that the above draft was ready for Last
> Call, and the consensus in the room indicated as much.
>
> This is a start of a 2 week WG Last Call for
> draft-ietf-netconf-rfc6536bis. After two weeks, the document will be
> assigned a shepherd, and the document will be prepared for IESG.
>
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01
>
> Please review and send any comments to the WG mailing list or by
> responding to this e-mail. Comments can be statements such as, I
> read/reviewed the document and believe it is ready for publication, or I
> have concerns about the document. For the latter, please indicate what your
> concerns are.
>
> Any reports on implementation status or plans to implement are also very
> useful.
>
> Authors, please indicate if you are aware of any IPRs related to the draft.
>
> Thanks.
>
> Mahesh and Mehmet
>
>
>
> Mahesh & Mehmet
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>

--001a11443132ffbbdf054ea62928
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi.<div><br></div><div>I do not agree that there has been =
no feedback on this document.</div><div>The draft has not changed much sinc=
e the early revisions.</div><div>There were comments on those revisions and=
 refinements were made</div><div>to improve the text.</div><div><br></div><=
div>This update provides explicit support for RESTCONF and new YANG 1.1 con=
structs.</div><div>I think there has been sufficient feedback that these en=
hancements have</div><div>been adequately addressed.</div><div><br></div><d=
iv><br></div><div>Andy</div><div><br></div></div><div class=3D"gmail_extra"=
><br><div class=3D"gmail_quote">On Wed, May 3, 2017 at 2:18 PM, Mahesh Jeth=
anandani <span dir=3D"ltr">&lt;<a href=3D"mailto:mjethanandani@gmail.com" t=
arget=3D"_blank">mjethanandani@gmail.com</a>&gt;</span> wrote:<br><blockquo=
te class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc so=
lid;padding-left:1ex"><div style=3D"word-wrap:break-word">Folks,<div><br></=
div><div>There has been literally no feedback on this document, either to s=
ay they have read the document and support it, or to express concerns about=
 the document. Silence, unfortunately is not a good guide for us. To move t=
he document forward, we need to hear from folks, including those who were i=
n IETF 98.</div><div><br></div><div>Thanks.</div><div><br><div><blockquote =
type=3D"cite"><div>On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt;<a =
href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani@gma=
il.com</a>&gt; wrote:</div><br class=3D"m_8005660187155883897Apple-intercha=
nge-newline"><div><div style=3D"word-wrap:break-word">NETCONF WG,<br><br>In=
 IETF 98, the authors indicated that the above draft was ready for Last Cal=
l, and the consensus in the room indicated as much.<div><br></div><div>This=
 is a start of a 2 week WG Last Call for draft-ietf-netconf-rfc6536bis. Aft=
er two weeks, the document will be assigned a shepherd, and the document wi=
ll be prepared for IESG.<br><br>The latest version of the draft can be foun=
d at:<br><a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536b=
is-01" target=3D"_blank">https://tools.ietf.org/html/<wbr>draft-ietf-netcon=
f-rfc6536bis-<wbr>01</a><br><br>Please review and send any comments to the =
WG mailing list or by responding to this e-mail. Comments can be statements=
 such as, I read/reviewed the document=C2=A0and believe it is ready for pub=
lication, or I have concerns about the document. For the latter, please ind=
icate what your concerns are.=C2=A0<br><br>Any reports on implementation st=
atus or plans to implement are also=C2=A0very useful.<div><br></div><div>Au=
thors, please indicate if you are aware of any IPRs related to the draft.</=
div><div><br></div><div>Thanks.<br><br>Mahesh and Mehmet<br><div><br class=
=3D"m_8005660187155883897Apple-interchange-newline">

</div>
<br></div></div></div></div></blockquote></div><br><div>
<div>Mahesh &amp; Mehmet</div><div><br></div><br class=3D"m_800566018715588=
3897Apple-interchange-newline">

</div>
<br></div></div><br>______________________________<wbr>_________________<br=
>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
<br></blockquote></div><br></div>

--001a11443132ffbbdf054ea62928--


From nobody Wed May  3 15:42:40 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E0C612426E for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:42:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.623
X-Spam-Level: 
X-Spam-Status: No, score=-12.623 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wZ3S7pvTmiIL for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 15:42:37 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1DB9612025C for <netconf@ietf.org>; Wed,  3 May 2017 15:42:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=13500; q=dns/txt; s=iport; t=1493851357; x=1495060957; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=OPSVbUfKRUSSH4rIsXqikEfqRjt5LBMbk1L+nXN5JSc=; b=W7J5LGXRYiLINcVVkGWqjHaTnDs1x7Aia6yJl6+iqrVdVfA2NLj5Hmoh E7MX5KCxiEfYrp1Qjg6nWfhP7KWF4q/9ajDEraoRT54hc/yccDJ4guQQE nE+J4boPAt9ZVKAcvOPQb9wnmdqNAQEfzqHLgHFm3rxWaBscPJ1NOfaHA c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A1AQCEWwpZ/5RdJa1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nYoEMB4NhihiRU5A3hTeCDyEBDIV2AhqEJj8YAQIBAQEBAQE?= =?us-ascii?q?BayiFFQEBAQEDIwohGBESAgEIFQ8BHQICAi8BJQIEAQ4FBxUEigAOsGSCJiuKP?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBAQEBAR2GX4R5gyGESIJfBZZbhwEBhxqLcJFplDM?= =?us-ascii?q?BHzg/S28VhTYcgWN2AQaHY4ENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,284,1491264000";  d="scan'208,217";a="419705135"
Received: from rcdn-core-12.cisco.com ([173.37.93.148]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 May 2017 22:42:36 +0000
Received: from XCH-RTP-014.cisco.com (xch-rtp-014.cisco.com [64.101.220.154]) by rcdn-core-12.cisco.com (8.14.5/8.14.5) with ESMTP id v43MgZCP023929 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 3 May 2017 22:42:36 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-014.cisco.com (64.101.220.154) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 3 May 2017 18:42:35 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Wed, 3 May 2017 18:42:35 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>, Alexander Clemm <alexander.clemm@huawei.com>, "alex@clemm.org" <alex@clemm.org>
Thread-Topic: notification-complete in draft-ietf-netconf-subscribed-notifications-02
Thread-Index: AQHSxFuiD1cAb2uc9EyB7VoCYigPXaHjMITg
Date: Wed, 3 May 2017 22:42:35 +0000
Message-ID: <0303bc2873fb4a3cb3cb527334a1d234@XCH-RTP-013.cisco.com>
References: <1B3662AA-B004-4BA3-BC1A-D7A953E04CCF@cisco.com>
In-Reply-To: <1B3662AA-B004-4BA3-BC1A-D7A953E04CCF@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_0303bc2873fb4a3cb3cb527334a1d234XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/JOKRmimh79Q3dZwocffGjDp0YvM>
Subject: Re: [Netconf] notification-complete in draft-ietf-netconf-subscribed-notifications-02
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 03 May 2017 22:42:38 -0000

--_000_0303bc2873fb4a3cb3cb527334a1d234XCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

VGhpcyBtYWtlcyBzZW5zZS4NCg0KRXNwZWNpYWxseSBhcyB3ZSBhcmUgbm90IG1pcnJvcmluZyBS
RkM1Mjc3IGF0IHRoaXMgcG9pbnQsIEkgdGhpbmsgd2UgY2FuIGVsaW1pbmF0ZSDigJxub3RpZmlj
YXRpb24tY29tcGxldGXigJ0sIGFuZCBtYWtlIOKAnHN0b3AtdGltZS1yZWFjaGVk4oCdIGFuIGVy
cm9yLWNvZGUgb2YgdGhlIOKAnHN1YnNjcmlwdGlvbi10ZXJtaW5hdGVk4oCdIG5vdGlmaWNhdGlv
bi4NCg0KRXJpYw0KDQpGcm9tOiBUaW0gSmVua2lucywgTWF5IDMsIDIwMTcgNjoyMiBQTQ0KDQpI
aSwNCg0KSSBoYXZlIGEgcXVlc3Rpb24gYWJvdXQgdHdvIG9mIHRoZSBzdGF0ZSBub3RpZmljYXRp
b25zIGluIFNlY3Rpb24gNyBvZiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0
Zi1uZXRjb25mLXN1YnNjcmliZWQtbm90aWZpY2F0aW9ucy0wMi4gV2hhdCBpcyB0aGUgZGlmZmVy
ZW5jZSBiZXR3ZWVuIDxub3RpZmljYXRpb24tY29tcGxldGU+IGFuZCA8c3Vic2NyaXB0aW9uLXRl
cm1pbmF0ZWQ+PyAgQW5kIHdoeSBpc24ndCA8bm90aWZpY2F0aW9uLWNvbXBsZXRlPiBjYWxsZWQg
PHN1YnNjcmlwdGlvbi1jb21wbGV0ZT4/DQoNCklmIHRoZSBuZWVkIGZvciBmb3IgPG5vdGlmaWNh
dGlvbi1jb21wbGV0ZT4gaXMgZHVlIHRvIHN0b3AgdGltZSwgd2h5IG5vdCBqdXN0IHVzZSB0aGF0
IGFzIGEgcmVhc29uIHRvIDxzdWJzY3JpcHRpb24tdGVybWluYXRlZD4/DQoNCkJ1dCB0aGVuIHBl
cmhhcHMgc3Vic2NyaXB0aW9uLXRlcm1pbmF0ZWQgc2hvdWxkbid0IHVzZSBlcnJvci1pZGVudGlm
aWVyOyBwZXJoYXBzIGl0IHNob3VsZCB1c2Ugc29tZXRoaW5nIHRoYXQgY2FuIG1lYW4gdGhpbmdz
IHRoYXQgYXJlbid0IGV4Y2x1c2l2ZWx5IGVycm9ycy4gVGhlcmUgY291bGQgYmUgb3RoZXIgbm9u
LWVycm9yIHJlYXNvbnMgYSBzdWJzY3JpcHRpb24gaXMgdGVybWluYXRlZCBhbmQgdGhpcyBub3Rp
ZmljYXRpb24gc2hvdWxkIHN0aWxsIGJlIHNlbnQuDQoNCkknZCBwcmVmZXIgdGhlcmUgYmUgZmV3
ZXIgbm90aWZpY2F0aW9uIHR5cGVzIHdoZW4gdGhlIHNhbWUgYmFzaWMgdGhpbmcgaXMgaGFwcGVu
aW5nIHRoYXQgaXMgYWxyZWFkeSBkZXNjcmliZWQgYnkgYW5vdGhlciBub3RpZmljYXRpb24sIHBh
cnRpY3VsYXJseSB3aGVuIHRoYXQgb3RoZXIgbm90aWZpY2F0aW9uIGhhcyB0aGUgYWJpbGl0eSB0
byBzcGVjaWZ5IGEgcmVhc29uLg0KDQpUaGFua3MsDQoNClRpbQ0KDQotLQ0KQ2lzY28gU3lzdGVt
cyBDYW5hZGEgQ28uDQoyMDAwIElubm92YXRpb24gRHJpdmUNCkthbmF0YSwgT04sIENhbmFkYSwg
SzJLIDNFOA0KUHJlZmVyZW5jZXMgPGh0dHA6Ly93d3cuY2lzY28uY29tL29mZmVyL3N1YnNjcmli
ZS8/c2lkPTAwMDQ3ODMyNj4NClVuc3Vic2NyaWJlIDxodHRwOi8vd3d3LmNpc2NvLmNvbS9vZmZl
ci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNz4NClByaXZhY3kgPGh0dHA6Ly93d3cuY2lzY28u
Y29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRtbD4NCg0K

--_000_0303bc2873fb4a3cb3cb527334a1d234XCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDEx
IDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws
IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0
b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixz
YW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQph
OnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1z
b25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1l
Om1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGlu
Ow0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250
LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNw
YW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5
OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0Kc3Bhbi5hcHBsZS1j
b252ZXJ0ZWQtc3BhY2UNCgl7bXNvLXN0eWxlLW5hbWU6YXBwbGUtY29udmVydGVkLXNwYWNlO30N
CnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZv
bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0No
cERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBw
dDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEu
MGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2Vj
dGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVm
YXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48
IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxv
OmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwh
W2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgYmdjb2xvcj0id2hpdGUiIGxhbmc9IkVOLVVTIiBs
aW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEi
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29s
b3I6IzFGNDk3RCI+VGhpcyBtYWtlcyBzZW5zZS4mbmJzcDsNCjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOiMxRjQ5N0QiPkVzcGVj
aWFsbHkgYXMgd2UgYXJlIG5vdCBtaXJyb3JpbmcgUkZDNTI3NyBhdCB0aGlzIHBvaW50LCBJIHRo
aW5rIHdlIGNhbiBlbGltaW5hdGUg4oCcbm90aWZpY2F0aW9uLWNvbXBsZXRl4oCdLCBhbmQgbWFr
ZSDigJxzdG9wLXRpbWUtcmVhY2hlZOKAnSBhbiBlcnJvci1jb2RlIG9mIHRoZSDigJxzdWJzY3Jp
cHRpb24tdGVybWluYXRlZOKAnSBub3RpZmljYXRpb24uPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Y29sb3I6
IzFGNDk3RCI+PGJyPg0KRXJpYzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOiMxRjQ5N0QiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1s
ZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0K
PGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3Bh
ZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+IFRpbSBKZW5raW5zLCBNYXkgMywgMjAxNyA2OjIyIFBNPGJyPg0KPGJy
Pg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5IaSw8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkkgaGF2ZSBhIHF1ZXN0aW9uIGFib3V0IHR3byBv
ZiB0aGUgc3RhdGUgbm90aWZpY2F0aW9ucyBpbg0KPHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrO2Jh
Y2tncm91bmQ6d2hpdGUiPlNlY3Rpb24gNyBvZiA8L3NwYW4+PC9zcGFuPjxhIGhyZWY9Imh0dHBz
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtc3Vic2NyaWJlZC1ub3Rp
ZmljYXRpb25zLTAyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtiYWNrZ3JvdW5kOndo
aXRlIj5odHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNj
cmliZWQtbm90aWZpY2F0aW9ucy0wMjwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Y29sb3I6YmxhY2s7YmFja2dyb3VuZDp3aGl0ZSI+Lg0KIFdoYXQgaXMgdGhlIGRpZmZl
cmVuY2UgYmV0d2VlbiAmbHQ7bm90aWZpY2F0aW9uLWNvbXBsZXRlJmd0OyBhbmQgJmx0O3N1YnNj
cmlwdGlvbi10ZXJtaW5hdGVkJmd0Oz8mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hpdGUiPkFuZCB3aHkgaXNuJ3QgJmx0
O25vdGlmaWNhdGlvbi1jb21wbGV0ZSZndDsgY2FsbGVkICZsdDtzdWJzY3JpcHRpb24tY29tcGxl
dGUmZ3Q7PzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hpdGUiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2NvbG9yOmJsYWNrO2JhY2tncm91bmQ6d2hpdGUiPklmIHRo
ZSBuZWVkIGZvciBmb3IgJmx0O25vdGlmaWNhdGlvbi1jb21wbGV0ZSZndDsgaXMgZHVlIHRvIHN0
b3AgdGltZSwgd2h5IG5vdCBqdXN0IHVzZSB0aGF0IGFzIGEgcmVhc29uIHRvICZsdDtzdWJzY3Jp
cHRpb24tdGVybWluYXRlZCZndDs/DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjpibGFjaztiYWNr
Z3JvdW5kOndoaXRlIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtjb2xvcjpibGFjaztiYWNrZ3Jv
dW5kOndoaXRlIj5CdXQgdGhlbiBwZXJoYXBzIHN1YnNjcmlwdGlvbi10ZXJtaW5hdGVkIHNob3Vs
ZG4ndCB1c2UgZXJyb3ItaWRlbnRpZmllcjsgcGVyaGFwcyBpdCBzaG91bGQgdXNlIHNvbWV0aGlu
ZyB0aGF0IGNhbiBtZWFuIHRoaW5ncyB0aGF0IGFyZW4ndCBleGNsdXNpdmVseSBlcnJvcnMuIFRo
ZXJlIGNvdWxkIGJlIG90aGVyDQogbm9uLWVycm9yIHJlYXNvbnMgYSBzdWJzY3JpcHRpb24gaXMg
dGVybWluYXRlZCBhbmQgdGhpcyBub3RpZmljYXRpb24gc2hvdWxkIHN0aWxsIGJlIHNlbnQuPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Y29sb3I6YmxhY2s7YmFja2dyb3VuZDp3aGl0ZSI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Y29sb3I6YmxhY2s7YmFja2dyb3VuZDp3aGl0ZSI+SSdkIHByZWZlciB0aGVy
ZSBiZSBmZXdlciBub3RpZmljYXRpb24gdHlwZXMgd2hlbiB0aGUgc2FtZSBiYXNpYyB0aGluZyBp
cyBoYXBwZW5pbmcgdGhhdCBpcyBhbHJlYWR5IGRlc2NyaWJlZCBieSBhbm90aGVyIG5vdGlmaWNh
dGlvbiwgcGFydGljdWxhcmx5IHdoZW4gdGhhdCBvdGhlciBub3RpZmljYXRpb24NCiBoYXMgdGhl
IGFiaWxpdHkgdG8gc3BlY2lmeSBhIHJlYXNvbi48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+VGhh
bmtzLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+VGltPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Y29sb3I6
YmxhY2siPi0tJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9u
dC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPkNpc2NvIFN5c3RlbXMgQ2FuYWRhIENvLjwv
c3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztj
b2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpD
b25zb2xhcztjb2xvcjpibGFjayI+MjAwMCBJbm5vdmF0aW9uIERyaXZlPC9zcGFuPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsYWNrIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9y
OmJsYWNrIj5LYW5hdGEsIE9OLCBDYW5hZGEsIEsySyAzRTg8L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2si
PlByZWZlcmVuY2VzICZsdDs8L3NwYW4+PGEgaHJlZj0iaHR0cDovL3d3dy5jaXNjby5jb20vb2Zm
ZXIvc3Vic2NyaWJlLz9zaWQ9MDAwNDc4MzI2Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0
O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOmJsdWUiPmh0dHA6Ly93d3cuY2lzY28uY29tL29m
ZmVyL3N1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNjwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+Jmd0Ozwvc3Bhbj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpi
bGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xh
cztjb2xvcjpibGFjayI+VW5zdWJzY3JpYmUgJmx0Ozwvc3Bhbj48YSBocmVmPSJodHRwOi8vd3d3
LmNpc2NvLmNvbS9vZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNyI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibHVlIj5odHRwOi8v
d3d3LmNpc2NvLmNvbS9vZmZlci91bnN1YnNjcmliZS8/c2lkPTAwMDQ3ODMyNzwvc3Bhbj48L2E+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjpi
bGFjayI+Jmd0Ozwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTpDb25zb2xhcztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtm
b250LWZhbWlseTpDb25zb2xhcztjb2xvcjpibGFjayI+UHJpdmFjeSAmbHQ7PC9zcGFuPjxhIGhy
ZWY9Imh0dHA6Ly93d3cuY2lzY28uY29tL3dlYi9zaXRlYXNzZXRzL2xlZ2FsL3ByaXZhY3kuaHRt
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xv
cjpibHVlIj5odHRwOi8vd3d3LmNpc2NvLmNvbS93ZWIvc2l0ZWFzc2V0cy9sZWdhbC9wcml2YWN5
Lmh0bWw8L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6
Q29uc29sYXM7Y29sb3I6YmxhY2siPiZndDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_0303bc2873fb4a3cb3cb527334a1d234XCHRTP013ciscocom_--


From nobody Wed May  3 18:15:43 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B52B6127058 for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 18:15:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bjEkkVnLCyXa for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 18:15:39 -0700 (PDT)
Received: from alln-iport-6.cisco.com (alln-iport-6.cisco.com [173.37.142.93]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 871CA12954C for <netconf@ietf.org>; Wed,  3 May 2017 18:15:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12473; q=dns/txt; s=iport; t=1493860528; x=1495070128; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=5W4KXuUGsxQXRi39KBkpyJ/PAdZZF2hF7DSwmvUkCCk=; b=eeiLXfKHMH/dW7lcCgQvqpQkpGD0wb9WNDOnGj+OkXXA/b4KSswdgv1q le70FDpdZCyXjlbpBaaAoXYZw5HLmQWhW86LVANtcAr4XKyJDhHMqxYeK +GDy/rvhHs8zVD6fBgh/c1/RgT+oY6+Yl4a0ZGJVeiKnFIN1m2kWX3YRh M=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DPAACkfwpZ/4gNJK1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm48K2KBDAeNeZFTiCKIFYU3gg8shXgChEA/GAECAQEBAQEBAWs?= =?us-ascii?q?ohRUBAQEBAx0QQQsQAgEIFRAaByERFBECBAENBQiKAQMVDrJ8hy4Ngy4BAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEYBYZfgV6DG4JUgkWFLwWJNog2hG+GRjsBhxqHKYR?= =?us-ascii?q?HgguFOYNlhQOBPYshiRIBHziBCm8VRYZwdodqgQ0BAQE?=
X-IronPort-AV: E=Sophos;i="5.38,286,1491264000";  d="scan'208,217";a="421564325"
Received: from alln-core-3.cisco.com ([173.36.13.136]) by alln-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 04 May 2017 01:15:27 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id v441FRN7030313 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 4 May 2017 01:15:27 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 3 May 2017 21:15:26 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Wed, 3 May 2017 21:15:26 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "Andy Bierman (andy@yumaworks.com)" <andy@yumaworks.com>, Martin Bjorklund <mbj@tail-f.com>
CC: Netconf <netconf@ietf.org>, Mahesh Jethanandani <mjethanandani@gmail.com>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSxFM7evplkJhlYEmuOHGXG3Fp5KHjJrQw
Date: Thu, 4 May 2017 01:15:26 +0000
Message-ID: <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
In-Reply-To: <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_f2106a6c538a4b9e96ba490b867bd40dXCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/32mjeTjwl0zUKpj9dKf6VLZd2Mo>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 01:15:43 -0000

--_000_f2106a6c538a4b9e96ba490b867bd40dXCHRTP013ciscocom_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Andy,
Hi Martin,

This is an excellent document.  I  have a few questions:

#1 Section 3.1.3
If a data node identified in a request has no read access allowed (i.e., da=
ta node rule violation), isn't it better to treat the response like the nod=
e didn't exist, i.e. a "data-missing" error code?   You highlight this as a=
n issue in 3.7.2, but I don't see a reason why "data missing" isn't prefera=
ble to "access denied" (other than ease of debug.)

#2  Section 3.1.3
On the sentence: "If the user is not authorized to read all the specified d=
ata nodes and the notification node, then the notification is dropped for t=
hat subscription."    There is a difference between events (where the whole=
 event should be discarded), and YANG object selections (where it is prefer=
able to just discard those node for which a receiver has no access).   What=
 are your thoughts based on the type of notification of allowing the simple=
 dropping any nodes where read access is not available if the notification =
includes some extract of a yang datastore?

#3 Section 3.4.6
Outgoing <notification> Authorization in 3.4.6 say descendent nodes are out=
 of scope.  But as some notifications can contain datastore extracts, it wo=
uld seem useful allow NACM to act similarly to the processing of a response=
 to a get.  Also is there an intersection of this point with #2 above?

Thanks,
Eric

From: Mahesh Jethanandani, May 3, 2017 5:18 PM

Folks,

There has been literally no feedback on this document, either to say they h=
ave read the document and support it, or to express concerns about the docu=
ment. Silence, unfortunately is not a good guide for us. To move the docume=
nt forward, we need to hear from folks, including those who were in IETF 98=
.

Thanks.

On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com<m=
ailto:mjethanandani@gmail.com>> wrote:

NETCONF WG,

In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.

This is a start of a 2 week WG Last Call for draft-ietf-netconf-rfc6536bis.=
 After two weeks, the document will be assigned a shepherd, and the documen=
t will be prepared for IESG.

The latest version of the draft can be found at:
https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01

Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument and believe it is ready for publication, or I have concerns about th=
e document. For the latter, please indicate what your concerns are.

Any reports on implementation status or plans to implement are also very us=
eful.

Authors, please indicate if you are aware of any IPRs related to the draft.

Thanks.

Mahesh and Mehmet



Mahesh & Mehmet




--_000_f2106a6c538a4b9e96ba490b867bd40dXCHRTP013ciscocom_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle19
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Hi Andy,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Hi Martin,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">This is an excellent document.&nbsp; =
I&nbsp; have a few questions:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">#1 Section 3.1.3<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">If a data node identified in a reques=
t has no read access allowed (i.e., data node rule violation), isn&#8217;t =
it better to treat the response like the node didn&#8217;t
 exist, i.e. a &#8220;data-missing&#8221; error code?&nbsp;&nbsp; You highl=
ight this as an issue in 3.7.2, but I don&#8217;t see a reason why &#8220;d=
ata missing&#8221; isn&#8217;t preferable to &#8220;access denied&#8221; (o=
ther than ease of debug.)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">#2&nbsp; Section 3.1.3<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">On the sentence: &#8220;If the user i=
s not authorized to read all the specified data nodes and the notification =
node, then the notification is dropped for that subscription.&#8221;&nbsp;&=
nbsp;&nbsp;
 There is a difference between events (where the whole event should be disc=
arded), and YANG object selections (where it is preferable to just discard =
those node for which a receiver has no access).&nbsp;&nbsp; What are your t=
houghts based on the type of notification
 of allowing the simple dropping any nodes where read access is not availab=
le if the notification includes some extract of a yang datastore?&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">#3 Section 3.4.6<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Outgoing &lt;notification&gt; Authori=
zation in 3.4.6 say descendent nodes are out of scope. &nbsp;But as some no=
tifications can contain datastore extracts, it would seem
 useful allow NACM to act similarly to the processing of a response to a ge=
t.&nbsp; Also is there an intersection of this point with #2 above?<o:p></o=
:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Thanks,<br>
Eric<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Mahesh Jethanandani, May 3, 20=
17 5:18 PM<br>
<br>
<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal">Folks,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately is not a good guide for=
 us. To move the document forward,
 we need to hear from folks, including those who were in IETF 98.<o:p></o:p=
></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>&gt;=
 wrote:<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01">ht=
tps://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument&nbsp;and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.&nbsp;<br>
<br>
Any reports on implementation status or plans to implement are also&nbsp;ve=
ry useful.<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</body>
</html>

--_000_f2106a6c538a4b9e96ba490b867bd40dXCHRTP013ciscocom_--


From nobody Wed May  3 18:33:15 2017
Return-Path: <shares@ndzh.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 200631294C4 for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 18:33:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 3.646
X-Spam-Level: ***
X-Spam-Status: No, score=3.646 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DOS_OUTLOOK_TO_MX=2.845, HTML_MESSAGE=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TxbL4mtrlsqe for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 18:33:11 -0700 (PDT)
Received: from hickoryhill-consulting.com (50-245-122-97-static.hfc.comcastbusiness.net [50.245.122.97]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAE6612785F for <netconf@ietf.org>; Wed,  3 May 2017 18:33:11 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=70.194.23.139; 
From: "Susan Hares" <shares@ndzh.com>
To: "'Mehmet Ersue'" <mersue@gmail.com>, "'Netconf'" <netconf@ietf.org>
References: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
In-Reply-To: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
Date: Wed, 3 May 2017 21:27:51 -0400
Message-ID: <00ff01d2c475$a62d4c90$f287e5b0$@ndzh.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0100_01D2C454.1F1E1D90"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQLlHsZErMvgTAs657KeniKdIDx+s5++rWSg
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com 
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/oc8uetc6ndWcFZ7tn_3nhR6QG4I>
Subject: Re: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 01:33:13 -0000

This is a multipart message in MIME format.

------=_NextPart_000_0100_01D2C454.1F1E1D90
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Mehmet: 

 

I am sadden to hear you are resigning.  You pushed for quality in the
protocols, and aiding many of people like me as we joined the NETCONF ranks.
Thanks for all you've done. 

 

Sue 

 

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Mehmet Ersue
Sent: Wednesday, May 3, 2017 5:11 PM
To: 'Netconf'
Subject: [Netconf] Resigning from NETCONF Co-chair Position

 

Dear NETCONF WG,

 

as I informed Benoit and Mahesh, after 9 years I'm going to resign from WG
co-chair position effective with the end of IETF #99 meeting. 

Thank You very much for your kind support all the years.      

 

People interested to become NETCONF WG co-chair please contact our AD soon.

 

Regards, 
Mehmet 

 


------=_NextPart_000_0100_01D2C454.1F1E1D90
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META =
HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#0000CC;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US =
link=3D"#0563C1" vlink=3D"#954F72"><div class=3DWordSection1><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Mehmet: =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>I am sadden to hear you =
are resigning.&nbsp; You pushed for quality in the protocols, and aiding =
many of people like me as we joined the NETCONF ranks.&nbsp; Thanks for =
all you&#8217;ve done. <o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#1F497D'>Sue =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#1F497D'><o:p>&nbsp;</o:p></span></p><div><div =
style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span>=
</b><span style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> =
Netconf [mailto:netconf-bounces@ietf.org] <b>On Behalf Of </b>Mehmet =
Ersue<br><b>Sent:</b> Wednesday, May 3, 2017 5:11 PM<br><b>To:</b> =
'Netconf'<br><b>Subject:</b> [Netconf] Resigning from NETCONF Co-chair =
Position<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>Dear NETCONF WG,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#0000CC'>&nbsp;<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>as I informed Benoit and =
Mahesh, after 9 years I&#8217;m going to resign from WG co-chair =
position effective with the end of IETF #99 meeting. =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>Thank You very much for your kind support all =
the years.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'color:#0000CC'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>People interested to =
become NETCONF WG co-chair please contact our AD =
soon.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'>&nbsp;<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'color:#0000CC'>Regards, <br>Mehmet =
<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'color:#0000CC'><o:p>&nbsp;</o:p></span></p></div></body></html>
------=_NextPart_000_0100_01D2C454.1F1E1D90--


From nobody Wed May  3 19:57:22 2017
Return-Path: <dromasca@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FDB9129AD0 for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 19:57:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.8
X-Spam-Level: 
X-Spam-Status: No, score=-0.8 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1K2eNpZzzjqz for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 19:57:11 -0700 (PDT)
Received: from mail-qk0-x22d.google.com (mail-qk0-x22d.google.com [IPv6:2607:f8b0:400d:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E38FD1296C9 for <netconf@ietf.org>; Wed,  3 May 2017 19:57:10 -0700 (PDT)
Received: by mail-qk0-x22d.google.com with SMTP id u75so997824qka.3 for <netconf@ietf.org>; Wed, 03 May 2017 19:57:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=IwwTlit8u6LjhqW4dBzSFcHM5YS7V/YTTMpuKRHBDfY=; b=WJM4A4Xu//F8U4AVisfsZL9YfshVvvAfau0sEdzU0rDA5/G0Xetc0zPb9Za/mlSSdL 3s476//KQuWtiWH57GjSN15TCJFnC+ahxzWJ5S+nn4k1vgjSaEaI65JuWCugDwSWdZTv exisry/ove4SO22jqutYx9SkTUBuhEurqAUMpCwzHe5jVEcmzhJLQ1ADjlNufckAn7Y3 7o3heSnwjGXXFgNqL52KA2KjShKShYLBXIZK6xNviGJ7gvvpMnOd+HsZVobvuJJcauvg v9Ag82VRRIWOMcThdutYsMCx+tOI/SufveS6+Ia4Io1flF9KKaczZID3U6TRCPVMrEf5 01Lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=IwwTlit8u6LjhqW4dBzSFcHM5YS7V/YTTMpuKRHBDfY=; b=C8SJIWsNI0wrf5/Pcjg5Pwi73CnZgVv3vdCATjDxHvwj9BRPNwMafuN2IxZCon6kGZ sIGpeN1Lm7iwnA/g6uZyqhTpSxJ8e0VOw7L980rCRvzSBUiju05iQSisn/xtq5PE65oe 23CDyUoVFFaO8I1GYwQOBTwtmJ64g2m62ESV+c8rTZJJXDnNsSk0f9gYruPDScrK2TEP bMzzeiLjRYVbtsst7lMmWvGReX8Orro+6F6xRt40ween70xcUimWPFvEvaMpFLVnp7vg a+hNw9kkwD5wDXxtTWke72zwxMz2Hj5mDMNR1yS9LZxeXuKIOnGQ9Hl6+RcnfsmwKQci RWRQ==
X-Gm-Message-State: AODbwcA6gAjg2da8TuZLOnsX5XbXT2v9H1RMG/bs6GXDdCEDP1li3bzk nk0U0X1RSerBRvFN9yICVsO3dmQ98w==
X-Received: by 10.55.185.5 with SMTP id j5mr5707720qkf.94.1493866630174; Wed, 03 May 2017 19:57:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.140.19.39 with HTTP; Wed, 3 May 2017 19:57:09 -0700 (PDT)
In-Reply-To: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
References: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
From: Dan Romascanu <dromasca@gmail.com>
Date: Thu, 4 May 2017 05:57:09 +0300
Message-ID: <CAFgnS4V-XaEDSFD+SoZ3y7Hr+R49Fs3-BxhLDn2aFBCQzvJVBA@mail.gmail.com>
To: Mehmet Ersue <mersue@gmail.com>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=94eb2c042ffed55c56054ea9ed79
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/3B3FmEq99hlW5VcAHpEA1dei2KE>
Subject: Re: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 02:57:21 -0000

--94eb2c042ffed55c56054ea9ed79
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Thanks for your great contributions, Mehmet. You helped and led the WG and
the operators community transform NETCONF from a niche to a mainstream tool
in the network management toolset.

Regards,

Dan


On Thu, May 4, 2017 at 12:10 AM, Mehmet Ersue <mersue@gmail.com> wrote:

> Dear NETCONF WG,
>
>
>
> as I informed Benoit and Mahesh, after 9 years I=E2=80=99m going to resig=
n from WG
> co-chair position effective with the end of IETF #99 meeting.
>
> Thank You very much for your kind support all the years.
>
>
>
> People interested to become NETCONF WG co-chair please contact our AD soo=
n.
>
>
>
> Regards,
> Mehmet
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>

--94eb2c042ffed55c56054ea9ed79
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div>Thanks for your great contributions, Mehmet. You=
 helped and led the WG and the operators community transform NETCONF from a=
 niche to a mainstream tool in the network management toolset. <br><br></di=
v>Regards,<br><br></div>Dan<br><br></div><div class=3D"gmail_extra"><br><di=
v class=3D"gmail_quote">On Thu, May 4, 2017 at 12:10 AM, Mehmet Ersue <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:mersue@gmail.com" target=3D"_blank">mers=
ue@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div l=
ink=3D"#0563C1" vlink=3D"#954F72" lang=3D"EN-US"><div class=3D"m_7059383957=
455715409WordSection1"><p class=3D"MsoNormal"><span style=3D"color:#0000cc"=
>Dear NETCONF WG,<u></u><u></u></span></p><p class=3D"MsoNormal"><span styl=
e=3D"color:#0000cc">=C2=A0<u></u><u></u></span></p><p class=3D"MsoNormal"><=
span style=3D"color:#0000cc">as I informed Benoit and Mahesh, after 9 years=
 I=E2=80=99m going to resign from WG co-chair position effective with the e=
nd of IETF #99 meeting. <u></u><u></u></span></p><p class=3D"MsoNormal"><sp=
an style=3D"color:#0000cc">Thank You very much for your kind support all th=
e years.=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <u></u><u></u></span></p><p class=3D=
"MsoNormal"><span style=3D"color:#0000cc"><u></u>=C2=A0<u></u></span></p><p=
 class=3D"MsoNormal"><span style=3D"color:#0000cc">People interested to bec=
ome NETCONF WG co-chair please contact our AD soon.<u></u><u></u></span></p=
><p class=3D"MsoNormal"><span style=3D"color:#0000cc">=C2=A0<u></u><u></u><=
/span></p><p class=3D"MsoNormal"><span style=3D"color:#0000cc">Regards, <br=
>Mehmet <u></u><u></u></span></p><p class=3D"MsoNormal"><span style=3D"colo=
r:#0000cc"><u></u>=C2=A0<u></u></span></p></div></div><br>_________________=
_____________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
<br></blockquote></div><br></div>

--94eb2c042ffed55c56054ea9ed79--


From nobody Wed May  3 21:50:47 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A4CC12943D for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 21:50:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9vP08k3ReHq0 for <netconf@ietfa.amsl.com>; Wed,  3 May 2017 21:50:44 -0700 (PDT)
Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BD9A7129B36 for <netconf@ietf.org>; Wed,  3 May 2017 21:50:41 -0700 (PDT)
Received: by mail-wm0-x234.google.com with SMTP id u65so6888784wmu.1 for <netconf@ietf.org>; Wed, 03 May 2017 21:50:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=pEtkmIDoAiOUspoCqzZM2rpfIls5baSl05iWENCutms=; b=vw4dkEANg4k/ateBakLuk42cLntyVXK618SHvC9exSB12KZRwgzUR1b9mNf8JFVS0p Bq2nxndduzYgukVGVqI37GHYk4m7NDqLd3TGJRPb4Ap1XnpKU8d63pJmj5oWAbT1oJ2B aKUvbKAdRK3NvYWwzNMrQBjTm3F/izYCxTetpnZ0RbDuhdo22LrSxKRPXrqaRrEP0vOf xONOWRvo6ebdT/er6lV2Xn2vC9Zyr2Mdw8IIJAoeA8yM6zF+5Qtc5eV75gOpWao2GvmO E+n59sFK6gT5oodZJO6ksNhtEiWfqyHzfXm/IakMiUAiHnEm6U1b17M4t2F9SACnE5Un 6vGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=pEtkmIDoAiOUspoCqzZM2rpfIls5baSl05iWENCutms=; b=YWbugXYwwe+p7ESsJbD0uxt4T9Op23ekVN4mg6La/qyNR6sN18jKwBjFHt74Yz5t7c Iu9rK/LMba1UbFt+8CX+XilzGgEvpeaa/S2/5iVtfeXtqrN+j5/0Qvt4T/uUSDt1gv7v wjdTEp7unu5Wy+gmjWsGC9aZgBrDLItLwJ+c2IC7hsX0rO/smBfzV3CAU2AYeFSFplcR HNEMPrreq2ykcV/qVTZ0iH95c2xPLFjT5UaBijtgn/7gf32dAGhqx3dB/AHiQG4iFsRf fLfaHpnIcwvF3xwLsjIeKIZ6nh2gY7Yi5m3djTdrqa95YfpmWJ7t9TS1tL2P54JgsOX7 vSjA==
X-Gm-Message-State: AN3rC/6EOFmEIdZIH/3Z14fFiZ2IWSEMjOKXJ3VZaI4AMCANxdQG2P7V FrusZ/RJMPDg6YY+xbTCB82DYefz+Q==
X-Received: by 10.28.91.77 with SMTP id p74mr182331wmb.54.1493873440261; Wed, 03 May 2017 21:50:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 3 May 2017 21:50:39 -0700 (PDT)
In-Reply-To: <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 3 May 2017 21:50:39 -0700
Message-ID: <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>,  Mahesh Jethanandani <mjethanandani@gmail.com>
Content-Type: multipart/alternative; boundary=001a11443132bf1e58054eab8358
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/qYOCnDq__PkoN1gDQCMy0dYz8KY>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 04:50:46 -0000

--001a11443132bf1e58054eab8358
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Wed, May 3, 2017 at 6:15 PM, Eric Voit (evoit) <evoit@cisco.com> wrote:

> Hi Andy,
>
> Hi Martin,
>
>
>
> This is an excellent document.  I  have a few questions:
>
>
>
> #1 Section 3.1.3
>
> If a data node identified in a request has no read access allowed (i.e.,
> data node rule violation), isn=E2=80=99t it better to treat the response =
like the
> node didn=E2=80=99t exist, i.e. a =E2=80=9Cdata-missing=E2=80=9D error co=
de?   You highlight this
> as an issue in 3.7.2, but I don=E2=80=99t see a reason why =E2=80=9Cdata =
missing=E2=80=9D isn=E2=80=99t
> preferable to =E2=80=9Caccess denied=E2=80=9D (other than ease of debug.)
>
>
>

data-missing seems tied to the delete operation error
(client tried to delete a node that does not exist).
access-denied can apply to the object -- the data may or may not exist.
I think many of the NETCONF error-tags overlap and we just have to make
a subjective choice.




> #2  Section 3.1.3
>
> On the sentence: =E2=80=9CIf the user is not authorized to read all the s=
pecified
> data nodes and the notification node, then the notification is dropped fo=
r
> that subscription.=E2=80=9D    There is a difference between events (wher=
e the
> whole event should be discarded), and YANG object selections (where it is
> preferable to just discard those node for which a receiver has no
> access).   What are your thoughts based on the type of notification of
> allowing the simple dropping any nodes where read access is not available
> if the notification includes some extract of a yang datastore?
>

The initial intent was to keep NACM simple and make it easier to have high
performance implementations.
NACM only allows the event-type to be tested, not any data within it. IMO
the new notification work will
be significantly more expensive to implement high performance notification
delivery.

NACM does not really work the way YANG push wants it to work.
The  path /my-event/interfaces/interface/name is not the same node
as /interfaces/interface/name. Some handwaving text may say treat these
nodes the same, but they are not related at all (from a NACM POV)



>
> #3 Section 3.4.6
>
> Outgoing <notification> Authorization in 3.4.6 say descendent nodes are
> out of scope.  But as some notifications can contain datastore extracts, =
it
> would seem useful allow NACM to act similarly to the processing of a
> response to a get.  Also is there an intersection of this point with #2
> above?
>

IMO this should not be done (unless you want you code to run way slower)
It also means the client cannot be sure what the server will leak.
I prefer to apply NACM at subscription-time. If the client is not allowed t=
o
read everything in the requested subscription, it is denied.

This doesn't really work for data rules on specific instances that get
created
after the subscription starts. But applying NACM data rules to every
descendant
node in a YANG push is going to be extremely slow. This gets even worse
for subscriptions with multiple receivers (as NACM has to be enforced for
each receiver). I would prefer to see a solution that forces YANG push
to enforce NACM at update generation time (before the notification
delivery system ever sees it) But this assumes YANG push is aware
of the active subscriptions, so not an ideal solution at all.






>
>
> Thanks,
> Eric
>

Andy


>
>
> *From:* Mahesh Jethanandani, May 3, 2017 5:18 PM
>
> Folks,
>
>
>
> There has been literally no feedback on this document, either to say they
> have read the document and support it, or to express concerns about the
> document. Silence, unfortunately is not a good guide for us. To move the
> document forward, we need to hear from folks, including those who were in
> IETF 98.
>
>
>
> Thanks.
>
>
>
> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com=
>
> wrote:
>
>
>
> NETCONF WG,
>
> In IETF 98, the authors indicated that the above draft was ready for Last
> Call, and the consensus in the room indicated as much.
>
>
>
> This is a start of a 2 week WG Last Call for
> draft-ietf-netconf-rfc6536bis. After two weeks, the document will be
> assigned a shepherd, and the document will be prepared for IESG.
>
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01
>
> Please review and send any comments to the WG mailing list or by
> responding to this e-mail. Comments can be statements such as, I
> read/reviewed the document and believe it is ready for publication, or I
> have concerns about the document. For the latter, please indicate what yo=
ur
> concerns are.
>
> Any reports on implementation status or plans to implement are also very
> useful.
>
>
>
> Authors, please indicate if you are aware of any IPRs related to the draf=
t.
>
>
>
> Thanks.
>
> Mahesh and Mehmet
>
>
>
>
>
>
>
> Mahesh & Mehmet
>
>
>
>
>
>
>

--001a11443132bf1e58054eab8358
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 3, 2017 at 6:15 PM, Eric Voit (evoit) <span dir=3D"ltr">&lt=
;<a href=3D"mailto:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&g=
t;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0=
 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_1882900731935437619m_-3350759884837448455WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Andy,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Martin,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">This is an excellent document.=C2=A0 =
I=C2=A0 have a few questions:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#1 Section 3.1.3<u></u><u></u></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">If a data node identified in a reques=
t has no read access allowed (i.e., data node rule violation), isn=E2=80=99=
t it better to treat the response like the node didn=E2=80=99t
 exist, i.e. a =E2=80=9Cdata-missing=E2=80=9D error code?=C2=A0=C2=A0 You h=
ighlight this as an issue in 3.7.2, but I don=E2=80=99t see a reason why =
=E2=80=9Cdata missing=E2=80=9D isn=E2=80=99t preferable to =E2=80=9Caccess =
denied=E2=80=9D (other than ease of debug.)<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0</span></p></div></div><=
/blockquote><div><br></div><div>data-missing seems tied to the delete opera=
tion error</div><div>(client tried to delete a node that does not exist).</=
div><div>access-denied can apply to the object -- the data may or may not e=
xist.</div><div>I think many of the NETCONF error-tags overlap and we just =
have to make</div><div>a subjective choice.</div><div><br></div><div><br></=
div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang=3D"EN-US" lin=
k=3D"blue" vlink=3D"purple"><div class=3D"m_1882900731935437619m_-335075988=
4837448455WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:11.=
0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#2=C2=A0 Section 3.1.3<u></u><u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">On the sentence: =E2=80=9CIf the user=
 is not authorized to read all the specified data nodes and the notificatio=
n node, then the notification is dropped for that subscription.=E2=80=9D=C2=
=A0=C2=A0=C2=A0
 There is a difference between events (where the whole event should be disc=
arded), and YANG object selections (where it is preferable to just discard =
those node for which a receiver has no access).=C2=A0=C2=A0 What are your t=
houghts based on the type of notification
 of allowing the simple dropping any nodes where read access is not availab=
le if the notification includes some extract of a yang datastore?</span></p=
></div></div></blockquote><div><br></div><div>The initial intent was to kee=
p NACM simple and make it easier to have high performance implementations.<=
/div><div>NACM only allows the event-type to be tested, not any data within=
 it. IMO the new notification work will</div><div>be significantly more exp=
ensive to implement high performance notification delivery.</div><div><br><=
/div><div>NACM does not really work the way YANG push wants it to work.</di=
v><div>The =C2=A0path /my-event/interfaces/<wbr>interface/name is not the s=
ame node</div><div>as /interfaces/interface/name. Some handwaving text may =
say treat these</div><div>nodes the same, but they are not related at all (=
from a NACM POV)</div><div><br></div><div><br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div class=3D"m_=
1882900731935437619m_-3350759884837448455WordSection1"><p class=3D"MsoNorma=
l"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d">
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#3 Section 3.4.6<u></u><u></u></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Outgoing &lt;notification&gt; Authori=
zation in 3.4.6 say descendent nodes are out of scope.=C2=A0 But as some no=
tifications can contain datastore extracts, it would seem
 useful allow NACM to act similarly to the processing of a response to a ge=
t.=C2=A0 Also is there an intersection of this point with #2 above?</span><=
/p></div></div></blockquote><div><br></div><div>IMO this should not be done=
 (unless you want you code to run way slower)</div><div>It also means the c=
lient cannot be sure what the server will leak.</div><div>I prefer to apply=
 NACM at subscription-time. If the client is not allowed to</div><div>read =
everything in the requested subscription, it is denied.</div><div><br></div=
><div>This doesn&#39;t really work for data rules on specific instances tha=
t get created</div><div>after the subscription starts. But applying NACM da=
ta rules to every descendant</div><div>node in a YANG push is going to be e=
xtremely slow. This gets even worse</div><div>for subscriptions with multip=
le receivers (as NACM has to be enforced for</div><div>each receiver). I wo=
uld prefer to see a solution that forces YANG push</div><div>to enforce NAC=
M at update generation time (before the notification</div><div>delivery sys=
tem ever sees it) But this assumes YANG push is aware</div><div>of the acti=
ve subscriptions, so not an ideal solution at all.</div><div><br></div><div=
><br></div><div><br></div><div><br></div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div class=
=3D"m_1882900731935437619m_-3350759884837448455WordSection1"><p class=3D"Ms=
oNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sa=
ns-serif;color:#1f497d"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Thanks,<br>
Eric</span></p></div></div></blockquote><div><br></div><div>Andy</div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex"><div lang=3D"EN-US" link=3D"blue=
" vlink=3D"purple"><div class=3D"m_1882900731935437619m_-335075988483744845=
5WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Mahesh Jethanandani, May 3, 20=
17 5:18 PM<br>
<br>
<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal">Folks,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately is not a good guide for=
 us. To move the document forward,
 we need to hear from folks, including those who were in IETF 98.<u></u><u>=
</u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani=
@gmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01" ta=
rget=3D"_blank">https://tools.ietf.org/html/dr<wbr>aft-ietf-netconf-rfc6536=
bis-01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument=C2=A0and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.=C2=A0<br>
<br>
Any reports on implementation status or plans to implement are also=C2=A0ve=
ry useful.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--001a11443132bf1e58054eab8358--


From nobody Thu May  4 01:37:03 2017
Return-Path: <bclaise@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2CA9D129BD7 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 01:37:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -11.802
X-Spam-Level: 
X-Spam-Status: No, score=-11.802 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GZoZEmN9u4Nu for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 01:37:01 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE7CD129BD1 for <netconf@ietf.org>; Thu,  4 May 2017 01:36:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4249; q=dns/txt; s=iport; t=1493887019; x=1495096619; h=subject:to:cc:references:from:message-id:date: mime-version:in-reply-to; bh=d7cJMNQyamBatMyBilCpIaIqpsocuiGDMX+ehsEVAlU=; b=BnVIyPGOARRtHB9pVGtDC8LvuyQPoqg2i5+1UtPklCyC1YS/J5Db55pa icSitS/WdfYWUwgC3QcAxFLnaf5lLqL9kcBRl4IqxkcYHQvUEzIcR/ARP Sa9olDlca+O28kQaDLqk81pMjv5UOCWvVA/guWprQqW3ACypeIMJfqyhL I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A9AQB45wpZ/xbLJq1dGgEBAQECAQEBA?= =?us-ascii?q?QgBAQEBgm6QVXOQQSGQN4U4gg+GJAKFAxgBAgEBAQEBAQFrKIUWAQQBLUwFCws?= =?us-ascii?q?OOFcGAQwIAQGKFAiyfSuKPgEBAQEBAQEBAQEBAQEBAQEBAQEBAR2GX4IJC4Jli?= =?us-ascii?q?kgBBJ1ikxUCggCFOYNChmWMCYgsHziBCi4gCBkVhzc+iS0BAQE?=
X-IronPort-AV: E=Sophos;i="5.38,287,1491264000";  d="scan'208,217";a="654448257"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 May 2017 08:36:57 +0000
Received: from [10.60.67.90] (ams-bclaise-8919.cisco.com [10.60.67.90]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id v448auXF021101; Thu, 4 May 2017 08:36:57 GMT
To: Mehmet Ersue <mersue@gmail.com>, "'Netconf'" <netconf@ietf.org>
References: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
From: Benoit Claise <bclaise@cisco.com>
Message-ID: <91741969-734d-9aeb-9657-47c63b06bdf0@cisco.com>
Date: Thu, 4 May 2017 10:36:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0
MIME-Version: 1.0
In-Reply-To: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
Content-Type: multipart/alternative; boundary="------------90CF0842712E93AE94B04620"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ztQHY1W_jA3yKQ53iHHstLwIVak>
Subject: Re: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 08:37:02 -0000

This is a multi-part message in MIME format.
--------------90CF0842712E93AE94B04620
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit

Thanks Mehmet for those 9 years. Time flies when we're having fun :-)

Any interest candidates, or simply people having questions about the job 
description, should contact me.

Regards, Benoit

> Dear NETCONF WG,
>
> as I informed Benoit and Mahesh, after 9 years I’m going to resign 
> from WG co-chair position effective with the end of IETF #99 meeting.
>
> Thank You very much for your kind support all the years.
>
> People interested to become NETCONF WG co-chair please contact our AD 
> soon.
>
> Regards,
> Mehmet
>


--------------90CF0842712E93AE94B04620
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Thanks Mehmet for those 9 years. Time
      flies when we're having fun :-)<br>
      <br>
      Any interest candidates, or simply people having questions about
      the job description, should contact me.<br>
      <br>
      Regards, Benoit<br>
      <br>
    </div>
    <blockquote type="cite"
      cite="mid:005801d2c451$b2499ed0$16dcdc70$@gmail.com">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle18
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:#0000CC;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#0000CC">Dear NETCONF
            WG,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC"> <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC">as I informed
            Benoit and Mahesh, after 9 years I’m going to resign from WG
            co-chair position effective with the end of IETF #99
            meeting. <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC">Thank You very
            much for your kind support all the years.      <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC">People
            interested to become NETCONF WG co-chair please contact our
            AD soon.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC"> <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC">Regards, <br>
            Mehmet <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#0000CC"><o:p> </o:p></span></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------90CF0842712E93AE94B04620--


From nobody Thu May  4 03:25:59 2017
Return-Path: <bwietf@bwijnen.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7E77F12E855 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 03:25:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.08
X-Spam-Level: 
X-Spam-Status: No, score=0.08 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PJYjNu6wwy73 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 03:25:56 -0700 (PDT)
Received: from lb2-smtp-cloud3.xs4all.net (lb2-smtp-cloud3.xs4all.net [194.109.24.26]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 973F812E870 for <netconf@ietf.org>; Thu,  4 May 2017 03:25:56 -0700 (PDT)
Received: from Macintosh-4.fritz.box ([IPv6:2001:981:602b:1:6d19:4bf1:d34e:8364]) by smtp-cloud3.xs4all.net with ESMTP id GARs1v00L2L4XNg01ARtD3; Thu, 04 May 2017 12:25:54 +0200
To: Mehmet Ersue <mersue@gmail.com>, 'Netconf' <netconf@ietf.org>
References: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
From: "Bert Wijnen (IETF)" <bwietf@bwijnen.net>
Message-ID: <a44984ff-3b9a-e938-8c6d-c305d24e97e5@bwijnen.net>
Date: Thu, 4 May 2017 12:25:51 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/04hSbZWGp0FxXtQcibAp4a_5zxg>
Subject: Re: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 10:25:59 -0000

Thanks for your contributions and leadership Mehmet.
I have worked with you as co-chair (before I stepped down), and so I know
from experience how much work you did to keep things moving and on track.

Hope to see you in Prague.

Bert
On 03/05/2017 23:10, Mehmet Ersue wrote:
>
> Dear NETCONF WG,
>
> as I informed Benoit and Mahesh, after 9 years I’m going to resign from WG co-chair position effective with the end of IETF #99 
> meeting.
>
> Thank You very much for your kind support all the years.
>
> People interested to become NETCONF WG co-chair please contact our AD soon.
>
> Regards,
> Mehmet
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf



From nobody Thu May  4 07:54:09 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1B371205D3 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 07:54:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u_3dgNYl-5ow for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 07:54:00 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05A69129B26 for <netconf@ietf.org>; Thu,  4 May 2017 07:53:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=33144; q=dns/txt; s=iport; t=1493909632; x=1495119232; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=zte6f4V++tZTJ7rp15iz2BusxsNw4fGT4KKj5Pk3IFo=; b=GkBbnjhf/5NJehLJFEQnkj9DPcIOedrPLaTLjleKzRfxjeageTy19YOx e00TMJprzPbhN2meipdKeIsiwxFnDYYWINy6nK0Cgi92IxdkT14tq0lFK yXDuqs9z5OqKoThTCNmmvomMK/pZoeGapFj2W6F5MFaUt550T06ac1ofG w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AHAQDWPwtZ/5FdJa1eGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm48K2KBDAeDYYoYkVWIIo1Ngg8shXgCGoQvPxgBAgEBAQEBAQF?= =?us-ascii?q?rKIUVAQEBAQMdBgpBCxACAQgVEBMHAwICAh8RFBECBA4FCBOJbQMVDrBwgiaHL?= =?us-ascii?q?A2DLgEBAQEBAQEBAQEBAQEBAQEBAQEBARgFhl+BXoMbglSBeSQoglCCXwWJOIZ?= =?us-ascii?q?ggVaEb4ZNOwGHGocphEiCDYU5g2aFB4E9iHmCKYkSAR84gQpvFUaGcnaGRiuBA?= =?us-ascii?q?4ENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,287,1491264000";  d="scan'208,217";a="241225742"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 May 2017 14:53:50 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id v44ErobG030544 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 4 May 2017 14:53:50 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 4 May 2017 10:53:49 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Thu, 4 May 2017 10:53:49 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>, "Mahesh Jethanandani" <mjethanandani@gmail.com>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSxFM7evplkJhlYEmuOHGXG3Fp5KHjJrQwgAC3p4CAAFQiEA==
Date: Thu, 4 May 2017 14:53:49 +0000
Message-ID: <d1a44db13f3b4de39bb89107fc61fea3@XCH-RTP-013.cisco.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com> <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com>
In-Reply-To: <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_d1a44db13f3b4de39bb89107fc61fea3XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Jdg50VLFNkS2SL9A_5WuOgBnXu8>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 14:54:02 -0000

--_000_d1a44db13f3b4de39bb89107fc61fea3XCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQpGcm9tOiBBbmR5IEJpZXJtYW4sIE1heSA0LCAyMDE3IDEyOjUxIEFNDQoNCk9uIFdlZCwgTWF5
IDMsIDIwMTcgYXQgNjoxNSBQTSwgRXJpYyBWb2l0IChldm9pdCkgPGV2b2l0QGNpc2NvLmNvbTxt
YWlsdG86ZXZvaXRAY2lzY28uY29tPj4gd3JvdGU6DQpIaSBBbmR5LA0KSGkgTWFydGluLA0KDQpU
aGlzIGlzIGFuIGV4Y2VsbGVudCBkb2N1bWVudC4gIEkgIGhhdmUgYSBmZXcgcXVlc3Rpb25zOg0K
DQojMSBTZWN0aW9uIDMuMS4zDQpJZiBhIGRhdGEgbm9kZSBpZGVudGlmaWVkIGluIGEgcmVxdWVz
dCBoYXMgbm8gcmVhZCBhY2Nlc3MgYWxsb3dlZCAoaS5lLiwgZGF0YSBub2RlIHJ1bGUgdmlvbGF0
aW9uKSwgaXNu4oCZdCBpdCBiZXR0ZXIgdG8gdHJlYXQgdGhlIHJlc3BvbnNlIGxpa2UgdGhlIG5v
ZGUgZGlkbuKAmXQgZXhpc3QsIGkuZS4gYSDigJxkYXRhLW1pc3NpbmfigJ0gZXJyb3IgY29kZT8g
ICBZb3UgaGlnaGxpZ2h0IHRoaXMgYXMgYW4gaXNzdWUgaW4gMy43LjIsIGJ1dCBJIGRvbuKAmXQg
c2VlIGEgcmVhc29uIHdoeSDigJxkYXRhIG1pc3NpbmfigJ0gaXNu4oCZdCBwcmVmZXJhYmxlIHRv
IOKAnGFjY2VzcyBkZW5pZWTigJ0gKG90aGVyIHRoYW4gZWFzZSBvZiBkZWJ1Zy4pDQoNCg0KZGF0
YS1taXNzaW5nIHNlZW1zIHRpZWQgdG8gdGhlIGRlbGV0ZSBvcGVyYXRpb24gZXJyb3INCihjbGll
bnQgdHJpZWQgdG8gZGVsZXRlIGEgbm9kZSB0aGF0IGRvZXMgbm90IGV4aXN0KS4NCmFjY2Vzcy1k
ZW5pZWQgY2FuIGFwcGx5IHRvIHRoZSBvYmplY3QgLS0gdGhlIGRhdGEgbWF5IG9yIG1heSBub3Qg
ZXhpc3QuDQpJIHRoaW5rIG1hbnkgb2YgdGhlIE5FVENPTkYgZXJyb3ItdGFncyBvdmVybGFwIGFu
ZCB3ZSBqdXN0IGhhdmUgdG8gbWFrZQ0KYSBzdWJqZWN0aXZlIGNob2ljZS4NCg0KPEVyaWM+IG9r
DQoNCiMyICBTZWN0aW9uIDMuMS4zDQpPbiB0aGUgc2VudGVuY2U6IOKAnElmIHRoZSB1c2VyIGlz
IG5vdCBhdXRob3JpemVkIHRvIHJlYWQgYWxsIHRoZSBzcGVjaWZpZWQgZGF0YSBub2RlcyBhbmQg
dGhlIG5vdGlmaWNhdGlvbiBub2RlLCB0aGVuIHRoZSBub3RpZmljYXRpb24gaXMgZHJvcHBlZCBm
b3IgdGhhdCBzdWJzY3JpcHRpb24u4oCdICAgIFRoZXJlIGlzIGEgZGlmZmVyZW5jZSBiZXR3ZWVu
IGV2ZW50cyAod2hlcmUgdGhlIHdob2xlIGV2ZW50IHNob3VsZCBiZSBkaXNjYXJkZWQpLCBhbmQg
WUFORyBvYmplY3Qgc2VsZWN0aW9ucyAod2hlcmUgaXQgaXMgcHJlZmVyYWJsZSB0byBqdXN0IGRp
c2NhcmQgdGhvc2Ugbm9kZSBmb3Igd2hpY2ggYSByZWNlaXZlciBoYXMgbm8gYWNjZXNzKS4gICBX
aGF0IGFyZSB5b3VyIHRob3VnaHRzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIG5vdGlmaWNhdGlvbiBv
ZiBhbGxvd2luZyB0aGUgc2ltcGxlIGRyb3BwaW5nIGFueSBub2RlcyB3aGVyZSByZWFkIGFjY2Vz
cyBpcyBub3QgYXZhaWxhYmxlIGlmIHRoZSBub3RpZmljYXRpb24gaW5jbHVkZXMgc29tZSBleHRy
YWN0IG9mIGEgeWFuZyBkYXRhc3RvcmU/DQoNClRoZSBpbml0aWFsIGludGVudCB3YXMgdG8ga2Vl
cCBOQUNNIHNpbXBsZSBhbmQgbWFrZSBpdCBlYXNpZXIgdG8gaGF2ZSBoaWdoIHBlcmZvcm1hbmNl
IGltcGxlbWVudGF0aW9ucy4NCk5BQ00gb25seSBhbGxvd3MgdGhlIGV2ZW50LXR5cGUgdG8gYmUg
dGVzdGVkLCBub3QgYW55IGRhdGEgd2l0aGluIGl0LiBJTU8gdGhlIG5ldyBub3RpZmljYXRpb24g
d29yayB3aWxsDQpiZSBzaWduaWZpY2FudGx5IG1vcmUgZXhwZW5zaXZlIHRvIGltcGxlbWVudCBo
aWdoIHBlcmZvcm1hbmNlIG5vdGlmaWNhdGlvbiBkZWxpdmVyeS4NCg0KTkFDTSBkb2VzIG5vdCBy
ZWFsbHkgd29yayB0aGUgd2F5IFlBTkcgcHVzaCB3YW50cyBpdCB0byB3b3JrLg0KVGhlICBwYXRo
IC9teS1ldmVudC9pbnRlcmZhY2VzL2ludGVyZmFjZS9uYW1lIGlzIG5vdCB0aGUgc2FtZSBub2Rl
DQphcyAvaW50ZXJmYWNlcy9pbnRlcmZhY2UvbmFtZS4gU29tZSBoYW5kd2F2aW5nIHRleHQgbWF5
IHNheSB0cmVhdCB0aGVzZQ0Kbm9kZXMgdGhlIHNhbWUsIGJ1dCB0aGV5IGFyZSBub3QgcmVsYXRl
ZCBhdCBhbGwgKGZyb20gYSBOQUNNIFBPVikNCg0KPEVyaWM+IFVuZGVyc3RhbmQuICBGb3IgdGhp
cyBoaWdoIHBlcmZvcm1hbmNlIHJlYXNvbiBpbiB0aGUgWUFORyBQdXNoIHdvcmsgd2UgZG8gYWxs
b3cgZm9yIHN1YnNjcmlwdGlvbnMgdG8gYmUgcmUtZXN0YWJsaXNoZWQgaWYgdW5kZXJseWluZyBv
YmplY3QgcGVybWlzc2lvbnMgY2hhbmdlLg0KDQpEbyB5b3Ugc2VlIHRoaXMgTkFDTSB0ZXh0IHBy
b3ZpZGluZyBhIGJsb2NrZXIgZm9yIHNvbWVvbmUgd2hvIGRlc2lyZXMgc3VjaCBub3RpZmljYXRp
b24gY29udGVudCBmaWx0ZXJpbmc/ICBTb21lIGVhcmx5IHlhbmctcHVzaCB1c2UgY2FzZXMgSSBh
bSBzZWVpbmcgYXJlIGluIHRoZSBzZWN1cml0eSBhbmQgY29uZmlnIGNoYW5nZSB2YWxpZGF0aW9u
IHNwYWNlcy4gIEFzIHRoZXNlIGhhdmUgbG93IHRyYW5zYWN0aW9uIHZvbHVtZXMsIGl0IG1heSBi
ZSB2aWFibGUgdG8gc3VwcG9ydCBzdWNoIGV2ZW50IGJhc2VkIHBlcm1pc3Npb25zIG1hcHBpbmcg
aW4gaW1wbGVtZW50YXRpb24uDQoNCiMzIFNlY3Rpb24gMy40LjYNCk91dGdvaW5nIDxub3RpZmlj
YXRpb24+IEF1dGhvcml6YXRpb24gaW4gMy40LjYgc2F5IGRlc2NlbmRlbnQgbm9kZXMgYXJlIG91
dCBvZiBzY29wZS4gIEJ1dCBhcyBzb21lIG5vdGlmaWNhdGlvbnMgY2FuIGNvbnRhaW4gZGF0YXN0
b3JlIGV4dHJhY3RzLCBpdCB3b3VsZCBzZWVtIHVzZWZ1bCBhbGxvdyBOQUNNIHRvIGFjdCBzaW1p
bGFybHkgdG8gdGhlIHByb2Nlc3Npbmcgb2YgYSByZXNwb25zZSB0byBhIGdldC4gIEFsc28gaXMg
dGhlcmUgYW4gaW50ZXJzZWN0aW9uIG9mIHRoaXMgcG9pbnQgd2l0aCAjMiBhYm92ZT8NCg0KSU1P
IHRoaXMgc2hvdWxkIG5vdCBiZSBkb25lICh1bmxlc3MgeW91IHdhbnQgeW91IGNvZGUgdG8gcnVu
IHdheSBzbG93ZXIpDQpJdCBhbHNvIG1lYW5zIHRoZSBjbGllbnQgY2Fubm90IGJlIHN1cmUgd2hh
dCB0aGUgc2VydmVyIHdpbGwgbGVhay4NCkkgcHJlZmVyIHRvIGFwcGx5IE5BQ00gYXQgc3Vic2Ny
aXB0aW9uLXRpbWUuIElmIHRoZSBjbGllbnQgaXMgbm90IGFsbG93ZWQgdG8NCnJlYWQgZXZlcnl0
aGluZyBpbiB0aGUgcmVxdWVzdGVkIHN1YnNjcmlwdGlvbiwgaXQgaXMgZGVuaWVkLg0KDQpUaGlz
IGRvZXNuJ3QgcmVhbGx5IHdvcmsgZm9yIGRhdGEgcnVsZXMgb24gc3BlY2lmaWMgaW5zdGFuY2Vz
IHRoYXQgZ2V0IGNyZWF0ZWQNCmFmdGVyIHRoZSBzdWJzY3JpcHRpb24gc3RhcnRzLiBCdXQgYXBw
bHlpbmcgTkFDTSBkYXRhIHJ1bGVzIHRvIGV2ZXJ5IGRlc2NlbmRhbnQNCm5vZGUgaW4gYSBZQU5H
IHB1c2ggaXMgZ29pbmcgdG8gYmUgZXh0cmVtZWx5IHNsb3cuIFRoaXMgZ2V0cyBldmVuIHdvcnNl
DQpmb3Igc3Vic2NyaXB0aW9ucyB3aXRoIG11bHRpcGxlIHJlY2VpdmVycyAoYXMgTkFDTSBoYXMg
dG8gYmUgZW5mb3JjZWQgZm9yDQplYWNoIHJlY2VpdmVyKS4gSSB3b3VsZCBwcmVmZXIgdG8gc2Vl
IGEgc29sdXRpb24gdGhhdCBmb3JjZXMgWUFORyBwdXNoDQp0byBlbmZvcmNlIE5BQ00gYXQgdXBk
YXRlIGdlbmVyYXRpb24gdGltZSAoYmVmb3JlIHRoZSBub3RpZmljYXRpb24NCmRlbGl2ZXJ5IHN5
c3RlbSBldmVyIHNlZXMgaXQpIEJ1dCB0aGlzIGFzc3VtZXMgWUFORyBwdXNoIGlzIGF3YXJlDQpv
ZiB0aGUgYWN0aXZlIHN1YnNjcmlwdGlvbnMsIHNvIG5vdCBhbiBpZGVhbCBzb2x1dGlvbiBhdCBh
bGwuDQoNCjxFcmljPiB1bmRlcnN0YW5kLCBhbmQgYWdyZWUgdGhlc2UgYXJlIHZhbGlkIGFwcHJv
YWNoZXMuICAgSSBhbSBqdXN0IGhvcGluZyB0aGF0IHRoZSB0ZXh0IGRvZXNu4oCZdCBleHBsaWNp
dGx5IHByZWNsdWRlIGltcGxlbWVudGF0aW9ucyB3aGljaCBtaWdodCBiZSBhYmxlIHRvIGFjY29t
cGxpc2ggbm90aWZpY2F0aW9uIGJhc2VkIGNvbnRlbnQgZmlsdGVyaW5nLiAgQXMgdGhlIHRleHQg
Y3VycmVudGx5IHNheXMg4oCcb3V0IG9mIHNjb3Bl4oCdLCBteSByZWFkaW5nIGlzIHRoYXQgdGhp
cyBub3QgcHJlY2x1ZGVkLg0KDQpFcmljDQoNCg0KDQpUaGFua3MsDQpFcmljDQoNCkFuZHkNCg0K
DQpGcm9tOiBNYWhlc2ggSmV0aGFuYW5kYW5pLCBNYXkgMywgMjAxNyA1OjE4IFBNDQpGb2xrcywN
Cg0KVGhlcmUgaGFzIGJlZW4gbGl0ZXJhbGx5IG5vIGZlZWRiYWNrIG9uIHRoaXMgZG9jdW1lbnQs
IGVpdGhlciB0byBzYXkgdGhleSBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBzdXBwb3J0IGl0
LCBvciB0byBleHByZXNzIGNvbmNlcm5zIGFib3V0IHRoZSBkb2N1bWVudC4gU2lsZW5jZSwgdW5m
b3J0dW5hdGVseSBpcyBub3QgYSBnb29kIGd1aWRlIGZvciB1cy4gVG8gbW92ZSB0aGUgZG9jdW1l
bnQgZm9yd2FyZCwgd2UgbmVlZCB0byBoZWFyIGZyb20gZm9sa3MsIGluY2x1ZGluZyB0aG9zZSB3
aG8gd2VyZSBpbiBJRVRGIDk4Lg0KDQpUaGFua3MuDQoNCk9uIEFwciAxOCwgMjAxNywgYXQgNToz
NCBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSA8bWpldGhhbmFuZGFuaUBnbWFpbC5jb208bWFpbHRv
Om1qZXRoYW5hbmRhbmlAZ21haWwuY29tPj4gd3JvdGU6DQoNCk5FVENPTkYgV0csDQoNCkluIElF
VEYgOTgsIHRoZSBhdXRob3JzIGluZGljYXRlZCB0aGF0IHRoZSBhYm92ZSBkcmFmdCB3YXMgcmVh
ZHkgZm9yIExhc3QgQ2FsbCwgYW5kIHRoZSBjb25zZW5zdXMgaW4gdGhlIHJvb20gaW5kaWNhdGVk
IGFzIG11Y2guDQoNClRoaXMgaXMgYSBzdGFydCBvZiBhIDIgd2VlayBXRyBMYXN0IENhbGwgZm9y
IGRyYWZ0LWlldGYtbmV0Y29uZi1yZmM2NTM2YmlzLiBBZnRlciB0d28gd2Vla3MsIHRoZSBkb2N1
bWVudCB3aWxsIGJlIGFzc2lnbmVkIGEgc2hlcGhlcmQsIGFuZCB0aGUgZG9jdW1lbnQgd2lsbCBi
ZSBwcmVwYXJlZCBmb3IgSUVTRy4NCg0KVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBkcmFmdCBj
YW4gYmUgZm91bmQgYXQ6DQpodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1u
ZXRjb25mLXJmYzY1MzZiaXMtMDENCg0KUGxlYXNlIHJldmlldyBhbmQgc2VuZCBhbnkgY29tbWVu
dHMgdG8gdGhlIFdHIG1haWxpbmcgbGlzdCBvciBieSByZXNwb25kaW5nIHRvIHRoaXMgZS1tYWls
LiBDb21tZW50cyBjYW4gYmUgc3RhdGVtZW50cyBzdWNoIGFzLCBJIHJlYWQvcmV2aWV3ZWQgdGhl
IGRvY3VtZW50IGFuZCBiZWxpZXZlIGl0IGlzIHJlYWR5IGZvciBwdWJsaWNhdGlvbiwgb3IgSSBo
YXZlIGNvbmNlcm5zIGFib3V0IHRoZSBkb2N1bWVudC4gRm9yIHRoZSBsYXR0ZXIsIHBsZWFzZSBp
bmRpY2F0ZSB3aGF0IHlvdXIgY29uY2VybnMgYXJlLg0KDQpBbnkgcmVwb3J0cyBvbiBpbXBsZW1l
bnRhdGlvbiBzdGF0dXMgb3IgcGxhbnMgdG8gaW1wbGVtZW50IGFyZSBhbHNvIHZlcnkgdXNlZnVs
Lg0KDQpBdXRob3JzLCBwbGVhc2UgaW5kaWNhdGUgaWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgSVBS
cyByZWxhdGVkIHRvIHRoZSBkcmFmdC4NCg0KVGhhbmtzLg0KDQpNYWhlc2ggYW5kIE1laG1ldA0K
DQoNCg0KTWFoZXNoICYgTWVobWV0DQoNCg0KDQoNCg==

--_000_d1a44db13f3b4de39bb89107fc61fea3XCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0
eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToi
Q2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAx
MS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlv
bjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+
PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8
L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0
IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNo
YXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMi
IGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt
bGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQiPg0KPGRpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9z
cGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4sIE1heSA0LCAyMDE3IDEyOjUx
IEFNPGJyPg0KPGJyPg0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPk9uIFdlZCwgTWF5IDMsIDIwMTcgYXQgNjoxNSBQTSwgRXJpYyBWb2l0IChldm9p
dCkgJmx0OzxhIGhyZWY9Im1haWx0bzpldm9pdEBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5l
dm9pdEBjaXNjby5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3Rl
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRp
bmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDtt
YXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5IaSBBbmR5
LDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkhpIE1hcnRpbiw8L3NwYW4+PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJz
cDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj5UaGlzIGlzIGFuIGV4Y2VsbGVudCBkb2N1bWVudC4mbmJz
cDsgSSZuYnNwOyBoYXZlIGEgZmV3IHF1ZXN0aW9uczo8L3NwYW4+PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJz
cDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj4jMSBTZWN0aW9uIDMuMS4zPC9zcGFuPjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3
RCI+SWYgYSBkYXRhIG5vZGUgaWRlbnRpZmllZCBpbiBhIHJlcXVlc3QgaGFzIG5vIHJlYWQgYWNj
ZXNzIGFsbG93ZWQgKGkuZS4sIGRhdGEgbm9kZSBydWxlIHZpb2xhdGlvbiksDQogaXNu4oCZdCBp
dCBiZXR0ZXIgdG8gdHJlYXQgdGhlIHJlc3BvbnNlIGxpa2UgdGhlIG5vZGUgZGlkbuKAmXQgZXhp
c3QsIGkuZS4gYSDigJxkYXRhLW1pc3NpbmfigJ0gZXJyb3IgY29kZT8mbmJzcDsmbmJzcDsgWW91
IGhpZ2hsaWdodCB0aGlzIGFzIGFuIGlzc3VlIGluIDMuNy4yLCBidXQgSSBkb27igJl0IHNlZSBh
IHJlYXNvbiB3aHkg4oCcZGF0YSBtaXNzaW5n4oCdIGlzbuKAmXQgcHJlZmVyYWJsZSB0byDigJxh
Y2Nlc3MgZGVuaWVk4oCdIChvdGhlciB0aGFuIGVhc2Ugb2YgZGVidWcuKTwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Js
b2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5kYXRhLW1pc3Npbmcgc2Vl
bXMgdGllZCB0byB0aGUgZGVsZXRlIG9wZXJhdGlvbiBlcnJvcjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+KGNsaWVudCB0cmllZCB0byBkZWxldGUg
YSBub2RlIHRoYXQgZG9lcyBub3QgZXhpc3QpLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YWNjZXNzLWRlbmllZCBjYW4gYXBwbHkgdG8gdGhlIG9i
amVjdCAtLSB0aGUgZGF0YSBtYXkgb3IgbWF5IG5vdCBleGlzdC48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgdGhpbmsgbWFueSBvZiB0aGUgTkVU
Q09ORiBlcnJvci10YWdzIG92ZXJsYXAgYW5kIHdlIGp1c3QgaGF2ZSB0byBtYWtlPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5hIHN1YmplY3RpdmUg
Y2hvaWNlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jmx0O0VyaWMmZ3Q7IG9rPG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5i
c3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9u
ZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4w
cHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGluO21h
cmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4jMiZuYnNwOyBTZWN0aW9uIDMuMS4zPC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+T24gdGhlIHNlbnRlbmNlOiDigJxJZiB0aGUgdXNlciBpcyBub3Qg
YXV0aG9yaXplZCB0byByZWFkIGFsbCB0aGUgc3BlY2lmaWVkIGRhdGEgbm9kZXMgYW5kIHRoZSBu
b3RpZmljYXRpb24NCiBub2RlLCB0aGVuIHRoZSBub3RpZmljYXRpb24gaXMgZHJvcHBlZCBmb3Ig
dGhhdCBzdWJzY3JpcHRpb24u4oCdJm5ic3A7Jm5ic3A7Jm5ic3A7IFRoZXJlIGlzIGEgZGlmZmVy
ZW5jZSBiZXR3ZWVuIGV2ZW50cyAod2hlcmUgdGhlIHdob2xlIGV2ZW50IHNob3VsZCBiZSBkaXNj
YXJkZWQpLCBhbmQgWUFORyBvYmplY3Qgc2VsZWN0aW9ucyAod2hlcmUgaXQgaXMgcHJlZmVyYWJs
ZSB0byBqdXN0IGRpc2NhcmQgdGhvc2Ugbm9kZSBmb3Igd2hpY2ggYSByZWNlaXZlciBoYXMgbm8g
YWNjZXNzKS4mbmJzcDsmbmJzcDsNCiBXaGF0IGFyZSB5b3VyIHRob3VnaHRzIGJhc2VkIG9uIHRo
ZSB0eXBlIG9mIG5vdGlmaWNhdGlvbiBvZiBhbGxvd2luZyB0aGUgc2ltcGxlIGRyb3BwaW5nIGFu
eSBub2RlcyB3aGVyZSByZWFkIGFjY2VzcyBpcyBub3QgYXZhaWxhYmxlIGlmIHRoZSBub3RpZmlj
YXRpb24gaW5jbHVkZXMgc29tZSBleHRyYWN0IG9mIGEgeWFuZyBkYXRhc3RvcmU/PC9zcGFuPjxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBpbml0aWFsIGludGVudCB3YXMgdG8ga2VlcCBOQUNNIHNp
bXBsZSBhbmQgbWFrZSBpdCBlYXNpZXIgdG8gaGF2ZSBoaWdoIHBlcmZvcm1hbmNlIGltcGxlbWVu
dGF0aW9ucy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPk5BQ00gb25seSBhbGxvd3MgdGhlIGV2ZW50LXR5cGUgdG8gYmUgdGVzdGVkLCBub3QgYW55
IGRhdGEgd2l0aGluIGl0LiBJTU8gdGhlIG5ldyBub3RpZmljYXRpb24gd29yayB3aWxsPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5iZSBzaWduaWZp
Y2FudGx5IG1vcmUgZXhwZW5zaXZlIHRvIGltcGxlbWVudCBoaWdoIHBlcmZvcm1hbmNlIG5vdGlm
aWNhdGlvbiBkZWxpdmVyeS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+TkFDTSBkb2VzIG5vdCByZWFsbHkgd29yayB0aGUgd2F5IFlBTkcgcHVz
aCB3YW50cyBpdCB0byB3b3JrLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+VGhlICZuYnNwO3BhdGggL215LWV2ZW50L2ludGVyZmFjZXMvaW50ZXJm
YWNlL25hbWUgaXMgbm90IHRoZSBzYW1lIG5vZGU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFzIC9pbnRlcmZhY2VzL2ludGVyZmFjZS9uYW1lLiBT
b21lIGhhbmR3YXZpbmcgdGV4dCBtYXkgc2F5IHRyZWF0IHRoZXNlPG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5ub2RlcyB0aGUgc2FtZSwgYnV0IHRo
ZXkgYXJlIG5vdCByZWxhdGVkIGF0IGFsbCAoZnJvbSBhIE5BQ00gUE9WKTxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+Jmx0O0VyaWMmZ3Q7IFVuZGVyc3RhbmQuJm5ic3A7IEZvciB0aGlzIGhp
Z2ggcGVyZm9ybWFuY2UgcmVhc29uIGluIHRoZSBZQU5HIFB1c2ggd29yayB3ZSBkbyBhbGxvdyBm
b3Igc3Vic2NyaXB0aW9ucyB0byBiZSByZS1lc3RhYmxpc2hlZCBpZiB1bmRlcmx5aW5nIG9iamVj
dCBwZXJtaXNzaW9ucw0KIGNoYW5nZS4gPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj5EbyB5b3Ugc2VlIHRoaXMgTkFDTSB0ZXh0IHByb3ZpZGluZyBhIGJsb2NrZXIg
Zm9yIHNvbWVvbmUgd2hvIGRlc2lyZXMgc3VjaCBub3RpZmljYXRpb24gY29udGVudCBmaWx0ZXJp
bmc/Jm5ic3A7IFNvbWUgZWFybHkgeWFuZy1wdXNoIHVzZSBjYXNlcyBJIGFtIHNlZWluZyBhcmUg
aW4NCiB0aGUgc2VjdXJpdHkgYW5kIGNvbmZpZyBjaGFuZ2UgdmFsaWRhdGlvbiBzcGFjZXMuJm5i
c3A7IEFzIHRoZXNlIGhhdmUgbG93IHRyYW5zYWN0aW9uIHZvbHVtZXMsIGl0IG1heSBiZSB2aWFi
bGUgdG8gc3VwcG9ydCBzdWNoIGV2ZW50IGJhc2VkIHBlcm1pc3Npb25zIG1hcHBpbmcgaW4gaW1w
bGVtZW50YXRpb24uPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBz
dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5n
OjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFy
Z2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+IzMgU2VjdGlvbiAzLjQuNjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPk91
dGdvaW5nICZsdDtub3RpZmljYXRpb24mZ3Q7IEF1dGhvcml6YXRpb24gaW4gMy40LjYgc2F5IGRl
c2NlbmRlbnQgbm9kZXMgYXJlIG91dCBvZiBzY29wZS4mbmJzcDsgQnV0IGFzIHNvbWUNCiBub3Rp
ZmljYXRpb25zIGNhbiBjb250YWluIGRhdGFzdG9yZSBleHRyYWN0cywgaXQgd291bGQgc2VlbSB1
c2VmdWwgYWxsb3cgTkFDTSB0byBhY3Qgc2ltaWxhcmx5IHRvIHRoZSBwcm9jZXNzaW5nIG9mIGEg
cmVzcG9uc2UgdG8gYSBnZXQuJm5ic3A7IEFsc28gaXMgdGhlcmUgYW4gaW50ZXJzZWN0aW9uIG9m
IHRoaXMgcG9pbnQgd2l0aCAjMiBhYm92ZT88L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SU1P
IHRoaXMgc2hvdWxkIG5vdCBiZSBkb25lICh1bmxlc3MgeW91IHdhbnQgeW91IGNvZGUgdG8gcnVu
IHdheSBzbG93ZXIpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5JdCBhbHNvIG1lYW5zIHRoZSBjbGllbnQgY2Fubm90IGJlIHN1cmUgd2hhdCB0aGUg
c2VydmVyIHdpbGwgbGVhay48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPkkgcHJlZmVyIHRvIGFwcGx5IE5BQ00gYXQgc3Vic2NyaXB0aW9uLXRpbWUu
IElmIHRoZSBjbGllbnQgaXMgbm90IGFsbG93ZWQgdG88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnJlYWQgZXZlcnl0aGluZyBpbiB0aGUgcmVxdWVz
dGVkIHN1YnNjcmlwdGlvbiwgaXQgaXMgZGVuaWVkLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGlzIGRvZXNuJ3QgcmVhbGx5IHdvcmsgZm9y
IGRhdGEgcnVsZXMgb24gc3BlY2lmaWMgaW5zdGFuY2VzIHRoYXQgZ2V0IGNyZWF0ZWQ8bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFmdGVyIHRoZSBz
dWJzY3JpcHRpb24gc3RhcnRzLiBCdXQgYXBwbHlpbmcgTkFDTSBkYXRhIHJ1bGVzIHRvIGV2ZXJ5
IGRlc2NlbmRhbnQ8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPm5vZGUgaW4gYSBZQU5HIHB1c2ggaXMgZ29pbmcgdG8gYmUgZXh0cmVtZWx5IHNsb3cu
IFRoaXMgZ2V0cyBldmVuIHdvcnNlPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5mb3Igc3Vic2NyaXB0aW9ucyB3aXRoIG11bHRpcGxlIHJlY2VpdmVy
cyAoYXMgTkFDTSBoYXMgdG8gYmUgZW5mb3JjZWQgZm9yPG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5lYWNoIHJlY2VpdmVyKS4gSSB3b3VsZCBwcmVm
ZXIgdG8gc2VlIGEgc29sdXRpb24gdGhhdCBmb3JjZXMgWUFORyBwdXNoPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj50byBlbmZvcmNlIE5BQ00gYXQg
dXBkYXRlIGdlbmVyYXRpb24gdGltZSAoYmVmb3JlIHRoZSBub3RpZmljYXRpb248bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmRlbGl2ZXJ5IHN5c3Rl
bSBldmVyIHNlZXMgaXQpIEJ1dCB0aGlzIGFzc3VtZXMgWUFORyBwdXNoIGlzIGF3YXJlPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5vZiB0aGUgYWN0
aXZlIHN1YnNjcmlwdGlvbnMsIHNvIG5vdCBhbiBpZGVhbCBzb2x1dGlvbiBhdCBhbGwuPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj4mbHQ7RXJpYyZndDsgdW5kZXJzdGFuZCwgYW5kIGFncmVlIHRoZXNlIGFyZSB2YWxp
ZCBhcHByb2FjaGVzLiZuYnNwOyZuYnNwOyBJIGFtIGp1c3QgaG9waW5nIHRoYXQgdGhlIHRleHQg
ZG9lc27igJl0IGV4cGxpY2l0bHkgcHJlY2x1ZGUgaW1wbGVtZW50YXRpb25zIHdoaWNoIG1pZ2h0
IGJlIGFibGUgdG8gYWNjb21wbGlzaA0KIG5vdGlmaWNhdGlvbiBiYXNlZCBjb250ZW50IGZpbHRl
cmluZy4mbmJzcDsgQXMgdGhlIHRleHQgY3VycmVudGx5IHNheXMg4oCcb3V0IG9mIHNjb3Bl4oCd
LCBteSByZWFkaW5nIGlzIHRoYXQgdGhpcyBub3QgcHJlY2x1ZGVkLjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+RXJpYzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxibG9j
a3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0
O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1
LjBwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4m
bmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5UaGFua3MsPGJyPg0KRXJpYzwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5BbmR5PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUg
c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGlu
ZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21h
cmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwv
c3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0
OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRp
diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRp
bmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIuMHB0Ij48Yj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBNYWhlc2ggSmV0aGFuYW5kYW5p
LCBNYXkgMywgMjAxNyA1OjE4DQogUE08L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5Gb2xrcyw8bzpwPjwvbzpwPjwvcD4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGVyZSBoYXMgYmVlbiBsaXRlcmFsbHkgbm8g
ZmVlZGJhY2sgb24gdGhpcyBkb2N1bWVudCwgZWl0aGVyIHRvIHNheSB0aGV5IGhhdmUgcmVhZCB0
aGUgZG9jdW1lbnQgYW5kIHN1cHBvcnQgaXQsIG9yIHRvIGV4cHJlc3MgY29uY2VybnMgYWJvdXQg
dGhlIGRvY3VtZW50LiBTaWxlbmNlLCB1bmZvcnR1bmF0ZWx5DQogaXMgbm90IGEgZ29vZCBndWlk
ZSBmb3IgdXMuIFRvIG1vdmUgdGhlIGRvY3VtZW50IGZvcndhcmQsIHdlIG5lZWQgdG8gaGVhciBm
cm9tIGZvbGtzLCBpbmNsdWRpbmcgdGhvc2Ugd2hvIHdlcmUgaW4gSUVURiA5OC48bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlRoYW5rcy48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5i
c3A7PG86cD48L286cD48L3A+DQo8ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6
NS4wcHQ7bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij5PbiBBcHIgMTgsIDIwMTcsIGF0IDU6MzQgUE0sIE1haGVzaCBKZXRoYW5hbmRhbmkgJmx0Ozxh
IGhyZWY9Im1haWx0bzptamV0aGFuYW5kYW5pQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPm1q
ZXRoYW5hbmRhbmlAZ21haWwuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8ZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+TkVUQ09ORiBXRyw8YnI+DQo8YnI+DQpJbiBJ
RVRGIDk4LCB0aGUgYXV0aG9ycyBpbmRpY2F0ZWQgdGhhdCB0aGUgYWJvdmUgZHJhZnQgd2FzIHJl
YWR5IGZvciBMYXN0IENhbGwsIGFuZCB0aGUgY29uc2Vuc3VzIGluIHRoZSByb29tIGluZGljYXRl
ZCBhcyBtdWNoLjxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPlRoaXMgaXMgYSBzdGFydCBvZiBhIDIgd2VlayBXRyBMYXN0IENhbGwgZm9yIGRyYWZ0LWll
dGYtbmV0Y29uZi1yZmM2NTM2YmlzLiBBZnRlciB0d28gd2Vla3MsIHRoZSBkb2N1bWVudCB3aWxs
IGJlIGFzc2lnbmVkIGEgc2hlcGhlcmQsIGFuZCB0aGUgZG9jdW1lbnQgd2lsbCBiZSBwcmVwYXJl
ZCBmb3IgSUVTRy48YnI+DQo8YnI+DQpUaGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGRyYWZ0IGNh
biBiZSBmb3VuZCBhdDo8YnI+DQo8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwv
ZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXMtMDEiIHRhcmdldD0iX2JsYW5rIj5odHRwczov
L3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXMtMDE8L2E+
PGJyPg0KPGJyPg0KUGxlYXNlIHJldmlldyBhbmQgc2VuZCBhbnkgY29tbWVudHMgdG8gdGhlIFdH
IG1haWxpbmcgbGlzdCBvciBieSByZXNwb25kaW5nIHRvIHRoaXMgZS1tYWlsLiBDb21tZW50cyBj
YW4gYmUgc3RhdGVtZW50cyBzdWNoIGFzLCBJIHJlYWQvcmV2aWV3ZWQgdGhlIGRvY3VtZW50Jm5i
c3A7YW5kIGJlbGlldmUgaXQgaXMgcmVhZHkgZm9yIHB1YmxpY2F0aW9uLCBvciBJIGhhdmUgY29u
Y2VybnMgYWJvdXQgdGhlIGRvY3VtZW50LiBGb3IgdGhlIGxhdHRlciwgcGxlYXNlDQogaW5kaWNh
dGUgd2hhdCB5b3VyIGNvbmNlcm5zIGFyZS4mbmJzcDs8YnI+DQo8YnI+DQpBbnkgcmVwb3J0cyBv
biBpbXBsZW1lbnRhdGlvbiBzdGF0dXMgb3IgcGxhbnMgdG8gaW1wbGVtZW50IGFyZSBhbHNvJm5i
c3A7dmVyeSB1c2VmdWwuPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+QXV0aG9ycywgcGxlYXNlIGluZGljYXRlIGlmIHlvdSBhcmUgYXdhcmUgb2YgYW55
IElQUnMgcmVsYXRlZCB0byB0aGUgZHJhZnQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGFua3MuPGJyPg0KPGJyPg0KTWFoZXNoIGFu
ZCBNZWhtZXQ8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu
YnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2Nr
cXVvdGU+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48
L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+TWFoZXNoICZhbXA7IE1l
aG1ldDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJz
cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9j
a3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_d1a44db13f3b4de39bb89107fc61fea3XCHRTP013ciscocom_--


From nobody Thu May  4 08:02:08 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF49D1205D3 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 08:02:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7ZT5wVM1T_13 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 08:02:04 -0700 (PDT)
Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7503E1293EB for <netconf@ietf.org>; Thu,  4 May 2017 08:02:00 -0700 (PDT)
Received: by mail-wm0-x22d.google.com with SMTP id 142so14397014wma.1 for <netconf@ietf.org>; Thu, 04 May 2017 08:02:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ekRE3D4Q2NUvdl6Rj7ng44k/15zODfRL33pKN5Bgdbw=; b=wXbyK26YFMbySFCNmwBKjN0zkHddUYzs2zoXPTCkUGSMa9sqHRoYja+ggbfBC1N09s M/jRHcRK3pQYny9BpfbLCuAdLmMv1eEI9xGIvq7Lou0+jyXxuHPJB7KNu1peI/1XZgkB E4l9ZN6UO16Sv9PH6B5vTGO5un70gwJTZOvm5cgCmZ+bNMxCxxoc5NCf5i3JfgC56Hjm oykKs2a+hEQhsGNTFIrj1ONJv8VjtNgrB0Qhnn428dbiD0THWaRzahJJgY3HlAGJdFh6 umRLu0jdfe4adcTqZBt0TF4DA623ETtWIn4IK+j4ihKbnLGrbw/8SsDvR9oNFZi0Onrr 7P1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ekRE3D4Q2NUvdl6Rj7ng44k/15zODfRL33pKN5Bgdbw=; b=CPG/CkYfvI52AJmpbJaT6+Sn/v5D8+6UmEPPp/pCNvekqZeOrxckMMhp+Mr9FFnNBv fM1EN6U/CLd7zy9eGFf0adXKrR8boxQaqFsd49spfmXCceSNJgDFkSk7qSfP/ltLBxxy dXD33qXiTiiEr/ZdpskebuO4CywA/l4T/S+GfqLT8tA0Z0KnL8rangX3ulllHleYBgrj xcTLauaKezKsjvZm2BPT+/khlwI3mni1QGLJAXGba7uRGdTRs2i3NawrETBCrywalMHf 22FnUhBnlLGiVKCyEKEFW2a86gXf2K3w4l1elCjUFTrnC3kWjKTxj7ciNjuqUrPXjqD5 mwYw==
X-Gm-Message-State: AODbwcDMqBMWS55qQJWX9KNbyprESYs1JPc4W11qJ8O4lrgyiPH+D3Ej yq7wtA9aAF5pEDq2vwnkeeK/ZbVyWA==
X-Received: by 10.28.143.135 with SMTP id r129mr2128735wmd.54.1493910118953; Thu, 04 May 2017 08:01:58 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 4 May 2017 08:01:57 -0700 (PDT)
In-Reply-To: <d1a44db13f3b4de39bb89107fc61fea3@XCH-RTP-013.cisco.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com> <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com> <d1a44db13f3b4de39bb89107fc61fea3@XCH-RTP-013.cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 4 May 2017 08:01:57 -0700
Message-ID: <CABCOCHRW=+V0WCXLS0RZbZ+jqeB5ofwRd0ZyqPoZ9Hvi-JrATA@mail.gmail.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>,  Mahesh Jethanandani <mjethanandani@gmail.com>
Content-Type: multipart/alternative; boundary=001a1145b59ef78a11054eb40dc2
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/iKpwJlSZnsI8wOQxwY4jPX8URLo>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 15:02:07 -0000

--001a1145b59ef78a11054eb40dc2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, May 4, 2017 at 7:53 AM, Eric Voit (evoit) <evoit@cisco.com> wrote:

>
>
> *From:* Andy Bierman, May 4, 2017 12:51 AM
>
> On Wed, May 3, 2017 at 6:15 PM, Eric Voit (evoit) <evoit@cisco.com> wrote=
:
>
> Hi Andy,
>
> Hi Martin,
>
>
>
> This is an excellent document.  I  have a few questions:
>
>
>
> #1 Section 3.1.3
>
> If a data node identified in a request has no read access allowed (i.e.,
> data node rule violation), isn=E2=80=99t it better to treat the response =
like the
> node didn=E2=80=99t exist, i.e. a =E2=80=9Cdata-missing=E2=80=9D error co=
de?   You highlight this
> as an issue in 3.7.2, but I don=E2=80=99t see a reason why =E2=80=9Cdata =
missing=E2=80=9D isn=E2=80=99t
> preferable to =E2=80=9Caccess denied=E2=80=9D (other than ease of debug.)
>
>
>
>
>
> data-missing seems tied to the delete operation error
>
> (client tried to delete a node that does not exist).
>
> access-denied can apply to the object -- the data may or may not exist.
>
> I think many of the NETCONF error-tags overlap and we just have to make
>
> a subjective choice.
>
>
>
> <Eric> ok
>

It would be disruptive to change this because 6536-compliant
implementations send access-denied



>
>
> #2  Section 3.1.3
>
> On the sentence: =E2=80=9CIf the user is not authorized to read all the s=
pecified
> data nodes and the notification node, then the notification is dropped fo=
r
> that subscription.=E2=80=9D    There is a difference between events (wher=
e the
> whole event should be discarded), and YANG object selections (where it is
> preferable to just discard those node for which a receiver has no
> access).   What are your thoughts based on the type of notification of
> allowing the simple dropping any nodes where read access is not available
> if the notification includes some extract of a yang datastore?
>
>
>
> The initial intent was to keep NACM simple and make it easier to have hig=
h
> performance implementations.
>
> NACM only allows the event-type to be tested, not any data within it. IMO
> the new notification work will
>
> be significantly more expensive to implement high performance notificatio=
n
> delivery.
>
>
>
> NACM does not really work the way YANG push wants it to work.
>
> The  path /my-event/interfaces/interface/name is not the same node
>
> as /interfaces/interface/name. Some handwaving text may say treat these
>
> nodes the same, but they are not related at all (from a NACM POV)
>
>
>
> <Eric> Understand.  For this high performance reason in the YANG Push wor=
k
> we do allow for subscriptions to be re-established if underlying object
> permissions change.
>
>
>
> Do you see this NACM text providing a blocker for someone who desires suc=
h
> notification content filtering?  Some early yang-push use cases I am seei=
ng
> are in the security and config change validation spaces.  As these have l=
ow
> transaction volumes, it may be viable to support such event based
> permissions mapping in implementation.
>


no -- see below


>
>
> #3 Section 3.4.6
>
> Outgoing <notification> Authorization in 3.4.6 say descendent nodes are
> out of scope.  But as some notifications can contain datastore extracts, =
it
> would seem useful allow NACM to act similarly to the processing of a
> response to a get.  Also is there an intersection of this point with #2
> above?
>
>
>
> IMO this should not be done (unless you want you code to run way slower)
>
> It also means the client cannot be sure what the server will leak.
>
> I prefer to apply NACM at subscription-time. If the client is not allowed
> to
>
> read everything in the requested subscription, it is denied.
>
>
>
> This doesn't really work for data rules on specific instances that get
> created
>
> after the subscription starts. But applying NACM data rules to every
> descendant
>
> node in a YANG push is going to be extremely slow. This gets even worse
>
> for subscriptions with multiple receivers (as NACM has to be enforced for
>
> each receiver). I would prefer to see a solution that forces YANG push
>
> to enforce NACM at update generation time (before the notification
>
> delivery system ever sees it) But this assumes YANG push is aware
>
> of the active subscriptions, so not an ideal solution at all.
>
>
>
> <Eric> understand, and agree these are valid approaches.   I am just
> hoping that the text doesn=E2=80=99t explicitly preclude implementations =
which
> might be able to accomplish notification based content filtering.  As the
> text currently says =E2=80=9Cout of scope=E2=80=9D, my reading is that th=
is not precluded.
>
>
>

IMO it is OK to put this requirement on a YANG push implementation.
The pruning is done by YANG push, not NACM
Then NACM checks the event-type (if so configured)



> Eric
>

Andy


>
>
>
>
>
>
> Thanks,
> Eric
>
>
>
> Andy
>
>
>
>
>
> *From:* Mahesh Jethanandani, May 3, 2017 5:18 PM
>
> Folks,
>
>
>
> There has been literally no feedback on this document, either to say they
> have read the document and support it, or to express concerns about the
> document. Silence, unfortunately is not a good guide for us. To move the
> document forward, we need to hear from folks, including those who were in
> IETF 98.
>
>
>
> Thanks.
>
>
>
> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com=
>
> wrote:
>
>
>
> NETCONF WG,
>
> In IETF 98, the authors indicated that the above draft was ready for Last
> Call, and the consensus in the room indicated as much.
>
>
>
> This is a start of a 2 week WG Last Call for
> draft-ietf-netconf-rfc6536bis. After two weeks, the document will be
> assigned a shepherd, and the document will be prepared for IESG.
>
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01
>
> Please review and send any comments to the WG mailing list or by
> responding to this e-mail. Comments can be statements such as, I
> read/reviewed the document and believe it is ready for publication, or I
> have concerns about the document. For the latter, please indicate what yo=
ur
> concerns are.
>
> Any reports on implementation status or plans to implement are also very
> useful.
>
>
>
> Authors, please indicate if you are aware of any IPRs related to the draf=
t.
>
>
>
> Thanks.
>
> Mahesh and Mehmet
>
>
>
>
>
>
>
> Mahesh & Mehmet
>
>
>
>
>
>
>
>
>

--001a1145b59ef78a11054eb40dc2
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 4, 2017 at 7:53 AM, Eric Voit (evoit) <span dir=3D"ltr">&lt=
;<a href=3D"mailto:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&g=
t;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0=
 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_6801304167720628622WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman, May 4, 2017 12:5=
1 AM<br>
<br>
</span><u></u><u></u></p>
<div>
<p class=3D"MsoNormal">On Wed, May 3, 2017 at 6:15 PM, Eric Voit (evoit) &l=
t;<a href=3D"mailto:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&=
gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Andy,</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Martin,</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">This is an excellent document.=C2=A0 =
I=C2=A0 have a few questions:</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#1 Section 3.1.3</span><u></u><u></u>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">If a data node identified in a reques=
t has no read access allowed (i.e., data node rule violation),
 isn=E2=80=99t it better to treat the response like the node didn=E2=80=99t=
 exist, i.e. a =E2=80=9Cdata-missing=E2=80=9D error code?=C2=A0=C2=A0 You h=
ighlight this as an issue in 3.7.2, but I don=E2=80=99t see a reason why =
=E2=80=9Cdata missing=E2=80=9D isn=E2=80=99t preferable to =E2=80=9Caccess =
denied=E2=80=9D (other than ease of debug.)</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">data-missing seems tied to the delete operation erro=
r<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">(client tried to delete a node that does not exist).=
<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">access-denied can apply to the object -- the data ma=
y or may not exist.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I think many of the NETCONF error-tags overlap and w=
e just have to make<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">a subjective choice.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;Eric&gt; ok</span></p></div></div=
></div></div></div></div></div></blockquote><div><br></div><div>It would be=
 disruptive to change this because 6536-compliant implementations send acce=
ss-denied</div><div><br></div><div>=C2=A0</div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div class=3D"m_68013=
04167720628622WordSection1"><div style=3D"border:none;border-left:solid blu=
e 1.5pt;padding:0in 0in 0in 4.0pt"><div><div><div><div><p class=3D"MsoNorma=
l"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#2=C2=A0 Section 3.1.3</span><u></u><=
u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">On the sentence: =E2=80=9CIf the user=
 is not authorized to read all the specified data nodes and the notificatio=
n
 node, then the notification is dropped for that subscription.=E2=80=9D=C2=
=A0=C2=A0=C2=A0 There is a difference between events (where the whole event=
 should be discarded), and YANG object selections (where it is preferable t=
o just discard those node for which a receiver has no access).=C2=A0=C2=A0
 What are your thoughts based on the type of notification of allowing the s=
imple dropping any nodes where read access is not available if the notifica=
tion includes some extract of a yang datastore?</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The initial intent was to keep NACM simple and make =
it easier to have high performance implementations.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">NACM only allows the event-type to be tested, not an=
y data within it. IMO the new notification work will<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">be significantly more expensive to implement high pe=
rformance notification delivery.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">NACM does not really work the way YANG push wants it=
 to work.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The =C2=A0path /my-event/interfaces/<wbr>interface/n=
ame is not the same node<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">as /interfaces/interface/name. Some handwaving text =
may say treat these<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">nodes the same, but they are not related at all (fro=
m a NACM POV)<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;Eric&gt; Understand.=C2=A0 For th=
is high performance reason in the YANG Push work we do allow for subscripti=
ons to be re-established if underlying object permissions
 change. <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Do you see this NACM text providing a=
 blocker for someone who desires such notification content filtering?=C2=A0=
 Some early yang-push use cases I am seeing are in
 the security and config change validation spaces.=C2=A0 As these have low =
transaction volumes, it may be viable to support such event based permissio=
ns mapping in implementation.</span></p></div></div></div></div></div></div=
></div></blockquote><div><br></div><div><br></div><div>no -- see below</div=
><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=
8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang=3D"EN-US" link=
=3D"blue" vlink=3D"purple"><div class=3D"m_6801304167720628622WordSection1"=
><div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in=
 4.0pt"><div><div><div><div><p class=3D"MsoNormal"><span style=3D"font-size=
:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u><u=
></u></span></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">#3 Section 3.4.6</span><u></u><u></u>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Outgoing &lt;notification&gt; Authori=
zation in 3.4.6 say descendent nodes are out of scope.=C2=A0 But as some
 notifications can contain datastore extracts, it would seem useful allow N=
ACM to act similarly to the processing of a response to a get.=C2=A0 Also i=
s there an intersection of this point with #2 above?</span><u></u><u></u></=
p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">IMO this should not be done (unless you want you cod=
e to run way slower)<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">It also means the client cannot be sure what the ser=
ver will leak.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I prefer to apply NACM at subscription-time. If the =
client is not allowed to<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">read everything in the requested subscription, it is=
 denied.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">This doesn&#39;t really work for data rules on speci=
fic instances that get created<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">after the subscription starts. But applying NACM dat=
a rules to every descendant<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">node in a YANG push is going to be extremely slow. T=
his gets even worse<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">for subscriptions with multiple receivers (as NACM h=
as to be enforced for<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">each receiver). I would prefer to see a solution tha=
t forces YANG push<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">to enforce NACM at update generation time (before th=
e notification<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">delivery system ever sees it) But this assumes YANG =
push is aware<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">of the active subscriptions, so not an ideal solutio=
n at all.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;Eric&gt; understand, and agree th=
ese are valid approaches.=C2=A0=C2=A0 I am just hoping that the text doesn=
=E2=80=99t explicitly preclude implementations which might be able to accom=
plish
 notification based content filtering.=C2=A0 As the text currently says =E2=
=80=9Cout of scope=E2=80=9D, my reading is that this not precluded.<u></u><=
u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0</span></p></div></div><=
/div></div></div></div></div></blockquote><div><br></div><div>IMO it is OK =
to put this requirement on a YANG push implementation.</div><div>The prunin=
g is done by YANG push, not NACM</div><div>Then NACM checks the event-type =
(if so configured)</div><div><br></div><div>=C2=A0<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div cla=
ss=3D"m_6801304167720628622WordSection1"><div style=3D"border:none;border-l=
eft:solid blue 1.5pt;padding:0in 0in 0in 4.0pt"><div><div><div><div><p clas=
s=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif;color:#1f497d"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Eric</span></p></div></div></div></di=
v></div></div></div></blockquote><div><br></div><div>Andy</div><div>=C2=A0<=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=
=3D"purple"><div class=3D"m_6801304167720628622WordSection1"><div style=3D"=
border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt"><div><d=
iv><div><div><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-fa=
mily:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Thanks,<br>
Eric</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"fon=
t-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><=
span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">=
 Mahesh Jethanandani, May 3, 2017 5:18
 PM</span><u></u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal">Folks,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately
 is not a good guide for us. To move the document forward, we need to hear =
from folks, including those who were in IETF 98.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani=
@gmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01" ta=
rget=3D"_blank">https://tools.ietf.org/html/<wbr>draft-ietf-netconf-rfc6536=
bis-<wbr>01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument=C2=A0and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.=C2=A0<br>
<br>
Any reports on implementation status or plans to implement are also=C2=A0ve=
ry useful.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--001a1145b59ef78a11054eb40dc2--


From nobody Thu May  4 08:06:58 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D278A129572 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 08:06:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zsj3Y0UTO1Qc for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 08:06:53 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E64BC129AFA for <netconf@ietf.org>; Thu,  4 May 2017 08:06:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=43006; q=dns/txt; s=iport; t=1493910411; x=1495120011; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=Z2qdEKOSOoKyiorOWo6fsgwF6CuC8RE1kxMGaWX56gI=; b=CS9z97GtPAhuB/JSmJa/ByacscLBkgE0UtO9A+nN8KELtB3pSI0tTGj2 YcyDJsgD/zIgy48DbgnDVrCwQEDoZMe1DclqITk4B8v/dlfhVV75no452 a8YD65xr9PdPX5xOg6BT4qyu6lPPN9eL9alb2ZMvI/P0EGSFwzSF2kaBI 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AHAQAYQwtZ/4QNJK1eGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm48K2KBDAeDYYoYkVWIIo1Ngg8shXgCGoQvPxgBAgEBAQEBAQF?= =?us-ascii?q?rKIUVAQEBAQMdBgpBCxACAQgVEBMBBgMCAgIfERQRAgQOBQgTiW0DFQ6wb4Imh?= =?us-ascii?q?ywNgy4BAQEBAQEBAQEBAQEBAQEBAQEBAQEYBYZfgV6DG4JUgXkkKIJQgl8FiTi?= =?us-ascii?q?GYIFWhG+GTTsBhxqHKYRIgg2FOYNmhQeBPYh5gimJEgEfOIEKbxVGhnJ2hkYrg?= =?us-ascii?q?QOBDQEBAQ?=
X-IronPort-AV: E=Sophos; i="5.38,287,1491264000"; d="scan'208,217"; a="23264171"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 04 May 2017 15:06:50 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id v44F6ojh005154 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 4 May 2017 15:06:50 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 4 May 2017 11:06:49 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Thu, 4 May 2017 11:06:49 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>, "Mahesh Jethanandani" <mjethanandani@gmail.com>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSxFM7evplkJhlYEmuOHGXG3Fp5KHjJrQwgAC3p4CAAFQiEIAAVqqA//+9x2A=
Date: Thu, 4 May 2017 15:06:49 +0000
Message-ID: <24ebeed239a0459cafad264eba05ff71@XCH-RTP-013.cisco.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com> <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com> <d1a44db13f3b4de39bb89107fc61fea3@XCH-RTP-013.cisco.com> <CABCOCHRW=+V0WCXLS0RZbZ+jqeB5ofwRd0ZyqPoZ9Hvi-JrATA@mail.gmail.com>
In-Reply-To: <CABCOCHRW=+V0WCXLS0RZbZ+jqeB5ofwRd0ZyqPoZ9Hvi-JrATA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_24ebeed239a0459cafad264eba05ff71XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/sMDU_hmA0RI8zqB-5t2oLbLvzcQ>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 15:06:56 -0000

--_000_24ebeed239a0459cafad264eba05ff71XCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

VGhhbmtzIEFuZHkuICAgSSBhbSBnb29kIHdpdGggdGhlIGRvY3VtZW50Lg0KDQpGcm9tOiBBbmR5
IEJpZXJtYW4sICBNYXkgNCwgMjAxNyAxMTowMiBBTQ0KDQoNCg0KDQpPbiBUaHUsIE1heSA0LCAy
MDE3IGF0IDc6NTMgQU0sIEVyaWMgVm9pdCAoZXZvaXQpIDxldm9pdEBjaXNjby5jb208bWFpbHRv
OmV2b2l0QGNpc2NvLmNvbT4+IHdyb3RlOg0KDQpGcm9tOiBBbmR5IEJpZXJtYW4sIE1heSA0LCAy
MDE3IDEyOjUxIEFNDQpPbiBXZWQsIE1heSAzLCAyMDE3IGF0IDY6MTUgUE0sIEVyaWMgVm9pdCAo
ZXZvaXQpIDxldm9pdEBjaXNjby5jb208bWFpbHRvOmV2b2l0QGNpc2NvLmNvbT4+IHdyb3RlOg0K
SGkgQW5keSwNCkhpIE1hcnRpbiwNCg0KVGhpcyBpcyBhbiBleGNlbGxlbnQgZG9jdW1lbnQuICBJ
ICBoYXZlIGEgZmV3IHF1ZXN0aW9uczoNCg0KIzEgU2VjdGlvbiAzLjEuMw0KSWYgYSBkYXRhIG5v
ZGUgaWRlbnRpZmllZCBpbiBhIHJlcXVlc3QgaGFzIG5vIHJlYWQgYWNjZXNzIGFsbG93ZWQgKGku
ZS4sIGRhdGEgbm9kZSBydWxlIHZpb2xhdGlvbiksIGlzbuKAmXQgaXQgYmV0dGVyIHRvIHRyZWF0
IHRoZSByZXNwb25zZSBsaWtlIHRoZSBub2RlIGRpZG7igJl0IGV4aXN0LCBpLmUuIGEg4oCcZGF0
YS1taXNzaW5n4oCdIGVycm9yIGNvZGU/ICAgWW91IGhpZ2hsaWdodCB0aGlzIGFzIGFuIGlzc3Vl
IGluIDMuNy4yLCBidXQgSSBkb27igJl0IHNlZSBhIHJlYXNvbiB3aHkg4oCcZGF0YSBtaXNzaW5n
4oCdIGlzbuKAmXQgcHJlZmVyYWJsZSB0byDigJxhY2Nlc3MgZGVuaWVk4oCdIChvdGhlciB0aGFu
IGVhc2Ugb2YgZGVidWcuKQ0KDQoNCmRhdGEtbWlzc2luZyBzZWVtcyB0aWVkIHRvIHRoZSBkZWxl
dGUgb3BlcmF0aW9uIGVycm9yDQooY2xpZW50IHRyaWVkIHRvIGRlbGV0ZSBhIG5vZGUgdGhhdCBk
b2VzIG5vdCBleGlzdCkuDQphY2Nlc3MtZGVuaWVkIGNhbiBhcHBseSB0byB0aGUgb2JqZWN0IC0t
IHRoZSBkYXRhIG1heSBvciBtYXkgbm90IGV4aXN0Lg0KSSB0aGluayBtYW55IG9mIHRoZSBORVRD
T05GIGVycm9yLXRhZ3Mgb3ZlcmxhcCBhbmQgd2UganVzdCBoYXZlIHRvIG1ha2UNCmEgc3ViamVj
dGl2ZSBjaG9pY2UuDQoNCjxFcmljPiBvaw0KDQpJdCB3b3VsZCBiZSBkaXNydXB0aXZlIHRvIGNo
YW5nZSB0aGlzIGJlY2F1c2UgNjUzNi1jb21wbGlhbnQgaW1wbGVtZW50YXRpb25zIHNlbmQgYWNj
ZXNzLWRlbmllZA0KDQoNCg0KIzIgIFNlY3Rpb24gMy4xLjMNCk9uIHRoZSBzZW50ZW5jZTog4oCc
SWYgdGhlIHVzZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcmVhZCBhbGwgdGhlIHNwZWNpZmllZCBk
YXRhIG5vZGVzIGFuZCB0aGUgbm90aWZpY2F0aW9uIG5vZGUsIHRoZW4gdGhlIG5vdGlmaWNhdGlv
biBpcyBkcm9wcGVkIGZvciB0aGF0IHN1YnNjcmlwdGlvbi7igJ0gICAgVGhlcmUgaXMgYSBkaWZm
ZXJlbmNlIGJldHdlZW4gZXZlbnRzICh3aGVyZSB0aGUgd2hvbGUgZXZlbnQgc2hvdWxkIGJlIGRp
c2NhcmRlZCksIGFuZCBZQU5HIG9iamVjdCBzZWxlY3Rpb25zICh3aGVyZSBpdCBpcyBwcmVmZXJh
YmxlIHRvIGp1c3QgZGlzY2FyZCB0aG9zZSBub2RlIGZvciB3aGljaCBhIHJlY2VpdmVyIGhhcyBu
byBhY2Nlc3MpLiAgIFdoYXQgYXJlIHlvdXIgdGhvdWdodHMgYmFzZWQgb24gdGhlIHR5cGUgb2Yg
bm90aWZpY2F0aW9uIG9mIGFsbG93aW5nIHRoZSBzaW1wbGUgZHJvcHBpbmcgYW55IG5vZGVzIHdo
ZXJlIHJlYWQgYWNjZXNzIGlzIG5vdCBhdmFpbGFibGUgaWYgdGhlIG5vdGlmaWNhdGlvbiBpbmNs
dWRlcyBzb21lIGV4dHJhY3Qgb2YgYSB5YW5nIGRhdGFzdG9yZT8NCg0KVGhlIGluaXRpYWwgaW50
ZW50IHdhcyB0byBrZWVwIE5BQ00gc2ltcGxlIGFuZCBtYWtlIGl0IGVhc2llciB0byBoYXZlIGhp
Z2ggcGVyZm9ybWFuY2UgaW1wbGVtZW50YXRpb25zLg0KTkFDTSBvbmx5IGFsbG93cyB0aGUgZXZl
bnQtdHlwZSB0byBiZSB0ZXN0ZWQsIG5vdCBhbnkgZGF0YSB3aXRoaW4gaXQuIElNTyB0aGUgbmV3
IG5vdGlmaWNhdGlvbiB3b3JrIHdpbGwNCmJlIHNpZ25pZmljYW50bHkgbW9yZSBleHBlbnNpdmUg
dG8gaW1wbGVtZW50IGhpZ2ggcGVyZm9ybWFuY2Ugbm90aWZpY2F0aW9uIGRlbGl2ZXJ5Lg0KDQpO
QUNNIGRvZXMgbm90IHJlYWxseSB3b3JrIHRoZSB3YXkgWUFORyBwdXNoIHdhbnRzIGl0IHRvIHdv
cmsuDQpUaGUgIHBhdGggL215LWV2ZW50L2ludGVyZmFjZXMvaW50ZXJmYWNlL25hbWUgaXMgbm90
IHRoZSBzYW1lIG5vZGUNCmFzIC9pbnRlcmZhY2VzL2ludGVyZmFjZS9uYW1lLiBTb21lIGhhbmR3
YXZpbmcgdGV4dCBtYXkgc2F5IHRyZWF0IHRoZXNlDQpub2RlcyB0aGUgc2FtZSwgYnV0IHRoZXkg
YXJlIG5vdCByZWxhdGVkIGF0IGFsbCAoZnJvbSBhIE5BQ00gUE9WKQ0KDQo8RXJpYz4gVW5kZXJz
dGFuZC4gIEZvciB0aGlzIGhpZ2ggcGVyZm9ybWFuY2UgcmVhc29uIGluIHRoZSBZQU5HIFB1c2gg
d29yayB3ZSBkbyBhbGxvdyBmb3Igc3Vic2NyaXB0aW9ucyB0byBiZSByZS1lc3RhYmxpc2hlZCBp
ZiB1bmRlcmx5aW5nIG9iamVjdCBwZXJtaXNzaW9ucyBjaGFuZ2UuDQoNCkRvIHlvdSBzZWUgdGhp
cyBOQUNNIHRleHQgcHJvdmlkaW5nIGEgYmxvY2tlciBmb3Igc29tZW9uZSB3aG8gZGVzaXJlcyBz
dWNoIG5vdGlmaWNhdGlvbiBjb250ZW50IGZpbHRlcmluZz8gIFNvbWUgZWFybHkgeWFuZy1wdXNo
IHVzZSBjYXNlcyBJIGFtIHNlZWluZyBhcmUgaW4gdGhlIHNlY3VyaXR5IGFuZCBjb25maWcgY2hh
bmdlIHZhbGlkYXRpb24gc3BhY2VzLiAgQXMgdGhlc2UgaGF2ZSBsb3cgdHJhbnNhY3Rpb24gdm9s
dW1lcywgaXQgbWF5IGJlIHZpYWJsZSB0byBzdXBwb3J0IHN1Y2ggZXZlbnQgYmFzZWQgcGVybWlz
c2lvbnMgbWFwcGluZyBpbiBpbXBsZW1lbnRhdGlvbi4NCg0KDQpubyAtLSBzZWUgYmVsb3cNCg0K
DQojMyBTZWN0aW9uIDMuNC42DQpPdXRnb2luZyA8bm90aWZpY2F0aW9uPiBBdXRob3JpemF0aW9u
IGluIDMuNC42IHNheSBkZXNjZW5kZW50IG5vZGVzIGFyZSBvdXQgb2Ygc2NvcGUuICBCdXQgYXMg
c29tZSBub3RpZmljYXRpb25zIGNhbiBjb250YWluIGRhdGFzdG9yZSBleHRyYWN0cywgaXQgd291
bGQgc2VlbSB1c2VmdWwgYWxsb3cgTkFDTSB0byBhY3Qgc2ltaWxhcmx5IHRvIHRoZSBwcm9jZXNz
aW5nIG9mIGEgcmVzcG9uc2UgdG8gYSBnZXQuICBBbHNvIGlzIHRoZXJlIGFuIGludGVyc2VjdGlv
biBvZiB0aGlzIHBvaW50IHdpdGggIzIgYWJvdmU/DQoNCklNTyB0aGlzIHNob3VsZCBub3QgYmUg
ZG9uZSAodW5sZXNzIHlvdSB3YW50IHlvdSBjb2RlIHRvIHJ1biB3YXkgc2xvd2VyKQ0KSXQgYWxz
byBtZWFucyB0aGUgY2xpZW50IGNhbm5vdCBiZSBzdXJlIHdoYXQgdGhlIHNlcnZlciB3aWxsIGxl
YWsuDQpJIHByZWZlciB0byBhcHBseSBOQUNNIGF0IHN1YnNjcmlwdGlvbi10aW1lLiBJZiB0aGUg
Y2xpZW50IGlzIG5vdCBhbGxvd2VkIHRvDQpyZWFkIGV2ZXJ5dGhpbmcgaW4gdGhlIHJlcXVlc3Rl
ZCBzdWJzY3JpcHRpb24sIGl0IGlzIGRlbmllZC4NCg0KVGhpcyBkb2Vzbid0IHJlYWxseSB3b3Jr
IGZvciBkYXRhIHJ1bGVzIG9uIHNwZWNpZmljIGluc3RhbmNlcyB0aGF0IGdldCBjcmVhdGVkDQph
ZnRlciB0aGUgc3Vic2NyaXB0aW9uIHN0YXJ0cy4gQnV0IGFwcGx5aW5nIE5BQ00gZGF0YSBydWxl
cyB0byBldmVyeSBkZXNjZW5kYW50DQpub2RlIGluIGEgWUFORyBwdXNoIGlzIGdvaW5nIHRvIGJl
IGV4dHJlbWVseSBzbG93LiBUaGlzIGdldHMgZXZlbiB3b3JzZQ0KZm9yIHN1YnNjcmlwdGlvbnMg
d2l0aCBtdWx0aXBsZSByZWNlaXZlcnMgKGFzIE5BQ00gaGFzIHRvIGJlIGVuZm9yY2VkIGZvcg0K
ZWFjaCByZWNlaXZlcikuIEkgd291bGQgcHJlZmVyIHRvIHNlZSBhIHNvbHV0aW9uIHRoYXQgZm9y
Y2VzIFlBTkcgcHVzaA0KdG8gZW5mb3JjZSBOQUNNIGF0IHVwZGF0ZSBnZW5lcmF0aW9uIHRpbWUg
KGJlZm9yZSB0aGUgbm90aWZpY2F0aW9uDQpkZWxpdmVyeSBzeXN0ZW0gZXZlciBzZWVzIGl0KSBC
dXQgdGhpcyBhc3N1bWVzIFlBTkcgcHVzaCBpcyBhd2FyZQ0Kb2YgdGhlIGFjdGl2ZSBzdWJzY3Jp
cHRpb25zLCBzbyBub3QgYW4gaWRlYWwgc29sdXRpb24gYXQgYWxsLg0KDQo8RXJpYz4gdW5kZXJz
dGFuZCwgYW5kIGFncmVlIHRoZXNlIGFyZSB2YWxpZCBhcHByb2FjaGVzLiAgIEkgYW0ganVzdCBo
b3BpbmcgdGhhdCB0aGUgdGV4dCBkb2VzbuKAmXQgZXhwbGljaXRseSBwcmVjbHVkZSBpbXBsZW1l
bnRhdGlvbnMgd2hpY2ggbWlnaHQgYmUgYWJsZSB0byBhY2NvbXBsaXNoIG5vdGlmaWNhdGlvbiBi
YXNlZCBjb250ZW50IGZpbHRlcmluZy4gIEFzIHRoZSB0ZXh0IGN1cnJlbnRseSBzYXlzIOKAnG91
dCBvZiBzY29wZeKAnSwgbXkgcmVhZGluZyBpcyB0aGF0IHRoaXMgbm90IHByZWNsdWRlZC4NCg0K
DQpJTU8gaXQgaXMgT0sgdG8gcHV0IHRoaXMgcmVxdWlyZW1lbnQgb24gYSBZQU5HIHB1c2ggaW1w
bGVtZW50YXRpb24uDQpUaGUgcHJ1bmluZyBpcyBkb25lIGJ5IFlBTkcgcHVzaCwgbm90IE5BQ00N
ClRoZW4gTkFDTSBjaGVja3MgdGhlIGV2ZW50LXR5cGUgKGlmIHNvIGNvbmZpZ3VyZWQpDQoNCg0K
RXJpYw0KDQpBbmR5DQoNCg0KDQoNClRoYW5rcywNCkVyaWMNCg0KQW5keQ0KDQoNCkZyb206IE1h
aGVzaCBKZXRoYW5hbmRhbmksIE1heSAzLCAyMDE3IDU6MTggUE0NCkZvbGtzLA0KDQpUaGVyZSBo
YXMgYmVlbiBsaXRlcmFsbHkgbm8gZmVlZGJhY2sgb24gdGhpcyBkb2N1bWVudCwgZWl0aGVyIHRv
IHNheSB0aGV5IGhhdmUgcmVhZCB0aGUgZG9jdW1lbnQgYW5kIHN1cHBvcnQgaXQsIG9yIHRvIGV4
cHJlc3MgY29uY2VybnMgYWJvdXQgdGhlIGRvY3VtZW50LiBTaWxlbmNlLCB1bmZvcnR1bmF0ZWx5
IGlzIG5vdCBhIGdvb2QgZ3VpZGUgZm9yIHVzLiBUbyBtb3ZlIHRoZSBkb2N1bWVudCBmb3J3YXJk
LCB3ZSBuZWVkIHRvIGhlYXIgZnJvbSBmb2xrcywgaW5jbHVkaW5nIHRob3NlIHdobyB3ZXJlIGlu
IElFVEYgOTguDQoNClRoYW5rcy4NCg0KT24gQXByIDE4LCAyMDE3LCBhdCA1OjM0IFBNLCBNYWhl
c2ggSmV0aGFuYW5kYW5pIDxtamV0aGFuYW5kYW5pQGdtYWlsLmNvbTxtYWlsdG86bWpldGhhbmFu
ZGFuaUBnbWFpbC5jb20+PiB3cm90ZToNCg0KTkVUQ09ORiBXRywNCg0KSW4gSUVURiA5OCwgdGhl
IGF1dGhvcnMgaW5kaWNhdGVkIHRoYXQgdGhlIGFib3ZlIGRyYWZ0IHdhcyByZWFkeSBmb3IgTGFz
dCBDYWxsLCBhbmQgdGhlIGNvbnNlbnN1cyBpbiB0aGUgcm9vbSBpbmRpY2F0ZWQgYXMgbXVjaC4N
Cg0KVGhpcyBpcyBhIHN0YXJ0IG9mIGEgMiB3ZWVrIFdHIExhc3QgQ2FsbCBmb3IgZHJhZnQtaWV0
Zi1uZXRjb25mLXJmYzY1MzZiaXMuIEFmdGVyIHR3byB3ZWVrcywgdGhlIGRvY3VtZW50IHdpbGwg
YmUgYXNzaWduZWQgYSBzaGVwaGVyZCwgYW5kIHRoZSBkb2N1bWVudCB3aWxsIGJlIHByZXBhcmVk
IGZvciBJRVNHLg0KDQpUaGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGRyYWZ0IGNhbiBiZSBmb3Vu
ZCBhdDoNCmh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtcmZj
NjUzNmJpcy0wMQ0KDQpQbGVhc2UgcmV2aWV3IGFuZCBzZW5kIGFueSBjb21tZW50cyB0byB0aGUg
V0cgbWFpbGluZyBsaXN0IG9yIGJ5IHJlc3BvbmRpbmcgdG8gdGhpcyBlLW1haWwuIENvbW1lbnRz
IGNhbiBiZSBzdGF0ZW1lbnRzIHN1Y2ggYXMsIEkgcmVhZC9yZXZpZXdlZCB0aGUgZG9jdW1lbnQg
YW5kIGJlbGlldmUgaXQgaXMgcmVhZHkgZm9yIHB1YmxpY2F0aW9uLCBvciBJIGhhdmUgY29uY2Vy
bnMgYWJvdXQgdGhlIGRvY3VtZW50LiBGb3IgdGhlIGxhdHRlciwgcGxlYXNlIGluZGljYXRlIHdo
YXQgeW91ciBjb25jZXJucyBhcmUuDQoNCkFueSByZXBvcnRzIG9uIGltcGxlbWVudGF0aW9uIHN0
YXR1cyBvciBwbGFucyB0byBpbXBsZW1lbnQgYXJlIGFsc28gdmVyeSB1c2VmdWwuDQoNCkF1dGhv
cnMsIHBsZWFzZSBpbmRpY2F0ZSBpZiB5b3UgYXJlIGF3YXJlIG9mIGFueSBJUFJzIHJlbGF0ZWQg
dG8gdGhlIGRyYWZ0Lg0KDQpUaGFua3MuDQoNCk1haGVzaCBhbmQgTWVobWV0DQoNCg0KDQpNYWhl
c2ggJiBNZWhtZXQNCg0KDQoNCg0KDQo=

--_000_24ebeed239a0459cafad264eba05ff71XCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0
eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBp
biAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rp
b24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1
bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzpp
ZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtl
bmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0i
cHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+VGhhbmtzIEFuZHkuJm5ic3A7Jm5ic3A7
IEkgYW0gZ29vZCB3aXRoIHRoZSBkb2N1bWVudC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6
c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGlu
ZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4sICZu
YnNwO01heSA0LCAyMDE3IDExOjAyIEFNPGJyPg0KPGJyPg0KPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFRodSwgTWF5IDQsIDIwMTcgYXQgNzo1MyBBTSwgRXJp
YyBWb2l0IChldm9pdCkgJmx0OzxhIGhyZWY9Im1haWx0bzpldm9pdEBjaXNjby5jb20iIHRhcmdl
dD0iX2JsYW5rIj5ldm9pdEBjaXNjby5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4N
CjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0ND
IDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2lu
LXJpZ2h0OjBpbiI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxk
aXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGlu
ZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttYXJnaW4tYm90dG9tOjEyLjBwdCI+PGI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gQW5keSBC
aWVybWFuLCBNYXkgNCwgMjAxNyAxMjo1MSBBTTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPk9uIFdlZCwgTWF5IDMsIDIwMTcgYXQgNjoxNSBQTSwg
RXJpYyBWb2l0IChldm9pdCkgJmx0OzxhIGhyZWY9Im1haWx0bzpldm9pdEBjaXNjby5jb20iIHRh
cmdldD0iX2JsYW5rIj5ldm9pdEBjaXNjby5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwv
cD4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0ND
Q0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFy
Z2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj5IaSBBbmR5LDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkhpIE1hcnRpbiw8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5UaGlzIGlzIGFuIGV4Y2VsbGVu
dCBkb2N1bWVudC4mbmJzcDsgSSZuYnNwOyBoYXZlIGEgZmV3IHF1ZXN0aW9uczo8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4jMSBTZWN0aW9uIDMuMS4zPC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+SWYgYSBkYXRhIG5vZGUgaWRlbnRpZmllZCBpbiBhIHJlcXVlc3Qg
aGFzIG5vIHJlYWQgYWNjZXNzIGFsbG93ZWQgKGkuZS4sIGRhdGEgbm9kZSBydWxlIHZpb2xhdGlv
biksDQogaXNu4oCZdCBpdCBiZXR0ZXIgdG8gdHJlYXQgdGhlIHJlc3BvbnNlIGxpa2UgdGhlIG5v
ZGUgZGlkbuKAmXQgZXhpc3QsIGkuZS4gYSDigJxkYXRhLW1pc3NpbmfigJ0gZXJyb3IgY29kZT8m
bmJzcDsmbmJzcDsgWW91IGhpZ2hsaWdodCB0aGlzIGFzIGFuIGlzc3VlIGluIDMuNy4yLCBidXQg
SSBkb27igJl0IHNlZSBhIHJlYXNvbiB3aHkg4oCcZGF0YSBtaXNzaW5n4oCdIGlzbuKAmXQgcHJl
ZmVyYWJsZSB0byDigJxhY2Nlc3MgZGVuaWVk4oCdIChvdGhlciB0aGFuIGVhc2Ugb2YgZGVidWcu
KTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+ZGF0YS1taXNzaW5nIHNlZW1zIHRpZWQgdG8gdGhlIGRlbGV0ZSBvcGVyYXRpb24gZXJyb3I8
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+KGNs
aWVudCB0cmllZCB0byBkZWxldGUgYSBub2RlIHRoYXQgZG9lcyBub3QgZXhpc3QpLjxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5hY2Nlc3MtZGVu
aWVkIGNhbiBhcHBseSB0byB0aGUgb2JqZWN0IC0tIHRoZSBkYXRhIG1heSBvciBtYXkgbm90IGV4
aXN0LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij5JIHRoaW5rIG1hbnkgb2YgdGhlIE5FVENPTkYgZXJyb3ItdGFncyBvdmVybGFwIGFuZCB3ZSBq
dXN0IGhhdmUgdG8gbWFrZTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj5hIHN1YmplY3RpdmUgY2hvaWNlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0QiPiZsdDtFcmljJmd0OyBvazwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1
b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SXQgd291bGQgYmUgZGlzcnVwdGl2
ZSB0byBjaGFuZ2UgdGhpcyBiZWNhdXNlIDY1MzYtY29tcGxpYW50IGltcGxlbWVudGF0aW9ucyBz
ZW5kIGFjY2Vzcy1kZW5pZWQ8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3Rl
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRp
bmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+
DQo8ZGl2Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlk
IGJsdWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxk
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlk
ICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0Ljhw
dDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+
DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPiMyJm5ic3A7IFNlY3Rpb24gMy4xLjM8L3NwYW4+PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5P
biB0aGUgc2VudGVuY2U6IOKAnElmIHRoZSB1c2VyIGlzIG5vdCBhdXRob3JpemVkIHRvIHJlYWQg
YWxsIHRoZSBzcGVjaWZpZWQgZGF0YSBub2RlcyBhbmQgdGhlIG5vdGlmaWNhdGlvbg0KIG5vZGUs
IHRoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBkcm9wcGVkIGZvciB0aGF0IHN1YnNjcmlwdGlvbi7i
gJ0mbmJzcDsmbmJzcDsmbmJzcDsgVGhlcmUgaXMgYSBkaWZmZXJlbmNlIGJldHdlZW4gZXZlbnRz
ICh3aGVyZSB0aGUgd2hvbGUgZXZlbnQgc2hvdWxkIGJlIGRpc2NhcmRlZCksIGFuZCBZQU5HIG9i
amVjdCBzZWxlY3Rpb25zICh3aGVyZSBpdCBpcyBwcmVmZXJhYmxlIHRvIGp1c3QgZGlzY2FyZCB0
aG9zZSBub2RlIGZvciB3aGljaCBhIHJlY2VpdmVyIGhhcyBubyBhY2Nlc3MpLiZuYnNwOyZuYnNw
Ow0KIFdoYXQgYXJlIHlvdXIgdGhvdWdodHMgYmFzZWQgb24gdGhlIHR5cGUgb2Ygbm90aWZpY2F0
aW9uIG9mIGFsbG93aW5nIHRoZSBzaW1wbGUgZHJvcHBpbmcgYW55IG5vZGVzIHdoZXJlIHJlYWQg
YWNjZXNzIGlzIG5vdCBhdmFpbGFibGUgaWYgdGhlIG5vdGlmaWNhdGlvbiBpbmNsdWRlcyBzb21l
IGV4dHJhY3Qgb2YgYSB5YW5nIGRhdGFzdG9yZT88L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPlRoZSBpbml0aWFsIGludGVudCB3YXMgdG8ga2VlcCBOQUNNIHNpbXBsZSBhbmQgbWFrZSBp
dCBlYXNpZXIgdG8gaGF2ZSBoaWdoIHBlcmZvcm1hbmNlIGltcGxlbWVudGF0aW9ucy48bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+TkFDTSBvbmx5
IGFsbG93cyB0aGUgZXZlbnQtdHlwZSB0byBiZSB0ZXN0ZWQsIG5vdCBhbnkgZGF0YSB3aXRoaW4g
aXQuIElNTyB0aGUgbmV3IG5vdGlmaWNhdGlvbiB3b3JrIHdpbGw8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+YmUgc2lnbmlmaWNhbnRseSBtb3Jl
IGV4cGVuc2l2ZSB0byBpbXBsZW1lbnQgaGlnaCBwZXJmb3JtYW5jZSBub3RpZmljYXRpb24gZGVs
aXZlcnkuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj5OQUNNIGRvZXMgbm90IHJlYWxseSB3b3JrIHRoZSB3YXkgWUFORyBwdXNoIHdhbnRz
IGl0IHRvIHdvcmsuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPlRoZSAmbmJzcDtwYXRoIC9teS1ldmVudC9pbnRlcmZhY2VzL2ludGVyZmFjZS9u
YW1lIGlzIG5vdCB0aGUgc2FtZSBub2RlPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPmFzIC9pbnRlcmZhY2VzL2ludGVyZmFjZS9uYW1lLiBTb21l
IGhhbmR3YXZpbmcgdGV4dCBtYXkgc2F5IHRyZWF0IHRoZXNlPG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPm5vZGVzIHRoZSBzYW1lLCBidXQgdGhl
eSBhcmUgbm90IHJlbGF0ZWQgYXQgYWxsIChmcm9tIGEgTkFDTSBQT1YpPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+Jmx0O0VyaWMmZ3Q7IFVuZGVyc3RhbmQuJm5ic3A7IEZvciB0aGlz
IGhpZ2ggcGVyZm9ybWFuY2UgcmVhc29uIGluIHRoZSBZQU5HIFB1c2ggd29yayB3ZSBkbyBhbGxv
dyBmb3Igc3Vic2NyaXB0aW9ucw0KIHRvIGJlIHJlLWVzdGFibGlzaGVkIGlmIHVuZGVybHlpbmcg
b2JqZWN0IHBlcm1pc3Npb25zIGNoYW5nZS4gPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9z
cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+RG8geW91IHNlZSB0aGlzIE5BQ00gdGV4dCBwcm92aWRpbmcgYSBi
bG9ja2VyIGZvciBzb21lb25lIHdobyBkZXNpcmVzIHN1Y2ggbm90aWZpY2F0aW9uIGNvbnRlbnQg
ZmlsdGVyaW5nPyZuYnNwOw0KIFNvbWUgZWFybHkgeWFuZy1wdXNoIHVzZSBjYXNlcyBJIGFtIHNl
ZWluZyBhcmUgaW4gdGhlIHNlY3VyaXR5IGFuZCBjb25maWcgY2hhbmdlIHZhbGlkYXRpb24gc3Bh
Y2VzLiZuYnNwOyBBcyB0aGVzZSBoYXZlIGxvdyB0cmFuc2FjdGlvbiB2b2x1bWVzLCBpdCBtYXkg
YmUgdmlhYmxlIHRvIHN1cHBvcnQgc3VjaCBldmVudCBiYXNlZCBwZXJtaXNzaW9ucyBtYXBwaW5n
IGluIGltcGxlbWVudGF0aW9uLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+
DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5ubyAtLSBzZWUgYmVsb3c8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl
ZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1s
ZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJi
b3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAw
aW4gNC4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRl
cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBp
biA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDow
aW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPiMzIFNlY3Rpb24gMy40LjY8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5PdXRnb2luZyAmbHQ7
bm90aWZpY2F0aW9uJmd0OyBBdXRob3JpemF0aW9uIGluIDMuNC42IHNheSBkZXNjZW5kZW50IG5v
ZGVzIGFyZSBvdXQgb2Ygc2NvcGUuJm5ic3A7IEJ1dCBhcyBzb21lDQogbm90aWZpY2F0aW9ucyBj
YW4gY29udGFpbiBkYXRhc3RvcmUgZXh0cmFjdHMsIGl0IHdvdWxkIHNlZW0gdXNlZnVsIGFsbG93
IE5BQ00gdG8gYWN0IHNpbWlsYXJseSB0byB0aGUgcHJvY2Vzc2luZyBvZiBhIHJlc3BvbnNlIHRv
IGEgZ2V0LiZuYnNwOyBBbHNvIGlzIHRoZXJlIGFuIGludGVyc2VjdGlvbiBvZiB0aGlzIHBvaW50
IHdpdGggIzIgYWJvdmU/PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwv
YmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JTU8gdGhpcyBz
aG91bGQgbm90IGJlIGRvbmUgKHVubGVzcyB5b3Ugd2FudCB5b3UgY29kZSB0byBydW4gd2F5IHNs
b3dlcik8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+SXQgYWxzbyBtZWFucyB0aGUgY2xpZW50IGNhbm5vdCBiZSBzdXJlIHdoYXQgdGhlIHNlcnZl
ciB3aWxsIGxlYWsuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPkkgcHJlZmVyIHRvIGFwcGx5IE5BQ00gYXQgc3Vic2NyaXB0aW9uLXRpbWUuIElm
IHRoZSBjbGllbnQgaXMgbm90IGFsbG93ZWQgdG88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+cmVhZCBldmVyeXRoaW5nIGluIHRoZSByZXF1ZXN0
ZWQgc3Vic2NyaXB0aW9uLCBpdCBpcyBkZW5pZWQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGlzIGRvZXNuJ3QgcmVhbGx5IHdvcmsg
Zm9yIGRhdGEgcnVsZXMgb24gc3BlY2lmaWMgaW5zdGFuY2VzIHRoYXQgZ2V0IGNyZWF0ZWQ8bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+YWZ0ZXIg
dGhlIHN1YnNjcmlwdGlvbiBzdGFydHMuIEJ1dCBhcHBseWluZyBOQUNNIGRhdGEgcnVsZXMgdG8g
ZXZlcnkgZGVzY2VuZGFudDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj5ub2RlIGluIGEgWUFORyBwdXNoIGlzIGdvaW5nIHRvIGJlIGV4dHJlbWVs
eSBzbG93LiBUaGlzIGdldHMgZXZlbiB3b3JzZTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5mb3Igc3Vic2NyaXB0aW9ucyB3aXRoIG11bHRpcGxl
IHJlY2VpdmVycyAoYXMgTkFDTSBoYXMgdG8gYmUgZW5mb3JjZWQgZm9yPG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPmVhY2ggcmVjZWl2ZXIpLiBJ
IHdvdWxkIHByZWZlciB0byBzZWUgYSBzb2x1dGlvbiB0aGF0IGZvcmNlcyBZQU5HIHB1c2g8bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+dG8gZW5m
b3JjZSBOQUNNIGF0IHVwZGF0ZSBnZW5lcmF0aW9uIHRpbWUgKGJlZm9yZSB0aGUgbm90aWZpY2F0
aW9uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PmRlbGl2ZXJ5IHN5c3RlbSBldmVyIHNlZXMgaXQpIEJ1dCB0aGlzIGFzc3VtZXMgWUFORyBwdXNo
IGlzIGF3YXJlPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPm9mIHRoZSBhY3RpdmUgc3Vic2NyaXB0aW9ucywgc28gbm90IGFuIGlkZWFsIHNvbHV0
aW9uIGF0IGFsbC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbHQ7RXJpYyZndDsgdW5kZXJzdGFuZCwgYW5k
IGFncmVlIHRoZXNlIGFyZSB2YWxpZCBhcHByb2FjaGVzLiZuYnNwOyZuYnNwOyBJIGFtIGp1c3Qg
aG9waW5nIHRoYXQgdGhlIHRleHQgZG9lc27igJl0IGV4cGxpY2l0bHkNCiBwcmVjbHVkZSBpbXBs
ZW1lbnRhdGlvbnMgd2hpY2ggbWlnaHQgYmUgYWJsZSB0byBhY2NvbXBsaXNoIG5vdGlmaWNhdGlv
biBiYXNlZCBjb250ZW50IGZpbHRlcmluZy4mbmJzcDsgQXMgdGhlIHRleHQgY3VycmVudGx5IHNh
eXMg4oCcb3V0IG9mIHNjb3Bl4oCdLCBteSByZWFkaW5nIGlzIHRoYXQgdGhpcyBub3QgcHJlY2x1
ZGVkLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9i
bG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SU1PIGl0IGlzIE9LIHRv
IHB1dCB0aGlzIHJlcXVpcmVtZW50IG9uIGEgWUFORyBwdXNoIGltcGxlbWVudGF0aW9uLjxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhlIHBydW5p
bmcgaXMgZG9uZSBieSBZQU5HIHB1c2gsIG5vdCBOQUNNPG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGVuIE5BQ00gY2hlY2tzIHRoZSBldmVudC10
eXBlIChpZiBzbyBjb25maWd1cmVkKTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2Nr
cXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7
cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6
MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6
c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2
Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj5FcmljPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BbmR5PG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0ND
Q0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJn
aW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9y
ZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxk
aXY+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJz
cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25l
O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBw
dDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFy
Z2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Qi
PlRoYW5rcyw8YnI+DQpFcmljPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N
CjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5BbmR5PG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7
Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0
O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJn
aW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9w
Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtw
YWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9u
ZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBp
biI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bWFyZ2luLWJvdHRvbToxMi4wcHQiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3NwYW4+PC9i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZiI+IE1haGVzaCBKZXRoYW5hbmRhbmksIE1heSAzLCAyMDE3IDU6MTgN
CiBQTTwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPkZvbGtzLDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPlRoZXJlIGhhcyBiZWVuIGxpdGVyYWxseSBubyBmZWVkYmFjayBvbiB0aGlzIGRv
Y3VtZW50LCBlaXRoZXIgdG8gc2F5IHRoZXkgaGF2ZSByZWFkIHRoZSBkb2N1bWVudCBhbmQgc3Vw
cG9ydCBpdCwgb3IgdG8gZXhwcmVzcyBjb25jZXJucyBhYm91dCB0aGUgZG9jdW1lbnQuIFNpbGVu
Y2UsIHVuZm9ydHVuYXRlbHkNCiBpcyBub3QgYSBnb29kIGd1aWRlIGZvciB1cy4gVG8gbW92ZSB0
aGUgZG9jdW1lbnQgZm9yd2FyZCwgd2UgbmVlZCB0byBoZWFyIGZyb20gZm9sa3MsIGluY2x1ZGlu
ZyB0aG9zZSB3aG8gd2VyZSBpbiBJRVRGIDk4LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhhbmtzLjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tYm90dG9t
OjUuMHB0Ij4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPk9uIEFwciAxOCwgMjAxNywg
YXQgNTozNCBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOm1qZXRo
YW5hbmRhbmlAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bWpldGhhbmFuZGFuaUBnbWFpbC5j
b208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj5ORVRDT05GIFdHLDxicj4NCjxicj4NCkluIElFVEYgOTgsIHRoZSBhdXRob3Jz
IGluZGljYXRlZCB0aGF0IHRoZSBhYm92ZSBkcmFmdCB3YXMgcmVhZHkgZm9yIExhc3QgQ2FsbCwg
YW5kIHRoZSBjb25zZW5zdXMgaW4gdGhlIHJvb20gaW5kaWNhdGVkIGFzIG11Y2guPG86cD48L286
cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhpcyBpcyBhIHN0YXJ0
IG9mIGEgMiB3ZWVrIFdHIExhc3QgQ2FsbCBmb3IgZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZi
aXMuIEFmdGVyIHR3byB3ZWVrcywgdGhlIGRvY3VtZW50IHdpbGwgYmUgYXNzaWduZWQgYSBzaGVw
aGVyZCwgYW5kIHRoZSBkb2N1bWVudCB3aWxsIGJlIHByZXBhcmVkIGZvciBJRVNHLjxicj4NCjxi
cj4NClRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgZHJhZnQgY2FuIGJlIGZvdW5kIGF0Ojxicj4N
CjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYt
cmZjNjUzNmJpcy0wMSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9kcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy0wMTwvYT48YnI+DQo8YnI+DQpQbGVhc2Ug
cmV2aWV3IGFuZCBzZW5kIGFueSBjb21tZW50cyB0byB0aGUgV0cgbWFpbGluZyBsaXN0IG9yIGJ5
IHJlc3BvbmRpbmcgdG8gdGhpcyBlLW1haWwuIENvbW1lbnRzIGNhbiBiZSBzdGF0ZW1lbnRzIHN1
Y2ggYXMsIEkgcmVhZC9yZXZpZXdlZCB0aGUgZG9jdW1lbnQmbmJzcDthbmQgYmVsaWV2ZSBpdCBp
cyByZWFkeSBmb3IgcHVibGljYXRpb24sIG9yIEkgaGF2ZSBjb25jZXJucyBhYm91dCB0aGUgZG9j
dW1lbnQuIEZvciB0aGUgbGF0dGVyLCBwbGVhc2UNCiBpbmRpY2F0ZSB3aGF0IHlvdXIgY29uY2Vy
bnMgYXJlLiZuYnNwOzxicj4NCjxicj4NCkFueSByZXBvcnRzIG9uIGltcGxlbWVudGF0aW9uIHN0
YXR1cyBvciBwbGFucyB0byBpbXBsZW1lbnQgYXJlIGFsc28mbmJzcDt2ZXJ5IHVzZWZ1bC48bzpw
PjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5BdXRob3JzLCBw
bGVhc2UgaW5kaWNhdGUgaWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgSVBScyByZWxhdGVkIHRvIHRo
ZSBkcmFmdC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPlRoYW5rcy48YnI+DQo8YnI+DQpNYWhlc2ggYW5kIE1laG1ldDxvOnA+PC9vOnA+
PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj5NYWhlc2ggJmFtcDsgTWVobWV0PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2
Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp
dj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_24ebeed239a0459cafad264eba05ff71XCHRTP013ciscocom_--


From nobody Thu May  4 10:22:45 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C897F129471 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:22:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hrXSkB1aSqVL for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:22:41 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FD14128C82 for <netconf@ietf.org>; Thu,  4 May 2017 10:22:40 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml704-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFZ77708; Thu, 04 May 2017 17:22:35 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 4 May 2017 18:22:34 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML702-CHM.china.huawei.com ([169.254.4.233]) with mapi id 14.03.0235.001;  Thu, 4 May 2017 10:22:31 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSuKTAIzHBCUfDlEODIHfKLGbb7aHjqZkAgADTj3A=
Date: Thu, 4 May 2017 17:22:30 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
In-Reply-To: <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.144]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.590B635E.0119, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: d85c8d325a47478ee78e7b4c7292f8ef
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/sQv3URsJam45-2sDNnvdkr00Tzc>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 17:22:44 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8SJCEML701CHMchi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi,

FWIW, I do have a few comments.  Overall the document is in good shape, but=
 there are a few items where I think it can be made even better:-)


-          I think it would be good to include a section on how the revised=
 datastores will impact requirements on NACM.  I don't think anything major=
 is required, but there are a few places where some updates could be made, =
and/or perhaps a brief section could be added somewhere discussing this.  F=
or example, in Figure 1 (Section 2.1) where it says "datastore or state dat=
a access" (technically, this remains correct, but this seems to have the pr=
evious model in mind), also fig 3 assuming RPCs will always be against conf=
ig datastore).   It might also mention which datastore NACM rules apply to =
when the same data is contained in multiple datastores.  Technically, I don=
't think there will be a distinction (any differentiation would apply to re=
ad operations, and I cannot think of a good example where such differentiat=
ion would be needed), still it might be good to be explicit about it.

-          In section 3.4.6 (outgoing <notification> authorization), it sta=
tes that access control is applied only to notification as a whole, not to =
any data it contains.  This is clear enough; however, it is a limitation.  =
Specifically, in YANG-Push there is a requirement to be able to apply a sec=
urity filter to not push data that the receiver is not authorized to receiv=
e (or not accept/terminate a subscription which contains such data altogeth=
er).  If NACM does not provide this, another mechanism or a NACM extension =
will be needed (that will still need to use the privileges configured in NA=
CM).  At a minimum, this needs to be clearly called out.

-          I wonder why NACM is restricted to NETCONF or RESTCONF.  Really,=
 this restricts access to data in YANG datastores; while NETCONF and RESTCO=
NF do need to be called out specifically and the document does need to spel=
l out how it is applied in this context, it would probably be good to clari=
fy that NACM should apply to other protocol access.

-          It would be good to indicate that the source of access control r=
ules is not restricted to external clients, but that they could originate f=
rom the server itself.  This is the same config/operational state discussio=
n that has come up in other contexts (e.g. the topology models), and I thin=
k it applies here as well.  Again, this is where the revised datastores mod=
el is intended to provide a solution - i.e. the NACM rules in the config da=
tastore may be only a subset of the ones in the operational datastore, etc =
- but I think it is important enough to be called.

Thanks
--- Alex

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Mahesh Jethana=
ndani
Sent: Wednesday, May 03, 2017 2:18 PM
To: Netconf <netconf@ietf.org>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis

Folks,

There has been literally no feedback on this document, either to say they h=
ave read the document and support it, or to express concerns about the docu=
ment. Silence, unfortunately is not a good guide for us. To move the docume=
nt forward, we need to hear from folks, including those who were in IETF 98=
.

Thanks.

On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com<m=
ailto:mjethanandani@gmail.com>> wrote:

NETCONF WG,

In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.

This is a start of a 2 week WG Last Call for draft-ietf-netconf-rfc6536bis.=
 After two weeks, the document will be assigned a shepherd, and the documen=
t will be prepared for IESG.

The latest version of the draft can be found at:
https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01

Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument and believe it is ready for publication, or I have concerns about th=
e document. For the latter, please indicate what your concerns are.

Any reports on implementation status or plans to implement are also very us=
eful.

Authors, please indicate if you are aware of any IPRs related to the draft.

Thanks.

Mahesh and Mehmet



Mahesh & Mehmet




--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8SJCEML701CHMchi_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle18
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:431241419;
	mso-list-type:hybrid;
	mso-list-template-ids:-1316310360 -83826072 67698691 67698693 67698689 676=
98691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-start-at:2330;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Calibri",sans-serif;
	mso-fareast-font-family:Calibri;
	mso-bidi-font-family:"Times New Roman";}
@list l0:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l0:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Symbol;}
@list l0:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l0:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	text-indent:-.25in;
	font-family:Wingdings;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Hi,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">FWIW, I do have a few comments.&nbsp;=
 Overall the document is in good shape, but there are a few items where I t=
hink it can be made even better:-)&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,sans-serif;color:#1F497D"><span style=3D"mso-list:Ignore"=
>-<span style=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:11.0pt;font-family:=
&quot;Calibri&quot;,sans-serif;color:#1F497D">I think it would be good to i=
nclude a section on how the revised datastores will impact requirements on =
NACM.&nbsp; I don&#8217;t think anything major is required,
 but there are a few places where some updates could be made, and/or perhap=
s a brief section could be added somewhere discussing this. &nbsp;For examp=
le, in Figure 1 (Section 2.1) where it says &#8220;datastore or state data =
access&#8221; (technically, this remains correct,
 but this seems to have the previous model in mind), also fig 3 assuming RP=
Cs will always be against config datastore). &nbsp;&nbsp;It might also ment=
ion which datastore NACM rules apply to when the same data is contained in =
multiple datastores.&nbsp; Technically, I don&#8217;t
 think there will be a distinction (any differentiation would apply to read=
 operations, and I cannot think of a good example where such differentiatio=
n would be needed), still it might be good to be explicit about it.&nbsp; &=
nbsp;<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,sans-serif;color:#1F497D"><span style=3D"mso-list:Ignore"=
>-<span style=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:11.0pt;font-family:=
&quot;Calibri&quot;,sans-serif;color:#1F497D">In section 3.4.6 (outgoing &l=
t;notification&gt; authorization), it states that access control is applied=
 only to notification as a whole, not to any data
 it contains.&nbsp; This is clear enough; however, it is a limitation.&nbsp=
; Specifically, in YANG-Push there is a requirement to be able to apply a s=
ecurity filter to not push data that the receiver is not authorized to rece=
ive (or not accept/terminate a subscription
 which contains such data altogether).&nbsp; If NACM does not provide this,=
 another mechanism or a NACM extension will be needed (that will still need=
 to use the privileges configured in NACM).&nbsp; At a minimum, this needs =
to be clearly called out.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,sans-serif;color:#1F497D"><span style=3D"mso-list:Ignore"=
>-<span style=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:11.0pt;font-family:=
&quot;Calibri&quot;,sans-serif;color:#1F497D">I wonder why NACM is restrict=
ed to NETCONF or RESTCONF.&nbsp; Really, this restricts access to data in Y=
ANG datastores; while NETCONF and RESTCONF do need
 to be called out specifically and the document does need to spell out how =
it is applied in this context, it would probably be good to clarify that NA=
CM should apply to other protocol access.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"text-indent:-.25in;mso-list:l0 level=
1 lfo1"><![if !supportLists]><span style=3D"font-size:11.0pt;font-family:&q=
uot;Calibri&quot;,sans-serif;color:#1F497D"><span style=3D"mso-list:Ignore"=
>-<span style=3D"font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style=3D"font-size:11.0pt;font-family:=
&quot;Calibri&quot;,sans-serif;color:#1F497D">It would be good to indicate =
that the source of access control rules is not restricted to external clien=
ts, but that they could originate from the server
 itself.&nbsp; This is the same config/operational state discussion that ha=
s come up in other contexts (e.g. the topology models), and I think it appl=
ies here as well.&nbsp; Again, this is where the revised datastores model i=
s intended to provide a solution &#8211; i.e. the
 NACM rules in the config datastore may be only a subset of the ones in the=
 operational datastore, etc &#8211; but I think it is important enough to b=
e called.&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Thanks<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">--- Alex<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Netconf [mailto:netconf-bounce=
s@ietf.org]
<b>On Behalf Of </b>Mahesh Jethanandani<br>
<b>Sent:</b> Wednesday, May 03, 2017 2:18 PM<br>
<b>To:</b> Netconf &lt;netconf@ietf.org&gt;<br>
<b>Subject:</b> Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis<o:p><=
/o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Folks,<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately is not a good guide for=
 us. To move the document forward,
 we need to hear from folks, including those who were in IETF 98.<o:p></o:p=
></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>&gt;=
 wrote:<o:p></o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01">ht=
tps://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument&nbsp;and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.&nbsp;<br>
<br>
Any reports on implementation status or plans to implement are also&nbsp;ve=
ry useful.<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<o:p></o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<o:p></o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8SJCEML701CHMchi_--


From nobody Thu May  4 10:32:55 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9425D129B10 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:32:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZVfQDBFudv7y for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:32:51 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62EA0129431 for <netconf@ietf.org>; Thu,  4 May 2017 10:32:50 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DMH05171; Thu, 04 May 2017 17:32:48 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 4 May 2017 18:32:46 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML702-CHM.china.huawei.com ([169.254.4.233]) with mapi id 14.03.0235.001;  Thu, 4 May 2017 10:32:42 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, Andy Bierman <andy@yumaworks.com>
CC: Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSuKTAIzHBCUfDlEODIHfKLGbb7aHjqZkAgABCSACAADwigIAAqIWAgAACRoCAAAFcgP//sVYg
Date: Thu, 4 May 2017 17:32:40 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF95738@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <f2106a6c538a4b9e96ba490b867bd40d@XCH-RTP-013.cisco.com> <CABCOCHTo+vO7LRJTEPFxOLH5fGkCPDJrO8QRbq_bnOHNS9skqA@mail.gmail.com> <d1a44db13f3b4de39bb89107fc61fea3@XCH-RTP-013.cisco.com> <CABCOCHRW=+V0WCXLS0RZbZ+jqeB5ofwRd0ZyqPoZ9Hvi-JrATA@mail.gmail.com> <24ebeed239a0459cafad264eba05ff71@XCH-RTP-013.cisco.com>
In-Reply-To: <24ebeed239a0459cafad264eba05ff71@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.144]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95738SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090203.590B65C0.00E0, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 37bb3e215755e39c59742f08690b9019
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/OQiTJF65Je1oA5TY9BIDxdWpcCM>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 17:32:54 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95738SJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

T25lIGNvbW1lbnQgYmVsb3csIHZlcnkgYm90dG9tLCA8QUxFWD4NCi0tLSBBbGV4DQoNCkZyb206
IE5ldGNvbmYgW21haWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmddIE9uIEJlaGFsZiBPZiBF
cmljIFZvaXQgKGV2b2l0KQ0KU2VudDogVGh1cnNkYXksIE1heSAwNCwgMjAxNyA4OjA3IEFNDQpU
bzogQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+DQpDYzogTmV0Y29uZiA8bmV0Y29u
ZkBpZXRmLm9yZz4NClN1YmplY3Q6IFJlOiBbTmV0Y29uZl0gV0cgTEMgZm9yIGRyYWZ0LWlldGYt
bmV0Y29uZi1yZmM2NTM2YmlzDQoNClRoYW5rcyBBbmR5LiAgIEkgYW0gZ29vZCB3aXRoIHRoZSBk
b2N1bWVudC4NCg0KRnJvbTogQW5keSBCaWVybWFuLCAgTWF5IDQsIDIwMTcgMTE6MDIgQU0NCg0K
DQoNCk9uIFRodSwgTWF5IDQsIDIwMTcgYXQgNzo1MyBBTSwgRXJpYyBWb2l0IChldm9pdCkgPGV2
b2l0QGNpc2NvLmNvbTxtYWlsdG86ZXZvaXRAY2lzY28uY29tPj4gd3JvdGU6DQoNCkZyb206IEFu
ZHkgQmllcm1hbiwgTWF5IDQsIDIwMTcgMTI6NTEgQU0NCk9uIFdlZCwgTWF5IDMsIDIwMTcgYXQg
NjoxNSBQTSwgRXJpYyBWb2l0IChldm9pdCkgPGV2b2l0QGNpc2NvLmNvbTxtYWlsdG86ZXZvaXRA
Y2lzY28uY29tPj4gd3JvdGU6DQrigKYuDQoNCiMzIFNlY3Rpb24gMy40LjYNCk91dGdvaW5nIDxu
b3RpZmljYXRpb24+IEF1dGhvcml6YXRpb24gaW4gMy40LjYgc2F5IGRlc2NlbmRlbnQgbm9kZXMg
YXJlIG91dCBvZiBzY29wZS4gIEJ1dCBhcyBzb21lIG5vdGlmaWNhdGlvbnMgY2FuIGNvbnRhaW4g
ZGF0YXN0b3JlIGV4dHJhY3RzLCBpdCB3b3VsZCBzZWVtIHVzZWZ1bCBhbGxvdyBOQUNNIHRvIGFj
dCBzaW1pbGFybHkgdG8gdGhlIHByb2Nlc3Npbmcgb2YgYSByZXNwb25zZSB0byBhIGdldC4gIEFs
c28gaXMgdGhlcmUgYW4gaW50ZXJzZWN0aW9uIG9mIHRoaXMgcG9pbnQgd2l0aCAjMiBhYm92ZT8N
Cg0KSU1PIHRoaXMgc2hvdWxkIG5vdCBiZSBkb25lICh1bmxlc3MgeW91IHdhbnQgeW91IGNvZGUg
dG8gcnVuIHdheSBzbG93ZXIpDQpJdCBhbHNvIG1lYW5zIHRoZSBjbGllbnQgY2Fubm90IGJlIHN1
cmUgd2hhdCB0aGUgc2VydmVyIHdpbGwgbGVhay4NCkkgcHJlZmVyIHRvIGFwcGx5IE5BQ00gYXQg
c3Vic2NyaXB0aW9uLXRpbWUuIElmIHRoZSBjbGllbnQgaXMgbm90IGFsbG93ZWQgdG8NCnJlYWQg
ZXZlcnl0aGluZyBpbiB0aGUgcmVxdWVzdGVkIHN1YnNjcmlwdGlvbiwgaXQgaXMgZGVuaWVkLg0K
DQpUaGlzIGRvZXNuJ3QgcmVhbGx5IHdvcmsgZm9yIGRhdGEgcnVsZXMgb24gc3BlY2lmaWMgaW5z
dGFuY2VzIHRoYXQgZ2V0IGNyZWF0ZWQNCmFmdGVyIHRoZSBzdWJzY3JpcHRpb24gc3RhcnRzLiBC
dXQgYXBwbHlpbmcgTkFDTSBkYXRhIHJ1bGVzIHRvIGV2ZXJ5IGRlc2NlbmRhbnQNCm5vZGUgaW4g
YSBZQU5HIHB1c2ggaXMgZ29pbmcgdG8gYmUgZXh0cmVtZWx5IHNsb3cuIFRoaXMgZ2V0cyBldmVu
IHdvcnNlDQpmb3Igc3Vic2NyaXB0aW9ucyB3aXRoIG11bHRpcGxlIHJlY2VpdmVycyAoYXMgTkFD
TSBoYXMgdG8gYmUgZW5mb3JjZWQgZm9yDQplYWNoIHJlY2VpdmVyKS4gSSB3b3VsZCBwcmVmZXIg
dG8gc2VlIGEgc29sdXRpb24gdGhhdCBmb3JjZXMgWUFORyBwdXNoDQp0byBlbmZvcmNlIE5BQ00g
YXQgdXBkYXRlIGdlbmVyYXRpb24gdGltZSAoYmVmb3JlIHRoZSBub3RpZmljYXRpb24NCmRlbGl2
ZXJ5IHN5c3RlbSBldmVyIHNlZXMgaXQpIEJ1dCB0aGlzIGFzc3VtZXMgWUFORyBwdXNoIGlzIGF3
YXJlDQpvZiB0aGUgYWN0aXZlIHN1YnNjcmlwdGlvbnMsIHNvIG5vdCBhbiBpZGVhbCBzb2x1dGlv
biBhdCBhbGwuDQoNCjxFcmljPiB1bmRlcnN0YW5kLCBhbmQgYWdyZWUgdGhlc2UgYXJlIHZhbGlk
IGFwcHJvYWNoZXMuICAgSSBhbSBqdXN0IGhvcGluZyB0aGF0IHRoZSB0ZXh0IGRvZXNu4oCZdCBl
eHBsaWNpdGx5IHByZWNsdWRlIGltcGxlbWVudGF0aW9ucyB3aGljaCBtaWdodCBiZSBhYmxlIHRv
IGFjY29tcGxpc2ggbm90aWZpY2F0aW9uIGJhc2VkIGNvbnRlbnQgZmlsdGVyaW5nLiAgQXMgdGhl
IHRleHQgY3VycmVudGx5IHNheXMg4oCcb3V0IG9mIHNjb3Bl4oCdLCBteSByZWFkaW5nIGlzIHRo
YXQgdGhpcyBub3QgcHJlY2x1ZGVkLg0KDQoNCklNTyBpdCBpcyBPSyB0byBwdXQgdGhpcyByZXF1
aXJlbWVudCBvbiBhIFlBTkcgcHVzaCBpbXBsZW1lbnRhdGlvbi4NClRoZSBwcnVuaW5nIGlzIGRv
bmUgYnkgWUFORyBwdXNoLCBub3QgTkFDTQ0KVGhlbiBOQUNNIGNoZWNrcyB0aGUgZXZlbnQtdHlw
ZSAoaWYgc28gY29uZmlndXJlZCkNCg0KPEFMRVg+IElzIHRoaXMgc29tZXRoaW5nIHRoYXQgY291
bGQgYmUgYWRkZWQgdG8gTkFDTSBhcyBhIGZlYXR1cmUvZXh0ZW5zaW9uIHRvIGJlIGFwcGxpZWQg
dG8gc3BlY2lmaWMgbm90aWZpY2F0aW9uIHR5cGVzPyAgIFBlcmhhcHMgaXQgZG9lcyBub3QgbmVl
ZCB0byBiZSBmdWxseSBzcGVjZWQgb3V0IGluIHRoaXMgZG9jdW1lbnQsIGJ1dCBzdGlsbCBkZXNj
cmliZWQgaG93IHRoaXMgY291bGQgYmUgYWNjb21tb2RhdGVkLiAgQXMgbWVudGlvbmVkIGluIG15
IG90aGVyIG1lc3NhZ2UsIEkgZG8gdGhpbmsgdGhpcyBpcyBhbiBpbXBvcnRhbnQgbGltaXRhdGlv
bi4gIEl0IGlzIG1hZGUgZm9yIGEgcmVhc29uLCBidXQgc3RpbGwgd2l0aCBwb3NzaWJsZSBzY2Vu
YXJpb3MgdGhhdCB3ZSBjYW4gYWxyZWFkeSBhbnRpY2lwYXRlICh3aXRoIG90aGVyIFdHIGl0ZW1z
IHRoYXQgYXJlIFdJUCkgd2hpY2ggd2lsbCBjYWxsIGZvciB0aGF0IGxpbWl0YXRpb24gdG8gYmUg
b3ZlcmNvbWUsIHNvIEkgdGhpbmsgdGhpcyB3YXJyYW50cyBhZGRpbmcgYXQgYSBtaW5pbXVtIGEg
YnJpZWYgc2VjdGlvbiBkaXNjdXNzaW5nIHRoaXMuDQo8L0FMRVg+DQoNCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95738SJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z
LXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxl
LXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBv
cnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXpl
OjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2Lldv
cmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3Rl
IG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAy
NiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hh
cGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+
DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5n
PSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2Vj
dGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPk9uZSBjb21tZW50IGJlbG93LCB2ZXJ5IGJvdHRvbSwgJmx0O0FMRVgmZ3Q7PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0QiPi0tLSBBbGV4PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlk
ICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWYiPiBOZXRjb25mIFttYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnXQ0KPGI+T24gQmVo
YWxmIE9mIDwvYj5FcmljIFZvaXQgKGV2b2l0KTxicj4NCjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwg
TWF5IDA0LCAyMDE3IDg6MDcgQU08YnI+DQo8Yj5Ubzo8L2I+IEFuZHkgQmllcm1hbiAmbHQ7YW5k
eUB5dW1hd29ya3MuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gTmV0Y29uZiAmbHQ7bmV0Y29uZkBp
ZXRmLm9yZyZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtOZXRjb25mXSBXRyBMQyBmb3Ig
ZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+VGhhbmtz
IEFuZHkuJm5ic3A7Jm5ic3A7IEkgYW0gZ29vZCB3aXRoIHRoZSBkb2N1bWVudC48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVy
Om5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQu
MHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNF
MUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4wcHQiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJv
bTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiwgJm5ic3A7TWF5IDQs
IDIwMTcgMTE6MDIgQU08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
T24gVGh1LCBNYXkgNCwgMjAxNyBhdCA3OjUzIEFNLCBFcmljIFZvaXQgKGV2b2l0KSAmbHQ7PGEg
aHJlZj0ibWFpbHRvOmV2b2l0QGNpc2NvLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmV2b2l0QGNpc2Nv
LmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJv
cmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGlu
IDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdo
dDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpw
PjwvbzpwPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJs
dWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttYXJnaW4tYm90
dG9tOjEyLjBwdCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmIj4gQW5keSBCaWVybWFuLCBNYXkgNCwgMjAxNyAxMjo1MSBBTTwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPk9uIFdlZCwgTWF5IDMsIDIw
MTcgYXQgNjoxNSBQTSwgRXJpYyBWb2l0IChldm9pdCkgJmx0OzxhIGhyZWY9Im1haWx0bzpldm9p
dEBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5ldm9pdEBjaXNjby5jb208L2E+Jmd0OyB3cm90
ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+
DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+4oCmLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICND
Q0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDtt
YXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8
ZGl2Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJs
dWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxkaXY+
DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0ND
QyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdp
bi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RCI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+IzMgU2VjdGlvbiAzLjQuNjwvc3Bhbj48
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPk91dGdvaW5nICZsdDtub3RpZmljYXRpb24mZ3Q7IEF1dGhvcml6YXRpb24g
aW4gMy40LjYgc2F5IGRlc2NlbmRlbnQgbm9kZXMgYXJlIG91dCBvZiBzY29wZS4mbmJzcDsgQnV0
IGFzIHNvbWUNCiBub3RpZmljYXRpb25zIGNhbiBjb250YWluIGRhdGFzdG9yZSBleHRyYWN0cywg
aXQgd291bGQgc2VlbSB1c2VmdWwgYWxsb3cgTkFDTSB0byBhY3Qgc2ltaWxhcmx5IHRvIHRoZSBw
cm9jZXNzaW5nIG9mIGEgcmVzcG9uc2UgdG8gYSBnZXQuJm5ic3A7IEFsc28gaXMgdGhlcmUgYW4g
aW50ZXJzZWN0aW9uIG9mIHRoaXMgcG9pbnQgd2l0aCAjMiBhYm92ZT88L3NwYW4+PG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPklNTyB0aGlzIHNob3VsZCBub3QgYmUgZG9uZSAodW5sZXNzIHlvdSB3
YW50IHlvdSBjb2RlIHRvIHJ1biB3YXkgc2xvd2VyKTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JdCBhbHNvIG1lYW5zIHRoZSBjbGllbnQgY2Fu
bm90IGJlIHN1cmUgd2hhdCB0aGUgc2VydmVyIHdpbGwgbGVhay48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SSBwcmVmZXIgdG8gYXBwbHkgTkFD
TSBhdCBzdWJzY3JpcHRpb24tdGltZS4gSWYgdGhlIGNsaWVudCBpcyBub3QgYWxsb3dlZCB0bzxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5yZWFk
IGV2ZXJ5dGhpbmcgaW4gdGhlIHJlcXVlc3RlZCBzdWJzY3JpcHRpb24sIGl0IGlzIGRlbmllZC48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5i
c3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PlRoaXMgZG9lc24ndCByZWFsbHkgd29yayBmb3IgZGF0YSBydWxlcyBvbiBzcGVjaWZpYyBpbnN0
YW5jZXMgdGhhdCBnZXQgY3JlYXRlZDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj5hZnRlciB0aGUgc3Vic2NyaXB0aW9uIHN0YXJ0cy4gQnV0IGFw
cGx5aW5nIE5BQ00gZGF0YSBydWxlcyB0byBldmVyeSBkZXNjZW5kYW50PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPm5vZGUgaW4gYSBZQU5HIHB1
c2ggaXMgZ29pbmcgdG8gYmUgZXh0cmVtZWx5IHNsb3cuIFRoaXMgZ2V0cyBldmVuIHdvcnNlPG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPmZvciBz
dWJzY3JpcHRpb25zIHdpdGggbXVsdGlwbGUgcmVjZWl2ZXJzIChhcyBOQUNNIGhhcyB0byBiZSBl
bmZvcmNlZCBmb3I8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+ZWFjaCByZWNlaXZlcikuIEkgd291bGQgcHJlZmVyIHRvIHNlZSBhIHNvbHV0aW9u
IHRoYXQgZm9yY2VzIFlBTkcgcHVzaDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj50byBlbmZvcmNlIE5BQ00gYXQgdXBkYXRlIGdlbmVyYXRpb24g
dGltZSAoYmVmb3JlIHRoZSBub3RpZmljYXRpb248bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ZGVsaXZlcnkgc3lzdGVtIGV2ZXIgc2VlcyBpdCkg
QnV0IHRoaXMgYXNzdW1lcyBZQU5HIHB1c2ggaXMgYXdhcmU8bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+b2YgdGhlIGFjdGl2ZSBzdWJzY3JpcHRp
b25zLCBzbyBub3QgYW4gaWRlYWwgc29sdXRpb24gYXQgYWxsLjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZs
dDtFcmljJmd0OyB1bmRlcnN0YW5kLCBhbmQgYWdyZWUgdGhlc2UgYXJlIHZhbGlkIGFwcHJvYWNo
ZXMuJm5ic3A7Jm5ic3A7IEkgYW0ganVzdCBob3BpbmcgdGhhdCB0aGUgdGV4dCBkb2VzbuKAmXQg
ZXhwbGljaXRseQ0KIHByZWNsdWRlIGltcGxlbWVudGF0aW9ucyB3aGljaCBtaWdodCBiZSBhYmxl
IHRvIGFjY29tcGxpc2ggbm90aWZpY2F0aW9uIGJhc2VkIGNvbnRlbnQgZmlsdGVyaW5nLiZuYnNw
OyBBcyB0aGUgdGV4dCBjdXJyZW50bHkgc2F5cyDigJxvdXQgb2Ygc2NvcGXigJ0sIG15IHJlYWRp
bmcgaXMgdGhhdCB0aGlzIG5vdCBwcmVjbHVkZWQuPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7
PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj5JTU8gaXQgaXMgT0sgdG8gcHV0IHRoaXMgcmVxdWlyZW1lbnQgb24gYSBZQU5H
IHB1c2ggaW1wbGVtZW50YXRpb24uPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5UaGUgcHJ1bmluZyBpcyBkb25lIGJ5IFlBTkcgcHVzaCwgbm90IE5B
Q008bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRo
ZW4gTkFDTSBjaGVja3MgdGhlIGV2ZW50LXR5cGUgKGlmIHNvIGNvbmZpZ3VyZWQpPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZsdDtBTEVYJmd0OyBJcyB0
aGlzIHNvbWV0aGluZyB0aGF0IGNvdWxkIGJlIGFkZGVkIHRvIE5BQ00gYXMgYSBmZWF0dXJlL2V4
dGVuc2lvbiB0byBiZSBhcHBsaWVkIHRvIHNwZWNpZmljIG5vdGlmaWNhdGlvbiB0eXBlcz8mbmJz
cDsgJm5ic3A7UGVyaGFwcyBpdCBkb2VzIG5vdCBuZWVkIHRvIGJlIGZ1bGx5DQogc3BlY2VkIG91
dCBpbiB0aGlzIGRvY3VtZW50LCBidXQgc3RpbGwgZGVzY3JpYmVkIGhvdyB0aGlzIGNvdWxkIGJl
IGFjY29tbW9kYXRlZC4mbmJzcDsgQXMgbWVudGlvbmVkIGluIG15IG90aGVyIG1lc3NhZ2UsIEkg
ZG8gdGhpbmsgdGhpcyBpcyBhbiBpbXBvcnRhbnQgbGltaXRhdGlvbi4mbmJzcDsgSXQgaXMgbWFk
ZSBmb3IgYSByZWFzb24sIGJ1dCBzdGlsbCB3aXRoIHBvc3NpYmxlIHNjZW5hcmlvcyB0aGF0IHdl
IGNhbiBhbHJlYWR5IGFudGljaXBhdGUgKHdpdGgNCiBvdGhlciBXRyBpdGVtcyB0aGF0IGFyZSBX
SVApIHdoaWNoIHdpbGwgY2FsbCBmb3IgdGhhdCBsaW1pdGF0aW9uIHRvIGJlIG92ZXJjb21lLCBz
byBJIHRoaW5rIHRoaXMgd2FycmFudHMgYWRkaW5nIGF0IGEgbWluaW11bSBhIGJyaWVmIHNlY3Rp
b24gZGlzY3Vzc2luZyB0aGlzLiZuYnNwOw0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZsdDsvQUxFWCZn
dDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mbmJzcDs8c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9i
b2R5Pg0KPC9odG1sPg0K

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95738SJCEML701CHMchi_--


From nobody Thu May  4 10:39:41 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CBB221293FF for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:39:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id df0MYXtkpCol for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 10:39:37 -0700 (PDT)
Received: from mail-wr0-x232.google.com (mail-wr0-x232.google.com [IPv6:2a00:1450:400c:c0c::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 948D7120721 for <netconf@ietf.org>; Thu,  4 May 2017 10:39:36 -0700 (PDT)
Received: by mail-wr0-x232.google.com with SMTP id z52so11748780wrc.2 for <netconf@ietf.org>; Thu, 04 May 2017 10:39:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=mPwh4YeWAfHCjeTbkaD5bCS72vRqEm8H0/70Fsu+SXs=; b=wCRXp5/zMMo+bDoGDxXSWRE09V45UAzz/oVhiHugFimJtNq703KIW3DHj+cT0WsUnt g77fT8PsxvpkTmrRGmyv30FELqm/LrIQEKenpsVt8I1wzbVkPEIPfEK5EYruOqvCFVvt MiGeoZmEraRbMVtak8OS72W+ovTsS4yWEuxUIb4si+i3WzlFcT/NE5y2Wvr+QKx1KH5g OzZpipt/5AwL2sKRe+rzAT6GP742PM6qYkiYECD6OufZ1O9qNdmqCqwUgoeL7bIn97+C eZCGrspEB6xjcjeQuMPmkm4Pb0KX0k32cwKKtY1v6t2/zQS0uwmv6EIFSPTcClo3g/ei 7w2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=mPwh4YeWAfHCjeTbkaD5bCS72vRqEm8H0/70Fsu+SXs=; b=XG/y7WYnjFHuhQC45k2H8b2OZi+4glzxVy9nU8NIy7Rb9YyqzJuaUGeCLKXt51gV7l gj1+Knnh74T4SN3vq1B+kjF2MzPPid8lIpmsvpENc/TGq5AG76ryEt8mGQyhm8bm0lHl JRvOastfJ/RayxFHn4oFrGNxqix6Nf9JXIUDM2nyBnuiXJX61sPcv1R8Y5guTRbSwfrh AVM9k631SDcWr2S8HGsfljjlCWnrnMUbdZs+ssxZQtHrkhP8vhWwhurV3+cJLhUJQgDW ecvFiteTbYXxeNlQAYlxvlxp0ENg72XkeMpoWW7npQ5Pn6RF9REbB/WTJl1idO2xbggE ViAw==
X-Gm-Message-State: AN3rC/6LRPer9kgQrDM/Jtj75MEdIJ+hYg+uDSH1a6+l8cSZqepUlZ+v xYD+VwWeQffbCZR5OBstyGF9dMIFfA==
X-Received: by 10.223.162.150 with SMTP id s22mr24782526wra.88.1493919574377;  Thu, 04 May 2017 10:39:34 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 4 May 2017 10:39:33 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 4 May 2017 10:39:33 -0700
Message-ID: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=f403045ec658955f0a054eb64153
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/8hghpKuydGBO9iWgbCr_MUQ4soA>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 17:39:40 -0000

--f403045ec658955f0a054eb64153
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi,

I am strongly opposed to datastore-specific access control.
I need to see a use-case that demonstrates why a particular client
needs to be denied access to a specific subtree in 1 datastore vs. another
datastore.


The NACM procedures need to be mapped to protocol operations.
It is easier to do this for actual protocols than a generic placeholder.
It may be possible.

I do not agree NACM controls the internal access.
That is an implementation detail. NACM is enforced on clients using
NETCONF of RESTCONF.

If the WG wants the NACM procedures mapping to protocols to be more generic=
,
I could work on some proposed text to do that.


Andy


On Thu, May 4, 2017 at 10:22 AM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> Hi,
>
>
>
> FWIW, I do have a few comments.  Overall the document is in good shape,
> but there are a few items where I think it can be made even better:-)
>
>
>
> -          I think it would be good to include a section on how the
> revised datastores will impact requirements on NACM.  I don=E2=80=99t thi=
nk
> anything major is required, but there are a few places where some updates
> could be made, and/or perhaps a brief section could be added somewhere
> discussing this.  For example, in Figure 1 (Section 2.1) where it says
> =E2=80=9Cdatastore or state data access=E2=80=9D (technically, this remai=
ns correct, but
> this seems to have the previous model in mind), also fig 3 assuming RPCs
> will always be against config datastore).   It might also mention which
> datastore NACM rules apply to when the same data is contained in multiple
> datastores.  Technically, I don=E2=80=99t think there will be a distincti=
on (any
> differentiation would apply to read operations, and I cannot think of a
> good example where such differentiation would be needed), still it might =
be
> good to be explicit about it.
>
> -          In section 3.4.6 (outgoing <notification> authorization), it
> states that access control is applied only to notification as a whole, no=
t
> to any data it contains.  This is clear enough; however, it is a
> limitation.  Specifically, in YANG-Push there is a requirement to be able
> to apply a security filter to not push data that the receiver is not
> authorized to receive (or not accept/terminate a subscription which
> contains such data altogether).  If NACM does not provide this, another
> mechanism or a NACM extension will be needed (that will still need to use
> the privileges configured in NACM).  At a minimum, this needs to be clear=
ly
> called out.
>
> -          I wonder why NACM is restricted to NETCONF or RESTCONF.
> Really, this restricts access to data in YANG datastores; while NETCONF a=
nd
> RESTCONF do need to be called out specifically and the document does need
> to spell out how it is applied in this context, it would probably be good
> to clarify that NACM should apply to other protocol access.
>
> -          It would be good to indicate that the source of access control
> rules is not restricted to external clients, but that they could originat=
e
> from the server itself.  This is the same config/operational state
> discussion that has come up in other contexts (e.g. the topology models),
> and I think it applies here as well.  Again, this is where the revised
> datastores model is intended to provide a solution =E2=80=93 i.e. the NAC=
M rules in
> the config datastore may be only a subset of the ones in the operational
> datastore, etc =E2=80=93 but I think it is important enough to be called.
>
>
>
> Thanks
>
> --- Alex
>
>
>
> *From:* Netconf [mailto:netconf-bounces@ietf.org] *On Behalf Of *Mahesh
> Jethanandani
> *Sent:* Wednesday, May 03, 2017 2:18 PM
> *To:* Netconf <netconf@ietf.org>
> *Subject:* Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
>
>
>
> Folks,
>
>
>
> There has been literally no feedback on this document, either to say they
> have read the document and support it, or to express concerns about the
> document. Silence, unfortunately is not a good guide for us. To move the
> document forward, we need to hear from folks, including those who were in
> IETF 98.
>
>
>
> Thanks.
>
>
>
> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com=
>
> wrote:
>
>
>
> NETCONF WG,
>
> In IETF 98, the authors indicated that the above draft was ready for Last
> Call, and the consensus in the room indicated as much.
>
>
>
> This is a start of a 2 week WG Last Call for
> draft-ietf-netconf-rfc6536bis. After two weeks, the document will be
> assigned a shepherd, and the document will be prepared for IESG.
>
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01
>
> Please review and send any comments to the WG mailing list or by
> responding to this e-mail. Comments can be statements such as, I
> read/reviewed the document and believe it is ready for publication, or I
> have concerns about the document. For the latter, please indicate what yo=
ur
> concerns are.
>
> Any reports on implementation status or plans to implement are also very
> useful.
>
>
>
> Authors, please indicate if you are aware of any IPRs related to the draf=
t.
>
>
>
> Thanks.
>
> Mahesh and Mehmet
>
>
>
>
>
>
>
> Mahesh & Mehmet
>
>
>
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>

--f403045ec658955f0a054eb64153
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I am strongly opposed to datastore-=
specific access control.</div><div>I need to see a use-case that demonstrat=
es why a particular client</div><div>needs to be denied access to a specifi=
c subtree in 1 datastore vs. another datastore.</div><div><br></div><div><b=
r></div><div>The NACM procedures need to be mapped to protocol operations.<=
/div><div>It is easier to do this for actual protocols than a generic place=
holder.</div><div>It may be possible.</div><div><br></div><div>I do not agr=
ee NACM controls the internal access.</div><div>That is an implementation d=
etail. NACM is enforced on clients using</div><div>NETCONF of RESTCONF.</di=
v><div><br></div><div>If the WG wants the NACM procedures mapping to protoc=
ols to be more generic,</div><div>I could work on some proposed text to do =
that.</div><div><br></div><div><br></div><div>Andy</div><div><br></div><div=
 class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Thu, May 4, 2017 a=
t 10:22 AM, Alexander Clemm <span dir=3D"ltr">&lt;<a href=3D"mailto:alexand=
er.clemm@huawei.com" target=3D"_blank">alexander.clemm@huawei.com</a>&gt;</=
span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8e=
x;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_568712642431393365m_5387488811197781522WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">FWIW, I do have a few comments.=C2=A0=
 Overall the document is in good shape, but there are a few items where I t=
hink it can be made even better:-)=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"m_568712642431393365m_5387488811197781522MsoListParagraph"><u><=
/u><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d"><span>-<span style=3D"font:7.0pt &quot;Times New Roman&qu=
ot;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-size:11.0pt;font-family:&qu=
ot;Calibri&quot;,sans-serif;color:#1f497d">I think it would be good to incl=
ude a section on how the revised datastores will impact requirements on NAC=
M.=C2=A0 I don=E2=80=99t think anything major is required,
 but there are a few places where some updates could be made, and/or perhap=
s a brief section could be added somewhere discussing this.=C2=A0 For examp=
le, in Figure 1 (Section 2.1) where it says =E2=80=9Cdatastore or state dat=
a access=E2=80=9D (technically, this remains correct,
 but this seems to have the previous model in mind), also fig 3 assuming RP=
Cs will always be against config datastore). =C2=A0=C2=A0It might also ment=
ion which datastore NACM rules apply to when the same data is contained in =
multiple datastores.=C2=A0 Technically, I don=E2=80=99t
 think there will be a distinction (any differentiation would apply to read=
 operations, and I cannot think of a good example where such differentiatio=
n would be needed), still it might be good to be explicit about it.=C2=A0 =
=C2=A0<u></u><u></u></span></p>
<p class=3D"m_568712642431393365m_5387488811197781522MsoListParagraph"><u><=
/u><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d"><span>-<span style=3D"font:7.0pt &quot;Times New Roman&qu=
ot;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-size:11.0pt;font-family:&qu=
ot;Calibri&quot;,sans-serif;color:#1f497d">In section 3.4.6 (outgoing &lt;n=
otification&gt; authorization), it states that access control is applied on=
ly to notification as a whole, not to any data
 it contains.=C2=A0 This is clear enough; however, it is a limitation.=C2=
=A0 Specifically, in YANG-Push there is a requirement to be able to apply a=
 security filter to not push data that the receiver is not authorized to re=
ceive (or not accept/terminate a subscription
 which contains such data altogether).=C2=A0 If NACM does not provide this,=
 another mechanism or a NACM extension will be needed (that will still need=
 to use the privileges configured in NACM).=C2=A0 At a minimum, this needs =
to be clearly called out.=C2=A0
<u></u><u></u></span></p>
<p class=3D"m_568712642431393365m_5387488811197781522MsoListParagraph"><u><=
/u><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d"><span>-<span style=3D"font:7.0pt &quot;Times New Roman&qu=
ot;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-size:11.0pt;font-family:&qu=
ot;Calibri&quot;,sans-serif;color:#1f497d">I wonder why NACM is restricted =
to NETCONF or RESTCONF.=C2=A0 Really, this restricts access to data in YANG=
 datastores; while NETCONF and RESTCONF do need
 to be called out specifically and the document does need to spell out how =
it is applied in this context, it would probably be good to clarify that NA=
CM should apply to other protocol access.=C2=A0
<u></u><u></u></span></p>
<p class=3D"m_568712642431393365m_5387488811197781522MsoListParagraph"><u><=
/u><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-ser=
if;color:#1f497d"><span>-<span style=3D"font:7.0pt &quot;Times New Roman&qu=
ot;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span></span></span><u></u><span style=3D"font-size:11.0pt;font-family:&qu=
ot;Calibri&quot;,sans-serif;color:#1f497d">It would be good to indicate tha=
t the source of access control rules is not restricted to external clients,=
 but that they could originate from the server
 itself.=C2=A0 This is the same config/operational state discussion that ha=
s come up in other contexts (e.g. the topology models), and I think it appl=
ies here as well.=C2=A0 Again, this is where the revised datastores model i=
s intended to provide a solution =E2=80=93 i.e. the
 NACM rules in the config datastore may be only a subset of the ones in the=
 operational datastore, etc =E2=80=93 but I think it is important enough to=
 be called.=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Thanks<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<div>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Netconf [mailto:<a href=3D"mai=
lto:netconf-bounces@ietf.org" target=3D"_blank">netconf-bounces@ietf.o<wbr>=
rg</a>]
<b>On Behalf Of </b>Mahesh Jethanandani<br>
<b>Sent:</b> Wednesday, May 03, 2017 2:18 PM<br>
<b>To:</b> Netconf &lt;<a href=3D"mailto:netconf@ietf.org" target=3D"_blank=
">netconf@ietf.org</a>&gt;<br>
<b>Subject:</b> Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis<u></u=
><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Folks,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately is not a good guide for=
 us. To move the document forward,
 we need to hear from folks, including those who were in IETF 98.<u></u><u>=
</u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani=
@gmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01" ta=
rget=3D"_blank">https://tools.ietf.org/html/dr<wbr>aft-ietf-netconf-rfc6536=
bis-01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument=C2=A0and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.=C2=A0<br>
<br>
Any reports on implementation status or plans to implement are also=C2=A0ve=
ry useful.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>

<br>______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org" target=3D"_blank">Netconf@ietf.org</a><=
br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/l<wbr>istinfo/netconf</a><=
br>
<br></blockquote></div><br></div></div>

--f403045ec658955f0a054eb64153--


From nobody Thu May  4 11:21:33 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0376A127010 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:21:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DI_HXSYPHKu2 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:21:28 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C05D512944E for <netconf@ietf.org>; Thu,  4 May 2017 11:21:22 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml706-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFZ83282; Thu, 04 May 2017 18:21:20 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml706-cah.china.huawei.com (10.201.108.47) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 4 May 2017 19:21:19 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML703-CHM.china.huawei.com ([169.254.5.195]) with mapi id 14.03.0235.001;  Thu, 4 May 2017 11:21:15 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSuKTAIzHBCUfDlEODIHfKLGbb7aHjqZkAgADTj3CAAIGvgP//lAZA
Date: Thu, 4 May 2017 18:21:14 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com>
In-Reply-To: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.144]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584CSJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090206.590B7121.003E, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: d85c8d325a47478ee78e7b4c7292f8ef
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/bTAh7awLypJbQErvEwS2CAnWq0I>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 18:21:31 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584CSJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QXMgbWVudGlvbmVkIGluIG15IG1lc3NhZ2UsIEkgZG9u4oCZdCB0aGluayBzcGVjaWZpYyBhY2Nl
c3MgY29udHJvbCB3aWxsIGJlIG5lZWRlZCAoSSBhbSBub3QgYXdhcmUgb2Ygc3BlY2lmaWMgdXNl
IGNhc2VzKSwgYnV0IHNwZWNpZmljYWxseSB3aXRoIHRoZSByZXZpc2VkIGRhdGFzdG9yZSBhcmNo
aXRlY3R1cmUgYWJvdXQgdG8gdGhlIGJlIGludHJvZHVjZWQsIGl0cyBpbXBhY3Qgb3Igbm9uaW1w
YWN0IGFuZCBpbnRlcnJlbGF0aW9uIHdpdGggTkFDTSBzaG91bGQgYmUgZGlzY3Vzc2VkLiAgVGhp
cyBjYW4gYmUgYXMgc2ltcGxlIGFzIGEgc21hbGwgcGFyYWdyYXBoIG9yIHN1YnNlY3Rpb24g4oCc
UmV2aXNlZCBEYXRhc3RvcmUgQ29uc2lkZXJhdGlvbnPigJ0uDQoNCkkgYWxzbyBkbyB0aGluayB0
aGF0IGNsYXJpZmljYXRpb24gcmVnYXJkaW5nIE5ldGNvbmYvUmVzdGNvbmYgdnMgb3RoZXIgcHJv
dG9jb2xzIGlzIGluIGZhY3QgbmVlZGVkLiAgSSBkbyB0aGluayB0aGF0IE5BQ00gcnVsZXMgX3No
b3VsZF8gaW4gZmFjdCBiZSBhcHBsaWNhYmxlLiAgQWdhaW4sIGF0IGEgbWluaW11bSBzb21ldGhp
bmcgbmVlZHMgdG8gYmUgc3RhdGVkIGFsb25nIHRob3NlIGxpbmVzLiAgT3RoZXJ3aXNlIHlvdSBj
YW5ub3QgaW50cm9kdWNlIGFub3RoZXIgdHJhbnNwb3J0IHdpdGhvdXQgZmFjaW5nIHRoZSBjaG9p
Y2UgYmV0d2VlbiBuZWVkaW5nIHlldC1hbm90aGVyIGFjY2VzcyBjb250cm9sIG1lY2hhbmlzbSB0
aGF0IG1heSByZXF1aXJlIHJlZHVuZGFudCBhbmQgcG90ZW50aWFsbHkgaW5jb25zaXN0ZW50IGNv
bmZpZ3VyYXRpb24gYnkgYWRtaW5pc3RyYXRvcnMsIG9yIGxlYXZpbmcgb3V0IGEgYmlnIGJhY2tk
b29yIHRoYXQgd291bGQgcmVuZGVyIE5BQ00gaXJyZWxldmFudC4NCg0KLS0tIEFsZXgNCg0KDQpG
cm9tOiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb21dDQpTZW50OiBUaHVy
c2RheSwgTWF5IDA0LCAyMDE3IDEwOjQwIEFNDQpUbzogQWxleGFuZGVyIENsZW1tIDxhbGV4YW5k
ZXIuY2xlbW1AaHVhd2VpLmNvbT4NCkNjOiBNYWhlc2ggSmV0aGFuYW5kYW5pIDxtamV0aGFuYW5k
YW5pQGdtYWlsLmNvbT47IE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc+DQpTdWJqZWN0OiBSZTog
W05ldGNvbmZdIFdHIExDIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcw0KDQpIaSwN
Cg0KSSBhbSBzdHJvbmdseSBvcHBvc2VkIHRvIGRhdGFzdG9yZS1zcGVjaWZpYyBhY2Nlc3MgY29u
dHJvbC4NCkkgbmVlZCB0byBzZWUgYSB1c2UtY2FzZSB0aGF0IGRlbW9uc3RyYXRlcyB3aHkgYSBw
YXJ0aWN1bGFyIGNsaWVudA0KbmVlZHMgdG8gYmUgZGVuaWVkIGFjY2VzcyB0byBhIHNwZWNpZmlj
IHN1YnRyZWUgaW4gMSBkYXRhc3RvcmUgdnMuIGFub3RoZXIgZGF0YXN0b3JlLg0KDQoNClRoZSBO
QUNNIHByb2NlZHVyZXMgbmVlZCB0byBiZSBtYXBwZWQgdG8gcHJvdG9jb2wgb3BlcmF0aW9ucy4N
Ckl0IGlzIGVhc2llciB0byBkbyB0aGlzIGZvciBhY3R1YWwgcHJvdG9jb2xzIHRoYW4gYSBnZW5l
cmljIHBsYWNlaG9sZGVyLg0KSXQgbWF5IGJlIHBvc3NpYmxlLg0KDQpJIGRvIG5vdCBhZ3JlZSBO
QUNNIGNvbnRyb2xzIHRoZSBpbnRlcm5hbCBhY2Nlc3MuDQpUaGF0IGlzIGFuIGltcGxlbWVudGF0
aW9uIGRldGFpbC4gTkFDTSBpcyBlbmZvcmNlZCBvbiBjbGllbnRzIHVzaW5nDQpORVRDT05GIG9m
IFJFU1RDT05GLg0KDQpJZiB0aGUgV0cgd2FudHMgdGhlIE5BQ00gcHJvY2VkdXJlcyBtYXBwaW5n
IHRvIHByb3RvY29scyB0byBiZSBtb3JlIGdlbmVyaWMsDQpJIGNvdWxkIHdvcmsgb24gc29tZSBw
cm9wb3NlZCB0ZXh0IHRvIGRvIHRoYXQuDQoNCg0KQW5keQ0KDQoNCk9uIFRodSwgTWF5IDQsIDIw
MTcgYXQgMTA6MjIgQU0sIEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5j
b208bWFpbHRvOmFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPj4gd3JvdGU6DQpIaSwNCg0KRldJ
VywgSSBkbyBoYXZlIGEgZmV3IGNvbW1lbnRzLiAgT3ZlcmFsbCB0aGUgZG9jdW1lbnQgaXMgaW4g
Z29vZCBzaGFwZSwgYnV0IHRoZXJlIGFyZSBhIGZldyBpdGVtcyB3aGVyZSBJIHRoaW5rIGl0IGNh
biBiZSBtYWRlIGV2ZW4gYmV0dGVyOi0pDQoNCg0KLSAgICAgICAgICBJIHRoaW5rIGl0IHdvdWxk
IGJlIGdvb2QgdG8gaW5jbHVkZSBhIHNlY3Rpb24gb24gaG93IHRoZSByZXZpc2VkIGRhdGFzdG9y
ZXMgd2lsbCBpbXBhY3QgcmVxdWlyZW1lbnRzIG9uIE5BQ00uICBJIGRvbuKAmXQgdGhpbmsgYW55
dGhpbmcgbWFqb3IgaXMgcmVxdWlyZWQsIGJ1dCB0aGVyZSBhcmUgYSBmZXcgcGxhY2VzIHdoZXJl
IHNvbWUgdXBkYXRlcyBjb3VsZCBiZSBtYWRlLCBhbmQvb3IgcGVyaGFwcyBhIGJyaWVmIHNlY3Rp
b24gY291bGQgYmUgYWRkZWQgc29tZXdoZXJlIGRpc2N1c3NpbmcgdGhpcy4gIEZvciBleGFtcGxl
LCBpbiBGaWd1cmUgMSAoU2VjdGlvbiAyLjEpIHdoZXJlIGl0IHNheXMg4oCcZGF0YXN0b3JlIG9y
IHN0YXRlIGRhdGEgYWNjZXNz4oCdICh0ZWNobmljYWxseSwgdGhpcyByZW1haW5zIGNvcnJlY3Qs
IGJ1dCB0aGlzIHNlZW1zIHRvIGhhdmUgdGhlIHByZXZpb3VzIG1vZGVsIGluIG1pbmQpLCBhbHNv
IGZpZyAzIGFzc3VtaW5nIFJQQ3Mgd2lsbCBhbHdheXMgYmUgYWdhaW5zdCBjb25maWcgZGF0YXN0
b3JlKS4gICBJdCBtaWdodCBhbHNvIG1lbnRpb24gd2hpY2ggZGF0YXN0b3JlIE5BQ00gcnVsZXMg
YXBwbHkgdG8gd2hlbiB0aGUgc2FtZSBkYXRhIGlzIGNvbnRhaW5lZCBpbiBtdWx0aXBsZSBkYXRh
c3RvcmVzLiAgVGVjaG5pY2FsbHksIEkgZG9u4oCZdCB0aGluayB0aGVyZSB3aWxsIGJlIGEgZGlz
dGluY3Rpb24gKGFueSBkaWZmZXJlbnRpYXRpb24gd291bGQgYXBwbHkgdG8gcmVhZCBvcGVyYXRp
b25zLCBhbmQgSSBjYW5ub3QgdGhpbmsgb2YgYSBnb29kIGV4YW1wbGUgd2hlcmUgc3VjaCBkaWZm
ZXJlbnRpYXRpb24gd291bGQgYmUgbmVlZGVkKSwgc3RpbGwgaXQgbWlnaHQgYmUgZ29vZCB0byBi
ZSBleHBsaWNpdCBhYm91dCBpdC4NCg0KLSAgICAgICAgICBJbiBzZWN0aW9uIDMuNC42IChvdXRn
b2luZyA8bm90aWZpY2F0aW9uPiBhdXRob3JpemF0aW9uKSwgaXQgc3RhdGVzIHRoYXQgYWNjZXNz
IGNvbnRyb2wgaXMgYXBwbGllZCBvbmx5IHRvIG5vdGlmaWNhdGlvbiBhcyBhIHdob2xlLCBub3Qg
dG8gYW55IGRhdGEgaXQgY29udGFpbnMuICBUaGlzIGlzIGNsZWFyIGVub3VnaDsgaG93ZXZlciwg
aXQgaXMgYSBsaW1pdGF0aW9uLiAgU3BlY2lmaWNhbGx5LCBpbiBZQU5HLVB1c2ggdGhlcmUgaXMg
YSByZXF1aXJlbWVudCB0byBiZSBhYmxlIHRvIGFwcGx5IGEgc2VjdXJpdHkgZmlsdGVyIHRvIG5v
dCBwdXNoIGRhdGEgdGhhdCB0aGUgcmVjZWl2ZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcmVjZWl2
ZSAob3Igbm90IGFjY2VwdC90ZXJtaW5hdGUgYSBzdWJzY3JpcHRpb24gd2hpY2ggY29udGFpbnMg
c3VjaCBkYXRhIGFsdG9nZXRoZXIpLiAgSWYgTkFDTSBkb2VzIG5vdCBwcm92aWRlIHRoaXMsIGFu
b3RoZXIgbWVjaGFuaXNtIG9yIGEgTkFDTSBleHRlbnNpb24gd2lsbCBiZSBuZWVkZWQgKHRoYXQg
d2lsbCBzdGlsbCBuZWVkIHRvIHVzZSB0aGUgcHJpdmlsZWdlcyBjb25maWd1cmVkIGluIE5BQ00p
LiAgQXQgYSBtaW5pbXVtLCB0aGlzIG5lZWRzIHRvIGJlIGNsZWFybHkgY2FsbGVkIG91dC4NCg0K
LSAgICAgICAgICBJIHdvbmRlciB3aHkgTkFDTSBpcyByZXN0cmljdGVkIHRvIE5FVENPTkYgb3Ig
UkVTVENPTkYuICBSZWFsbHksIHRoaXMgcmVzdHJpY3RzIGFjY2VzcyB0byBkYXRhIGluIFlBTkcg
ZGF0YXN0b3Jlczsgd2hpbGUgTkVUQ09ORiBhbmQgUkVTVENPTkYgZG8gbmVlZCB0byBiZSBjYWxs
ZWQgb3V0IHNwZWNpZmljYWxseSBhbmQgdGhlIGRvY3VtZW50IGRvZXMgbmVlZCB0byBzcGVsbCBv
dXQgaG93IGl0IGlzIGFwcGxpZWQgaW4gdGhpcyBjb250ZXh0LCBpdCB3b3VsZCBwcm9iYWJseSBi
ZSBnb29kIHRvIGNsYXJpZnkgdGhhdCBOQUNNIHNob3VsZCBhcHBseSB0byBvdGhlciBwcm90b2Nv
bCBhY2Nlc3MuDQoNCi0gICAgICAgICAgSXQgd291bGQgYmUgZ29vZCB0byBpbmRpY2F0ZSB0aGF0
IHRoZSBzb3VyY2Ugb2YgYWNjZXNzIGNvbnRyb2wgcnVsZXMgaXMgbm90IHJlc3RyaWN0ZWQgdG8g
ZXh0ZXJuYWwgY2xpZW50cywgYnV0IHRoYXQgdGhleSBjb3VsZCBvcmlnaW5hdGUgZnJvbSB0aGUg
c2VydmVyIGl0c2VsZi4gIFRoaXMgaXMgdGhlIHNhbWUgY29uZmlnL29wZXJhdGlvbmFsIHN0YXRl
IGRpc2N1c3Npb24gdGhhdCBoYXMgY29tZSB1cCBpbiBvdGhlciBjb250ZXh0cyAoZS5nLiB0aGUg
dG9wb2xvZ3kgbW9kZWxzKSwgYW5kIEkgdGhpbmsgaXQgYXBwbGllcyBoZXJlIGFzIHdlbGwuICBB
Z2FpbiwgdGhpcyBpcyB3aGVyZSB0aGUgcmV2aXNlZCBkYXRhc3RvcmVzIG1vZGVsIGlzIGludGVu
ZGVkIHRvIHByb3ZpZGUgYSBzb2x1dGlvbiDigJMgaS5lLiB0aGUgTkFDTSBydWxlcyBpbiB0aGUg
Y29uZmlnIGRhdGFzdG9yZSBtYXkgYmUgb25seSBhIHN1YnNldCBvZiB0aGUgb25lcyBpbiB0aGUg
b3BlcmF0aW9uYWwgZGF0YXN0b3JlLCBldGMg4oCTIGJ1dCBJIHRoaW5rIGl0IGlzIGltcG9ydGFu
dCBlbm91Z2ggdG8gYmUgY2FsbGVkLg0KDQpUaGFua3MNCi0tLSBBbGV4DQoNCkZyb206IE5ldGNv
bmYgW21haWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmYtYm91bmNl
c0BpZXRmLm9yZz5dIE9uIEJlaGFsZiBPZiBNYWhlc2ggSmV0aGFuYW5kYW5pDQpTZW50OiBXZWRu
ZXNkYXksIE1heSAwMywgMjAxNyAyOjE4IFBNDQpUbzogTmV0Y29uZiA8bmV0Y29uZkBpZXRmLm9y
ZzxtYWlsdG86bmV0Y29uZkBpZXRmLm9yZz4+DQpTdWJqZWN0OiBSZTogW05ldGNvbmZdIFdHIExD
IGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcw0KDQpGb2xrcywNCg0KVGhlcmUgaGFz
IGJlZW4gbGl0ZXJhbGx5IG5vIGZlZWRiYWNrIG9uIHRoaXMgZG9jdW1lbnQsIGVpdGhlciB0byBz
YXkgdGhleSBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBzdXBwb3J0IGl0LCBvciB0byBleHBy
ZXNzIGNvbmNlcm5zIGFib3V0IHRoZSBkb2N1bWVudC4gU2lsZW5jZSwgdW5mb3J0dW5hdGVseSBp
cyBub3QgYSBnb29kIGd1aWRlIGZvciB1cy4gVG8gbW92ZSB0aGUgZG9jdW1lbnQgZm9yd2FyZCwg
d2UgbmVlZCB0byBoZWFyIGZyb20gZm9sa3MsIGluY2x1ZGluZyB0aG9zZSB3aG8gd2VyZSBpbiBJ
RVRGIDk4Lg0KDQpUaGFua3MuDQoNCk9uIEFwciAxOCwgMjAxNywgYXQgNTozNCBQTSwgTWFoZXNo
IEpldGhhbmFuZGFuaSA8bWpldGhhbmFuZGFuaUBnbWFpbC5jb208bWFpbHRvOm1qZXRoYW5hbmRh
bmlAZ21haWwuY29tPj4gd3JvdGU6DQoNCk5FVENPTkYgV0csDQoNCkluIElFVEYgOTgsIHRoZSBh
dXRob3JzIGluZGljYXRlZCB0aGF0IHRoZSBhYm92ZSBkcmFmdCB3YXMgcmVhZHkgZm9yIExhc3Qg
Q2FsbCwgYW5kIHRoZSBjb25zZW5zdXMgaW4gdGhlIHJvb20gaW5kaWNhdGVkIGFzIG11Y2guDQoN
ClRoaXMgaXMgYSBzdGFydCBvZiBhIDIgd2VlayBXRyBMYXN0IENhbGwgZm9yIGRyYWZ0LWlldGYt
bmV0Y29uZi1yZmM2NTM2YmlzLiBBZnRlciB0d28gd2Vla3MsIHRoZSBkb2N1bWVudCB3aWxsIGJl
IGFzc2lnbmVkIGEgc2hlcGhlcmQsIGFuZCB0aGUgZG9jdW1lbnQgd2lsbCBiZSBwcmVwYXJlZCBm
b3IgSUVTRy4NCg0KVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBkcmFmdCBjYW4gYmUgZm91bmQg
YXQ6DQpodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1
MzZiaXMtMDENCg0KUGxlYXNlIHJldmlldyBhbmQgc2VuZCBhbnkgY29tbWVudHMgdG8gdGhlIFdH
IG1haWxpbmcgbGlzdCBvciBieSByZXNwb25kaW5nIHRvIHRoaXMgZS1tYWlsLiBDb21tZW50cyBj
YW4gYmUgc3RhdGVtZW50cyBzdWNoIGFzLCBJIHJlYWQvcmV2aWV3ZWQgdGhlIGRvY3VtZW50IGFu
ZCBiZWxpZXZlIGl0IGlzIHJlYWR5IGZvciBwdWJsaWNhdGlvbiwgb3IgSSBoYXZlIGNvbmNlcm5z
IGFib3V0IHRoZSBkb2N1bWVudC4gRm9yIHRoZSBsYXR0ZXIsIHBsZWFzZSBpbmRpY2F0ZSB3aGF0
IHlvdXIgY29uY2VybnMgYXJlLg0KDQpBbnkgcmVwb3J0cyBvbiBpbXBsZW1lbnRhdGlvbiBzdGF0
dXMgb3IgcGxhbnMgdG8gaW1wbGVtZW50IGFyZSBhbHNvIHZlcnkgdXNlZnVsLg0KDQpBdXRob3Jz
LCBwbGVhc2UgaW5kaWNhdGUgaWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgSVBScyByZWxhdGVkIHRv
IHRoZSBkcmFmdC4NCg0KVGhhbmtzLg0KDQpNYWhlc2ggYW5kIE1laG1ldA0KDQoNCg0KTWFoZXNo
ICYgTWVobWV0DQoNCg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fDQpOZXRjb25mIG1haWxpbmcgbGlzdA0KTmV0Y29uZkBpZXRmLm9yZzxtYWlsdG86
TmV0Y29uZkBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8v
bmV0Y29uZg0KDQo=

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584CSJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm01Njg3MTI2NDI0MzEzOTMz
NjVtNTM4NzQ4ODgxMTE5Nzc4MTUyMm1zb2xpc3RwYXJhZ3JhcGgsIGxpLm01Njg3MTI2NDI0MzEz
OTMzNjVtNTM4NzQ4ODgxMTE5Nzc4MTUyMm1zb2xpc3RwYXJhZ3JhcGgsIGRpdi5tNTY4NzEyNjQy
NDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1MjJtc29saXN0cGFyYWdyYXBoDQoJe21zby1zdHls
ZS1uYW1lOm1fNTY4NzEyNjQyNDMxMzkzMzY1bV81Mzg3NDg4ODExMTk3NzgxNTIybXNvbGlzdHBh
cmFncmFwaDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0K
CW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNp
emU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4u
RW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtY29tcG9zZTsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJe21z
by1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNl
cmlmO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46
MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRT
ZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVk
ZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0t
PjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0K
PG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+
PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxp
bms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkFzIG1lbnRpb25lZCBpbiBteSBt
ZXNzYWdlLCBJIGRvbuKAmXQgdGhpbmsgc3BlY2lmaWMgYWNjZXNzIGNvbnRyb2wgd2lsbCBiZSBu
ZWVkZWQgKEkgYW0gbm90IGF3YXJlIG9mIHNwZWNpZmljIHVzZSBjYXNlcyksIGJ1dCBzcGVjaWZp
Y2FsbHkgd2l0aCB0aGUgcmV2aXNlZCBkYXRhc3RvcmUNCiBhcmNoaXRlY3R1cmUgYWJvdXQgdG8g
dGhlIGJlIGludHJvZHVjZWQsIGl0cyBpbXBhY3Qgb3Igbm9uaW1wYWN0IGFuZCBpbnRlcnJlbGF0
aW9uIHdpdGggTkFDTSBzaG91bGQgYmUgZGlzY3Vzc2VkLiZuYnNwOyBUaGlzIGNhbiBiZSBhcyBz
aW1wbGUgYXMgYSBzbWFsbCBwYXJhZ3JhcGggb3Igc3Vic2VjdGlvbiDigJxSZXZpc2VkIERhdGFz
dG9yZSBDb25zaWRlcmF0aW9uc+KAnS4mbmJzcDsNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+SSBhbHNvIGRvIHRoaW5rIHRoYXQgY2xhcmlmaWNhdGlvbiByZWdh
cmRpbmcgTmV0Y29uZi9SZXN0Y29uZiB2cyBvdGhlciBwcm90b2NvbHMgaXMgaW4gZmFjdCBuZWVk
ZWQuJm5ic3A7IEkgZG8gdGhpbmsgdGhhdCBOQUNNIHJ1bGVzIF88aT5zaG91bGQ8L2k+XyBpbiBm
YWN0IGJlIGFwcGxpY2FibGUuJm5ic3A7DQogQWdhaW4sIGF0IGEgbWluaW11bSBzb21ldGhpbmcg
bmVlZHMgdG8gYmUgc3RhdGVkIGFsb25nIHRob3NlIGxpbmVzLiZuYnNwOyBPdGhlcndpc2UgeW91
IGNhbm5vdCBpbnRyb2R1Y2UgYW5vdGhlciB0cmFuc3BvcnQgd2l0aG91dCBmYWNpbmcgdGhlIGNo
b2ljZSBiZXR3ZWVuIG5lZWRpbmcgeWV0LWFub3RoZXIgYWNjZXNzIGNvbnRyb2wgbWVjaGFuaXNt
IHRoYXQgbWF5IHJlcXVpcmUgcmVkdW5kYW50IGFuZCBwb3RlbnRpYWxseSBpbmNvbnNpc3RlbnQg
Y29uZmlndXJhdGlvbg0KIGJ5IGFkbWluaXN0cmF0b3JzLCBvciBsZWF2aW5nIG91dCBhIGJpZyBi
YWNrZG9vciB0aGF0IHdvdWxkIHJlbmRlciBOQUNNIGlycmVsZXZhbnQuJm5ic3A7DQo8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPi0tLSBBbGV4DQo8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3Nw
YW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdv
cmtzLmNvbV0NCjxicj4NCjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwgTWF5IDA0LCAyMDE3IDEwOjQw
IEFNPGJyPg0KPGI+VG86PC9iPiBBbGV4YW5kZXIgQ2xlbW0gJmx0O2FsZXhhbmRlci5jbGVtbUBo
dWF3ZWkuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gTWFoZXNoIEpldGhhbmFuZGFuaSAmbHQ7bWpl
dGhhbmFuZGFuaUBnbWFpbC5jb20mZ3Q7OyBOZXRjb25mICZsdDtuZXRjb25mQGlldGYub3JnJmd0
Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW05ldGNvbmZdIFdHIExDIGZvciBkcmFmdC1pZXRm
LW5ldGNvbmYtcmZjNjUzNmJpczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PkhpLDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBhbSBz
dHJvbmdseSBvcHBvc2VkIHRvIGRhdGFzdG9yZS1zcGVjaWZpYyBhY2Nlc3MgY29udHJvbC48bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgbmVlZCB0
byBzZWUgYSB1c2UtY2FzZSB0aGF0IGRlbW9uc3RyYXRlcyB3aHkgYSBwYXJ0aWN1bGFyIGNsaWVu
dDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+bmVl
ZHMgdG8gYmUgZGVuaWVkIGFjY2VzcyB0byBhIHNwZWNpZmljIHN1YnRyZWUgaW4gMSBkYXRhc3Rv
cmUgdnMuIGFub3RoZXIgZGF0YXN0b3JlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZSBOQUNNIHByb2NlZHVyZXMgbmVlZCB0byBiZSBt
YXBwZWQgdG8gcHJvdG9jb2wgb3BlcmF0aW9ucy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkl0IGlzIGVhc2llciB0byBkbyB0aGlzIGZvciBhY3R1
YWwgcHJvdG9jb2xzIHRoYW4gYSBnZW5lcmljIHBsYWNlaG9sZGVyLjxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SXQgbWF5IGJlIHBvc3NpYmxlLjxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGRv
IG5vdCBhZ3JlZSBOQUNNIGNvbnRyb2xzIHRoZSBpbnRlcm5hbCBhY2Nlc3MuPG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGF0IGlzIGFuIGltcGxl
bWVudGF0aW9uIGRldGFpbC4gTkFDTSBpcyBlbmZvcmNlZCBvbiBjbGllbnRzIHVzaW5nPG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5ORVRDT05GIG9m
IFJFU1RDT05GLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5JZiB0aGUgV0cgd2FudHMgdGhlIE5BQ00gcHJvY2VkdXJlcyBtYXBwaW5nIHRvIHBy
b3RvY29scyB0byBiZSBtb3JlIGdlbmVyaWMsPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGNvdWxkIHdvcmsgb24gc29tZSBwcm9wb3NlZCB0ZXh0
IHRvIGRvIHRoYXQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+QW5keTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5PbiBUaHUsIE1heSA0LCAyMDE3IGF0IDEwOjIyIEFNLCBBbGV4YW5kZXIgQ2xlbW0g
Jmx0OzxhIGhyZWY9Im1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbSIgdGFyZ2V0PSJf
YmxhbmsiPmFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286
cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQg
I0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0
O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5IaSw8L3NwYW4+PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4m
bmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5GV0lXLCBJIGRvIGhhdmUgYSBmZXcgY29tbWVudHMu
Jm5ic3A7IE92ZXJhbGwgdGhlIGRvY3VtZW50IGlzIGluIGdvb2Qgc2hhcGUsIGJ1dCB0aGVyZSBh
cmUgYSBmZXcgaXRlbXMgd2hlcmUNCiBJIHRoaW5rIGl0IGNhbiBiZSBtYWRlIGV2ZW4gYmV0dGVy
Oi0pJm5ic3A7IDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJtNTY4NzEyNjQyNDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1MjJtc29s
aXN0cGFyYWdyYXBoIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LTwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5JIHRoaW5rIGl0IHdvdWxkIGJlIGdvb2QgdG8gaW5jbHVkZSBh
IHNlY3Rpb24gb24gaG93IHRoZSByZXZpc2VkIGRhdGFzdG9yZXMgd2lsbCBpbXBhY3QgcmVxdWly
ZW1lbnRzIG9uIE5BQ00uJm5ic3A7IEkgZG9u4oCZdCB0aGluayBhbnl0aGluZyBtYWpvciBpcyBy
ZXF1aXJlZCwgYnV0IHRoZXJlIGFyZSBhIGZldw0KIHBsYWNlcyB3aGVyZSBzb21lIHVwZGF0ZXMg
Y291bGQgYmUgbWFkZSwgYW5kL29yIHBlcmhhcHMgYSBicmllZiBzZWN0aW9uIGNvdWxkIGJlIGFk
ZGVkIHNvbWV3aGVyZSBkaXNjdXNzaW5nIHRoaXMuJm5ic3A7IEZvciBleGFtcGxlLCBpbiBGaWd1
cmUgMSAoU2VjdGlvbiAyLjEpIHdoZXJlIGl0IHNheXMg4oCcZGF0YXN0b3JlIG9yIHN0YXRlIGRh
dGEgYWNjZXNz4oCdICh0ZWNobmljYWxseSwgdGhpcyByZW1haW5zIGNvcnJlY3QsIGJ1dCB0aGlz
IHNlZW1zIHRvIGhhdmUNCiB0aGUgcHJldmlvdXMgbW9kZWwgaW4gbWluZCksIGFsc28gZmlnIDMg
YXNzdW1pbmcgUlBDcyB3aWxsIGFsd2F5cyBiZSBhZ2FpbnN0IGNvbmZpZyBkYXRhc3RvcmUpLiAm
bmJzcDsmbmJzcDtJdCBtaWdodCBhbHNvIG1lbnRpb24gd2hpY2ggZGF0YXN0b3JlIE5BQ00gcnVs
ZXMgYXBwbHkgdG8gd2hlbiB0aGUgc2FtZSBkYXRhIGlzIGNvbnRhaW5lZCBpbiBtdWx0aXBsZSBk
YXRhc3RvcmVzLiZuYnNwOyBUZWNobmljYWxseSwgSSBkb27igJl0IHRoaW5rIHRoZXJlIHdpbGwg
YmUgYQ0KIGRpc3RpbmN0aW9uIChhbnkgZGlmZmVyZW50aWF0aW9uIHdvdWxkIGFwcGx5IHRvIHJl
YWQgb3BlcmF0aW9ucywgYW5kIEkgY2Fubm90IHRoaW5rIG9mIGEgZ29vZCBleGFtcGxlIHdoZXJl
IHN1Y2ggZGlmZmVyZW50aWF0aW9uIHdvdWxkIGJlIG5lZWRlZCksIHN0aWxsIGl0IG1pZ2h0IGJl
IGdvb2QgdG8gYmUgZXhwbGljaXQgYWJvdXQgaXQuJm5ic3A7ICZuYnNwOzwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJtNTY4NzEyNjQyNDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1
MjJtc29saXN0cGFyYWdyYXBoIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LTwvc3Bh
bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JbiBzZWN0aW9uIDMuNC42IChvdXRnb2luZyAmbHQ7
bm90aWZpY2F0aW9uJmd0OyBhdXRob3JpemF0aW9uKSwgaXQgc3RhdGVzIHRoYXQgYWNjZXNzIGNv
bnRyb2wgaXMgYXBwbGllZCBvbmx5IHRvIG5vdGlmaWNhdGlvbiBhcyBhIHdob2xlLCBub3QgdG8g
YW55IGRhdGEgaXQgY29udGFpbnMuJm5ic3A7IFRoaXMgaXMgY2xlYXINCiBlbm91Z2g7IGhvd2V2
ZXIsIGl0IGlzIGEgbGltaXRhdGlvbi4mbmJzcDsgU3BlY2lmaWNhbGx5LCBpbiBZQU5HLVB1c2gg
dGhlcmUgaXMgYSByZXF1aXJlbWVudCB0byBiZSBhYmxlIHRvIGFwcGx5IGEgc2VjdXJpdHkgZmls
dGVyIHRvIG5vdCBwdXNoIGRhdGEgdGhhdCB0aGUgcmVjZWl2ZXIgaXMgbm90IGF1dGhvcml6ZWQg
dG8gcmVjZWl2ZSAob3Igbm90IGFjY2VwdC90ZXJtaW5hdGUgYSBzdWJzY3JpcHRpb24gd2hpY2gg
Y29udGFpbnMgc3VjaCBkYXRhIGFsdG9nZXRoZXIpLiZuYnNwOw0KIElmIE5BQ00gZG9lcyBub3Qg
cHJvdmlkZSB0aGlzLCBhbm90aGVyIG1lY2hhbmlzbSBvciBhIE5BQ00gZXh0ZW5zaW9uIHdpbGwg
YmUgbmVlZGVkICh0aGF0IHdpbGwgc3RpbGwgbmVlZCB0byB1c2UgdGhlIHByaXZpbGVnZXMgY29u
ZmlndXJlZCBpbiBOQUNNKS4mbmJzcDsgQXQgYSBtaW5pbXVtLCB0aGlzIG5lZWRzIHRvIGJlIGNs
ZWFybHkgY2FsbGVkIG91dC4mbmJzcDsNCjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJtNTY4NzEyNjQyNDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1MjJtc29saXN0cGFyYWdyYXBo
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuMHB0O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj5JIHdvbmRlciB3aHkgTkFDTSBpcyByZXN0cmljdGVkIHRvIE5FVENPTkYgb3IgUkVT
VENPTkYuJm5ic3A7IFJlYWxseSwgdGhpcyByZXN0cmljdHMgYWNjZXNzIHRvIGRhdGEgaW4gWUFO
RyBkYXRhc3RvcmVzOyB3aGlsZSBORVRDT05GIGFuZCBSRVNUQ09ORiBkbyBuZWVkIHRvIGJlIGNh
bGxlZCBvdXQgc3BlY2lmaWNhbGx5DQogYW5kIHRoZSBkb2N1bWVudCBkb2VzIG5lZWQgdG8gc3Bl
bGwgb3V0IGhvdyBpdCBpcyBhcHBsaWVkIGluIHRoaXMgY29udGV4dCwgaXQgd291bGQgcHJvYmFi
bHkgYmUgZ29vZCB0byBjbGFyaWZ5IHRoYXQgTkFDTSBzaG91bGQgYXBwbHkgdG8gb3RoZXIgcHJv
dG9jb2wgYWNjZXNzLiZuYnNwOw0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Im01
Njg3MTI2NDI0MzEzOTMzNjVtNTM4NzQ4ODgxMTE5Nzc4MTUyMm1zb2xpc3RwYXJhZ3JhcGgiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4tPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6Ny4wcHQ7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPkl0IHdvdWxkIGJlIGdvb2QgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc291cmNlIG9mIGFjY2Vz
cyBjb250cm9sIHJ1bGVzIGlzIG5vdCByZXN0cmljdGVkIHRvIGV4dGVybmFsIGNsaWVudHMsIGJ1
dCB0aGF0IHRoZXkgY291bGQgb3JpZ2luYXRlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuJm5ic3A7
IFRoaXMgaXMgdGhlDQogc2FtZSBjb25maWcvb3BlcmF0aW9uYWwgc3RhdGUgZGlzY3Vzc2lvbiB0
aGF0IGhhcyBjb21lIHVwIGluIG90aGVyIGNvbnRleHRzIChlLmcuIHRoZSB0b3BvbG9neSBtb2Rl
bHMpLCBhbmQgSSB0aGluayBpdCBhcHBsaWVzIGhlcmUgYXMgd2VsbC4mbmJzcDsgQWdhaW4sIHRo
aXMgaXMgd2hlcmUgdGhlIHJldmlzZWQgZGF0YXN0b3JlcyBtb2RlbCBpcyBpbnRlbmRlZCB0byBw
cm92aWRlIGEgc29sdXRpb24g4oCTIGkuZS4gdGhlIE5BQ00gcnVsZXMgaW4gdGhlIGNvbmZpZw0K
IGRhdGFzdG9yZSBtYXkgYmUgb25seSBhIHN1YnNldCBvZiB0aGUgb25lcyBpbiB0aGUgb3BlcmF0
aW9uYWwgZGF0YXN0b3JlLCBldGMg4oCTIGJ1dCBJIHRoaW5rIGl0IGlzIGltcG9ydGFudCBlbm91
Z2ggdG8gYmUgY2FsbGVkLiZuYnNwOw0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFu
PjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+VGhhbmtzPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LS0tIEFsZXg8L3NwYW4+
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8ZGl2Pg0KPGRpdiBz
dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6
My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBOZXRjb25mIFttYWlsdG86
PGEgaHJlZj0ibWFpbHRvOm5ldGNvbmYtYm91bmNlc0BpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsi
Pm5ldGNvbmYtYm91bmNlc0BpZXRmLm9yZzwvYT5dDQo8Yj5PbiBCZWhhbGYgT2YgPC9iPk1haGVz
aCBKZXRoYW5hbmRhbmk8YnI+DQo8Yj5TZW50OjwvYj4gV2VkbmVzZGF5LCBNYXkgMDMsIDIwMTcg
MjoxOCBQTTxicj4NCjxiPlRvOjwvYj4gTmV0Y29uZiAmbHQ7PGEgaHJlZj0ibWFpbHRvOm5ldGNv
bmZAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRjb25mQGlldGYub3JnPC9hPiZndDs8YnI+
DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtOZXRjb25mXSBXRyBMQyBmb3IgZHJhZnQtaWV0Zi1uZXRj
b25mLXJmYzY1MzZiaXM8L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+Rm9sa3MsPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+VGhlcmUgaGFzIGJlZW4gbGl0ZXJhbGx5IG5vIGZlZWRiYWNrIG9uIHRoaXMgZG9j
dW1lbnQsIGVpdGhlciB0byBzYXkgdGhleSBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBzdXBw
b3J0IGl0LCBvciB0byBleHByZXNzIGNvbmNlcm5zIGFib3V0IHRoZSBkb2N1bWVudC4gU2lsZW5j
ZSwgdW5mb3J0dW5hdGVseQ0KIGlzIG5vdCBhIGdvb2QgZ3VpZGUgZm9yIHVzLiBUbyBtb3ZlIHRo
ZSBkb2N1bWVudCBmb3J3YXJkLCB3ZSBuZWVkIHRvIGhlYXIgZnJvbSBmb2xrcywgaW5jbHVkaW5n
IHRob3NlIHdobyB3ZXJlIGluIElFVEYgOTguPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGFua3MuPG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0K
PGRpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206
NS4wcHQiPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+T24gQXByIDE4LCAyMDE3LCBh
dCA1OjM0IFBNLCBNYWhlc2ggSmV0aGFuYW5kYW5pICZsdDs8YSBocmVmPSJtYWlsdG86bWpldGhh
bmFuZGFuaUBnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj5tamV0aGFuYW5kYW5pQGdtYWlsLmNv
bTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPk5FVENPTkYgV0csPGJyPg0KPGJyPg0KSW4gSUVURiA5OCwgdGhlIGF1dGhvcnMg
aW5kaWNhdGVkIHRoYXQgdGhlIGFib3ZlIGRyYWZ0IHdhcyByZWFkeSBmb3IgTGFzdCBDYWxsLCBh
bmQgdGhlIGNvbnNlbnN1cyBpbiB0aGUgcm9vbSBpbmRpY2F0ZWQgYXMgbXVjaC48bzpwPjwvbzpw
PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGlzIGlzIGEgc3RhcnQg
b2YgYSAyIHdlZWsgV0cgTGFzdCBDYWxsIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJp
cy4gQWZ0ZXIgdHdvIHdlZWtzLCB0aGUgZG9jdW1lbnQgd2lsbCBiZSBhc3NpZ25lZCBhIHNoZXBo
ZXJkLCBhbmQgdGhlIGRvY3VtZW50IHdpbGwgYmUgcHJlcGFyZWQgZm9yIElFU0cuPGJyPg0KPGJy
Pg0KVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBkcmFmdCBjYW4gYmUgZm91bmQgYXQ6PGJyPg0K
PGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtbmV0Y29uZi1y
ZmM2NTM2YmlzLTAxIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1s
L2RyYWZ0LWlldGYtbmV0Y29uZi1yZmM2NTM2YmlzLTAxPC9hPjxicj4NCjxicj4NClBsZWFzZSBy
ZXZpZXcgYW5kIHNlbmQgYW55IGNvbW1lbnRzIHRvIHRoZSBXRyBtYWlsaW5nIGxpc3Qgb3IgYnkg
cmVzcG9uZGluZyB0byB0aGlzIGUtbWFpbC4gQ29tbWVudHMgY2FuIGJlIHN0YXRlbWVudHMgc3Vj
aCBhcywgSSByZWFkL3Jldmlld2VkIHRoZSBkb2N1bWVudCZuYnNwO2FuZCBiZWxpZXZlIGl0IGlz
IHJlYWR5IGZvciBwdWJsaWNhdGlvbiwgb3IgSSBoYXZlIGNvbmNlcm5zIGFib3V0IHRoZSBkb2N1
bWVudC4gRm9yIHRoZSBsYXR0ZXIsIHBsZWFzZQ0KIGluZGljYXRlIHdoYXQgeW91ciBjb25jZXJu
cyBhcmUuJm5ic3A7PGJyPg0KPGJyPg0KQW55IHJlcG9ydHMgb24gaW1wbGVtZW50YXRpb24gc3Rh
dHVzIG9yIHBsYW5zIHRvIGltcGxlbWVudCBhcmUgYWxzbyZuYnNwO3ZlcnkgdXNlZnVsLjxvOnA+
PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkF1dGhvcnMsIHBs
ZWFzZSBpbmRpY2F0ZSBpZiB5b3UgYXJlIGF3YXJlIG9mIGFueSBJUFJzIHJlbGF0ZWQgdG8gdGhl
IGRyYWZ0LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+VGhhbmtzLjxicj4NCjxicj4NCk1haGVzaCBhbmQgTWVobWV0PG86cD48L286cD48
L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPk1haGVzaCAmYW1wOyBNZWhtZXQ8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2lu
LWJvdHRvbToxMi4wcHQiPjxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fPGJyPg0KTmV0Y29uZiBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWls
dG86TmV0Y29uZkBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPk5ldGNvbmZAaWV0Zi5vcmc8L2E+
PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRj
b25mIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5m
by9uZXRjb25mPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584CSJCEML701CHMchi_--


From nobody Thu May  4 11:29:02 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2077D129504 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:29:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 93n2vk89cRJs for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:28:58 -0700 (PDT)
Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com [IPv6:2a00:1450:400c:c09::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 174C4128799 for <netconf@ietf.org>; Thu,  4 May 2017 11:28:51 -0700 (PDT)
Received: by mail-wm0-x232.google.com with SMTP id 142so3273106wma.1 for <netconf@ietf.org>; Thu, 04 May 2017 11:28:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=xSNPniTKZ+GbwO9yKdbERu2270kG90sineBH0+cz9rI=; b=HTClH2EZwPMlVIjzW2EWQ4YI9IpvYFgC832dRIzDnLWGAJ4OeLdiPW0vvLe3YsVm5y Nwffm2SKC47ivyt3Y7+O16SW/H3KP3MAKlrHHaL2p+YUWedJtTWlcKuuUnPGUlUlP8p1 KadyRUGAZAcD1N2ENJUIQa6YOXJG2Udpbi8RtKaN9LUxdW2XP77pL9KQR6SiQHkaPFdr 37jWfr4swpTE8WBqIUNOMLWg8XsJWPmru9ZOcZy7qrU9c+E6SRihNcUlYRsQdoWQxNqK r+4ZzQJFfxyI7PASRkL4vWUwL9Xuj5qexW7G/gAdWDBHEftjGvvpAwBQriBqT/hXnEl9 Y3ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=xSNPniTKZ+GbwO9yKdbERu2270kG90sineBH0+cz9rI=; b=HhimjBfpA08yDRkOe6bPIDbCsh8oWbyOoEc/vtuWdavZRnk/DZqV1gROY2jPf2gIob XUwfuVoNL6HnkyMou6H0466H1WHb+T2L+Z3w7Kj5eNM/9GHrxx+vVdAbQOZ4dw2E5Dmu XwKXmL/RulF27JJIcWymaV0tHkML+P2JL2odoj6yvWdFrbgnmVMYNyQKT8o2csKrcWSd 9IWi7YNI51Cd+HVe5BjY6R7OMTOzsxk9xcBULzPT742YDQy1cBYpq5RE7MsM3WO2FhE8 yzac7O65BcMnVP5vrRtVzXphhM1lkh75QhlwH3l9dGbdHZMfSPTrrP7S4hoNv+Lbr160 Qs9g==
X-Gm-Message-State: AN3rC/6l2XDRNNuCtTu/6z0S5C6nW2/xb/hovob6AHKLFLd5vENvl/Du Ey8WAN2hZ4bhkWVaeMrt9Y5fypNXkw==
X-Received: by 10.28.156.13 with SMTP id f13mr2768959wme.136.1493922529602; Thu, 04 May 2017 11:28:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 4 May 2017 11:28:48 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 4 May 2017 11:28:48 -0700
Message-ID: <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=001a114b391ab30855054eb6f111
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/YTlHWd4dPABsmiLOnfNmbL1Hn4w>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 18:29:01 -0000

--001a114b391ab30855054eb6f111
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> As mentioned in my message, I don=E2=80=99t think specific access control=
 will be
> needed (I am not aware of specific use cases), but specifically with the
> revised datastore architecture about to the be introduced, its impact or
> nonimpact and interrelation with NACM should be discussed.  This can be a=
s
> simple as a small paragraph or subsection =E2=80=9CRevised Datastore
> Considerations=E2=80=9D.
>
>
>

there is no text about candidate vs. running vs. startup.
The NACM rules apply to all of them the same.
I could add text that says there is no consideration for specific
datastores.
Most rules apply to the schema tree. Data rules apply to instance data
but they apply to all instances in all datastores).  I can make this clear
in the next revision

Andy


> I also do think that clarification regarding Netconf/Restconf vs other
> protocols is in fact needed.  I do think that NACM rules _*should*_ in
> fact be applicable.  Again, at a minimum something needs to be stated alo=
ng
> those lines.  Otherwise you cannot introduce another transport without
> facing the choice between needing yet-another access control mechanism th=
at
> may require redundant and potentially inconsistent configuration by
> administrators, or leaving out a big backdoor that would render NACM
> irrelevant.
>
>
>
> --- Alex
>
>
>
>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, May 04, 2017 10:40 AM
> *To:* Alexander Clemm <alexander.clemm@huawei.com>
> *Cc:* Mahesh Jethanandani <mjethanandani@gmail.com>; Netconf <
> netconf@ietf.org>
> *Subject:* Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
>
>
>
> Hi,
>
>
>
> I am strongly opposed to datastore-specific access control.
>
> I need to see a use-case that demonstrates why a particular client
>
> needs to be denied access to a specific subtree in 1 datastore vs. anothe=
r
> datastore.
>
>
>
>
>
> The NACM procedures need to be mapped to protocol operations.
>
> It is easier to do this for actual protocols than a generic placeholder.
>
> It may be possible.
>
>
>
> I do not agree NACM controls the internal access.
>
> That is an implementation detail. NACM is enforced on clients using
>
> NETCONF of RESTCONF.
>
>
>
> If the WG wants the NACM procedures mapping to protocols to be more
> generic,
>
> I could work on some proposed text to do that.
>
>
>
>
>
> Andy
>
>
>
>
>
> On Thu, May 4, 2017 at 10:22 AM, Alexander Clemm <
> alexander.clemm@huawei.com> wrote:
>
> Hi,
>
>
>
> FWIW, I do have a few comments.  Overall the document is in good shape,
> but there are a few items where I think it can be made even better:-)
>
>
>
> -          I think it would be good to include a section on how the
> revised datastores will impact requirements on NACM.  I don=E2=80=99t thi=
nk
> anything major is required, but there are a few places where some updates
> could be made, and/or perhaps a brief section could be added somewhere
> discussing this.  For example, in Figure 1 (Section 2.1) where it says
> =E2=80=9Cdatastore or state data access=E2=80=9D (technically, this remai=
ns correct, but
> this seems to have the previous model in mind), also fig 3 assuming RPCs
> will always be against config datastore).   It might also mention which
> datastore NACM rules apply to when the same data is contained in multiple
> datastores.  Technically, I don=E2=80=99t think there will be a distincti=
on (any
> differentiation would apply to read operations, and I cannot think of a
> good example where such differentiation would be needed), still it might =
be
> good to be explicit about it.
>
> -          In section 3.4.6 (outgoing <notification> authorization), it
> states that access control is applied only to notification as a whole, no=
t
> to any data it contains.  This is clear enough; however, it is a
> limitation.  Specifically, in YANG-Push there is a requirement to be able
> to apply a security filter to not push data that the receiver is not
> authorized to receive (or not accept/terminate a subscription which
> contains such data altogether).  If NACM does not provide this, another
> mechanism or a NACM extension will be needed (that will still need to use
> the privileges configured in NACM).  At a minimum, this needs to be clear=
ly
> called out.
>
> -          I wonder why NACM is restricted to NETCONF or RESTCONF.
> Really, this restricts access to data in YANG datastores; while NETCONF a=
nd
> RESTCONF do need to be called out specifically and the document does need
> to spell out how it is applied in this context, it would probably be good
> to clarify that NACM should apply to other protocol access.
>
> -          It would be good to indicate that the source of access control
> rules is not restricted to external clients, but that they could originat=
e
> from the server itself.  This is the same config/operational state
> discussion that has come up in other contexts (e.g. the topology models),
> and I think it applies here as well.  Again, this is where the revised
> datastores model is intended to provide a solution =E2=80=93 i.e. the NAC=
M rules in
> the config datastore may be only a subset of the ones in the operational
> datastore, etc =E2=80=93 but I think it is important enough to be called.
>
>
>
> Thanks
>
> --- Alex
>
>
>
> *From:* Netconf [mailto:netconf-bounces@ietf.org] *On Behalf Of *Mahesh
> Jethanandani
> *Sent:* Wednesday, May 03, 2017 2:18 PM
> *To:* Netconf <netconf@ietf.org>
> *Subject:* Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
>
>
>
> Folks,
>
>
>
> There has been literally no feedback on this document, either to say they
> have read the document and support it, or to express concerns about the
> document. Silence, unfortunately is not a good guide for us. To move the
> document forward, we need to hear from folks, including those who were in
> IETF 98.
>
>
>
> Thanks.
>
>
>
> On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani <mjethanandani@gmail.com=
>
> wrote:
>
>
>
> NETCONF WG,
>
> In IETF 98, the authors indicated that the above draft was ready for Last
> Call, and the consensus in the room indicated as much.
>
>
>
> This is a start of a 2 week WG Last Call for
> draft-ietf-netconf-rfc6536bis. After two weeks, the document will be
> assigned a shepherd, and the document will be prepared for IESG.
>
> The latest version of the draft can be found at:
> https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01
>
> Please review and send any comments to the WG mailing list or by
> responding to this e-mail. Comments can be statements such as, I
> read/reviewed the document and believe it is ready for publication, or I
> have concerns about the document. For the latter, please indicate what yo=
ur
> concerns are.
>
> Any reports on implementation status or plans to implement are also very
> useful.
>
>
>
> Authors, please indicate if you are aware of any IPRs related to the draf=
t.
>
>
>
> Thanks.
>
> Mahesh and Mehmet
>
>
>
>
>
>
>
> Mahesh & Mehmet
>
>
>
>
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>
>

--001a114b391ab30855054eb6f111
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <span dir=3D"ltr">&lt;=
<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.c=
lemm@huawei.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_-8029016104355555761WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">As mentioned in my message, I don=E2=
=80=99t think specific access control will be needed (I am not aware of spe=
cific use cases), but specifically with the revised datastore
 architecture about to the be introduced, its impact or nonimpact and inter=
relation with NACM should be discussed.=C2=A0 This can be as simple as a sm=
all paragraph or subsection =E2=80=9CRevised Datastore Considerations=E2=80=
=9D.=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0</span></p></div></div><=
/blockquote><div><br></div><div>there is no text about candidate vs. runnin=
g vs. startup.</div><div>The NACM rules apply to all of them the same.</div=
><div>I could add text that says there is no consideration for specific dat=
astores.</div><div>Most rules apply to the schema tree. Data rules apply to=
 instance data</div><div>but they apply to all instances in all datastores)=
.=C2=A0 I can make this clear</div><div>in the next revision</div><div><br>=
</div><div>Andy</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div l=
ang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div class=3D"m_-8029016104355=
555761WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I also do think that clarification re=
garding Netconf/Restconf vs other protocols is in fact needed.=C2=A0 I do t=
hink that NACM rules _<i>should</i>_ in fact be applicable.=C2=A0
 Again, at a minimum something needs to be stated along those lines.=C2=A0 =
Otherwise you cannot introduce another transport without facing the choice =
between needing yet-another access control mechanism that may require redun=
dant and potentially inconsistent configuration
 by administrators, or leaving out a big backdoor that would render NACM ir=
relevant.=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman [mailto:<a href=
=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com</a>]
<br>
<b>Sent:</b> Thursday, May 04, 2017 10:40 AM<br>
<b>To:</b> Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei.com=
" target=3D"_blank">alexander.clemm@huawei.com</a>&gt;<br>
<b>Cc:</b> Mahesh Jethanandani &lt;<a href=3D"mailto:mjethanandani@gmail.co=
m" target=3D"_blank">mjethanandani@gmail.com</a>&gt;; Netconf &lt;<a href=
=3D"mailto:netconf@ietf.org" target=3D"_blank">netconf@ietf.org</a>&gt;<br>
<b>Subject:</b> Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis<u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">Hi,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I am strongly opposed to datastore-specific access c=
ontrol.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I need to see a use-case that demonstrates why a par=
ticular client<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">needs to be denied access to a specific subtree in 1=
 datastore vs. another datastore.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The NACM procedures need to be mapped to protocol op=
erations.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">It is easier to do this for actual protocols than a =
generic placeholder.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">It may be possible.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I do not agree NACM controls the internal access.<u>=
</u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">That is an implementation detail. NACM is enforced o=
n clients using<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">NETCONF of RESTCONF.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">If the WG wants the NACM procedures mapping to proto=
cols to be more generic,<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">I could work on some proposed text to do that.<u></u=
><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Thu, May 4, 2017 at 10:22 AM, Alexander Clemm &lt=
;<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.=
clemm@huawei.com</a>&gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi,</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">FWIW, I do have a few comments.=C2=A0=
 Overall the document is in good shape, but there are a few items where
 I think it can be made even better:-)=C2=A0 </span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"m_-8029016104355555761m568712642431393365m5387488811197781522ms=
olistparagraph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif;color:#1f497d">-</span><span style=3D"font-size:7.0pt;color=
:#1f497d">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#1f497d">I think it would be good to include a section on how =
the revised datastores will impact requirements on NACM.=C2=A0 I don=E2=80=
=99t think anything major is required, but there are a few
 places where some updates could be made, and/or perhaps a brief section co=
uld be added somewhere discussing this.=C2=A0 For example, in Figure 1 (Sec=
tion 2.1) where it says =E2=80=9Cdatastore or state data access=E2=80=9D (t=
echnically, this remains correct, but this seems to have
 the previous model in mind), also fig 3 assuming RPCs will always be again=
st config datastore). =C2=A0=C2=A0It might also mention which datastore NAC=
M rules apply to when the same data is contained in multiple datastores.=C2=
=A0 Technically, I don=E2=80=99t think there will be a
 distinction (any differentiation would apply to read operations, and I can=
not think of a good example where such differentiation would be needed), st=
ill it might be good to be explicit about it.=C2=A0 =C2=A0</span><u></u><u>=
</u></p>
<p class=3D"m_-8029016104355555761m568712642431393365m5387488811197781522ms=
olistparagraph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif;color:#1f497d">-</span><span style=3D"font-size:7.0pt;color=
:#1f497d">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#1f497d">In section 3.4.6 (outgoing &lt;notification&gt; autho=
rization), it states that access control is applied only to notification as=
 a whole, not to any data it contains.=C2=A0 This is clear
 enough; however, it is a limitation.=C2=A0 Specifically, in YANG-Push ther=
e is a requirement to be able to apply a security filter to not push data t=
hat the receiver is not authorized to receive (or not accept/terminate a su=
bscription which contains such data altogether).=C2=A0
 If NACM does not provide this, another mechanism or a NACM extension will =
be needed (that will still need to use the privileges configured in NACM).=
=C2=A0 At a minimum, this needs to be clearly called out.=C2=A0
</span><u></u><u></u></p>
<p class=3D"m_-8029016104355555761m568712642431393365m5387488811197781522ms=
olistparagraph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif;color:#1f497d">-</span><span style=3D"font-size:7.0pt;color=
:#1f497d">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#1f497d">I wonder why NACM is restricted to NETCONF or RESTCON=
F.=C2=A0 Really, this restricts access to data in YANG datastores; while NE=
TCONF and RESTCONF do need to be called out specifically
 and the document does need to spell out how it is applied in this context,=
 it would probably be good to clarify that NACM should apply to other proto=
col access.=C2=A0
</span><u></u><u></u></p>
<p class=3D"m_-8029016104355555761m568712642431393365m5387488811197781522ms=
olistparagraph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif;color:#1f497d">-</span><span style=3D"font-size:7.0pt;color=
:#1f497d">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#1f497d">It would be good to indicate that the source of acces=
s control rules is not restricted to external clients, but that they could =
originate from the server itself.=C2=A0 This is the
 same config/operational state discussion that has come up in other context=
s (e.g. the topology models), and I think it applies here as well.=C2=A0 Ag=
ain, this is where the revised datastores model is intended to provide a so=
lution =E2=80=93 i.e. the NACM rules in the config
 datastore may be only a subset of the ones in the operational datastore, e=
tc =E2=80=93 but I think it is important enough to be called.=C2=A0
</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Thanks</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<div>
<div style=3D"border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Netconf [mailto:<a href=3D"mai=
lto:netconf-bounces@ietf.org" target=3D"_blank">netconf-bounces@ietf.<wbr>o=
rg</a>]
<b>On Behalf Of </b>Mahesh Jethanandani<br>
<b>Sent:</b> Wednesday, May 03, 2017 2:18 PM<br>
<b>To:</b> Netconf &lt;<a href=3D"mailto:netconf@ietf.org" target=3D"_blank=
">netconf@ietf.org</a>&gt;<br>
<b>Subject:</b> Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis</span=
><u></u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Folks,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">There has been literally no feedback on this documen=
t, either to say they have read the document and support it, or to express =
concerns about the document. Silence, unfortunately
 is not a good guide for us. To move the document forward, we need to hear =
from folks, including those who were in IETF 98.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<blockquote style=3D"margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class=3D"MsoNormal">On Apr 18, 2017, at 5:34 PM, Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani=
@gmail.com</a>&gt; wrote:<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">NETCONF WG,<br>
<br>
In IETF 98, the authors indicated that the above draft was ready for Last C=
all, and the consensus in the room indicated as much.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">This is a start of a 2 week WG Last Call for draft-i=
etf-netconf-rfc6536bis. After two weeks, the document will be assigned a sh=
epherd, and the document will be prepared for IESG.<br>
<br>
The latest version of the draft can be found at:<br>
<a href=3D"https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-01" ta=
rget=3D"_blank">https://tools.ietf.org/html/<wbr>draft-ietf-netconf-rfc6536=
bis-<wbr>01</a><br>
<br>
Please review and send any comments to the WG mailing list or by responding=
 to this e-mail. Comments can be statements such as, I read/reviewed the do=
cument=C2=A0and believe it is ready for publication, or I have concerns abo=
ut the document. For the latter, please
 indicate what your concerns are.=C2=A0<br>
<br>
Any reports on implementation status or plans to implement are also=C2=A0ve=
ry useful.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Authors, please indicate if you are aware of any IPR=
s related to the draft.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Thanks.<br>
<br>
Mahesh and Mehmet<u></u><u></u></p>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">Mahesh &amp; Mehmet<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org" target=3D"_blank">Netconf@ietf.org</a><=
br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" target=3D"_blank"=
>https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><u></u><u></u></p>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--001a114b391ab30855054eb6f111--


From nobody Thu May  4 11:41:56 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 39F461293FF for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:41:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PUetF_QAdfjP for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 11:41:52 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AB1AD12940E for <netconf@ietf.org>; Thu,  4 May 2017 11:41:51 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML711-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DFZ84929; Thu, 04 May 2017 18:41:49 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 4 May 2017 19:41:21 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.8]) by SJCEML703-CHM.china.huawei.com ([169.254.5.195]) with mapi id 14.03.0235.001;  Thu, 4 May 2017 11:41:11 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
Thread-Index: AQHSuKTAIzHBCUfDlEODIHfKLGbb7aHjqZkAgADTj3CAAIGvgP//lAZAgAB5vAD//42wkA==
Date: Thu, 4 May 2017 18:41:09 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DF95891@SJCEML701-CHM.china.huawei.com>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
In-Reply-To: <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.144]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95891SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.590B75EE.00B2, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.8, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: d85c8d325a47478ee78e7b4c7292f8ef
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/lXgCHAAWiwsLiDqSG6sLnNf7YV0>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 18:41:55 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95891SJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNClRoYXQgd2lsbCB3b3JrIGZvciBtZQ0KVGhhbmtzDQotLS0gQWxleA0KDQpGcm9t
OiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb21dDQpTZW50OiBUaHVyc2Rh
eSwgTWF5IDA0LCAyMDE3IDExOjI5IEFNDQpUbzogQWxleGFuZGVyIENsZW1tIDxhbGV4YW5kZXIu
Y2xlbW1AaHVhd2VpLmNvbT4NCkNjOiBNYWhlc2ggSmV0aGFuYW5kYW5pIDxtamV0aGFuYW5kYW5p
QGdtYWlsLmNvbT47IE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc+DQpTdWJqZWN0OiBSZTogW05l
dGNvbmZdIFdHIExDIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcw0KDQoNCg0KT24g
VGh1LCBNYXkgNCwgMjAxNyBhdCAxMToyMSBBTSwgQWxleGFuZGVyIENsZW1tIDxhbGV4YW5kZXIu
Y2xlbW1AaHVhd2VpLmNvbTxtYWlsdG86YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20+PiB3cm90
ZToNCkFzIG1lbnRpb25lZCBpbiBteSBtZXNzYWdlLCBJIGRvbuKAmXQgdGhpbmsgc3BlY2lmaWMg
YWNjZXNzIGNvbnRyb2wgd2lsbCBiZSBuZWVkZWQgKEkgYW0gbm90IGF3YXJlIG9mIHNwZWNpZmlj
IHVzZSBjYXNlcyksIGJ1dCBzcGVjaWZpY2FsbHkgd2l0aCB0aGUgcmV2aXNlZCBkYXRhc3RvcmUg
YXJjaGl0ZWN0dXJlIGFib3V0IHRvIHRoZSBiZSBpbnRyb2R1Y2VkLCBpdHMgaW1wYWN0IG9yIG5v
bmltcGFjdCBhbmQgaW50ZXJyZWxhdGlvbiB3aXRoIE5BQ00gc2hvdWxkIGJlIGRpc2N1c3NlZC4g
IFRoaXMgY2FuIGJlIGFzIHNpbXBsZSBhcyBhIHNtYWxsIHBhcmFncmFwaCBvciBzdWJzZWN0aW9u
IOKAnFJldmlzZWQgRGF0YXN0b3JlIENvbnNpZGVyYXRpb25z4oCdLg0KDQoNCnRoZXJlIGlzIG5v
IHRleHQgYWJvdXQgY2FuZGlkYXRlIHZzLiBydW5uaW5nIHZzLiBzdGFydHVwLg0KVGhlIE5BQ00g
cnVsZXMgYXBwbHkgdG8gYWxsIG9mIHRoZW0gdGhlIHNhbWUuDQpJIGNvdWxkIGFkZCB0ZXh0IHRo
YXQgc2F5cyB0aGVyZSBpcyBubyBjb25zaWRlcmF0aW9uIGZvciBzcGVjaWZpYyBkYXRhc3RvcmVz
Lg0KTW9zdCBydWxlcyBhcHBseSB0byB0aGUgc2NoZW1hIHRyZWUuIERhdGEgcnVsZXMgYXBwbHkg
dG8gaW5zdGFuY2UgZGF0YQ0KYnV0IHRoZXkgYXBwbHkgdG8gYWxsIGluc3RhbmNlcyBpbiBhbGwg
ZGF0YXN0b3JlcykuICBJIGNhbiBtYWtlIHRoaXMgY2xlYXINCmluIHRoZSBuZXh0IHJldmlzaW9u
DQoNCkFuZHkNCg0KSSBhbHNvIGRvIHRoaW5rIHRoYXQgY2xhcmlmaWNhdGlvbiByZWdhcmRpbmcg
TmV0Y29uZi9SZXN0Y29uZiB2cyBvdGhlciBwcm90b2NvbHMgaXMgaW4gZmFjdCBuZWVkZWQuICBJ
IGRvIHRoaW5rIHRoYXQgTkFDTSBydWxlcyBfc2hvdWxkXyBpbiBmYWN0IGJlIGFwcGxpY2FibGUu
ICBBZ2FpbiwgYXQgYSBtaW5pbXVtIHNvbWV0aGluZyBuZWVkcyB0byBiZSBzdGF0ZWQgYWxvbmcg
dGhvc2UgbGluZXMuICBPdGhlcndpc2UgeW91IGNhbm5vdCBpbnRyb2R1Y2UgYW5vdGhlciB0cmFu
c3BvcnQgd2l0aG91dCBmYWNpbmcgdGhlIGNob2ljZSBiZXR3ZWVuIG5lZWRpbmcgeWV0LWFub3Ro
ZXIgYWNjZXNzIGNvbnRyb2wgbWVjaGFuaXNtIHRoYXQgbWF5IHJlcXVpcmUgcmVkdW5kYW50IGFu
ZCBwb3RlbnRpYWxseSBpbmNvbnNpc3RlbnQgY29uZmlndXJhdGlvbiBieSBhZG1pbmlzdHJhdG9y
cywgb3IgbGVhdmluZyBvdXQgYSBiaWcgYmFja2Rvb3IgdGhhdCB3b3VsZCByZW5kZXIgTkFDTSBp
cnJlbGV2YW50Lg0KDQotLS0gQWxleA0KDQoNCkZyb206IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFu
ZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86YW5keUB5dW1hd29ya3MuY29tPl0NClNlbnQ6IFRodXJz
ZGF5LCBNYXkgMDQsIDIwMTcgMTA6NDAgQU0NClRvOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRl
ci5jbGVtbUBodWF3ZWkuY29tPG1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+DQpD
YzogTWFoZXNoIEpldGhhbmFuZGFuaSA8bWpldGhhbmFuZGFuaUBnbWFpbC5jb208bWFpbHRvOm1q
ZXRoYW5hbmRhbmlAZ21haWwuY29tPj47IE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc8bWFpbHRv
Om5ldGNvbmZAaWV0Zi5vcmc+Pg0KU3ViamVjdDogUmU6IFtOZXRjb25mXSBXRyBMQyBmb3IgZHJh
ZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXMNCg0KSGksDQoNCkkgYW0gc3Ryb25nbHkgb3Bwb3Nl
ZCB0byBkYXRhc3RvcmUtc3BlY2lmaWMgYWNjZXNzIGNvbnRyb2wuDQpJIG5lZWQgdG8gc2VlIGEg
dXNlLWNhc2UgdGhhdCBkZW1vbnN0cmF0ZXMgd2h5IGEgcGFydGljdWxhciBjbGllbnQNCm5lZWRz
IHRvIGJlIGRlbmllZCBhY2Nlc3MgdG8gYSBzcGVjaWZpYyBzdWJ0cmVlIGluIDEgZGF0YXN0b3Jl
IHZzLiBhbm90aGVyIGRhdGFzdG9yZS4NCg0KDQpUaGUgTkFDTSBwcm9jZWR1cmVzIG5lZWQgdG8g
YmUgbWFwcGVkIHRvIHByb3RvY29sIG9wZXJhdGlvbnMuDQpJdCBpcyBlYXNpZXIgdG8gZG8gdGhp
cyBmb3IgYWN0dWFsIHByb3RvY29scyB0aGFuIGEgZ2VuZXJpYyBwbGFjZWhvbGRlci4NCkl0IG1h
eSBiZSBwb3NzaWJsZS4NCg0KSSBkbyBub3QgYWdyZWUgTkFDTSBjb250cm9scyB0aGUgaW50ZXJu
YWwgYWNjZXNzLg0KVGhhdCBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIE5BQ00gaXMgZW5m
b3JjZWQgb24gY2xpZW50cyB1c2luZw0KTkVUQ09ORiBvZiBSRVNUQ09ORi4NCg0KSWYgdGhlIFdH
IHdhbnRzIHRoZSBOQUNNIHByb2NlZHVyZXMgbWFwcGluZyB0byBwcm90b2NvbHMgdG8gYmUgbW9y
ZSBnZW5lcmljLA0KSSBjb3VsZCB3b3JrIG9uIHNvbWUgcHJvcG9zZWQgdGV4dCB0byBkbyB0aGF0
Lg0KDQoNCkFuZHkNCg0KDQpPbiBUaHUsIE1heSA0LCAyMDE3IGF0IDEwOjIyIEFNLCBBbGV4YW5k
ZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPG1haWx0bzphbGV4YW5kZXIuY2xl
bW1AaHVhd2VpLmNvbT4+IHdyb3RlOg0KSGksDQoNCkZXSVcsIEkgZG8gaGF2ZSBhIGZldyBjb21t
ZW50cy4gIE92ZXJhbGwgdGhlIGRvY3VtZW50IGlzIGluIGdvb2Qgc2hhcGUsIGJ1dCB0aGVyZSBh
cmUgYSBmZXcgaXRlbXMgd2hlcmUgSSB0aGluayBpdCBjYW4gYmUgbWFkZSBldmVuIGJldHRlcjot
KQ0KDQoNCi0gICAgICAgICAgSSB0aGluayBpdCB3b3VsZCBiZSBnb29kIHRvIGluY2x1ZGUgYSBz
ZWN0aW9uIG9uIGhvdyB0aGUgcmV2aXNlZCBkYXRhc3RvcmVzIHdpbGwgaW1wYWN0IHJlcXVpcmVt
ZW50cyBvbiBOQUNNLiAgSSBkb27igJl0IHRoaW5rIGFueXRoaW5nIG1ham9yIGlzIHJlcXVpcmVk
LCBidXQgdGhlcmUgYXJlIGEgZmV3IHBsYWNlcyB3aGVyZSBzb21lIHVwZGF0ZXMgY291bGQgYmUg
bWFkZSwgYW5kL29yIHBlcmhhcHMgYSBicmllZiBzZWN0aW9uIGNvdWxkIGJlIGFkZGVkIHNvbWV3
aGVyZSBkaXNjdXNzaW5nIHRoaXMuICBGb3IgZXhhbXBsZSwgaW4gRmlndXJlIDEgKFNlY3Rpb24g
Mi4xKSB3aGVyZSBpdCBzYXlzIOKAnGRhdGFzdG9yZSBvciBzdGF0ZSBkYXRhIGFjY2Vzc+KAnSAo
dGVjaG5pY2FsbHksIHRoaXMgcmVtYWlucyBjb3JyZWN0LCBidXQgdGhpcyBzZWVtcyB0byBoYXZl
IHRoZSBwcmV2aW91cyBtb2RlbCBpbiBtaW5kKSwgYWxzbyBmaWcgMyBhc3N1bWluZyBSUENzIHdp
bGwgYWx3YXlzIGJlIGFnYWluc3QgY29uZmlnIGRhdGFzdG9yZSkuICAgSXQgbWlnaHQgYWxzbyBt
ZW50aW9uIHdoaWNoIGRhdGFzdG9yZSBOQUNNIHJ1bGVzIGFwcGx5IHRvIHdoZW4gdGhlIHNhbWUg
ZGF0YSBpcyBjb250YWluZWQgaW4gbXVsdGlwbGUgZGF0YXN0b3Jlcy4gIFRlY2huaWNhbGx5LCBJ
IGRvbuKAmXQgdGhpbmsgdGhlcmUgd2lsbCBiZSBhIGRpc3RpbmN0aW9uIChhbnkgZGlmZmVyZW50
aWF0aW9uIHdvdWxkIGFwcGx5IHRvIHJlYWQgb3BlcmF0aW9ucywgYW5kIEkgY2Fubm90IHRoaW5r
IG9mIGEgZ29vZCBleGFtcGxlIHdoZXJlIHN1Y2ggZGlmZmVyZW50aWF0aW9uIHdvdWxkIGJlIG5l
ZWRlZCksIHN0aWxsIGl0IG1pZ2h0IGJlIGdvb2QgdG8gYmUgZXhwbGljaXQgYWJvdXQgaXQuDQoN
Ci0gICAgICAgICAgSW4gc2VjdGlvbiAzLjQuNiAob3V0Z29pbmcgPG5vdGlmaWNhdGlvbj4gYXV0
aG9yaXphdGlvbiksIGl0IHN0YXRlcyB0aGF0IGFjY2VzcyBjb250cm9sIGlzIGFwcGxpZWQgb25s
eSB0byBub3RpZmljYXRpb24gYXMgYSB3aG9sZSwgbm90IHRvIGFueSBkYXRhIGl0IGNvbnRhaW5z
LiAgVGhpcyBpcyBjbGVhciBlbm91Z2g7IGhvd2V2ZXIsIGl0IGlzIGEgbGltaXRhdGlvbi4gIFNw
ZWNpZmljYWxseSwgaW4gWUFORy1QdXNoIHRoZXJlIGlzIGEgcmVxdWlyZW1lbnQgdG8gYmUgYWJs
ZSB0byBhcHBseSBhIHNlY3VyaXR5IGZpbHRlciB0byBub3QgcHVzaCBkYXRhIHRoYXQgdGhlIHJl
Y2VpdmVyIGlzIG5vdCBhdXRob3JpemVkIHRvIHJlY2VpdmUgKG9yIG5vdCBhY2NlcHQvdGVybWlu
YXRlIGEgc3Vic2NyaXB0aW9uIHdoaWNoIGNvbnRhaW5zIHN1Y2ggZGF0YSBhbHRvZ2V0aGVyKS4g
IElmIE5BQ00gZG9lcyBub3QgcHJvdmlkZSB0aGlzLCBhbm90aGVyIG1lY2hhbmlzbSBvciBhIE5B
Q00gZXh0ZW5zaW9uIHdpbGwgYmUgbmVlZGVkICh0aGF0IHdpbGwgc3RpbGwgbmVlZCB0byB1c2Ug
dGhlIHByaXZpbGVnZXMgY29uZmlndXJlZCBpbiBOQUNNKS4gIEF0IGEgbWluaW11bSwgdGhpcyBu
ZWVkcyB0byBiZSBjbGVhcmx5IGNhbGxlZCBvdXQuDQoNCi0gICAgICAgICAgSSB3b25kZXIgd2h5
IE5BQ00gaXMgcmVzdHJpY3RlZCB0byBORVRDT05GIG9yIFJFU1RDT05GLiAgUmVhbGx5LCB0aGlz
IHJlc3RyaWN0cyBhY2Nlc3MgdG8gZGF0YSBpbiBZQU5HIGRhdGFzdG9yZXM7IHdoaWxlIE5FVENP
TkYgYW5kIFJFU1RDT05GIGRvIG5lZWQgdG8gYmUgY2FsbGVkIG91dCBzcGVjaWZpY2FsbHkgYW5k
IHRoZSBkb2N1bWVudCBkb2VzIG5lZWQgdG8gc3BlbGwgb3V0IGhvdyBpdCBpcyBhcHBsaWVkIGlu
IHRoaXMgY29udGV4dCwgaXQgd291bGQgcHJvYmFibHkgYmUgZ29vZCB0byBjbGFyaWZ5IHRoYXQg
TkFDTSBzaG91bGQgYXBwbHkgdG8gb3RoZXIgcHJvdG9jb2wgYWNjZXNzLg0KDQotICAgICAgICAg
IEl0IHdvdWxkIGJlIGdvb2QgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc291cmNlIG9mIGFjY2VzcyBj
b250cm9sIHJ1bGVzIGlzIG5vdCByZXN0cmljdGVkIHRvIGV4dGVybmFsIGNsaWVudHMsIGJ1dCB0
aGF0IHRoZXkgY291bGQgb3JpZ2luYXRlIGZyb20gdGhlIHNlcnZlciBpdHNlbGYuICBUaGlzIGlz
IHRoZSBzYW1lIGNvbmZpZy9vcGVyYXRpb25hbCBzdGF0ZSBkaXNjdXNzaW9uIHRoYXQgaGFzIGNv
bWUgdXAgaW4gb3RoZXIgY29udGV4dHMgKGUuZy4gdGhlIHRvcG9sb2d5IG1vZGVscyksIGFuZCBJ
IHRoaW5rIGl0IGFwcGxpZXMgaGVyZSBhcyB3ZWxsLiAgQWdhaW4sIHRoaXMgaXMgd2hlcmUgdGhl
IHJldmlzZWQgZGF0YXN0b3JlcyBtb2RlbCBpcyBpbnRlbmRlZCB0byBwcm92aWRlIGEgc29sdXRp
b24g4oCTIGkuZS4gdGhlIE5BQ00gcnVsZXMgaW4gdGhlIGNvbmZpZyBkYXRhc3RvcmUgbWF5IGJl
IG9ubHkgYSBzdWJzZXQgb2YgdGhlIG9uZXMgaW4gdGhlIG9wZXJhdGlvbmFsIGRhdGFzdG9yZSwg
ZXRjIOKAkyBidXQgSSB0aGluayBpdCBpcyBpbXBvcnRhbnQgZW5vdWdoIHRvIGJlIGNhbGxlZC4N
Cg0KVGhhbmtzDQotLS0gQWxleA0KDQpGcm9tOiBOZXRjb25mIFttYWlsdG86bmV0Y29uZi1ib3Vu
Y2VzQGlldGYub3JnPG1haWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc+XSBPbiBCZWhhbGYg
T2YgTWFoZXNoIEpldGhhbmFuZGFuaQ0KU2VudDogV2VkbmVzZGF5LCBNYXkgMDMsIDIwMTcgMjox
OCBQTQ0KVG86IE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmZAaWV0Zi5v
cmc+Pg0KU3ViamVjdDogUmU6IFtOZXRjb25mXSBXRyBMQyBmb3IgZHJhZnQtaWV0Zi1uZXRjb25m
LXJmYzY1MzZiaXMNCg0KRm9sa3MsDQoNClRoZXJlIGhhcyBiZWVuIGxpdGVyYWxseSBubyBmZWVk
YmFjayBvbiB0aGlzIGRvY3VtZW50LCBlaXRoZXIgdG8gc2F5IHRoZXkgaGF2ZSByZWFkIHRoZSBk
b2N1bWVudCBhbmQgc3VwcG9ydCBpdCwgb3IgdG8gZXhwcmVzcyBjb25jZXJucyBhYm91dCB0aGUg
ZG9jdW1lbnQuIFNpbGVuY2UsIHVuZm9ydHVuYXRlbHkgaXMgbm90IGEgZ29vZCBndWlkZSBmb3Ig
dXMuIFRvIG1vdmUgdGhlIGRvY3VtZW50IGZvcndhcmQsIHdlIG5lZWQgdG8gaGVhciBmcm9tIGZv
bGtzLCBpbmNsdWRpbmcgdGhvc2Ugd2hvIHdlcmUgaW4gSUVURiA5OC4NCg0KVGhhbmtzLg0KDQpP
biBBcHIgMTgsIDIwMTcsIGF0IDU6MzQgUE0sIE1haGVzaCBKZXRoYW5hbmRhbmkgPG1qZXRoYW5h
bmRhbmlAZ21haWwuY29tPG1haWx0bzptamV0aGFuYW5kYW5pQGdtYWlsLmNvbT4+IHdyb3RlOg0K
DQpORVRDT05GIFdHLA0KDQpJbiBJRVRGIDk4LCB0aGUgYXV0aG9ycyBpbmRpY2F0ZWQgdGhhdCB0
aGUgYWJvdmUgZHJhZnQgd2FzIHJlYWR5IGZvciBMYXN0IENhbGwsIGFuZCB0aGUgY29uc2Vuc3Vz
IGluIHRoZSByb29tIGluZGljYXRlZCBhcyBtdWNoLg0KDQpUaGlzIGlzIGEgc3RhcnQgb2YgYSAy
IHdlZWsgV0cgTGFzdCBDYWxsIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy4gQWZ0
ZXIgdHdvIHdlZWtzLCB0aGUgZG9jdW1lbnQgd2lsbCBiZSBhc3NpZ25lZCBhIHNoZXBoZXJkLCBh
bmQgdGhlIGRvY3VtZW50IHdpbGwgYmUgcHJlcGFyZWQgZm9yIElFU0cuDQoNClRoZSBsYXRlc3Qg
dmVyc2lvbiBvZiB0aGUgZHJhZnQgY2FuIGJlIGZvdW5kIGF0Og0KaHR0cHM6Ly90b29scy5pZXRm
Lm9yZy9odG1sL2RyYWZ0LWlldGYtbmV0Y29uZi1yZmM2NTM2YmlzLTAxDQoNClBsZWFzZSByZXZp
ZXcgYW5kIHNlbmQgYW55IGNvbW1lbnRzIHRvIHRoZSBXRyBtYWlsaW5nIGxpc3Qgb3IgYnkgcmVz
cG9uZGluZyB0byB0aGlzIGUtbWFpbC4gQ29tbWVudHMgY2FuIGJlIHN0YXRlbWVudHMgc3VjaCBh
cywgSSByZWFkL3Jldmlld2VkIHRoZSBkb2N1bWVudCBhbmQgYmVsaWV2ZSBpdCBpcyByZWFkeSBm
b3IgcHVibGljYXRpb24sIG9yIEkgaGF2ZSBjb25jZXJucyBhYm91dCB0aGUgZG9jdW1lbnQuIEZv
ciB0aGUgbGF0dGVyLCBwbGVhc2UgaW5kaWNhdGUgd2hhdCB5b3VyIGNvbmNlcm5zIGFyZS4NCg0K
QW55IHJlcG9ydHMgb24gaW1wbGVtZW50YXRpb24gc3RhdHVzIG9yIHBsYW5zIHRvIGltcGxlbWVu
dCBhcmUgYWxzbyB2ZXJ5IHVzZWZ1bC4NCg0KQXV0aG9ycywgcGxlYXNlIGluZGljYXRlIGlmIHlv
dSBhcmUgYXdhcmUgb2YgYW55IElQUnMgcmVsYXRlZCB0byB0aGUgZHJhZnQuDQoNClRoYW5rcy4N
Cg0KTWFoZXNoIGFuZCBNZWhtZXQNCg0KDQoNCk1haGVzaCAmIE1laG1ldA0KDQoNCg0KDQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KTmV0Y29uZiBtYWls
aW5nIGxpc3QNCk5ldGNvbmZAaWV0Zi5vcmc8bWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmc+DQpodHRw
czovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYNCg0KDQo=

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95891SJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm0tODAyOTAxNjEwNDM1NTU1
NTc2MW01Njg3MTI2NDI0MzEzOTMzNjVtNTM4NzQ4ODgxMTE5Nzc4MTUyMm1zb2xpc3RwYXJhZ3Jh
cGgsIGxpLm0tODAyOTAxNjEwNDM1NTU1NTc2MW01Njg3MTI2NDI0MzEzOTMzNjVtNTM4NzQ4ODgx
MTE5Nzc4MTUyMm1zb2xpc3RwYXJhZ3JhcGgsIGRpdi5tLTgwMjkwMTYxMDQzNTU1NTU3NjFtNTY4
NzEyNjQyNDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1MjJtc29saXN0cGFyYWdyYXBoDQoJe21z
by1zdHlsZS1uYW1lOm1fLTgwMjkwMTYxMDQzNTU1NTU3NjFtNTY4NzEyNjQyNDMxMzkzMzY1bTUz
ODc0ODg4MTExOTc3ODE1MjJtc29saXN0cGFyYWdyYXBoOw0KCW1zby1tYXJnaW4tdG9wLWFsdDph
dXRvOw0KCW1hcmdpbi1yaWdodDowaW47DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJ
bWFyZ2luLWxlZnQ6MGluOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRpbWVz
IE5ldyBSb21hbiIsc2VyaWY7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTgNCgl7bXNvLXN0eWxlLXR5cGU6
cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29s
b3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25s
eTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpAcGFnZSBXb3JkU2VjdGlv
bjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEuMGlu
O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48
IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNw
aWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHht
bD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBk
YXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0K
PGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFz
cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj5IaSBBbmR5LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5UaGF0IHdpbGwgd29yayBm
b3IgbWU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+VGhhbmtzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPi0tLSBBbGV4
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NCjxicj4N
CjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwgTWF5IDA0LCAyMDE3IDExOjI5IEFNPGJyPg0KPGI+VG86
PC9iPiBBbGV4YW5kZXIgQ2xlbW0gJmx0O2FsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tJmd0Ozxi
cj4NCjxiPkNjOjwvYj4gTWFoZXNoIEpldGhhbmFuZGFuaSAmbHQ7bWpldGhhbmFuZGFuaUBnbWFp
bC5jb20mZ3Q7OyBOZXRjb25mICZsdDtuZXRjb25mQGlldGYub3JnJmd0Ozxicj4NCjxiPlN1Ympl
Y3Q6PC9iPiBSZTogW05ldGNvbmZdIFdHIExDIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUz
NmJpczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFRodSwgTWF5IDQsIDIwMTcgYXQgMTE6
MjEgQU0sIEFsZXhhbmRlciBDbGVtbSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFsZXhhbmRlci5jbGVt
bUBodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb208
L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6
bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4g
Ni4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+DQo8ZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkFz
IG1lbnRpb25lZCBpbiBteSBtZXNzYWdlLCBJIGRvbuKAmXQgdGhpbmsgc3BlY2lmaWMgYWNjZXNz
IGNvbnRyb2wgd2lsbCBiZSBuZWVkZWQgKEkgYW0gbm90IGF3YXJlIG9mDQogc3BlY2lmaWMgdXNl
IGNhc2VzKSwgYnV0IHNwZWNpZmljYWxseSB3aXRoIHRoZSByZXZpc2VkIGRhdGFzdG9yZSBhcmNo
aXRlY3R1cmUgYWJvdXQgdG8gdGhlIGJlIGludHJvZHVjZWQsIGl0cyBpbXBhY3Qgb3Igbm9uaW1w
YWN0IGFuZCBpbnRlcnJlbGF0aW9uIHdpdGggTkFDTSBzaG91bGQgYmUgZGlzY3Vzc2VkLiZuYnNw
OyBUaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYSBzbWFsbCBwYXJhZ3JhcGggb3Igc3Vic2VjdGlv
biDigJxSZXZpc2VkIERhdGFzdG9yZQ0KIENvbnNpZGVyYXRpb25z4oCdLiZuYnNwOyA8L3NwYW4+
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2
Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dGhlcmUgaXMg
bm8gdGV4dCBhYm91dCBjYW5kaWRhdGUgdnMuIHJ1bm5pbmcgdnMuIHN0YXJ0dXAuPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgTkFDTSBydWxl
cyBhcHBseSB0byBhbGwgb2YgdGhlbSB0aGUgc2FtZS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgY291bGQgYWRkIHRleHQgdGhhdCBzYXlzIHRo
ZXJlIGlzIG5vIGNvbnNpZGVyYXRpb24gZm9yIHNwZWNpZmljIGRhdGFzdG9yZXMuPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Nb3N0IHJ1bGVzIGFw
cGx5IHRvIHRoZSBzY2hlbWEgdHJlZS4gRGF0YSBydWxlcyBhcHBseSB0byBpbnN0YW5jZSBkYXRh
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5idXQg
dGhleSBhcHBseSB0byBhbGwgaW5zdGFuY2VzIGluIGFsbCBkYXRhc3RvcmVzKS4mbmJzcDsgSSBj
YW4gbWFrZSB0aGlzIGNsZWFyPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5pbiB0aGUgbmV4dCByZXZpc2lvbjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPkFuZHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBz
dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5n
OjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0K
PGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj5JIGFsc28gZG8gdGhpbmsgdGhhdCBjbGFyaWZpY2F0aW9uIHJlZ2FyZGluZyBO
ZXRjb25mL1Jlc3Rjb25mIHZzIG90aGVyIHByb3RvY29scyBpcyBpbiBmYWN0IG5lZWRlZC4mbmJz
cDsNCiBJIGRvIHRoaW5rIHRoYXQgTkFDTSBydWxlcyBfPGk+c2hvdWxkPC9pPl8gaW4gZmFjdCBi
ZSBhcHBsaWNhYmxlLiZuYnNwOyBBZ2FpbiwgYXQgYSBtaW5pbXVtIHNvbWV0aGluZyBuZWVkcyB0
byBiZSBzdGF0ZWQgYWxvbmcgdGhvc2UgbGluZXMuJm5ic3A7IE90aGVyd2lzZSB5b3UgY2Fubm90
IGludHJvZHVjZSBhbm90aGVyIHRyYW5zcG9ydCB3aXRob3V0IGZhY2luZyB0aGUgY2hvaWNlIGJl
dHdlZW4gbmVlZGluZyB5ZXQtYW5vdGhlciBhY2Nlc3MgY29udHJvbCBtZWNoYW5pc20NCiB0aGF0
IG1heSByZXF1aXJlIHJlZHVuZGFudCBhbmQgcG90ZW50aWFsbHkgaW5jb25zaXN0ZW50IGNvbmZp
Z3VyYXRpb24gYnkgYWRtaW5pc3RyYXRvcnMsIG9yIGxlYXZpbmcgb3V0IGEgYmlnIGJhY2tkb29y
IHRoYXQgd291bGQgcmVuZGVyIE5BQ00gaXJyZWxldmFudC4mbmJzcDsNCjwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPi0tLSBBbGV4DQo8L3NwYW4+PG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8
L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOjxhIGhyZWY9
Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5hbmR5QHl1bWF3b3Jr
cy5jb208L2E+XQ0KPGJyPg0KPGI+U2VudDo8L2I+IFRodXJzZGF5LCBNYXkgMDQsIDIwMTcgMTA6
NDAgQU08YnI+DQo8Yj5Ubzo8L2I+IEFsZXhhbmRlciBDbGVtbSAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+YWxleGFuZGVyLmNs
ZW1tQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjxiPkNjOjwvYj4gTWFoZXNoIEpldGhhbmFuZGFu
aSAmbHQ7PGEgaHJlZj0ibWFpbHRvOm1qZXRoYW5hbmRhbmlAZ21haWwuY29tIiB0YXJnZXQ9Il9i
bGFuayI+bWpldGhhbmFuZGFuaUBnbWFpbC5jb208L2E+Jmd0OzsgTmV0Y29uZiAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRjb25mQGlldGYu
b3JnPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtOZXRjb25mXSBXRyBMQyBmb3Ig
ZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXM8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+SGksPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+SSBhbSBzdHJvbmdseSBvcHBvc2VkIHRvIGRhdGFzdG9yZS1zcGVjaWZpYyBh
Y2Nlc3MgY29udHJvbC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+SSBuZWVkIHRvIHNlZSBhIHVzZS1jYXNlIHRoYXQgZGVtb25zdHJhdGVzIHdo
eSBhIHBhcnRpY3VsYXIgY2xpZW50PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPm5lZWRzIHRvIGJlIGRlbmllZCBhY2Nlc3MgdG8gYSBzcGVjaWZp
YyBzdWJ0cmVlIGluIDEgZGF0YXN0b3JlIHZzLiBhbm90aGVyIGRhdGFzdG9yZS48bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGUg
TkFDTSBwcm9jZWR1cmVzIG5lZWQgdG8gYmUgbWFwcGVkIHRvIHByb3RvY29sIG9wZXJhdGlvbnMu
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkl0
IGlzIGVhc2llciB0byBkbyB0aGlzIGZvciBhY3R1YWwgcHJvdG9jb2xzIHRoYW4gYSBnZW5lcmlj
IHBsYWNlaG9sZGVyLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj5JdCBtYXkgYmUgcG9zc2libGUuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JIGRvIG5vdCBhZ3JlZSBOQUNNIGNvbnRy
b2xzIHRoZSBpbnRlcm5hbCBhY2Nlc3MuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPlRoYXQgaXMgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLiBO
QUNNIGlzIGVuZm9yY2VkIG9uIGNsaWVudHMgdXNpbmc8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+TkVUQ09ORiBvZiBSRVNUQ09ORi48bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPklmIHRo
ZSBXRyB3YW50cyB0aGUgTkFDTSBwcm9jZWR1cmVzIG1hcHBpbmcgdG8gcHJvdG9jb2xzIHRvIGJl
IG1vcmUgZ2VuZXJpYyw8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+SSBjb3VsZCB3b3JrIG9uIHNvbWUgcHJvcG9zZWQgdGV4dCB0byBkbyB0aGF0
LjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPkFuZHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+T24gVGh1LCBNYXkgNCwgMjAxNyBhdCAxMDoyMiBBTSwgQWxleGFuZGVyIENsZW1t
ICZsdDs8YSBocmVmPSJtYWlsdG86YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20iIHRhcmdldD0i
X2JsYW5rIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9v
OnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlk
ICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0Ljhw
dDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+
DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPkhpLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPkZXSVcsIEkgZG8gaGF2ZSBhIGZldyBjb21tZW50cy4mbmJzcDsgT3ZlcmFsbCB0aGUg
ZG9jdW1lbnQgaXMgaW4gZ29vZCBzaGFwZSwgYnV0IHRoZXJlIGFyZSBhIGZldyBpdGVtcyB3aGVy
ZQ0KIEkgdGhpbmsgaXQgY2FuIGJlIG1hZGUgZXZlbiBiZXR0ZXI6LSkmbmJzcDsgPC9zcGFuPjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Im0tODAy
OTAxNjEwNDM1NTU1NTc2MW01Njg3MTI2NDI0MzEzOTMzNjVtNTM4NzQ4ODgxMTE5Nzc4MTUyMm1z
b2xpc3RwYXJhZ3JhcGgiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPi08L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDtjb2xvcjojMUY0OTdEIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SSB0aGluayBpdCB3b3VsZCBiZSBnb29kIHRvIGluY2x1
ZGUgYSBzZWN0aW9uIG9uIGhvdyB0aGUgcmV2aXNlZCBkYXRhc3RvcmVzIHdpbGwgaW1wYWN0IHJl
cXVpcmVtZW50cyBvbiBOQUNNLiZuYnNwOyBJIGRvbuKAmXQgdGhpbmsgYW55dGhpbmcgbWFqb3Ig
aXMgcmVxdWlyZWQsIGJ1dCB0aGVyZSBhcmUgYSBmZXcNCiBwbGFjZXMgd2hlcmUgc29tZSB1cGRh
dGVzIGNvdWxkIGJlIG1hZGUsIGFuZC9vciBwZXJoYXBzIGEgYnJpZWYgc2VjdGlvbiBjb3VsZCBi
ZSBhZGRlZCBzb21ld2hlcmUgZGlzY3Vzc2luZyB0aGlzLiZuYnNwOyBGb3IgZXhhbXBsZSwgaW4g
RmlndXJlIDEgKFNlY3Rpb24gMi4xKSB3aGVyZSBpdCBzYXlzIOKAnGRhdGFzdG9yZSBvciBzdGF0
ZSBkYXRhIGFjY2Vzc+KAnSAodGVjaG5pY2FsbHksIHRoaXMgcmVtYWlucyBjb3JyZWN0LCBidXQg
dGhpcyBzZWVtcyB0byBoYXZlDQogdGhlIHByZXZpb3VzIG1vZGVsIGluIG1pbmQpLCBhbHNvIGZp
ZyAzIGFzc3VtaW5nIFJQQ3Mgd2lsbCBhbHdheXMgYmUgYWdhaW5zdCBjb25maWcgZGF0YXN0b3Jl
KS4gJm5ic3A7Jm5ic3A7SXQgbWlnaHQgYWxzbyBtZW50aW9uIHdoaWNoIGRhdGFzdG9yZSBOQUNN
IHJ1bGVzIGFwcGx5IHRvIHdoZW4gdGhlIHNhbWUgZGF0YSBpcyBjb250YWluZWQgaW4gbXVsdGlw
bGUgZGF0YXN0b3Jlcy4mbmJzcDsgVGVjaG5pY2FsbHksIEkgZG9u4oCZdCB0aGluayB0aGVyZSB3
aWxsIGJlIGENCiBkaXN0aW5jdGlvbiAoYW55IGRpZmZlcmVudGlhdGlvbiB3b3VsZCBhcHBseSB0
byByZWFkIG9wZXJhdGlvbnMsIGFuZCBJIGNhbm5vdCB0aGluayBvZiBhIGdvb2QgZXhhbXBsZSB3
aGVyZSBzdWNoIGRpZmZlcmVudGlhdGlvbiB3b3VsZCBiZSBuZWVkZWQpLCBzdGlsbCBpdCBtaWdo
dCBiZSBnb29kIHRvIGJlIGV4cGxpY2l0IGFib3V0IGl0LiZuYnNwOyAmbmJzcDs8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0ibS04MDI5MDE2MTA0MzU1NTU1NzYxbTU2ODcxMjY0MjQz
MTM5MzM2NW01Mzg3NDg4ODExMTk3NzgxNTIybXNvbGlzdHBhcmFncmFwaCI+DQo8c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+LTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0
O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JbiBz
ZWN0aW9uIDMuNC42IChvdXRnb2luZyAmbHQ7bm90aWZpY2F0aW9uJmd0OyBhdXRob3JpemF0aW9u
KSwgaXQgc3RhdGVzIHRoYXQgYWNjZXNzIGNvbnRyb2wgaXMgYXBwbGllZCBvbmx5IHRvIG5vdGlm
aWNhdGlvbiBhcyBhIHdob2xlLCBub3QgdG8gYW55IGRhdGEgaXQgY29udGFpbnMuJm5ic3A7IFRo
aXMgaXMgY2xlYXINCiBlbm91Z2g7IGhvd2V2ZXIsIGl0IGlzIGEgbGltaXRhdGlvbi4mbmJzcDsg
U3BlY2lmaWNhbGx5LCBpbiBZQU5HLVB1c2ggdGhlcmUgaXMgYSByZXF1aXJlbWVudCB0byBiZSBh
YmxlIHRvIGFwcGx5IGEgc2VjdXJpdHkgZmlsdGVyIHRvIG5vdCBwdXNoIGRhdGEgdGhhdCB0aGUg
cmVjZWl2ZXIgaXMgbm90IGF1dGhvcml6ZWQgdG8gcmVjZWl2ZSAob3Igbm90IGFjY2VwdC90ZXJt
aW5hdGUgYSBzdWJzY3JpcHRpb24gd2hpY2ggY29udGFpbnMgc3VjaCBkYXRhIGFsdG9nZXRoZXIp
LiZuYnNwOw0KIElmIE5BQ00gZG9lcyBub3QgcHJvdmlkZSB0aGlzLCBhbm90aGVyIG1lY2hhbmlz
bSBvciBhIE5BQ00gZXh0ZW5zaW9uIHdpbGwgYmUgbmVlZGVkICh0aGF0IHdpbGwgc3RpbGwgbmVl
ZCB0byB1c2UgdGhlIHByaXZpbGVnZXMgY29uZmlndXJlZCBpbiBOQUNNKS4mbmJzcDsgQXQgYSBt
aW5pbXVtLCB0aGlzIG5lZWRzIHRvIGJlIGNsZWFybHkgY2FsbGVkIG91dC4mbmJzcDsNCjwvc3Bh
bj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJtLTgwMjkwMTYxMDQzNTU1NTU3NjFtNTY4NzEy
NjQyNDMxMzkzMzY1bTUzODc0ODg4MTExOTc3ODE1MjJtc29saXN0cGFyYWdyYXBoIj4NCjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4tPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
Ny4wcHQ7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Qi
Pkkgd29uZGVyIHdoeSBOQUNNIGlzIHJlc3RyaWN0ZWQgdG8gTkVUQ09ORiBvciBSRVNUQ09ORi4m
bmJzcDsgUmVhbGx5LCB0aGlzIHJlc3RyaWN0cyBhY2Nlc3MgdG8gZGF0YSBpbiBZQU5HIGRhdGFz
dG9yZXM7IHdoaWxlIE5FVENPTkYgYW5kIFJFU1RDT05GIGRvIG5lZWQgdG8gYmUgY2FsbGVkIG91
dCBzcGVjaWZpY2FsbHkNCiBhbmQgdGhlIGRvY3VtZW50IGRvZXMgbmVlZCB0byBzcGVsbCBvdXQg
aG93IGl0IGlzIGFwcGxpZWQgaW4gdGhpcyBjb250ZXh0LCBpdCB3b3VsZCBwcm9iYWJseSBiZSBn
b29kIHRvIGNsYXJpZnkgdGhhdCBOQUNNIHNob3VsZCBhcHBseSB0byBvdGhlciBwcm90b2NvbCBh
Y2Nlc3MuJm5ic3A7DQo8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0ibS04MDI5MDE2
MTA0MzU1NTU1NzYxbTU2ODcxMjY0MjQzMTM5MzM2NW01Mzg3NDg4ODExMTk3NzgxNTIybXNvbGlz
dHBhcmFncmFwaCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LTwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5JdCB3b3VsZCBiZSBnb29kIHRvIGluZGljYXRlIHRoYXQgdGhl
IHNvdXJjZSBvZiBhY2Nlc3MgY29udHJvbCBydWxlcyBpcyBub3QgcmVzdHJpY3RlZCB0byBleHRl
cm5hbCBjbGllbnRzLCBidXQgdGhhdCB0aGV5IGNvdWxkIG9yaWdpbmF0ZSBmcm9tIHRoZSBzZXJ2
ZXIgaXRzZWxmLiZuYnNwOyBUaGlzIGlzIHRoZQ0KIHNhbWUgY29uZmlnL29wZXJhdGlvbmFsIHN0
YXRlIGRpc2N1c3Npb24gdGhhdCBoYXMgY29tZSB1cCBpbiBvdGhlciBjb250ZXh0cyAoZS5nLiB0
aGUgdG9wb2xvZ3kgbW9kZWxzKSwgYW5kIEkgdGhpbmsgaXQgYXBwbGllcyBoZXJlIGFzIHdlbGwu
Jm5ic3A7IEFnYWluLCB0aGlzIGlzIHdoZXJlIHRoZSByZXZpc2VkIGRhdGFzdG9yZXMgbW9kZWwg
aXMgaW50ZW5kZWQgdG8gcHJvdmlkZSBhIHNvbHV0aW9uIOKAkyBpLmUuIHRoZSBOQUNNIHJ1bGVz
IGluIHRoZSBjb25maWcNCiBkYXRhc3RvcmUgbWF5IGJlIG9ubHkgYSBzdWJzZXQgb2YgdGhlIG9u
ZXMgaW4gdGhlIG9wZXJhdGlvbmFsIGRhdGFzdG9yZSwgZXRjIOKAkyBidXQgSSB0aGluayBpdCBp
cyBpbXBvcnRhbnQgZW5vdWdoIHRvIGJlIGNhbGxlZC4mbmJzcDsNCjwvc3Bhbj48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPlRoYW5rczwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Qi
Pi0tLSBBbGV4PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9w
Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFF
MSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4g
TmV0Y29uZiBbbWFpbHRvOjxhIGhyZWY9Im1haWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmci
IHRhcmdldD0iX2JsYW5rIj5uZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc8L2E+XQ0KPGI+T24gQmVo
YWxmIE9mIDwvYj5NYWhlc2ggSmV0aGFuYW5kYW5pPGJyPg0KPGI+U2VudDo8L2I+IFdlZG5lc2Rh
eSwgTWF5IDAzLCAyMDE3IDI6MTggUE08YnI+DQo8Yj5Ubzo8L2I+IE5ldGNvbmYgJmx0OzxhIGhy
ZWY9Im1haWx0bzpuZXRjb25mQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0Y29uZkBpZXRm
Lm9yZzwvYT4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbTmV0Y29uZl0gV0cgTEMgZm9y
IGRyYWZ0LWlldGYtbmV0Y29uZi1yZmM2NTM2YmlzPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkZvbGtzLDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlRoZXJlIGhhcyBiZWVuIGxpdGVyYWxseSBubyBmZWVk
YmFjayBvbiB0aGlzIGRvY3VtZW50LCBlaXRoZXIgdG8gc2F5IHRoZXkgaGF2ZSByZWFkIHRoZSBk
b2N1bWVudCBhbmQgc3VwcG9ydCBpdCwgb3IgdG8gZXhwcmVzcyBjb25jZXJucyBhYm91dCB0aGUg
ZG9jdW1lbnQuIFNpbGVuY2UsIHVuZm9ydHVuYXRlbHkNCiBpcyBub3QgYSBnb29kIGd1aWRlIGZv
ciB1cy4gVG8gbW92ZSB0aGUgZG9jdW1lbnQgZm9yd2FyZCwgd2UgbmVlZCB0byBoZWFyIGZyb20g
Zm9sa3MsIGluY2x1ZGluZyB0aG9zZSB3aG8gd2VyZSBpbiBJRVRGIDk4LjxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhhbmtzLjxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8
bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDo1LjBw
dDttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPk9u
IEFwciAxOCwgMjAxNywgYXQgNTozNCBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOm1qZXRoYW5hbmRhbmlAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+bWpldGhh
bmFuZGFuaUBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5ORVRDT05GIFdHLDxicj4NCjxicj4NCkluIElFVEYg
OTgsIHRoZSBhdXRob3JzIGluZGljYXRlZCB0aGF0IHRoZSBhYm92ZSBkcmFmdCB3YXMgcmVhZHkg
Zm9yIExhc3QgQ2FsbCwgYW5kIHRoZSBjb25zZW5zdXMgaW4gdGhlIHJvb20gaW5kaWNhdGVkIGFz
IG11Y2guPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJz
cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
VGhpcyBpcyBhIHN0YXJ0IG9mIGEgMiB3ZWVrIFdHIExhc3QgQ2FsbCBmb3IgZHJhZnQtaWV0Zi1u
ZXRjb25mLXJmYzY1MzZiaXMuIEFmdGVyIHR3byB3ZWVrcywgdGhlIGRvY3VtZW50IHdpbGwgYmUg
YXNzaWduZWQgYSBzaGVwaGVyZCwgYW5kIHRoZSBkb2N1bWVudCB3aWxsIGJlIHByZXBhcmVkIGZv
ciBJRVNHLjxicj4NCjxicj4NClRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgZHJhZnQgY2FuIGJl
IGZvdW5kIGF0Ojxicj4NCjxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFm
dC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy0wMSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vdG9v
bHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy0wMTwvYT48YnI+
DQo8YnI+DQpQbGVhc2UgcmV2aWV3IGFuZCBzZW5kIGFueSBjb21tZW50cyB0byB0aGUgV0cgbWFp
bGluZyBsaXN0IG9yIGJ5IHJlc3BvbmRpbmcgdG8gdGhpcyBlLW1haWwuIENvbW1lbnRzIGNhbiBi
ZSBzdGF0ZW1lbnRzIHN1Y2ggYXMsIEkgcmVhZC9yZXZpZXdlZCB0aGUgZG9jdW1lbnQmbmJzcDth
bmQgYmVsaWV2ZSBpdCBpcyByZWFkeSBmb3IgcHVibGljYXRpb24sIG9yIEkgaGF2ZSBjb25jZXJu
cyBhYm91dCB0aGUgZG9jdW1lbnQuIEZvciB0aGUgbGF0dGVyLCBwbGVhc2UNCiBpbmRpY2F0ZSB3
aGF0IHlvdXIgY29uY2VybnMgYXJlLiZuYnNwOzxicj4NCjxicj4NCkFueSByZXBvcnRzIG9uIGlt
cGxlbWVudGF0aW9uIHN0YXR1cyBvciBwbGFucyB0byBpbXBsZW1lbnQgYXJlIGFsc28mbmJzcDt2
ZXJ5IHVzZWZ1bC48bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj5BdXRob3JzLCBwbGVhc2UgaW5kaWNhdGUgaWYgeW91IGFyZSBhd2FyZSBvZiBhbnkgSVBS
cyByZWxhdGVkIHRvIHRoZSBkcmFmdC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPlRoYW5rcy48YnI+DQo8YnI+DQpNYWhlc2ggYW5kIE1l
aG1ldDxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90
ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5NYWhlc2ggJmFtcDsgTWVobWV0
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu
YnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21hcmdpbi1ib3R0b206MTIuMHB0Ij48
YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4N
Ck5ldGNvbmYgbWFpbGluZyBsaXN0PGJyPg0KPGEgaHJlZj0ibWFpbHRvOk5ldGNvbmZAaWV0Zi5v
cmciIHRhcmdldD0iX2JsYW5rIj5OZXRjb25mQGlldGYub3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0
dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0Y29uZiIgdGFyZ2V0PSJfYmxh
bmsiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0Y29uZjwvYT48bzpw
PjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0K
PC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DF95891SJCEML701CHMchi_--



From nobody Thu May  4 12:14:20 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3DD51294CD for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 12:14:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.464
X-Spam-Level: *
X-Spam-Status: No, score=1.464 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RP_MATCHES_RCVD=-0.001, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GNYVoSLHU6iw for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 12:14:18 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D8252126D73 for <netconf@ietf.org>; Thu,  4 May 2017 12:14:17 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 96607F67; Thu,  4 May 2017 21:14:16 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id XNtW-peFN6Vw; Thu,  4 May 2017 21:14:16 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Thu,  4 May 2017 21:14:16 +0200 (CEST)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 526CE2005F; Thu,  4 May 2017 21:14:16 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id STaNqSpJBI4p; Thu,  4 May 2017 21:14:16 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id B970F2005E; Thu,  4 May 2017 21:14:15 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 52B203F39209; Thu,  4 May 2017 21:14:15 +0200 (CEST)
Date: Thu, 4 May 2017 21:14:15 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Message-ID: <20170504191415.GF8393@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/VqpH2_EVgO06rjAVLFuwHMwUdOs>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 19:14:19 -0000

On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierman wrote:

> there is no text about candidate vs. running vs. startup.
> The NACM rules apply to all of them the same.
> I could add text that says there is no consideration for specific
> datastores.
> Most rules apply to the schema tree. Data rules apply to instance data
> but they apply to all instances in all datastores).  I can make this clear
> in the next revision

Does NACM apply to an I2RS datastore? Just checking before a generic
all datastores quantifier is put in place. Perhaps it is safer to say
where we know NACM applies and leave the rest to be defined later.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Thu May  4 13:02:45 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53762128854 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 13:02:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EwWRLWmYh8GR for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 13:02:42 -0700 (PDT)
Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com [IPv6:2a00:1450:400c:c09::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2BD7512778D for <netconf@ietf.org>; Thu,  4 May 2017 13:02:42 -0700 (PDT)
Received: by mail-wm0-x232.google.com with SMTP id u65so6850596wmu.1 for <netconf@ietf.org>; Thu, 04 May 2017 13:02:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=+vPeaHp3//n9utLHWFBFw4ykDNE/QgfG5yyX6ZhCQz8=; b=ep4Xs3ruVa2W+/zfKBnsCwnA9N5+JM/f20lMfVTLUUkxIXy/rmG26mXQEcu3i4E/Ue B6z0M64+e8Z747nND9cEEuVviCX3eaejBfS02xCMlvCi2YkbSOOUsO0XIwPR1r0KyL3L LQACe3HKKRn+Qe9nvoZVXOcGVnvrwIF6yhQYhB+LzK7WmMnZaAiM/eJH9SFpI551XsH4 2gCyiEmAxQyO48cPEwcopAdlXab6L6+vXtYM6faHeMIbt/Gz5y28W6gLb2h8NFdxCkw9 oUKh6NYN6H4hynEd7+wS1g3NCnle6lhSgINcJ5xfjNvTppgPJdlujkA8bnooj1PZPMsu HE2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=+vPeaHp3//n9utLHWFBFw4ykDNE/QgfG5yyX6ZhCQz8=; b=bjIYmf8CRuke8iEgkRYXgUKQgoOinfYJFzm1JV1JyAhyznqVGGOI7G6y7CDhxsc5s4 UK4lqC71trh0BH26/qBpwm0jnYbt+fuG3CrVjMo7IM3VdyMfs3fkw4nA4gIuVdXyQ3wI vkSb55873cvR6TPwU+vCQVRSncwm8ChCe8P2DyeRbwNtuLaPiNO1O8c7LvsfNOeCvUlj tiQ+s6PupGseQJesjw4d5CReYsJ12iPaKlJuA5+jfik2yoKLkt/pDKIpOz4msbKpGFvw akwSyX/xMP4mgpr0+D+nyHYywyp6O0Oi+mP08uDyHwDT0KdXY4wROTxlnM4/udQLguOR E8Cw==
X-Gm-Message-State: AN3rC/7v7kyo40dpwIMPcKtk65gdJ/kbM2jU0TxnRwaTjQ8y8dYONFbl tEOoQXDfOUJlp8X0ewnHZKFwYC3qgg==
X-Received: by 10.28.20.9 with SMTP id 9mr2908894wmu.99.1493928160702; Thu, 04 May 2017 13:02:40 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 4 May 2017 13:02:39 -0700 (PDT)
In-Reply-To: <20170504191415.GF8393@elstar.local>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170504191415.GF8393@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 4 May 2017 13:02:39 -0700
Message-ID: <CABCOCHT5_Up8v5m_0b7Fx9siMTATZPeL9tbC_Pciw1gUyCsTiQ@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>,  Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=001a1145a8ea56cf05054eb8411a
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ORALgZF4U6a1M9n5FMvPdeUXT0c>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 20:02:44 -0000

--001a1145a8ea56cf05054eb8411a
Content-Type: text/plain; charset=UTF-8

On Thu, May 4, 2017 at 12:14 PM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierman wrote:
>
> > there is no text about candidate vs. running vs. startup.
> > The NACM rules apply to all of them the same.
> > I could add text that says there is no consideration for specific
> > datastores.
> > Most rules apply to the schema tree. Data rules apply to instance data
> > but they apply to all instances in all datastores).  I can make this
> clear
> > in the next revision
>
> Does NACM apply to an I2RS datastore? Just checking before a generic
> all datastores quantifier is put in place. Perhaps it is safer to say
> where we know NACM applies and leave the rest to be defined later.
>
>
It applies to all datastores.
The datastore may not support all the CRUD operations that NACM supports.
The subset that does apply is enforced.

The other variant (the datastore supports more operations than the
NACM CRUDX model supports) is not covered.

So NACM should be careful to say new operations not covered by CRUDX
are out of scope.

IMO the  I2RS user priority enforcement is part of the protocol, not NACM,
similar to NETCONF enforcing data-missing on a delete operation.



> /js
>

Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>

--001a1145a8ea56cf05054eb8411a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 4, 2017 at 12:14 PM, Juergen Schoenwaelder <span dir=3D"ltr=
">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_bl=
ank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex">On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierm=
an wrote:<br>
<br>
&gt; there is no text about candidate vs. running vs. startup.<br>
&gt; The NACM rules apply to all of them the same.<br>
&gt; I could add text that says there is no consideration for specific<br>
&gt; datastores.<br>
&gt; Most rules apply to the schema tree. Data rules apply to instance data=
<br>
&gt; but they apply to all instances in all datastores).=C2=A0 I can make t=
his clear<br>
&gt; in the next revision<br>
<br>
Does NACM apply to an I2RS datastore? Just checking before a generic<br>
all datastores quantifier is put in place. Perhaps it is safer to say<br>
where we know NACM applies and leave the rest to be defined later.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></blockquo=
te><div><br></div><div>It applies to all datastores.</div><div>The datastor=
e may not support all the CRUD operations that NACM supports.</div><div>The=
 subset that does apply is enforced.</div><div><br></div><div>The other var=
iant (the datastore supports more operations than the</div><div>NACM CRUDX =
model supports) is not covered.</div><div><br></div><div>So NACM should be =
careful to say new operations not covered by CRUDX</div><div>are out of sco=
pe.</div><div><br></div><div>IMO the =C2=A0I2RS user priority enforcement i=
s part of the protocol, not NACM,</div><div>similar to NETCONF enforcing da=
ta-missing on a delete operation.</div><div><br></div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex"><span class=3D"HOEnZb"><font color=3D"#888888">
/js<br></font></span></blockquote><div><br></div><div>Andy</div><div>=C2=A0=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><span class=3D"HOEnZb"><font color=3D"=
#888888">
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_blan=
k">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
</font></span></blockquote></div><br></div></div>

--001a1145a8ea56cf05054eb8411a--


From nobody Thu May  4 13:19:30 2017
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D386612778D for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 13:19:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.1
X-Spam-Level: 
X-Spam-Status: No, score=-0.1 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lw2JWP-N1Eff for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 13:19:28 -0700 (PDT)
Received: from mail-pg0-x22b.google.com (mail-pg0-x22b.google.com [IPv6:2607:f8b0:400e:c05::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 83604129B45 for <netconf@ietf.org>; Thu,  4 May 2017 13:19:28 -0700 (PDT)
Received: by mail-pg0-x22b.google.com with SMTP id o3so14050886pgn.2 for <netconf@ietf.org>; Thu, 04 May 2017 13:19:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=UJ/KXaigu+UJgqTYrqfBh0POQQCxhr+6+yDG11Ma8do=; b=gqAg8+iNKUNbYz1e+cdzH8VWd+uuVJ+6zO1NcmlEkWu1zoT7TPzLHiTdJGRiF0M/7j 8ZviBSo2M6DxirIeFfz2f4hvPVuixIZS/uGesiJUh/lqKAIL1nQ+xgna3QQ+TadVZA4L Vmxzs+BGFwhagO415BjWWSRNutTWJimwwffufqsg6sygs6fLw/YDyovewADNMYGZvVfh JV5RT+nwWtyOiWcLTL0/GfRVD3Svl9tlkwnCewCaF6/xo31de70/2j2DPewm+x5VCV50 4Mfr57wKZO7g7c9m0a2U4tJ4Iu+y8+b4w77WfOdCh/pDWhqIyXxhT62op1vBEaLyvBJM 0Weg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=UJ/KXaigu+UJgqTYrqfBh0POQQCxhr+6+yDG11Ma8do=; b=qesY3wfda0yqumbdX4rHNx98GgFHRH3yDNgdtkku5XfRy/VVb2gOh+si5HkUg/F2Q+ aO+ISWqF2VPQfUSRzVCrqOtknYLHRl3S3nxExXSpewsIPKjvAwpgfN+E87vPs5EiRJ7L mBJBxSpw1n3tFtUwD9Gh6OKPaLBEQeoJK6HqtvbSWu4yBAajogpM0Iqk3U4zca3E5t7Z TGd7zo69XisbLakP9nTMX8fK0iSW4MwXnshgb+5Na6xMTeWuz90oLMRmQ7/WyCtB4iaG RsuSThrFgGHUOfWgnqLLLi+cLHYE0X1vQQAj6AIlSoUAxE2dhJxbHsL4oAgTiqm1sZ/e QUqg==
X-Gm-Message-State: AN3rC/4GPtzJ2vlGbYfgcLWZKcfC6sII/qx9Z5yiFrxLUdyYAsdzhWWS nq7IysD6OT6dXw==
X-Received: by 10.99.44.140 with SMTP id s134mr47148929pgs.178.1493929168170;  Thu, 04 May 2017 13:19:28 -0700 (PDT)
Received: from ?IPv6:2001:420:30d:1254:8485:c34a:7f8c:9cd1? ([2001:420:30d:1254:8485:c34a:7f8c:9cd1]) by smtp.gmail.com with ESMTPSA id d83sm6099711pfe.40.2017.05.04.13.19.27 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 04 May 2017 13:19:27 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_05793E00-9AF5-4B11-B596-9B6162F3AA4A"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
Date: Thu, 4 May 2017 13:19:26 -0700
Cc: Netconf <netconf@ietf.org>, Benoit Claise <bclaise@cisco.com>
Message-Id: <5EE8F944-8617-49DB-A252-C90CB48BF55A@gmail.com>
References: <005801d2c451$b2499ed0$16dcdc70$@gmail.com>
To: Mehmet Ersue <mersue@gmail.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/iiFe7Gg1bnzyYYS615ous3axA-s>
Subject: Re: [Netconf] Resigning from NETCONF Co-chair Position
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 May 2017 20:19:30 -0000

--Apple-Mail=_05793E00-9AF5-4B11-B596-9B6162F3AA4A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Thank you Mehmet for all his years of contribution as chair and wish you =
all the best as you move into retirement mode. See you in Prague.

> On May 3, 2017, at 2:10 PM, Mehmet Ersue <mersue@gmail.com> wrote:
>=20
> Dear NETCONF WG,
> =20
> as I informed Benoit and Mahesh, after 9 years I=E2=80=99m going to =
resign from WG co-chair position effective with the end of IETF #99 =
meeting.=20
> Thank You very much for your kind support all the years.     =20
> =20
> People interested to become NETCONF WG co-chair please contact our AD =
soon.
> =20
> Regards,=20
> Mehmet=20

Mahesh Jethanandani
mjethanandani@gmail.com




--Apple-Mail=_05793E00-9AF5-4B11-B596-9B6162F3AA4A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D"">Thank you Mehmet for all his years of contribution as chair =
and wish you all the best as you move into retirement mode. See you in =
Prague.<div class=3D""><div class=3D""><br class=3D""><div><blockquote =
type=3D"cite" class=3D""><div class=3D"">On May 3, 2017, at 2:10 PM, =
Mehmet Ersue &lt;<a href=3D"mailto:mersue@gmail.com" =
class=3D"">mersue@gmail.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"WordSection1" style=3D"page: WordSection1; font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: =
0px;"><div style=3D"margin: 0cm 0cm 0.0001pt; font-size: 11pt; =
font-family: Calibri, sans-serif;" class=3D""><span style=3D"color: =
rgb(0, 0, 204);" class=3D"">Dear NETCONF WG,<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D"">&nbsp;<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D"">as I informed Benoit and =
Mahesh, after 9 years I=E2=80=99m going to resign from WG co-chair =
position effective with the end of IETF #99 meeting.<span =
class=3D"Apple-converted-space">&nbsp;</span><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D"">Thank You very much for your =
kind support all the years.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span =
class=3D"Apple-converted-space">&nbsp;</span><o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D""><o:p =
class=3D"">&nbsp;</o:p></span></div><div style=3D"margin: 0cm 0cm =
0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif;" =
class=3D""><span style=3D"color: rgb(0, 0, 204);" class=3D"">People =
interested to become NETCONF WG co-chair please contact our AD soon.<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D"">&nbsp;<o:p =
class=3D""></o:p></span></div><div style=3D"margin: 0cm 0cm 0.0001pt; =
font-size: 11pt; font-family: Calibri, sans-serif;" class=3D""><span =
style=3D"color: rgb(0, 0, 204);" class=3D"">Regards,<span =
class=3D"Apple-converted-space">&nbsp;</span><br class=3D"">Mehmet<span =
class=3D"Apple-converted-space">&nbsp;</span></span></div></div></div></bl=
ockquote></div><br class=3D""><div class=3D"">
<div class=3D"">Mahesh Jethanandani</div><div class=3D""><a =
href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a></div><div class=3D""><br =
class=3D""></div><br class=3D"Apple-interchange-newline">

</div>
<br class=3D""></div></div></body></html>=

--Apple-Mail=_05793E00-9AF5-4B11-B596-9B6162F3AA4A--


From nobody Thu May  4 22:43:38 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CF04C1293F9 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 22:43:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.663
X-Spam-Level: 
X-Spam-Status: No, score=0.663 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, RP_MATCHES_RCVD=-0.001, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FGxf44jjl2Ij for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 22:43:35 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B262F1273B1 for <netconf@ietf.org>; Thu,  4 May 2017 22:43:32 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 1ED1377; Fri,  5 May 2017 07:43:30 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id zJ4cX5rTvZwJ; Fri,  5 May 2017 07:43:29 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Fri,  5 May 2017 07:43:29 +0200 (CEST)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id C1AAE2005E; Fri,  5 May 2017 07:43:29 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius1.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id v-KkLx7IMkhA; Fri,  5 May 2017 07:43:29 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 2427420053; Fri,  5 May 2017 07:43:28 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 474CF3F3996C; Fri,  5 May 2017 07:43:28 +0200 (CEST)
Date: Fri, 5 May 2017 07:43:28 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Message-ID: <20170505054328.GA9029@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170504191415.GF8393@elstar.local> <CABCOCHT5_Up8v5m_0b7Fx9siMTATZPeL9tbC_Pciw1gUyCsTiQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CABCOCHT5_Up8v5m_0b7Fx9siMTATZPeL9tbC_Pciw1gUyCsTiQ@mail.gmail.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/j0rMa28oQzYp_EvcNHYkZMQCPPA>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 May 2017 05:43:37 -0000

On Thu, May 04, 2017 at 01:02:39PM -0700, Andy Bierman wrote:
> On Thu, May 4, 2017 at 12:14 PM, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> 
> > On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierman wrote:
> >
> > > there is no text about candidate vs. running vs. startup.
> > > The NACM rules apply to all of them the same.
> > > I could add text that says there is no consideration for specific
> > > datastores.
> > > Most rules apply to the schema tree. Data rules apply to instance data
> > > but they apply to all instances in all datastores).  I can make this
> > clear
> > > in the next revision
> >
> > Does NACM apply to an I2RS datastore? Just checking before a generic
> > all datastores quantifier is put in place. Perhaps it is safer to say
> > where we know NACM applies and leave the rest to be defined later.
> >
> >
> It applies to all datastores.
> The datastore may not support all the CRUD operations that NACM supports.
> The subset that does apply is enforced.
>
> The other variant (the datastore supports more operations than the
> NACM CRUDX model supports) is not covered.
> 
> So NACM should be careful to say new operations not covered by CRUDX
> are out of scope.
> 
> IMO the  I2RS user priority enforcement is part of the protocol, not NACM,
> similar to NETCONF enforcing data-missing on a delete operation.
> 

Do we allow for the possibility to have datastores that use a
different access control model, if ever needed?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Thu May  4 22:55:33 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72DF51293E9 for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 22:55:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A4dqtCalIuHS for <netconf@ietfa.amsl.com>; Thu,  4 May 2017 22:55:30 -0700 (PDT)
Received: from mail-wm0-x234.google.com (mail-wm0-x234.google.com [IPv6:2a00:1450:400c:c09::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AF3A91200B9 for <netconf@ietf.org>; Thu,  4 May 2017 22:55:29 -0700 (PDT)
Received: by mail-wm0-x234.google.com with SMTP id w64so14524177wma.0 for <netconf@ietf.org>; Thu, 04 May 2017 22:55:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=jBpjGUtWV5hpRqiVm+U0xotMbgIalHcDgAdKrad217U=; b=DDJYHiwGpbAYqZv9Epgft0CEtPbIEjpc+/U6mbNStaihHme7OldyZMUvTmctyEF5gp 8FjrzkA2IHmL7FxOqXZRGhqeVL06H1vJvV8ieK86KoIjpmpMcoVnVzu5J/l8Cn6pcj7q gf+emYlRFMGo7liZfq9gjEEhjv+78HKGmvj0m6z0dmKglQY+3fQOh4RjmvRCsLM4x0jb ubYq6k2bupLFJkr7DlIYymS0/kYsPjXVnR3LmvrWBluvUe5xpuVPFJVN4xX47WuN5Woe VlqSUYyXtldr+O6OI9L7XS6Pv3iV1fj7QEFZhj5i5QgZKqjdybt4EDaKq66USODdmBt0 JDvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=jBpjGUtWV5hpRqiVm+U0xotMbgIalHcDgAdKrad217U=; b=FXvuwhGKwLOFZD/lEuHP+XvhWjHfIksGU+0QaWIVfPKxj3lQgFznKw5246s3PzOkI5 DgWSxR03bf0b9TujpeHdzY22wdnxkEvrGXle2CYARip1p64/1YjYxJDnLR/jMNCsbPRQ GetoJDGy3RCJfupDmsksRiFFefbBNWQ1cGH3MmfKnoO/HfZQSthQyhJAmUrJFjyeFvtd XS4dpPr/3qC9LAeVnRby3fpjEVqr/MYSKIQSTrlxCWrqe9kDJVAjSNFoNmW18aUfA1JI 2rufflQO9yOf4+AaIFRMCa+uY7DHKZNGQ7TikvCvFdUzzgEiZpp9tf+2GJzwPUkgSu8t rjHg==
X-Gm-Message-State: AN3rC/73BOQcRUT+bIcq6aozVd4izroI6CaVI6NlxqiqPibLgAfIBaKE Zr5pEU3c05KD5WcjDOoEeW11MD+B5A==
X-Received: by 10.28.133.70 with SMTP id h67mr3942454wmd.136.1493963728091; Thu, 04 May 2017 22:55:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 4 May 2017 22:55:27 -0700 (PDT)
In-Reply-To: <20170505054328.GA9029@elstar.local>
References: <A13E62FA-AB96-4164-98D5-3CC1D04A78E8@gmail.com> <E236AC6C-4B6D-43B1-8092-0B8AA3F4D6AA@gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF956E8@SJCEML701-CHM.china.huawei.com> <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170504191415.GF8393@elstar.local> <CABCOCHT5_Up8v5m_0b7Fx9siMTATZPeL9tbC_Pciw1gUyCsTiQ@mail.gmail.com> <20170505054328.GA9029@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 4 May 2017 22:55:27 -0700
Message-ID: <CABCOCHT0LT=z4JcPkdzSRoVEPJ5MoO6PvHYojgRQHUf_aUFT0g@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>,  Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=001a114431f8521700054ec089db
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/wAmA7qA-G6SlWlROlua2SmHm8i8>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 05 May 2017 05:55:32 -0000

--001a114431f8521700054ec089db
Content-Type: text/plain; charset=UTF-8

On Thu, May 4, 2017 at 10:43 PM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Thu, May 04, 2017 at 01:02:39PM -0700, Andy Bierman wrote:
> > On Thu, May 4, 2017 at 12:14 PM, Juergen Schoenwaelder <
> > j.schoenwaelder@jacobs-university.de> wrote:
> >
> > > On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierman wrote:
> > >
> > > > there is no text about candidate vs. running vs. startup.
> > > > The NACM rules apply to all of them the same.
> > > > I could add text that says there is no consideration for specific
> > > > datastores.
> > > > Most rules apply to the schema tree. Data rules apply to instance
> data
> > > > but they apply to all instances in all datastores).  I can make this
> > > clear
> > > > in the next revision
> > >
> > > Does NACM apply to an I2RS datastore? Just checking before a generic
> > > all datastores quantifier is put in place. Perhaps it is safer to say
> > > where we know NACM applies and leave the rest to be defined later.
> > >
> > >
> > It applies to all datastores.
> > The datastore may not support all the CRUD operations that NACM supports.
> > The subset that does apply is enforced.
> >
> > The other variant (the datastore supports more operations than the
> > NACM CRUDX model supports) is not covered.
> >
> > So NACM should be careful to say new operations not covered by CRUDX
> > are out of scope.
> >
> > IMO the  I2RS user priority enforcement is part of the protocol, not
> NACM,
> > similar to NETCONF enforcing data-missing on a delete operation.
> >
>
> Do we allow for the possibility to have datastores that use a
> different access control model, if ever needed?
>

that would certainly be out of scope for this document.
If something else replaces NACM the server would advertise that module
instead of ietf-netconf-acm.



> /js'
>


Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>

--001a114431f8521700054ec089db
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 4, 2017 at 10:43 PM, Juergen Schoenwaelder <span dir=3D"ltr=
">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_bl=
ank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex">On Thu, May 04, 2017 at 01:02:39PM -0700, Andy Bierm=
an wrote:<br>
&gt; On Thu, May 4, 2017 at 12:14 PM, Juergen Schoenwaelder &lt;<br>
&gt; <a href=3D"mailto:j.schoenwaelder@jacobs-university.de">j.schoenwaelde=
r@jacobs-<wbr>university.de</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On Thu, May 04, 2017 at 11:28:48AM -0700, Andy Bierman wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt; there is no text about candidate vs. running vs. startup.<br=
>
&gt; &gt; &gt; The NACM rules apply to all of them the same.<br>
&gt; &gt; &gt; I could add text that says there is no consideration for spe=
cific<br>
&gt; &gt; &gt; datastores.<br>
&gt; &gt; &gt; Most rules apply to the schema tree. Data rules apply to ins=
tance data<br>
&gt; &gt; &gt; but they apply to all instances in all datastores).=C2=A0 I =
can make this<br>
&gt; &gt; clear<br>
&gt; &gt; &gt; in the next revision<br>
&gt; &gt;<br>
&gt; &gt; Does NACM apply to an I2RS datastore? Just checking before a gene=
ric<br>
&gt; &gt; all datastores quantifier is put in place. Perhaps it is safer to=
 say<br>
&gt; &gt; where we know NACM applies and leave the rest to be defined later=
.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; It applies to all datastores.<br>
&gt; The datastore may not support all the CRUD operations that NACM suppor=
ts.<br>
&gt; The subset that does apply is enforced.<br>
&gt;<br>
&gt; The other variant (the datastore supports more operations than the<br>
&gt; NACM CRUDX model supports) is not covered.<br>
&gt;<br>
&gt; So NACM should be careful to say new operations not covered by CRUDX<b=
r>
&gt; are out of scope.<br>
&gt;<br>
&gt; IMO the=C2=A0 I2RS user priority enforcement is part of the protocol, =
not NACM,<br>
&gt; similar to NETCONF enforcing data-missing on a delete operation.<br>
&gt;<br>
<br>
Do we allow for the possibility to have datastores that use a<br>
different access control model, if ever needed?<br></blockquote><div><br></=
div><div>that would certainly be out of scope for this document.</div><div>=
If something else replaces NACM the server would advertise that module</div=
><div>instead of ietf-netconf-acm.</div><div><br></div><div><br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
c solid;padding-left:1ex">
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
/js&#39;<br></font></span></blockquote><div><br></div><div><br></div><div>A=
ndy</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D"HOE=
nZb"><font color=3D"#888888">
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_blan=
k">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
</font></span></blockquote></div><br></div></div>

--001a114431f8521700054ec089db--


From nobody Mon May  8 01:18:46 2017
Return-Path: <zhengguangying@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 97008120724; Mon,  8 May 2017 01:18:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JfpOQ8Q6ToNO; Mon,  8 May 2017 01:18:42 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F2BC312426E; Mon,  8 May 2017 01:18:40 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML710-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DGE43887; Mon, 08 May 2017 08:18:35 +0000 (GMT)
Received: from NKGEML413-HUB.china.huawei.com (10.98.56.74) by LHREML710-CAH.china.huawei.com (10.201.108.33) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 8 May 2017 09:18:33 +0100
Received: from NKGEML513-MBS.china.huawei.com ([169.254.2.108]) by NKGEML413-HUB.china.huawei.com ([10.98.56.74]) with mapi id 14.03.0235.001; Mon, 8 May 2017 16:18:21 +0800
From: "Zhengguangying (Walker)" <zhengguangying@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, Alexander Clemm <alexander.clemm@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Zhuzhiguo (Zhuzhiguo, CSD)" <zhuzhiguo@huawei.com>, "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>, "Liubin (Nickylba)" <nickylba.liubin@huawei.com>
Thread-Topic: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
Thread-Index: AdLDR3hOn9XaWmkfSOG01TBPVl+DnAAAtJVQAArbmIAAJ0v9wADu/t3A
Date: Mon, 8 May 2017 08:18:20 +0000
Message-ID: <381D7D55085B1E4D8B581BD652E1E140B2A88E82@nkgeml513-mbs.china.huawei.com>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com> <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com> <31b203916b3b4081a6d0b88cfb8f0fbc@XCH-RTP-013.cisco.com>
In-Reply-To: <31b203916b3b4081a6d0b88cfb8f0fbc@XCH-RTP-013.cisco.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.135.34.88]
Content-Type: multipart/alternative; boundary="_000_381D7D55085B1E4D8B581BD652E1E140B2A88E82nkgeml513mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A0B0208.591029DE.011F, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.2.108, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: d7fb1fdc86aa5aff5517b73e28d5058c
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/SJ376MxCj7GJqhGD2UkDL6ttFDo>
Subject: Re: [Netconf] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 May 2017 08:18:45 -0000

--_000_381D7D55085B1E4D8B581BD652E1E140B2A88E82nkgeml513mbschi_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SGkgRXJpYywgQWxleA0KDQogICBUaGFua3MgZm9yIHlvdXIgeW91ciBleGNlbGxlbnQgcmVzcG9u
c2UsIGZvciBzb21lIGRvdWJ0IEkgaGF2ZSBhZGQgc21hbGwgaXRlbXMgaW5saW5lIDx3YWxrZXI+
IC4NCg0KV2Fsa2VyDQoNCkZyb206IEVyaWMgVm9pdCAoZXZvaXQpIFttYWlsdG86ZXZvaXRAY2lz
Y28uY29tXQ0KU2VudDogMjAxN8TqNdTCM8jVIDIxOjU3DQpUbzogQWxleGFuZGVyIENsZW1tOyBa
aGVuZ2d1YW5neWluZyAoV2Fsa2VyKQ0KQ2M6IG5ldGNvbmZAaWV0Zi5vcmc7IG5ldG1vZEBpZXRm
Lm9yZw0KU3ViamVjdDogUkU6IGhpIEFsZXgsIEVyaWMgYW5kIGRlc2lnbiB0ZWFtIGd1eXMgc29t
ZSBjb21tZW50cyBmb3IgWUFORy1wdXNoIGFuZCBzdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMsIHBs
ZWFzZSBoZWxwIHRvIGNvbmZpcm0NCg0KKE1vdmluZyBsb3RzIG9mIHBlb3BsZSB0byChrkJDQ6Gv
IHNvIHRoYXQgdGhpcyB0aHJlYWQgY2FuIHRyYXZlcnNlIE5FVENPTkYgJiBORVRNT0QgZmlsdGVy
cyBhcyBXYWxrZXIgb3JpZ2luYWxseSBpbnRlbmRlZC4pDQoNCk9uZSBtb3JlIGNvbW1lbnQsIHNl
ZSA8PEVyaWM+Pg0KDQpGcm9tOiBBbGV4YW5kZXIgQ2xlbW0sIE1heSAyLCAyMDE3IDg6MzUgUE0N
CkhpIFdhbGtlciwgdGhhbmsgeW91IGZvciB5b3VyIHJldmlldyBhbmQgY29tbWVudHMsIGFuZCBF
cmljLCBmb3IgeW91ciBleGNlbGxlbnQgcmVzcG9uc2UsIHRvIHdoaWNoIEkgaGF2ZSBsaXR0bGUg
dG8gYWRkIGV4Y2VwdCBhIGZldyBzbWFsbCBpdGVtcyBpbmxpbmUgPEFMRVg+DQotLS0gQWxleA0K
DQpGcm9tOiBFcmljIFZvaXQgKGV2b2l0KSBbbWFpbHRvOmV2b2l0QGNpc2NvLmNvbV0NClNlbnQ6
IFR1ZXNkYXksIE1heSAwMiwgMjAxNyA5OjUyIEFNDQpUbzogWmhlbmdndWFuZ3lpbmcgKFdhbGtl
cikgPHpoZW5nZ3Vhbmd5aW5nQGh1YXdlaS5jb208bWFpbHRvOnpoZW5nZ3Vhbmd5aW5nQGh1YXdl
aS5jb20+PjsgbHVkd2lnQGNsZW1tLm9yZzxtYWlsdG86bHVkd2lnQGNsZW1tLm9yZz47IGFsZXhA
Y2xlbW0ub3JnPG1haWx0bzphbGV4QGNsZW1tLm9yZz47ICdCYWxhenMgTGVuZ3llbCcgPGJhbGF6
cy5sZW5neWVsQGVyaWNzc29uLmNvbTxtYWlsdG86YmFsYXpzLmxlbmd5ZWxAZXJpY3Nzb24uY29t
Pj4NCkNjOiBuZXRjb25mQGlldGYub3JnPG1haWx0bzpuZXRjb25mQGlldGYub3JnPjsgbmV0bW9k
QGlldGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+OyBBbWJpa2EgUHJhc2FkIFRyaXBhdGh5
IChhbWJ0cmlwYSkgPGFtYnRyaXBhQGNpc2NvLmNvbTxtYWlsdG86YW1idHJpcGFAY2lzY28uY29t
Pj47ICdLZW50IFdhdHNlbicgPGt3YXRzZW5AanVuaXBlci5uZXQ8bWFpbHRvOmt3YXRzZW5AanVu
aXBlci5uZXQ+PjsgSGVjdG9yIFRyZXZpbm8gKGh0cmV2aW5vKSA8aHRyZXZpbm9AY2lzY28uY29t
PG1haWx0bzpodHJldmlub0BjaXNjby5jb20+PjsgRWluYXIgTmlsc2VuLU55Z2FhcmQgKGVpbmFy
bm4pIDxlaW5hcm5uQGNpc2NvLmNvbTxtYWlsdG86ZWluYXJubkBjaXNjby5jb20+PjsgR3VvcGVp
cGVpIChQZWlwZWkgR3VvKSA8Z3VvcGVpcGVpQGh1YXdlaS5jb208bWFpbHRvOmd1b3BlaXBlaUBo
dWF3ZWkuY29tPj47IEFsYmVydG8gR29uemFsZXogUHJpZXRvIChhbGJlcnRnbykgPGFsYmVydGdv
QGNpc2NvLmNvbTxtYWlsdG86YWxiZXJ0Z29AY2lzY28uY29tPj47ICdBbmR5IEJpZXJtYW4nIDxh
bmR5QHl1bWF3b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+OyAnQ2hpc2hvbG0s
IFNoYXJvbicgPHNjaGlzaG9sQGNpZW5hLmNvbTxtYWlsdG86c2NoaXNob2xAY2llbmEuY29tPj47
IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj47
IEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb208bWFpbHRvOmFsZXhh
bmRlci5jbGVtbUBodWF3ZWkuY29tPj47ICdTdXNhbiBIYXJlcycgPHNoYXJlc0BuZHpoLmNvbTxt
YWlsdG86c2hhcmVzQG5kemguY29tPj47IFRpbSBKZW5raW5zICh0aW1qZW5raSkgPHRpbWplbmtp
QGNpc2NvLmNvbTxtYWlsdG86dGltamVua2lAY2lzY28uY29tPj47ICdTY2hhcmYsIE1pY2hhZWwg
KE5va2lhIC0gREUpJyA8bWljaGFlbC5zY2hhcmZAbm9raWEuY29tPG1haWx0bzptaWNoYWVsLnNj
aGFyZkBub2tpYS5jb20+PjsgUm9oaXQgcG9iYmF0aGkgPHJvaGl0LnBvYmJhdGhpQGh1YXdlaS5j
b208bWFpbHRvOnJvaGl0LnBvYmJhdGhpQGh1YXdlaS5jb20+PjsgJ01laG1ldEVyc3VlJyA8bWVy
c3VlQGdtYWlsLmNvbTxtYWlsdG86bWVyc3VlQGdtYWlsLmNvbT4+OyBNYWhlc2ggSmV0aGFuYW5k
YW5pIChtYWhlc2gpIDxtYWhlc2hAY2lzY28uY29tPG1haWx0bzptYWhlc2hAY2lzY28uY29tPj4N
ClN1YmplY3Q6IFJFOiBoaSBBbGV4LCBFcmljIGFuZCBkZXNpZ24gdGVhbSBndXlzIHNvbWUgY29t
bWVudHMgZm9yIFlBTkctcHVzaCBhbmQgc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zLCBwbGVhc2Ug
aGVscCB0byBjb25maXJtDQoNCkhpIFdhbGtlciwNCg0KVGhhbmtzIHZlcnkgbXVjaCBmb3IgdGhl
IGNvbW1lbnRzLiAgIFNvbWUgdGhvdWdodHMgaW4tbGluZS4NCg0KRnJvbTogWmhlbmdndWFuZ3lp
bmcgKFdhbGtlciksIE1heSAyLCAyMDE3IDk6MjUgQU0NCkhpIEFsZXgsIEVyaWMgYW5kIGFsbCwN
Cg0KICAgSSByZXZpZXdlZCB0aGUgbGF0ZXN0IERyYWZ0IGFuZCBoYXZlIHNvbWUgY29tbWVudHMs
IHBsZWFzZSBoZWxwIHRvIGNvbmZpcm0sIHRoYW5rcy4NCg0KICAgRm9yIGRyYWZ0LWlldGYtbmV0
Y29uZi15YW5nLXB1c2gtMDY6DQoxLiAgICAgICBJbiBzZWN0aW9uIDQuMSwgdGhlIGNvbmZpZ3Vy
ZWQgc3Vic2NyaXB0aW9uIHJlY2VpdmVycyBub3Qgc2VwY2lmeSB3aGljaCBtZWNobmlzbSB0byBj
b25uZWN0IHRvIGNsaWVudCwgaXQncyBiZXR0ZXIgZGVmaW5lIGNsZWFybHksIHNwZWNpZnkgaXQg
c2hvdWxkIGJlIGNhbGwgaG9tZSBwcm90b2NvbC4NCjxFcmljPiBJIHRvdGFsbHkgYWdyZWUgY2Fs
bCBob21lIGlzIG5lY2Vzc2FyeS4gIFRoZSB0d28gdHJhbnNwb3J0IGRyYWZ0cyBjdXJyZW50bHkg
aGF2ZSB0aGUgY2FsbC1ob21lIHNwZWNpZmllZCB3aXRoaW4gdGhlbS4gIEFzIHdlIGRlZmluZSB0
aGUgdHJhbnNwb3J0IHByb3RvY29sIHBlciByZWNlaXZlciwgdGhlIGFwcHJvcHJpYXRlIGNhbGwg
aG9tZSBtZWNoYW5pc20gZm9yIGEgcGxhdGZvcm0gdHJhbnNwb3J0IHNob3VsZCBiZSBhdXRvbWF0
aWNhbGx5IHNlbGVjdGFibGUuICBJIHdpbGwgY2xhcmlmeS9pbXByb3ZlIHRoZSB0ZXh0IGluIHRo
ZSBzdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMgZHJhZnQgdG8gaW5kaWNhdGUgdGhpcy4NCklzIHRo
ZXJlIHNvbWV0aGluZyBlbHNlIG5lZWRlZCBhdCB0aGUgcHJvdG9jb2wgaW5kZXBlbmRlbnQgbGV2
ZWw/ICAgQXQgdGhpcyBwb2ludCBJIGRvbqGvdCBrbm93IG9mIGFueSB0cmFuc3BvcnQtaW5kZXBl
bmRlbnQgY2FsbCBob21lIGJlaGF2aW9ycyB1bnNwZWNpZmllZCwgb3RoZXIgdGhhbiB0aGUgbmVl
ZCB0byBhZGQgYSBjb250ZXh0IHN0YXRlbWVudCBzYXlpbmcgY2FsbCBob21lIGlzIG5lY2Vzc2Fy
eSBpZiB0cmFuc3BvcnQgaXNuoa90IGF2YWlsYWJsZSBmb3IgYSBxdWV1ZWQgcHVzaCB1cGRhdGUg
bWVzc2FnZS4gIEkgZG9uoa90IHRoaW5rIHdlIHNob3VsZCBvdmVyIHNwZWNpZnkgdGhpcyByaWdo
dCBub3cuICBUaGlzIGlzIGJlY2F1c2UgZm9yIHNvbWUgdHJhbnNwb3J0IGNvbm5lY3Rpb24gdHlw
ZXMsIGNhbGwgaG9tZSBkb2VzbqGvdCBuZWVkIHRvIGJlIGFsd2F5cy1vbi4gIEUuZy4sIEhUVFAg
aW1wbGVtZW50YXRpb25zIGhhdmUgdGhlIHBvdGVudGlhbCB0byBzY2FsZSBkaWZmZXJlbnRseSB0
aGFuIE5FVENPTkYgaWYgYSBjb25maWd1cmVkIHN1YnNjcmlwdGlvbiB0cmFuc3BvcnQgY2FuIGJl
IGVzdGFibGlzaGVkIGFkLWhvYyBvbmx5IHdoZW4gYSBwdXNoLXVwZGF0ZSBpcyByZWFkeSB0byBn
by4gICBJZiB0aGVyZSBhcmUgb3RoZXIgc3BlY2lmaWMgYmVoYXZpb3JzIG5lZWRlZCBmb3IgY2Fs
bC1ob21lIGJlaGF2aW9yLCB3aGF0IGFyZSB0aGV5PyAgQXJlIHRoZXNlIHNvbWV0aGluZyB0aGF0
IGNhbiB2YXJ5IGJ5IHRyYW5zcG9ydCBwcm90b2NvbCBhbmQgaW1wbGVtZW50YXRpb24/DQo8d2Fs
a2VyPiAgSXShr3MgZ29vZCB0byBjbGFyaWZ5IHRoZSBtZWNoYW5pc20gc3VnZ2VzdGVkLg0KID4+
SWYgdGhlcmUgYXJlIG90aGVyIHNwZWNpZmljIGJlaGF2aW9ycyBuZWVkZWQgZm9yIGNhbGwtaG9t
ZSBiZWhhdmlvciwgd2hhdCBhcmUgdGhleT8NCkNhbGwtaG9tZSBmZWF0dXJlIG5lZWQgc29tZSBh
ZGRpdGlvbmFsIHBhcmFtZXRlcnMsIHdoZXJlIHdlIG5lZWQgc3BlY2lmeSBoZXJlIG9yIGp1c3Qg
YWRkIGEgcmVmZXJlbmNlIHRvIGNhbGwtaG9tZSBjb25maWd1cmF0aW9uID8NCj4+IEFyZSB0aGVz
ZSBzb21ldGhpbmcgdGhhdCBjYW4gdmFyeSBieSB0cmFuc3BvcnQgcHJvdG9jb2wgYW5kIGltcGxl
bWVudGF0aW9uPw0KSSB0aGluayBpdCBuZWVkLiAgTmV3IHRyYW5zcG9ydCBwcm90b2NvbCBjYW4g
YWRkIHRoZXJlIGNob2ljZS9jYXNlLg0KSW4gWUFORyBtb2RlbCwgImxlYWYgcGVyaW9kIiAncyB1
bml0IGlzIHRpbWV0aWNrcygxLzEwMHMpLCBpdCBkaWZmaWN1bHQgdG8gdW5kZXJzdGFuZCBmb3Ig
dXNlciwgc3VnZ2VzdCB0byBjaGFuZ2UgdGhlIHVuaXQgdG8gbWlsbGlzZWNvbmQuDQo8RXJpYz4g
VGhlIGNvbW1vbiBZQU5HIHR5cGVzIG9mIFJGQyA2MDIxIGRlZmluZXMgdGltZXRpY2tzLiAgSSBh
bSBob3Bpbmcgbm90IHRvIGNoYW5nZSB0eXBlZGVmcyB3aGljaCBhcmUgY29tcGxpYW50IHdpdGgg
dGhhdCBSRkMuICAgKkhvd2V2ZXIqIGlmIHlvdSBzZWUgYSBidXNpbmVzcyBuZWVkIHRvIG1vdmUg
dG8gTWlsbGlzZWNvbmRzIGJlY2F1c2UgeW91IG5lZWQgYSBtb3JlIGdyYW51bGFyIHRpbWUgdGhh
dCBodW5kcmVkdGhzIG9mIGEgc2Vjb25kLCB3ZSBzaG91bGQgZGlzY3VzcyB0aGF0LiAgRXNwZWNp
YWxseSBhcyBodW5kcmVkdGhzIGlzIHdoYXQgU01JdjIgdXNlcywgd2Ugc2hvdWxkIGhhdmUgc29t
ZSB1c2UgY2FzZXMgd2hpY2ggbmVlZHMgdGhlIGV4dHJhIGdyYW51bGFyaXR5IGJlZm9yZSBtYWtp
bmcgdGhlIGNoYW5nZS4gIERvIHlvdSBoYXZlIHVzZSBjYXNlcyB3aGljaCBuZWVkIG1pbGxpc2Vj
b25kLWxldmVsIHN1YnNjcmlwdGlvbiBwZXJpb2RzPw0KPHdhbGtlcj4gZG9lcyBub3QgaGF2ZSBv
bmUgdXNlIGNhc2Ugbm93LCBqdXN0IHRoaW5rIGl0IG1heSBiZSBiZXR0ZXIuDQoyLiAgICAgICBm
b3IgdGhlICJsZWFmIGRhbXBlbmluZy1wZXJpb2QgIiwgaXQncyBiZXR0ZXIgdG8gZ2l2ZSBvbmUg
bWF4bXVtIHZhbHVlLCBvdGhlcndpc2UgaXQgbWF5IGNhbiBub3QgZWZmZWN0aXZlDQo8RXJpYz4g
SSB0aGluayB0aGlzIHdoYXQgd2UgYXJlIHRyeWluZyB0byBzYXkgaW4gdGhlIGRyYWZ0LiAgSG93
IGFib3V0IEkgaW1wcm92ZSB0aGUgbGVhZiBkYW1wZW5pbmctcGVyaW9kIGRlZmluaXRpb24gdG86
DQoiVGhlIHNob3J0ZXN0IHRpbWUgZHVyYXRpb24gd2hpY2ggaXMgYWxsb3dlZCBiZXR3ZWVuIHRo
ZSBjcmVhdGlvbiBvZiBpbmRlcGVuZGVudCB5YW5nIG9iamVjdCB1cGRhdGUgbWVzc2FnZXMuICBF
ZmZlY3RpdmVseSB0aGlzIGlzIHRoZSBhbW91bnQgb2YgdGltZSB0aGF0IG5lZWRzIHRvIGhhdmUg
cGFzc2VkIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZS4iDQo8d2Fsa2VyPm9rLCBJIGFncmVlLg0KMy4g
ICAgICAgSWYgdGhlIHRpbWUgaXMgbm90IGVub3VnaCB0byBzZW5kIGFsbCB0aGUgZGF0YSBpbiBh
IGN5Y2xlLCBob3cgdG8gZGVhbCB3aXRoIHRoZSByZW1haW5pbmcgZGF0YT8gSnVzdCBwb3N0cG9u
ZSB0aGUgbmV4dCBjeWNsZSBvciBkbyBub3Qgc2VuZCB0aGUgcmVtYWluaW5nIGRhdGE/IElmIHlv
dSBkbyBub3Qgc2VuZCB0aGUgcmVtYWluaW5nIGRhdGEsIGl0IG1heSBjYXVzZSB0aGUgcmVtYWlu
aW5nIGRhdGEgY2FuIG5vdCBiZSBtb25pdG9yZWQuXA0KPEVyaWM+IE1hcnNoYWxsaW5nIGRhdGEg
aW50byBtZXNzYWdlcyBpcyB0cmVhdGVkIGRpZmZlcmVudGx5IHdpdGhpbiB0aGUgcHVibGlzaGVy
IHRoYW4gdGhlIHRyYW5zbWl0dGluZyBvZiB1cGRhdGVzLiAgSWYgZm9yIHNvbWUgcmVhc29uIG5v
dCBhbGwgdGhlIGRhdGEgY2FuIGJlIGFzc2VtYmxlZCBpbnRvIGEgcHVzaCB1cGRhdGUgb3IgcHVz
aC1jaGFuZ2UtdXBkYXRlIG1lc3NhZ2UsIHRoZSChsHVwZGF0ZXMtbm90LXNlbnShsSBmbGFnIHNo
b3VsZCBiZSBzZXQuICBUaGUgcmVjZWl2ZXIgY2FuIHRoZW4gZGV0ZXJtaW5lIHdoYXQgdG8gZG8u
ICAgTm90ZTogSXQgaXMgcGVyZmVjdGx5IGFjY2VwdGFibGUgdG8gaGF2ZSBzZXF1ZW50aWFsIHB1
c2gtY2hhbmdlLXVwZGF0ZXMgcXVldWVkIGFuZCBpbiB0aGUgcHJvY2VzcyBvZiBiZWluZyBzZW50
IChpbi0gb3JkZXIpLiAgSSB3aWxsIGFkZCB0ZXh0IHRvIHRoaXMgdG8gaGVscCBjbGFyaWZ5IHRo
ZSB5YW5nLXB1c2ggZHJhZnQuDQo8QUxFWD4gT25lIG90aGVyIGFzcGVjdCBiZXlvbmQgdGhlIHJl
Y2VpdmVyOiAgV2hlbiB5b3UgaW5kaWNhdGUgobB0aW1lIGlzIGVub3VnaCB0byBzZW5kIGFsbCB0
aGUgZGF0YSBpbiBhIGN5Y2xlobEsIGFyZSB5b3UgcmVmZXJyaW5nIHRvIGEgc2NlbmFyaW8gd2hl
cmUgdGhlIGludGVydmFsIGluIHdoaWNoIHRvIHNlbmQgZGF0YSBpcyB0b28gc2hvcnQgdG8gYWxs
b3cgZm9yIHRyYW5zbWlzc2lvbiBvZiBhbGwgdGhlIGRhdGE/ICBJbiBzdWNoIGEgY2FzZSwgYSBw
dWJsaXNoZXIgd291bGQgZmFsbCBmdXJ0aGVyIGFuZCBmdXJ0aGVyIGJlaGluZC4gIFJlYWxseSwg
dGhpcyBpcyBhIGNhc2Ugd2hlcmUgYSBwdWJsaXNoZXIgc2hvdWxkIGJhc2ljYWxseSBzdXNwZW5k
IG9yIGFib3J0IHRoZSBzdWJzY3JpcHRpb24sIGFzIGl0IGNhbqGvdCBrZWVwIHVwLiAgV2Ugc2hv
dWxkIHN0YXRlIHRoaXMgY2xlYXJseSBpbiB0aGUgdGV4dC4gIFRoZSB0cmlja3kgcGFydCBpcyBv
ZiBjb3Vyc2UgdGhhdCBzb21lIG9mIGl0IG1heSBiZSBvZiB0ZW1wb3JhbCBuYXR1cmUgZHVlIHRv
LCBmb3IgZXhhbXBsZSwgYSB0ZW1wb3JhcnkgaW5jcmVhc2UgaW4gbGlzdCBzaXplIG9yIGEgbGFy
Z2UgbnVtYmVyIG9mIHVwZGF0ZXMsIHdoaWNoIG1heSBzdWJzaWRlIGxhdGVyIKhDIHRoaXMgd291
bGQgYmUgcmVhc29uIHRvIGluaXRpYWxseSBzdXNwZW5kIChhbmQgbGF0ZXIgcmVzdW1lKSwgYmVm
b3JlIHRlcm1pbmF0aW5nIHRoZSBzdWJzY3JpcHRpb24gb3V0cmlnaHQuICBBZ2Fpbiwgd2Ugd2ls
bCB1cGRhdGUgdGhlIHRleHQgbW9yZSBjbGVhcmx5Lg0KPC9BTEVYDQo8d2Fsa2VyPiBJIHRoaW5r
IEFsZXihr3Mgc3VnZ2VzdGlvbiBpcyBiZXR0ZXIuIEFuZCBhcyBFcmljIG1lbnRpb25lZCB0aGUg
c2VydmVyIGNhbiBnaXZlIG9uZSBlcnJvciByZWFzb24gd2hlbiBzZW5kIHN1c3BlbmQgbm90aWZp
Y2F0aW9uLCBpdCBjYW4gYmUgZGVmaW5lIGNsZWFybHkgaW4gdGV4dC4NCjQuICAgICAgIEhvdyB0
byBkZWNsYXJlIHdoaWNoIHBhdGggc3VwcG9ydCAib24tY2hhbmdlIj8gQ3VycmVudCBkcmFmdCBk
ZWZpbmVkIGFsbCBwYXRoIG5vdCBzdXBwb3J0ICJvbi1jaGFuZ2UiIGFzIGRlZmF1bHQsIGlmIGFs
bCAiY29uZmlndXJlIiBsZWFmIHN1cHBvcnQgIm9uLWNoYW5nZSIgaG93IEkgc2hvdWxkIGRvPyBB
ZGQgZXh0ZW5zaW9uIGZvciBhbGwgImNvbmZpZ3VyZSIgbGVhZj8gSXQgbG9va3MgdG9vIGNvbXBs
ZXgsIHdoZXRoZXIgd2UgY2FuIHN1cHBvcnQgb25lIHNpbXBsZSBtb2RlLCBzdWNoIGFzIGRlZmlu
ZSBieSB0eXBlPyB0aGVuIEkgY2FuIGRlZmluZSBhbGwgImNvbmZpZ3VyZSIgbGVhZCBzdXBwb3J0
ICJvbi1jaGFuZ2UiLg0KPEVyaWM+IFRoZXJlIGlzIGEgZ29vZCBkaXNjdXNzaW9uIGluIGhlcmUu
ICAgIFRoZSBhbnN3ZXIgY3VycmVudGx5IGluIHRoZSBkcmFmdCBpcyB0aGF0IHlvdSBzaG91bGQg
bWFrZSBhIGRldmlhdGlvbnMgZmlsZSB3aGljaCBsaXN0cyBlbnRyaWVzIGZvciBlYWNoIHBhcmVu
dCBub2RlIG9mIGVhY2ggbW9kZWwgd2hpY2ggc2hvdWxkIHN1cHBvcnQgb24tY2hhbmdlLiAgU28g
dGhpcyBkb2VzbqGvdCBuZWVkIHRvIGJlIGRvbmUgZm9yIGV2ZXJ5IGxlYWYgKGFzIHRoZSB2YWx1
ZXMgYXJlIGluaGVyaXRlZCBkb3duIHRoZSBzdWJ0cmVlLikgIFlvdSBhcmUgcmlnaHQgdGhhdCBo
YXZpbmcgYSBkZXZpYXRpb25zIGZpbGUgbGlzdCB0aGlzIGZvciBldmVyeSBjb25maWd1cmF0aW9u
IG5vZGUgd291bGQgYWRkIHNvbWUgY29tcGxleGl0eSwgaW5jbHVkaW5nIGZvciBtb2RlbCBtYWlu
dGVuYW5jZS4NCklmIHlvdSB3YW50IGEgZGVmYXVsdCBiZWhhdmlvciBtb2RlIGZvciBhIHBsYXRm
b3JtIGltcGxlbWVudGF0aW9uLCB3b3VsZCB5b3UgcmF0aGVyIHByb3Bvc2UgZmVhdHVyZSByYXRo
ZXIgdGhhbiBhbiBleHRlbnNpb24/ICBXZSBjb3VsZCBjcmVhdGUgYSBmZWF0dXJlIHdoaWNoIGVu
YWJsZXMgYWxsIGNvbmZpZ3VyYXRpb249dHJ1ZSBub2RlcyB0byBiZSBvbi1jaGFuZ2Ugc3Vic2Ny
aWJhYmxlLiBNYXliZSBhbiBleHRlbnNpb24gdGl0bGVkIKGwb24tY2hhbmdlLWZvci1jb25maWd1
cmF0aW9uobE/ICBXZSB0aGVuIG11c3QgZGVjaWRlIHdoYXQgaXMgdGhlIGludGVyYWN0aW9uIGJl
dHdlZW4gdGhpcyBhbmQgdGhlIGV4aXN0aW5nIKGwbm90aWZpYWJsZS1vbi1jaGFuZ2WhsSBleHRl
bnNpb24uICBUbyByZWR1Y2UgY29uZmxpY3RzL2NvbmZ1c2lvbiwgSSB3b3VsZCBzdWdnZXN0IHRo
YXQgdGhlIGZlYXR1cmUgaGFzIHByZWNlZGVuY2UuICAgQmFsYXpzLCBhbnkgdGhvdWdodHMgb24g
dGhpcz8NCjx3YWxrZXI+IHllYWgsIEkgdGhpbmsgeW91ciBzdWdnZXN0aW9uIGlzIGdvb2QsIHdl
IGNhbiBhZGQgb25lIGZlYXR1cmUuDQo1LiAgICAgICBJIHRoaW5rICJzdWJzY3JpcHRpb24tc3Rh
dHVzIiBhdHRyaWJ1dGVzIG5vdCBlbm91Z2ggLCB3aGVuIHN1YnNjaXJwdGlvbiBzdGF0dXMgaXMg
c3VzcGVuZCAsd2UgbmVlZCAic3VzcGVuZCByZWFzb24iLCAiIHN1c3BlbmQgdGltZSIuIFdoZW4g
c3Vic2NyaXB0aW9uIHJlc3VtZSwgd2UgbmVlZCAicmVzdW1lIHRpbWUiLg0KPEVyaWM+IFRoaXMg
aW5mb3JtYXRpb24gd2lsbCBiZSBhdmFpbGFibGUgaW4gdGhlIGxvZyBhcyBib3RoIHRoZSBzdXNw
ZW5kIGFuZCByZXN1bWUgdHJpZ2dlciB0aGUgY3JlYXRpb24gb2YgYSBub3RpZmljYXRpb24gd2l0
aCBhIHRpbWVzdGFtcC4gIERvZXMgaXQgbmVlZCB0byBiZSBhdmFpbGFibGUgdmlhIHN0YW5kYXJk
IGV4cG9zZWQgY29kZXMgaW4gdGhlIHlhbmcgbW9kZWw/ICAgSSBkb26hr3QgcmVhbGx5IGhhdmUg
YW55IHByb2JsZW0gYWRkaW5nIHRoaXMsIGJ1dCB0aGVyZSBjdXJyZW50bHkgaXNuoa90IGFueSBo
aXN0b3JpY2FsIGluZm9ybWF0aW9uIGV4cG9zZWQgaW4gdGhlIG1vZGVsLiAgSXQgaXMgYWxsIGN1
cnJlbnQgc3RhdGUuICAgSSB3b3VsZCBsb3ZlIHRvIGhlYXIgb3RoZXJzoa8gb3BpbmlvbnMgb24g
dGhpcyBvbmUuDQo8d2Fsa2VyPiBCb3RoIHdpbGwgYmUgb2ssIG1heSBiZSB3ZSBjYW4gaGVyZSBv
dGhlcnMgoa4gb3BpbmlvbnMgZmlyc3RseS4NCm9yICJNb2RpZnktc3Vic2NyaXB0aW9uICIgYW5k
ICJEZWxldGUtc3Vic2NyaXB0aW9uICIsIHdlIHNob3VsZCBnaXZlIHRoZSBsaW1pdGl0aW9uOiBT
dWJzY3JpcHRpb25zIGVzdGFibGlzaGVkIHZpYSBSUEMgY2FuIG9ubHkgYmUgTW9kaWZpZWQvZGVs
ZXRlZCB2aWEgUlBDIHVzaW5nICAgdGhlIHNhbWUgdHJhbnNwb3J0IHNlc3Npb24gdXNlZCBmb3Ig
c3Vic2NyaXB0aW9uIGVzdGFibGlzaG1lbnQuDQo8RXJpYz4gVGhpcyBpcyB0cnVlLiAgQXMgdGhl
c2UgUlBDcyBhcmUgYXVnbWVudGVkIGZyb20gZGVmaW5pdGlvbnMgaXMgobBzdWJzY3JpYmVkIG5v
dGlmaWNhdGlvbnOhsSB3aGljaCBpbmNsdWRlIHRoYXQgdGV4dCwgaXMgdGhhdCBub3Qgc3VmZmlj
aWVudD8gIEluIHNvbWUgY2FzZXMgd2UgaGF2ZSB0aGUgaW5mb3JtYXRpb24gb25seSBpbiBvbmUg
ZG9jdW1lbnQgdG8gcmVkdWNlIHRoZSBvdmVyYWxsIGFtb3VudCBvZiB0ZXh0Lg0KDQoNCjxBTEVY
PiBXZSBjdXJyZW50bHkgc3RhdGU6IKGwU3Vic2NyaXB0aW9ucyBjcmVhdGVkIGJ5IGNvbmZpZ3Vy
YXRpb24gb3BlcmF0aW9ucyBjYW5ub3QgYmUgbW9kaWZpZWQgW3Jlc3BlY3RpdmVseSBkZWxldGVk
XSB2aWEgdGhpcyBSUEMuobENCg0KWW91IGFyZSBzdWdnZXN0aW5nIHRvIGJlIHN0cm9uZ2VyIHRo
YW4gdGhhdCwgaS5lLiBub3QgYWxsb3cgYSBkeW5hbWljIHN1YnNjcmlwdGlvbiB0byBiZSB0b3Vj
aGVkIGJ5IGFueSB0cmFuc3BvcnQgc2Vzc2lvbiBvdGhlciB0aGFuIHRoZSBvbmUgb3ZlciB3aGlj
aCBpdCB3YXMgY3JlYXRlZC4gIEkgYW0gbm90IHN1cmUgb2YgdGhpcywgY2FuIHlvdSBlbGFib3Jh
dGUgYSBiaXQgZnVydGhlcj8gIEJhc2ljYWxseSB0aGlzIHdvdWxkIGltcGx5IG5lZWRpbmcgdG8g
a2VlcCB0cmFjayBvZiB3aGljaCBzZXNzaW9uIGNyZWF0ZWQgd2hpY2ggb2JqZWN0IG9yIGR5bmFt
aWMgc3Vic2NyaXB0aW9uLCBzb21ldGhpbmcgdGhlIGZyYW1ld29yayBkb2VzIG5vdCBjdXJyZW50
bHkga2VlcCB0cmFjayBvZiAoYnV0IHRoYXQgaXMgcGVyaGFwcyBhIGJpdCBpMnJzLWlzaCkuIDwv
QUxFWD4NCg0KDQoNCjw8RXJpYz4+IEl0IGlzIHRydWUgdGhhdCB0aGUgWUFORyBtb2RlbCBkb2Vz
bqGvdCBleHBvc2UgaWRlbnRpZmllcnMgZm9yIHRoZSB0cmFuc3BvcnQgc2Vzc2lvbiB3aGljaCBp
cyB1c2VkIGZvciBhIGR5bmFtaWMgc3Vic2NyaXB0aW9uLiAgQnV0IHRoZXNlIGJpbmRpbmdzIHdp
bGwgc3RpbGwgYmUga25vd24gd2l0aGluIHRoZSBwdWJsaXNoZXIuICBTbyBpdCBpcyB2aWFibGUg
dG8gZW5mb3JjZSBzdWNoIGEgY29uc3RyYWludC4gIEkgYmVsaWV2ZSBpdCBpbXByb3ZlcyBzZWN1
cml0eSBhcyB3ZWxsLiAgIElmIHRoZXJlIGlzIGFuIGFkbWluaXN0cmF0b3Igd2hpY2ggbmVlZHMg
dG8gdGVhciBkb3duIHRoZSBkeW5hbWljIHN1YnNjcmlwdGlvbiwgdGhlIGtpbGwtc3Vic2NyaXB0
aW9uIFJQQyBpcyBhdmFpbGFibGUuDQoNCg0KDQo8PC9FcmljPj4NCg0KDQoNCi0tLSBBbGV4IChk
b25lIHdpdGggY29tbWVudHMpDQoNCg0KDQo8d2Fsa2VyPiBJIHRoaW5rIGl0oa9zIGJldHRlciB0
byBkZXNjcmliZSBpdCBjbGVhcmx5IGluIHRleHQsIG90aGVyd2lzZSBzb21lb25lIGVsc2UgbWF5
IGJlIGRpZmZlcmVudCB1bmRlcnN0YW5kaW5nLg0KDQoNCg0KRm9yIGRyYWZ0LWlldGYtbmV0Y29u
Zi1zdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMtMDI6DQoxLiAgICAgICBJbiBBLjEuICBpZXRmLW5l
dGNvbmYtbmV0Y29uZi1ldmVudC1ub3RpLCB0aGUgZHJhZnQgbmFtZSBzaG91bGQgbm90IGJlIKGw
W0ktRC5pZXRmLW5ldGNvbmYtcmVzdGNvbmYtbm90aWZdobEsIGl0IHNob3VsZCBiZSChsGRyYWZ0
LWlldGYtbmV0Y29uZi1uZXRjb25mLWV2ZW50LW5vdGlmaWNhdGlvbnMtMDGhsSwgcmlnaHQ/DQo8
RXJpYz4gRXhjZWxsZW50IGNhdGNoLiAgVGhhbmtzIQ0KMi4gICAgICAgSW4gInNlY3Rpb24gMS4g
IEludHJvZHVjdGlvbiIgdGhlcmUgaGF2ZSB0d28gcmVwZWF0ZWQgaXRlbSAibyAgQWJpbGl0eSB0
byBzdWJzY3JpYmUgdG8gZXZlbnQgbm90aWZpY2F0aW9ucyB1c2luZyB0d28gbWVjaGFuaXNtczog
ZHluYW1pYyBhbmQgY29uZmlndXJhdGlvbiBzdWJzY3JpcHRpb25zLiINCjxFcmljPiBUaGlzIHRl
eHQgaXMgZnJvbSB0aGUgZG9jdW1lbnQgobBkcmFmdC1pZXRmLW5ldGNvbmYtbmV0Y29uZi1ldmVu
dC1ub3RpZmljYXRpb25zobEgd2hpY2ggaXMgbm90IHJlYWR5IGZvciByZXZpZXcgYXQgdGhpcyB0
aW1lLg0KRXJpYw0KDQpUaGFua3MgJiBSZWdhcmRzDQpXYWxrZXIgKEd1YW5neWluZyB6aGVuZykN
Cg0KDQoNCg0KDQoNCg==

--_000_381D7D55085B1E4D8B581BD652E1E140B2A88E82nkgeml513mbschi_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema=
s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html=
40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:=CB=CE=CC=E5;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@=CB=CE=CC=E5";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Times New Roman","serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:0cm;
	margin-left:36.0pt;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
p.emailquote, li.emailquote, div.emailquote
	{mso-style-name:emailquote;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:1.0pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle23
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle25
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle26
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle27
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle28
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#44546A;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1027" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"ZH-CN" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<div>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#44546A">Hi Eric, Alex<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#44546A">&nbsp;&nbsp; &nbsp;<o:p></o=
:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#44546A">&nbsp;&nbsp;&nbsp;Thanks fo=
r your
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;;color:#1F497D">your excellent response, f=
or some doubt I have add small items inline
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt;</span><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&=
quot;sans-serif&quot;;color:#44546A"> .<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#44546A"><o:p>&nbsp;</o:p></span></p=
>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#44546A">Walker<o:p></o:p></span></p=
>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#44546A"><o:p>&nbsp=
;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:10.0pt;fo=
nt-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span =
lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&qu=
ot;sans-serif&quot;"> Eric Voit (evoit) [mailto:evoit@cisco.com]
<br>
<b>Sent:</b> 2017</span><span style=3D"font-size:10.0pt;font-family:=CB=CE=
=CC=E5">=C4=EA</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-fa=
mily:&quot;Tahoma&quot;,&quot;sans-serif&quot;">5</span><span style=3D"font=
-size:10.0pt;font-family:=CB=CE=CC=E5">=D4=C2</span><span lang=3D"EN-US" st=
yle=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quo=
t;">3</span><span style=3D"font-size:10.0pt;font-family:=CB=CE=CC=E5">=C8=
=D5</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;=
Tahoma&quot;,&quot;sans-serif&quot;">
 21:57<br>
<b>To:</b> Alexander Clemm; Zhengguangying (Walker)<br>
<b>Cc:</b> netconf@ietf.org; netmod@ietf.org<br>
<b>Subject:</b> RE: hi Alex, Eric and design team guys some comments for YA=
NG-push and subscribed-notifications, please help to confirm<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0">(Moving lo=
ts of people to =A1=AEBCC=A1=AF so that this thread can traverse NETCONF &a=
mp; NETMOD filters as Walker originally intended.)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0">One more c=
omment, see &lt;&lt;Eric&gt;&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp=
;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span lang=3D"EN-U=
S" style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-ser=
if&quot;">From:</span></b><span lang=3D"EN-US" style=3D"font-size:11.0pt;fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"> Alexander Clemm, May=
 2, 2017
 8:35 PM<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Hi Walker,=
 thank you for your review and comments, and Eric, for your excellent respo=
nse, to which I have little to add except a few small items
 inline </span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&=
quot;Calibri&quot;,&quot;sans-serif&quot;;color:#00B050">&lt;ALEX&gt;</span=
><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,&quot;sans-serif&quot;;color:#1F497D"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">--- Alex<o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp=
;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11.0pt;fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">From:</span></b><span=
 lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&=
quot;sans-serif&quot;"> Eric Voit (evoit) [<a href=3D"mailto:evoit@cisco.co=
m">mailto:evoit@cisco.com</a>]
<br>
<b>Sent:</b> Tuesday, May 02, 2017 9:52 AM<br>
<b>To:</b> Zhengguangying (Walker) &lt;<a href=3D"mailto:zhengguangying@hua=
wei.com">zhengguangying@huawei.com</a>&gt;;
<a href=3D"mailto:ludwig@clemm.org">ludwig@clemm.org</a>; <a href=3D"mailto=
:alex@clemm.org">
alex@clemm.org</a>; 'Balazs Lengyel' &lt;<a href=3D"mailto:balazs.lengyel@e=
ricsson.com">balazs.lengyel@ericsson.com</a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a hre=
f=3D"mailto:netmod@ietf.org">
netmod@ietf.org</a>; Ambika Prasad Tripathy (ambtripa) &lt;<a href=3D"mailt=
o:ambtripa@cisco.com">ambtripa@cisco.com</a>&gt;; 'Kent Watsen' &lt;<a href=
=3D"mailto:kwatsen@juniper.net">kwatsen@juniper.net</a>&gt;; Hector Trevino=
 (htrevino) &lt;<a href=3D"mailto:htrevino@cisco.com">htrevino@cisco.com</a=
>&gt;;
 Einar Nilsen-Nygaard (einarnn) &lt;<a href=3D"mailto:einarnn@cisco.com">ei=
narnn@cisco.com</a>&gt;; Guopeipei (Peipei Guo) &lt;<a href=3D"mailto:guope=
ipei@huawei.com">guopeipei@huawei.com</a>&gt;; Alberto Gonzalez Prieto (alb=
ertgo) &lt;<a href=3D"mailto:albertgo@cisco.com">albertgo@cisco.com</a>&gt;=
;
 'Andy Bierman' &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.co=
m</a>&gt;; 'Chisholm, Sharon' &lt;<a href=3D"mailto:schishol@ciena.com">sch=
ishol@ciena.com</a>&gt;; Yangang &lt;<a href=3D"mailto:yangang@huawei.com">=
yangang@huawei.com</a>&gt;; Alexander Clemm &lt;<a href=3D"mailto:alexander=
.clemm@huawei.com">alexander.clemm@huawei.com</a>&gt;;
 'Susan Hares' &lt;<a href=3D"mailto:shares@ndzh.com">shares@ndzh.com</a>&g=
t;; Tim Jenkins (timjenki) &lt;<a href=3D"mailto:timjenki@cisco.com">timjen=
ki@cisco.com</a>&gt;; 'Scharf, Michael (Nokia - DE)' &lt;<a href=3D"mailto:=
michael.scharf@nokia.com">michael.scharf@nokia.com</a>&gt;;
 Rohit pobbathi &lt;<a href=3D"mailto:rohit.pobbathi@huawei.com">rohit.pobb=
athi@huawei.com</a>&gt;; 'MehmetErsue' &lt;<a href=3D"mailto:mersue@gmail.c=
om">mersue@gmail.com</a>&gt;; Mahesh Jethanandani (mahesh) &lt;<a href=3D"m=
ailto:mahesh@cisco.com">mahesh@cisco.com</a>&gt;<br>
<b>Subject:</b> RE: hi Alex, Eric and design team guys some comments for YA=
NG-push and subscribed-notifications, please help to confirm<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0">Hi Walker,=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0070C0">Thanks ver=
y much for the comments.&nbsp;&nbsp; Some thoughts in-line.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp=
;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm =
4.0pt">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span lang=3D"EN-U=
S" style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-ser=
if&quot;">From:</span></b><span lang=3D"EN-US" style=3D"font-size:11.0pt;fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"> Zhengguangying (Walk=
er), May
 2, 2017 9:25 AM</span><span lang=3D"EN-US"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">Hi Alex, Eric and all,<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp; I reviewed the latest Draft =
and have some comments, please help to confirm, thanks.<o:p></o:p></span></=
p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">&nbsp;&nbsp; For draft-ietf-netconf-yang-=
push-06:<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">1.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">In section 4.1, the configured subscript=
ion receivers not sepcify which mechnism to connect to client, it's better =
define clearly, specify it should be call home protocol.<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; I totally agree call=
 home is necessary.&nbsp; The two transport drafts currently have the call-=
home specified within them.&nbsp; As we define the transport protocol per
 receiver, the appropriate call home mechanism for a platform transport sho=
uld be automatically selectable.&nbsp; I will clarify/improve the text in t=
he subscribed-notifications draft to indicate this.&nbsp; &nbsp;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">Is there something else needed at=
 the protocol independent level?&nbsp;&nbsp; At this point I don=A1=AFt kno=
w of any transport-independent call home behaviors unspecified, other than
 the need to add a context statement saying call home is necessary if trans=
port isn=A1=AFt available for a queued push update message.&nbsp; I don=A1=
=AFt think we should over specify this right now.&nbsp; This is because for=
 some transport connection types, call home doesn=A1=AFt need
 to be always-on. &nbsp;E.g., HTTP implementations have the potential to sc=
ale differently than NETCONF if a configured subscription transport can be =
established ad-hoc only when a push-update is ready to go. &nbsp;&nbsp;If t=
here are other specific behaviors needed for call-home
 behavior, what are they?&nbsp; Are these something that can vary by transp=
ort protocol and implementation?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt; &nbsp;It=A1=AFs go=
od to clarify the mechanism suggested.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&nbsp;&gt;&gt;If there are other =
specific behaviors needed for call-home behavior, what are they?&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">Call-home feature need some addit=
ional parameters, where we need specify here or just add a reference to cal=
l-home configuration ? &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&gt;&gt; Are these something that=
 can vary by transport protocol and implementation?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">I think it need. &nbsp;New transp=
ort protocol can add there choice/case.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">In YANG model, &quot;leaf period&quot; 's unit =
is timeticks(1/100s), it difficult to understand for user, suggest to chang=
e the unit to millisecond.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; The common YANG type=
s of RFC 6021 defines timeticks.&nbsp; I am hoping not to change typedefs w=
hich are compliant with that RFC.&nbsp;&nbsp; *However* if you see a busine=
ss
 need to move to Milliseconds because you need a more granular time that hu=
ndredths of a second, we should discuss that.&nbsp; Especially as hundredth=
s is what SMIv2 uses, we should have some use cases which needs the extra g=
ranularity before making the change.&nbsp;
 Do you have use cases which need millisecond-level subscription periods?<o=
:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt; does not have one =
use case now, just think it may be better.
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">2.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">for the &quot;leaf dampening-period &quo=
t;, it's better to give one maxmum value, otherwise it may can not effectiv=
e<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; I think this what we=
 are trying to say in the draft.&nbsp; How about I improve the leaf dampeni=
ng-period definition to:
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&quot;The shortest time duration =
which is allowed between the creation of independent yang object update mes=
sages.&nbsp; Effectively this is the amount of time that needs to
 have passed since the last update.&quot;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt;ok, I agree.<o:p></=
o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">3.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">If the time is not enough to send all th=
e data in a cycle, how to deal with the remaining data? Just postpone the n=
ext cycle or do not send the remaining data? If you do not
 send the remaining data, it may cause the remaining data can not be monito=
red.\<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; Marshalling data int=
o messages is treated differently within the publisher than the transmittin=
g of updates. &nbsp;If for some reason not all the data can be assembled
 into a push update or push-change-update message, the =A1=B0updates-not-se=
nt=A1=B1 flag should be set.&nbsp; The receiver can then determine what to =
do.&nbsp;&nbsp; Note: It is perfectly acceptable to have sequential push-ch=
ange-updates queued and in the process of being sent (in-
 order).&nbsp; I will add text to this to help clarify the yang-push draft.=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#00B050">&lt;ALEX&gt; One other aspect bey=
ond the receiver:&nbsp; When you indicate =A1=B0time is enough to send all =
the data in a cycle=A1=B1, are you referring to a scenario where the interv=
al
 in which to send data is too short to allow for transmission of all the da=
ta?&nbsp; In such a case, a publisher would fall further and further behind=
.&nbsp; Really, this is a case where a publisher should basically suspend o=
r abort the subscription, as it can=A1=AFt keep
 up. &nbsp;We should state this clearly in the text.&nbsp; The tricky part =
is of course that some of it may be of temporal nature due to, for example,=
 a temporary increase in list size or a large number of updates, which may =
subside later =A8C this would be reason to initially
 suspend (and later resume), before terminating the subscription outright.&=
nbsp; Again, we will update the text more clearly.&nbsp;</span><span lang=
=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;=
sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#00B050">&lt;/ALEX&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt; I think Alex=A1=AF=
s suggestion is better. And as Eric mentioned the server can give one error=
 reason when send suspend notification, it can be define clearly in
 text.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">4.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">How to declare which path support &quot;=
on-change&quot;? Current draft defined all path not support &quot;on-change=
&quot; as default, if all &quot;configure&quot; leaf support &quot;on-chang=
e&quot; how I should
 do? Add extension for all &quot;configure&quot; leaf? It looks too complex=
, whether we can support one simple mode, such as define by type? then I ca=
n define all &quot;configure&quot; lead support &quot;on-change&quot;.<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; There is a good disc=
ussion in here. &nbsp;&nbsp;&nbsp;The answer currently in the draft is that=
 you should make a deviations file which lists entries for each parent node=
 of
 each model which should support on-change.&nbsp; So this doesn=A1=AFt need=
 to be done for every leaf (as the values are inherited down the subtree.) =
&nbsp;You are right that having a deviations file list this for every confi=
guration node would add some complexity, including
 for model maintenance.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">If you want a default behavior mo=
de for a platform implementation, would you rather propose feature rather t=
han an extension?&nbsp; We could create a feature which enables
 all configuration=3Dtrue nodes to be on-change subscribable. Maybe an exte=
nsion titled =A1=B0on-change-for-configuration=A1=B1?&nbsp; We then must de=
cide what is the interaction between this and the existing =A1=B0notifiable=
-on-change=A1=B1 extension.&nbsp; To reduce conflicts/confusion,
 I would suggest that the feature has precedence.&nbsp;&nbsp; Balazs, any t=
houghts on this?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#B2700E">&lt;walker&gt; yeah, I think your=
 suggestion is good, we can add one feature.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">5.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">I think &quot;subscription-status&quot; =
attributes not enough , when subscirption status is suspend ,we need &quot;=
suspend reason&quot;, &quot; suspend time&quot;. When subscription resume, =
we need &quot;resume
 time&quot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; This information wil=
l be available in the log as both the suspend and resume trigger the creati=
on of a notification with a timestamp.&nbsp; Does it need to be available
 via standard exposed codes in the yang model?&nbsp;&nbsp; I don=A1=AFt rea=
lly have any problem adding this, but there currently isn=A1=AFt any histor=
ical information exposed in the model.&nbsp; It is all current state.&nbsp;=
&nbsp; I would love to hear others=A1=AF opinions on this one.<o:p></o:p></=
span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;walker&gt; Both will be ok, m=
ay be we can here others =A1=AE opinions firstly.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">or &quot;Modify-subscription &quot; and &quot;D=
elete-subscription &quot;, we should give the limitition: Subscriptions est=
ablished via RPC can only be Modified/deleted via RPC using&nbsp;&nbsp; the=
 same transport
 session used for subscription establishment.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; This is true.&=
nbsp; As these RPCs are augmented from definitions is =A1=B0subscribed noti=
fications=A1=B1
 which include that text, is that not sufficient?&nbsp; In some cases we ha=
ve the information only in one document to reduce the overall amount of tex=
t. &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
0B050">&lt;ALEX&gt; We currently state: =A1=B0</span><span lang=3D"EN">Subs=
criptions created by configuration operations cannot be modified [respectiv=
ely deleted] via this RPC.=A1=B1&nbsp; </span><span lang=3D"EN-US" style=3D=
"font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;co=
lor:#00B050">&nbsp;&nbsp;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
0B050">You are suggesting to be stronger than that, i.e. not allow a dynami=
c subscription to be touched by any transport session other than the one ov=
er which it was created.&nbsp; I am not sure of this, can you elaborate a b=
it further?&nbsp; Basically this would imply needing to keep track of which=
 session created which object or dynamic subscription, something the framew=
ork does not currently keep track of (but that is perhaps a bit i2rs-ish). =
&lt;/ALEX&gt;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p>&n=
bsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
070C0">&lt;&lt;Eric&gt;&gt; It is true that the YANG model doesn=A1=AFt exp=
ose identifiers for the transport session which is used for a dynamic subsc=
ription.&nbsp; But these bindings will still be known within the publisher.=
&nbsp; So it is viable to enforce such a constraint.&nbsp; I believe it imp=
roves security as well.&nbsp;&nbsp; If there is an administrator which need=
s to tear down the dynamic subscription, the kill-subscription RPC is avail=
able.<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
070C0"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
070C0">&lt;&lt;/Eric&gt;&gt;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
0B050"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
0B050">--- Alex (done with comments)<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#0=
0B050"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN-US" style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#B=
2700E">&lt;walker&gt; I think it=A1=AFs better to describe it clearly in te=
xt, otherwise someone else may be different understanding.<o:p></o:p></span=
></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN"><o:p>&nbsp;</o:p>=
</span></pre>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">For draft-ietf-netconf-subscribed-notific=
ations-02:<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">1.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">In A.1.&nbsp; ietf-netconf-netconf-event=
-noti, the draft name should not be =A1=B0[I-D.ietf-netconf-restconf-notif]=
=A1=B1, it should be =A1=B0</span><span lang=3D"EN-US" style=3D"font-size:1=
0.0pt;font-family:&quot;Courier New&quot;">draft-ietf-netconf-netconf-event=
-notifications-01</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font=
-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">=A1=B1,
 right?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; Excellent catch.&nbs=
p; Thanks!</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family=
:&quot;Calibri&quot;,&quot;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-18.0pt=
">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;">2.</span><span lang=3D"EN-US" style=3D"font-siz=
e:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;">In &quot;section 1.&nbsp; Introduction&q=
uot; there have two repeated item &quot;o&nbsp; Ability to subscribe to eve=
nt notifications using two mechanisms: dynamic and configuration subscripti=
ons.&quot;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">&lt;Eric&gt; This text is from th=
e document =A1=B0draft-ietf-netconf-netconf-event-notifications=A1=B1 which=
 is not ready for review at this time.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span lang=3D"EN-US" style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#0070C0">Eric<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">Thanks &amp; Regards<o:p></o:p></span></p=
>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;">Walker (Guangying zheng)<o:p></o:p></span=
></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span l=
ang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Cali=
bri&quot;,&quot;sans-serif&quot;"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span lang=3D"EN-US" style=3D"font-size:10.5pt">&nbsp;</span><span la=
ng=3D"EN-US" style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;"><o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>

--_000_381D7D55085B1E4D8B581BD652E1E140B2A88E82nkgeml513mbschi_--


From nobody Mon May  8 09:04:15 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B40C127F0E; Mon,  8 May 2017 09:04:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V2_8sF4wUpyP; Mon,  8 May 2017 09:04:05 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D2DF8127097; Mon,  8 May 2017 09:04:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=50802; q=dns/txt; s=iport; t=1494259444; x=1495469044; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=/g1jUXAsVhIlTTytKxSZYYsd+0O1XfJw4/cwOloAOVE=; b=FOXHCThRZfhfS85UFa9qsAUNXxjuheHJo1pHxu8wJm8RsVlbdWHVuXOG ThlA9KU1lWAYb1/Be7cL9/A/JpgDLRHAIvB8ee3nUckBoF1zRSiheHach JRTcWH3FBsZORb3V2d4rdyoa2WX5E7IItp4pe4hLNkMp1+6qfMVvayDPX E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BLAQCXlRBZ/5xdJa1TCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYJuZ2KBDAeDYYoYkVZyhzGNT4IPhiQChGQ/GAECAQEBAQEBAWs?= =?us-ascii?q?ohRUBAQEBAgEaBwELSgIQAgEIEQQBAQ4CEQECBAIDAiERFAkIAQEEAQ0FCIoAA?= =?us-ascii?q?w0IlH2dXAGCKocrDYMuAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYZfgV6CZzSCVIF?= =?us-ascii?q?oER0HKAKCT4JiBZ0+OwGKToN3hEmCDYU8iiyBbYcPgi2JFAEfOIEKcBVGhG86g?= =?us-ascii?q?Up2hi4HIgGBBoENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,309,1491264000";  d="scan'208,217";a="240807572"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 May 2017 16:04:02 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id v48G41F4028418 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 8 May 2017 16:04:02 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 8 May 2017 12:04:01 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Mon, 8 May 2017 12:04:01 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: "Zhengguangying (Walker)" <zhengguangying@huawei.com>, Alexander Clemm <alexander.clemm@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>, "Zhuzhiguo (Zhuzhiguo, CSD)" <zhuzhiguo@huawei.com>, "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>, "Liubin (Nickylba)" <nickylba.liubin@huawei.com>
Thread-Topic: hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
Thread-Index: AdLDR3hOn9XaWmkfSOG01TBPVl+DnAAAtJVQAArbmIAAJ0v9wADu/t3AAA6fykA=
Date: Mon, 8 May 2017 16:04:00 +0000
Message-ID: <c757dbf99de64e0cb980b6363a021bd0@XCH-RTP-013.cisco.com>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com> <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com> <31b203916b3b4081a6d0b88cfb8f0fbc@XCH-RTP-013.cisco.com> <381D7D55085B1E4D8B581BD652E1E140B2A88E82@nkgeml513-mbs.china.huawei.com>
In-Reply-To: <381D7D55085B1E4D8B581BD652E1E140B2A88E82@nkgeml513-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.229]
Content-Type: multipart/alternative; boundary="_000_c757dbf99de64e0cb980b6363a021bd0XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cBprkaq00d0lWppgZqSja_U1wIA>
Subject: Re: [Netconf] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 May 2017 16:04:08 -0000

--_000_c757dbf99de64e0cb980b6363a021bd0XCHRTP013ciscocom_
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

Hi Walker,

Thanks.  Some thoughts added.  See: <:Eric:>

From: Zhengguangying, May 8, 2017 4:18 AM

Hi Eric, Alex

   Thanks for your your excellent response, for some doubt I have add small=
 items inline <walker> .

Walker

From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: 2017=1B$BG/=1B(B5=1B$B7n=1B(B3=1B$BF|=1B(B 21:57
To: Alexander Clemm; Zhengguangying (Walker)
Cc: netconf@ietf.org<mailto:netconf@ietf.org>; netmod@ietf.org<mailto:netmo=
d@ietf.org>
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push=
 and subscribed-notifications, please help to confirm

(Moving lots of people to =1B$B!F=1B(BBCC=1B$B!G=1B(B so that this thread c=
an traverse NETCONF & NETMOD filters as Walker originally intended.)

One more comment, see <<Eric>>

From: Alexander Clemm, May 2, 2017 8:35 PM
Hi Walker, thank you for your review and comments, and Eric, for your excel=
lent response, to which I have little to add except a few small items inlin=
e <ALEX>
--- Alex

From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: Tuesday, May 02, 2017 9:52 AM
To: Zhengguangying (Walker) <zhengguangying@huawei.com<mailto:zhengguangyin=
g@huawei.com>>; ludwig@clemm.org<mailto:ludwig@clemm.org>; alex@clemm.org<m=
ailto:alex@clemm.org>; 'Balazs Lengyel' <balazs.lengyel@ericsson.com<mailto=
:balazs.lengyel@ericsson.com>>
Cc: netconf@ietf.org<mailto:netconf@ietf.org>; netmod@ietf.org<mailto:netmo=
d@ietf.org>; Ambika Prasad Tripathy (ambtripa) <ambtripa@cisco.com<mailto:a=
mbtripa@cisco.com>>; 'Kent Watsen' <kwatsen@juniper.net<mailto:kwatsen@juni=
per.net>>; Hector Trevino (htrevino) <htrevino@cisco.com<mailto:htrevino@ci=
sco.com>>; Einar Nilsen-Nygaard (einarnn) <einarnn@cisco.com<mailto:einarnn=
@cisco.com>>; Guopeipei (Peipei Guo) <guopeipei@huawei.com<mailto:guopeipei=
@huawei.com>>; Alberto Gonzalez Prieto (albertgo) <albertgo@cisco.com<mailt=
o:albertgo@cisco.com>>; 'Andy Bierman' <andy@yumaworks.com<mailto:andy@yuma=
works.com>>; 'Chisholm, Sharon' <schishol@ciena.com<mailto:schishol@ciena.c=
om>>; Yangang <yangang@huawei.com<mailto:yangang@huawei.com>>; Alexander Cl=
emm <alexander.clemm@huawei.com<mailto:alexander.clemm@huawei.com>>; 'Susan=
 Hares' <shares@ndzh.com<mailto:shares@ndzh.com>>; Tim Jenkins (timjenki) <=
timjenki@cisco.com<mailto:timjenki@cisco.com>>; 'Scharf, Michael (Nokia - D=
E)' <michael.scharf@nokia.com<mailto:michael.scharf@nokia.com>>; Rohit pobb=
athi <rohit.pobbathi@huawei.com<mailto:rohit.pobbathi@huawei.com>>; 'Mehmet=
Ersue' <mersue@gmail.com<mailto:mersue@gmail.com>>; Mahesh Jethanandani (ma=
hesh) <mahesh@cisco.com<mailto:mahesh@cisco.com>>
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push=
 and subscribed-notifications, please help to confirm

Hi Walker,

Thanks very much for the comments.   Some thoughts in-line.

From: Zhengguangying (Walker), May 2, 2017 9:25 AM
Hi Alex, Eric and all,

   I reviewed the latest Draft and have some comments, please help to confi=
rm, thanks.

   For draft-ietf-netconf-yang-push-06:
1.       In section 4.1, the configured subscription receivers not sepcify =
which mechnism to connect to client, it's better define clearly, specify it=
 should be call home protocol.
<Eric> I totally agree call home is necessary.  The two transport drafts cu=
rrently have the call-home specified within them.  As we define the transpo=
rt protocol per receiver, the appropriate call home mechanism for a platfor=
m transport should be automatically selectable.  I will clarify/improve the=
 text in the subscribed-notifications draft to indicate this.
Is there something else needed at the protocol independent level?   At this=
 point I don=1B$B!G=1B(Bt know of any transport-independent call home behav=
iors unspecified, other than the need to add a context statement saying cal=
l home is necessary if transport isn=1B$B!G=1B(Bt available for a queued pu=
sh update message.  I don=1B$B!G=1B(Bt think we should over specify this ri=
ght now.  This is because for some transport connection types, call home do=
esn=1B$B!G=1B(Bt need to be always-on.  E.g., HTTP implementations have the=
 potential to scale differently than NETCONF if a configured subscription t=
ransport can be established ad-hoc only when a push-update is ready to go. =
  If there are other specific behaviors needed for call-home behavior, what=
 are they?  Are these something that can vary by transport protocol and imp=
lementation?
<walker>  It=1B$B!G=1B(Bs good to clarify the mechanism suggested.
<:Eric:> As the mechanism is likely to be tied to transport, we can improve=
 the definitions in the two transport documents.
 >>If there are other specific behaviors needed for call-home behavior, wha=
t are they?
Call-home feature need some additional parameters, where we need specify he=
re or just add a reference to call-home configuration ?
<:Eric:> Could you list any additional subscription specific parameters?  M=
aybe you are thinking security credentials?   I have been hoping this secur=
ity functions could be accomplished via existing device security tooling, a=
nd much of this tooling shouldn=1B$B!G=1B(Bt be subscription specific.
>> Are these something that can vary by transport protocol and implementati=
on?
I think it need.  New transport protocol can add there choice/case.
<:Eric:> How about via identities?  Right now, HTTP2 and NETCONF are viable=
 transports included by identity in the =1B$B!H=1B(Bprotocol=1B$B!I=1B(B ob=
ject.
In YANG model, "leaf period" 's unit is timeticks(1/100s), it difficult to =
understand for user, suggest to change the unit to millisecond.
<Eric> The common YANG types of RFC 6021 defines timeticks.  I am hoping no=
t to change typedefs which are compliant with that RFC.   *However* if you =
see a business need to move to Milliseconds because you need a more granula=
r time that hundredths of a second, we should discuss that.  Especially as =
hundredths is what SMIv2 uses, we should have some use cases which needs th=
e extra granularity before making the change.  Do you have use cases which =
need millisecond-level subscription periods?
<walker> does not have one use case now, just think it may be better.
<:Eric:> Let=1B$B!G=1B(Bs await a use case before changing.  If we allow th=
e encoding of millisecond-level definition, platforms will perceive they ne=
ed to support such intervals.  And as millisecond level is far more likely =
to run into internal platform level scheduling issues, there would be push-=
back.  I am hoping we can avoid that complication.
2.       =1B$B!D=1B(B
3.       If the time is not enough to send all the data in a cycle, how to =
deal with the remaining data? Just postpone the next cycle or do not send t=
he remaining data? If you do not send the remaining data, it may cause the =
remaining data can not be monitored.\
<Eric> Marshalling data into messages is treated differently within the pub=
lisher than the transmitting of updates.  If for some reason not all the da=
ta can be assembled into a push update or push-change-update message, the =
=1B$B!H=1B(Bupdates-not-sent=1B$B!I=1B(B flag should be set.  The receiver =
can then determine what to do.   Note: It is perfectly acceptable to have s=
equential push-change-updates queued and in the process of being sent (in- =
order).  I will add text to this to help clarify the yang-push draft.
<ALEX> One other aspect beyond the receiver:  When you indicate =1B$B!H=1B(=
Btime is enough to send all the data in a cycle=1B$B!I=1B(B, are you referr=
ing to a scenario where the interval in which to send data is too short to =
allow for transmission of all the data?  In such a case, a publisher would =
fall further and further behind.  Really, this is a case where a publisher =
should basically suspend or abort the subscription, as it can=1B$B!G=1B(Bt =
keep up.  We should state this clearly in the text.  The tricky part is of =
course that some of it may be of temporal nature due to, for example, a tem=
porary increase in list size or a large number of updates, which may subsid=
e later - this would be reason to initially suspend (and later resume), bef=
ore terminating the subscription outright.  Again, we will update the text =
more clearly.
</ALEX
<walker> I think Alex=1B$B!G=1B(Bs suggestion is better. And as Eric mentio=
ned the server can give one error reason when send suspend notification, it=
 can be define clearly in text.
<:Eric:> Updated the text, and passed the edit token to Alex.  Alex, if you=
 think it doesn=1B$B!G=1B(Bt cover your thoughts, tweak as necessary.
4.       How to declare which path support "on-change"? Current draft defin=
ed all path not support "on-change" as default, if all "configure" leaf sup=
port "on-change" how I should do? Add extension for all "configure" leaf? I=
t looks too complex, whether we can support one simple mode, such as define=
 by type? then I can define all "configure" lead support "on-change".
=1B$B!D=1B(B
5.       I think "subscription-status" attributes not enough , when subscir=
ption status is suspend ,we need "suspend reason", " suspend time". When su=
bscription resume, we need "resume time".
<Eric> This information will be available in the log as both the suspend an=
d resume trigger the creation of a notification with a timestamp.  Does it =
need to be available via standard exposed codes in the yang model?   I don=
=1B$B!G=1B(Bt really have any problem adding this, but there currently isn=
=1B$B!G=1B(Bt any historical information exposed in the model.  It is all c=
urrent state.   I would love to hear others=1B$B!G=1B(B opinions on this on=
e.
<walker> Both will be ok, may be we can here others =1B$B!F=1B(B opinions f=
irstly.
or "Modify-subscription " and "Delete-subscription ", we should give the li=
mitition: Subscriptions established via RPC can only be Modified/deleted vi=
a RPC using   the same transport session used for subscription establishmen=
t.
<Eric> This is true.  As these RPCs are augmented from definitions is =1B$B=
!H=1B(Bsubscribed notifications=1B$B!I=1B(B which include that text, is tha=
t not sufficient?  In some cases we have the information only in one docume=
nt to reduce the overall amount of text.


<ALEX> We currently state: =1B$B!H=1B(BSubscriptions created by configurati=
on operations cannot be modified [respectively deleted] via this RPC.=1B$B!=
I=1B(B

You are suggesting to be stronger than that, i.e. not allow a dynamic subsc=
ription to be touched by any transport session other than the one over whic=
h it was created.  I am not sure of this, can you elaborate a bit further? =
 Basically this would imply needing to keep track of which session created =
which object or dynamic subscription, something the framework does not curr=
ently keep track of (but that is perhaps a bit i2rs-ish). </ALEX>



<<Eric>> It is true that the YANG model doesn=1B$B!G=1B(Bt expose identifie=
rs for the transport session which is used for a dynamic subscription.  But=
 these bindings will still be known within the publisher.  So it is viable =
to enforce such a constraint.  I believe it improves security as well.   If=
 there is an administrator which needs to tear down the dynamic subscriptio=
n, the kill-subscription RPC is available.



<</Eric>>



--- Alex (done with comments)



<walker> I think it=1B$B!G=1B(Bs better to describe it clearly in text, oth=
erwise someone else may be different understanding.



<:Eric:> The subscribed-notifications section 4.1 modify and 4.2 delete sub=
scription text says =1B$B!H=1B(BThe <****-subscription> operation permits c=
hanging the terms of an existing dynamic subscription previously establishe=
d on that transport session.=1B$B!I=1B(B   Let me know if something else is=
 needed.



Eric


=1B$B!D=1B(B

Thanks & Regards
Walker (Guangying zheng)







--_000_c757dbf99de64e0cb980b6363a021bd0XCHRTP013ciscocom_
Content-Type: text/html; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-2022-=
jp">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Courier New",serif;
	mso-fareast-language:ZH-CN;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";}
p.emailquote, li.emailquote, div.emailquote
	{mso-style-name:emailquote;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:1.0pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle25
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle26
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle27
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle28
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle29
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle30
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#44546A;}
span.EmailStyle31
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle32
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#00B0F0;mso-fareast-language:EN-US">Hi Walker,=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#00B0F0;mso-fareast-language:EN-US"><o:p>&nbsp=
;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#00B0F0;mso-fareast-language:EN-US">Thanks.&nb=
sp; Some thoughts added.&nbsp; See: &lt;:Eric:&gt;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp=
;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Zhengguangying, May 8, 2017 4:=
18 AM<br>
<br>
<o:p></o:p></span></p>
</div>
</div>
<div>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#44546A">Hi Eric, Alex<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#44546A">&nbsp;&nbsp; &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#44546A">&nbsp;&nbsp;&nbsp;Thanks for your
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#1F497D">your excellent response, for some doubt I have add sm=
all items inline
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#B2700E">&lt;walker&gt;</span><span style=3D"font-size:10.5pt;=
font-family:&quot;Calibri&quot;,sans-serif;color:#44546A"> .<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#44546A"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#44546A">Walker<o:p></o:p></span></p>
</div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#44546A"><o:p>&nbsp;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,sans-serif">From:</span></b><span style=3D"font-size:10.0pt;f=
ont-family:&quot;Tahoma&quot;,sans-serif"> Eric Voit (evoit) [<a href=3D"ma=
ilto:evoit@cisco.com">mailto:evoit@cisco.com</a>]
<br>
<b>Sent:</b> 2017</span><span lang=3D"ZH-CN" style=3D"font-size:10.0pt;font=
-family:SimSun">=1B$BG/=1B(B</span><span style=3D"font-size:10.0pt;font-fam=
ily:&quot;Tahoma&quot;,sans-serif">5</span><span lang=3D"ZH-CN" style=3D"fo=
nt-size:10.0pt;font-family:SimSun">=1B$B7n=1B(B</span><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,sans-serif">3</span><span lang=3D=
"ZH-CN" style=3D"font-size:10.0pt;font-family:SimSun">=1B$BF|=1B(B</span><s=
pan style=3D"font-size:10.0pt;font-family:&quot;Tahoma&quot;,sans-serif">
 21:57<br>
<b>To:</b> Alexander Clemm; Zhengguangying (Walker)<br>
<b>Cc:</b> <a href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a hre=
f=3D"mailto:netmod@ietf.org">
netmod@ietf.org</a><br>
<b>Subject:</b> RE: hi Alex, Eric and design team guys some comments for YA=
NG-push and subscribed-notifications, please help to confirm<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">(Moving lots of people to =1B$B!F=1B(=
BBCC=1B$B!G=1B(B so that this thread can traverse NETCONF &amp; NETMOD filt=
ers as Walker originally intended.)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">One more comment, see &lt;&lt;Eric&gt=
;&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"fon=
t-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><=
span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">=
 Alexander Clemm, May 2, 2017 8:35 PM<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">Hi Walker, thank you for your review =
and comments, and Eric, for your excellent response, to which I have little=
 to add except a few small items inline
</span><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans=
-serif;color:#00B050">&lt;ALEX&gt;</span><span style=3D"font-size:11.0pt;fo=
nt-family:&quot;Calibri&quot;,sans-serif;color:#1F497D"><o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D">--- Alex<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style=3D"border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Eric Voit (evoit) [<a href=3D"=
mailto:evoit@cisco.com">mailto:evoit@cisco.com</a>]
<br>
<b>Sent:</b> Tuesday, May 02, 2017 9:52 AM<br>
<b>To:</b> Zhengguangying (Walker) &lt;<a href=3D"mailto:zhengguangying@hua=
wei.com">zhengguangying@huawei.com</a>&gt;;
<a href=3D"mailto:ludwig@clemm.org">ludwig@clemm.org</a>; <a href=3D"mailto=
:alex@clemm.org">
alex@clemm.org</a>; 'Balazs Lengyel' &lt;<a href=3D"mailto:balazs.lengyel@e=
ricsson.com">balazs.lengyel@ericsson.com</a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a hre=
f=3D"mailto:netmod@ietf.org">
netmod@ietf.org</a>; Ambika Prasad Tripathy (ambtripa) &lt;<a href=3D"mailt=
o:ambtripa@cisco.com">ambtripa@cisco.com</a>&gt;; 'Kent Watsen' &lt;<a href=
=3D"mailto:kwatsen@juniper.net">kwatsen@juniper.net</a>&gt;; Hector Trevino=
 (htrevino) &lt;<a href=3D"mailto:htrevino@cisco.com">htrevino@cisco.com</a=
>&gt;;
 Einar Nilsen-Nygaard (einarnn) &lt;<a href=3D"mailto:einarnn@cisco.com">ei=
narnn@cisco.com</a>&gt;; Guopeipei (Peipei Guo) &lt;<a href=3D"mailto:guope=
ipei@huawei.com">guopeipei@huawei.com</a>&gt;; Alberto Gonzalez Prieto (alb=
ertgo) &lt;<a href=3D"mailto:albertgo@cisco.com">albertgo@cisco.com</a>&gt;=
;
 'Andy Bierman' &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.co=
m</a>&gt;; 'Chisholm, Sharon' &lt;<a href=3D"mailto:schishol@ciena.com">sch=
ishol@ciena.com</a>&gt;; Yangang &lt;<a href=3D"mailto:yangang@huawei.com">=
yangang@huawei.com</a>&gt;; Alexander Clemm &lt;<a href=3D"mailto:alexander=
.clemm@huawei.com">alexander.clemm@huawei.com</a>&gt;;
 'Susan Hares' &lt;<a href=3D"mailto:shares@ndzh.com">shares@ndzh.com</a>&g=
t;; Tim Jenkins (timjenki) &lt;<a href=3D"mailto:timjenki@cisco.com">timjen=
ki@cisco.com</a>&gt;; 'Scharf, Michael (Nokia - DE)' &lt;<a href=3D"mailto:=
michael.scharf@nokia.com">michael.scharf@nokia.com</a>&gt;;
 Rohit pobbathi &lt;<a href=3D"mailto:rohit.pobbathi@huawei.com">rohit.pobb=
athi@huawei.com</a>&gt;; 'MehmetErsue' &lt;<a href=3D"mailto:mersue@gmail.c=
om">mersue@gmail.com</a>&gt;; Mahesh Jethanandani (mahesh) &lt;<a href=3D"m=
ailto:mahesh@cisco.com">mahesh@cisco.com</a>&gt;<br>
<b>Subject:</b> RE: hi Alex, Eric and design team guys some comments for YA=
NG-push and subscribed-notifications, please help to confirm<o:p></o:p></sp=
an></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">Hi Walker,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#0070C0">Thanks very much for the comments.&nb=
sp;&nbsp; Some thoughts in-line.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"fon=
t-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">From:</span></b><=
span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">=
 Zhengguangying (Walker), May 2, 2017 9:25 AM</span><o:p></o:p></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">Hi Alex, Eric and all,<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">&nbsp;&nbsp; I reviewed the latest Draft and have some comments, ple=
ase help to confirm, thanks.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">&nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">&nbsp;&nbsp; For draft-ietf-netconf-yang-push-06:<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-.25in"=
>
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>1.</span><span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans=
-serif">In section 4.1, the configured subscription receivers not sepcify w=
hich mechnism to connect to client, it's better define clearly, specify it =
should be call home protocol.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; I totally agree call home is necessary.&nbsp; T=
he two transport drafts currently have the call-home specified within them.=
&nbsp; As we define the transport protocol per receiver, the
 appropriate call home mechanism for a platform transport should be automat=
ically selectable.&nbsp; I will clarify/improve the text in the subscribed-=
notifications draft to indicate this.&nbsp; &nbsp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">Is there something else needed at the protocol independent l=
evel?&nbsp;&nbsp; At this point I don=1B$B!G=1B(Bt know of any transport-in=
dependent call home behaviors unspecified, other than the need to
 add a context statement saying call home is necessary if transport isn=1B$=
B!G=1B(Bt available for a queued push update message.&nbsp; I don=1B$B!G=1B=
(Bt think we should over specify this right now.&nbsp; This is because for =
some transport connection types, call home doesn=1B$B!G=1B(Bt need to be al=
ways-on.
 &nbsp;E.g., HTTP implementations have the potential to scale differently t=
han NETCONF if a configured subscription transport can be established ad-ho=
c only when a push-update is ready to go. &nbsp;&nbsp;If there are other sp=
ecific behaviors needed for call-home behavior,
 what are they?&nbsp; Are these something that can vary by transport protoc=
ol and implementation?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">&lt;walker&gt; &nbsp;It=1B$B!G=1B(Bs good to clarify the mec=
hanism suggested.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B0F0">&lt;:Eric:&gt; As the mechanism is likely to be tied to tran=
sport, we can improve the definitions in the two transport documents.<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">&nbsp;&gt;&gt;If there are other specific behaviors needed f=
or call-home behavior, what are they?&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">Call-home feature need some additional parameters, where we =
need specify here or just add a reference to call-home configuration ? &nbs=
p;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B0F0">&lt;:Eric:&gt; Could you list any additional subscription sp=
ecific parameters? &nbsp;Maybe you are thinking security credentials?&nbsp;=
&nbsp; I have been hoping this security functions could be accomplished
 via existing device security tooling, and much of this tooling shouldn=1B$=
B!G=1B(Bt be subscription specific.&nbsp; &nbsp;</span><span style=3D"font-=
size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">&gt;&gt; Are these something that can vary by transport prot=
ocol and implementation?<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">I think it need. &nbsp;New transport protocol can add there =
choice/case.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B0F0">&lt;:Eric:&gt; How about via identities?&nbsp; Right now, HT=
TP2 and NETCONF are viable transports included by identity in the =1B$B!H=
=1B(Bprotocol=1B$B!I=1B(B object.
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>In YANG model, &quot;leaf period&quot; 's unit is timeticks(1/100s), it di=
fficult to understand for user, suggest to change the unit to millisecond.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; The common YANG types of RFC 6021 defines timet=
icks.&nbsp; I am hoping not to change typedefs which are compliant with tha=
t RFC.&nbsp;&nbsp; *However* if you see a business need to move to
 Milliseconds because you need a more granular time that hundredths of a se=
cond, we should discuss that.&nbsp; Especially as hundredths is what SMIv2 =
uses, we should have some use cases which needs the extra granularity befor=
e making the change.&nbsp; Do you have use
 cases which need millisecond-level subscription periods?<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">&lt;walker&gt; does not have one use case now, just think it=
 may be better.
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B0F0">&lt;:Eric:&gt; Let=1B$B!G=1B(Bs await a use case before chan=
ging.&nbsp; If we allow the encoding of millisecond-level definition, platf=
orms will perceive they need to support such intervals.&nbsp; And as millis=
econd
 level is far more likely to run into internal platform level scheduling is=
sues, there would be push-back.&nbsp; I am hoping we can avoid that complic=
ation.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-.25in"=
>
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>2.</span><span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans=
-serif">=1B$B!D=1B(B</span><span style=3D"font-size:11.0pt;font-family:&quo=
t;Calibri&quot;,sans-serif;color:#B2700E"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-.25in"=
>
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>3.</span><span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans=
-serif">If the time is not enough to send all the data in a cycle, how to d=
eal with the remaining data? Just postpone the next cycle or do not send th=
e remaining data? If you do not send the remaining
 data, it may cause the remaining data can not be monitored.\<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; Marshalling data into messages is treated diffe=
rently within the publisher than the transmitting of updates. &nbsp;If for =
some reason not all the data can be assembled into a push
 update or push-change-update message, the =1B$B!H=1B(Bupdates-not-sent=1B$=
B!I=1B(B flag should be set.&nbsp; The receiver can then determine what to =
do.&nbsp;&nbsp; Note: It is perfectly acceptable to have sequential push-ch=
ange-updates queued and in the process of being sent (in- order).&nbsp; I
 will add text to this to help clarify the yang-push draft.<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B050">&lt;ALEX&gt; One other aspect beyond the receiver:&nbsp; Whe=
n you indicate =1B$B!H=1B(Btime is enough to send all the data in a cycle=
=1B$B!I=1B(B, are you referring to a scenario where the interval in which t=
o send
 data is too short to allow for transmission of all the data?&nbsp; In such=
 a case, a publisher would fall further and further behind.&nbsp; Really, t=
his is a case where a publisher should basically suspend or abort the subsc=
ription, as it can=1B$B!G=1B(Bt keep up. &nbsp;We should state
 this clearly in the text.&nbsp; The tricky part is of course that some of =
it may be of temporal nature due to, for example, a temporary increase in l=
ist size or a large number of updates, which may subside later &#8211; this=
 would be reason to initially suspend (and
 later resume), before terminating the subscription outright.&nbsp; Again, =
we will update the text more clearly.&nbsp;</span><span style=3D"font-size:=
11.0pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B050">&lt;/ALEX&nbsp;
<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#B2700E">&lt;walker&gt; I think Alex=1B$B!G=1B(Bs suggestion is bette=
r. And as Eric mentioned the server can give one error reason when send sus=
pend notification, it can be define clearly in text.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#00B0F0">&lt;:Eric:&gt; Updated the text, and passed the edit token t=
o Alex.&nbsp; Alex, if you think it doesn=1B$B!G=1B(Bt cover your thoughts,=
 tweak as necessary.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-.25in"=
>
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>4.</span><span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans=
-serif">How to declare which path support &quot;on-change&quot;? Current dr=
aft defined all path not support &quot;on-change&quot; as default, if all &=
quot;configure&quot; leaf support &quot;on-change&quot; how I should do? Ad=
d extension
 for all &quot;configure&quot; leaf? It looks too complex, whether we can s=
upport one simple mode, such as define by type? then I can define all &quot=
;configure&quot; lead support &quot;on-change&quot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"=
>=1B$B!D=1B(B<span style=3D"color:#B2700E"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph;text-indent:-.25in"=
>
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>5.</span><span style=3D"font-size:7.0pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans=
-serif">I think &quot;subscription-status&quot; attributes not enough , whe=
n subscirption status is suspend ,we need &quot;suspend reason&quot;, &quot=
; suspend time&quot;. When subscription resume, we need &quot;resume time&q=
uot;.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;Eric&gt; This information will be available in the log a=
s both the suspend and resume trigger the creation of a notification with a=
 timestamp.&nbsp; Does it need to be available via standard
 exposed codes in the yang model?&nbsp;&nbsp; I don=1B$B!G=1B(Bt really hav=
e any problem adding this, but there currently isn=1B$B!G=1B(Bt any histori=
cal information exposed in the model.&nbsp; It is all current state.&nbsp;&=
nbsp; I would love to hear others=1B$B!G=1B(B opinions on this one.<o:p></o=
:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#0070C0">&lt;walker&gt; Both will be ok, may be we can here others =
=1B$B!F=1B(B opinions firstly.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"=
>or &quot;Modify-subscription &quot; and &quot;Delete-subscription &quot;, =
we should give the limitition: Subscriptions established via RPC can only b=
e Modified/deleted via RPC using&nbsp;&nbsp; the same transport session use=
d
 for subscription establishment.<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-=
serif;color:#0070C0">&lt;Eric&gt; This is true.&nbsp; As these RPCs are aug=
mented from definitions is =1B$B!H=1B(Bsubscribed notifications=1B$B!I=1B(B=
 which
 include that text, is that not sufficient?&nbsp; In some cases we have the=
 information only in one document to reduce the overall amount of text. &nb=
sp;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-=
serif"><o:p>&nbsp;</o:p></span></p>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">&lt;ALEX&gt; We curr=
ently state: =1B$B!H=1B(B</span><span lang=3D"EN">Subscriptions created by =
configuration operations cannot be modified [respectively deleted] via this=
 RPC.=1B$B!I=1B(B&nbsp; </span><span style=3D"font-size:11.0pt;font-family:=
&quot;Calibri&quot;,sans-serif;color:#00B050">&nbsp;&nbsp;<o:p></o:p></span=
></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">You are suggesting t=
o be stronger than that, i.e. not allow a dynamic subscription to be touche=
d by any transport session other than the one over which it was created.&nb=
sp; I am not sure of this, can you elaborate a bit further?&nbsp; Basically=
 this would imply needing to keep track of which session created which obje=
ct or dynamic subscription, something the framework does not currently keep=
 track of (but that is perhaps a bit i2rs-ish). &lt;/ALEX&gt;<o:p></o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0">&lt;&lt;Eric&gt;&gt;=
 It is true that the YANG model doesn=1B$B!G=1B(Bt expose identifiers for t=
he transport session which is used for a dynamic subscription.&nbsp; But th=
ese bindings will still be known within the publisher.&nbsp; So it is viabl=
e to enforce such a constraint.&nbsp; I believe it improves security as wel=
l.&nbsp;&nbsp; If there is an administrator which needs to tear down the dy=
namic subscription, the kill-subscription RPC is available.<o:p></o:p></spa=
n></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#0070C0">&lt;&lt;/Eric&gt;&gt=
;<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050">--- Alex (done with =
comments)<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B050"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#B2700E">&lt;walker&gt; I thi=
nk it=1B$B!G=1B(Bs better to describe it clearly in text, otherwise someone=
 else may be different understanding.<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif"><o:p>&nbsp;</o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B0F0">&lt;:Eric:&gt; The s=
ubscribed-notifications section 4.1 modify and 4.2 delete subscription text=
 says =1B$B!H=1B(BThe &lt;****-subscription&gt; operation permits changing =
the terms of an existing dynamic subscription previously established on tha=
t transport session.=1B$B!I=1B(B&nbsp; &nbsp;Let me know if something else =
is needed.<o:p></o:p></span></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B0F0"><o:p>&nbsp;</o:p></s=
pan></pre>
<pre style=3D"page-break-before:always"><span style=3D"font-size:11.0pt;fon=
t-family:&quot;Calibri&quot;,sans-serif;color:#00B0F0">Eric<o:p></o:p></spa=
n></pre>
<pre style=3D"page-break-before:always"><span lang=3D"EN"><o:p>&nbsp;</o:p>=
</span></pre>
<p class=3D"MsoNormal" style=3D"mso-margin-top-alt:auto;mso-margin-bottom-a=
lt:auto;text-align:justify;text-justify:inter-ideograph">
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"=
>=1B$B!D=1B(B<span style=3D"color:#0070C0"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">Thanks &amp; Regards<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif">Walker (Guangying zheng)<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span s=
tyle=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p>&=
nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,sans-=
serif"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-align:justify;text-justify:inter-ideog=
raph"><span style=3D"font-size:10.5pt">&nbsp;</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,sans-serif"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</body>
</html>

--_000_c757dbf99de64e0cb980b6363a021bd0XCHRTP013ciscocom_--


From nobody Mon May  8 11:45:24 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CB61D12957F for <netconf@ietfa.amsl.com>; Mon,  8 May 2017 11:45:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level: 
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EMMTcuEyCHKN for <netconf@ietfa.amsl.com>; Mon,  8 May 2017 11:45:21 -0700 (PDT)
Received: from mail-wr0-x229.google.com (mail-wr0-x229.google.com [IPv6:2a00:1450:400c:c0c::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F7FE12957C for <netconf@ietf.org>; Mon,  8 May 2017 11:45:21 -0700 (PDT)
Received: by mail-wr0-x229.google.com with SMTP id z52so51964763wrc.2 for <netconf@ietf.org>; Mon, 08 May 2017 11:45:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=QNAb675c02wa6nwoNk1FbRyuISNg6kBJa8Qh4TeBSog=; b=I3kIbvmZUawma9NOMccfneR1A/bl7B94b4Fg8VAW+e0HUTL0bFuqCjFc52aYtcr4nE 1LVErOI5F4e36o1YBv/OGAkspOdLbmwUkNaPouWNC5dOVfJdq6r38k5xC+bpz15osGsN sEjG2QioYXpr/x2gAGg1pFhPLAatcWpj9NTTAWksQaXynCc2xdwSHb4DPbCoueIhLXBB JWjPp0Jr1xpeocpfPaI2d5wNI4h5yEyyPbbG+8LWvMeegc8FsGuLvqFbz9sYUrbRwTzd urh78n2+l7pt8URIXpqrdgpZXt9o+aE4iTeWCTa8uc34H6jqgs+25humpaom63NWdoIg CjKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=QNAb675c02wa6nwoNk1FbRyuISNg6kBJa8Qh4TeBSog=; b=eAnclPnkBgXEw4ZtK4KRXcn/JAQ9NVCwdqe61tjTg7pUYKNXOqMxkE8fNmwYKZw0p9 oeUPawkwL7rwsQM+YJREV9Vfe1NwMIXBo/vt/IVbAN8WB65ruZBYhqWaKHXy3tyFUa8L Gmb/bKJ9EBriZw9HrnRgnofBOR01OlNcsVg/bjEOpoIrZhAc+L7DZJGN5GsVkp3XaQbc OfcpbqBYzvJELwDsMSv6sPr8Xwn4YVv0oRCz/xcJiEzzH4Bo88hroIGyW0hXX8wy9wD3 HlkbjnAhlff4xZOpVl6DXtdRkuVfqSlnJYq6auiaf8PA0b+8gJE/xxS4DwnenP0NmaQW ApCA==
X-Gm-Message-State: AN3rC/6iTUuRdOH/gmhzU1vgodd1O5vZb4mSrdmszgTMA9VNHoS3zeAN mvG9EryIuX2SO+NWBZ8zVTgM1KGeZlZa
X-Received: by 10.223.161.70 with SMTP id r6mr39369505wrr.65.1494269119493; Mon, 08 May 2017 11:45:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Mon, 8 May 2017 11:45:18 -0700 (PDT)
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 8 May 2017 11:45:18 -0700
Message-ID: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com>
To: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=f403045e274a110fd0054f07a47d
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/B7k6UjW1OabAE-rj9twGroLAm6E>
Subject: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 08 May 2017 18:45:23 -0000

--f403045e274a110fd0054f07a47d
Content-Type: text/plain; charset=UTF-8

Hi,

I am trying to understand the zerotouch draft.

I find it to be very implementation-specific, and not suited for
modular servers.

The container bootstrap-information only supports a monolithic server image.
It is assumed the entire configuration (modules, features, deviations, etc)
is irrelevant because it is hard-coded into the monolithic boot image.

What if a server is modular and the YANG modules, revisions, features, and
deviations
come from a bootstrap library config instead of hard-wired into a static
image?
This does not seem to be supported at all.

All the generic script stuff seems very implementation-specific as well.
I don't see the standards value of supporting pre and port bootstrap scripts
using an opaque scripting language.  Why isn't this just part of the
opaque bootstrap sequence? Why is it configurable?

Extra must-stmt:

 leaf owner-certificate {
      type pkcs7;
      must "../zerotouch-information" {


The zerotouch-information leaf is mandatory true so the must-stmt is not
needed.


Action notification:
What is the protocol interaction model for this action?
Who invokes it?  Why are the NETCONF error-tag status values ignored and
hard-coded
status values like 'parsing-error' and 'post-script-error' used?
It looks like config is being passed in container ssh-host-keys and
container trust-anchors.

Is the 'device-list' normal config=false data that is present on the server?
And only accessible via a normal NETCONF or RESTCONF session, after the
device
has booted OK?


Andy

--f403045e274a110fd0054f07a47d
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I am trying to understand the zerot=
ouch draft.</div><div><br></div><div>I find it to be very implementation-sp=
ecific, and not suited for</div><div>modular servers. =C2=A0</div><div><br>=
</div><div>The container bootstrap-information only supports a monolithic s=
erver image.</div><div>It is assumed the entire configuration (modules, fea=
tures, deviations, etc)</div><div>is irrelevant because it is hard-coded in=
to the monolithic boot image.</div><div><br></div><div>What if a server is =
modular and the YANG modules, revisions, features, and deviations</div><div=
>come from a bootstrap library config instead of hard-wired into a static i=
mage?</div><div>This does not seem to be supported at all.</div><div><br></=
div><div>All the generic script stuff seems very implementation-specific as=
 well.</div><div>I don&#39;t see the standards value of supporting pre and =
port bootstrap scripts</div><div>using an opaque scripting language.=C2=A0 =
Why isn&#39;t this just part of the</div><div>opaque bootstrap sequence? Wh=
y is it configurable?</div><div><br></div><div>Extra must-stmt:</div><div><=
br></div><div><pre class=3D"gmail-newpage" style=3D"font-size:13.3333px;mar=
gin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"> leaf owner-certificate {
      type pkcs7;
      must &quot;../zerotouch-information&quot; {</pre></div><div><br></div=
><div>The zerotouch-information leaf is mandatory true so the must-stmt is =
not needed.</div><div><br></div><div><br></div><div>Action notification:</d=
iv><div>What is the protocol interaction model for this action?</div><div>W=
ho invokes it?=C2=A0 Why are the NETCONF error-tag status values ignored an=
d hard-coded</div><div>status values like &#39;parsing-error&#39; and &#39;=
post-script-error&#39; used?</div><div>It looks like config is being passed=
 in container ssh-host-keys and container trust-anchors.</div><div><br></di=
v><div>Is the &#39;device-list&#39; normal config=3Dfalse data that is pres=
ent on the server?</div><div>And only accessible via a normal NETCONF or RE=
STCONF session, after the device</div><div>has booted OK?</div><div><br></d=
iv><div><br></div><div>Andy</div><div><br></div></div>

--f403045e274a110fd0054f07a47d--


From nobody Mon May  8 23:38:37 2017
Return-Path: <ludwig@clemm.org>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CF4C129AEB; Mon,  8 May 2017 23:38:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.42
X-Spam-Level: 
X-Spam-Status: No, score=-1.42 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_HELO_PASS=-0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o8m330G12ROZ; Mon,  8 May 2017 23:38:32 -0700 (PDT)
Received: from mout.perfora.net (mout.perfora.net [74.208.4.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F3DE129AE9; Mon,  8 May 2017 23:38:32 -0700 (PDT)
Received: from LAPTOPR7T053C2 ([85.244.19.114]) by mrelay.perfora.net (mreueus003 [74.208.5.2]) with ESMTPSA (Nemesis) id 0Lj3bk-1dlAt00drS-00dGOZ;  Tue, 09 May 2017 08:38:20 +0200
From: "Alexander Clemm" <ludwig@clemm.org>
To: "'Eric Voit \(evoit\)'" <evoit@cisco.com>, "'Zhengguangying \(Walker\)'" <zhengguangying@huawei.com>, "'Alexander Clemm'" <alexander.clemm@huawei.com>
Cc: "'Liubin \(Nickylba\)'" <nickylba.liubin@huawei.com>, "'Zhuzhiguo \(Zhuzhiguo, CSD\)'" <zhuzhiguo@huawei.com>, <netconf@ietf.org>, <netmod@ietf.org>
References: <381D7D55085B1E4D8B581BD652E1E140B2A8756B@nkgeml513-mbs.china.huawei.com> <dfc3d6aa4d5546e19955032cb3707fda@XCH-RTP-013.cisco.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF94788@SJCEML701-CHM.china.huawei.com> <31b203916b3b4081a6d0b88cfb8f0fbc@XCH-RTP-013.cisco.com> <381D7D55085B1E4D8B581BD652E1E140B2A88E82@nkgeml513-mbs.china.huawei.com> <c757dbf99de64e0cb980b6363a021bd0@XCH-RTP-013.cisco.com>
In-Reply-To: <c757dbf99de64e0cb980b6363a021bd0@XCH-RTP-013.cisco.com>
Date: Mon, 8 May 2017 23:38:17 -0700
Message-ID: <00ff01d2c88e$da360410$8ea20c30$@clemm.org>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0100_01D2C854.2DDB4AC0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQE10F1fJ/D5qaS9V0EV8fl55M2jPAIIP7yJAb60P+8BbOqsPgLCl/mSAoA0orOi0cZ2YA==
Content-Language: en-us
X-Provags-ID: V03:K0:3OkrIvQJmgGCYoGeoNA9W3fwhmfq64fCzQ8iwxXoZXf8sVkwxlS 8vwmN6bXD0Fmbf0fYqwjV56aGr0+FwQHojkwSz5cXNoBcXaa3l+QB5h/RTuv/dxOpV5c4ib 57ZaJyt0y9QDB0BwR+btgZkFjkW8sV2h4DUBbg4qVKMbbOiR7Au36/3wgo2cLFQGMJrNoK7 gzixKfxpI2NzNGZMOexyg==
X-UI-Out-Filterresults: notjunk:1;V01:K0:IAonFj8Q7lU=:zeB7hBhSZd9tJJJeLT4Ltd mr8JtepkSSWIHtfRxG8zbRFtKEGkAE7nH8TyDh25O8WRwoEMsm5uLSBUk93k4KwuqvZAZjT3N CKESxSLzlY9C9jFFRvlClMZwqNDlEMcTKQ9kaUd631HcwVdH3XAB5iXn68BS7X15yuDulm9Cn Ef8R7KXmao1gVwL7r+AMBzURsMPcO0y8kwIgUJWWZxm6LXi2HMYZKmjxOBVeGPn4ZANrA2Kup cBfdbCtH6dTuj95fMQh00HTx/Oj++QYPppFwYqiViLDA6v+B9wCusokwNss+7LVPpSTC0xMZz CuqugD2wLCUTKVdy7+YLuw0xxCel3NE9Q1dXl3rsWcAbUhM3sNL+n2cXxX07YGWxvPEOTfpVS HdGCLgvdEkPyV75PMPFeKwRNoV/UD/evcHbGOfaB9SHzl5+fVAafUwnH3hQ9VwgDO3NXSScxm WNpywZIpjA/1aYnG9+WTzO5zTC842mgL4pxais8mMvCgKi0tAS8i24WuyViMQE3xT2pau07W6 llINgd+UZfEIEaDltxlVEVQs0hSftUoaVV5Whv4Koh9Of4nAq4UIitzbBN5A7qffgrYpIVdgP 0RD+CYJIlVU+3AxmrYXlMaIGwp3LQ+4B555cLuKw4bj3gASLz5TYdjuwXEKwAWDBmTa1frP6r jNVj1fu4bYuaEA9MmLI/rut99Dmpu33qjKIj49EtK96R6sv0ua9FcSj3UN3k+oMpFv6X7u4Dq /R4JHJ428KbDCHWy
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/XcrIS_Lue861Qv-y7sFkQkI4Oe0>
Subject: Re: [Netconf] [netmod] hi Alex, Eric and design team guys some comments for YANG-push and subscribed-notifications, please help to confirm
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 May 2017 06:38:35 -0000

This is a multipart message in MIME format.

------=_NextPart_000_0100_01D2C854.2DDB4AC0
Content-Type: text/plain;
	charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

Hi,



I think we are basically in agreement, and we will update the text.  (As
Eric mentioned, I am currently holding the edit token.)



One comment re: call-home.  I don$B!G(Bt think anything else is needed here,
really; clearly call-home is something we had in mind all along for
configured subscriptions and I think the spec contains everything that is
needed but if you think something is missing, please point it out.  Also, on
timeticks, I agree with Eric we should keep in place what we have now unless
we come across a good reason (e.g. use case) for changing.



Cheers

--- Alex



From: netmod [mailto:netmod-bounces@ietf.org] On Behalf Of Eric Voit (evoit)
Sent: Monday, May 8, 2017 9:04 AM
To: Zhengguangying (Walker) <zhengguangying@huawei.com>; Alexander Clemm
<alexander.clemm@huawei.com>
Cc: Liubin (Nickylba) <nickylba.liubin@huawei.com>; Zhuzhiguo (Zhuzhiguo,
CSD) <zhuzhiguo@huawei.com>; netconf@ietf.org; netmod@ietf.org
Subject: Re: [netmod] hi Alex, Eric and design team guys some comments for
YANG-push and subscribed-notifications, please help to confirm



Hi Walker,



Thanks.  Some thoughts added.  See: <:Eric:>



From: Zhengguangying, May 8, 2017 4:18 AM

Hi Eric, Alex



   Thanks for your your excellent response, for some doubt I have add small
items inline <walker> .



Walker



From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: 2017$BG/(B5$B7n(B3$BF|(B 21:57
To: Alexander Clemm; Zhengguangying (Walker)
Cc: netconf@ietf.org <mailto:netconf@ietf.org> ; netmod@ietf.org
<mailto:netmod@ietf.org>
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push
and subscribed-notifications, please help to confirm



(Moving lots of people to $B!F(BBCC$B!G(B so that this thread can traverse NETCONF &
NETMOD filters as Walker originally intended.)



One more comment, see <<Eric>>



From: Alexander Clemm, May 2, 2017 8:35 PM

Hi Walker, thank you for your review and comments, and Eric, for your
excellent response, to which I have little to add except a few small items
inline <ALEX>

--- Alex



From: Eric Voit (evoit) [mailto:evoit@cisco.com]
Sent: Tuesday, May 02, 2017 9:52 AM
To: Zhengguangying (Walker) <zhengguangying@huawei.com
<mailto:zhengguangying@huawei.com> >; ludwig@clemm.org <mailto:ludwig@clemm.
org> ; alex@clemm.org <mailto:alex@clemm.org> ; 'Balazs Lengyel'
<balazs.lengyel@ericsson.com <mailto:balazs.lengyel@ericsson.com> >
Cc: netconf@ietf.org <mailto:netconf@ietf.org> ; netmod@ietf.org
<mailto:netmod@ietf.org> ; Ambika Prasad Tripathy (ambtripa)
<ambtripa@cisco.com <mailto:ambtripa@cisco.com> >; 'Kent Watsen'
<kwatsen@juniper.net <mailto:kwatsen@juniper.net> >; Hector Trevino
(htrevino) <htrevino@cisco.com <mailto:htrevino@cisco.com> >; Einar
Nilsen-Nygaard (einarnn) <einarnn@cisco.com <mailto:einarnn@cisco.com> >;
Guopeipei (Peipei Guo) <guopeipei@huawei.com <mailto:guopeipei@huawei.com>
>; Alberto Gonzalez Prieto (albertgo) <albertgo@cisco.com
<mailto:albertgo@cisco.com> >; 'Andy Bierman' <andy@yumaworks.com
<mailto:andy@yumaworks.com> >; 'Chisholm, Sharon' <schishol@ciena.com
<mailto:schishol@ciena.com> >; Yangang <yangang@huawei.com
<mailto:yangang@huawei.com> >; Alexander Clemm <alexander.clemm@huawei.com
<mailto:alexander.clemm@huawei.com> >; 'Susan Hares' <shares@ndzh.com
<mailto:shares@ndzh.com> >; Tim Jenkins (timjenki) <timjenki@cisco.com
<mailto:timjenki@cisco.com> >; 'Scharf, Michael (Nokia - DE)'
<michael.scharf@nokia.com <mailto:michael.scharf@nokia.com> >; Rohit
pobbathi <rohit.pobbathi@huawei.com <mailto:rohit.pobbathi@huawei.com> >;
'MehmetErsue' <mersue@gmail.com <mailto:mersue@gmail.com> >; Mahesh
Jethanandani (mahesh) <mahesh@cisco.com <mailto:mahesh@cisco.com> >
Subject: RE: hi Alex, Eric and design team guys some comments for YANG-push
and subscribed-notifications, please help to confirm



Hi Walker,



Thanks very much for the comments.   Some thoughts in-line.



From: Zhengguangying (Walker), May 2, 2017 9:25 AM

Hi Alex, Eric and all,



   I reviewed the latest Draft and have some comments, please help to
confirm, thanks.



   For draft-ietf-netconf-yang-push-06:

1.       In section 4.1, the configured subscription receivers not sepcify
which mechnism to connect to client, it's better define clearly, specify it
should be call home protocol.

<Eric> I totally agree call home is necessary.  The two transport drafts
currently have the call-home specified within them.  As we define the
transport protocol per receiver, the appropriate call home mechanism for a
platform transport should be automatically selectable.  I will
clarify/improve the text in the subscribed-notifications draft to indicate
this.

Is there something else needed at the protocol independent level?   At this
point I don$B!G(Bt know of any transport-independent call home behaviors
unspecified, other than the need to add a context statement saying call home
is necessary if transport isn$B!G(Bt available for a queued push update message.
I don$B!G(Bt think we should over specify this right now.  This is because for
some transport connection types, call home doesn$B!G(Bt need to be always-on.
E.g., HTTP implementations have the potential to scale differently than
NETCONF if a configured subscription transport can be established ad-hoc
only when a push-update is ready to go.   If there are other specific
behaviors needed for call-home behavior, what are they?  Are these something
that can vary by transport protocol and implementation?

<walker>  It$B!G(Bs good to clarify the mechanism suggested.

<:Eric:> As the mechanism is likely to be tied to transport, we can improve
the definitions in the two transport documents.

 >>If there are other specific behaviors needed for call-home behavior, what
are they?

Call-home feature need some additional parameters, where we need specify
here or just add a reference to call-home configuration ?

<:Eric:> Could you list any additional subscription specific parameters?
Maybe you are thinking security credentials?   I have been hoping this
security functions could be accomplished via existing device security
tooling, and much of this tooling shouldn$B!G(Bt be subscription specific.

>> Are these something that can vary by transport protocol and
implementation?

I think it need.  New transport protocol can add there choice/case.

<:Eric:> How about via identities?  Right now, HTTP2 and NETCONF are viable
transports included by identity in the $B!H(Bprotocol$B!I(B object.

In YANG model, "leaf period" 's unit is timeticks(1/100s), it difficult to
understand for user, suggest to change the unit to millisecond.

<Eric> The common YANG types of RFC 6021 defines timeticks.  I am hoping not
to change typedefs which are compliant with that RFC.   *However* if you see
a business need to move to Milliseconds because you need a more granular
time that hundredths of a second, we should discuss that.  Especially as
hundredths is what SMIv2 uses, we should have some use cases which needs the
extra granularity before making the change.  Do you have use cases which
need millisecond-level subscription periods?

<walker> does not have one use case now, just think it may be better.

<:Eric:> Let$B!G(Bs await a use case before changing.  If we allow the encoding
of millisecond-level definition, platforms will perceive they need to
support such intervals.  And as millisecond level is far more likely to run
into internal platform level scheduling issues, there would be push-back.  I
am hoping we can avoid that complication.

2.       $B!D(B

3.       If the time is not enough to send all the data in a cycle, how to
deal with the remaining data? Just postpone the next cycle or do not send
the remaining data? If you do not send the remaining data, it may cause the
remaining data can not be monitored.\

<Eric> Marshalling data into messages is treated differently within the
publisher than the transmitting of updates.  If for some reason not all the
data can be assembled into a push update or push-change-update message, the
$B!H(Bupdates-not-sent$B!I(B flag should be set.  The receiver can then determine
what to do.   Note: It is perfectly acceptable to have sequential
push-change-updates queued and in the process of being sent (in- order).  I
will add text to this to help clarify the yang-push draft.

<ALEX> One other aspect beyond the receiver:  When you indicate $B!H(Btime is
enough to send all the data in a cycle$B!I(B, are you referring to a scenario
where the interval in which to send data is too short to allow for
transmission of all the data?  In such a case, a publisher would fall
further and further behind.  Really, this is a case where a publisher should
basically suspend or abort the subscription, as it can$B!G(Bt keep up.  We
should state this clearly in the text.  The tricky part is of course that
some of it may be of temporal nature due to, for example, a temporary
increase in list size or a large number of updates, which may subside later
- this would be reason to initially suspend (and later resume), before
terminating the subscription outright.  Again, we will update the text more
clearly.

</ALEX

<walker> I think Alex$B!G(Bs suggestion is better. And as Eric mentioned the
server can give one error reason when send suspend notification, it can be
define clearly in text.

<:Eric:> Updated the text, and passed the edit token to Alex.  Alex, if you
think it doesn$B!G(Bt cover your thoughts, tweak as necessary.

4.       How to declare which path support "on-change"? Current draft
defined all path not support "on-change" as default, if all "configure" leaf
support "on-change" how I should do? Add extension for all "configure" leaf?
It looks too complex, whether we can support one simple mode, such as define
by type? then I can define all "configure" lead support "on-change".

$B!D(B

5.       I think "subscription-status" attributes not enough , when
subscirption status is suspend ,we need "suspend reason", " suspend time".
When subscription resume, we need "resume time".

<Eric> This information will be available in the log as both the suspend and
resume trigger the creation of a notification with a timestamp.  Does it
need to be available via standard exposed codes in the yang model?   I don$B!G(B
t really have any problem adding this, but there currently isn$B!G(Bt any
historical information exposed in the model.  It is all current state.   I
would love to hear others$B!G(B opinions on this one.

<walker> Both will be ok, may be we can here others $B!F(B opinions firstly.

or "Modify-subscription " and "Delete-subscription ", we should give the
limitition: Subscriptions established via RPC can only be Modified/deleted
via RPC using   the same transport session used for subscription
establishment.

<Eric> This is true.  As these RPCs are augmented from definitions is
$B!H(Bsubscribed notifications$B!I(B which include that text, is that not
sufficient?  In some cases we have the information only in one document to
reduce the overall amount of text.



<ALEX> We currently state: $B!H(BSubscriptions created by configuration
operations cannot be modified [respectively deleted] via this RPC.$B!I(B
You are suggesting to be stronger than that, i.e. not allow a dynamic
subscription to be touched by any transport session other than the one over
which it was created.  I am not sure of this, can you elaborate a bit
further?  Basically this would imply needing to keep track of which session
created which object or dynamic subscription, something the framework does
not currently keep track of (but that is perhaps a bit i2rs-ish). </ALEX>

<<Eric>> It is true that the YANG model doesn$B!G(Bt expose identifiers for the
transport session which is used for a dynamic subscription.  But these
bindings will still be known within the publisher.  So it is viable to
enforce such a constraint.  I believe it improves security as well.   If
there is an administrator which needs to tear down the dynamic subscription,
the kill-subscription RPC is available.

<</Eric>>

--- Alex (done with comments)

<walker> I think it$B!G(Bs better to describe it clearly in text, otherwise
someone else may be different understanding.

<:Eric:> The subscribed-notifications section 4.1 modify and 4.2 delete
subscription text says $B!H(BThe <****-subscription> operation permits changing
the terms of an existing dynamic subscription previously established on that
transport session.$B!I(B   Let me know if something else is needed.

Eric


$B!D(B



Thanks & Regards

Walker (Guangying zheng)














------=_NextPart_000_0100_01D2C854.2DDB4AC0
Content-Type: text/html;
	charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-2022-jp"><meta name=3DGenerator content=3D"Microsoft Word =
15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"MS PGothic";
	panose-1:2 11 6 0 7 2 5 8 2 4;}
@font-face
	{font-family:"\@MS PGothic";}
@font-face
	{font-family:"\@MS Gothic";
	panose-1:2 11 6 9 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Courier New";
	mso-fareast-language:ZH-CN;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
	{mso-style-priority:99;
	mso-style-link:"Balloon Text Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:8.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:0in;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.BalloonTextChar
	{mso-style-name:"Balloon Text Char";
	mso-style-priority:99;
	mso-style-link:"Balloon Text";}
p.emailquote, li.emailquote, div.emailquote
	{mso-style-name:emailquote;
	mso-margin-top-alt:auto;
	margin-right:0in;
	mso-margin-bottom-alt:auto;
	margin-left:1.0pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;
	mso-fareast-language:ZH-CN;}
span.EmailStyle24
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle25
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle26
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle27
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle28
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle29
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle30
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#44546A;}
span.EmailStyle31
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:#1F497D;}
span.EmailStyle32
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.EmailStyle33
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US =
link=3D"#0563C1" vlink=3D"#954F72"><div class=3DWordSection1><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Hi,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>I think we are basically in agreement, and we will update =
the text.&nbsp; (As Eric mentioned, I am currently holding the edit =
token.)&nbsp; <o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>One comment re: call-home.&nbsp; I don=1B$B!G=1B(Bt think =
anything else is needed here, really; clearly call-home is something we =
had in mind all along for configured subscriptions and I think the spec =
contains everything that is needed but if you think something is =
missing, please point it out.&nbsp; Also, on timeticks, I agree with =
Eric we should keep in place what we have now unless we come across a =
good reason (e.g. use case) for changing.&nbsp; <o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Cheers<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>--- Alex<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><div><div =
style=3D'border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in'><p class=3DMsoNormal><b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:JA'>From:</span></b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:JA'> netmod [mailto:netmod-bounces@ietf.org] <b>On Behalf Of =
</b>Eric Voit (evoit)<br><b>Sent:</b> Monday, May 8, 2017 9:04 =
AM<br><b>To:</b> Zhengguangying (Walker) =
&lt;zhengguangying@huawei.com&gt;; Alexander Clemm =
&lt;alexander.clemm@huawei.com&gt;<br><b>Cc:</b> Liubin (Nickylba) =
&lt;nickylba.liubin@huawei.com&gt;; Zhuzhiguo (Zhuzhiguo, CSD) =
&lt;zhuzhiguo@huawei.com&gt;; netconf@ietf.org; =
netmod@ietf.org<br><b>Subject:</b> Re: [netmod] hi Alex, Eric and design =
team guys some comments for YANG-push and subscribed-notifications, =
please help to confirm<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0;=
mso-fareast-language:EN-US'>Hi Walker,<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0;=
mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0;=
mso-fareast-language:EN-US'>Thanks.&nbsp; Some thoughts added.&nbsp; =
See: &lt;:Eric:&gt;&nbsp;&nbsp; <o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;=
mso-fareast-language:EN-US'><o:p>&nbsp;</o:p></span></p><div =
style=3D'border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt'><div><div style=3D'border:none;border-top:solid #E1E1E1 =
1.0pt;padding:3.0pt 0in 0in 0in'><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'><b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span><=
/b><span style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'> =
Zhengguangying, May 8, 2017 4:18 =
AM<o:p></o:p></span></p></div></div><div><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
>Hi Eric, Alex<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
>&nbsp;&nbsp; &nbsp;<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
>&nbsp;&nbsp;&nbsp;Thanks for your </span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
>your excellent response, for some doubt I have add small items inline =
</span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&lt;walker&gt;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
> .<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
>Walker<o:p></o:p></span></p></div><p class=3DMsoNormal><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif;color:#44546A'=
><o:p>&nbsp;</o:p></span></p><div><div =
style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in'><p class=3DMsoNormal><b><span =
style=3D'font-size:10.0pt;font-family:"Tahoma",sans-serif'>From:</span></=
b><span style=3D'font-size:10.0pt;font-family:"Tahoma",sans-serif'> Eric =
Voit (evoit) [<a =
href=3D"mailto:evoit@cisco.com">mailto:evoit@cisco.com</a>] =
<br><b>Sent:</b> 2017</span><span lang=3DZH-CN =
style=3D'font-size:10.0pt;font-family:SimSun'>=1B$BG/=1B(B</span><span =
style=3D'font-size:10.0pt;font-family:"Tahoma",sans-serif'>5</span><span =
lang=3DZH-CN =
style=3D'font-size:10.0pt;font-family:SimSun'>=1B$B7n=1B(B</span><span =
style=3D'font-size:10.0pt;font-family:"Tahoma",sans-serif'>3</span><span =
lang=3DZH-CN =
style=3D'font-size:10.0pt;font-family:SimSun'>=1B$BF|=1B(B</span><span =
style=3D'font-size:10.0pt;font-family:"Tahoma",sans-serif'> =
21:57<br><b>To:</b> Alexander Clemm; Zhengguangying =
(Walker)<br><b>Cc:</b> <a =
href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a =
href=3D"mailto:netmod@ietf.org">netmod@ietf.org</a><br><b>Subject:</b> =
RE: hi Alex, Eric and design team guys some comments for YANG-push and =
subscribed-notifications, please help to =
confirm<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>(Moving lots of people to =1B$B!F=1B(BBCC=1B$B!G=1B(B so that this =
thread can traverse NETCONF &amp; NETMOD filters as Walker originally =
intended.)<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>One more comment, see &lt;&lt;Eric&gt;&gt;<o:p></o:p></span></p><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-left:solid =
blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div =
style=3D'border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in'><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'><b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span><=
/b><span style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'> =
Alexander Clemm, May 2, 2017 8:35 PM<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
>Hi Walker, thank you for your review and comments, and Eric, for your =
excellent response, to which I have little to add except a few small =
items inline </span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>&lt;ALEX&gt;</span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
>--- Alex<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
><o:p>&nbsp;</o:p></span></p><div><div =
style=3D'border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in =
0in 0in'><p class=3DMsoNormal><b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span><=
/b><span style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'> =
Eric Voit (evoit) [<a =
href=3D"mailto:evoit@cisco.com">mailto:evoit@cisco.com</a>] =
<br><b>Sent:</b> Tuesday, May 02, 2017 9:52 AM<br><b>To:</b> =
Zhengguangying (Walker) &lt;<a =
href=3D"mailto:zhengguangying@huawei.com">zhengguangying@huawei.com</a>&g=
t;; <a href=3D"mailto:ludwig@clemm.org">ludwig@clemm.org</a>; <a =
href=3D"mailto:alex@clemm.org">alex@clemm.org</a>; 'Balazs Lengyel' =
&lt;<a =
href=3D"mailto:balazs.lengyel@ericsson.com">balazs.lengyel@ericsson.com</=
a>&gt;<br><b>Cc:</b> <a =
href=3D"mailto:netconf@ietf.org">netconf@ietf.org</a>; <a =
href=3D"mailto:netmod@ietf.org">netmod@ietf.org</a>; Ambika Prasad =
Tripathy (ambtripa) &lt;<a =
href=3D"mailto:ambtripa@cisco.com">ambtripa@cisco.com</a>&gt;; 'Kent =
Watsen' &lt;<a =
href=3D"mailto:kwatsen@juniper.net">kwatsen@juniper.net</a>&gt;; Hector =
Trevino (htrevino) &lt;<a =
href=3D"mailto:htrevino@cisco.com">htrevino@cisco.com</a>&gt;; Einar =
Nilsen-Nygaard (einarnn) &lt;<a =
href=3D"mailto:einarnn@cisco.com">einarnn@cisco.com</a>&gt;; Guopeipei =
(Peipei Guo) &lt;<a =
href=3D"mailto:guopeipei@huawei.com">guopeipei@huawei.com</a>&gt;; =
Alberto Gonzalez Prieto (albertgo) &lt;<a =
href=3D"mailto:albertgo@cisco.com">albertgo@cisco.com</a>&gt;; 'Andy =
Bierman' &lt;<a =
href=3D"mailto:andy@yumaworks.com">andy@yumaworks.com</a>&gt;; =
'Chisholm, Sharon' &lt;<a =
href=3D"mailto:schishol@ciena.com">schishol@ciena.com</a>&gt;; Yangang =
&lt;<a href=3D"mailto:yangang@huawei.com">yangang@huawei.com</a>&gt;; =
Alexander Clemm &lt;<a =
href=3D"mailto:alexander.clemm@huawei.com">alexander.clemm@huawei.com</a>=
&gt;; 'Susan Hares' &lt;<a =
href=3D"mailto:shares@ndzh.com">shares@ndzh.com</a>&gt;; Tim Jenkins =
(timjenki) &lt;<a =
href=3D"mailto:timjenki@cisco.com">timjenki@cisco.com</a>&gt;; 'Scharf, =
Michael (Nokia - DE)' &lt;<a =
href=3D"mailto:michael.scharf@nokia.com">michael.scharf@nokia.com</a>&gt;=
; Rohit pobbathi &lt;<a =
href=3D"mailto:rohit.pobbathi@huawei.com">rohit.pobbathi@huawei.com</a>&g=
t;; 'MehmetErsue' &lt;<a =
href=3D"mailto:mersue@gmail.com">mersue@gmail.com</a>&gt;; Mahesh =
Jethanandani (mahesh) &lt;<a =
href=3D"mailto:mahesh@cisco.com">mahesh@cisco.com</a>&gt;<br><b>Subject:<=
/b> RE: hi Alex, Eric and design team guys some comments for YANG-push =
and subscribed-notifications, please help to =
confirm<o:p></o:p></span></p></div></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>Hi Walker,<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>Thanks very much for the comments.&nbsp;&nbsp; Some thoughts =
in-line.<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D'=
><o:p>&nbsp;</o:p></span></p><div style=3D'border:none;border-left:solid =
blue 1.5pt;padding:0in 0in 0in 4.0pt'><p class=3DMsoNormal =
style=3D'margin-bottom:12.0pt'><b><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span><=
/b><span style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'> =
Zhengguangying (Walker), May 2, 2017 9:25 AM</span><o:p></o:p></p><p =
class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>Hi Alex, =
Eric and all,<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>&nbsp;&nbsp; =
I reviewed the latest Draft and have some comments, please help to =
confirm, thanks.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>&nbsp;<o:p></=
o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>&nbsp;&nbsp; =
For draft-ietf-netconf-yang-push-06:<o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph;text-indent:-.25in'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>1.</span><spa=
n style=3D'font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>In section =
4.1, the configured subscription receivers not sepcify which mechnism to =
connect to client, it's better define clearly, specify it should be call =
home protocol.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;Eric&gt; I totally agree call home is necessary.&nbsp; The two =
transport drafts currently have the call-home specified within =
them.&nbsp; As we define the transport protocol per receiver, the =
appropriate call home mechanism for a platform transport should be =
automatically selectable.&nbsp; I will clarify/improve the text in the =
subscribed-notifications draft to indicate this.&nbsp; =
&nbsp;<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>Is there something else needed at the protocol independent =
level?&nbsp;&nbsp; At this point I don=1B$B!G=1B(Bt know of any =
transport-independent call home behaviors unspecified, other than the =
need to add a context statement saying call home is necessary if =
transport isn=1B$B!G=1B(Bt available for a queued push update =
message.&nbsp; I don=1B$B!G=1B(Bt think we should over specify this =
right now.&nbsp; This is because for some transport connection types, =
call home doesn=1B$B!G=1B(Bt need to be always-on. &nbsp;E.g., HTTP =
implementations have the potential to scale differently than NETCONF if =
a configured subscription transport can be established ad-hoc only when =
a push-update is ready to go. &nbsp;&nbsp;If there are other specific =
behaviors needed for call-home behavior, what are they?&nbsp; Are these =
something that can vary by transport protocol and =
implementation?<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&lt;walker&gt; &nbsp;It=1B$B!G=1B(Bs good to clarify the mechanism =
suggested.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; As the mechanism is likely to be tied to transport, we =
can improve the definitions in the two transport =
documents.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&nbsp;&gt;&gt;If there are other specific behaviors needed for =
call-home behavior, what are they?&nbsp; <o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>Call-home feature need some additional parameters, where we need =
specify here or just add a reference to call-home configuration ? =
&nbsp;<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; Could you list any additional subscription specific =
parameters? &nbsp;Maybe you are thinking security =
credentials?&nbsp;&nbsp; I have been hoping this security functions =
could be accomplished via existing device security tooling, and much of =
this tooling shouldn=1B$B!G=1B(Bt be subscription specific.&nbsp; =
&nbsp;</span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&gt;&gt; Are these something that can vary by transport protocol and =
implementation?<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>I think it need. &nbsp;New transport protocol can add there =
choice/case.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; How about via identities?&nbsp; Right now, HTTP2 and =
NETCONF are viable transports included by identity in the =
=1B$B!H=1B(Bprotocol=1B$B!I=1B(B object. <o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>In YANG =
model, &quot;leaf period&quot; 's unit is timeticks(1/100s), it =
difficult to understand for user, suggest to change the unit to =
millisecond.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;Eric&gt; The common YANG types of RFC 6021 defines timeticks.&nbsp; =
I am hoping not to change typedefs which are compliant with that =
RFC.&nbsp;&nbsp; *However* if you see a business need to move to =
Milliseconds because you need a more granular time that hundredths of a =
second, we should discuss that.&nbsp; Especially as hundredths is what =
SMIv2 uses, we should have some use cases which needs the extra =
granularity before making the change.&nbsp; Do you have use cases which =
need millisecond-level subscription periods?<o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&lt;walker&gt; does not have one use case now, just think it may be =
better. <o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; Let=1B$B!G=1B(Bs await a use case before changing.&nbsp; =
If we allow the encoding of millisecond-level definition, platforms will =
perceive they need to support such intervals.&nbsp; And as millisecond =
level is far more likely to run into internal platform level scheduling =
issues, there would be push-back.&nbsp; I am hoping we can avoid that =
complication.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph;text-indent:-.25in'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>2.</span><spa=
n style=3D'font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>=1B$B!D=1B(B<=
/span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
><o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph;text-indent:-.25in'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>3.</span><spa=
n style=3D'font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>If the time =
is not enough to send all the data in a cycle, how to deal with the =
remaining data? Just postpone the next cycle or do not send the =
remaining data? If you do not send the remaining data, it may cause the =
remaining data can not be monitored.\<o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;Eric&gt; Marshalling data into messages is treated differently =
within the publisher than the transmitting of updates. &nbsp;If for some =
reason not all the data can be assembled into a push update or =
push-change-update message, the =1B$B!H=1B(Bupdates-not-sent=1B$B!I=1B(B =
flag should be set.&nbsp; The receiver can then determine what to =
do.&nbsp;&nbsp; Note: It is perfectly acceptable to have sequential =
push-change-updates queued and in the process of being sent (in- =
order).&nbsp; I will add text to this to help clarify the yang-push =
draft.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>&lt;ALEX&gt; One other aspect beyond the receiver:&nbsp; When you =
indicate =1B$B!H=1B(Btime is enough to send all the data in a =
cycle=1B$B!I=1B(B, are you referring to a scenario where the interval in =
which to send data is too short to allow for transmission of all the =
data?&nbsp; In such a case, a publisher would fall further and further =
behind.&nbsp; Really, this is a case where a publisher should basically =
suspend or abort the subscription, as it can=1B$B!G=1B(Bt keep up. =
&nbsp;We should state this clearly in the text.&nbsp; The tricky part is =
of course that some of it may be of temporal nature due to, for example, =
a temporary increase in list size or a large number of updates, which =
may subside later &#8211; this would be reason to initially suspend (and =
later resume), before terminating the subscription outright.&nbsp; =
Again, we will update the text more clearly.&nbsp;</span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>&lt;/ALEX&nbsp; <o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&lt;walker&gt; I think Alex=1B$B!G=1B(Bs suggestion is better. And as =
Eric mentioned the server can give one error reason when send suspend =
notification, it can be define clearly in text.<o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; Updated the text, and passed the edit token to =
Alex.&nbsp; Alex, if you think it doesn=1B$B!G=1B(Bt cover your =
thoughts, tweak as necessary.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph;text-indent:-.25in'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>4.</span><spa=
n style=3D'font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>How to =
declare which path support &quot;on-change&quot;? Current draft defined =
all path not support &quot;on-change&quot; as default, if all =
&quot;configure&quot; leaf support &quot;on-change&quot; how I should =
do? Add extension for all &quot;configure&quot; leaf? It looks too =
complex, whether we can support one simple mode, such as define by type? =
then I can define all &quot;configure&quot; lead support =
&quot;on-change&quot;.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>=1B$B!D=1B(B<=
span style=3D'color:#B2700E'><o:p></o:p></span></span></p><p =
class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph;text-indent:-.25in'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>5.</span><spa=
n style=3D'font-size:7.0pt'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>I think =
&quot;subscription-status&quot; attributes not enough , when =
subscirption status is suspend ,we need &quot;suspend reason&quot;, =
&quot; suspend time&quot;. When subscription resume, we need =
&quot;resume time&quot;.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;Eric&gt; This information will be available in the log as both the =
suspend and resume trigger the creation of a notification with a =
timestamp.&nbsp; Does it need to be available via standard exposed codes =
in the yang model?&nbsp;&nbsp; I don=1B$B!G=1B(Bt really have any =
problem adding this, but there currently isn=1B$B!G=1B(Bt any historical =
information exposed in the model.&nbsp; It is all current =
state.&nbsp;&nbsp; I would love to hear others=1B$B!G=1B(B opinions on =
this one.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;walker&gt; Both will be ok, may be we can here others =1B$B!F=1B(B =
opinions firstly.<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>or =
&quot;Modify-subscription &quot; and &quot;Delete-subscription &quot;, =
we should give the limitition: Subscriptions established via RPC can =
only be Modified/deleted via RPC using&nbsp;&nbsp; the same transport =
session used for subscription establishment.<o:p></o:p></span></p><p =
class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;Eric&gt; This is true.&nbsp; As these RPCs are augmented from =
definitions is =1B$B!H=1B(Bsubscribed notifications=1B$B!I=1B(B which =
include that text, is that not sufficient?&nbsp; In some cases we have =
the information only in one document to reduce the overall amount of =
text. &nbsp;<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</=
o:p></span></p><pre style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>&lt;ALEX&gt; We currently state: =1B$B!H=1B(B</span><span =
lang=3DEN>Subscriptions created by configuration operations cannot be =
modified [respectively deleted] via this RPC.=1B$B!I=1B(B&nbsp; =
</span><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>&nbsp;&nbsp;<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>You are suggesting to be stronger than that, i.e. not allow a dynamic =
subscription to be touched by any transport session other than the one =
over which it was created.&nbsp; I am not sure of this, can you =
elaborate a bit further?&nbsp; Basically this would imply needing to =
keep track of which session created which object or dynamic =
subscription, something the framework does not currently keep track of =
(but that is perhaps a bit i2rs-ish). =
&lt;/ALEX&gt;<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</=
o:p></span></pre><pre style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;&lt;Eric&gt;&gt; It is true that the YANG model doesn=1B$B!G=1B(Bt =
expose identifiers for the transport session which is used for a dynamic =
subscription.&nbsp; But these bindings will still be known within the =
publisher.&nbsp; So it is viable to enforce such a constraint.&nbsp; I =
believe it improves security as well.&nbsp;&nbsp; If there is an =
administrator which needs to tear down the dynamic subscription, the =
kill-subscription RPC is available.<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
><o:p>&nbsp;</o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#0070C0'=
>&lt;&lt;/Eric&gt;&gt;<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
><o:p>&nbsp;</o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
>--- Alex (done with comments)<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B050'=
><o:p>&nbsp;</o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#B2700E'=
>&lt;walker&gt; I think it=1B$B!G=1B(Bs better to describe it clearly in =
text, otherwise someone else may be different =
understanding.<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</=
o:p></span></pre><pre style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>&lt;:Eric:&gt; The subscribed-notifications section 4.1 modify and 4.2 =
delete subscription text says =1B$B!H=1B(BThe &lt;****-subscription&gt; =
operation permits changing the terms of an existing dynamic subscription =
previously established on that transport session.=1B$B!I=1B(B&nbsp; =
&nbsp;Let me know if something else is =
needed.<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
><o:p>&nbsp;</o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;color:#00B0F0'=
>Eric<o:p></o:p></span></pre><pre =
style=3D'page-break-before:always'><span =
lang=3DEN><o:p>&nbsp;</o:p></span></pre><p class=3DMsoNormal =
style=3D'mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:ju=
stify;text-justify:inter-ideograph'><span =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>=1B$B!D=1B(B<=
span style=3D'color:#0070C0'><o:p></o:p></span></span></p><p =
class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>Thanks &amp; =
Regards<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'>Walker =
(Guangying zheng)<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal align=3Dcenter =
style=3D'text-align:center'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p>&nbsp;</=
o:p></span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p><p class=3DMsoNormal =
style=3D'text-align:justify;text-justify:inter-ideograph'><span =
style=3D'font-size:10.5pt'>&nbsp;</span><span =
style=3D'font-size:10.5pt;font-family:"Calibri",sans-serif'><o:p></o:p></=
span></p></div></div></div></div></body></html>
------=_NextPart_000_0100_01D2C854.2DDB4AC0--


From nobody Tue May  9 05:50:34 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 255F4129C51 for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 05:50:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Vo4Er9SiYEch for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 05:50:31 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 2DE11127137 for <netconf@ietf.org>; Tue,  9 May 2017 05:50:31 -0700 (PDT)
Received: from localhost (h-13-92.a165.priv.bahnhof.se [155.4.13.92]) by mail.tail-f.com (Postfix) with ESMTPSA id 1E7981AE034F; Tue,  9 May 2017 14:50:30 +0200 (CEST)
Date: Tue, 09 May 2017 14:50:30 +0200 (CEST)
Message-Id: <20170509.145030.58029732242199759.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: alexander.clemm@huawei.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Vteod3lUdI5EIRCj7Sjvy1y6SAo>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 May 2017 12:50:33 -0000

QW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+IHdyb3RlOg0KPiBPbiBUaHUsIE1heSA0
LCAyMDE3IGF0IDExOjIxIEFNLCBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3
ZWkuY29tDQo+ID4gd3JvdGU6DQo+IA0KPiA+IEFzIG1lbnRpb25lZCBpbiBteSBtZXNzYWdlLCBJ
IGRvbuKAmXQgdGhpbmsgc3BlY2lmaWMgYWNjZXNzIGNvbnRyb2wgd2lsbCBiZQ0KPiA+IG5lZWRl
ZCAoSSBhbSBub3QgYXdhcmUgb2Ygc3BlY2lmaWMgdXNlIGNhc2VzKSwgYnV0IHNwZWNpZmljYWxs
eSB3aXRoIHRoZQ0KPiA+IHJldmlzZWQgZGF0YXN0b3JlIGFyY2hpdGVjdHVyZSBhYm91dCB0byB0
aGUgYmUgaW50cm9kdWNlZCwgaXRzIGltcGFjdCBvcg0KPiA+IG5vbmltcGFjdCBhbmQgaW50ZXJy
ZWxhdGlvbiB3aXRoIE5BQ00gc2hvdWxkIGJlIGRpc2N1c3NlZC4gIFRoaXMgY2FuIGJlIGFzDQo+
ID4gc2ltcGxlIGFzIGEgc21hbGwgcGFyYWdyYXBoIG9yIHN1YnNlY3Rpb24g4oCcUmV2aXNlZCBE
YXRhc3RvcmUNCj4gPiBDb25zaWRlcmF0aW9uc+KAnS4NCj4gPg0KPiA+DQo+ID4NCj4gDQo+IHRo
ZXJlIGlzIG5vIHRleHQgYWJvdXQgY2FuZGlkYXRlIHZzLiBydW5uaW5nIHZzLiBzdGFydHVwLg0K
PiBUaGUgTkFDTSBydWxlcyBhcHBseSB0byBhbGwgb2YgdGhlbSB0aGUgc2FtZS4NCj4gSSBjb3Vs
ZCBhZGQgdGV4dCB0aGF0IHNheXMgdGhlcmUgaXMgbm8gY29uc2lkZXJhdGlvbiBmb3Igc3BlY2lm
aWMNCj4gZGF0YXN0b3Jlcy4NCg0KQWN0dWFsbHksIHRoZSBkb2N1bWVudCBhbHJlYWR5IHNheXM6
DQoNCjMuMi4gIERhdGFzdG9yZSBBY2Nlc3MNCg0KICAgVGhlIHNhbWUgYWNjZXNzIGNvbnRyb2wg
cnVsZXMgYXBwbHkgdG8gYWxsIGRhdGFzdG9yZXMsIGZvciBleGFtcGxlLA0KICAgdGhlIGNhbmRp
ZGF0ZSBjb25maWd1cmF0aW9uIGRhdGFzdG9yZSBvciB0aGUgcnVubmluZyBjb25maWd1cmF0aW9u
DQogICBkYXRhc3RvcmUuDQoNCiAgIE9ubHkgdGhlIHN0YW5kYXJkIE5FVENPTkYgZGF0YXN0b3Jl
cyAoY2FuZGlkYXRlLCBydW5uaW5nLCBhbmQNCiAgIHN0YXJ0dXApIGFyZSBjb250cm9sbGVkIGJ5
IE5BQ00uDQoNCg0KU29tZWhvdyB0aGlzIG5lZWRzIHRvIGJlIHVwZGF0ZWQgd2hlbiB0aGUgcmV2
aXNlZCBkYXRhc3RvcmUgd29yayBpcw0KZG9uZS4gIEUuZy4sIEkgZXhwZWN0IHJlYWQgYWNjZXNz
IHRvIGludGVuZGVkIHRvIGZvbGxvdyB0aGUgc2FtZSBOQUNNDQpydWxlcy4NCg0KDQovbWFydGlu
DQoNCg0KPiBNb3N0IHJ1bGVzIGFwcGx5IHRvIHRoZSBzY2hlbWEgdHJlZS4gRGF0YSBydWxlcyBh
cHBseSB0byBpbnN0YW5jZSBkYXRhDQo+IGJ1dCB0aGV5IGFwcGx5IHRvIGFsbCBpbnN0YW5jZXMg
aW4gYWxsIGRhdGFzdG9yZXMpLiAgSSBjYW4gbWFrZSB0aGlzIGNsZWFyDQo+IGluIHRoZSBuZXh0
IHJldmlzaW9uDQo+IA0KPiBBbmR5DQo+IA0KPiANCj4gPiBJIGFsc28gZG8gdGhpbmsgdGhhdCBj
bGFyaWZpY2F0aW9uIHJlZ2FyZGluZyBOZXRjb25mL1Jlc3Rjb25mIHZzIG90aGVyDQo+ID4gcHJv
dG9jb2xzIGlzIGluIGZhY3QgbmVlZGVkLiAgSSBkbyB0aGluayB0aGF0IE5BQ00gcnVsZXMgXypz
aG91bGQqXyBpbg0KPiA+IGZhY3QgYmUgYXBwbGljYWJsZS4gIEFnYWluLCBhdCBhIG1pbmltdW0g
c29tZXRoaW5nIG5lZWRzIHRvIGJlIHN0YXRlZCBhbG9uZw0KPiA+IHRob3NlIGxpbmVzLiAgT3Ro
ZXJ3aXNlIHlvdSBjYW5ub3QgaW50cm9kdWNlIGFub3RoZXIgdHJhbnNwb3J0IHdpdGhvdXQNCj4g
PiBmYWNpbmcgdGhlIGNob2ljZSBiZXR3ZWVuIG5lZWRpbmcgeWV0LWFub3RoZXIgYWNjZXNzIGNv
bnRyb2wgbWVjaGFuaXNtIHRoYXQNCj4gPiBtYXkgcmVxdWlyZSByZWR1bmRhbnQgYW5kIHBvdGVu
dGlhbGx5IGluY29uc2lzdGVudCBjb25maWd1cmF0aW9uIGJ5DQo+ID4gYWRtaW5pc3RyYXRvcnMs
IG9yIGxlYXZpbmcgb3V0IGEgYmlnIGJhY2tkb29yIHRoYXQgd291bGQgcmVuZGVyIE5BQ00NCj4g
PiBpcnJlbGV2YW50Lg0KPiA+DQo+ID4NCj4gPg0KPiA+IC0tLSBBbGV4DQo+ID4NCj4gPg0KPiA+
DQo+ID4NCj4gPg0KPiA+ICpGcm9tOiogQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29y
a3MuY29tXQ0KPiA+ICpTZW50OiogVGh1cnNkYXksIE1heSAwNCwgMjAxNyAxMDo0MCBBTQ0KPiA+
ICpUbzoqIEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20+DQo+ID4g
KkNjOiogTWFoZXNoIEpldGhhbmFuZGFuaSA8bWpldGhhbmFuZGFuaUBnbWFpbC5jb20+OyBOZXRj
b25mIDwNCj4gPiBuZXRjb25mQGlldGYub3JnPg0KPiA+ICpTdWJqZWN0OiogUmU6IFtOZXRjb25m
XSBXRyBMQyBmb3IgZHJhZnQtaWV0Zi1uZXRjb25mLXJmYzY1MzZiaXMNCj4gPg0KPiA+DQo+ID4N
Cj4gPiBIaSwNCj4gPg0KPiA+DQo+ID4NCj4gPiBJIGFtIHN0cm9uZ2x5IG9wcG9zZWQgdG8gZGF0
YXN0b3JlLXNwZWNpZmljIGFjY2VzcyBjb250cm9sLg0KPiA+DQo+ID4gSSBuZWVkIHRvIHNlZSBh
IHVzZS1jYXNlIHRoYXQgZGVtb25zdHJhdGVzIHdoeSBhIHBhcnRpY3VsYXIgY2xpZW50DQo+ID4N
Cj4gPiBuZWVkcyB0byBiZSBkZW5pZWQgYWNjZXNzIHRvIGEgc3BlY2lmaWMgc3VidHJlZSBpbiAx
IGRhdGFzdG9yZSB2cy4gYW5vdGhlcg0KPiA+IGRhdGFzdG9yZS4NCj4gPg0KPiA+DQo+ID4NCj4g
Pg0KPiA+DQo+ID4gVGhlIE5BQ00gcHJvY2VkdXJlcyBuZWVkIHRvIGJlIG1hcHBlZCB0byBwcm90
b2NvbCBvcGVyYXRpb25zLg0KPiA+DQo+ID4gSXQgaXMgZWFzaWVyIHRvIGRvIHRoaXMgZm9yIGFj
dHVhbCBwcm90b2NvbHMgdGhhbiBhIGdlbmVyaWMgcGxhY2Vob2xkZXIuDQo+ID4NCj4gPiBJdCBt
YXkgYmUgcG9zc2libGUuDQo+ID4NCj4gPg0KPiA+DQo+ID4gSSBkbyBub3QgYWdyZWUgTkFDTSBj
b250cm9scyB0aGUgaW50ZXJuYWwgYWNjZXNzLg0KPiA+DQo+ID4gVGhhdCBpcyBhbiBpbXBsZW1l
bnRhdGlvbiBkZXRhaWwuIE5BQ00gaXMgZW5mb3JjZWQgb24gY2xpZW50cyB1c2luZw0KPiA+DQo+
ID4gTkVUQ09ORiBvZiBSRVNUQ09ORi4NCj4gPg0KPiA+DQo+ID4NCj4gPiBJZiB0aGUgV0cgd2Fu
dHMgdGhlIE5BQ00gcHJvY2VkdXJlcyBtYXBwaW5nIHRvIHByb3RvY29scyB0byBiZSBtb3JlDQo+
ID4gZ2VuZXJpYywNCj4gPg0KPiA+IEkgY291bGQgd29yayBvbiBzb21lIHByb3Bvc2VkIHRleHQg
dG8gZG8gdGhhdC4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gQW5keQ0KPiA+DQo+ID4N
Cj4gPg0KPiA+DQo+ID4NCj4gPiBPbiBUaHUsIE1heSA0LCAyMDE3IGF0IDEwOjIyIEFNLCBBbGV4
YW5kZXIgQ2xlbW0gPA0KPiA+IGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPiB3cm90ZToNCj4g
Pg0KPiA+IEhpLA0KPiA+DQo+ID4NCj4gPg0KPiA+IEZXSVcsIEkgZG8gaGF2ZSBhIGZldyBjb21t
ZW50cy4gIE92ZXJhbGwgdGhlIGRvY3VtZW50IGlzIGluIGdvb2Qgc2hhcGUsDQo+ID4gYnV0IHRo
ZXJlIGFyZSBhIGZldyBpdGVtcyB3aGVyZSBJIHRoaW5rIGl0IGNhbiBiZSBtYWRlIGV2ZW4gYmV0
dGVyOi0pDQo+ID4NCj4gPg0KPiA+DQo+ID4gLSAgICAgICAgICBJIHRoaW5rIGl0IHdvdWxkIGJl
IGdvb2QgdG8gaW5jbHVkZSBhIHNlY3Rpb24gb24gaG93IHRoZQ0KPiA+IHJldmlzZWQgZGF0YXN0
b3JlcyB3aWxsIGltcGFjdCByZXF1aXJlbWVudHMgb24gTkFDTS4gIEkgZG9u4oCZdCB0aGluaw0K
PiA+IGFueXRoaW5nIG1ham9yIGlzIHJlcXVpcmVkLCBidXQgdGhlcmUgYXJlIGEgZmV3IHBsYWNl
cyB3aGVyZSBzb21lIHVwZGF0ZXMNCj4gPiBjb3VsZCBiZSBtYWRlLCBhbmQvb3IgcGVyaGFwcyBh
IGJyaWVmIHNlY3Rpb24gY291bGQgYmUgYWRkZWQgc29tZXdoZXJlDQo+ID4gZGlzY3Vzc2luZyB0
aGlzLiAgRm9yIGV4YW1wbGUsIGluIEZpZ3VyZSAxIChTZWN0aW9uIDIuMSkgd2hlcmUgaXQgc2F5
cw0KPiA+IOKAnGRhdGFzdG9yZSBvciBzdGF0ZSBkYXRhIGFjY2Vzc+KAnSAodGVjaG5pY2FsbHks
IHRoaXMgcmVtYWlucyBjb3JyZWN0LCBidXQNCj4gPiB0aGlzIHNlZW1zIHRvIGhhdmUgdGhlIHBy
ZXZpb3VzIG1vZGVsIGluIG1pbmQpLCBhbHNvIGZpZyAzIGFzc3VtaW5nIFJQQ3MNCj4gPiB3aWxs
IGFsd2F5cyBiZSBhZ2FpbnN0IGNvbmZpZyBkYXRhc3RvcmUpLiAgIEl0IG1pZ2h0IGFsc28gbWVu
dGlvbiB3aGljaA0KPiA+IGRhdGFzdG9yZSBOQUNNIHJ1bGVzIGFwcGx5IHRvIHdoZW4gdGhlIHNh
bWUgZGF0YSBpcyBjb250YWluZWQgaW4gbXVsdGlwbGUNCj4gPiBkYXRhc3RvcmVzLiAgVGVjaG5p
Y2FsbHksIEkgZG9u4oCZdCB0aGluayB0aGVyZSB3aWxsIGJlIGEgZGlzdGluY3Rpb24gKGFueQ0K
PiA+IGRpZmZlcmVudGlhdGlvbiB3b3VsZCBhcHBseSB0byByZWFkIG9wZXJhdGlvbnMsIGFuZCBJ
IGNhbm5vdCB0aGluayBvZiBhDQo+ID4gZ29vZCBleGFtcGxlIHdoZXJlIHN1Y2ggZGlmZmVyZW50
aWF0aW9uIHdvdWxkIGJlIG5lZWRlZCksIHN0aWxsIGl0IG1pZ2h0IGJlDQo+ID4gZ29vZCB0byBi
ZSBleHBsaWNpdCBhYm91dCBpdC4NCj4gPg0KPiA+IC0gICAgICAgICAgSW4gc2VjdGlvbiAzLjQu
NiAob3V0Z29pbmcgPG5vdGlmaWNhdGlvbj4gYXV0aG9yaXphdGlvbiksIGl0DQo+ID4gc3RhdGVz
IHRoYXQgYWNjZXNzIGNvbnRyb2wgaXMgYXBwbGllZCBvbmx5IHRvIG5vdGlmaWNhdGlvbiBhcyBh
IHdob2xlLCBub3QNCj4gPiB0byBhbnkgZGF0YSBpdCBjb250YWlucy4gIFRoaXMgaXMgY2xlYXIg
ZW5vdWdoOyBob3dldmVyLCBpdCBpcyBhDQo+ID4gbGltaXRhdGlvbi4gIFNwZWNpZmljYWxseSwg
aW4gWUFORy1QdXNoIHRoZXJlIGlzIGEgcmVxdWlyZW1lbnQgdG8gYmUgYWJsZQ0KPiA+IHRvIGFw
cGx5IGEgc2VjdXJpdHkgZmlsdGVyIHRvIG5vdCBwdXNoIGRhdGEgdGhhdCB0aGUgcmVjZWl2ZXIg
aXMgbm90DQo+ID4gYXV0aG9yaXplZCB0byByZWNlaXZlIChvciBub3QgYWNjZXB0L3Rlcm1pbmF0
ZSBhIHN1YnNjcmlwdGlvbiB3aGljaA0KPiA+IGNvbnRhaW5zIHN1Y2ggZGF0YSBhbHRvZ2V0aGVy
KS4gIElmIE5BQ00gZG9lcyBub3QgcHJvdmlkZSB0aGlzLCBhbm90aGVyDQo+ID4gbWVjaGFuaXNt
IG9yIGEgTkFDTSBleHRlbnNpb24gd2lsbCBiZSBuZWVkZWQgKHRoYXQgd2lsbCBzdGlsbCBuZWVk
IHRvIHVzZQ0KPiA+IHRoZSBwcml2aWxlZ2VzIGNvbmZpZ3VyZWQgaW4gTkFDTSkuICBBdCBhIG1p
bmltdW0sIHRoaXMgbmVlZHMgdG8gYmUgY2xlYXJseQ0KPiA+IGNhbGxlZCBvdXQuDQo+ID4NCj4g
PiAtICAgICAgICAgIEkgd29uZGVyIHdoeSBOQUNNIGlzIHJlc3RyaWN0ZWQgdG8gTkVUQ09ORiBv
ciBSRVNUQ09ORi4NCj4gPiBSZWFsbHksIHRoaXMgcmVzdHJpY3RzIGFjY2VzcyB0byBkYXRhIGlu
IFlBTkcgZGF0YXN0b3Jlczsgd2hpbGUgTkVUQ09ORiBhbmQNCj4gPiBSRVNUQ09ORiBkbyBuZWVk
IHRvIGJlIGNhbGxlZCBvdXQgc3BlY2lmaWNhbGx5IGFuZCB0aGUgZG9jdW1lbnQgZG9lcyBuZWVk
DQo+ID4gdG8gc3BlbGwgb3V0IGhvdyBpdCBpcyBhcHBsaWVkIGluIHRoaXMgY29udGV4dCwgaXQg
d291bGQgcHJvYmFibHkgYmUgZ29vZA0KPiA+IHRvIGNsYXJpZnkgdGhhdCBOQUNNIHNob3VsZCBh
cHBseSB0byBvdGhlciBwcm90b2NvbCBhY2Nlc3MuDQo+ID4NCj4gPiAtICAgICAgICAgIEl0IHdv
dWxkIGJlIGdvb2QgdG8gaW5kaWNhdGUgdGhhdCB0aGUgc291cmNlIG9mIGFjY2VzcyBjb250cm9s
DQo+ID4gcnVsZXMgaXMgbm90IHJlc3RyaWN0ZWQgdG8gZXh0ZXJuYWwgY2xpZW50cywgYnV0IHRo
YXQgdGhleSBjb3VsZCBvcmlnaW5hdGUNCj4gPiBmcm9tIHRoZSBzZXJ2ZXIgaXRzZWxmLiAgVGhp
cyBpcyB0aGUgc2FtZSBjb25maWcvb3BlcmF0aW9uYWwgc3RhdGUNCj4gPiBkaXNjdXNzaW9uIHRo
YXQgaGFzIGNvbWUgdXAgaW4gb3RoZXIgY29udGV4dHMgKGUuZy4gdGhlIHRvcG9sb2d5IG1vZGVs
cyksDQo+ID4gYW5kIEkgdGhpbmsgaXQgYXBwbGllcyBoZXJlIGFzIHdlbGwuICBBZ2FpbiwgdGhp
cyBpcyB3aGVyZSB0aGUgcmV2aXNlZA0KPiA+IGRhdGFzdG9yZXMgbW9kZWwgaXMgaW50ZW5kZWQg
dG8gcHJvdmlkZSBhIHNvbHV0aW9uIOKAkyBpLmUuIHRoZSBOQUNNIHJ1bGVzIGluDQo+ID4gdGhl
IGNvbmZpZyBkYXRhc3RvcmUgbWF5IGJlIG9ubHkgYSBzdWJzZXQgb2YgdGhlIG9uZXMgaW4gdGhl
IG9wZXJhdGlvbmFsDQo+ID4gZGF0YXN0b3JlLCBldGMg4oCTIGJ1dCBJIHRoaW5rIGl0IGlzIGlt
cG9ydGFudCBlbm91Z2ggdG8gYmUgY2FsbGVkLg0KPiA+DQo+ID4NCj4gPg0KPiA+IFRoYW5rcw0K
PiA+DQo+ID4gLS0tIEFsZXgNCj4gPg0KPiA+DQo+ID4NCj4gPiAqRnJvbToqIE5ldGNvbmYgW21h
aWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmddICpPbiBCZWhhbGYgT2YgKk1haGVzaA0KPiA+
IEpldGhhbmFuZGFuaQ0KPiA+ICpTZW50OiogV2VkbmVzZGF5LCBNYXkgMDMsIDIwMTcgMjoxOCBQ
TQ0KPiA+ICpUbzoqIE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc+DQo+ID4gKlN1YmplY3Q6KiBS
ZTogW05ldGNvbmZdIFdHIExDIGZvciBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcw0KPiA+
DQo+ID4NCj4gPg0KPiA+IEZvbGtzLA0KPiA+DQo+ID4NCj4gPg0KPiA+IFRoZXJlIGhhcyBiZWVu
IGxpdGVyYWxseSBubyBmZWVkYmFjayBvbiB0aGlzIGRvY3VtZW50LCBlaXRoZXIgdG8gc2F5IHRo
ZXkNCj4gPiBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBzdXBwb3J0IGl0LCBvciB0byBleHBy
ZXNzIGNvbmNlcm5zIGFib3V0IHRoZQ0KPiA+IGRvY3VtZW50LiBTaWxlbmNlLCB1bmZvcnR1bmF0
ZWx5IGlzIG5vdCBhIGdvb2QgZ3VpZGUgZm9yIHVzLiBUbyBtb3ZlIHRoZQ0KPiA+IGRvY3VtZW50
IGZvcndhcmQsIHdlIG5lZWQgdG8gaGVhciBmcm9tIGZvbGtzLCBpbmNsdWRpbmcgdGhvc2Ugd2hv
IHdlcmUgaW4NCj4gPiBJRVRGIDk4Lg0KPiA+DQo+ID4NCj4gPg0KPiA+IFRoYW5rcy4NCj4gPg0K
PiA+DQo+ID4NCj4gPiBPbiBBcHIgMTgsIDIwMTcsIGF0IDU6MzQgUE0sIE1haGVzaCBKZXRoYW5h
bmRhbmkgPG1qZXRoYW5hbmRhbmlAZ21haWwuY29tPg0KPiA+IHdyb3RlOg0KPiA+DQo+ID4NCj4g
Pg0KPiA+IE5FVENPTkYgV0csDQo+ID4NCj4gPiBJbiBJRVRGIDk4LCB0aGUgYXV0aG9ycyBpbmRp
Y2F0ZWQgdGhhdCB0aGUgYWJvdmUgZHJhZnQgd2FzIHJlYWR5IGZvciBMYXN0DQo+ID4gQ2FsbCwg
YW5kIHRoZSBjb25zZW5zdXMgaW4gdGhlIHJvb20gaW5kaWNhdGVkIGFzIG11Y2guDQo+ID4NCj4g
Pg0KPiA+DQo+ID4gVGhpcyBpcyBhIHN0YXJ0IG9mIGEgMiB3ZWVrIFdHIExhc3QgQ2FsbCBmb3IN
Cj4gPiBkcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy4gQWZ0ZXIgdHdvIHdlZWtzLCB0aGUg
ZG9jdW1lbnQgd2lsbCBiZQ0KPiA+IGFzc2lnbmVkIGEgc2hlcGhlcmQsIGFuZCB0aGUgZG9jdW1l
bnQgd2lsbCBiZSBwcmVwYXJlZCBmb3IgSUVTRy4NCj4gPg0KPiA+IFRoZSBsYXRlc3QgdmVyc2lv
biBvZiB0aGUgZHJhZnQgY2FuIGJlIGZvdW5kIGF0Og0KPiA+IGh0dHBzOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9kcmFmdC1pZXRmLW5ldGNvbmYtcmZjNjUzNmJpcy0wMQ0KPiA+DQo+ID4gUGxlYXNl
IHJldmlldyBhbmQgc2VuZCBhbnkgY29tbWVudHMgdG8gdGhlIFdHIG1haWxpbmcgbGlzdCBvciBi
eQ0KPiA+IHJlc3BvbmRpbmcgdG8gdGhpcyBlLW1haWwuIENvbW1lbnRzIGNhbiBiZSBzdGF0ZW1l
bnRzIHN1Y2ggYXMsIEkNCj4gPiByZWFkL3Jldmlld2VkIHRoZSBkb2N1bWVudCBhbmQgYmVsaWV2
ZSBpdCBpcyByZWFkeSBmb3IgcHVibGljYXRpb24sIG9yIEkNCj4gPiBoYXZlIGNvbmNlcm5zIGFi
b3V0IHRoZSBkb2N1bWVudC4gRm9yIHRoZSBsYXR0ZXIsIHBsZWFzZSBpbmRpY2F0ZSB3aGF0IHlv
dXINCj4gPiBjb25jZXJucyBhcmUuDQo+ID4NCj4gPiBBbnkgcmVwb3J0cyBvbiBpbXBsZW1lbnRh
dGlvbiBzdGF0dXMgb3IgcGxhbnMgdG8gaW1wbGVtZW50IGFyZSBhbHNvIHZlcnkNCj4gPiB1c2Vm
dWwuDQo+ID4NCj4gPg0KPiA+DQo+ID4gQXV0aG9ycywgcGxlYXNlIGluZGljYXRlIGlmIHlvdSBh
cmUgYXdhcmUgb2YgYW55IElQUnMgcmVsYXRlZCB0byB0aGUgZHJhZnQuDQo+ID4NCj4gPg0KPiA+
DQo+ID4gVGhhbmtzLg0KPiA+DQo+ID4gTWFoZXNoIGFuZCBNZWhtZXQNCj4gPg0KPiA+DQo+ID4N
Cj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+IE1haGVzaCAmIE1laG1ldA0KPiA+DQo+ID4NCj4gPg0K
PiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0KPiA+IE5ldGNvbmYgbWFpbGluZyBsaXN0DQo+ID4gTmV0Y29u
ZkBpZXRmLm9yZw0KPiA+IGh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0
Y29uZg0KPiA+DQo+ID4NCj4gPg0K


From nobody Tue May  9 16:00:35 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D8D6B124E15 for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 16:00:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.801
X-Spam-Level: 
X-Spam-Status: No, score=-4.801 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rcETg8Rg_Ino for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 16:00:30 -0700 (PDT)
Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0121.outbound.protection.outlook.com [104.47.33.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A43ED124BFA for <netconf@ietf.org>; Tue,  9 May 2017 16:00:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=cINyLmtojACUKCOknjM1zNcM4wy2QFcbzDZ1JL16wPo=; b=GONxJ8gyjtiPh3rgFkDEZodYjzpsSDvezE8byMauFybVj2vntIO9FmqXMqbIhuFDl5rGrfkdINjck0QsfztzHb7sat9pdylvNosQDpnf6N5ZnYPoH4HPmalCdXBMIodL1RbHKRzERfBmONu6p06gGnk5kbJKE6VJi+EWM2fW0ns=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1443.namprd05.prod.outlook.com (10.160.117.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.7; Tue, 9 May 2017 23:00:28 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1084.015; Tue, 9 May 2017 23:00:28 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] few comments on zerotouch-13
Thread-Index: AQHSyCtDsOrngzdDPE+s6x/cuZsxTaHsXLOA
Date: Tue, 9 May 2017 23:00:28 +0000
Message-ID: <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net>
References: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com>
In-Reply-To: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.11]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1443; 7:5LycYMNUpRhmFf+ILiQrOzyYoQpPM2MUqbR0VR23qTJAs+rTg6zKLw5SkX9TqVNWod8J8sD7cR/lZSxT5xjdHhg4DGesUKgEK8pXsn4giiPyP646D+7ZgholmJz2bypZIz/2ckaRYq3dq4QW80WXTlkvz+jbOEwti0FTYd9EnSHYH6rKbIG4qtDeR046IcZ1bHZWrrIj+Nnhfx6hbRA2Sn+BI1ymSlS0A8jZ0rgpuRQ4Zl7bFlvUw9EDuQZMsRgOoBt/8M/s6a6Fco0u4tEQ+JYHmK+5anJQ1uLqoWPBBQuWV2plIiY0Hvrv11xuGXvJ5k5Ix7/tBcpUPReEKQDgjw==
x-ms-office365-filtering-correlation-id: ae137a70-466a-4d9c-0429-08d4972f2fe1
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:BN3PR0501MB1443; 
x-microsoft-antispam-prvs: <BN3PR0501MB1443DED4D52FC87D1070D7C6A5EF0@BN3PR0501MB1443.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123558100)(20161123555025)(20161123562025)(6072148); SRVR:BN3PR0501MB1443; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1443; 
x-forefront-prvs: 0302D4F392
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39410400002)(39840400002)(39450400003)(39850400002)(39860400002)(39400400002)(6116002)(50986999)(6506006)(102836003)(77096006)(54356999)(76176999)(3846002)(6486002)(122556002)(4001350100001)(3280700002)(3660700001)(7736002)(33656002)(25786009)(36756003)(2950100002)(229853002)(2906002)(5660300001)(8936002)(66066001)(6306002)(9326002)(189998001)(6436002)(6512007)(2900100001)(82746002)(54896002)(478600001)(8676002)(83506001)(53936002)(81166006)(38730400002)(6246003)(99286003)(86362001)(83716003); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1443; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_920E9BCF670B434C8D6285F77D7B9A8Cjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2017 23:00:28.8145 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1443
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/qzBTODvi4QqX9r_L4t5Xp3bz3EU>
Subject: Re: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 May 2017 23:00:34 -0000

--_000_920E9BCF670B434C8D6285F77D7B9A8Cjunipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNCg0KPiBJIGFtIHRyeWluZyB0byB1bmRlcnN0YW5kIHRoZSB6ZXJvdG91Y2ggZHJh
ZnQuDQo+DQo+IEkgZmluZCBpdCB0byBiZSB2ZXJ5IGltcGxlbWVudGF0aW9uLXNwZWNpZmljLCBh
bmQgbm90IHN1aXRlZCBmb3INCj4gbW9kdWxhciBzZXJ2ZXJzLg0KDQpXaGF0IGRvIHlvdSBtZWFu
IGJ5IG1vZHVsYXIgc2VydmVycz8gIEkgY2FuIHRlbGwgeW91IHRoYXQgaXQgaGFzIGJlZW4gaW1w
bGVtZW50ZWQgb24gYSBKdW5pcGVyIGRldmljZSB0aGF0IGlzIGludGVybmFsbHkgYSBjb21wb3Np
dGlvbiBvZiB2aXJ0dWFsIG1hY2hpbmVzIGFuZCBjb250YWluZXJzLiAgRm9yIHRoaXMgZGV2aWNl
LCB0aGUgInNvZnR3YXJlIGltYWdlIiBjb250YWlucyBhbHNvIHRoZSBzb2Z0d2FyZSBmb3IgdGhl
IG90aGVyIGNvbXBvbmVudHMgYXMgd2VsbC4gIElmIHRoaXMgaXNuJ3Qgc3VpdGFibGUsIHRoZW4g
dGhlIHByZS1jb25maWd1cmF0aW9uIHNjcmlwdCBjYW4gYmUgdXNlZCB0byBjb3ZlciBvdGhlciBj
YXNlcy4NCg0KDQo+IFRoZSBjb250YWluZXIgYm9vdHN0cmFwLWluZm9ybWF0aW9uIG9ubHkgc3Vw
cG9ydHMgYSBtb25vbGl0aGljIHNlcnZlciBpbWFnZS4NCg0KVHJ1ZSwgYnV0IHNlZSBhYm92ZSBj
b21tZW50LiAgUHV0dGluZyBzb2Z0d2FyZSBpbWFnZXMgdG8gdGhlIHNpZGUgbW9tZW50YXJpbHks
IGhvdyBpcyB0aGlzIG1vZHVsYXIgc2VydmVyIG1hbmFnZWQsIGRvZXMgaXQgaGF2ZSBhIHNpbmds
ZSBOQy9SQyBpbnRlcmZhY2U/DQoNCg0KPiBJdCBpcyBhc3N1bWVkIHRoZSBlbnRpcmUgY29uZmln
dXJhdGlvbiAobW9kdWxlcywgZmVhdHVyZXMsIGRldmlhdGlvbnMsIGV0YykNCj4gaXMgaXJyZWxl
dmFudCBiZWNhdXNlIGl0IGlzIGhhcmQtY29kZWQgaW50byB0aGUgbW9ub2xpdGhpYyBib290IGlt
YWdlLg0KDQpJJ20gbm90IDEwMCUgc3VyZSB3aGF0IHRoaXMgbWVhbnMsIGJ1dCBJIGRvbid0IHRo
aW5rIGl0J3MgdHJ1ZS4NCg0KDQo+IFdoYXQgaWYgYSBzZXJ2ZXIgaXMgbW9kdWxhciBhbmQgdGhl
IFlBTkcgbW9kdWxlcywgcmV2aXNpb25zLCBmZWF0dXJlcywgYW5kIGRldmlhdGlvbnMNCj4gY29t
ZSBmcm9tIGEgYm9vdHN0cmFwIGxpYnJhcnkgY29uZmlnIGluc3RlYWQgb2YgaGFyZC13aXJlZCBp
bnRvIGEgc3RhdGljIGltYWdlPw0KPiBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgc3VwcG9ydGVk
IGF0IGFsbC4NCg0KSW4gdGhlIHdvcmxkIG9mICp6ZXJvKiB0b3VjaCwgSSB0aGluayB0aGF0IGl0
IGlzIHZlcnkgc2FmZSB0byBzYXkgdGhhdCBkZXZpY2VzIGluIHRoZWlyIGZhY3RvcnkgZGVmYXVs
dCBzZXR0aW5nIGhhdmUgYSBrbm93bi9zdGF0aWMgaW5pdGlhbCBzdGF0ZS4gIENlcnRhaW5seSwg
dGhlIHNlcnZlciBjYW4gaW5zdGFsbCBzb21lIGFkZC1vbiBwYWNrYWdlcyB0aGF0IGdyb3cgdGhl
IG51bWJlciBvZiBtb2R1bGVzIGl0IHN1cHBvcnRzLiAgSnVuaXBlciBkb2VzIHRoaXMgYWxzby4g
IFRoZSBwcmUtY29uZmlndXJhdGlvbiBzY3JpcHQgaXMgd2VsbCBzdWl0ZWQgdG8gaW5zdGFsbGlu
ZyBzdWNoIGFkZC1vbiBwYWNrYWdlcywgdGhhdCBpcywganVzdCBiZWZvcmUgdGhlIGRldmljZSBh
dHRlbXB0cyB0byBjb21taXQgdGhlIGNvbmZpZ3VyYXRpb24sIHdoaWNoIG1heSBhdHRlbXB0IHRv
IGNvbmZpZ3VyZSB0aGVzZSBhZGQtb24gcGFja2FnZXMuDQoNCg0KPiBBbGwgdGhlIGdlbmVyaWMg
c2NyaXB0IHN0dWZmIHNlZW1zIHZlcnkgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMgYXMgd2VsbC4N
Cg0KSG93IGlzICJnZW5lcmljIiBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYz8gIDspICAgIE9mIGNv
dXJzZSwgaWYgdGhlIGRldmljZSBjYW4ndCBzdXBwb3J0IGV4ZWN1dGluZyBzY3JpcHRzLCB0aGVu
IGl0J3Mgb3B0aW9ucyBhcmUgbGltaXRlZC4gIEZvciB3aGF0IGl0J3Mgd29ydGgsIHdlIGRpZG4n
dCBoYXZlIHNjcmlwdHMgYXQgZmlyc3QsIGJ1dCBvbmUgb3BlcmF0b3IgaW50ZXJhY3Rpb24gY2F1
c2VkIHVzIHRvIGFkZCB0aGUgcG9zdC1jb25maWd1cmF0aW9uIHNjcmlwdCBhbmQgYW5vdGhlciBv
cGVyYXRvci1pbnRlcmFjdGlvbiBjYXVzZWQgdXMgdG8gYWRkIHRoZSBwcmUtY29uZmlndXJhdGlv
biBzY3JpcHQuICBUaGlzIGp1c3QgZ29lcyB0byBzaG93IHRoYXQgdGhlIHNjcmlwdHMgYXJlIHVz
ZWZ1bCwgYnV0IG5vdCBuZWVkZWQgaW4gYWxsIHVzZSBjYXNlcy4NCg0KDQo+IEkgZG9uJ3Qgc2Vl
IHRoZSBzdGFuZGFyZHMgdmFsdWUgb2Ygc3VwcG9ydGluZyBwcmUgYW5kIHBvcnQgYm9vdHN0cmFw
IHNjcmlwdHMNCj4gdXNpbmcgYW4gb3BhcXVlIHNjcmlwdGluZyBsYW5ndWFnZS4gIFdoeSBpc24n
dCB0aGlzIGp1c3QgcGFydCBvZiB0aGUNCj4gb3BhcXVlIGJvb3RzdHJhcCBzZXF1ZW5jZT8gV2h5
IGlzIGl0IGNvbmZpZ3VyYWJsZT8NCg0KV2hhdCBpcyAib3BhcXVlIGJvb3RzdHJhcCBzZXF1ZW5j
ZSI/ICBIb3cgZWxzZSB3b3VsZCB0aGUgZGV2aWNlIG9idGFpbiB0aGVzZSBzY3JpcHRzPyAgV2h5
IGFyZW4ndCB0aGUgc2NyaXB0cyBwYXJ0IG9mIHRoZSBpbml0aWFsIGNvbmZpZ3VyYXRpb24/IC0g
YmVjYXVzZSB0aGUgc2NyaXB0cyBhcmUgb25seSBleGVjdXRlZCBkdXJpbmcgdGhlIHplcm90b3Vj
aCBib290c3RyYXBwaW5nIHByb2Nlc3MsIHRoZXkgaGF2ZSBubyBnZW5lcmFsIHZhbHVlIGluIHRo
ZSBvbmdvaW5nIG1hbmFnZW1lbnQgb2YgdGhlIGRldmljZS4NCg0KDQo+IEV4dHJhIG11c3Qtc3Rt
dDoNCj4NCg0KPiBsZWFmIG93bmVyLWNlcnRpZmljYXRlIHsNCg0KPiAgICAgIHR5cGUgcGtjczc7
DQoNCj4gICAgICBtdXN0ICIuLi96ZXJvdG91Y2gtaW5mb3JtYXRpb24iIHsNCj4NCj4gVGhlIHpl
cm90b3VjaC1pbmZvcm1hdGlvbiBsZWFmIGlzIG1hbmRhdG9yeSB0cnVlIHNvIHRoZSBtdXN0LXN0
bXQgaXMgbm90IG5lZWRlZC4NCg0KUmlnaHQgeW91IGFyZS4gIFRoZXJlIHVzZWQgdG8gYmUgYW4g
b3B0aW9uYWwgZmllbGQgY2FsbGVkICJzaWduYXR1cmUiIHRoYXQgdGhpcyBtdXN0IGV4cHJlc3Np
b24gdXNlZCB0byBkZXBlbmQgb24sIGJ1dCB0aGUgc2lnbmF0dXJlIHdhcyByb2xsZWQgaW50byB0
aGUgbmV3IHplcm90b3VjaC1pbmZvcm1hdGlvbiBwa2NzNyBhcnRpZmFjdCwgYW5kIEkgZGlkbid0
IGNhdGNoIHRoaXMgd2hlbiBtb3ZpbmcgdGhpbmdzIGFyb3VuZC4NCg0KDQo+IEFjdGlvbiBub3Rp
ZmljYXRpb246DQo+IFdoYXQgaXMgdGhlIHByb3RvY29sIGludGVyYWN0aW9uIG1vZGVsIGZvciB0
aGlzIGFjdGlvbj8NCj4gV2hvIGludm9rZXMgaXQ/ICBXaHkgYXJlIHRoZSBORVRDT05GIGVycm9y
LXRhZyBzdGF0dXMgdmFsdWVzIGlnbm9yZWQgYW5kIGhhcmQtY29kZWQNCj4gc3RhdHVzIHZhbHVl
cyBsaWtlICdwYXJzaW5nLWVycm9yJyBhbmQgJ3Bvc3Qtc2NyaXB0LWVycm9yJyB1c2VkPw0KPiBJ
dCBsb29rcyBsaWtlIGNvbmZpZyBpcyBiZWluZyBwYXNzZWQgaW4gY29udGFpbmVyIHNzaC1ob3N0
LWtleXMgYW5kIGNvbnRhaW5lciB0cnVzdC1hbmNob3JzLg0KDQpUaGlzIGFjdGlvbiBlbXVsYXRl
cyB0aGUgZGV2aWNlIHNlbmRpbmcgUkMgbm90aWZpY2F0aW9ucywgd2hpY2ggaXQgY2FuJ3QgZG8g
aGVyZSBiZWNhdXNlIHRoZSBkZXZpY2UgaXMgdGhlIFJDLWNsaWVudCAodGhlIGJvb3RzdHJhcCBz
ZXJ2ZXIgaXMgdGhlIFJDLXNlcnZlcikuICBTbyB0aGlzIGFjdGlvbiBpcyB1c2VkIHRvIHdvcmth
cm91bmQgdGhpcyAobm90ZTogUlBDcyBoYXZlIGJlZW4gdXNlZCB0byBkZWxpdmVyIG5vdGlmaWNh
dGlvbnMgYnkgbWFueSBvdGhlciBwcm90b2NvbHMpLiAgVGhpcyBhY3Rpb24gaXMgaW52b2tlZCBv
bmx5IGJ5IHRoZSBkZXZpY2UgKHJlY2FsbCwgaWV0Zi16ZXJvdG91Y2gtYm9vdHN0cmFwLXNlcnZl
ciBvbmx5IGRlZmluZXMgYSBkZXZpY2UtZmFjaW5nIFJDIEFQSSwgb25seSBkZXZpY2VzIGFyZSBl
dmVyIGV4cGVjdGVkIHRvIHVzZSBpdCkuDQoNCkkgZG9uJ3QgYmVsaWV2ZSB0aGF0IGFueSBlcnJv
ci10YWdzIGFyZSBpZ25vcmVkIG9yIGhhcmQtY29kZWQsIGluIHBhcnRpY3VsYXIsIGlmIHRoZSBk
ZXZpY2UncyBpbnZvY2F0aW9uIG9mIHRoZSBhY3Rpb24gY2F1c2VzIGFuIGVycm9yIG9uIHRoZSBi
b290c3RyYXAgc2VydmVyLCBJJ2QgZXhwZWN0IGEgc3RhbmRhcmQgUkMgZXJyb3IgdG8gYmUgcmV0
dXJuZWQuICBUaGF0IHNhaWQsIEkgdGhpbmsgeW91J3JlIHJlZmVycmluZyB0byB0aGUgIm5vdGlm
aWNhdGlvbiB0eXBlIiBlbnVtZXJhdGlvbiwgd2hpY2ggaGFzIHZhbHVlcyBsaWtlICdwYXJzaW5n
LWVycm9yJyBhbmQgJ3Bvc3Qtc2NyaXB0LWVycm9yJy4gIFdoYXQncyB3cm9uZyB3aXRoIHRoZXNl
Pw0KDQpZZXMsIHRoZSBzcGVjaWFsIG5vdGlmaWNhdGlvbiAiYm9vdHN0cmFwLWNvbXBsZXRlIiBj
YW4gcGFzcyB0aGUgZGV2aWNlJ3MgU1NIIGhvc3Qga2V5IGFuZC9vciBUTFMgc2VydmVyIGNlcnRp
ZmljYXRlLiAgSG93IHRoZSBib290c3RyYXAgc2VydmVyIGNvbnN1bWVzIHRoZXNlIHZhbHVlcyBk
ZXBlbmRzIG9uIGltcGxlbWVudGF0aW9uLiAgSW4gc29tZSBjYXNlcywgSSd2ZSBzZWVuIHRoZSBi
b290c3RyYXAgc2VydmVyIHNhdmUgdGhlc2UgdmFsdWVzIGFuZCwgaW4gb3RoZXIgY2FzZXMsIEkn
dmUgc2VlbiB0aGUgYm9vdHN0cmFwIHNlcnZlciBwYXNzIHRoZXNlIHZhbHVlcyB0byBhbiBOTVMg
c28gdGhhdCBpdCBjYW4gc2F2ZSB0aGUgdmFsdWVzLiAgSW4gZWl0aGVyIGNhc2UsIHRoZSBhYmls
aXR5IGZvciB0aGUgZGV2aWNlIHRvIHBhc3MgdGhlc2UgdmFsdWVzIGlzIGNyaXRpY2FsIGZyb20g
YSBzZWN1cml0eSBwZXJzcGVjdGl2ZSBpbiBzb21lIHNjZW5hcmlvcy4NCg0KDQo+IElzIHRoZSAn
ZGV2aWNlLWxpc3QnIG5vcm1hbCBjb25maWc9ZmFsc2UgZGF0YSB0aGF0IGlzIHByZXNlbnQgb24g
dGhlIHNlcnZlcj8NCg0KQWdhaW4sIHRoaXMgbW9kdWxlIG9ubHkgZGVmaW5lcyBhICJzb3V0aGJv
dW5kIiBBUEkgZnJvbSB0aGUgYm9vdHN0cmFwIHNlcnZlciB0byBkZXZpY2VzLiAgU3VyZWx5IG9u
ZSBjYW4gaW1hZ2luZSB0aGUgYm9vdHN0cmFwIHNlcnZlciBhbHNvIGhhdmluZyBhICJub3J0aGJv
dW5kIiBBUEkgd2hlcmVieSBpdCBjYW4gYmUgY29uZmlndXJlZCBhbmQgdGh1cyBhZmZlY3Qgd2hh
dCBkYXRhIGlzIHZpc2libGUgdG8gZGV2aWNlcywgYnV0IHRoYXQgQVBJIGlzIG91dCBvZiBzY29w
ZSBmb3IgdGhpcyBJLUQuICBNYWtlcyBzZW5zZT8NCg0KDQo+IEFuZCBvbmx5IGFjY2Vzc2libGUg
dmlhIGEgbm9ybWFsIE5FVENPTkYgb3IgUkVTVENPTkYgc2Vzc2lvbiwgYWZ0ZXIgdGhlIGRldmlj
ZQ0KPiBoYXMgYm9vdGVkIE9LPw0KDQpJJ20gbm90IHN1cmUgd2hhdCB0aGlzIG1lYW5zLg0KDQoN
CktlbnQNCg0K

--_000_920E9BCF670B434C8D6285F77D7B9A8Cjunipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <EB13E38A2AD965429A6ED4DEE60A73BC@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCglwYW5vc2UtMToyIDcg
MyA5IDIgMiA1IDIgNCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5
bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt
YWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEy
LjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQphOmxpbmssIHNwYW4uTXNv
SHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxv
d2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNv
cmF0aW9uOnVuZGVybGluZTt9DQpwcmUNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1z
dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltYXJnaW46MGluOw0KCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3Vy
aWVyIE5ldyI7fQ0Kc3Bhbi5IVE1MUHJlZm9ybWF0dGVkQ2hhcg0KCXttc28tc3R5bGUtbmFtZToi
SFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1z
dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCI7DQoJZm9udC1mYW1pbHk6Q291cmllcjt9DQpz
cGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250
LWZhbWlseTpDYWxpYnJpOw0KCWZvbnQtdmFyaWFudDpub3JtYWwgIWltcG9ydGFudDsNCgljb2xv
cjp3aW5kb3d0ZXh0Ow0KCXRleHQtdHJhbnNmb3JtOm5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOm5v
bmUgbm9uZTsNCgl2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTt9DQpzcGFuLm1zb0lucw0KCXttc28t
c3R5bGUtdHlwZTpleHBvcnQtb25seTsNCgltc28tc3R5bGUtbmFtZToiIjsNCgl0ZXh0LWRlY29y
YXRpb246dW5kZXJsaW5lOw0KCWNvbG9yOnRlYWw7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0
eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2Vj
dGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEuMGluIDEu
MGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHls
ZT4NCjwvaGVhZD4NCjxib2R5IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1VUyIgbGluaz0iYmx1
ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmkiPkhpIEFuZHksPG86
cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZndDsgSSBhbSB0cnlpbmcgdG8gdW5kZXJzdGFuZCB0aGUgemVyb3RvdWNoIGRyYWZ0LjxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OzxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0
OyBJIGZpbmQgaXQgdG8gYmUgdmVyeSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYywgYW5kIG5vdCBz
dWl0ZWQgZm9yPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7IG1vZHVsYXIgc2VydmVycy4gJm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPldoYXQgZG8geW91IG1lYW4gYnkgbW9kdWxhciBzZXJ2ZXJzPyZuYnNw
OyBJIGNhbiB0ZWxsIHlvdSB0aGF0IGl0IGhhcyBiZWVuIGltcGxlbWVudGVkIG9uIGEgSnVuaXBl
ciBkZXZpY2UgdGhhdCBpcyBpbnRlcm5hbGx5IGEgY29tcG9zaXRpb24gb2YgdmlydHVhbCBtYWNo
aW5lcyBhbmQgY29udGFpbmVycy4mbmJzcDsgRm9yIHRoaXMgZGV2aWNlLCB0aGUgJnF1b3Q7c29m
dHdhcmUgaW1hZ2UmcXVvdDsgY29udGFpbnMgYWxzbyB0aGUgc29mdHdhcmUNCiBmb3IgdGhlIG90
aGVyIGNvbXBvbmVudHMgYXMgd2VsbC4mbmJzcDsgSWYgdGhpcyBpc24ndCBzdWl0YWJsZSwgdGhl
biB0aGUgcHJlLWNvbmZpZ3VyYXRpb24gc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGNvdmVyIG90aGVy
IGNhc2VzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgVGhlIGNvbnRhaW5lciBib290
c3RyYXAtaW5mb3JtYXRpb24gb25seSBzdXBwb3J0cyBhIG1vbm9saXRoaWMgc2VydmVyIGltYWdl
LjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UcnVlLCBidXQgc2VlIGFib3ZlIGNvbW1lbnQuJm5i
c3A7IFB1dHRpbmcgc29mdHdhcmUgaW1hZ2VzIHRvIHRoZSBzaWRlIG1vbWVudGFyaWx5LCBob3cg
aXMgdGhpcyBtb2R1bGFyIHNlcnZlciBtYW5hZ2VkLCBkb2VzIGl0IGhhdmUgYSBzaW5nbGUgTkMv
UkMgaW50ZXJmYWNlPzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgSXQgaXMgYXNzdW1l
ZCB0aGUgZW50aXJlIGNvbmZpZ3VyYXRpb24gKG1vZHVsZXMsIGZlYXR1cmVzLCBkZXZpYXRpb25z
LCBldGMpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij4mZ3Q7IGlzIGlycmVsZXZhbnQgYmVjYXVzZSBpdCBpcyBoYXJkLWNvZGVkIGludG8gdGhlIG1v
bm9saXRoaWMgYm9vdCBpbWFnZS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+SSdtIG5vdCAxMDAlIHN1cmUgd2hhdCB0aGlzIG1lYW5zLCBidXQgSSBkb24ndCB0aGluayBp
dCdzIHRydWUuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBXaGF0IGlmIGEgc2VydmVy
IGlzIG1vZHVsYXIgYW5kIHRoZSBZQU5HIG1vZHVsZXMsIHJldmlzaW9ucywgZmVhdHVyZXMsIGFu
ZCBkZXZpYXRpb25zPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7IGNvbWUgZnJvbSBhIGJvb3RzdHJhcCBsaWJyYXJ5IGNvbmZpZyBpbnN0ZWFk
IG9mIGhhcmQtd2lyZWQgaW50byBhIHN0YXRpYyBpbWFnZT88bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgVGhpcyBkb2VzIG5vdCBzZWVtIHRv
IGJlIHN1cHBvcnRlZCBhdCBhbGwuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPkluIHRoZSB3b3JsZCBvZiAqemVybyogdG91Y2gsIEkgdGhpbmsgdGhhdCBpdCBpcyB2ZXJ5
IHNhZmUgdG8gc2F5IHRoYXQgZGV2aWNlcyBpbiB0aGVpciBmYWN0b3J5IGRlZmF1bHQgc2V0dGlu
ZyBoYXZlIGEga25vd24vc3RhdGljIGluaXRpYWwgc3RhdGUuJm5ic3A7IENlcnRhaW5seSwgdGhl
IHNlcnZlciBjYW4gaW5zdGFsbCBzb21lIGFkZC1vbiBwYWNrYWdlcyB0aGF0IGdyb3cgdGhlIG51
bWJlciBvZiBtb2R1bGVzIGl0DQogc3VwcG9ydHMuJm5ic3A7IEp1bmlwZXIgZG9lcyB0aGlzIGFs
c28uJm5ic3A7IFRoZSBwcmUtY29uZmlndXJhdGlvbiBzY3JpcHQgaXMgd2VsbCBzdWl0ZWQgdG8g
aW5zdGFsbGluZyBzdWNoIGFkZC1vbiBwYWNrYWdlcywgdGhhdCBpcywganVzdCBiZWZvcmUgdGhl
IGRldmljZSBhdHRlbXB0cyB0byBjb21taXQgdGhlIGNvbmZpZ3VyYXRpb24sIHdoaWNoIG1heSBh
dHRlbXB0IHRvIGNvbmZpZ3VyZSB0aGVzZSBhZGQtb24gcGFja2FnZXMuPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jmd0OyBBbGwgdGhlIGdlbmVyaWMgc2NyaXB0IHN0dWZmIHNlZW1zIHZlcnkg
aW1wbGVtZW50YXRpb24tc3BlY2lmaWMgYXMgd2VsbC48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
SG93IGlzICZxdW90O2dlbmVyaWMmcXVvdDsgaW1wbGVtZW50YXRpb24tc3BlY2lmaWM/Jm5ic3A7
IDspJm5ic3A7Jm5ic3A7Jm5ic3A7IE9mIGNvdXJzZSwgaWYgdGhlIGRldmljZSBjYW4ndCBzdXBw
b3J0IGV4ZWN1dGluZyBzY3JpcHRzLCB0aGVuIGl0J3Mgb3B0aW9ucyBhcmUgbGltaXRlZC4mbmJz
cDsgRm9yIHdoYXQgaXQncyB3b3J0aCwgd2UgZGlkbid0IGhhdmUgc2NyaXB0cyBhdCBmaXJzdCwg
YnV0IG9uZSBvcGVyYXRvciBpbnRlcmFjdGlvbiBjYXVzZWQgdXMgdG8gYWRkDQogdGhlIHBvc3Qt
Y29uZmlndXJhdGlvbiBzY3JpcHQgYW5kIGFub3RoZXIgb3BlcmF0b3ItaW50ZXJhY3Rpb24gY2F1
c2VkIHVzIHRvIGFkZCB0aGUgcHJlLWNvbmZpZ3VyYXRpb24gc2NyaXB0LiZuYnNwOyBUaGlzIGp1
c3QgZ29lcyB0byBzaG93IHRoYXQgdGhlIHNjcmlwdHMgYXJlIHVzZWZ1bCwgYnV0IG5vdCBuZWVk
ZWQgaW4gYWxsIHVzZSBjYXNlcy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IEkgZG9u
J3Qgc2VlIHRoZSBzdGFuZGFyZHMgdmFsdWUgb2Ygc3VwcG9ydGluZyBwcmUgYW5kIHBvcnQgYm9v
dHN0cmFwIHNjcmlwdHM8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsgdXNpbmcgYW4gb3BhcXVlIHNjcmlwdGluZyBsYW5ndWFnZS4mbmJzcDsg
V2h5IGlzbid0IHRoaXMganVzdCBwYXJ0IG9mIHRoZTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBvcGFxdWUgYm9vdHN0cmFwIHNlcXVlbmNl
PyBXaHkgaXMgaXQgY29uZmlndXJhYmxlPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5XaGF0IGlzICZxdW90O29wYXF1ZSBib290c3RyYXAgc2VxdWVuY2UmcXVvdDs/Jm5i
c3A7IEhvdyBlbHNlIHdvdWxkIHRoZSBkZXZpY2Ugb2J0YWluIHRoZXNlIHNjcmlwdHM/Jm5ic3A7
IFdoeSBhcmVuJ3QgdGhlIHNjcmlwdHMgcGFydCBvZiB0aGUgaW5pdGlhbCBjb25maWd1cmF0aW9u
PyAtIGJlY2F1c2UgdGhlIHNjcmlwdHMgYXJlIG9ubHkgZXhlY3V0ZWQgZHVyaW5nIHRoZSB6ZXJv
dG91Y2ggYm9vdHN0cmFwcGluZyBwcm9jZXNzLCB0aGV5IGhhdmUNCiBubyBnZW5lcmFsIHZhbHVl
IGluIHRoZSBvbmdvaW5nIG1hbmFnZW1lbnQgb2YgdGhlIGRldmljZS48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IEV4dHJhIG11c3Qtc3RtdDo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDs8bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwcmU+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mZ3Q7IGxlYWYgb3du
ZXItY2VydGlmaWNhdGUgezxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBzdHls
ZT0iY29sb3I6YmxhY2siPiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHlwZSBw
a2NzNzs8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gc3R5bGU9ImNvbG9yOmJs
YWNrIj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG11c3QgJnF1b3Q7Li4vemVy
b3RvdWNoLWluZm9ybWF0aW9uJnF1b3Q7IHs8bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDs8bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgVGhlIHplcm90b3VjaC1p
bmZvcm1hdGlvbiBsZWFmIGlzIG1hbmRhdG9yeSB0cnVlIHNvIHRoZSBtdXN0LXN0bXQgaXMgbm90
IG5lZWRlZC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+UmlnaHQgeW91
IGFyZS4mbmJzcDsgVGhlcmUgdXNlZCB0byBiZSBhbiBvcHRpb25hbCBmaWVsZCBjYWxsZWQgJnF1
b3Q7c2lnbmF0dXJlJnF1b3Q7IHRoYXQgdGhpcyBtdXN0IGV4cHJlc3Npb24gdXNlZCB0byBkZXBl
bmQgb24sIGJ1dCB0aGUgc2lnbmF0dXJlIHdhcyByb2xsZWQgaW50byB0aGUgbmV3IHplcm90b3Vj
aC1pbmZvcm1hdGlvbiBwa2NzNyBhcnRpZmFjdCwgYW5kIEkgZGlkbid0IGNhdGNoIHRoaXMgd2hl
biBtb3ZpbmcgdGhpbmdzDQogYXJvdW5kLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZndDsgQWN0aW9uIG5vdGlmaWNhdGlvbjo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgV2hhdCBpcyB0aGUgcHJvdG9jb2wg
aW50ZXJhY3Rpb24gbW9kZWwgZm9yIHRoaXMgYWN0aW9uPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBXaG8gaW52b2tlcyBpdD8mbmJzcDsg
V2h5IGFyZSB0aGUgTkVUQ09ORiBlcnJvci10YWcgc3RhdHVzIHZhbHVlcyBpZ25vcmVkIGFuZCBo
YXJkLWNvZGVkPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mZ3Q7IHN0YXR1cyB2YWx1ZXMgbGlrZSAncGFyc2luZy1lcnJvcicgYW5kICdwb3N0LXNj
cmlwdC1lcnJvcicgdXNlZD88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPiZndDsgSXQgbG9va3MgbGlrZSBjb25maWcgaXMgYmVpbmcgcGFzc2VkIGlu
IGNvbnRhaW5lciBzc2gtaG9zdC1rZXlzIGFuZCBjb250YWluZXIgdHJ1c3QtYW5jaG9ycy48bzpw
PjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhpcyBhY3Rpb24gZW11bGF0ZXMg
dGhlIGRldmljZSBzZW5kaW5nIFJDIG5vdGlmaWNhdGlvbnMsIHdoaWNoIGl0IGNhbid0IGRvIGhl
cmUgYmVjYXVzZSB0aGUgZGV2aWNlIGlzIHRoZSBSQy1jbGllbnQgKHRoZSBib290c3RyYXAgc2Vy
dmVyIGlzIHRoZSBSQy1zZXJ2ZXIpLiZuYnNwOyBTbyB0aGlzIGFjdGlvbiBpcyB1c2VkIHRvIHdv
cmthcm91bmQgdGhpcyAobm90ZTogUlBDcyBoYXZlIGJlZW4gdXNlZCB0byBkZWxpdmVyDQogbm90
aWZpY2F0aW9ucyBieSBtYW55IG90aGVyIHByb3RvY29scykuJm5ic3A7IFRoaXMgYWN0aW9uIGlz
IGludm9rZWQgb25seSBieSB0aGUgZGV2aWNlIChyZWNhbGwsIGlldGYtemVyb3RvdWNoLWJvb3Rz
dHJhcC1zZXJ2ZXIgb25seSBkZWZpbmVzIGEgZGV2aWNlLWZhY2luZyBSQyBBUEksIG9ubHkgZGV2
aWNlcyBhcmUgZXZlciBleHBlY3RlZCB0byB1c2UgaXQpLiZuYnNwOw0KPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPkkgZG9uJ3QgYmVsaWV2ZSB0aGF0IGFueSBlcnJvci10YWdzIGFyZSBpZ25vcmVk
IG9yIGhhcmQtY29kZWQsIGluIHBhcnRpY3VsYXIsIGlmIHRoZSBkZXZpY2UncyBpbnZvY2F0aW9u
IG9mIHRoZSBhY3Rpb24gY2F1c2VzIGFuIGVycm9yIG9uIHRoZSBib290c3RyYXAgc2VydmVyLCBJ
J2QgZXhwZWN0IGEgc3RhbmRhcmQgUkMgZXJyb3IgdG8gYmUgcmV0dXJuZWQuJm5ic3A7IFRoYXQg
c2FpZCwgSSB0aGluayB5b3UncmUgcmVmZXJyaW5nDQogdG8gdGhlICZxdW90O25vdGlmaWNhdGlv
biB0eXBlJnF1b3Q7IGVudW1lcmF0aW9uLCB3aGljaCBoYXMgdmFsdWVzIGxpa2UgJ3BhcnNpbmct
ZXJyb3InIGFuZCAncG9zdC1zY3JpcHQtZXJyb3InLiZuYnNwOyBXaGF0J3Mgd3Jvbmcgd2l0aCB0
aGVzZT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WWVzLCB0aGUgc3BlY2lhbCBub3RpZmljYXRp
b24gJnF1b3Q7Ym9vdHN0cmFwLWNvbXBsZXRlJnF1b3Q7IGNhbiBwYXNzIHRoZSBkZXZpY2UncyBT
U0ggaG9zdCBrZXkgYW5kL29yIFRMUyBzZXJ2ZXIgY2VydGlmaWNhdGUuJm5ic3A7IEhvdyB0aGUg
Ym9vdHN0cmFwIHNlcnZlciBjb25zdW1lcyB0aGVzZSB2YWx1ZXMgZGVwZW5kcyBvbiBpbXBsZW1l
bnRhdGlvbi4mbmJzcDsgSW4gc29tZSBjYXNlcywgSSd2ZSBzZWVuIHRoZSBib290c3RyYXAgc2Vy
dmVyDQogc2F2ZSB0aGVzZSB2YWx1ZXMgYW5kLCBpbiBvdGhlciBjYXNlcywgSSd2ZSBzZWVuIHRo
ZSBib290c3RyYXAgc2VydmVyIHBhc3MgdGhlc2UgdmFsdWVzIHRvIGFuIE5NUyBzbyB0aGF0IGl0
IGNhbiBzYXZlIHRoZSB2YWx1ZXMuJm5ic3A7IEluIGVpdGhlciBjYXNlLCB0aGUgYWJpbGl0eSBm
b3IgdGhlIGRldmljZSB0byBwYXNzIHRoZXNlIHZhbHVlcyBpcyBjcml0aWNhbCBmcm9tIGEgc2Vj
dXJpdHkgcGVyc3BlY3RpdmUgaW4gc29tZSBzY2VuYXJpb3MuPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyBJcyB0aGUgJ2RldmljZS1saXN0JyBub3JtYWwgY29uZmlnPWZhbHNlIGRhdGEg
dGhhdCBpcyBwcmVzZW50IG9uIHRoZSBzZXJ2ZXI/PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkFnYWluLCB0aGlzIG1vZHVsZSBvbmx5IGRlZmlu
ZXMgYSAmcXVvdDtzb3V0aGJvdW5kJnF1b3Q7IEFQSSBmcm9tIHRoZSBib290c3RyYXAgc2VydmVy
IHRvIGRldmljZXMuJm5ic3A7IFN1cmVseSBvbmUgY2FuIGltYWdpbmUgdGhlIGJvb3RzdHJhcCBz
ZXJ2ZXIgYWxzbyBoYXZpbmcgYSAmcXVvdDtub3J0aGJvdW5kJnF1b3Q7IEFQSSB3aGVyZWJ5IGl0
IGNhbiBiZSBjb25maWd1cmVkIGFuZCB0aHVzIGFmZmVjdCB3aGF0IGRhdGEgaXMgdmlzaWJsZSB0
byBkZXZpY2VzLA0KIGJ1dCB0aGF0IEFQSSBpcyBvdXQgb2Ygc2NvcGUgZm9yIHRoaXMgSS1ELiZu
YnNwOyBNYWtlcyBzZW5zZT88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mZ3Q7IEFuZCBvbmx5IGFjY2Vzc2libGUgdmlh
IGEgbm9ybWFsIE5FVENPTkYgb3IgUkVTVENPTkYgc2Vzc2lvbiwgYWZ0ZXIgdGhlIGRldmljZTxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBoYXMgYm9vdGVkIE9LPzxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JJ20gbm90IHN1cmUgd2hhdCB0aGlzIG1lYW5zLjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPktlbnQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_920E9BCF670B434C8D6285F77D7B9A8Cjunipernet_--


From nobody Tue May  9 23:46:19 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FAB6128D69 for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 23:46:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.664
X-Spam-Level: 
X-Spam-Status: No, score=0.664 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, RP_MATCHES_RCVD=-0.001, SPF_SOFTFAIL=0.665, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5D2p-c9gMVo3 for <netconf@ietfa.amsl.com>; Tue,  9 May 2017 23:46:12 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 07BA4129AC5 for <netconf@ietf.org>; Tue,  9 May 2017 23:46:11 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 44D20EFE; Wed, 10 May 2017 08:46:09 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id etu5b0Hy9QVv; Wed, 10 May 2017 08:46:08 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Wed, 10 May 2017 08:46:09 +0200 (CEST)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 1F04E20062; Wed, 10 May 2017 08:46:09 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius3.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id BIPDVl9U7vwt; Wed, 10 May 2017 08:46:08 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 5FBF02005F; Wed, 10 May 2017 08:46:08 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 34AC33F406EF; Wed, 10 May 2017 08:46:08 +0200 (CEST)
Date: Wed, 10 May 2017 08:46:08 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: andy@yumaworks.com, netconf@ietf.org
Message-ID: <20170510064608.GA14838@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Martin Bjorklund <mbj@tail-f.com>, andy@yumaworks.com, netconf@ietf.org
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170509.145030.58029732242199759.mbj@tail-f.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
X-Clacks-Overhead: GNU Terry Pratchett
Content-Transfer-Encoding: 8bit
In-Reply-To: <20170509.145030.58029732242199759.mbj@tail-f.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/XyYcpAsY-D4NX2XhAqJNtuU497k>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 May 2017 06:46:14 -0000

On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
> Andy Bierman <andy@yumaworks.com> wrote:
> > On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <alexander.clemm@huawei.com
> > > wrote:
> > 
> > > As mentioned in my message, I donâ€™t think specific access control will be
> > > needed (I am not aware of specific use cases), but specifically with the
> > > revised datastore architecture about to the be introduced, its impact or
> > > nonimpact and interrelation with NACM should be discussed.  This can be as
> > > simple as a small paragraph or subsection â€œRevised Datastore
> > > Considerationsâ€.
> > >
> > >
> > >
> > 
> > there is no text about candidate vs. running vs. startup.
> > The NACM rules apply to all of them the same.
> > I could add text that says there is no consideration for specific
> > datastores.
> 
> Actually, the document already says:
> 
> 3.2.  Datastore Access
> 
>    The same access control rules apply to all datastores, for example,
>    the candidate configuration datastore or the running configuration
>    datastore.
> 
>    Only the standard NETCONF datastores (candidate, running, and
>    startup) are controlled by NACM.
> 
> 
> Somehow this needs to be updated when the revised datastore work is
> done.  E.g., I expect read access to intended to follow the same NACM
> rules.
>

Yes. NACM likely also applies to the <operational/> datastore (but
this follows already from the text that talks about 'state data').

My question, however, was about other future yet to be defined
'dynamic' datastores - does NACM make a statement of the form 'once an
implementation announces NACM, NACM applies to all datastores - no
exceptions' or do we leave it to the definition of future datastores
to declare whether NACM applies to it. There may be three possible
solutions:

a) Once an implementation supports NACM, NACM applies to all
   datastores (including any datastores defined in the future).

b) Once an implementation supports NACM, NACM applies to all
   conventional datastores and the operational state datastore.  Other
   datastores must define whether NACM applies to them.

   (This means, whenever a new datastore is introduced, the question
   whether NACM applies has to answered for the new datastore.)

c) Once an implementation supports NACM, NACM applies to all current
   and future datastore unless explicitely stated or signaled that
   NACM does not apply to a certain future datastore.

   (This is essentially b) but with a default that NACM applies unless
   things are explicitly regulated to be different.)

I just thought it is worth to take a moment to think about this
question.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Wed May 10 10:49:24 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 864E61294F0 for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 10:49:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Oua6UseENbZf for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 10:49:20 -0700 (PDT)
Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D2F9C12441E for <netconf@ietf.org>; Wed, 10 May 2017 10:49:19 -0700 (PDT)
Received: by mail-wm0-x22d.google.com with SMTP id u65so12606307wmu.1 for <netconf@ietf.org>; Wed, 10 May 2017 10:49:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=N+aA6jT4QmQ22R15qcaZ8TguNBnNToq5XNXz1QEVZ8I=; b=wBuOd0yRi/UFlM4j9VxXXx9gKlwqCmf7x0WeXALYMEwXQe+LaOitzzRZ3IlDVegskb 6GDUGsMHcPhHccScw3oTcViv+HNejFpD/pg7ShScjpJ5am4oeIpaa3ubUQQvTThzwZ+3 VAae+zYpZCV562h9zbqMiBK80nkGEOB+vclbZDx+0LzFC+aNbYxK0ssXB3n/fDxteBTc h+XNNsFY8wQp7KD8hPds0Rkj/R3qNjy3xpN4jUf8daz9EwkshKAUOY2sdUL5UUSmxiYd qppq4fubOdQxxfEr4fJOFPEJKvzr5bLaNW1kbtu83F39HIsf0rcIzw3PvO91M4JtC5dt 4vXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=N+aA6jT4QmQ22R15qcaZ8TguNBnNToq5XNXz1QEVZ8I=; b=ScymsIBCcXZsdYCW5U21sCb/FbykUidc0CaWpVVB9yDcmxRcn2loL4ayIoYKSoXG7E 8LLvJbjDaNKCsTMBS8bIgor99RmJt3JG7iwmMuR1LImn7BeljZbIe+0F2lYvM8KLCaUh O9Fvqd/BO48s3c/PNAOoOge9Y5+s0UlgqJUNrQHylWoePc1xH67Hz8Y9lgVdUrKS6qof SgZlHo0BgVqTRSsc7eKH5ZIQ1/LFLmPAwrhcEDofD+M/cqqZ4Da42bw8R0PyAjFCA2dP aD1vDcRYcXhNL2tyU084/cJtZmZ/SZlgzIpDydgDawwqzZKiDXNNW2uNV41WSwAUfADn 3zMA==
X-Gm-Message-State: AODbwcDA+3deHB+x9bQDEvkLC65EbsdeYf9d496jreh/8f+7AlzlVwTP IxJtJB7gRqViCKMxRYVp73epSJfQew==
X-Received: by 10.28.232.220 with SMTP id f89mr4026832wmi.99.1494438557843; Wed, 10 May 2017 10:49:17 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 10 May 2017 10:49:17 -0700 (PDT)
In-Reply-To: <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net>
References: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com> <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 10 May 2017 10:49:17 -0700
Message-ID: <CABCOCHQqhVtPB9aSgm+v7pM8ScRwApfZts+wB7C-yJ0w5K+yKg@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=001a1147833e6869ee054f2f1758
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/okK5IwXx_SErTtwMXN11lFXFfEY>
Subject: Re: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 May 2017 17:49:23 -0000

--001a1147833e6869ee054f2f1758
Content-Type: text/plain; charset=UTF-8

Hi,

I guess I will wait to see an open-source implementation to see how this
draft works.


Andy


On Tue, May 9, 2017 at 4:00 PM, Kent Watsen <kwatsen@juniper.net> wrote:

> Hi Andy,
>
>
>
> > I am trying to understand the zerotouch draft.
>
> >
>
> > I find it to be very implementation-specific, and not suited for
>
> > modular servers.
>
>
>
> What do you mean by modular servers?  I can tell you that it has been
> implemented on a Juniper device that is internally a composition of virtual
> machines and containers.  For this device, the "software image" contains
> also the software for the other components as well.  If this isn't
> suitable, then the pre-configuration script can be used to cover other
> cases.
>
>
>
>
>
> > The container bootstrap-information only supports a monolithic server
> image.
>
>
>
> True, but see above comment.  Putting software images to the side
> momentarily, how is this modular server managed, does it have a single
> NC/RC interface?
>
>
>
>
>
> > It is assumed the entire configuration (modules, features, deviations,
> etc)
>
> > is irrelevant because it is hard-coded into the monolithic boot image.
>
>
>
> I'm not 100% sure what this means, but I don't think it's true.
>
>
>
>
>
> > What if a server is modular and the YANG modules, revisions, features,
> and deviations
>
> > come from a bootstrap library config instead of hard-wired into a static
> image?
>
> > This does not seem to be supported at all.
>
>
>
> In the world of *zero* touch, I think that it is very safe to say that
> devices in their factory default setting have a known/static initial
> state.  Certainly, the server can install some add-on packages that grow
> the number of modules it supports.  Juniper does this also.  The
> pre-configuration script is well suited to installing such add-on packages,
> that is, just before the device attempts to commit the configuration, which
> may attempt to configure these add-on packages.
>
>
>
>
>
> > All the generic script stuff seems very implementation-specific as well.
>
>
>
> How is "generic" implementation-specific?  ;)    Of course, if the device
> can't support executing scripts, then it's options are limited.  For what
> it's worth, we didn't have scripts at first, but one operator interaction
> caused us to add the post-configuration script and another
> operator-interaction caused us to add the pre-configuration script.  This
> just goes to show that the scripts are useful, but not needed in all use
> cases.
>
>
>
>
>
> > I don't see the standards value of supporting pre and port bootstrap
> scripts
>
> > using an opaque scripting language.  Why isn't this just part of the
>
> > opaque bootstrap sequence? Why is it configurable?
>
>
>
> What is "opaque bootstrap sequence"?  How else would the device obtain
> these scripts?  Why aren't the scripts part of the initial configuration? -
> because the scripts are only executed during the zerotouch bootstrapping
> process, they have no general value in the ongoing management of the device.
>
>
>
>
>
> > Extra must-stmt:
>
> >
>
> > leaf owner-certificate {
>
> >      type pkcs7;
>
> >      must "../zerotouch-information" {
>
> >
>
> > The zerotouch-information leaf is mandatory true so the must-stmt is not
> needed.
>
>
>
> Right you are.  There used to be an optional field called "signature" that
> this must expression used to depend on, but the signature was rolled into
> the new zerotouch-information pkcs7 artifact, and I didn't catch this when
> moving things around.
>
>
>
>
>
> > Action notification:
>
> > What is the protocol interaction model for this action?
>
> > Who invokes it?  Why are the NETCONF error-tag status values ignored and
> hard-coded
>
> > status values like 'parsing-error' and 'post-script-error' used?
>
> > It looks like config is being passed in container ssh-host-keys and
> container trust-anchors.
>
>
>
> This action emulates the device sending RC notifications, which it can't
> do here because the device is the RC-client (the bootstrap server is the
> RC-server).  So this action is used to workaround this (note: RPCs have
> been used to deliver notifications by many other protocols).  This action
> is invoked only by the device (recall, ietf-zerotouch-bootstrap-server
> only defines a device-facing RC API, only devices are ever expected to use
> it).
>
>
>
> I don't believe that any error-tags are ignored or hard-coded, in
> particular, if the device's invocation of the action causes an error on the
> bootstrap server, I'd expect a standard RC error to be returned.  That
> said, I think you're referring to the "notification type" enumeration,
> which has values like 'parsing-error' and 'post-script-error'.  What's
> wrong with these?
>
>
>
> Yes, the special notification "bootstrap-complete" can pass the device's
> SSH host key and/or TLS server certificate.  How the bootstrap server
> consumes these values depends on implementation.  In some cases, I've seen
> the bootstrap server save these values and, in other cases, I've seen the
> bootstrap server pass these values to an NMS so that it can save the
> values.  In either case, the ability for the device to pass these values is
> critical from a security perspective in some scenarios.
>
>
>
>
>
> > Is the 'device-list' normal config=false data that is present on the
> server?
>
>
>
> Again, this module only defines a "southbound" API from the bootstrap
> server to devices.  Surely one can imagine the bootstrap server also having
> a "northbound" API whereby it can be configured and thus affect what data
> is visible to devices, but that API is out of scope for this I-D.  Makes
> sense?
>
>
>
>
>
> > And only accessible via a normal NETCONF or RESTCONF session, after the
> device
>
> > has booted OK?
>
>
>
> I'm not sure what this means.
>
>
>
>
>
> Kent
>
>
>

--001a1147833e6869ee054f2f1758
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I guess I will wait to see an open-=
source implementation to see how this draft works.</div><div><br></div><div=
><br></div><div>Andy</div><div><br></div></div><div class=3D"gmail_extra"><=
br><div class=3D"gmail_quote">On Tue, May 9, 2017 at 4:00 PM, Kent Watsen <=
span dir=3D"ltr">&lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D"_blan=
k">kwatsen@juniper.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">







<div bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_-3558973003376122285WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri">Hi Andy,<u></u><=
u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I am trying to understand the zerotouch draft.<=
u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt;<u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I find it to be very implementation-specific, a=
nd not suited for<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; modular servers. =C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">What do you mean by modular servers?=C2=A0 I can tel=
l you that it has been implemented on a Juniper device that is internally a=
 composition of virtual machines and containers.=C2=A0 For this device, the=
 &quot;software image&quot; contains also the software
 for the other components as well.=C2=A0 If this isn&#39;t suitable, then t=
he pre-configuration script can be used to cover other cases.<u></u><u></u>=
</p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; The container bootstrap-information only suppor=
ts a monolithic server image.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">True, but see above comment.=C2=A0 Putting software =
images to the side momentarily, how is this modular server managed, does it=
 have a single NC/RC interface?<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; It is assumed the entire configuration (modules=
, features, deviations, etc)<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; is irrelevant because it is hard-coded into the=
 monolithic boot image.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">I&#39;m not 100% sure what this means, but I don&#39=
;t think it&#39;s true.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; What if a server is modular and the YANG module=
s, revisions, features, and deviations<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; come from a bootstrap library config instead of=
 hard-wired into a static image?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; This does not seem to be supported at all.<u></=
u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">In the world of *zero* touch, I think that it is ver=
y safe to say that devices in their factory default setting have a known/st=
atic initial state.=C2=A0 Certainly, the server can install some add-on pac=
kages that grow the number of modules it
 supports.=C2=A0 Juniper does this also.=C2=A0 The pre-configuration script=
 is well suited to installing such add-on packages, that is, just before th=
e device attempts to commit the configuration, which may attempt to configu=
re these add-on packages.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">&gt; All the generic script stuff seems very impleme=
ntation-specific as well.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">How is &quot;generic&quot; implementation-specific?=
=C2=A0 ;)=C2=A0=C2=A0=C2=A0 Of course, if the device can&#39;t support exec=
uting scripts, then it&#39;s options are limited.=C2=A0 For what it&#39;s w=
orth, we didn&#39;t have scripts at first, but one operator interaction cau=
sed us to add
 the post-configuration script and another operator-interaction caused us t=
o add the pre-configuration script.=C2=A0 This just goes to show that the s=
cripts are useful, but not needed in all use cases.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I don&#39;t see the standards value of supporti=
ng pre and port bootstrap scripts<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; using an opaque scripting language.=C2=A0 Why i=
sn&#39;t this just part of the<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; opaque bootstrap sequence? Why is it configurab=
le?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">What is &quot;opaque bootstrap sequence&quot;?=C2=A0=
 How else would the device obtain these scripts?=C2=A0 Why aren&#39;t the s=
cripts part of the initial configuration? - because the scripts are only ex=
ecuted during the zerotouch bootstrapping process, they have
 no general value in the ongoing management of the device.<u></u><u></u></p=
>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Extra must-stmt:<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt;<u></u>=C2=A0<u></u></p>
</div>
<div>
<pre><span style=3D"color:black">&gt; leaf owner-certificate {<u></u><u></u=
></span></pre>
<pre><span style=3D"color:black">&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type pk=
cs7;<u></u><u></u></span></pre>
<pre><span style=3D"color:black">&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 must &q=
uot;../zerotouch-information&quot; {<u></u><u></u></span></pre>
</div>
<div>
<p class=3D"MsoNormal">&gt;<u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; The zerotouch-information leaf is mandatory tru=
e so the must-stmt is not needed.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Right you are.=C2=A0 There used to be an optional fi=
eld called &quot;signature&quot; that this must expression used to depend o=
n, but the signature was rolled into the new zerotouch-information pkcs7 ar=
tifact, and I didn&#39;t catch this when moving things
 around.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Action notification:<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; What is the protocol interaction model for this=
 action?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Who invokes it?=C2=A0 Why are the NETCONF error=
-tag status values ignored and hard-coded<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; status values like &#39;parsing-error&#39; and =
&#39;post-script-error&#39; used?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; It looks like config is being passed in contain=
er ssh-host-keys and container trust-anchors.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">This action emulates the device sending RC notificat=
ions, which it can&#39;t do here because the device is the RC-client (the b=
ootstrap server is the RC-server).=C2=A0 So this action is used to workarou=
nd this (note: RPCs have been used to deliver
 notifications by many other protocols).=C2=A0 This action is invoked only =
by the device (recall, ietf-zerotouch-bootstrap-<wbr>server only defines a =
device-facing RC API, only devices are ever expected to use it).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">I don&#39;t believe that any error-tags are ignored =
or hard-coded, in particular, if the device&#39;s invocation of the action =
causes an error on the bootstrap server, I&#39;d expect a standard RC error=
 to be returned.=C2=A0 That said, I think you&#39;re referring
 to the &quot;notification type&quot; enumeration, which has values like &#=
39;parsing-error&#39; and &#39;post-script-error&#39;.=C2=A0 What&#39;s wro=
ng with these?<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Yes, the special notification &quot;bootstrap-comple=
te&quot; can pass the device&#39;s SSH host key and/or TLS server certifica=
te.=C2=A0 How the bootstrap server consumes these values depends on impleme=
ntation.=C2=A0 In some cases, I&#39;ve seen the bootstrap server
 save these values and, in other cases, I&#39;ve seen the bootstrap server =
pass these values to an NMS so that it can save the values.=C2=A0 In either=
 case, the ability for the device to pass these values is critical from a s=
ecurity perspective in some scenarios.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Is the &#39;device-list&#39; normal config=3Dfa=
lse data that is present on the server?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Again, this module only defines a &quot;southbound&q=
uot; API from the bootstrap server to devices.=C2=A0 Surely one can imagine=
 the bootstrap server also having a &quot;northbound&quot; API whereby it c=
an be configured and thus affect what data is visible to devices,
 but that API is out of scope for this I-D.=C2=A0 Makes sense?<u></u><u></u=
></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">&gt; And only accessible via a normal NETCONF or RES=
TCONF session, after the device<u></u><u></u></p>
<p class=3D"MsoNormal">&gt; has booted OK?<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">I&#39;m not sure what this means.<span class=3D"HOEn=
Zb"><font color=3D"#888888"><u></u><u></u></font></span></p><span class=3D"=
HOEnZb"><font color=3D"#888888">
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Kent<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</font></span></div>
</div>
</div>
</div>

</blockquote></div><br></div>

--001a1147833e6869ee054f2f1758--


From nobody Wed May 10 12:51:51 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9852212EAA9 for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 12:51:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level: 
X-Spam-Status: No, score=-2.02 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W2r6ZKk3I_d9 for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 12:51:43 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0102.outbound.protection.outlook.com [104.47.37.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2026212EAA1 for <netconf@ietf.org>; Wed, 10 May 2017 12:51:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AFZSwxl8P/b+iNi+Yf4G5j/ZNriW2zRVxHjETtRUPl0=; b=CMSso0MCBBWdlG50LuTuuyUjQkCNiQgzUNN53Qdlon1y8Gj3e4CnDTmmRJO+3lCBYdhq0WUdJH6XRpfB1VCthffys304WGLQP8Pgve/e1RJOxrqenXL0IFU8oC0kJcpt76v+bdFKewKP/8U7qsYP+yDe1DSf4FVc4b1q7BQdsWs=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.7; Wed, 10 May 2017 19:51:42 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1084.017; Wed, 10 May 2017 19:51:41 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>
CC: Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] few comments on zerotouch-13
Thread-Index: AQHSyCtDsOrngzdDPE+s6x/cuZsxTaHsXLOAgAF+c4D//98lgA==
Date: Wed, 10 May 2017 19:51:41 +0000
Message-ID: <3BBA9B41-796E-4521-8748-B0E231A3CEEC@juniper.net>
References: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com> <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net> <CABCOCHQqhVtPB9aSgm+v7pM8ScRwApfZts+wB7C-yJ0w5K+yKg@mail.gmail.com>
In-Reply-To: <CABCOCHQqhVtPB9aSgm+v7pM8ScRwApfZts+wB7C-yJ0w5K+yKg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.11]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1442; 7:wPWiG03kWpqD1PBkIY7FKNy8r57m6LiIVtaL2nj6ZlfYGCyXRw9BSbGGRrRgbqjDmdFDDgSP0DK5ZCrY4NrkBzEw0MjHj/VKdMth0RNe1fk+8XVHMYOJdKy1H0yyaikuqzh3XFftSwo6qInqdF7mM6gZkCemYTQfIt36WXxU6ZFfuNa5t/IH/cLvcRqyw8kSKO+5NQKzKU8D9bZCtxgsR1zlQnl1ghKTFt41bnxfoYqn7esl4qMSYOIFtTd+5v/ejWGOjLBnFFjO+W6il3KxTexcme7y8kR8eLfNPa8KNI+Pb9UrEHoBzF/0HS26dHZF6kPu2YG4eI+woz4dRGoRoQ==
x-ms-office365-filtering-correlation-id: 8a1ae9d6-afd1-41da-9c29-08d497ddfaf3
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0501MB1442; 
x-microsoft-antispam-prvs: <BN3PR0501MB1442F819F9E9B333C806E667A5EC0@BN3PR0501MB1442.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(138986009662008)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123558100)(20161123564025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148); SRVR:BN3PR0501MB1442; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1442; 
x-forefront-prvs: 03030B9493
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39400400002)(39410400002)(39450400003)(39850400002)(39840400002)(51444003)(35754003)(377454003)(24454002)(8676002)(6506006)(81166006)(122556002)(478600001)(8936002)(36756003)(102836003)(6436002)(6116002)(3846002)(4001350100001)(4326008)(2906002)(83506001)(83716003)(82746002)(53546009)(76176999)(54356999)(50986999)(25786009)(86362001)(3280700002)(110136004)(5660300001)(6306002)(54896002)(6512007)(236005)(229853002)(53936002)(99286003)(189998001)(38730400002)(2900100001)(7736002)(33656002)(3660700001)(66066001)(6916009)(77096006)(6486002)(2950100002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1442; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_3BBA9B41796E45218748B0E231A3CEECjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 May 2017 19:51:41.8847 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1442
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/UK2Zl7G8XlzJb6Qar-1IkhhTZCo>
Subject: Re: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 May 2017 19:51:48 -0000

--_000_3BBA9B41796E45218748B0E231A3CEECjunipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCj4gSSBndWVzcyBJIHdpbGwgd2FpdCB0byBzZWUgYW4gb3Blbi1zb3VyY2UgaW1wbGVtZW50
YXRpb24gdG8gc2VlIGhvdyB0aGlzIGRyYWZ0IHdvcmtzLg0KDQpBbiBvZGQgcmVzcG9uc2UuICBE
aWQgSSBub3QgYW5zd2VyIHlvdXIgcXVlc3Rpb25zPw0KDQoNCj4gQW5keQ0KDQpLZW50DQoNCg0K
DQpPbiBUdWUsIE1heSA5LCAyMDE3IGF0IDQ6MDAgUE0sIEtlbnQgV2F0c2VuIDxrd2F0c2VuQGp1
bmlwZXIubmV0PG1haWx0bzprd2F0c2VuQGp1bmlwZXIubmV0Pj4gd3JvdGU6DQpIaSBBbmR5LA0K
DQo+IEkgYW0gdHJ5aW5nIHRvIHVuZGVyc3RhbmQgdGhlIHplcm90b3VjaCBkcmFmdC4NCj4NCj4g
SSBmaW5kIGl0IHRvIGJlIHZlcnkgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMsIGFuZCBub3Qgc3Vp
dGVkIGZvcg0KPiBtb2R1bGFyIHNlcnZlcnMuDQoNCldoYXQgZG8geW91IG1lYW4gYnkgbW9kdWxh
ciBzZXJ2ZXJzPyAgSSBjYW4gdGVsbCB5b3UgdGhhdCBpdCBoYXMgYmVlbiBpbXBsZW1lbnRlZCBv
biBhIEp1bmlwZXIgZGV2aWNlIHRoYXQgaXMgaW50ZXJuYWxseSBhIGNvbXBvc2l0aW9uIG9mIHZp
cnR1YWwgbWFjaGluZXMgYW5kIGNvbnRhaW5lcnMuICBGb3IgdGhpcyBkZXZpY2UsIHRoZSAic29m
dHdhcmUgaW1hZ2UiIGNvbnRhaW5zIGFsc28gdGhlIHNvZnR3YXJlIGZvciB0aGUgb3RoZXIgY29t
cG9uZW50cyBhcyB3ZWxsLiAgSWYgdGhpcyBpc24ndCBzdWl0YWJsZSwgdGhlbiB0aGUgcHJlLWNv
bmZpZ3VyYXRpb24gc2NyaXB0IGNhbiBiZSB1c2VkIHRvIGNvdmVyIG90aGVyIGNhc2VzLg0KDQoN
Cj4gVGhlIGNvbnRhaW5lciBib290c3RyYXAtaW5mb3JtYXRpb24gb25seSBzdXBwb3J0cyBhIG1v
bm9saXRoaWMgc2VydmVyIGltYWdlLg0KDQpUcnVlLCBidXQgc2VlIGFib3ZlIGNvbW1lbnQuICBQ
dXR0aW5nIHNvZnR3YXJlIGltYWdlcyB0byB0aGUgc2lkZSBtb21lbnRhcmlseSwgaG93IGlzIHRo
aXMgbW9kdWxhciBzZXJ2ZXIgbWFuYWdlZCwgZG9lcyBpdCBoYXZlIGEgc2luZ2xlIE5DL1JDIGlu
dGVyZmFjZT8NCg0KDQo+IEl0IGlzIGFzc3VtZWQgdGhlIGVudGlyZSBjb25maWd1cmF0aW9uICht
b2R1bGVzLCBmZWF0dXJlcywgZGV2aWF0aW9ucywgZXRjKQ0KPiBpcyBpcnJlbGV2YW50IGJlY2F1
c2UgaXQgaXMgaGFyZC1jb2RlZCBpbnRvIHRoZSBtb25vbGl0aGljIGJvb3QgaW1hZ2UuDQoNCkkn
bSBub3QgMTAwJSBzdXJlIHdoYXQgdGhpcyBtZWFucywgYnV0IEkgZG9uJ3QgdGhpbmsgaXQncyB0
cnVlLg0KDQoNCj4gV2hhdCBpZiBhIHNlcnZlciBpcyBtb2R1bGFyIGFuZCB0aGUgWUFORyBtb2R1
bGVzLCByZXZpc2lvbnMsIGZlYXR1cmVzLCBhbmQgZGV2aWF0aW9ucw0KPiBjb21lIGZyb20gYSBi
b290c3RyYXAgbGlicmFyeSBjb25maWcgaW5zdGVhZCBvZiBoYXJkLXdpcmVkIGludG8gYSBzdGF0
aWMgaW1hZ2U/DQo+IFRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgYXQgYWxsLg0K
DQpJbiB0aGUgd29ybGQgb2YgKnplcm8qIHRvdWNoLCBJIHRoaW5rIHRoYXQgaXQgaXMgdmVyeSBz
YWZlIHRvIHNheSB0aGF0IGRldmljZXMgaW4gdGhlaXIgZmFjdG9yeSBkZWZhdWx0IHNldHRpbmcg
aGF2ZSBhIGtub3duL3N0YXRpYyBpbml0aWFsIHN0YXRlLiAgQ2VydGFpbmx5LCB0aGUgc2VydmVy
IGNhbiBpbnN0YWxsIHNvbWUgYWRkLW9uIHBhY2thZ2VzIHRoYXQgZ3JvdyB0aGUgbnVtYmVyIG9m
IG1vZHVsZXMgaXQgc3VwcG9ydHMuICBKdW5pcGVyIGRvZXMgdGhpcyBhbHNvLiAgVGhlIHByZS1j
b25maWd1cmF0aW9uIHNjcmlwdCBpcyB3ZWxsIHN1aXRlZCB0byBpbnN0YWxsaW5nIHN1Y2ggYWRk
LW9uIHBhY2thZ2VzLCB0aGF0IGlzLCBqdXN0IGJlZm9yZSB0aGUgZGV2aWNlIGF0dGVtcHRzIHRv
IGNvbW1pdCB0aGUgY29uZmlndXJhdGlvbiwgd2hpY2ggbWF5IGF0dGVtcHQgdG8gY29uZmlndXJl
IHRoZXNlIGFkZC1vbiBwYWNrYWdlcy4NCg0KDQo+IEFsbCB0aGUgZ2VuZXJpYyBzY3JpcHQgc3R1
ZmYgc2VlbXMgdmVyeSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBhcyB3ZWxsLg0KDQpIb3cgaXMg
ImdlbmVyaWMiIGltcGxlbWVudGF0aW9uLXNwZWNpZmljPyAgOykgICAgT2YgY291cnNlLCBpZiB0
aGUgZGV2aWNlIGNhbid0IHN1cHBvcnQgZXhlY3V0aW5nIHNjcmlwdHMsIHRoZW4gaXQncyBvcHRp
b25zIGFyZSBsaW1pdGVkLiAgRm9yIHdoYXQgaXQncyB3b3J0aCwgd2UgZGlkbid0IGhhdmUgc2Ny
aXB0cyBhdCBmaXJzdCwgYnV0IG9uZSBvcGVyYXRvciBpbnRlcmFjdGlvbiBjYXVzZWQgdXMgdG8g
YWRkIHRoZSBwb3N0LWNvbmZpZ3VyYXRpb24gc2NyaXB0IGFuZCBhbm90aGVyIG9wZXJhdG9yLWlu
dGVyYWN0aW9uIGNhdXNlZCB1cyB0byBhZGQgdGhlIHByZS1jb25maWd1cmF0aW9uIHNjcmlwdC4g
IFRoaXMganVzdCBnb2VzIHRvIHNob3cgdGhhdCB0aGUgc2NyaXB0cyBhcmUgdXNlZnVsLCBidXQg
bm90IG5lZWRlZCBpbiBhbGwgdXNlIGNhc2VzLg0KDQoNCj4gSSBkb24ndCBzZWUgdGhlIHN0YW5k
YXJkcyB2YWx1ZSBvZiBzdXBwb3J0aW5nIHByZSBhbmQgcG9ydCBib290c3RyYXAgc2NyaXB0cw0K
PiB1c2luZyBhbiBvcGFxdWUgc2NyaXB0aW5nIGxhbmd1YWdlLiAgV2h5IGlzbid0IHRoaXMganVz
dCBwYXJ0IG9mIHRoZQ0KPiBvcGFxdWUgYm9vdHN0cmFwIHNlcXVlbmNlPyBXaHkgaXMgaXQgY29u
ZmlndXJhYmxlPw0KDQpXaGF0IGlzICJvcGFxdWUgYm9vdHN0cmFwIHNlcXVlbmNlIj8gIEhvdyBl
bHNlIHdvdWxkIHRoZSBkZXZpY2Ugb2J0YWluIHRoZXNlIHNjcmlwdHM/ICBXaHkgYXJlbid0IHRo
ZSBzY3JpcHRzIHBhcnQgb2YgdGhlIGluaXRpYWwgY29uZmlndXJhdGlvbj8gLSBiZWNhdXNlIHRo
ZSBzY3JpcHRzIGFyZSBvbmx5IGV4ZWN1dGVkIGR1cmluZyB0aGUgemVyb3RvdWNoIGJvb3RzdHJh
cHBpbmcgcHJvY2VzcywgdGhleSBoYXZlIG5vIGdlbmVyYWwgdmFsdWUgaW4gdGhlIG9uZ29pbmcg
bWFuYWdlbWVudCBvZiB0aGUgZGV2aWNlLg0KDQoNCj4gRXh0cmEgbXVzdC1zdG10Og0KPg0KDQo+
IGxlYWYgb3duZXItY2VydGlmaWNhdGUgew0KDQo+ICAgICAgdHlwZSBwa2NzNzsNCg0KPiAgICAg
IG11c3QgIi4uL3plcm90b3VjaC1pbmZvcm1hdGlvbiIgew0KPg0KPiBUaGUgemVyb3RvdWNoLWlu
Zm9ybWF0aW9uIGxlYWYgaXMgbWFuZGF0b3J5IHRydWUgc28gdGhlIG11c3Qtc3RtdCBpcyBub3Qg
bmVlZGVkLg0KDQpSaWdodCB5b3UgYXJlLiAgVGhlcmUgdXNlZCB0byBiZSBhbiBvcHRpb25hbCBm
aWVsZCBjYWxsZWQgInNpZ25hdHVyZSIgdGhhdCB0aGlzIG11c3QgZXhwcmVzc2lvbiB1c2VkIHRv
IGRlcGVuZCBvbiwgYnV0IHRoZSBzaWduYXR1cmUgd2FzIHJvbGxlZCBpbnRvIHRoZSBuZXcgemVy
b3RvdWNoLWluZm9ybWF0aW9uIHBrY3M3IGFydGlmYWN0LCBhbmQgSSBkaWRuJ3QgY2F0Y2ggdGhp
cyB3aGVuIG1vdmluZyB0aGluZ3MgYXJvdW5kLg0KDQoNCj4gQWN0aW9uIG5vdGlmaWNhdGlvbjoN
Cj4gV2hhdCBpcyB0aGUgcHJvdG9jb2wgaW50ZXJhY3Rpb24gbW9kZWwgZm9yIHRoaXMgYWN0aW9u
Pw0KPiBXaG8gaW52b2tlcyBpdD8gIFdoeSBhcmUgdGhlIE5FVENPTkYgZXJyb3ItdGFnIHN0YXR1
cyB2YWx1ZXMgaWdub3JlZCBhbmQgaGFyZC1jb2RlZA0KPiBzdGF0dXMgdmFsdWVzIGxpa2UgJ3Bh
cnNpbmctZXJyb3InIGFuZCAncG9zdC1zY3JpcHQtZXJyb3InIHVzZWQ/DQo+IEl0IGxvb2tzIGxp
a2UgY29uZmlnIGlzIGJlaW5nIHBhc3NlZCBpbiBjb250YWluZXIgc3NoLWhvc3Qta2V5cyBhbmQg
Y29udGFpbmVyIHRydXN0LWFuY2hvcnMuDQoNClRoaXMgYWN0aW9uIGVtdWxhdGVzIHRoZSBkZXZp
Y2Ugc2VuZGluZyBSQyBub3RpZmljYXRpb25zLCB3aGljaCBpdCBjYW4ndCBkbyBoZXJlIGJlY2F1
c2UgdGhlIGRldmljZSBpcyB0aGUgUkMtY2xpZW50ICh0aGUgYm9vdHN0cmFwIHNlcnZlciBpcyB0
aGUgUkMtc2VydmVyKS4gIFNvIHRoaXMgYWN0aW9uIGlzIHVzZWQgdG8gd29ya2Fyb3VuZCB0aGlz
IChub3RlOiBSUENzIGhhdmUgYmVlbiB1c2VkIHRvIGRlbGl2ZXIgbm90aWZpY2F0aW9ucyBieSBt
YW55IG90aGVyIHByb3RvY29scykuICBUaGlzIGFjdGlvbiBpcyBpbnZva2VkIG9ubHkgYnkgdGhl
IGRldmljZSAocmVjYWxsLCBpZXRmLXplcm90b3VjaC1ib290c3RyYXAtc2VydmVyIG9ubHkgZGVm
aW5lcyBhIGRldmljZS1mYWNpbmcgUkMgQVBJLCBvbmx5IGRldmljZXMgYXJlIGV2ZXIgZXhwZWN0
ZWQgdG8gdXNlIGl0KS4NCg0KSSBkb24ndCBiZWxpZXZlIHRoYXQgYW55IGVycm9yLXRhZ3MgYXJl
IGlnbm9yZWQgb3IgaGFyZC1jb2RlZCwgaW4gcGFydGljdWxhciwgaWYgdGhlIGRldmljZSdzIGlu
dm9jYXRpb24gb2YgdGhlIGFjdGlvbiBjYXVzZXMgYW4gZXJyb3Igb24gdGhlIGJvb3RzdHJhcCBz
ZXJ2ZXIsIEknZCBleHBlY3QgYSBzdGFuZGFyZCBSQyBlcnJvciB0byBiZSByZXR1cm5lZC4gIFRo
YXQgc2FpZCwgSSB0aGluayB5b3UncmUgcmVmZXJyaW5nIHRvIHRoZSAibm90aWZpY2F0aW9uIHR5
cGUiIGVudW1lcmF0aW9uLCB3aGljaCBoYXMgdmFsdWVzIGxpa2UgJ3BhcnNpbmctZXJyb3InIGFu
ZCAncG9zdC1zY3JpcHQtZXJyb3InLiAgV2hhdCdzIHdyb25nIHdpdGggdGhlc2U/DQoNClllcywg
dGhlIHNwZWNpYWwgbm90aWZpY2F0aW9uICJib290c3RyYXAtY29tcGxldGUiIGNhbiBwYXNzIHRo
ZSBkZXZpY2UncyBTU0ggaG9zdCBrZXkgYW5kL29yIFRMUyBzZXJ2ZXIgY2VydGlmaWNhdGUuICBI
b3cgdGhlIGJvb3RzdHJhcCBzZXJ2ZXIgY29uc3VtZXMgdGhlc2UgdmFsdWVzIGRlcGVuZHMgb24g
aW1wbGVtZW50YXRpb24uICBJbiBzb21lIGNhc2VzLCBJJ3ZlIHNlZW4gdGhlIGJvb3RzdHJhcCBz
ZXJ2ZXIgc2F2ZSB0aGVzZSB2YWx1ZXMgYW5kLCBpbiBvdGhlciBjYXNlcywgSSd2ZSBzZWVuIHRo
ZSBib290c3RyYXAgc2VydmVyIHBhc3MgdGhlc2UgdmFsdWVzIHRvIGFuIE5NUyBzbyB0aGF0IGl0
IGNhbiBzYXZlIHRoZSB2YWx1ZXMuICBJbiBlaXRoZXIgY2FzZSwgdGhlIGFiaWxpdHkgZm9yIHRo
ZSBkZXZpY2UgdG8gcGFzcyB0aGVzZSB2YWx1ZXMgaXMgY3JpdGljYWwgZnJvbSBhIHNlY3VyaXR5
IHBlcnNwZWN0aXZlIGluIHNvbWUgc2NlbmFyaW9zLg0KDQoNCj4gSXMgdGhlICdkZXZpY2UtbGlz
dCcgbm9ybWFsIGNvbmZpZz1mYWxzZSBkYXRhIHRoYXQgaXMgcHJlc2VudCBvbiB0aGUgc2VydmVy
Pw0KDQpBZ2FpbiwgdGhpcyBtb2R1bGUgb25seSBkZWZpbmVzIGEgInNvdXRoYm91bmQiIEFQSSBm
cm9tIHRoZSBib290c3RyYXAgc2VydmVyIHRvIGRldmljZXMuICBTdXJlbHkgb25lIGNhbiBpbWFn
aW5lIHRoZSBib290c3RyYXAgc2VydmVyIGFsc28gaGF2aW5nIGEgIm5vcnRoYm91bmQiIEFQSSB3
aGVyZWJ5IGl0IGNhbiBiZSBjb25maWd1cmVkIGFuZCB0aHVzIGFmZmVjdCB3aGF0IGRhdGEgaXMg
dmlzaWJsZSB0byBkZXZpY2VzLCBidXQgdGhhdCBBUEkgaXMgb3V0IG9mIHNjb3BlIGZvciB0aGlz
IEktRC4gIE1ha2VzIHNlbnNlPw0KDQoNCj4gQW5kIG9ubHkgYWNjZXNzaWJsZSB2aWEgYSBub3Jt
YWwgTkVUQ09ORiBvciBSRVNUQ09ORiBzZXNzaW9uLCBhZnRlciB0aGUgZGV2aWNlDQo+IGhhcyBi
b290ZWQgT0s/DQoNCkknbSBub3Qgc3VyZSB3aGF0IHRoaXMgbWVhbnMuDQoNCg0KS2VudA0KDQoN
Cg==

--_000_3BBA9B41796E45218748B0E231A3CEECjunipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <116D5102AABE8541998280F6B34E28B9@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCglwYW5vc2UtMToyIDcg
MyA5IDIgMiA1IDIgNCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5
bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt
YWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEy
LjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQphOmxpbmssIHNwYW4uTXNv
SHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxv
d2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNv
cmF0aW9uOnVuZGVybGluZTt9DQpwcmUNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1z
dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltYXJnaW46MGluOw0KCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDb3Vy
aWVyIE5ldyI7fQ0Kc3Bhbi5IVE1MUHJlZm9ybWF0dGVkQ2hhcg0KCXttc28tc3R5bGUtbmFtZToi
SFRNTCBQcmVmb3JtYXR0ZWQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1z
dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCI7DQoJZm9udC1mYW1pbHk6Q291cmllcjt9DQpz
cGFuLmhvZW56Yg0KCXttc28tc3R5bGUtbmFtZTpob2VuemI7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjAN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6Q2FsaWJyaTsN
Cglmb250LXZhcmlhbnQ6bm9ybWFsICFpbXBvcnRhbnQ7DQoJY29sb3I6d2luZG93dGV4dDsNCgl0
ZXh0LXRyYW5zZm9ybTpub25lOw0KCXRleHQtZGVjb3JhdGlvbjpub25lIG5vbmU7DQoJdmVydGlj
YWwtYWxpZ246YmFzZWxpbmU7fQ0Kc3Bhbi5tc29JbnMNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0
LW9ubHk7DQoJbXNvLXN0eWxlLW5hbWU6IiI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsN
Cgljb2xvcjp0ZWFsO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1v
bmx5Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41
aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNl
Y3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9k
eSBiZ2NvbG9yPSJ3aGl0ZSIgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUi
Pg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj4mZ3Q7IEkgZ3Vlc3MgSSB3aWxsIHdhaXQgdG8gc2VlIGFuIG9wZW4tc291cmNlIGlt
cGxlbWVudGF0aW9uIHRvIHNlZSBob3cgdGhpcyBkcmFmdCB3b3Jrcy48bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QW4gb2RkIHJlc3BvbnNlLiZuYnNwOyBEaWQgSSBub3Qg
YW5zd2VyIHlvdXIgcXVlc3Rpb25zPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsgQW5keTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5L
ZW50PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBUdWUsIE1heSA5LCAyMDE3IGF0IDQ6
MDAgUE0sIEtlbnQgV2F0c2VuICZsdDs8YSBocmVmPSJtYWlsdG86a3dhdHNlbkBqdW5pcGVyLm5l
dCIgdGFyZ2V0PSJfYmxhbmsiPmt3YXRzZW5AanVuaXBlci5uZXQ8L2E+Jmd0OyB3cm90ZTo8bzpw
PjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpz
b2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6
NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmkiPkhpIEFuZHksPC9zcGFuPjxv
OnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
Z3Q7IEkgYW0gdHJ5aW5nIHRvIHVuZGVyc3RhbmQgdGhlIHplcm90b3VjaCBkcmFmdC48bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0OyZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
Z3Q7IEkgZmluZCBpdCB0byBiZSB2ZXJ5IGltcGxlbWVudGF0aW9uLXNwZWNpZmljLCBhbmQgbm90
IHN1aXRlZCBmb3I8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+Jmd0OyBtb2R1bGFyIHNlcnZlcnMuICZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+V2hhdCBkbyB5b3UgbWVhbiBieSBtb2R1bGFyIHNlcnZl
cnM/Jm5ic3A7IEkgY2FuIHRlbGwgeW91IHRoYXQgaXQgaGFzIGJlZW4gaW1wbGVtZW50ZWQgb24g
YSBKdW5pcGVyIGRldmljZSB0aGF0IGlzIGludGVybmFsbHkgYSBjb21wb3NpdGlvbiBvZiB2aXJ0
dWFsIG1hY2hpbmVzIGFuZCBjb250YWluZXJzLiZuYnNwOyBGb3IgdGhpcw0KIGRldmljZSwgdGhl
ICZxdW90O3NvZnR3YXJlIGltYWdlJnF1b3Q7IGNvbnRhaW5zIGFsc28gdGhlIHNvZnR3YXJlIGZv
ciB0aGUgb3RoZXIgY29tcG9uZW50cyBhcyB3ZWxsLiZuYnNwOyBJZiB0aGlzIGlzbid0IHN1aXRh
YmxlLCB0aGVuIHRoZSBwcmUtY29uZmlndXJhdGlvbiBzY3JpcHQgY2FuIGJlIHVzZWQgdG8gY292
ZXIgb3RoZXIgY2FzZXMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu
YnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0OyBUaGUg
Y29udGFpbmVyIGJvb3RzdHJhcC1pbmZvcm1hdGlvbiBvbmx5IHN1cHBvcnRzIGEgbW9ub2xpdGhp
YyBzZXJ2ZXIgaW1hZ2UuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZu
YnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UcnVlLCBidXQgc2Vl
IGFib3ZlIGNvbW1lbnQuJm5ic3A7IFB1dHRpbmcgc29mdHdhcmUgaW1hZ2VzIHRvIHRoZSBzaWRl
IG1vbWVudGFyaWx5LCBob3cgaXMgdGhpcyBtb2R1bGFyIHNlcnZlciBtYW5hZ2VkLCBkb2VzIGl0
IGhhdmUgYSBzaW5nbGUgTkMvUkMgaW50ZXJmYWNlPzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPiZndDsgSXQgaXMgYXNzdW1lZCB0aGUgZW50aXJlIGNvbmZpZ3VyYXRpb24gKG1vZHVs
ZXMsIGZlYXR1cmVzLCBkZXZpYXRpb25zLCBldGMpPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsgaXMgaXJyZWxldmFudCBiZWNhdXNlIGl0
IGlzIGhhcmQtY29kZWQgaW50byB0aGUgbW9ub2xpdGhpYyBib290IGltYWdlLjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SSdtIG5vdCAxMDAlIHN1cmUgd2hhdCB0
aGlzIG1lYW5zLCBidXQgSSBkb24ndCB0aGluayBpdCdzIHRydWUuPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+Jmd0OyBXaGF0IGlmIGEgc2VydmVyIGlzIG1vZHVsYXIgYW5kIHRoZSBZ
QU5HIG1vZHVsZXMsIHJldmlzaW9ucywgZmVhdHVyZXMsIGFuZCBkZXZpYXRpb25zPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsgY29tZSBm
cm9tIGEgYm9vdHN0cmFwIGxpYnJhcnkgY29uZmlnIGluc3RlYWQgb2YgaGFyZC13aXJlZCBpbnRv
IGEgc3RhdGljIGltYWdlPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj4mZ3Q7IFRoaXMgZG9lcyBub3Qgc2VlbSB0byBiZSBzdXBwb3J0ZWQgYXQg
YWxsLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SW4gdGhlIHdv
cmxkIG9mICp6ZXJvKiB0b3VjaCwgSSB0aGluayB0aGF0IGl0IGlzIHZlcnkgc2FmZSB0byBzYXkg
dGhhdCBkZXZpY2VzIGluIHRoZWlyIGZhY3RvcnkgZGVmYXVsdCBzZXR0aW5nIGhhdmUgYSBrbm93
bi9zdGF0aWMgaW5pdGlhbCBzdGF0ZS4mbmJzcDsgQ2VydGFpbmx5LCB0aGUgc2VydmVyIGNhbiBp
bnN0YWxsDQogc29tZSBhZGQtb24gcGFja2FnZXMgdGhhdCBncm93IHRoZSBudW1iZXIgb2YgbW9k
dWxlcyBpdCBzdXBwb3J0cy4mbmJzcDsgSnVuaXBlciBkb2VzIHRoaXMgYWxzby4mbmJzcDsgVGhl
IHByZS1jb25maWd1cmF0aW9uIHNjcmlwdCBpcyB3ZWxsIHN1aXRlZCB0byBpbnN0YWxsaW5nIHN1
Y2ggYWRkLW9uIHBhY2thZ2VzLCB0aGF0IGlzLCBqdXN0IGJlZm9yZSB0aGUgZGV2aWNlIGF0dGVt
cHRzIHRvIGNvbW1pdCB0aGUgY29uZmlndXJhdGlvbiwgd2hpY2ggbWF5IGF0dGVtcHQNCiB0byBj
b25maWd1cmUgdGhlc2UgYWRkLW9uIHBhY2thZ2VzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPiZndDsgQWxsIHRoZSBnZW5lcmljIHNjcmlwdCBzdHVmZiBzZWVtcyB2ZXJ5IGltcGxl
bWVudGF0aW9uLXNwZWNpZmljIGFzIHdlbGwuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5I
b3cgaXMgJnF1b3Q7Z2VuZXJpYyZxdW90OyBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYz8mbmJzcDsg
OykmbmJzcDsmbmJzcDsmbmJzcDsgT2YgY291cnNlLCBpZiB0aGUgZGV2aWNlIGNhbid0IHN1cHBv
cnQgZXhlY3V0aW5nIHNjcmlwdHMsIHRoZW4gaXQncyBvcHRpb25zIGFyZSBsaW1pdGVkLiZuYnNw
OyBGb3Igd2hhdCBpdCdzIHdvcnRoLCB3ZSBkaWRuJ3QgaGF2ZSBzY3JpcHRzDQogYXQgZmlyc3Qs
IGJ1dCBvbmUgb3BlcmF0b3IgaW50ZXJhY3Rpb24gY2F1c2VkIHVzIHRvIGFkZCB0aGUgcG9zdC1j
b25maWd1cmF0aW9uIHNjcmlwdCBhbmQgYW5vdGhlciBvcGVyYXRvci1pbnRlcmFjdGlvbiBjYXVz
ZWQgdXMgdG8gYWRkIHRoZSBwcmUtY29uZmlndXJhdGlvbiBzY3JpcHQuJm5ic3A7IFRoaXMganVz
dCBnb2VzIHRvIHNob3cgdGhhdCB0aGUgc2NyaXB0cyBhcmUgdXNlZnVsLCBidXQgbm90IG5lZWRl
ZCBpbiBhbGwgdXNlIGNhc2VzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsg
SSBkb24ndCBzZWUgdGhlIHN0YW5kYXJkcyB2YWx1ZSBvZiBzdXBwb3J0aW5nIHByZSBhbmQgcG9y
dCBib290c3RyYXAgc2NyaXB0czxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj4mZ3Q7IHVzaW5nIGFuIG9wYXF1ZSBzY3JpcHRpbmcgbGFuZ3VhZ2Uu
Jm5ic3A7IFdoeSBpc24ndCB0aGlzIGp1c3QgcGFydCBvZiB0aGU8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0OyBvcGFxdWUgYm9vdHN0cmFw
IHNlcXVlbmNlPyBXaHkgaXMgaXQgY29uZmlndXJhYmxlPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+V2hhdCBpcyAmcXVvdDtvcGFxdWUgYm9vdHN0cmFwIHNlcXVl
bmNlJnF1b3Q7PyZuYnNwOyBIb3cgZWxzZSB3b3VsZCB0aGUgZGV2aWNlIG9idGFpbiB0aGVzZSBz
Y3JpcHRzPyZuYnNwOyBXaHkgYXJlbid0IHRoZSBzY3JpcHRzIHBhcnQgb2YgdGhlIGluaXRpYWwg
Y29uZmlndXJhdGlvbj8gLSBiZWNhdXNlIHRoZSBzY3JpcHRzIGFyZSBvbmx5IGV4ZWN1dGVkDQog
ZHVyaW5nIHRoZSB6ZXJvdG91Y2ggYm9vdHN0cmFwcGluZyBwcm9jZXNzLCB0aGV5IGhhdmUgbm8g
Z2VuZXJhbCB2YWx1ZSBpbiB0aGUgb25nb2luZyBtYW5hZ2VtZW50IG9mIHRoZSBkZXZpY2UuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0OyBFeHRyYSBtdXN0LXN0bXQ6PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsmbmJz
cDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwcmU+PHNwYW4gc3R5bGU9ImNvbG9y
OmJsYWNrIj4mZ3Q7IGxlYWYgb3duZXItY2VydGlmaWNhdGUgezwvc3Bhbj48bzpwPjwvbzpwPjwv
cHJlPg0KPHByZT48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZndDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgdHlwZSBwa2NzNzs8L3NwYW4+PG86cD48L286cD48L3ByZT4NCjxwcmU+
PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IG11c3QgJnF1b3Q7Li4vemVyb3RvdWNoLWluZm9ybWF0aW9uJnF1b3Q7IHs8L3NwYW4+PG86
cD48L286cD48L3ByZT4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0
OyZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj4mZ3Q7IFRoZSB6ZXJvdG91Y2gtaW5mb3JtYXRpb24gbGVhZiBpcyBtYW5kYXRvcnkgdHJ1
ZSBzbyB0aGUgbXVzdC1zdG10IGlzIG5vdCBuZWVkZWQuPG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj5SaWdodCB5b3UgYXJlLiZuYnNwOyBUaGVyZSB1c2VkIHRvIGJl
IGFuIG9wdGlvbmFsIGZpZWxkIGNhbGxlZCAmcXVvdDtzaWduYXR1cmUmcXVvdDsgdGhhdCB0aGlz
IG11c3QgZXhwcmVzc2lvbiB1c2VkIHRvIGRlcGVuZCBvbiwgYnV0IHRoZSBzaWduYXR1cmUgd2Fz
IHJvbGxlZCBpbnRvIHRoZSBuZXcgemVyb3RvdWNoLWluZm9ybWF0aW9uDQogcGtjczcgYXJ0aWZh
Y3QsIGFuZCBJIGRpZG4ndCBjYXRjaCB0aGlzIHdoZW4gbW92aW5nIHRoaW5ncyBhcm91bmQuPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jmd0OyBBY3Rpb24g
bm90aWZpY2F0aW9uOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj4mZ3Q7IFdoYXQgaXMgdGhlIHByb3RvY29sIGludGVyYWN0aW9uIG1vZGVsIGZv
ciB0aGlzIGFjdGlvbj88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+Jmd0OyBXaG8gaW52b2tlcyBpdD8mbmJzcDsgV2h5IGFyZSB0aGUgTkVUQ09O
RiBlcnJvci10YWcgc3RhdHVzIHZhbHVlcyBpZ25vcmVkIGFuZCBoYXJkLWNvZGVkPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsgc3RhdHVz
IHZhbHVlcyBsaWtlICdwYXJzaW5nLWVycm9yJyBhbmQgJ3Bvc3Qtc2NyaXB0LWVycm9yJyB1c2Vk
PzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4m
Z3Q7IEl0IGxvb2tzIGxpa2UgY29uZmlnIGlzIGJlaW5nIHBhc3NlZCBpbiBjb250YWluZXIgc3No
LWhvc3Qta2V5cyBhbmQgY29udGFpbmVyIHRydXN0LWFuY2hvcnMuPG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaGlzIGFjdGlvbiBlbXVsYXRlcyB0aGUgZGV2aWNl
IHNlbmRpbmcgUkMgbm90aWZpY2F0aW9ucywgd2hpY2ggaXQgY2FuJ3QgZG8gaGVyZSBiZWNhdXNl
IHRoZSBkZXZpY2UgaXMgdGhlIFJDLWNsaWVudCAodGhlIGJvb3RzdHJhcCBzZXJ2ZXIgaXMgdGhl
IFJDLXNlcnZlcikuJm5ic3A7IFNvIHRoaXMgYWN0aW9uIGlzDQogdXNlZCB0byB3b3JrYXJvdW5k
IHRoaXMgKG5vdGU6IFJQQ3MgaGF2ZSBiZWVuIHVzZWQgdG8gZGVsaXZlciBub3RpZmljYXRpb25z
IGJ5IG1hbnkgb3RoZXIgcHJvdG9jb2xzKS4mbmJzcDsgVGhpcyBhY3Rpb24gaXMgaW52b2tlZCBv
bmx5IGJ5IHRoZSBkZXZpY2UgKHJlY2FsbCwgaWV0Zi16ZXJvdG91Y2gtYm9vdHN0cmFwLXNlcnZl
ciBvbmx5IGRlZmluZXMgYSBkZXZpY2UtZmFjaW5nIFJDIEFQSSwgb25seSBkZXZpY2VzIGFyZSBl
dmVyIGV4cGVjdGVkIHRvDQogdXNlIGl0KS4mbmJzcDsgPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj5JIGRvbid0IGJlbGlldmUgdGhhdCBhbnkgZXJyb3ItdGFncyBhcmUgaWdub3JlZCBvciBo
YXJkLWNvZGVkLCBpbiBwYXJ0aWN1bGFyLCBpZiB0aGUgZGV2aWNlJ3MgaW52b2NhdGlvbiBvZiB0
aGUgYWN0aW9uIGNhdXNlcyBhbiBlcnJvciBvbiB0aGUgYm9vdHN0cmFwIHNlcnZlciwgSSdkIGV4
cGVjdCBhIHN0YW5kYXJkDQogUkMgZXJyb3IgdG8gYmUgcmV0dXJuZWQuJm5ic3A7IFRoYXQgc2Fp
ZCwgSSB0aGluayB5b3UncmUgcmVmZXJyaW5nIHRvIHRoZSAmcXVvdDtub3RpZmljYXRpb24gdHlw
ZSZxdW90OyBlbnVtZXJhdGlvbiwgd2hpY2ggaGFzIHZhbHVlcyBsaWtlICdwYXJzaW5nLWVycm9y
JyBhbmQgJ3Bvc3Qtc2NyaXB0LWVycm9yJy4mbmJzcDsgV2hhdCdzIHdyb25nIHdpdGggdGhlc2U/
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5ZZXMsIHRoZSBzcGVjaWFsIG5vdGlmaWNhdGlv
biAmcXVvdDtib290c3RyYXAtY29tcGxldGUmcXVvdDsgY2FuIHBhc3MgdGhlIGRldmljZSdzIFNT
SCBob3N0IGtleSBhbmQvb3IgVExTIHNlcnZlciBjZXJ0aWZpY2F0ZS4mbmJzcDsgSG93IHRoZSBi
b290c3RyYXAgc2VydmVyIGNvbnN1bWVzIHRoZXNlIHZhbHVlcyBkZXBlbmRzIG9uIGltcGxlbWVu
dGF0aW9uLiZuYnNwOw0KIEluIHNvbWUgY2FzZXMsIEkndmUgc2VlbiB0aGUgYm9vdHN0cmFwIHNl
cnZlciBzYXZlIHRoZXNlIHZhbHVlcyBhbmQsIGluIG90aGVyIGNhc2VzLCBJJ3ZlIHNlZW4gdGhl
IGJvb3RzdHJhcCBzZXJ2ZXIgcGFzcyB0aGVzZSB2YWx1ZXMgdG8gYW4gTk1TIHNvIHRoYXQgaXQg
Y2FuIHNhdmUgdGhlIHZhbHVlcy4mbmJzcDsgSW4gZWl0aGVyIGNhc2UsIHRoZSBhYmlsaXR5IGZv
ciB0aGUgZGV2aWNlIHRvIHBhc3MgdGhlc2UgdmFsdWVzIGlzIGNyaXRpY2FsIGZyb20NCiBhIHNl
Y3VyaXR5IHBlcnNwZWN0aXZlIGluIHNvbWUgc2NlbmFyaW9zLjxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPiZndDsgSXMgdGhlICdkZXZpY2UtbGlzdCcgbm9ybWFsIGNvbmZpZz1mYWxz
ZSBkYXRhIHRoYXQgaXMgcHJlc2VudCBvbiB0aGUgc2VydmVyPzxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+QWdhaW4sIHRoaXMgbW9kdWxl
IG9ubHkgZGVmaW5lcyBhICZxdW90O3NvdXRoYm91bmQmcXVvdDsgQVBJIGZyb20gdGhlIGJvb3Rz
dHJhcCBzZXJ2ZXIgdG8gZGV2aWNlcy4mbmJzcDsgU3VyZWx5IG9uZSBjYW4gaW1hZ2luZSB0aGUg
Ym9vdHN0cmFwIHNlcnZlciBhbHNvIGhhdmluZyBhICZxdW90O25vcnRoYm91bmQmcXVvdDsgQVBJ
IHdoZXJlYnkgaXQgY2FuDQogYmUgY29uZmlndXJlZCBhbmQgdGh1cyBhZmZlY3Qgd2hhdCBkYXRh
IGlzIHZpc2libGUgdG8gZGV2aWNlcywgYnV0IHRoYXQgQVBJIGlzIG91dCBvZiBzY29wZSBmb3Ig
dGhpcyBJLUQuJm5ic3A7IE1ha2VzIHNlbnNlPzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZndDsgQW5kIG9u
bHkgYWNjZXNzaWJsZSB2aWEgYSBub3JtYWwgTkVUQ09ORiBvciBSRVNUQ09ORiBzZXNzaW9uLCBh
ZnRlciB0aGUgZGV2aWNlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZn
dDsgaGFzIGJvb3RlZCBPSz88bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkknbSBub3Qgc3Vy
ZSB3aGF0IHRoaXMgbWVhbnMuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIHN0eWxlPSJjb2xvcjojODg4ODg4Ij4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4ODg4Ij4mbmJz
cDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0
eWxlPSJjb2xvcjojODg4ODg4Ij5LZW50PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6Izg4ODg4OCI+Jm5ic3A7PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVv
dGU+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_3BBA9B41796E45218748B0E231A3CEECjunipernet_--


From nobody Wed May 10 13:04:42 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E9C5B129571 for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 13:04:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JwhZsF0S6Wal for <netconf@ietfa.amsl.com>; Wed, 10 May 2017 13:04:39 -0700 (PDT)
Received: from mail-wr0-x22f.google.com (mail-wr0-x22f.google.com [IPv6:2a00:1450:400c:c0c::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A78771250B8 for <netconf@ietf.org>; Wed, 10 May 2017 13:04:38 -0700 (PDT)
Received: by mail-wr0-x22f.google.com with SMTP id w50so5029093wrc.0 for <netconf@ietf.org>; Wed, 10 May 2017 13:04:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ERP1HXP4vuKy3Ouo6frk6hK3CgNNnwW2mB44lbsCRLk=; b=Q2bTSu1fre7X91YDfe57lXeXuP5CCNVz2b1cz5jEH0B130DNrf2jlLqwrYPr9oibUA f1m0vgwds5X3XWmfXdM8sbsiu9aFDNRaTr/e5SBImiGpjx6gIGeHLAbjgz3GoyrSleht uIpevE7SfRpXctGLZCnOZdczdgYW++h+HhDQbB1c5fCDmTcjVq3u5O6fm9Qn5a3yw8WE R0F/pVThkAKdDedTDEDJTLtftnnp8ZqzGMvKqEO4T3Jrio1xrnXheuWfKVMgyGvdnxot VMARN8wMK8haFmtsA27LEmtSM7giOaFGQn0sxJC0Rv23J3pivOvt1CDKwF+UmEuQAIwz 3bqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ERP1HXP4vuKy3Ouo6frk6hK3CgNNnwW2mB44lbsCRLk=; b=bso+ahgaH6RXucT3Tg0yrWrZw9u92CohCfj9kZA0xOSeU9iaZ2ciCf6cmySYYLQFLC G7qvS+KpAIjfflGXh+gs3o7hx8ogU206jJpJbEsFwWHq4vuHZva/zGPLSB1Bx/qzPGkP pvguIgP5dsv7tzsL/+blEkv5cJGaRRfSY2bwgHNccSPEDE5hCDVdeugutdUxEKYY9wbl 7fhnKrhZGeDJQYFjLwyTFQais0OfoqragkPLhL5cilOoHkEPy9WD21DbGkE377rrFOpZ bMKDhuCKI4l/i4MfUBisnU0g7YZef8eiIFbFST683HN+65dIuvUPR7NtpwfqtKpDU1Rw 1Z4g==
X-Gm-Message-State: AODbwcDPYb2zM4AvCjJvrz9ykkFNSGGBq2IG0ae6+7I/f8xS1G2gEGyb l/hHniO0caE7CmpSs180BP7iGx0O4w==
X-Received: by 10.223.161.70 with SMTP id r6mr4738124wrr.65.1494446677117; Wed, 10 May 2017 13:04:37 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 10 May 2017 13:04:36 -0700 (PDT)
In-Reply-To: <3BBA9B41-796E-4521-8748-B0E231A3CEEC@juniper.net>
References: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com> <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net> <CABCOCHQqhVtPB9aSgm+v7pM8ScRwApfZts+wB7C-yJ0w5K+yKg@mail.gmail.com> <3BBA9B41-796E-4521-8748-B0E231A3CEEC@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 10 May 2017 13:04:36 -0700
Message-ID: <CABCOCHQSg6J9KYinu2pFzmxDx_TwONjnyheew1EpdgRSHDHnVQ@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary=f403045e274a53664d054f30fb00
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cQzshq6u37XG43eCjSKnyVdL4YI>
Subject: Re: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 May 2017 20:04:41 -0000

--f403045e274a53664d054f30fb00
Content-Type: text/plain; charset=UTF-8

On Wed, May 10, 2017 at 12:51 PM, Kent Watsen <kwatsen@juniper.net> wrote:

>
>
>
>
> > I guess I will wait to see an open-source implementation to see how this
> draft works.
>
>
>
> An odd response.  Did I not answer your questions?
>
>
>

I don't see any mention of the "notification" action in sec. 7.
There are no examples of actual messages in sec. 7




> > Andy
>
>
>
> Kent
>
>
>

Andy


>
>
>
>
> On Tue, May 9, 2017 at 4:00 PM, Kent Watsen <kwatsen@juniper.net> wrote:
>
> Hi Andy,
>
>
>
> > I am trying to understand the zerotouch draft.
>
> >
>
> > I find it to be very implementation-specific, and not suited for
>
> > modular servers.
>
>
>
> What do you mean by modular servers?  I can tell you that it has been
> implemented on a Juniper device that is internally a composition of virtual
> machines and containers.  For this device, the "software image" contains
> also the software for the other components as well.  If this isn't
> suitable, then the pre-configuration script can be used to cover other
> cases.
>
>
>
>
>
> > The container bootstrap-information only supports a monolithic server
> image.
>
>
>
> True, but see above comment.  Putting software images to the side
> momentarily, how is this modular server managed, does it have a single
> NC/RC interface?
>
>
>
>
>
> > It is assumed the entire configuration (modules, features, deviations,
> etc)
>
> > is irrelevant because it is hard-coded into the monolithic boot image.
>
>
>
> I'm not 100% sure what this means, but I don't think it's true.
>
>
>
>
>
> > What if a server is modular and the YANG modules, revisions, features,
> and deviations
>
> > come from a bootstrap library config instead of hard-wired into a static
> image?
>
> > This does not seem to be supported at all.
>
>
>
> In the world of *zero* touch, I think that it is very safe to say that
> devices in their factory default setting have a known/static initial
> state.  Certainly, the server can install some add-on packages that grow
> the number of modules it supports.  Juniper does this also.  The
> pre-configuration script is well suited to installing such add-on packages,
> that is, just before the device attempts to commit the configuration, which
> may attempt to configure these add-on packages.
>
>
>
>
>
> > All the generic script stuff seems very implementation-specific as well.
>
>
>
> How is "generic" implementation-specific?  ;)    Of course, if the device
> can't support executing scripts, then it's options are limited.  For what
> it's worth, we didn't have scripts at first, but one operator interaction
> caused us to add the post-configuration script and another
> operator-interaction caused us to add the pre-configuration script.  This
> just goes to show that the scripts are useful, but not needed in all use
> cases.
>
>
>
>
>
> > I don't see the standards value of supporting pre and port bootstrap
> scripts
>
> > using an opaque scripting language.  Why isn't this just part of the
>
> > opaque bootstrap sequence? Why is it configurable?
>
>
>
> What is "opaque bootstrap sequence"?  How else would the device obtain
> these scripts?  Why aren't the scripts part of the initial configuration? -
> because the scripts are only executed during the zerotouch bootstrapping
> process, they have no general value in the ongoing management of the device.
>
>
>
>
>
> > Extra must-stmt:
>
> >
>
> > leaf owner-certificate {
>
> >      type pkcs7;
>
> >      must "../zerotouch-information" {
>
> >
>
> > The zerotouch-information leaf is mandatory true so the must-stmt is not
> needed.
>
>
>
> Right you are.  There used to be an optional field called "signature" that
> this must expression used to depend on, but the signature was rolled into
> the new zerotouch-information pkcs7 artifact, and I didn't catch this when
> moving things around.
>
>
>
>
>
> > Action notification:
>
> > What is the protocol interaction model for this action?
>
> > Who invokes it?  Why are the NETCONF error-tag status values ignored and
> hard-coded
>
> > status values like 'parsing-error' and 'post-script-error' used?
>
> > It looks like config is being passed in container ssh-host-keys and
> container trust-anchors.
>
>
>
> This action emulates the device sending RC notifications, which it can't
> do here because the device is the RC-client (the bootstrap server is the
> RC-server).  So this action is used to workaround this (note: RPCs have
> been used to deliver notifications by many other protocols).  This action
> is invoked only by the device (recall, ietf-zerotouch-bootstrap-server
> only defines a device-facing RC API, only devices are ever expected to use
> it).
>
>
>
> I don't believe that any error-tags are ignored or hard-coded, in
> particular, if the device's invocation of the action causes an error on the
> bootstrap server, I'd expect a standard RC error to be returned.  That
> said, I think you're referring to the "notification type" enumeration,
> which has values like 'parsing-error' and 'post-script-error'.  What's
> wrong with these?
>
>
>
> Yes, the special notification "bootstrap-complete" can pass the device's
> SSH host key and/or TLS server certificate.  How the bootstrap server
> consumes these values depends on implementation.  In some cases, I've seen
> the bootstrap server save these values and, in other cases, I've seen the
> bootstrap server pass these values to an NMS so that it can save the
> values.  In either case, the ability for the device to pass these values is
> critical from a security perspective in some scenarios.
>
>
>
>
>
> > Is the 'device-list' normal config=false data that is present on the
> server?
>
>
>
> Again, this module only defines a "southbound" API from the bootstrap
> server to devices.  Surely one can imagine the bootstrap server also having
> a "northbound" API whereby it can be configured and thus affect what data
> is visible to devices, but that API is out of scope for this I-D.  Makes
> sense?
>
>
>
>
>
> > And only accessible via a normal NETCONF or RESTCONF session, after the
> device
>
> > has booted OK?
>
>
>
> I'm not sure what this means.
>
>
>
>
>
> Kent
>
>
>
>
>

--f403045e274a53664d054f30fb00
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 10, 2017 at 12:51 PM, Kent Watsen <span dir=3D"ltr">&lt;<a =
href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net</=
a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_4994482188982970589WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri"><u></u>=C2=A0<u>=
</u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri"><u></u>=C2=A0<u>=
</u></span></p>
<div>
<div>
<p class=3D"MsoNormal">&gt; I guess I will wait to see an open-source imple=
mentation to see how this draft works.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">An odd response.=C2=A0 Did I not answer your questio=
ns?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div></div></div></div></bl=
ockquote><div><br></div><div>I don&#39;t see any mention of the &quot;notif=
ication&quot; action in sec. 7.</div><div>There are no examples of actual m=
essages in sec. 7</div><div><br></div><div><br></div><div>=C2=A0</div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
c solid;padding-left:1ex"><div bgcolor=3D"white" lang=3D"EN-US" link=3D"blu=
e" vlink=3D"purple"><div class=3D"m_4994482188982970589WordSection1"><div><=
div>
</div>
<div>
<p class=3D"MsoNormal">&gt; Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Kent<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0</p></div></div></div></div></blockquot=
e><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex"><div bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><=
div class=3D"m_4994482188982970589WordSection1"><div><div><p class=3D"MsoNo=
rmal"><u></u></p>
</div>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Tue, May 9, 2017 at 4:00 PM, Kent Watsen &lt;<a h=
ref=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net</a=
>&gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri">Hi Andy,</span><=
u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I am trying to understand the zerotouch draft.<=
u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt;=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I find it to be very implementation-specific, a=
nd not suited for<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; modular servers. =C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">What do you mean by modular servers?=C2=A0 I can tel=
l you that it has been implemented on a Juniper device that is internally a=
 composition of virtual machines and containers.=C2=A0 For this
 device, the &quot;software image&quot; contains also the software for the =
other components as well.=C2=A0 If this isn&#39;t suitable, then the pre-co=
nfiguration script can be used to cover other cases.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; The container bootstrap-information only suppor=
ts a monolithic server image.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">True, but see above comment.=C2=A0 Putting software =
images to the side momentarily, how is this modular server managed, does it=
 have a single NC/RC interface?<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; It is assumed the entire configuration (modules=
, features, deviations, etc)<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; is irrelevant because it is hard-coded into the=
 monolithic boot image.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">I&#39;m not 100% sure what this means, but I don&#39=
;t think it&#39;s true.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; What if a server is modular and the YANG module=
s, revisions, features, and deviations<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; come from a bootstrap library config instead of=
 hard-wired into a static image?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; This does not seem to be supported at all.<u></=
u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">In the world of *zero* touch, I think that it is ver=
y safe to say that devices in their factory default setting have a known/st=
atic initial state.=C2=A0 Certainly, the server can install
 some add-on packages that grow the number of modules it supports.=C2=A0 Ju=
niper does this also.=C2=A0 The pre-configuration script is well suited to =
installing such add-on packages, that is, just before the device attempts t=
o commit the configuration, which may attempt
 to configure these add-on packages.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">&gt; All the generic script stuff seems very impleme=
ntation-specific as well.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">How is &quot;generic&quot; implementation-specific?=
=C2=A0 ;)=C2=A0=C2=A0=C2=A0 Of course, if the device can&#39;t support exec=
uting scripts, then it&#39;s options are limited.=C2=A0 For what it&#39;s w=
orth, we didn&#39;t have scripts
 at first, but one operator interaction caused us to add the post-configura=
tion script and another operator-interaction caused us to add the pre-confi=
guration script.=C2=A0 This just goes to show that the scripts are useful, =
but not needed in all use cases.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I don&#39;t see the standards value of supporti=
ng pre and port bootstrap scripts<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; using an opaque scripting language.=C2=A0 Why i=
sn&#39;t this just part of the<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; opaque bootstrap sequence? Why is it configurab=
le?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">What is &quot;opaque bootstrap sequence&quot;?=C2=A0=
 How else would the device obtain these scripts?=C2=A0 Why aren&#39;t the s=
cripts part of the initial configuration? - because the scripts are only ex=
ecuted
 during the zerotouch bootstrapping process, they have no general value in =
the ongoing management of the device.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Extra must-stmt:<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt;=C2=A0<u></u><u></u></p>
</div>
<div>
<pre><span style=3D"color:black">&gt; leaf owner-certificate {</span><u></u=
><u></u></pre>
<pre><span style=3D"color:black">&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type pk=
cs7;</span><u></u><u></u></pre>
<pre><span style=3D"color:black">&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 must &q=
uot;../zerotouch-information&quot; {</span><u></u><u></u></pre>
</div>
<div>
<p class=3D"MsoNormal">&gt;=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; The zerotouch-information leaf is mandatory tru=
e so the must-stmt is not needed.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Right you are.=C2=A0 There used to be an optional fi=
eld called &quot;signature&quot; that this must expression used to depend o=
n, but the signature was rolled into the new zerotouch-information
 pkcs7 artifact, and I didn&#39;t catch this when moving things around.<u><=
/u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Action notification:<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; What is the protocol interaction model for this=
 action?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Who invokes it?=C2=A0 Why are the NETCONF error=
-tag status values ignored and hard-coded<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; status values like &#39;parsing-error&#39; and =
&#39;post-script-error&#39; used?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; It looks like config is being passed in contain=
er ssh-host-keys and container trust-anchors.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">This action emulates the device sending RC notificat=
ions, which it can&#39;t do here because the device is the RC-client (the b=
ootstrap server is the RC-server).=C2=A0 So this action is
 used to workaround this (note: RPCs have been used to deliver notification=
s by many other protocols).=C2=A0 This action is invoked only by the device=
 (recall, ietf-zerotouch-bootstrap-<wbr>server only defines a device-facing=
 RC API, only devices are ever expected to
 use it).=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">I don&#39;t believe that any error-tags are ignored =
or hard-coded, in particular, if the device&#39;s invocation of the action =
causes an error on the bootstrap server, I&#39;d expect a standard
 RC error to be returned.=C2=A0 That said, I think you&#39;re referring to =
the &quot;notification type&quot; enumeration, which has values like &#39;p=
arsing-error&#39; and &#39;post-script-error&#39;.=C2=A0 What&#39;s wrong w=
ith these?<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Yes, the special notification &quot;bootstrap-comple=
te&quot; can pass the device&#39;s SSH host key and/or TLS server certifica=
te.=C2=A0 How the bootstrap server consumes these values depends on impleme=
ntation.=C2=A0
 In some cases, I&#39;ve seen the bootstrap server save these values and, i=
n other cases, I&#39;ve seen the bootstrap server pass these values to an N=
MS so that it can save the values.=C2=A0 In either case, the ability for th=
e device to pass these values is critical from
 a security perspective in some scenarios.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Is the &#39;device-list&#39; normal config=3Dfa=
lse data that is present on the server?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Again, this module only defines a &quot;southbound&q=
uot; API from the bootstrap server to devices.=C2=A0 Surely one can imagine=
 the bootstrap server also having a &quot;northbound&quot; API whereby it c=
an
 be configured and thus affect what data is visible to devices, but that AP=
I is out of scope for this I-D.=C2=A0 Makes sense?<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">&gt; And only accessible via a normal NETCONF or RES=
TCONF session, after the device<u></u><u></u></p>
<p class=3D"MsoNormal">&gt; has booted OK?<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">I&#39;m not sure what this means.<u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"color:#888888">=C2=A0<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span style=3D"color:#888888">=C2=A0<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span style=3D"color:#888888">Kent<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"color:#888888">=C2=A0<u></u><u></u></=
span></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--f403045e274a53664d054f30fb00--


From nobody Thu May 11 12:35:00 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAEF81314EF for <netconf@ietfa.amsl.com>; Thu, 11 May 2017 12:34:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level: 
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OK6SYMUhm85l for <netconf@ietfa.amsl.com>; Thu, 11 May 2017 12:34:53 -0700 (PDT)
Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0129.outbound.protection.outlook.com [104.47.41.129]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D29EC12ECA5 for <netconf@ietf.org>; Thu, 11 May 2017 12:29:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=V2LI0VG9EUpFLH1t4VGcDV1+81rL6CHIuG+Ud5r0lb4=; b=YRZaeVGSPeNUcSBAIYidRTAP+8CfN3y8gPQIHwypd7RU3fyGwNpVWBHb22kN+9GppgxZ7K3j6TZEx+gKqTDY4TZt75PhEdOtnj4LprDvvfXL1p4vvKYyyunC3ZP8uEAxsZq1yJdrvwTt8ZH0RlS3Z4Q3Z67B4SjJ6dY+L/uicp0=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1443.namprd05.prod.outlook.com (10.160.117.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1084.7; Thu, 11 May 2017 19:29:30 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1084.020; Thu, 11 May 2017 19:29:31 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>
CC: Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] few comments on zerotouch-13
Thread-Index: AQHSyCtDsOrngzdDPE+s6x/cuZsxTaHsXLOAgAF+c4D//98lgIAARqoAgAFFeAA=
Date: Thu, 11 May 2017 19:29:30 +0000
Message-ID: <EA786667-4E47-4F57-8497-09B2C7EB7916@juniper.net>
References: <CABCOCHT1WxXR5EuaDGbXBjQ6qq_FZJ2Ac=rS_0GC2D6kMAZ_0A@mail.gmail.com> <920E9BCF-670B-434C-8D62-85F77D7B9A8C@juniper.net> <CABCOCHQqhVtPB9aSgm+v7pM8ScRwApfZts+wB7C-yJ0w5K+yKg@mail.gmail.com> <3BBA9B41-796E-4521-8748-B0E231A3CEEC@juniper.net> <CABCOCHQSg6J9KYinu2pFzmxDx_TwONjnyheew1EpdgRSHDHnVQ@mail.gmail.com>
In-Reply-To: <CABCOCHQSg6J9KYinu2pFzmxDx_TwONjnyheew1EpdgRSHDHnVQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.11]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1443; 7:ACqGNaNcCtiO9w4rxZl/aevAxF4e3KTY85p1OG/E6/GvoRHNI2FlvbjJWEJZ4z3Jp9X3EcUFkxjA7ZDFAZGQEPjH1LOJ3qNdrkSiL1LKG2ey2PvofThu5dL9LLiLnlVEoEjpuXlL1u4zSB6+xTlNoApEzBdCkppyw6AfpEqXGItSmcu41t6NUpaiU7v2V9Q2hUm6oLPEwtHiYgvuMikGncckzvSKgJ+3RaAM7sUpNVK8A0aFQbLSoXxnXDBMXq82snaV+Qee2xxRBzlzcwmAlR0szYO6ThJFGrIaFyyUCGOGkIG26AjWQuwvi4F0o1pRuZat1/pzdPZ1v14zVodZmg==
x-ms-office365-filtering-correlation-id: 10a31b32-9168-4256-c07a-08d498a40c16
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0501MB1443; 
x-microsoft-antispam-prvs: <BN3PR0501MB144376CC584181D9DC2702EFA5ED0@BN3PR0501MB1443.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123564025)(20161123558100)(20161123560025)(6072148); SRVR:BN3PR0501MB1443; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1443; 
x-forefront-prvs: 0304E36CA3
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39410400002)(39400400002)(39450400003)(39860400002)(39850400002)(39840400002)(53936002)(6246003)(3660700001)(93886004)(110136004)(8936002)(38730400002)(558084003)(2900100001)(8676002)(6306002)(81166006)(2906002)(54356999)(3280700002)(76176999)(50986999)(33656002)(122556002)(5660300001)(66066001)(7736002)(25786009)(36756003)(6436002)(54896002)(99286003)(6512007)(6506006)(6486002)(77096006)(478600001)(4326008)(2950100002)(3846002)(83506001)(102836003)(6116002)(86362001)(82746002)(4001350100001)(9326002)(83716003)(189998001)(229853002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1443; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_EA7866674E474F57849709B2C7EB7916junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2017 19:29:30.9937 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1443
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/UGukYSo2PzfBiIJduIQg9Gs6J9k>
Subject: Re: [Netconf] few comments on zerotouch-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 May 2017 19:34:58 -0000

--_000_EA7866674E474F57849709B2C7EB7916junipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNCg0KPiBJIGRvbid0IHNlZSBhbnkgbWVudGlvbiBvZiB0aGUgIm5vdGlmaWNhdGlv
biIgYWN0aW9uIGluIHNlYy4gNy4NClBsZWFzZSBzZWUgU2VjdGlvbiA3LjMsIHN0ZXAgIzMuDQoN
Cj4gVGhlcmUgYXJlIG5vIGV4YW1wbGVzIG9mIGFjdHVhbCBtZXNzYWdlcyBpbiBzZWMuIDcNCkV4
YW1wbGVzIGFyZSBpbiBTZWN0aW9ucyA5LjIgYW5kIDEwLjIuDQoNCktlbnQNCg0KDQo=

--_000_EA7866674E474F57849709B2C7EB7916junipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <3E1289F47DF05D438DB87B1B30AA5FC7@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCglwYW5vc2UtMToyIDcg
MyA5IDIgMiA1IDIgNCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9u
cyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46
MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQt
ZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7
bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVu
ZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0
eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs
aW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhU
TUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAw
MXB0Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpz
cGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFByZWZvcm1h
dHRlZCBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhU
TUwgUHJlZm9ybWF0dGVkIjsNCglmb250LWZhbWlseTpDb3VyaWVyO30NCnNwYW4uRW1haWxTdHls
ZTE5DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OkNhbGli
cmk7DQoJZm9udC12YXJpYW50Om5vcm1hbCAhaW1wb3J0YW50Ow0KCWNvbG9yOndpbmRvd3RleHQ7
DQoJdGV4dC10cmFuc2Zvcm06bm9uZTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZSBub25lOw0KCXZl
cnRpY2FsLWFsaWduOmJhc2VsaW5lO30NCnNwYW4ubXNvSW5zDQoJe21zby1zdHlsZS10eXBlOmV4
cG9ydC1vbmx5Ow0KCW1zby1zdHlsZS1uYW1lOiIiOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxp
bmU7DQoJY29sb3I6dGVhbDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBv
cnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXpl
OjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2Lldv
cmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPg0KPC9oZWFkPg0K
PGJvZHkgYmdjb2xvcj0id2hpdGUiIGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVy
cGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5I
aSBBbmR5LDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBJIGRvbid0IHNlZSBh
bnkgbWVudGlvbiBvZiB0aGUgJnF1b3Q7bm90aWZpY2F0aW9uJnF1b3Q7IGFjdGlvbiBpbiBzZWMu
IDcuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Q
bGVhc2Ugc2VlIFNlY3Rpb24gNy4zLCBzdGVwICMzLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
Z3Q7IFRoZXJlIGFyZSBubyBleGFtcGxlcyBvZiBhY3R1YWwgbWVzc2FnZXMgaW4gc2VjLiA3PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5FeGFtcGxlcyBhcmUgaW4gU2VjdGlv
bnMgOS4yIGFuZCAxMC4yLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86
cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5LZW50PG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_EA7866674E474F57849709B2C7EB7916junipernet_--


From nobody Tue May 16 05:37:53 2017
Return-Path: <bwietf@bwijnen.net>
X-Original-To: netconf@ietf.org
Delivered-To: netconf@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 7818412EB41; Tue, 16 May 2017 05:37:51 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Bert Wijnen <bwietf@bwijnen.net>
To: <yang-doctors@ietf.org>
Cc: draft-ietf-netconf-yang-push.all@ietf.org, ietf@ietf.org, netconf@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.50.1
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <149493827145.11944.9758454721784881844@ietfa.amsl.com>
Date: Tue, 16 May 2017 05:37:51 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cNfVQutjeZja0yV-CjajWXZSf_0>
Subject: [Netconf] Yangdoctors early review of draft-ietf-netconf-yang-push-06
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 12:37:52 -0000

Reviewer: Bert Wijnen
Review result: On the Right Track


- last para of sect 3.5.
  This seems to me to make it difficult to create interoperable
  implementations. Or is there a way for a client to figure out what
  is or is not support, other than tryal and error?
- page 41:    

     /* YANG Parser Pyang crashing on the following syntax below

  So does the definition get skipped? Or what needs to happen here?

Consistency

- last bullet on page 7 talks about "YANG subtrees". I do not see that
term
  in netconf or yang documents. Those just talk about "subtrees".
Maybe I am
  not looking good enough?
- top of page 8 I see the words "xpath", "Xpath" and "XPath"
  is there a difference?

Nits

- you may want to check the reference/citation occurrences of
[subscribe]
  at several places it points to
     draft-ietf-netconf-yang-push-06#ref-subscribe
  whereas I think it intends to point to the [subscribe] in the
  normative references section
- first bullet on page 5:
     Enhancements to filters. Specifically the filter MUST at identify
at
     least one targeted yang
   s/at//  -- the first "at" seems superfluous
   plus, you are using capitalized MUST with out reference/citation
of
   RFC2119
- page 36:

    leaf dependency {
      type sn:subscription-id;
      description
        "Provides the Subscription ID of a parent subscription which
         has absolute priority should that parent have push updates
         ready to egress the publisher. In other words, there should
be
         no streaming of objects from the current subscription if of
         the parent has something ready to push.";
      reference
        "RFC-7540, section 5.3.1";
    }

     s/if of/if/ ??


From nobody Tue May 16 13:58:41 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61AF512EC09; Tue, 16 May 2017 13:58:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id P-64R987PfFi; Tue, 16 May 2017 13:58:36 -0700 (PDT)
Received: from rcdn-iport-4.cisco.com (rcdn-iport-4.cisco.com [173.37.86.75]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8AE2912EC73; Tue, 16 May 2017 13:53:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=4500; q=dns/txt; s=iport; t=1494968039; x=1496177639; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=u2slkq/JndUfMd8dB7pcp2EIYxCVCe/w3dh7G9tdRS0=; b=fiqIIZRbmzlkrI9Px9Zh5X8clh89Ep43s/M1uIDTEyNS4D8KcMHTQKgw Lvip1mccs5lkrXLRmGO8fAR0l3uYKdZ8fFN7Jo55+7ycepurLa7n6aoIV uf1Y5fRfInJ8FgXo/K+pqUeZ7MfpBoaw09rnz+qNKHA/4wOrwkK5vio/j Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AyAQCbZRtZ/4UNJK1SChoBAQEBAgEBA?= =?us-ascii?q?QEIAQEBAYNVYoETg2WKGJFklXWCDy6FdgIahTU/GAECAQEBAQEBAWsohRgBAQE?= =?us-ascii?q?BAgEjEUUFCwIBCA4HBQIIAR0CAgIwFRACBAENDYoTCA6sSIImiwEBAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEYBYELhVSBXoMbhDuDOoJBHwWeCgGHG4t2kXSUQgEfOIE?= =?us-ascii?q?KcBWFPRyBY3uHMYENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,350,1491264000"; d="scan'208";a="246189445"
Received: from alln-core-11.cisco.com ([173.36.13.133]) by rcdn-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 16 May 2017 20:53:58 +0000
Received: from XCH-RTP-015.cisco.com (xch-rtp-015.cisco.com [64.101.220.155]) by alln-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id v4GKrwJk000798 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 16 May 2017 20:53:58 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-015.cisco.com (64.101.220.155) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 16 May 2017 16:53:57 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 16 May 2017 16:53:57 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Bert Wijnen <bwietf@bwijnen.net>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
CC: "draft-ietf-netconf-yang-push.all@ietf.org" <draft-ietf-netconf-yang-push.all@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>
Thread-Topic: Yangdoctors early review of draft-ietf-netconf-yang-push-06
Thread-Index: AQHSzkE9C/OO0NmevUiBbCVmGdSZbKH3ao5w
Date: Tue, 16 May 2017 20:53:57 +0000
Message-ID: <c955ae937b4142ac949c6f7876c40cc0@XCH-RTP-013.cisco.com>
References: <149493827145.11944.9758454721784881844@ietfa.amsl.com>
In-Reply-To: <149493827145.11944.9758454721784881844@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/jQYwcz-gmLI-HpwnN2sCn0A8m8s>
Subject: Re: [Netconf] Yangdoctors early review of draft-ietf-netconf-yang-push-06
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 20:58:39 -0000

SGkgQmVydCwNCg0KVGhhbmtzIHZlcnkgbXVjaCBmb3IgdGhlIHJldmlldy4gIFNvbWUgdGhvdWdo
dHMgaW4tbGluZS4uLg0KDQo+IEZyb206IEJlcnQgV2lqbmVuLCBNYXkgMTYsIDIwMTcgODozOCBB
TQ0KPiANCj4gUmV2aWV3ZXI6IEJlcnQgV2lqbmVuDQo+IFJldmlldyByZXN1bHQ6IE9uIHRoZSBS
aWdodCBUcmFjaw0KPiANCj4gDQo+IC0gbGFzdCBwYXJhIG9mIHNlY3QgMy41Lg0KPiAgIFRoaXMg
c2VlbXMgdG8gbWUgdG8gbWFrZSBpdCBkaWZmaWN1bHQgdG8gY3JlYXRlIGludGVyb3BlcmFibGUN
Cj4gICBpbXBsZW1lbnRhdGlvbnMuIE9yIGlzIHRoZXJlIGEgd2F5IGZvciBhIGNsaWVudCB0byBm
aWd1cmUgb3V0IHdoYXQNCj4gICBpcyBvciBpcyBub3Qgc3VwcG9ydCwgb3RoZXIgdGhhbiB0cnlh
bCBhbmQgZXJyb3I/DQoNCk1pbmltYWwgWFBBVEggc3ludGF4IHN1cHBvcnQgaXMgcmVhbGx5IGEg
c3Vic2NyaXB0aW9uIGluZGVwZW5kZW50IGlzc3VlLiAgQXQgdGhpcyB0aW1lLCBJIGFtIG5vdCBh
d2FyZSBvZiBhbnlvbmUgYXR0ZW1wdGluZyB0byBjb25zdHJhaW4gd2hpY2ggWFBBVEggY2FwYWJp
bGl0aWVzIHNob3VsZCBiZSB0aGUgbWluaW11bSBzZXQgZm9yIHRoZSBpbmR1c3RyeS4gIE9uZSBv
ZiB0aGUgcmVhc29ucyBpcyB0aGF0IGdvaW5nIHdpdGggYSBtaW5pbXVtIGNvbW1vbiBkZW5vbWlu
YXRvciBmb3IgYSBoaWdoIHZvbHVtZSBpbmZvcm1hdGlvbiBzZXQgIChsaWtlIHJvdXRpbmcgY2hh
bmdlcykgbWlnaHQgY29uc3RyYWluIHRoZSBhdmFpbGFiaWxpdHkgb2YgbG93IHZvbHVtZSwgaGln
aCB2YWx1ZSBmaWx0ZXJzIChsaWtlIGNvbmZpZ3VyYXRpb24gY2hhbmdlcykuICAgICBJIHdvdWxk
IHZlcnkgbXVjaCB3ZWxjb21lIHNvbWVvbmUgd2hvIHdhbnRlZCB0byBhdHRlbXB0IHdvcmsgaW4g
dGhpcyBhcmVhLiAgIEFzIERhdmlkIFdhbHRlcm1pcmUgc2FpZCB0byBtZSBvbiB0aGlzIHRvcGlj
IHRvZGF5LCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0byBpZGVudGlmeSBhIG1pbmltdW0gWFBBVEgg
ZmlsdGVyIGNhcGFiaWxpdHkgc2V0IGZvciB2YXJpb3VzIHJvbGVzIGluIHRoZSBuZXR3b3JrIGVs
ZW1lbnQuICBCdXQgdGhpcyBpcyBub24tdHJpdmlhbCB3b3JrLg0KDQpGb3Igbm93LCBJIGFtIGFz
c3VtaW5nIGFueSB2ZW5kb3Igd2lsbCBiZSBhYmxlIHRvIGFydGljdWxhdGUgd2hhdCB0aGUgc3lu
dGF4IGNhcGFiaWxpdGllcyBhcmUgZm9yIHRoZWlyIHBsYXRmb3Jtcy4gIEFuZCB0aGV5IGNhbiBk
byBvdXRzaWRlIHRoZSBzdGFuZGFyZHMgYXJlbmEuICBBIGdvb2Qgd2F5IHRvIGRvIHRoaXMgd291
bGQgYmUgdG8gcHJlLXBvcHVsYXRlIGV4YW1wbGUgZmlsdGVycyBpbiB0aGUgImZpbHRlcnMiIG9i
amVjdHMuIA0KDQo+IC0gcGFnZSA0MToNCj4gDQo+ICAgICAgLyogWUFORyBQYXJzZXIgUHlhbmcg
Y3Jhc2hpbmcgb24gdGhlIGZvbGxvd2luZyBzeW50YXggYmVsb3cNCj4gDQo+ICAgU28gZG9lcyB0
aGUgZGVmaW5pdGlvbiBnZXQgc2tpcHBlZD8gT3Igd2hhdCBuZWVkcyB0byBoYXBwZW4gaGVyZT8N
Cg0KVGhlcmUgaXMgYSBjb21pbmcgaW4gcHlhbmcgMS43LjIgd2hpY2ggZml4ZXMgdGhlIGJ1Zy4u
LiAgICAgDQpodHRwczovL2dpdGh1Yi5jb20vbWJqNDY2OC9weWFuZy9pc3N1ZXMvMzAwIA0KDQpT
ZWUNCmh0dHBzOi8vZ2l0aHViLmNvbS9tYmo0NjY4L3B5YW5nL2NvbW1pdC9iODkxY2MzZGQzYTQ1
NDdmOWVkZGQ4Mzg4MmU5ODcyYmMyMDY2YzZkIA0KDQpBbGwgd2UgbmVlZCB0byBkbyBpcyBhd2Fp
dCB0aGUgbmV3IHZlcnNpb24uDQoNCj4gQ29uc2lzdGVuY3kNCj4gDQo+IC0gbGFzdCBidWxsZXQg
b24gcGFnZSA3IHRhbGtzIGFib3V0ICJZQU5HIHN1YnRyZWVzIi4gSSBkbyBub3Qgc2VlIHRoYXQg
dGVybQ0KPiAgIGluIG5ldGNvbmYgb3IgeWFuZyBkb2N1bWVudHMuIFRob3NlIGp1c3QgdGFsayBh
Ym91dCAic3VidHJlZXMiLg0KPiBNYXliZSBJIGFtDQo+ICAgbm90IGxvb2tpbmcgZ29vZCBlbm91
Z2g/DQoNCldpbGwgcmVtb3ZlIHRoZSB3b3JkIFlBTkcNCg0KPiAtIHRvcCBvZiBwYWdlIDggSSBz
ZWUgdGhlIHdvcmRzICJ4cGF0aCIsICJYcGF0aCIgYW5kICJYUGF0aCINCj4gICBpcyB0aGVyZSBh
IGRpZmZlcmVuY2U/DQoNCk5vLiAgV2lsbCBmaXguDQogDQo+IE5pdHMNCg0KTmljZSBjYXRjaGVz
LiAgV2lsbCBmaXggdGhlIGl0ZW1zIGJlbG93Lg0KDQpFcmljDQoNCj4gLSB5b3UgbWF5IHdhbnQg
dG8gY2hlY2sgdGhlIHJlZmVyZW5jZS9jaXRhdGlvbiBvY2N1cnJlbmNlcyBvZiBbc3Vic2NyaWJl
XQ0KPiAgIGF0IHNldmVyYWwgcGxhY2VzIGl0IHBvaW50cyB0bw0KPiAgICAgIGRyYWZ0LWlldGYt
bmV0Y29uZi15YW5nLXB1c2gtMDYjcmVmLXN1YnNjcmliZQ0KPiAgIHdoZXJlYXMgSSB0aGluayBp
dCBpbnRlbmRzIHRvIHBvaW50IHRvIHRoZSBbc3Vic2NyaWJlXSBpbiB0aGUNCj4gICBub3JtYXRp
dmUgcmVmZXJlbmNlcyBzZWN0aW9uDQo+IC0gZmlyc3QgYnVsbGV0IG9uIHBhZ2UgNToNCj4gICAg
ICBFbmhhbmNlbWVudHMgdG8gZmlsdGVycy4gU3BlY2lmaWNhbGx5IHRoZSBmaWx0ZXIgTVVTVCBh
dCBpZGVudGlmeSBhdA0KPiAgICAgIGxlYXN0IG9uZSB0YXJnZXRlZCB5YW5nDQo+ICAgIHMvYXQv
LyAgLS0gdGhlIGZpcnN0ICJhdCIgc2VlbXMgc3VwZXJmbHVvdXMNCj4gICAgcGx1cywgeW91IGFy
ZSB1c2luZyBjYXBpdGFsaXplZCBNVVNUIHdpdGggb3V0IHJlZmVyZW5jZS9jaXRhdGlvbiBvZg0K
PiAgICBSRkMyMTE5DQo+IC0gcGFnZSAzNjoNCj4gDQo+ICAgICBsZWFmIGRlcGVuZGVuY3kgew0K
PiAgICAgICB0eXBlIHNuOnN1YnNjcmlwdGlvbi1pZDsNCj4gICAgICAgZGVzY3JpcHRpb24NCj4g
ICAgICAgICAiUHJvdmlkZXMgdGhlIFN1YnNjcmlwdGlvbiBJRCBvZiBhIHBhcmVudCBzdWJzY3Jp
cHRpb24gd2hpY2gNCj4gICAgICAgICAgaGFzIGFic29sdXRlIHByaW9yaXR5IHNob3VsZCB0aGF0
IHBhcmVudCBoYXZlIHB1c2ggdXBkYXRlcw0KPiAgICAgICAgICByZWFkeSB0byBlZ3Jlc3MgdGhl
IHB1Ymxpc2hlci4gSW4gb3RoZXIgd29yZHMsIHRoZXJlIHNob3VsZCBiZQ0KPiAgICAgICAgICBu
byBzdHJlYW1pbmcgb2Ygb2JqZWN0cyBmcm9tIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBpZiBv
Zg0KPiAgICAgICAgICB0aGUgcGFyZW50IGhhcyBzb21ldGhpbmcgcmVhZHkgdG8gcHVzaC4iOw0K
PiAgICAgICByZWZlcmVuY2UNCj4gICAgICAgICAiUkZDLTc1NDAsIHNlY3Rpb24gNS4zLjEiOw0K
PiAgICAgfQ0KPiANCj4gICAgICBzL2lmIG9mL2lmLyA/Pw0KDQo=


From nobody Tue May 16 14:06:58 2017
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 065E612ECAB for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:06:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level: 
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FJp2Sl6Y5bHd for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:06:54 -0700 (PDT)
Received: from mail-oi0-x232.google.com (mail-oi0-x232.google.com [IPv6:2607:f8b0:4003:c06::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DFD9612EB70 for <netconf@ietf.org>; Tue, 16 May 2017 14:02:05 -0700 (PDT)
Received: by mail-oi0-x232.google.com with SMTP id h4so41310032oib.3 for <netconf@ietf.org>; Tue, 16 May 2017 14:02:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=1lhtwL2M5D8FnXiROHe2J4tR/codmyBdn6Cgvmnbp38=; b=blBqiYpQKgG6LJQjCfj31KPHpJXKtciDZXhNCM9kVxQ8MDPH5zNhWE3E16uD7zOIqL acy4tYIFdwZE52Tx3Z1CciGXH2RMMCk368MdKykuu3yKqs/UhzGO6SNyqfcGOmN6c3sk gtA0gPG8LD5LIT3K1PT3mbcGkY9fIQ5o4cHHmtVIDagFyAddLH/l82R91wxZFJptGD7L UGgBxUjdPszfz5HhYGdQ69IKID6sy+l1Wl7wEpOQXWUY5xUrpqd/stWKo/GpB9oOH1g6 s8Igr3L9qkEfhqsndCowdwqPa5/FAoMatOyi3TyRetMZS477khtPLtzkc1DloC0yEt+j COfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=1lhtwL2M5D8FnXiROHe2J4tR/codmyBdn6Cgvmnbp38=; b=Ia7qENABpOG+j49gDXXFs+9EvDqu52Ujo8tfmavA+M+yAQUzDEMmJFR149fFhgiQJh D4xGvaE6B0/BTd6217JlkQld/2XSbC6EhJcyU70RbTKY3NvQJfPsMJpjfORxtGZ4KJDB XkY534Nd4jkcPCBCqvaaK4oP2RPiX2h9v1yACMvjmOmLOOCYb90glbfgMTCnh+IuDxvm M75iPBtn5jdl7+hSOSxhq2fLt3YKEoxuJhgAJy1OEWtyY0lkNGeD63iG6Nox1Re2DgLp 25iqoqENxJoz8JNcJrZqErh3nM/hhnUxfaqD4aaeESrJYU2NTnZYdsp5GNdCOHpzudw+ BK7Q==
X-Gm-Message-State: AODbwcA6pYUKzAMq7Lm0lK3+s1dP7R04Rmcmn9W1b9S2KbbExVZu163g JcDhSkUO6lYf9SZI0yw=
X-Received: by 10.202.52.214 with SMTP id b205mr3363234oia.133.1494968525172;  Tue, 16 May 2017 14:02:05 -0700 (PDT)
Received: from ?IPv6:2001:420:30d:1320:506f:9f6c:a55d:4752? ([2001:420:30d:1320:506f:9f6c:a55d:4752]) by smtp.gmail.com with ESMTPSA id z74sm202765oia.2.2017.05.16.14.02.03 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 16 May 2017 14:02:03 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <20170510064608.GA14838@elstar.local>
Date: Tue, 16 May 2017 14:02:04 -0700
Cc: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <04623446-36C5-4ABE-81C3-9E6B1F0BC39A@gmail.com>
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170509.145030.58029732242199759.mbj@tail-f.com> <20170510064608.GA14838@elstar.local>
To: Martin Bjorklund <mbj@tail-f.com>, Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/wv0P1YSVpXWQF0apE6vG7fBwSq0>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 21:06:57 -0000

Having reviewed all the e-mails, I believe that there are few issues =
that need to be resolved before we send the draft for publication. We =
need to agree on the language, even if we do have the exact text in the =
draft.

To begin with, do the authors have a response to the suggestions from =
Juergen prompted by the question from Alex? Are we leaving the NACM =
definition of any future datastores to the datastore draft, or are we =
saying NACM applies to all datastores?

To the point that Andy raised earlier, we need to have texts around =
datastores that provide more than CRUDX capabilities, including any =
protocol operations, e.g. priority, as something that is out of scope of =
this document.

NETCONF WG has moved to redefine its charter beyond NETCONF and =
RESTCONF. Therefore there is a real possibility of another protocol =
being discussed in the WG. Is there something in the NACM draft that =
restricts it to NETCONF/RESTCONF that other protocols cannot adopt? If =
so, can they be called out?

Thanks.

> On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>=20
> On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
>> Andy Bierman <andy@yumaworks.com> wrote:
>>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm =
<alexander.clemm@huawei.com
>>>> wrote:
>>>=20
>>>> As mentioned in my message, I don=E2=80=99t think specific access =
control will be
>>>> needed (I am not aware of specific use cases), but specifically =
with the
>>>> revised datastore architecture about to the be introduced, its =
impact or
>>>> nonimpact and interrelation with NACM should be discussed.  This =
can be as
>>>> simple as a small paragraph or subsection =E2=80=9CRevised =
Datastore
>>>> Considerations=E2=80=9D.
>>>>=20
>>>>=20
>>>>=20
>>>=20
>>> there is no text about candidate vs. running vs. startup.
>>> The NACM rules apply to all of them the same.
>>> I could add text that says there is no consideration for specific
>>> datastores.
>>=20
>> Actually, the document already says:
>>=20
>> 3.2.  Datastore Access
>>=20
>>   The same access control rules apply to all datastores, for example,
>>   the candidate configuration datastore or the running configuration
>>   datastore.
>>=20
>>   Only the standard NETCONF datastores (candidate, running, and
>>   startup) are controlled by NACM.
>>=20
>>=20
>> Somehow this needs to be updated when the revised datastore work is
>> done.  E.g., I expect read access to intended to follow the same NACM
>> rules.
>>=20
>=20
> Yes. NACM likely also applies to the <operational/> datastore (but
> this follows already from the text that talks about 'state data').
>=20
> My question, however, was about other future yet to be defined
> 'dynamic' datastores - does NACM make a statement of the form 'once an
> implementation announces NACM, NACM applies to all datastores - no
> exceptions' or do we leave it to the definition of future datastores
> to declare whether NACM applies to it. There may be three possible
> solutions:
>=20
> a) Once an implementation supports NACM, NACM applies to all
>   datastores (including any datastores defined in the future).
>=20
> b) Once an implementation supports NACM, NACM applies to all
>   conventional datastores and the operational state datastore.  Other
>   datastores must define whether NACM applies to them.
>=20
>   (This means, whenever a new datastore is introduced, the question
>   whether NACM applies has to answered for the new datastore.)
>=20
> c) Once an implementation supports NACM, NACM applies to all current
>   and future datastore unless explicitely stated or signaled that
>   NACM does not apply to a certain future datastore.
>=20
>   (This is essentially b) but with a default that NACM applies unless
>   things are explicitly regulated to be different.)
>=20
> I just thought it is worth to take a moment to think about this
> question.
>=20
> /js
>=20
> --=20
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf

Mahesh Jethanandani
mjethanandani@gmail.com




From nobody Tue May 16 14:25:53 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CC9A412FB9A for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:25:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KH_NsTKM10p6 for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:25:49 -0700 (PDT)
Received: from mail-wm0-x22d.google.com (mail-wm0-x22d.google.com [IPv6:2a00:1450:400c:c09::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E72D71300E7 for <netconf@ietf.org>; Tue, 16 May 2017 14:21:00 -0700 (PDT)
Received: by mail-wm0-x22d.google.com with SMTP id d127so132839898wmf.0 for <netconf@ietf.org>; Tue, 16 May 2017 14:21:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=QJBPGGScf4Hl/T9vJnxyao+xYgIba6mCsemEPpFz1mg=; b=AQzBt5tMELZZjuX422uXmLoc/MTudaXKMe8He29SzDGGF+gxLlE+oC5OKpz4KCpfbV jyzS+2AVi95md7G/H+FQ9gQTJn5F6tLJuc5OPfilE9vG1FkbnlG2q32nR7syZhLxTHlC KeKK3aF//kh9p79zN2Fay/qtF33djeFMR3Yoz3xetFcToeuWffpeL9rO3gdlV/V7Vz+S sc6ZDqKaMMrTIyp1yeUagcQ2sS4aN//K6Vq/6GtlkLD6acBnhthnhzqalgglcgO/vEmy eB/+ehLNeLFJnv94jI/ZZKdk7HRItWxaaJOCWY3XkksCzSnEmr1Bbo0ODBNgWG8VpaHM BMXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=QJBPGGScf4Hl/T9vJnxyao+xYgIba6mCsemEPpFz1mg=; b=Hque/0kiqo4i9olmo1dnHh2c8fzSNRj+NBRSWakOO0CXk7hQp4zOI4cASodQhQujBB /YcLDK3nAYRM3kConE7Wpa3j0ePtGggeyOjcLlhOvSPHRi0cs8kwKFGIEbPBYxVr3G1W eMA1WWZUGd9fFLFgZs/2beUzJvW7l48Budy6zVGqhhRIk+Yp5mCHlsKYIqvXzt+8NZ4E qOPGaXPOKD15dp+tG9fhWBIgIfVCXMMhjUjJN9bO0zjPSGhOVA9Zk9tLPO2pAh2uCeSs MtMBmJjL5QDo+S8pAk4N8Dtu/h6Rob6RjMBBWL8xKoiq5xvBaltUigtcs1r2Q9gPeHyV VCaw==
X-Gm-Message-State: AODbwcAWg9Ge4NkswIMuu4pui9fu97S/x7uFL2NCWVbiVFT+r6KvCKDO sdrMxxwCwYL17TLKghOkrhYRXDUi/QrV
X-Received: by 10.28.142.70 with SMTP id q67mr308055wmd.99.1494969659375; Tue, 16 May 2017 14:20:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Tue, 16 May 2017 14:20:58 -0700 (PDT)
In-Reply-To: <c955ae937b4142ac949c6f7876c40cc0@XCH-RTP-013.cisco.com>
References: <149493827145.11944.9758454721784881844@ietfa.amsl.com> <c955ae937b4142ac949c6f7876c40cc0@XCH-RTP-013.cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 16 May 2017 14:20:58 -0700
Message-ID: <CABCOCHQg9vPCKdmbqbzWf2CM86b0LBS-XM9jARcbCpNDixAkPg@mail.gmail.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Bert Wijnen <bwietf@bwijnen.net>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>,  "draft-ietf-netconf-yang-push.all@ietf.org" <draft-ietf-netconf-yang-push.all@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>,  "netconf@ietf.org" <netconf@ietf.org>, "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>
Content-Type: multipart/alternative; boundary="001a114429847f6ee5054faabf09"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zrYHZCOMtM13w0HR7e4jWvPXFZ0>
Subject: Re: [Netconf] Yangdoctors early review of draft-ietf-netconf-yang-push-06
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 21:25:52 -0000

--001a114429847f6ee5054faabf09
Content-Type: text/plain; charset="UTF-8"

On Tue, May 16, 2017 at 1:53 PM, Eric Voit (evoit) <evoit@cisco.com> wrote:

> Hi Bert,
>
> Thanks very much for the review.  Some thoughts in-line...
>
> > From: Bert Wijnen, May 16, 2017 8:38 AM
> >
> > Reviewer: Bert Wijnen
> > Review result: On the Right Track
> >
> >
> > - last para of sect 3.5.
> >   This seems to me to make it difficult to create interoperable
> >   implementations. Or is there a way for a client to figure out what
> >   is or is not support, other than tryal and error?
>
> Minimal XPATH syntax support is really a subscription independent issue.
> At this time, I am not aware of anyone attempting to constrain which XPATH
> capabilities should be the minimum set for the industry.  One of the
> reasons is that going with a minimum common denominator for a high volume
> information set  (like routing changes) might constrain the availability of
> low volume, high value filters (like configuration changes).     I would
> very much welcome someone who wanted to attempt work in this area.   As
> David Waltermire said to me on this topic today, it might be possible to
> identify a minimum XPATH filter capability set for various roles in the
> network element.  But this is non-trivial work.
>
> For now, I am assuming any vendor will be able to articulate what the
> syntax capabilities are for their platforms.  And they can do outside the
> standards arena.  A good way to do this would be to pre-populate example
> filters in the "filters" objects.
>
>

This is not going to be interoperable or easy to debug to find out what a
vendor supports.
Sec 3.5, para 3 & 4 about XPath implementations should be replaced. The
text should say a node-set result
MUST be generated or the result is the empty node-set.
Some XPath constructs SHOULD be avoided, as specified in sec 4.5 of RFC
6087.

Filters need to be well-defined so clients can actually use them.
The same syntax as a NETCONF <get> XPath filter should be used here.
New filters  should be defined if they are really needed.


Andy

> - page 41:
> >
> >      /* YANG Parser Pyang crashing on the following syntax below
> >
> >   So does the definition get skipped? Or what needs to happen here?
>
> There is a coming in pyang 1.7.2 which fixes the bug...
> https://github.com/mbj4668/pyang/issues/300
>
> See
> https://github.com/mbj4668/pyang/commit/b891cc3dd3a4547f9eddd83882e987
> 2bc2066c6d
>
> All we need to do is await the new version.
>
> > Consistency
> >
> > - last bullet on page 7 talks about "YANG subtrees". I do not see that
> term
> >   in netconf or yang documents. Those just talk about "subtrees".
> > Maybe I am
> >   not looking good enough?
>
> Will remove the word YANG
>
> > - top of page 8 I see the words "xpath", "Xpath" and "XPath"
> >   is there a difference?
>
> No.  Will fix.
>
> > Nits
>
> Nice catches.  Will fix the items below.
>
> Eric
>
> > - you may want to check the reference/citation occurrences of [subscribe]
> >   at several places it points to
> >      draft-ietf-netconf-yang-push-06#ref-subscribe
> >   whereas I think it intends to point to the [subscribe] in the
> >   normative references section
> > - first bullet on page 5:
> >      Enhancements to filters. Specifically the filter MUST at identify at
> >      least one targeted yang
> >    s/at//  -- the first "at" seems superfluous
> >    plus, you are using capitalized MUST with out reference/citation of
> >    RFC2119
> > - page 36:
> >
> >     leaf dependency {
> >       type sn:subscription-id;
> >       description
> >         "Provides the Subscription ID of a parent subscription which
> >          has absolute priority should that parent have push updates
> >          ready to egress the publisher. In other words, there should be
> >          no streaming of objects from the current subscription if of
> >          the parent has something ready to push.";
> >       reference
> >         "RFC-7540, section 5.3.1";
> >     }
> >
> >      s/if of/if/ ??
>
>

--001a114429847f6ee5054faabf09
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, May 16, 2017 at 1:53 PM, Eric Voit (evoit) <span dir=3D"ltr">&l=
t;<a href=3D"mailto:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&=
gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Bert,<br>
<br>
Thanks very much for the review.=C2=A0 Some thoughts in-line...<br>
<br>
&gt; From: Bert Wijnen, May 16, 2017 8:38 AM<br>
&gt;<br>
&gt; Reviewer: Bert Wijnen<br>
&gt; Review result: On the Right Track<br>
&gt;<br>
&gt;<br>
&gt; - last para of sect 3.5.<br>
&gt;=C2=A0 =C2=A0This seems to me to make it difficult to create interopera=
ble<br>
&gt;=C2=A0 =C2=A0implementations. Or is there a way for a client to figure =
out what<br>
&gt;=C2=A0 =C2=A0is or is not support, other than tryal and error?<br>
<br>
Minimal XPATH syntax support is really a subscription independent issue.=C2=
=A0 At this time, I am not aware of anyone attempting to constrain which XP=
ATH capabilities should be the minimum set for the industry.=C2=A0 One of t=
he reasons is that going with a minimum common denominator for a high volum=
e information set=C2=A0 (like routing changes) might constrain the availabi=
lity of low volume, high value filters (like configuration changes).=C2=A0 =
=C2=A0 =C2=A0I would very much welcome someone who wanted to attempt work i=
n this area.=C2=A0 =C2=A0As David Waltermire said to me on this topic today=
, it might be possible to identify a minimum XPATH filter capability set fo=
r various roles in the network element.=C2=A0 But this is non-trivial work.=
<br>
<br>
For now, I am assuming any vendor will be able to articulate what the synta=
x capabilities are for their platforms.=C2=A0 And they can do outside the s=
tandards arena.=C2=A0 A good way to do this would be to pre-populate exampl=
e filters in the &quot;filters&quot; objects.<br>
<br></blockquote><div><br></div><div><br></div><div>This is not going to be=
 interoperable or easy to debug to find out what a vendor supports.</div><d=
iv>Sec 3.5, para 3 &amp; 4 about XPath implementations should be replaced. =
The text should say a node-set result</div><div>MUST be generated or the re=
sult is the empty node-set.</div><div>Some XPath constructs SHOULD be avoid=
ed, as specified in sec 4.5 of RFC 6087.<br></div><div><br></div><div>Filte=
rs need to be well-defined so clients can actually use them.</div><div>The =
same syntax as a NETCONF &lt;get&gt; XPath filter should be used here.</div=
><div>New filters =C2=A0should be defined if they are really needed.</div><=
div><br></div><div><br></div><div>Andy</div><div><br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">
&gt; - page 41:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 /* YANG Parser Pyang crashing on the following syn=
tax below<br>
&gt;<br>
&gt;=C2=A0 =C2=A0So does the definition get skipped? Or what needs to happe=
n here?<br>
<br>
There is a coming in pyang 1.7.2 which fixes the bug...<br>
<a href=3D"https://github.com/mbj4668/pyang/issues/300" rel=3D"noreferrer" =
target=3D"_blank">https://github.com/mbj4668/<wbr>pyang/issues/300</a><br>
<br>
See<br>
<a href=3D"https://github.com/mbj4668/pyang/commit/b891cc3dd3a4547f9eddd838=
82e9872bc2066c6d" rel=3D"noreferrer" target=3D"_blank">https://github.com/m=
bj4668/<wbr>pyang/commit/<wbr>b891cc3dd3a4547f9eddd83882e987<wbr>2bc2066c6d=
</a><br>
<br>
All we need to do is await the new version.<br>
<br>
&gt; Consistency<br>
&gt;<br>
&gt; - last bullet on page 7 talks about &quot;YANG subtrees&quot;. I do no=
t see that term<br>
&gt;=C2=A0 =C2=A0in netconf or yang documents. Those just talk about &quot;=
subtrees&quot;.<br>
&gt; Maybe I am<br>
&gt;=C2=A0 =C2=A0not looking good enough?<br>
<br>
Will remove the word YANG<br>
<br>
&gt; - top of page 8 I see the words &quot;xpath&quot;, &quot;Xpath&quot; a=
nd &quot;XPath&quot;<br>
&gt;=C2=A0 =C2=A0is there a difference?<br>
<br>
No.=C2=A0 Will fix.<br>
<br>
&gt; Nits<br>
<br>
Nice catches.=C2=A0 Will fix the items below.<br>
<br>
Eric<br>
<br>
&gt; - you may want to check the reference/citation occurrences of [subscri=
be]<br>
&gt;=C2=A0 =C2=A0at several places it points to<br>
&gt;=C2=A0 =C2=A0 =C2=A0 draft-ietf-netconf-yang-push-<wbr>06#ref-subscribe=
<br>
&gt;=C2=A0 =C2=A0whereas I think it intends to point to the [subscribe] in =
the<br>
&gt;=C2=A0 =C2=A0normative references section<br>
&gt; - first bullet on page 5:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 Enhancements to filters. Specifically the filter M=
UST at identify at<br>
&gt;=C2=A0 =C2=A0 =C2=A0 least one targeted yang<br>
&gt;=C2=A0 =C2=A0 s/at//=C2=A0 -- the first &quot;at&quot; seems superfluou=
s<br>
&gt;=C2=A0 =C2=A0 plus, you are using capitalized MUST with out reference/c=
itation of<br>
&gt;=C2=A0 =C2=A0 RFC2119<br>
&gt; - page 36:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0leaf dependency {<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0type sn:subscription-id;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0description<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;Provides the Subscription ID of=
 a parent subscription which<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 has absolute priority should that pa=
rent have push updates<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ready to egress the publisher. In ot=
her words, there should be<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 no streaming of objects from the cur=
rent subscription if of<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 the parent has something ready to pu=
sh.&quot;;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0reference<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;RFC-7540, section 5.3.1&quot;;<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0}<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 s/if of/if/ ??<br>
<br>
</blockquote></div><br></div></div>

--001a114429847f6ee5054faabf09--


From nobody Tue May 16 14:34:05 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8104E12955A; Tue, 16 May 2017 14:34:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.521
X-Spam-Level: 
X-Spam-Status: No, score=-14.521 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XDuiikG3DFSm; Tue, 16 May 2017 14:33:57 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 027D112EC3E; Tue, 16 May 2017 14:28:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=20176; q=dns/txt; s=iport; t=1494970140; x=1496179740; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=zWJRNjwrhVo83kizFbBsSvCtnFkB/d5bHqTBhcvlPMg=; b=Fnbp08OnLDQFhd+xKoWmhEJ8vQiwK7KsFtxU4bHlueDCDxlULMwuBN72 HK5tZCU68iPlMxObn+whpulnpEYaIZeJKu51HA7WS23ayk0brES+7MmqG OgWp/P7R36kxCqVPPL6uAXCXR/lmV8tsxC+i5oTgNRiwsheOV60KRPLvT Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CHAwAPbhtZ/4QNJK1SChkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYJuZ2KBDAeDZYoYkWSQPYU4gg8uhTw6AhqFNT8YAQIBAQEBAQE?= =?us-ascii?q?BayiFGAEBAQECASMKTAULAgEIFQ8BGgMCAgIwFBECBA4FCIoTCA6sRIImiwYBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEBAQEYBYZfgV6DG4Q7XoJcgkEfBZ4KAYcbi3aRdJR?= =?us-ascii?q?CAR84gQpwFYU9HIFjdgWHMYENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,350,1491264000";  d="scan'208,217";a="422426281"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 16 May 2017 21:28:59 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id v4GLSwX6012034 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 16 May 2017 21:28:59 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 16 May 2017 17:28:58 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 16 May 2017 17:28:58 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Bert Wijnen <bwietf@bwijnen.net>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>, "draft-ietf-netconf-yang-push.all@ietf.org" <draft-ietf-netconf-yang-push.all@ietf.org>, "ietf@ietf.org" <ietf@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>, "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>
Thread-Topic: Yangdoctors early review of draft-ietf-netconf-yang-push-06
Thread-Index: AQHSzkE9C/OO0NmevUiBbCVmGdSZbKH3ao5wgABQnAD//725UA==
Date: Tue, 16 May 2017 21:28:57 +0000
Message-ID: <df333dcd802a427dabdebbb506d550a0@XCH-RTP-013.cisco.com>
References: <149493827145.11944.9758454721784881844@ietfa.amsl.com> <c955ae937b4142ac949c6f7876c40cc0@XCH-RTP-013.cisco.com> <CABCOCHQg9vPCKdmbqbzWf2CM86b0LBS-XM9jARcbCpNDixAkPg@mail.gmail.com>
In-Reply-To: <CABCOCHQg9vPCKdmbqbzWf2CM86b0LBS-XM9jARcbCpNDixAkPg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_df333dcd802a427dabdebbb506d550a0XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/VJNsqfdWIWxQuKtcgBGfHjDVzQs>
Subject: Re: [Netconf] Yangdoctors early review of draft-ietf-netconf-yang-push-06
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 21:34:00 -0000

--_000_df333dcd802a427dabdebbb506d550a0XCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

RnJvbTogQW5keSBCaWVybWFuLCBNYXkgMTYsIDIwMTcgNToyMSBQTQ0KDQpPbiBUdWUsIE1heSAx
NiwgMjAxNyBhdCAxOjUzIFBNLCBFcmljIFZvaXQgKGV2b2l0KSA8ZXZvaXRAY2lzY28uY29tPG1h
aWx0bzpldm9pdEBjaXNjby5jb20+PiB3cm90ZToNCkhpIEJlcnQsDQoNClRoYW5rcyB2ZXJ5IG11
Y2ggZm9yIHRoZSByZXZpZXcuICBTb21lIHRob3VnaHRzIGluLWxpbmUuLi4NCg0KPiBGcm9tOiBC
ZXJ0IFdpam5lbiwgTWF5IDE2LCAyMDE3IDg6MzggQU0NCj4NCj4gUmV2aWV3ZXI6IEJlcnQgV2lq
bmVuDQo+IFJldmlldyByZXN1bHQ6IE9uIHRoZSBSaWdodCBUcmFjaw0KPg0KPg0KPiAtIGxhc3Qg
cGFyYSBvZiBzZWN0IDMuNS4NCj4gICBUaGlzIHNlZW1zIHRvIG1lIHRvIG1ha2UgaXQgZGlmZmlj
dWx0IHRvIGNyZWF0ZSBpbnRlcm9wZXJhYmxlDQo+ICAgaW1wbGVtZW50YXRpb25zLiBPciBpcyB0
aGVyZSBhIHdheSBmb3IgYSBjbGllbnQgdG8gZmlndXJlIG91dCB3aGF0DQo+ICAgaXMgb3IgaXMg
bm90IHN1cHBvcnQsIG90aGVyIHRoYW4gdHJ5YWwgYW5kIGVycm9yPw0KDQpNaW5pbWFsIFhQQVRI
IHN5bnRheCBzdXBwb3J0IGlzIHJlYWxseSBhIHN1YnNjcmlwdGlvbiBpbmRlcGVuZGVudCBpc3N1
ZS4gIEF0IHRoaXMgdGltZSwgSSBhbSBub3QgYXdhcmUgb2YgYW55b25lIGF0dGVtcHRpbmcgdG8g
Y29uc3RyYWluIHdoaWNoIFhQQVRIIGNhcGFiaWxpdGllcyBzaG91bGQgYmUgdGhlIG1pbmltdW0g
c2V0IGZvciB0aGUgaW5kdXN0cnkuICBPbmUgb2YgdGhlIHJlYXNvbnMgaXMgdGhhdCBnb2luZyB3
aXRoIGEgbWluaW11bSBjb21tb24gZGVub21pbmF0b3IgZm9yIGEgaGlnaCB2b2x1bWUgaW5mb3Jt
YXRpb24gc2V0ICAobGlrZSByb3V0aW5nIGNoYW5nZXMpIG1pZ2h0IGNvbnN0cmFpbiB0aGUgYXZh
aWxhYmlsaXR5IG9mIGxvdyB2b2x1bWUsIGhpZ2ggdmFsdWUgZmlsdGVycyAobGlrZSBjb25maWd1
cmF0aW9uIGNoYW5nZXMpLiAgICAgSSB3b3VsZCB2ZXJ5IG11Y2ggd2VsY29tZSBzb21lb25lIHdo
byB3YW50ZWQgdG8gYXR0ZW1wdCB3b3JrIGluIHRoaXMgYXJlYS4gICBBcyBEYXZpZCBXYWx0ZXJt
aXJlIHNhaWQgdG8gbWUgb24gdGhpcyB0b3BpYyB0b2RheSwgaXQgbWlnaHQgYmUgcG9zc2libGUg
dG8gaWRlbnRpZnkgYSBtaW5pbXVtIFhQQVRIIGZpbHRlciBjYXBhYmlsaXR5IHNldCBmb3IgdmFy
aW91cyByb2xlcyBpbiB0aGUgbmV0d29yayBlbGVtZW50LiAgQnV0IHRoaXMgaXMgbm9uLXRyaXZp
YWwgd29yay4NCg0KRm9yIG5vdywgSSBhbSBhc3N1bWluZyBhbnkgdmVuZG9yIHdpbGwgYmUgYWJs
ZSB0byBhcnRpY3VsYXRlIHdoYXQgdGhlIHN5bnRheCBjYXBhYmlsaXRpZXMgYXJlIGZvciB0aGVp
ciBwbGF0Zm9ybXMuICBBbmQgdGhleSBjYW4gZG8gb3V0c2lkZSB0aGUgc3RhbmRhcmRzIGFyZW5h
LiAgQSBnb29kIHdheSB0byBkbyB0aGlzIHdvdWxkIGJlIHRvIHByZS1wb3B1bGF0ZSBleGFtcGxl
IGZpbHRlcnMgaW4gdGhlICJmaWx0ZXJzIiBvYmplY3RzLg0KVGhpcyBpcyBub3QgZ29pbmcgdG8g
YmUgaW50ZXJvcGVyYWJsZSBvciBlYXN5IHRvIGRlYnVnIHRvIGZpbmQgb3V0IHdoYXQgYSB2ZW5k
b3Igc3VwcG9ydHMuDQpTZWMgMy41LCBwYXJhIDMgJiA0IGFib3V0IFhQYXRoIGltcGxlbWVudGF0
aW9ucyBzaG91bGQgYmUgcmVwbGFjZWQuIFRoZSB0ZXh0IHNob3VsZCBzYXkgYSBub2RlLXNldCBy
ZXN1bHQNCk1VU1QgYmUgZ2VuZXJhdGVkIG9yIHRoZSByZXN1bHQgaXMgdGhlIGVtcHR5IG5vZGUt
c2V0Lg0KU29tZSBYUGF0aCBjb25zdHJ1Y3RzIFNIT1VMRCBiZSBhdm9pZGVkLCBhcyBzcGVjaWZp
ZWQgaW4gc2VjIDQuNSBvZiBSRkMgNjA4Ny4NCg0KPGV2b2l0PiBtYWtlcyBzZW5zZS4gIFRoZSBy
ZWZlcmVuY2UgdG8gUkZDIDYwODcgaXMgYSBnb29kIG9uZQ0KDQpGaWx0ZXJzIG5lZWQgdG8gYmUg
d2VsbC1kZWZpbmVkIHNvIGNsaWVudHMgY2FuIGFjdHVhbGx5IHVzZSB0aGVtLg0KVGhlIHNhbWUg
c3ludGF4IGFzIGEgTkVUQ09ORiA8Z2V0PiBYUGF0aCBmaWx0ZXIgc2hvdWxkIGJlIHVzZWQgaGVy
ZS4NCg0KPGV2b2l0PiBZZXMuICBXZSBhbHdheXMgYXJlIGFpbWluZyB3aXRoIGVxdWl2YWxlbmNl
IHRvIDxnZXQ+DQoNCk5ldyBmaWx0ZXJzICBzaG91bGQgYmUgZGVmaW5lZCBpZiB0aGV5IGFyZSBy
ZWFsbHkgbmVlZGVkLg0KDQo8ZXZvaXQ+IE92ZXIgdGltZSwgbmV3IGZpbHRlciB0eXBlcyBjYW4g
YmUgYXVnbWVudGVkIGluIGFzIGlkZW50aXRpZXMuICBBZ2FpbiwgPGdldD4gZXF1aXZhbGVuY2Ug
aXMgdGhlIGdvYWwuICBDZXJ0YWlubHkgYWRkaW5nIHRoZW0gaW50byB0aGUgbW9kZWwgaGVyZSBp
cyB0aGUgZWFzeSBwYXJ0IHZzIGRpbWVuc2lvbmluZyB3aGF0IGEgcGxhdGZvcm0gY2FuIHN1cHBv
cnQuDQoNCkVyaWMNCg0KQW5keQ0KDQo+IC0gcGFnZSA0MToNCj4NCj4gICAgICAvKiBZQU5HIFBh
cnNlciBQeWFuZyBjcmFzaGluZyBvbiB0aGUgZm9sbG93aW5nIHN5bnRheCBiZWxvdw0KPg0KPiAg
IFNvIGRvZXMgdGhlIGRlZmluaXRpb24gZ2V0IHNraXBwZWQ/IE9yIHdoYXQgbmVlZHMgdG8gaGFw
cGVuIGhlcmU/DQoNClRoZXJlIGlzIGEgY29taW5nIGluIHB5YW5nIDEuNy4yIHdoaWNoIGZpeGVz
IHRoZSBidWcuLi4NCmh0dHBzOi8vZ2l0aHViLmNvbS9tYmo0NjY4L3B5YW5nL2lzc3Vlcy8zMDAN
Cg0KU2VlDQpodHRwczovL2dpdGh1Yi5jb20vbWJqNDY2OC9weWFuZy9jb21taXQvYjg5MWNjM2Rk
M2E0NTQ3ZjllZGRkODM4ODJlOTg3MmJjMjA2NmM2ZA0KDQpBbGwgd2UgbmVlZCB0byBkbyBpcyBh
d2FpdCB0aGUgbmV3IHZlcnNpb24uDQoNCj4gQ29uc2lzdGVuY3kNCj4NCj4gLSBsYXN0IGJ1bGxl
dCBvbiBwYWdlIDcgdGFsa3MgYWJvdXQgIllBTkcgc3VidHJlZXMiLiBJIGRvIG5vdCBzZWUgdGhh
dCB0ZXJtDQo+ICAgaW4gbmV0Y29uZiBvciB5YW5nIGRvY3VtZW50cy4gVGhvc2UganVzdCB0YWxr
IGFib3V0ICJzdWJ0cmVlcyIuDQo+IE1heWJlIEkgYW0NCj4gICBub3QgbG9va2luZyBnb29kIGVu
b3VnaD8NCg0KV2lsbCByZW1vdmUgdGhlIHdvcmQgWUFORw0KDQo+IC0gdG9wIG9mIHBhZ2UgOCBJ
IHNlZSB0aGUgd29yZHMgInhwYXRoIiwgIlhwYXRoIiBhbmQgIlhQYXRoIg0KPiAgIGlzIHRoZXJl
IGEgZGlmZmVyZW5jZT8NCg0KTm8uICBXaWxsIGZpeC4NCg0KPiBOaXRzDQoNCk5pY2UgY2F0Y2hl
cy4gIFdpbGwgZml4IHRoZSBpdGVtcyBiZWxvdy4NCg0KRXJpYw0KDQo+IC0geW91IG1heSB3YW50
IHRvIGNoZWNrIHRoZSByZWZlcmVuY2UvY2l0YXRpb24gb2NjdXJyZW5jZXMgb2YgW3N1YnNjcmli
ZV0NCj4gICBhdCBzZXZlcmFsIHBsYWNlcyBpdCBwb2ludHMgdG8NCj4gICAgICBkcmFmdC1pZXRm
LW5ldGNvbmYteWFuZy1wdXNoLTA2I3JlZi1zdWJzY3JpYmUNCj4gICB3aGVyZWFzIEkgdGhpbmsg
aXQgaW50ZW5kcyB0byBwb2ludCB0byB0aGUgW3N1YnNjcmliZV0gaW4gdGhlDQo+ICAgbm9ybWF0
aXZlIHJlZmVyZW5jZXMgc2VjdGlvbg0KPiAtIGZpcnN0IGJ1bGxldCBvbiBwYWdlIDU6DQo+ICAg
ICAgRW5oYW5jZW1lbnRzIHRvIGZpbHRlcnMuIFNwZWNpZmljYWxseSB0aGUgZmlsdGVyIE1VU1Qg
YXQgaWRlbnRpZnkgYXQNCj4gICAgICBsZWFzdCBvbmUgdGFyZ2V0ZWQgeWFuZw0KPiAgICBzL2F0
Ly8gIC0tIHRoZSBmaXJzdCAiYXQiIHNlZW1zIHN1cGVyZmx1b3VzDQo+ICAgIHBsdXMsIHlvdSBh
cmUgdXNpbmcgY2FwaXRhbGl6ZWQgTVVTVCB3aXRoIG91dCByZWZlcmVuY2UvY2l0YXRpb24gb2YN
Cj4gICAgUkZDMjExOQ0KPiAtIHBhZ2UgMzY6DQo+DQo+ICAgICBsZWFmIGRlcGVuZGVuY3kgew0K
PiAgICAgICB0eXBlIHNuOnN1YnNjcmlwdGlvbi1pZDsNCj4gICAgICAgZGVzY3JpcHRpb24NCj4g
ICAgICAgICAiUHJvdmlkZXMgdGhlIFN1YnNjcmlwdGlvbiBJRCBvZiBhIHBhcmVudCBzdWJzY3Jp
cHRpb24gd2hpY2gNCj4gICAgICAgICAgaGFzIGFic29sdXRlIHByaW9yaXR5IHNob3VsZCB0aGF0
IHBhcmVudCBoYXZlIHB1c2ggdXBkYXRlcw0KPiAgICAgICAgICByZWFkeSB0byBlZ3Jlc3MgdGhl
IHB1Ymxpc2hlci4gSW4gb3RoZXIgd29yZHMsIHRoZXJlIHNob3VsZCBiZQ0KPiAgICAgICAgICBu
byBzdHJlYW1pbmcgb2Ygb2JqZWN0cyBmcm9tIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBpZiBv
Zg0KPiAgICAgICAgICB0aGUgcGFyZW50IGhhcyBzb21ldGhpbmcgcmVhZHkgdG8gcHVzaC4iOw0K
PiAgICAgICByZWZlcmVuY2UNCj4gICAgICAgICAiUkZDLTc1NDAsIHNlY3Rpb24gNS4zLjEiOw0K
PiAgICAgfQ0KPg0KPiAgICAgIHMvaWYgb2YvaWYvID8/DQoNCg==

--_000_df333dcd802a427dabdebbb506d550a0XCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0
eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBp
biAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rp
b24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1
bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzpp
ZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtl
bmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0i
cHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8ZGl2IHN0eWxlPSJib3JkZXI6
bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4w
cHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4sIE1heSAx
NiwgMjAxNyA1OjIxIFBNPGJyPg0KPGJyPg0KPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFR1ZSwgTWF5IDE2LCAyMDE3IGF0IDE6NTMgUE0sIEVy
aWMgVm9pdCAoZXZvaXQpICZsdDs8YSBocmVmPSJtYWlsdG86ZXZvaXRAY2lzY28uY29tIiB0YXJn
ZXQ9Il9ibGFuayI+ZXZvaXRAY2lzY28uY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+
DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0ND
QyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdp
bi1yaWdodDowaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjEyLjBwdDttYXJnaW4tbGVm
dDoxNi44cHQiPg0KSGkgQmVydCw8YnI+DQo8YnI+DQpUaGFua3MgdmVyeSBtdWNoIGZvciB0aGUg
cmV2aWV3LiZuYnNwOyBTb21lIHRob3VnaHRzIGluLWxpbmUuLi48YnI+DQo8YnI+DQomZ3Q7IEZy
b206IEJlcnQgV2lqbmVuLCBNYXkgMTYsIDIwMTcgODozOCBBTTxicj4NCiZndDs8YnI+DQomZ3Q7
IFJldmlld2VyOiBCZXJ0IFdpam5lbjxicj4NCiZndDsgUmV2aWV3IHJlc3VsdDogT24gdGhlIFJp
Z2h0IFRyYWNrPGJyPg0KJmd0Ozxicj4NCiZndDs8YnI+DQomZ3Q7IC0gbGFzdCBwYXJhIG9mIHNl
Y3QgMy41Ljxicj4NCiZndDsmbmJzcDsgJm5ic3A7VGhpcyBzZWVtcyB0byBtZSB0byBtYWtlIGl0
IGRpZmZpY3VsdCB0byBjcmVhdGUgaW50ZXJvcGVyYWJsZTxicj4NCiZndDsmbmJzcDsgJm5ic3A7
aW1wbGVtZW50YXRpb25zLiBPciBpcyB0aGVyZSBhIHdheSBmb3IgYSBjbGllbnQgdG8gZmlndXJl
IG91dCB3aGF0PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDtpcyBvciBpcyBub3Qgc3VwcG9ydCwgb3Ro
ZXIgdGhhbiB0cnlhbCBhbmQgZXJyb3I/PGJyPg0KPGJyPg0KTWluaW1hbCBYUEFUSCBzeW50YXgg
c3VwcG9ydCBpcyByZWFsbHkgYSBzdWJzY3JpcHRpb24gaW5kZXBlbmRlbnQgaXNzdWUuJm5ic3A7
IEF0IHRoaXMgdGltZSwgSSBhbSBub3QgYXdhcmUgb2YgYW55b25lIGF0dGVtcHRpbmcgdG8gY29u
c3RyYWluIHdoaWNoIFhQQVRIIGNhcGFiaWxpdGllcyBzaG91bGQgYmUgdGhlIG1pbmltdW0gc2V0
IGZvciB0aGUgaW5kdXN0cnkuJm5ic3A7IE9uZSBvZiB0aGUgcmVhc29ucyBpcyB0aGF0IGdvaW5n
IHdpdGggYSBtaW5pbXVtIGNvbW1vbg0KIGRlbm9taW5hdG9yIGZvciBhIGhpZ2ggdm9sdW1lIGlu
Zm9ybWF0aW9uIHNldCZuYnNwOyAobGlrZSByb3V0aW5nIGNoYW5nZXMpIG1pZ2h0IGNvbnN0cmFp
biB0aGUgYXZhaWxhYmlsaXR5IG9mIGxvdyB2b2x1bWUsIGhpZ2ggdmFsdWUgZmlsdGVycyAobGlr
ZSBjb25maWd1cmF0aW9uIGNoYW5nZXMpLiZuYnNwOyAmbmJzcDsgJm5ic3A7SSB3b3VsZCB2ZXJ5
IG11Y2ggd2VsY29tZSBzb21lb25lIHdobyB3YW50ZWQgdG8gYXR0ZW1wdCB3b3JrIGluIHRoaXMg
YXJlYS4mbmJzcDsgJm5ic3A7QXMgRGF2aWQNCiBXYWx0ZXJtaXJlIHNhaWQgdG8gbWUgb24gdGhp
cyB0b3BpYyB0b2RheSwgaXQgbWlnaHQgYmUgcG9zc2libGUgdG8gaWRlbnRpZnkgYSBtaW5pbXVt
IFhQQVRIIGZpbHRlciBjYXBhYmlsaXR5IHNldCBmb3IgdmFyaW91cyByb2xlcyBpbiB0aGUgbmV0
d29yayBlbGVtZW50LiZuYnNwOyBCdXQgdGhpcyBpcyBub24tdHJpdmlhbCB3b3JrLjxicj4NCjxi
cj4NCkZvciBub3csIEkgYW0gYXNzdW1pbmcgYW55IHZlbmRvciB3aWxsIGJlIGFibGUgdG8gYXJ0
aWN1bGF0ZSB3aGF0IHRoZSBzeW50YXggY2FwYWJpbGl0aWVzIGFyZSBmb3IgdGhlaXIgcGxhdGZv
cm1zLiZuYnNwOyBBbmQgdGhleSBjYW4gZG8gb3V0c2lkZSB0aGUgc3RhbmRhcmRzIGFyZW5hLiZu
YnNwOyBBIGdvb2Qgd2F5IHRvIGRvIHRoaXMgd291bGQgYmUgdG8gcHJlLXBvcHVsYXRlIGV4YW1w
bGUgZmlsdGVycyBpbiB0aGUgJnF1b3Q7ZmlsdGVycyZxdW90OyBvYmplY3RzLjxzcGFuIHN0eWxl
PSJjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhpcyBpcyBub3QgZ29pbmcgdG8gYmUgaW50ZXJv
cGVyYWJsZSBvciBlYXN5IHRvIGRlYnVnIHRvIGZpbmQgb3V0IHdoYXQgYSB2ZW5kb3Igc3VwcG9y
dHMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5T
ZWMgMy41LCBwYXJhIDMgJmFtcDsgNCBhYm91dCBYUGF0aCBpbXBsZW1lbnRhdGlvbnMgc2hvdWxk
IGJlIHJlcGxhY2VkLiBUaGUgdGV4dCBzaG91bGQgc2F5IGEgbm9kZS1zZXQgcmVzdWx0PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5NVVNUIGJlIGdl
bmVyYXRlZCBvciB0aGUgcmVzdWx0IGlzIHRoZSBlbXB0eSBub2RlLXNldC48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlNvbWUgWFBhdGggY29uc3Ry
dWN0cyBTSE9VTEQgYmUgYXZvaWRlZCwgYXMgc3BlY2lmaWVkIGluIHNlYyA0LjUgb2YgUkZDIDYw
ODcuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZsdDtldm9pdCZndDsgbWFr
ZXMgc2Vuc2UuJm5ic3A7IFRoZSByZWZlcmVuY2UgdG8gUkZDIDYwODcgaXMgYSBnb29kIG9uZTxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+RmlsdGVycyBuZWVkIHRvIGJlIHdlbGwtZGVmaW5lZCBzbyBjbGllbnRzIGNhbiBhY3R1YWxs
eSB1c2UgdGhlbS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPlRoZSBzYW1lIHN5bnRheCBhcyBhIE5FVENPTkYgJmx0O2dldCZndDsgWFBhdGggZmls
dGVyIHNob3VsZCBiZSB1c2VkIGhlcmUuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPiZsdDtldm9pdCZndDsgWWVzLiZuYnNwOyBXZSBhbHdheXMgYXJlIGFpbWluZyB3aXRoIGVx
dWl2YWxlbmNlIHRvICZsdDtnZXQmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk5ldyBm
aWx0ZXJzICZuYnNwO3Nob3VsZCBiZSBkZWZpbmVkIGlmIHRoZXkgYXJlIHJlYWxseSBuZWVkZWQu
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZsdDtldm9p
dCZndDsgT3ZlciB0aW1lLCBuZXcgZmlsdGVyIHR5cGVzIGNhbiBiZSBhdWdtZW50ZWQgaW4gYXMg
aWRlbnRpdGllcy4mbmJzcDsgQWdhaW4sICZsdDtnZXQmZ3Q7IGVxdWl2YWxlbmNlIGlzIHRoZSBn
b2FsLiZuYnNwOyBDZXJ0YWlubHkgYWRkaW5nIHRoZW0gaW50byB0aGUgbW9kZWwgaGVyZSBpcyB0
aGUNCiBlYXN5IHBhcnQgdnMgZGltZW5zaW9uaW5nIHdoYXQgYSBwbGF0Zm9ybSBjYW4gc3VwcG9y
dC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkVyaWM8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkFu
ZHk8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5v
bmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYu
MHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij4mZ3Q7IC0gcGFnZSA0MTo8YnI+DQom
Z3Q7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7IC8qIFlBTkcgUGFyc2VyIFB5YW5nIGNy
YXNoaW5nIG9uIHRoZSBmb2xsb3dpbmcgc3ludGF4IGJlbG93PGJyPg0KJmd0Ozxicj4NCiZndDsm
bmJzcDsgJm5ic3A7U28gZG9lcyB0aGUgZGVmaW5pdGlvbiBnZXQgc2tpcHBlZD8gT3Igd2hhdCBu
ZWVkcyB0byBoYXBwZW4gaGVyZT88YnI+DQo8YnI+DQpUaGVyZSBpcyBhIGNvbWluZyBpbiBweWFu
ZyAxLjcuMiB3aGljaCBmaXhlcyB0aGUgYnVnLi4uPGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly9naXRo
dWIuY29tL21iajQ2NjgvcHlhbmcvaXNzdWVzLzMwMCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v
Z2l0aHViLmNvbS9tYmo0NjY4L3B5YW5nL2lzc3Vlcy8zMDA8L2E+PGJyPg0KPGJyPg0KU2VlPGJy
Pg0KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL21iajQ2NjgvcHlhbmcvY29tbWl0L2I4OTFj
YzNkZDNhNDU0N2Y5ZWRkZDgzODgyZTk4NzJiYzIwNjZjNmQiIHRhcmdldD0iX2JsYW5rIj5odHRw
czovL2dpdGh1Yi5jb20vbWJqNDY2OC9weWFuZy9jb21taXQvYjg5MWNjM2RkM2E0NTQ3ZjllZGRk
ODM4ODJlOTg3MmJjMjA2NmM2ZDwvYT48YnI+DQo8YnI+DQpBbGwgd2UgbmVlZCB0byBkbyBpcyBh
d2FpdCB0aGUgbmV3IHZlcnNpb24uPGJyPg0KPGJyPg0KJmd0OyBDb25zaXN0ZW5jeTxicj4NCiZn
dDs8YnI+DQomZ3Q7IC0gbGFzdCBidWxsZXQgb24gcGFnZSA3IHRhbGtzIGFib3V0ICZxdW90O1lB
Tkcgc3VidHJlZXMmcXVvdDsuIEkgZG8gbm90IHNlZSB0aGF0IHRlcm08YnI+DQomZ3Q7Jm5ic3A7
ICZuYnNwO2luIG5ldGNvbmYgb3IgeWFuZyBkb2N1bWVudHMuIFRob3NlIGp1c3QgdGFsayBhYm91
dCAmcXVvdDtzdWJ0cmVlcyZxdW90Oy48YnI+DQomZ3Q7IE1heWJlIEkgYW08YnI+DQomZ3Q7Jm5i
c3A7ICZuYnNwO25vdCBsb29raW5nIGdvb2QgZW5vdWdoPzxicj4NCjxicj4NCldpbGwgcmVtb3Zl
IHRoZSB3b3JkIFlBTkc8YnI+DQo8YnI+DQomZ3Q7IC0gdG9wIG9mIHBhZ2UgOCBJIHNlZSB0aGUg
d29yZHMgJnF1b3Q7eHBhdGgmcXVvdDssICZxdW90O1hwYXRoJnF1b3Q7IGFuZCAmcXVvdDtYUGF0
aCZxdW90Ozxicj4NCiZndDsmbmJzcDsgJm5ic3A7aXMgdGhlcmUgYSBkaWZmZXJlbmNlPzxicj4N
Cjxicj4NCk5vLiZuYnNwOyBXaWxsIGZpeC48YnI+DQo8YnI+DQomZ3Q7IE5pdHM8YnI+DQo8YnI+
DQpOaWNlIGNhdGNoZXMuJm5ic3A7IFdpbGwgZml4IHRoZSBpdGVtcyBiZWxvdy48YnI+DQo8YnI+
DQpFcmljPGJyPg0KPGJyPg0KJmd0OyAtIHlvdSBtYXkgd2FudCB0byBjaGVjayB0aGUgcmVmZXJl
bmNlL2NpdGF0aW9uIG9jY3VycmVuY2VzIG9mIFtzdWJzY3JpYmVdPGJyPg0KJmd0OyZuYnNwOyAm
bmJzcDthdCBzZXZlcmFsIHBsYWNlcyBpdCBwb2ludHMgdG88YnI+DQomZ3Q7Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgZHJhZnQtaWV0Zi1uZXRjb25mLXlhbmctcHVzaC0wNiNyZWYtc3Vic2NyaWJlPGJy
Pg0KJmd0OyZuYnNwOyAmbmJzcDt3aGVyZWFzIEkgdGhpbmsgaXQgaW50ZW5kcyB0byBwb2ludCB0
byB0aGUgW3N1YnNjcmliZV0gaW4gdGhlPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDtub3JtYXRpdmUg
cmVmZXJlbmNlcyBzZWN0aW9uPGJyPg0KJmd0OyAtIGZpcnN0IGJ1bGxldCBvbiBwYWdlIDU6PGJy
Pg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7IEVuaGFuY2VtZW50cyB0byBmaWx0ZXJzLiBTcGVj
aWZpY2FsbHkgdGhlIGZpbHRlciBNVVNUIGF0IGlkZW50aWZ5IGF0PGJyPg0KJmd0OyZuYnNwOyAm
bmJzcDsgJm5ic3A7IGxlYXN0IG9uZSB0YXJnZXRlZCB5YW5nPGJyPg0KJmd0OyZuYnNwOyAmbmJz
cDsgcy9hdC8vJm5ic3A7IC0tIHRoZSBmaXJzdCAmcXVvdDthdCZxdW90OyBzZWVtcyBzdXBlcmZs
dW91czxicj4NCiZndDsmbmJzcDsgJm5ic3A7IHBsdXMsIHlvdSBhcmUgdXNpbmcgY2FwaXRhbGl6
ZWQgTVVTVCB3aXRoIG91dCByZWZlcmVuY2UvY2l0YXRpb24gb2Y8YnI+DQomZ3Q7Jm5ic3A7ICZu
YnNwOyBSRkMyMTE5PGJyPg0KJmd0OyAtIHBhZ2UgMzY6PGJyPg0KJmd0Ozxicj4NCiZndDsmbmJz
cDsgJm5ic3A7ICZuYnNwO2xlYWYgZGVwZW5kZW5jeSB7PGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwO3R5cGUgc246c3Vic2NyaXB0aW9uLWlkOzxicj4NCiZndDsmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDtkZXNjcmlwdGlvbjxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7JnF1b3Q7UHJvdmlkZXMgdGhlIFN1YnNjcmlwdGlvbiBJRCBvZiBhIHBh
cmVudCBzdWJzY3JpcHRpb24gd2hpY2g8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyBoYXMgYWJzb2x1dGUgcHJpb3JpdHkgc2hvdWxkIHRoYXQgcGFyZW50IGhhdmUg
cHVzaCB1cGRhdGVzPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
cmVhZHkgdG8gZWdyZXNzIHRoZSBwdWJsaXNoZXIuIEluIG90aGVyIHdvcmRzLCB0aGVyZSBzaG91
bGQgYmU8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBubyBzdHJl
YW1pbmcgb2Ygb2JqZWN0cyBmcm9tIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBpZiBvZjxicj4N
CiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHRoZSBwYXJlbnQgaGFzIHNv
bWV0aGluZyByZWFkeSB0byBwdXNoLiZxdW90Ozs8YnI+DQomZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7cmVmZXJlbmNlPGJyPg0KJmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsmcXVvdDtSRkMtNzU0MCwgc2VjdGlvbiA1LjMuMSZxdW90Ozs8YnI+DQomZ3Q7Jm5ic3A7
ICZuYnNwOyAmbmJzcDt9PGJyPg0KJmd0Ozxicj4NCiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyBz
L2lmIG9mL2lmLyA/PzxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_df333dcd802a427dabdebbb506d550a0XCHRTP013ciscocom_--


From nobody Tue May 16 14:37:50 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3584812EC2A for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:37:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VLS8odX_k9r5 for <netconf@ietfa.amsl.com>; Tue, 16 May 2017 14:37:45 -0700 (PDT)
Received: from mail-wr0-x22f.google.com (mail-wr0-x22f.google.com [IPv6:2a00:1450:400c:c0c::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F258312EB87 for <netconf@ietf.org>; Tue, 16 May 2017 14:32:34 -0700 (PDT)
Received: by mail-wr0-x22f.google.com with SMTP id z52so84014015wrc.2 for <netconf@ietf.org>; Tue, 16 May 2017 14:32:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=gcTt/5R7Rvv+tTXpi7ccimBXxFB1uMF9Z+KMOADlAEc=; b=QT5myUbAygCQ3yDGrELp2WawjRWC36Di7tXIqZ7ea0Y0bUCsT+h4N0Kr4gPX0F4me6 o5bh3J3V6YAMAY8oRL7HKiV9B6FYRjdIsPNmInrAgqY0+G0i+c+QaOWdySzKc/Ol0wIj TXGP0209ZxBee1ukP1/dwU3XVMG+oM23tZBn9zYfJWefaiOTmsp9rNb7lLHuWqiVzuZ+ xTpb3245r76wr3zIpLtJ8jnJ36LthqUeGK8+MQGoyXpgOqV1AMgwmZAW05GmCl1FKpt2 IwWR24Ve2IlR+E5GqAqKHsbJsGU/6Rz6nKQkxmX6v1UQdVRHNAhdv4UxJcLUMjK9UeRr ZnUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=gcTt/5R7Rvv+tTXpi7ccimBXxFB1uMF9Z+KMOADlAEc=; b=lKWaCegqMUxIHsVw3DTonfCaE4cgZDIXUIU0lyIzgaYYcihLHCb3bFqsiV8PzNkbq9 6lNMOtMQkEAtUXT0YGktSW6ZdPi6dhaSvZbXSikFQvXkAxxFDEJ2Cca/Ctwnm6ka4cjR 0sf65cW4JX6zqD5A1CmSaAfCXbVN7WMZU9fvFjLGluR7avY/yrw+O2aowFJTfP2gCr52 Dck/le7pWkA0n7R8R5sTHjz5PhRRRGfRWUJy767qb9muxrdBIHcQC5Fzv0lVV/4F2Ecd EsNaUhi0P7AngwrqVXi7a/bPXpASoU3bXmmH48sKFJYv8t7aINpl/bIHruJ4tDb/nxji xnnQ==
X-Gm-Message-State: AODbwcAhwOehA1Hjie6NKM6ZwOmhJLHNIOUzQCC5nAJtWmwzaUWx8HFA YMo/A0w0ybFuxCj+OHlul1rlYC25raoN
X-Received: by 10.223.134.80 with SMTP id 16mr39407wrw.62.1494970353346; Tue, 16 May 2017 14:32:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Tue, 16 May 2017 14:32:32 -0700 (PDT)
In-Reply-To: <04623446-36C5-4ABE-81C3-9E6B1F0BC39A@gmail.com>
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170509.145030.58029732242199759.mbj@tail-f.com> <20170510064608.GA14838@elstar.local> <04623446-36C5-4ABE-81C3-9E6B1F0BC39A@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 16 May 2017 14:32:32 -0700
Message-ID: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Martin Bjorklund <mbj@tail-f.com>,  Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a11491e7edc8004054faae87e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/OlKZk_v7ItAJYGkZVrYgoBWVflk>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 16 May 2017 21:37:48 -0000

--001a11491e7edc8004054faae87e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
mjethanandani@gmail.com> wrote:

> Having reviewed all the e-mails, I believe that there are few issues that
> need to be resolved before we send the draft for publication. We need to
> agree on the language, even if we do have the exact text in the draft.
>
> To begin with, do the authors have a response to the suggestions from
> Juergen prompted by the question from Alex? Are we leaving the NACM
> definition of any future datastores to the datastore draft, or are we
> saying NACM applies to all datastores?
>
>
No. IMO the text should say NACM applies to NETCONF and RESTCONF
with the existing datastores.

NACM MAY be applied to other datastores that have similar operation sets.
Any new datastore specification needs to define how it maps to the NACM
CRUDX
model.  The datastore does not need to use NACM (e.g., datastore defines
something else
or does not use access control).


To the point that Andy raised earlier, we need to have texts around
> datastores that provide more than CRUDX capabilities, including any
> protocol operations, e.g. priority, as something that is out of scope of
> this document.
>
>
This would be outside the scope of NACM.
This is part of the RPC input validation.



> NETCONF WG has moved to redefine its charter beyond NETCONF and RESTCONF.
> Therefore there is a real possibility of another protocol being discussed
> in the WG. Is there something in the NACM draft that restricts it to
> NETCONF/RESTCONF that other protocols cannot adopt? If so, can they be
> called out?
>

If NACM needs to be changed in the future because a new or existing
protocol needs new features
then the WG will have to deal with it then.



>
> Thanks.
>
>
Andy


> > On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> >
> > On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
> >> Andy Bierman <andy@yumaworks.com> wrote:
> >>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
> alexander.clemm@huawei.com
> >>>> wrote:
> >>>
> >>>> As mentioned in my message, I don=E2=80=99t think specific access co=
ntrol
> will be
> >>>> needed (I am not aware of specific use cases), but specifically with
> the
> >>>> revised datastore architecture about to the be introduced, its impac=
t
> or
> >>>> nonimpact and interrelation with NACM should be discussed.  This can
> be as
> >>>> simple as a small paragraph or subsection =E2=80=9CRevised Datastore
> >>>> Considerations=E2=80=9D.
> >>>>
> >>>>
> >>>>
> >>>
> >>> there is no text about candidate vs. running vs. startup.
> >>> The NACM rules apply to all of them the same.
> >>> I could add text that says there is no consideration for specific
> >>> datastores.
> >>
> >> Actually, the document already says:
> >>
> >> 3.2.  Datastore Access
> >>
> >>   The same access control rules apply to all datastores, for example,
> >>   the candidate configuration datastore or the running configuration
> >>   datastore.
> >>
> >>   Only the standard NETCONF datastores (candidate, running, and
> >>   startup) are controlled by NACM.
> >>
> >>
> >> Somehow this needs to be updated when the revised datastore work is
> >> done.  E.g., I expect read access to intended to follow the same NACM
> >> rules.
> >>
> >
> > Yes. NACM likely also applies to the <operational/> datastore (but
> > this follows already from the text that talks about 'state data').
> >
> > My question, however, was about other future yet to be defined
> > 'dynamic' datastores - does NACM make a statement of the form 'once an
> > implementation announces NACM, NACM applies to all datastores - no
> > exceptions' or do we leave it to the definition of future datastores
> > to declare whether NACM applies to it. There may be three possible
> > solutions:
> >
> > a) Once an implementation supports NACM, NACM applies to all
> >   datastores (including any datastores defined in the future).
> >
> > b) Once an implementation supports NACM, NACM applies to all
> >   conventional datastores and the operational state datastore.  Other
> >   datastores must define whether NACM applies to them.
> >
> >   (This means, whenever a new datastore is introduced, the question
> >   whether NACM applies has to answered for the new datastore.)
> >
> > c) Once an implementation supports NACM, NACM applies to all current
> >   and future datastore unless explicitely stated or signaled that
> >   NACM does not apply to a certain future datastore.
> >
> >   (This is essentially b) but with a default that NACM applies unless
> >   things are explicitly regulated to be different.)
> >
> > I just thought it is worth to take a moment to think about this
> > question.
> >
> > /js
> >
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>
>
>

--001a11491e7edc8004054faae87e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <span dir=3D"ltr">=
&lt;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanand=
ani@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Havin=
g reviewed all the e-mails, I believe that there are few issues that need t=
o be resolved before we send the draft for publication. We need to agree on=
 the language, even if we do have the exact text in the draft.<br>
<br>
To begin with, do the authors have a response to the suggestions from Juerg=
en prompted by the question from Alex? Are we leaving the NACM definition o=
f any future datastores to the datastore draft, or are we saying NACM appli=
es to all datastores?<br>
<br></blockquote><div><br></div><div>No. IMO the text should say NACM appli=
es to NETCONF and RESTCONF</div><div>with the existing datastores.</div><di=
v><br></div><div>NACM MAY be applied to other datastores that have similar =
operation sets.</div><div>Any new datastore specification needs to define h=
ow it maps to the NACM CRUDX</div><div>model.=C2=A0 The datastore does not =
need to use NACM (e.g., datastore defines something else</div><div>or does =
not use access control).</div><div><br></div><div><br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">
To the point that Andy raised earlier, we need to have texts around datasto=
res that provide more than CRUDX capabilities, including any protocol opera=
tions, e.g. priority, as something that is out of scope of this document.<b=
r>
<br></blockquote><div><br></div><div>This would be outside the scope of NAC=
M.</div><div>This is part of the RPC input validation.</div><div><br></div>=
<div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex">
NETCONF WG has moved to redefine its charter beyond NETCONF and RESTCONF. T=
herefore there is a real possibility of another protocol being discussed in=
 the WG. Is there something in the NACM draft that restricts it to NETCONF/=
RESTCONF that other protocols cannot adopt? If so, can they be called out?<=
br></blockquote><div><br></div><div>If NACM needs to be changed in the futu=
re because a new or existing protocol needs new features</div><div>then the=
 WG will have to deal with it then.</div><div><br></div><div>=C2=A0</div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">
<br>
Thanks.<br>
<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex">
&gt; On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder &lt;<a href=3D"mail=
to:j.schoenwaelder@jacobs-university.de">j.schoenwaelder@jacobs-<wbr>univer=
sity.de</a>&gt; wrote:<br>
&gt;<br>
&gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:<br>
&gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumawo=
rks.com</a>&gt; wrote:<br>
&gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm &lt;<a href=
=3D"mailto:alexander.clemm@huawei.com">alexander.clemm@huawei.com</a><br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; As mentioned in my message, I don=E2=80=99t think specific=
 access control will be<br>
&gt;&gt;&gt;&gt; needed (I am not aware of specific use cases), but specifi=
cally with the<br>
&gt;&gt;&gt;&gt; revised datastore architecture about to the be introduced,=
 its impact or<br>
&gt;&gt;&gt;&gt; nonimpact and interrelation with NACM should be discussed.=
=C2=A0 This can be as<br>
&gt;&gt;&gt;&gt; simple as a small paragraph or subsection =E2=80=9CRevised=
 Datastore<br>
&gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; there is no text about candidate vs. running vs. startup.<br>
&gt;&gt;&gt; The NACM rules apply to all of them the same.<br>
&gt;&gt;&gt; I could add text that says there is no consideration for speci=
fic<br>
&gt;&gt;&gt; datastores.<br>
&gt;&gt;<br>
&gt;&gt; Actually, the document already says:<br>
&gt;&gt;<br>
&gt;&gt; 3.2.=C2=A0 Datastore Access<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 =C2=A0The same access control rules apply to all datastores,=
 for example,<br>
&gt;&gt;=C2=A0 =C2=A0the candidate configuration datastore or the running c=
onfiguration<br>
&gt;&gt;=C2=A0 =C2=A0datastore.<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 =C2=A0Only the standard NETCONF datastores (candidate, runni=
ng, and<br>
&gt;&gt;=C2=A0 =C2=A0startup) are controlled by NACM.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Somehow this needs to be updated when the revised datastore work i=
s<br>
&gt;&gt; done.=C2=A0 E.g., I expect read access to intended to follow the s=
ame NACM<br>
&gt;&gt; rules.<br>
&gt;&gt;<br>
&gt;<br>
&gt; Yes. NACM likely also applies to the &lt;operational/&gt; datastore (b=
ut<br>
&gt; this follows already from the text that talks about &#39;state data&#3=
9;).<br>
&gt;<br>
&gt; My question, however, was about other future yet to be defined<br>
&gt; &#39;dynamic&#39; datastores - does NACM make a statement of the form =
&#39;once an<br>
&gt; implementation announces NACM, NACM applies to all datastores - no<br>
&gt; exceptions&#39; or do we leave it to the definition of future datastor=
es<br>
&gt; to declare whether NACM applies to it. There may be three possible<br>
&gt; solutions:<br>
&gt;<br>
&gt; a) Once an implementation supports NACM, NACM applies to all<br>
&gt;=C2=A0 =C2=A0datastores (including any datastores defined in the future=
).<br>
&gt;<br>
&gt; b) Once an implementation supports NACM, NACM applies to all<br>
&gt;=C2=A0 =C2=A0conventional datastores and the operational state datastor=
e.=C2=A0 Other<br>
&gt;=C2=A0 =C2=A0datastores must define whether NACM applies to them.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0(This means, whenever a new datastore is introduced, the q=
uestion<br>
&gt;=C2=A0 =C2=A0whether NACM applies has to answered for the new datastore=
.)<br>
&gt;<br>
&gt; c) Once an implementation supports NACM, NACM applies to all current<b=
r>
&gt;=C2=A0 =C2=A0and future datastore unless explicitely stated or signaled=
 that<br>
&gt;=C2=A0 =C2=A0NACM does not apply to a certain future datastore.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0(This is essentially b) but with a default that NACM appli=
es unless<br>
&gt;=C2=A0 =C2=A0things are explicitly regulated to be different.)<br>
&gt;<br>
&gt; I just thought it is worth to take a moment to think about this<br>
&gt; question.<br>
&gt;<br>
&gt; /js<br>
&gt;<br>
&gt; --<br>
&gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs U=
niversity Bremen gGmbH<br>
&gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1=
 | 28759 Bremen | Germany<br>
&gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt=
;<a href=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"=
_blank">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; Netconf mailing list<br>
&gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noref=
errer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf=
</a><br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Mahesh Jethanandani<br>
<a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a><br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div></div>

--001a11491e7edc8004054faae87e--


From nobody Wed May 17 14:29:56 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3F06E127058 for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 14:29:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DG0C5053KcXf for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 14:29:51 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 064321201FA for <netconf@ietf.org>; Wed, 17 May 2017 14:29:50 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml704-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNG18612; Wed, 17 May 2017 21:29:48 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 17 May 2017 22:29:48 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML702-CHM.china.huawei.com ([169.254.4.117]) with mapi id 14.03.0235.001;  Wed, 17 May 2017 14:29:41 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Netconf <netconf@ietf.org>
Thread-Topic: In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2A==
Date: Wed, 17 May 2017 21:29:40 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.107]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020202.591CC0CD.00BD, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 88c123a0ec9674f44e4e7aa3d3516a22
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ph5CZAbn6AvhxDvBpR-ec8RVOR0>
Subject: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 May 2017 21:29:54 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1SJCEML701CHMchi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello all,

In updating the YANG-Push document (draft-ietf-netconf-yang-push), we have =
come across one issue that we wanted to raise with the working group.

As part of an on-change subscription, update records reflect the type of ch=
ange (e.g. whether the value of an object has changed, or whether an object=
 was created or deleted); a subscription allows also to specify whether int=
erested only in specific types of changes (for example, only creates and de=
leted but no value changes).

At the same time, a subscription filter specifies which objects to include =
as part of a subscription and which not.  (Really, it is not so much of a "=
filter" on a stream that is generated independently of the filter, than it =
is a policy of which objects to include as part of subscribed update record=
s.)   However, a subscription filter (such as XPath) can be used to also sp=
ecify a value filter, which will include or exclude objects based on their =
current value. This makes it possible to e.g. subscribe to an object "foo" =
but only if its value is 5.

Now, this means that the same object could be included in one update, but e=
xcluded in another update, due to its value no longer meeting the filter cr=
iteria.  For example, if foo's value changes from 5 to 3 in one cycle, a pe=
riodic subscription will no longer include foo in its next update.  The que=
stion now concerns how to properly handle this in the case of an on-change =
subscription.

One possibility concerns reporting the fact that "foo" no longer meets the =
subscription criteria and is no longer included in the update record as a "=
delete" event.  If foo's value again becomes "5" at a later point in time, =
that would be reported as a "create" event.  If foo's value changes again f=
rom 5 at a later point in time and then changes back to 3  before the time =
of the update (perhaps because the value changed during the dampening inter=
val), it would be reported as another "delete" event (without ever reportin=
g a create event).  On the other hand, if foo's value changed from 3 to 6 a=
nd back again, nothing would be reported because it did not meet the filter=
 criteria at any point in time.

>From the perspective of the receiver this may make sense if it is synching =
its copy of the state.  However, from the perspective of the publisher, the=
 object was never created or deleted - only its value changed, and the case=
 when the object was truly created or deleted can no longer be distinguishe=
d from the case when its value changed.  A "create" simply means "an object=
 now meets a filter criteria, that was not reported in the previous cycle" =
(which does not mean that the object was actually created - it may have bee=
n created, or it may have simply undergone a value change).

An alternative (let's call it alternative 2) is therefore to make a distinc=
tion between whether an object was created or deleted, or whether its value=
 fell in or out of a filter range.  This appears semantically cleaner.  How=
ever, it will require modifying the encoding to allow for distinction betwe=
en those cases (currently, just plain patch encoding is used).

A third alternative is to let filters select only data nodes to subscribe t=
o, and separate out the value filter (or disallow it as a feature altogethe=
r).  This alternative has the drawback of being less conceptually powerful,=
 even if it may be easier to implement.

Thoughts?  Any preferences between 1, 2, and 3?
--- Alex


--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1SJCEML701CHMchi_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hello all,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">In updating the YANG-Push document (draft-ietf-netco=
nf-yang-push), we have come across one issue that we wanted to raise with t=
he working group.&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">As part of an on-change subscription, update records=
 reflect the type of change (e.g. whether the value of an object has change=
d, or whether an object was created or deleted); a subscription allows also=
 to specify whether interested only
 in specific types of changes (for example, only creates and deleted but no=
 value changes).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">At the same time, a subscription filter specifies wh=
ich objects to include as part of a subscription and which not. &nbsp;(Real=
ly, it is not so much of a &#8220;filter&#8221; on a stream that is generat=
ed independently of the filter, than it is a policy
 of which objects to include as part of subscribed update records.)&nbsp; &=
nbsp;However, a subscription filter (such as XPath) can be used to also spe=
cify a value filter, which will include or exclude objects based on their c=
urrent value. This makes it possible to e.g.
 subscribe to an object &#8220;foo&#8221; but only if its value is 5.&nbsp;=
 <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Now, this means that the same object could be includ=
ed in one update, but excluded in another update, due to its value no longe=
r meeting the filter criteria.&nbsp; For example, if foo&#8217;s value chan=
ges from 5 to 3 in one cycle, a periodic subscription
 will no longer include foo in its next update.&nbsp; The question now conc=
erns how to properly handle this in the case of an on-change subscription.&=
nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">One possibility concerns reporting the fact that &#8=
220;foo&#8221; no longer meets the subscription criteria and is no longer i=
ncluded in the update record as a &#8220;delete&#8221; event.&nbsp; If foo&=
#8217;s value again becomes &#8220;5&#8221; at a later point in time, that =
would
 be reported as a &#8220;create&#8221; event.&nbsp; If foo&#8217;s value ch=
anges again from 5 at a later point in time and then changes back to 3 &nbs=
p;before the time of the update (perhaps because the value changed during t=
he dampening interval), it would be reported as another &#8220;delete&#8221=
;
 event (without ever reporting a create event).&nbsp; On the other hand, if=
 foo&#8217;s value changed from 3 to 6 and back again, nothing would be rep=
orted because it did not meet the filter criteria at any point in time.&nbs=
p;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">From the perspective of the receiver this may make s=
ense if it is synching its copy of the state.&nbsp; However, from the persp=
ective of the publisher, the object was never created or deleted &#8211; on=
ly its value changed, and the case when the object
 was truly created or deleted can no longer be distinguished from the case =
when its value changed.&nbsp; A &#8220;create&#8221; simply means &#8220;an=
 object now meets a filter criteria, that was not reported in the previous =
cycle&#8221; (which does not mean that the object was actually
 created &#8211; it may have been created, or it may have simply undergone =
a value change).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">An alternative (let&#8217;s call it alternative 2) i=
s therefore to make a distinction between whether an object was created or =
deleted, or whether its value fell in or out of a filter range.&nbsp; This =
appears semantically cleaner.&nbsp; However, it will
 require modifying the encoding to allow for distinction between those case=
s (currently, just plain patch encoding is used).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">A third alternative is to let filters select only da=
ta nodes to subscribe to, and separate out the value filter (or disallow it=
 as a feature altogether).&nbsp; This alternative has the drawback of being=
 less conceptually powerful, even if it
 may be easier to implement.&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thoughts?&nbsp; Any preferences between 1, 2, and 3?=
&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal">--- Alex <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p></o:p></p>
</div>
</body>
</html>

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1SJCEML701CHMchi_--


From nobody Wed May 17 18:35:29 2017
Return-Path: <Igor.Bryskin@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 31099129443 for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 18:35:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id E2y3wRDUIiIQ for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 18:35:26 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A098F129431 for <netconf@ietf.org>; Wed, 17 May 2017 18:35:25 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml704-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNG38840; Thu, 18 May 2017 01:35:23 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 18 May 2017 02:35:22 +0100
Received: from SJCEML702-CHM.china.huawei.com ([169.254.4.117]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Wed, 17 May 2017 18:35:15 -0700
From: Igor Bryskin <Igor.Bryskin@huawei.com>
To: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Thread-Topic: In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAIcVPg
Date: Thu, 18 May 2017 01:35:14 +0000
Message-ID: <0C72C38E7EBC34499E8A9E7DD007863909946957@SJCEML702-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.47.156.63]
Content-Type: multipart/alternative; boundary="_000_0C72C38E7EBC34499E8A9E7DD007863909946957SJCEML702CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.591CFA5C.0076, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.4.117, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: f8428a52679214cd54e44084498f0922
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/vKi--Sr90-a9YPAzRLte8XLHhCw>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 01:35:28 -0000

--_000_0C72C38E7EBC34499E8A9E7DD007863909946957SJCEML702CHMchi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Alex,

My preference is option 2. I like events Created /Deleted associated with o=
bjects actually installed /removed  in/from the data store and events Modif=
iedIn/ModifiedOut for the object values changed into/out of subscription fi=
lter specifications.

Cheers,
Igor

From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Alexander Clem=
m
Sent: Wednesday, May 17, 2017 5:30 PM
To: Netconf
Subject: [Netconf] In an update, when is a delete a delete?

Hello all,

In updating the YANG-Push document (draft-ietf-netconf-yang-push), we have =
come across one issue that we wanted to raise with the working group.

As part of an on-change subscription, update records reflect the type of ch=
ange (e.g. whether the value of an object has changed, or whether an object=
 was created or deleted); a subscription allows also to specify whether int=
erested only in specific types of changes (for example, only creates and de=
leted but no value changes).

At the same time, a subscription filter specifies which objects to include =
as part of a subscription and which not.  (Really, it is not so much of a "=
filter" on a stream that is generated independently of the filter, than it =
is a policy of which objects to include as part of subscribed update record=
s.)   However, a subscription filter (such as XPath) can be used to also sp=
ecify a value filter, which will include or exclude objects based on their =
current value. This makes it possible to e.g. subscribe to an object "foo" =
but only if its value is 5.

Now, this means that the same object could be included in one update, but e=
xcluded in another update, due to its value no longer meeting the filter cr=
iteria.  For example, if foo's value changes from 5 to 3 in one cycle, a pe=
riodic subscription will no longer include foo in its next update.  The que=
stion now concerns how to properly handle this in the case of an on-change =
subscription.

One possibility concerns reporting the fact that "foo" no longer meets the =
subscription criteria and is no longer included in the update record as a "=
delete" event.  If foo's value again becomes "5" at a later point in time, =
that would be reported as a "create" event.  If foo's value changes again f=
rom 5 at a later point in time and then changes back to 3  before the time =
of the update (perhaps because the value changed during the dampening inter=
val), it would be reported as another "delete" event (without ever reportin=
g a create event).  On the other hand, if foo's value changed from 3 to 6 a=
nd back again, nothing would be reported because it did not meet the filter=
 criteria at any point in time.

>From the perspective of the receiver this may make sense if it is synching =
its copy of the state.  However, from the perspective of the publisher, the=
 object was never created or deleted - only its value changed, and the case=
 when the object was truly created or deleted can no longer be distinguishe=
d from the case when its value changed.  A "create" simply means "an object=
 now meets a filter criteria, that was not reported in the previous cycle" =
(which does not mean that the object was actually created - it may have bee=
n created, or it may have simply undergone a value change).

An alternative (let's call it alternative 2) is therefore to make a distinc=
tion between whether an object was created or deleted, or whether its value=
 fell in or out of a filter range.  This appears semantically cleaner.  How=
ever, it will require modifying the encoding to allow for distinction betwe=
en those cases (currently, just plain patch encoding is used).

A third alternative is to let filters select only data nodes to subscribe t=
o, and separate out the value filter (or disallow it as a feature altogethe=
r).  This alternative has the drawback of being less conceptually powerful,=
 even if it may be easier to implement.

Thoughts?  Any preferences between 1, 2, and 3?
--- Alex



--_000_0C72C38E7EBC34499E8A9E7DD007863909946957SJCEML702CHMchi_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Hi Alex,<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">My preference is optio=
n 2. I like events Created /Deleted associated with objects actually instal=
led /removed&nbsp; in/from the data store and events ModifiedIn/ModifiedOut=
 for the object values changed into/out of
 subscription filter specifications.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p>&nbsp;</o:p></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Cheers,<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D">Igor <o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"color:#1F497D"><o:p>&nbsp;</o:p></spa=
n></p>
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Netconf =
[mailto:netconf-bounces@ietf.org]
<b>On Behalf Of </b>Alexander Clemm<br>
<b>Sent:</b> Wednesday, May 17, 2017 5:30 PM<br>
<b>To:</b> Netconf<br>
<b>Subject:</b> [Netconf] In an update, when is a delete a delete?<o:p></o:=
p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Hello all,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">In updating the YANG-Push document (draft-ietf-netco=
nf-yang-push), we have come across one issue that we wanted to raise with t=
he working group.&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">As part of an on-change subscription, update records=
 reflect the type of change (e.g. whether the value of an object has change=
d, or whether an object was created or deleted); a subscription allows also=
 to specify whether interested only
 in specific types of changes (for example, only creates and deleted but no=
 value changes).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">At the same time, a subscription filter specifies wh=
ich objects to include as part of a subscription and which not. &nbsp;(Real=
ly, it is not so much of a &#8220;filter&#8221; on a stream that is generat=
ed independently of the filter, than it is a policy
 of which objects to include as part of subscribed update records.)&nbsp; &=
nbsp;However, a subscription filter (such as XPath) can be used to also spe=
cify a value filter, which will include or exclude objects based on their c=
urrent value. This makes it possible to e.g.
 subscribe to an object &#8220;foo&#8221; but only if its value is 5.&nbsp;=
 <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Now, this means that the same object could be includ=
ed in one update, but excluded in another update, due to its value no longe=
r meeting the filter criteria.&nbsp; For example, if foo&#8217;s value chan=
ges from 5 to 3 in one cycle, a periodic subscription
 will no longer include foo in its next update.&nbsp; The question now conc=
erns how to properly handle this in the case of an on-change subscription.&=
nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">One possibility concerns reporting the fact that &#8=
220;foo&#8221; no longer meets the subscription criteria and is no longer i=
ncluded in the update record as a &#8220;delete&#8221; event.&nbsp; If foo&=
#8217;s value again becomes &#8220;5&#8221; at a later point in time, that =
would
 be reported as a &#8220;create&#8221; event.&nbsp; If foo&#8217;s value ch=
anges again from 5 at a later point in time and then changes back to 3 &nbs=
p;before the time of the update (perhaps because the value changed during t=
he dampening interval), it would be reported as another &#8220;delete&#8221=
;
 event (without ever reporting a create event).&nbsp; On the other hand, if=
 foo&#8217;s value changed from 3 to 6 and back again, nothing would be rep=
orted because it did not meet the filter criteria at any point in time.&nbs=
p;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">From the perspective of the receiver this may make s=
ense if it is synching its copy of the state.&nbsp; However, from the persp=
ective of the publisher, the object was never created or deleted &#8211; on=
ly its value changed, and the case when the object
 was truly created or deleted can no longer be distinguished from the case =
when its value changed.&nbsp; A &#8220;create&#8221; simply means &#8220;an=
 object now meets a filter criteria, that was not reported in the previous =
cycle&#8221; (which does not mean that the object was actually
 created &#8211; it may have been created, or it may have simply undergone =
a value change).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">An alternative (let&#8217;s call it alternative 2) i=
s therefore to make a distinction between whether an object was created or =
deleted, or whether its value fell in or out of a filter range.&nbsp; This =
appears semantically cleaner.&nbsp; However, it will
 require modifying the encoding to allow for distinction between those case=
s (currently, just plain patch encoding is used).&nbsp;
<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">A third alternative is to let filters select only da=
ta nodes to subscribe to, and separate out the value filter (or disallow it=
 as a feature altogether).&nbsp; This alternative has the drawback of being=
 less conceptually powerful, even if it
 may be easier to implement.&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thoughts?&nbsp; Any preferences between 1, 2, and 3?=
&nbsp; <o:p></o:p></p>
<p class=3D"MsoNormal">--- Alex <o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_0C72C38E7EBC34499E8A9E7DD007863909946957SJCEML702CHMchi_--


From nobody Wed May 17 20:06:42 2017
Return-Path: <randy_presuhn@alumni.stanford.edu>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 28550129BDE for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 20:06:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.501
X-Spam-Level: 
X-Spam-Status: No, score=-1.501 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qhWEproUzLwo for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 20:06:40 -0700 (PDT)
Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E9D5C12EB9B for <netconf@ietf.org>; Wed, 17 May 2017 20:01:58 -0700 (PDT)
Received: by mail-pf0-f193.google.com with SMTP id n23so3986842pfb.3 for <netconf@ietf.org>; Wed, 17 May 2017 20:01:58 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=M7yrOwDWYoCI2BcJ/YbIsph8k4xuASUGx2QYe7vkg40=; b=RW5yu6u8PC7aQKlT0xudsT8Uw6eGYFalkhVGDQywO/5XAStwVYMaKwX+CmodlfZ3ML uaSm9vXYmZVQ4QCECv+DrcOmFpEVRvc4s15b/w41RSCn+yGk/sRquAkf0QjHR38Si8Fa VKiiTLPNpdcuYeJEmPlgMl3dm+ZW2/Qdg8vxlIQZGEaUqbCrmbRNX6KiJjU9Vqi3sn6Z PpStuwvKwknsfqIljroA//Pu1JDIo+9U987LagQSoz5lE00M58VXRj718z94tFAD290g c4lIPSShsGcomQWRrRNDnv6I+ksGhguAo+JhZ2nU43bMmxMLrJgyn2aCocnhK1fLBaZg tEfg==
X-Gm-Message-State: AODbwcBEjTUQ1vgKqADWBmbynsU4js/8mvG+6TBbn3n0yMZUvphXqLnE GBfrp0DOBun++LTgVNgdow==
X-Received: by 10.84.128.66 with SMTP id 60mr2124919pla.167.1495076518213; Wed, 17 May 2017 20:01:58 -0700 (PDT)
Received: from [192.168.1.113] (c-24-130-218-233.hsd1.ca.comcast.net. [24.130.218.233]) by smtp.gmail.com with ESMTPSA id d13sm6151839pfl.12.2017.05.17.20.01.57 for <netconf@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 May 2017 20:01:57 -0700 (PDT)
To: netconf@ietf.org
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
From: Randy Presuhn <randy_presuhn@alumni.stanford.edu>
Message-ID: <591D0EA2.8070308@alumni.stanford.edu>
Date: Wed, 17 May 2017 20:01:54 -0700
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Thunderbird/38.5.0
MIME-Version: 1.0
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/iVvxiVq9Tgq7zBCye96v4Hb3sGM>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 03:06:41 -0000

Hi -

On 5/17/2017 2:29 PM, Alexander Clemm wrote:
> Thoughts?  Any preferences between 1, 2, and 3?

1 is simply awful.
2 sounds like the right general direction to me.
3 sounds klugey, but perhaps I misunderstood the proposal

Randy


From nobody Wed May 17 23:54:35 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D5C012EB51 for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 23:54:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lFIlSKMtLJWJ for <netconf@ietfa.amsl.com>; Wed, 17 May 2017 23:54:33 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id BFCC112EBE6 for <netconf@ietf.org>; Wed, 17 May 2017 23:49:24 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 487971AE034F; Thu, 18 May 2017 08:49:23 +0200 (CEST)
Date: Thu, 18 May 2017 08:49:38 +0200 (CEST)
Message-Id: <20170518.084938.2164174821851630928.mbj@tail-f.com>
To: alexander.clemm@huawei.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/SSsG_qb6foX5Ib8nSuA4MDzmFIU>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 06:54:34 -0000

Hi,

Alexander Clemm <alexander.clemm@huawei.com> wrote:
> Hello all,
> 
> In updating the YANG-Push document (draft-ietf-netconf-yang-push), we
> have come across one issue that we wanted to raise with the working
> group.
> 
> As part of an on-change subscription, update records reflect the type
> of change (e.g. whether the value of an object has changed, or whether
> an object was created or deleted); a subscription allows also to
> specify whether interested only in specific types of changes (for
> example, only creates and deleted but no value changes).
> 
> At the same time, a subscription filter specifies which objects to
> include as part of a subscription and which not.

Hmm, which filter are you talking about?  The only XPath filter I find
in the current set of documents is the
"ietf-subscribed-notifications:xpath" filter type (which btw is sorely
underspecified).  Section 2.2 of
draft-ietf-netconf-subscribed-notifications-02 says:

   Events which evaluate to "true" as a
   result of the evaluation by the filter must traverse the filter in
   their entirety.

It's not clear what this means, but my guess is that this is supposed
to work like the old RFC 5277 filters, where the filter expression is
evaluated on the notification contents, and if the expression returns
"true" (for XPath filters this means converting the results to a
boolean), then the notification is sent, otherwise not.

But it seems you are referring to some other filter which would be
used to select a node set for which changes are reported?

I would like to understand which filter mechanism you mean before
having an opinion in this matter.


/martin




> (Really, it is not
> so much of a "filter" on a stream that is generated independently of
> the filter, than it is a policy of which objects to include as part of
> subscribed update records.)  However, a subscription filter (such as
> XPath) can be used to also specify a value filter, which will include
> or exclude objects based on their current value. This makes it
> possible to e.g. subscribe to an object "foo" but only if its value is
> 5.
> 
> Now, this means that the same object could be included in one update,
> but excluded in another update, due to its value no longer meeting the
> filter criteria.  For example, if foo's value changes from 5 to 3 in
> one cycle, a periodic subscription will no longer include foo in its
> next update.  The question now concerns how to properly handle this in
> the case of an on-change subscription.
> 
> One possibility concerns reporting the fact that "foo" no longer meets
> the subscription criteria and is no longer included in the update
> record as a "delete" event.  If foo's value again becomes "5" at a
> later point in time, that would be reported as a "create" event.  If
> foo's value changes again from 5 at a later point in time and then
> changes back to 3 before the time of the update (perhaps because the
> value changed during the dampening interval), it would be reported as
> another "delete" event (without ever reporting a create event).  On
> the other hand, if foo's value changed from 3 to 6 and back again,
> nothing would be reported because it did not meet the filter criteria
> at any point in time.
> 
> >From the perspective of the receiver this may make sense if it is
> >synching its copy of the state.  However, from the perspective of the
> >publisher, the object was never created or deleted - only its value
> >changed, and the case when the object was truly created or deleted can
> >no longer be distinguished from the case when its value changed.  A
> >"create" simply means "an object now meets a filter criteria, that was
> >not reported in the previous cycle" (which does not mean that the
> >object was actually created - it may have been created, or it may have
> >simply undergone a value change).
> 
> An alternative (let's call it alternative 2) is therefore to make a
> distinction between whether an object was created or deleted, or
> whether its value fell in or out of a filter range.  This appears
> semantically cleaner.  However, it will require modifying the encoding
> to allow for distinction between those cases (currently, just plain
> patch encoding is used).
> 
> A third alternative is to let filters select only data nodes to
> subscribe to, and separate out the value filter (or disallow it as a
> feature altogether).  This alternative has the drawback of being less
> conceptually powerful, even if it may be easier to implement.
> 
> Thoughts?  Any preferences between 1, 2, and 3?
> --- Alex
> 


From nobody Thu May 18 00:58:09 2017
Return-Path: <lhotka@nic.cz>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B5E12129B5C for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 00:58:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.8
X-Spam-Level: 
X-Spam-Status: No, score=0.8 tagged_above=-999 required=5 tests=[BAYES_50=0.8] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TZ6n62NRJ1Sh for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 00:58:06 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 7137A1200ED for <netconf@ietf.org>; Thu, 18 May 2017 00:52:20 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id E96FC18211F7; Thu, 18 May 2017 09:53:05 +0200 (CEST)
Received: from localhost (unknown [195.113.220.110]) by trail.lhotka.name (Postfix) with ESMTPSA id ACA9E18201A6 for <netconf@ietf.org>; Thu, 18 May 2017 09:53:04 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Netconf <netconf@ietf.org>
Date: Thu, 18 May 2017 09:52:16 +0200
Message-ID: <m2o9uq38lr.fsf@birdie.labs.nic.cz>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Vel8BKBoIPOyJw5fETtda0J1eq4>
Subject: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 07:58:08 -0000

Hi,

what is a RESTCONF server supposed to do if message-body of a PUT method
contains config false data?

In practical terms, if a client retrieves a container resource via GET
and the container has both configuration and state data, should the
server accept the same payload sent back with PUT, or is it necessary to
remove all config false items?

This seems to be unspecified in RFC 8040.

Thanks, Lada

-- 
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu May 18 07:54:55 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C6CEE129C27 for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 07:54:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ullLBApueTcS for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 07:54:52 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id E1C7B129C31 for <netconf@ietf.org>; Thu, 18 May 2017 07:49:09 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 8321F1AE03CA; Thu, 18 May 2017 16:49:07 +0200 (CEST)
Date: Thu, 18 May 2017 16:49:22 +0200 (CEST)
Message-Id: <20170518.164922.54240181653793296.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <m2o9uq38lr.fsf@birdie.labs.nic.cz>
References: <m2o9uq38lr.fsf@birdie.labs.nic.cz>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zgtNmhZQWrgYs3IFkI7irwGcy9k>
Subject: Re: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 14:54:54 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> Hi,
> 
> what is a RESTCONF server supposed to do if message-body of a PUT method
> contains config false data?

I think it should be an error.

> In practical terms, if a client retrieves a container resource via GET
> and the container has both configuration and state data, should the
> server accept the same payload sent back with PUT, or is it necessary to
> remove all config false items?

I think the client needs to GET /...?content=config.


/martin


> This seems to be unspecified in RFC 8040.
> 
> Thanks, Lada
> 
> -- 
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
> 


From nobody Thu May 18 09:35:21 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AEEC12420B for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 09:35:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4wfzJYcMSGmO for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 09:35:15 -0700 (PDT)
Received: from mail-wm0-x22a.google.com (mail-wm0-x22a.google.com [IPv6:2a00:1450:400c:c09::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BCD3712949A for <netconf@ietf.org>; Thu, 18 May 2017 09:29:37 -0700 (PDT)
Received: by mail-wm0-x22a.google.com with SMTP id 70so52783439wmq.1 for <netconf@ietf.org>; Thu, 18 May 2017 09:29:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=MCORifo80eZ2mrejptKKDMV1blNKO50I35We3yvYoF0=; b=AVlkT0739l7r2wJCdkMzkV8oQkR+jV6GUTkCmgJHXn5e5Fpzhx4mk6P1ua7v7z/AIk jfEl7kvhmeRN5bpWBlCMfh6nizjw6WM1etERje5HVcpLC+HlchbZZ6xrpnPYOCL1crm7 t6R/thiM0BbL0952raiVQD+FNj2lQwsuFMVaq3FEmj5pakOObWLR/Uqthqp5KnJPDvcp VAZBDDZModin6iNv4KfTuZK+5JkLeYKauyNjsjr8LRsNj4fhO4228Cwcz7tES8lVVZnG VZL4Pc3NA/HY2dZn+PE33YFHuTgpxicV0d+Gped4BTkLEWpv/xXou1w0FotfdvS57qfQ bb5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=MCORifo80eZ2mrejptKKDMV1blNKO50I35We3yvYoF0=; b=SxYF8qQXCCaNQZYsmj81QJu1ogHPkpK6pVdVAl7tv/zdggUtOjC3LObTt/8a0j0Glq laLi//ghExfUUn/bBtV/tEbjRBVa6BxEQybKBYG8gkIBA1/90CU2+QOuYNSFJr7UD96j tdc4YVbmqfrsoklZ4YVR5jYoqUby8p7M6UCTkJwlqwvSCSUuiBLksqagr/8N2UfDYNIp FAL2c1xmOHRAfMs6iieuDJXXmcEiu1jJdTQ4IfOr89ASA2XI/AkNEX+5ZMWEsxp9r7iR iw6N9C05A7eK4aBppuBunB6QCJgsXG/xB6AJ5OyUBqCMe8wJBD804c1XfJqwwMzrWtlU 6Kdg==
X-Gm-Message-State: AODbwcCpRu03rTVOZOMI2v+zS8/KcadkUcvATY78UIX/qd7a3EyRgMSS 2BZU85NkeChwoZM04kgZqCzDVGPCd+0k
X-Received: by 10.28.138.73 with SMTP id m70mr13766146wmd.99.1495124976309; Thu, 18 May 2017 09:29:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 18 May 2017 09:29:35 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 18 May 2017 09:29:35 -0700
Message-ID: <CABCOCHSrZAPbF6VNF1R2-6+CPeQOi51U9KOcSXu_P0_5nbit2A@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114449361bb07b054fcee940"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/rmKpDfvOFqHZUBfQ64qb1VmmkRI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 16:35:19 -0000

--001a114449361bb07b054fcee940
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

I wonder why we really need the client to choose to subscribe to
"micro-events".
It makes sense to me for subscriptions to instance data using keys and
static leafs like if:type.
Subscribing to "foo=3D5" does not seem that useful for replicating state or
anything else.
YANG Push should not include RMON Alarms & Events type of functionality.

The trick to good standards writing is to support the use-cases in a way
that
does not introduce massive implementation complexity for functionality
outside those use-cases.

So I would pick (3) and add a warning about avoiding filters for volatile
data nodes
such as counters.


Andy


On Wed, May 17, 2017 at 2:29 PM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> Hello all,
>
>
>
> In updating the YANG-Push document (draft-ietf-netconf-yang-push), we
> have come across one issue that we wanted to raise with the working group=
.
>
>
>
> As part of an on-change subscription, update records reflect the type of
> change (e.g. whether the value of an object has changed, or whether an
> object was created or deleted); a subscription allows also to specify
> whether interested only in specific types of changes (for example, only
> creates and deleted but no value changes).
>
>
>
> At the same time, a subscription filter specifies which objects to includ=
e
> as part of a subscription and which not.  (Really, it is not so much of a
> =E2=80=9Cfilter=E2=80=9D on a stream that is generated independently of t=
he filter, than it
> is a policy of which objects to include as part of subscribed update
> records.)   However, a subscription filter (such as XPath) can be used to
> also specify a value filter, which will include or exclude objects based =
on
> their current value. This makes it possible to e.g. subscribe to an objec=
t
> =E2=80=9Cfoo=E2=80=9D but only if its value is 5.
>
>
>
> Now, this means that the same object could be included in one update, but
> excluded in another update, due to its value no longer meeting the filter
> criteria.  For example, if foo=E2=80=99s value changes from 5 to 3 in one=
 cycle, a
> periodic subscription will no longer include foo in its next update.  The
> question now concerns how to properly handle this in the case of an
> on-change subscription.
>
>
>
> One possibility concerns reporting the fact that =E2=80=9Cfoo=E2=80=9D no=
 longer meets the
> subscription criteria and is no longer included in the update record as a
> =E2=80=9Cdelete=E2=80=9D event.  If foo=E2=80=99s value again becomes =E2=
=80=9C5=E2=80=9D at a later point in time,
> that would be reported as a =E2=80=9Ccreate=E2=80=9D event.  If foo=E2=80=
=99s value changes again
> from 5 at a later point in time and then changes back to 3  before the ti=
me
> of the update (perhaps because the value changed during the dampening
> interval), it would be reported as another =E2=80=9Cdelete=E2=80=9D event=
 (without ever
> reporting a create event).  On the other hand, if foo=E2=80=99s value cha=
nged from
> 3 to 6 and back again, nothing would be reported because it did not meet
> the filter criteria at any point in time.
>
>
>
> From the perspective of the receiver this may make sense if it is synchin=
g
> its copy of the state.  However, from the perspective of the publisher, t=
he
> object was never created or deleted =E2=80=93 only its value changed, and=
 the case
> when the object was truly created or deleted can no longer be distinguish=
ed
> from the case when its value changed.  A =E2=80=9Ccreate=E2=80=9D simply =
means =E2=80=9Can object
> now meets a filter criteria, that was not reported in the previous cycle=
=E2=80=9D
> (which does not mean that the object was actually created =E2=80=93 it ma=
y have
> been created, or it may have simply undergone a value change).
>
>
>
> An alternative (let=E2=80=99s call it alternative 2) is therefore to make=
 a
> distinction between whether an object was created or deleted, or whether
> its value fell in or out of a filter range.  This appears semantically
> cleaner.  However, it will require modifying the encoding to allow for
> distinction between those cases (currently, just plain patch encoding is
> used).
>
>
>
> A third alternative is to let filters select only data nodes to subscribe
> to, and separate out the value filter (or disallow it as a feature
> altogether).  This alternative has the drawback of being less conceptuall=
y
> powerful, even if it may be easier to implement.
>
>
>
> Thoughts?  Any preferences between 1, 2, and 3?
>
> --- Alex
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>

--001a114449361bb07b054fcee940
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I wonder why we really need the cli=
ent to choose to subscribe to &quot;micro-events&quot;.</div><div>It makes =
sense to me for subscriptions to instance data using keys and static leafs =
like if:type.</div><div>Subscribing to &quot;foo=3D5&quot; does not seem th=
at useful for replicating state or anything else.</div><div>YANG Push shoul=
d not include RMON Alarms &amp; Events type of functionality.</div><div><br=
></div><div>The trick to good standards writing is to support the use-cases=
 in a way that</div><div>does not introduce massive implementation complexi=
ty for functionality</div><div>outside those use-cases.</div><div><br></div=
><div>So I would pick (3) and add a warning about avoiding filters for vola=
tile data nodes</div><div>such as counters.</div><div><br></div><div><br></=
div><div>Andy</div><div><br></div></div><div class=3D"gmail_extra"><br><div=
 class=3D"gmail_quote">On Wed, May 17, 2017 at 2:29 PM, Alexander Clemm <sp=
an dir=3D"ltr">&lt;<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"=
_blank">alexander.clemm@huawei.com</a>&gt;</span> wrote:<br><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pa=
dding-left:1ex">





<div lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"m_7508576775760495070WordSection1">
<p class=3D"MsoNormal">Hello all,<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">In updating the YANG-Push document (draft-ietf-netco=
nf-yang-push)<wbr>, we have come across one issue that we wanted to raise w=
ith the working group.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">As part of an on-change subscription, update records=
 reflect the type of change (e.g. whether the value of an object has change=
d, or whether an object was created or deleted); a subscription allows also=
 to specify whether interested only
 in specific types of changes (for example, only creates and deleted but no=
 value changes).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">At the same time, a subscription filter specifies wh=
ich objects to include as part of a subscription and which not. =C2=A0(Real=
ly, it is not so much of a =E2=80=9Cfilter=E2=80=9D on a stream that is gen=
erated independently of the filter, than it is a policy
 of which objects to include as part of subscribed update records.)=C2=A0 =
=C2=A0However, a subscription filter (such as XPath) can be used to also sp=
ecify a value filter, which will include or exclude objects based on their =
current value. This makes it possible to e.g.
 subscribe to an object =E2=80=9Cfoo=E2=80=9D but only if its value is 5.=
=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Now, this means that the same object could be includ=
ed in one update, but excluded in another update, due to its value no longe=
r meeting the filter criteria.=C2=A0 For example, if foo=E2=80=99s value ch=
anges from 5 to 3 in one cycle, a periodic subscription
 will no longer include foo in its next update.=C2=A0 The question now conc=
erns how to properly handle this in the case of an on-change subscription.=
=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">One possibility concerns reporting the fact that =E2=
=80=9Cfoo=E2=80=9D no longer meets the subscription criteria and is no long=
er included in the update record as a =E2=80=9Cdelete=E2=80=9D event.=C2=A0=
 If foo=E2=80=99s value again becomes =E2=80=9C5=E2=80=9D at a later point =
in time, that would
 be reported as a =E2=80=9Ccreate=E2=80=9D event.=C2=A0 If foo=E2=80=99s va=
lue changes again from 5 at a later point in time and then changes back to =
3 =C2=A0before the time of the update (perhaps because the value changed du=
ring the dampening interval), it would be reported as another =E2=80=9Cdele=
te=E2=80=9D
 event (without ever reporting a create event).=C2=A0 On the other hand, if=
 foo=E2=80=99s value changed from 3 to 6 and back again, nothing would be r=
eported because it did not meet the filter criteria at any point in time.=
=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">From the perspective of the receiver this may make s=
ense if it is synching its copy of the state.=C2=A0 However, from the persp=
ective of the publisher, the object was never created or deleted =E2=80=93 =
only its value changed, and the case when the object
 was truly created or deleted can no longer be distinguished from the case =
when its value changed.=C2=A0 A =E2=80=9Ccreate=E2=80=9D simply means =E2=
=80=9Can object now meets a filter criteria, that was not reported in the p=
revious cycle=E2=80=9D (which does not mean that the object was actually
 created =E2=80=93 it may have been created, or it may have simply undergon=
e a value change).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">An alternative (let=E2=80=99s call it alternative 2)=
 is therefore to make a distinction between whether an object was created o=
r deleted, or whether its value fell in or out of a filter range.=C2=A0 Thi=
s appears semantically cleaner.=C2=A0 However, it will
 require modifying the encoding to allow for distinction between those case=
s (currently, just plain patch encoding is used).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">A third alternative is to let filters select only da=
ta nodes to subscribe to, and separate out the value filter (or disallow it=
 as a feature altogether).=C2=A0 This alternative has the drawback of being=
 less conceptually powerful, even if it
 may be easier to implement.=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Thoughts?=C2=A0 Any preferences between 1, 2, and 3?=
=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">--- Alex <u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u><u></u></p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
<br></blockquote></div><br></div>

--001a114449361bb07b054fcee940--


From nobody Thu May 18 13:24:12 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F15671294A6 for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 13:24:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.521
X-Spam-Level: 
X-Spam-Status: No, score=-14.521 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wcgysOitSiTA for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 13:24:08 -0700 (PDT)
Received: from alln-iport-4.cisco.com (alln-iport-4.cisco.com [173.37.142.91]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6FDA012EB2B for <netconf@ietf.org>; Thu, 18 May 2017 13:18:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=23078; q=dns/txt; s=iport; t=1495138697; x=1496348297; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=n+jEv482VM9VJC081JZ8MPabNOOo7r7Ow8zU4nItG4A=; b=Jtllv0HkSE6fsuAKl0Dpnt6W7k+TrepAblVN0xm/RNDyFxLcsKSkCNBv QZuRYb58vthvgkD7mBf4Ko3JEAbXS1YkmCWhkZJPOwkqTlj7nWyRwH7Bi Pkx8B/l0T5t//P7q0p5SOwVSGIDDsPYe4+GnCfUD6kz8HT3x24E2zh9Ou s=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CsAQAsAR5Z/5FdJa1dGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgm5nYjJaB4NmihiRbpA+hTiCDyEBCoUuSgIahVY/GAECAQEBAQE?= =?us-ascii?q?BAWsohRgBAQEBAwEBIQpBCxACAQYCFQ8BGgMCAgIlCxQRAQEEAQ0FCIobDpEun?= =?us-ascii?q?WCCJosZAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAWGX4FegxuEM0cfglyCYAWWdIc?= =?us-ascii?q?fAZMRgg2PaokBi0QBHzg/S3AVRoR3HIFjdoclgQ0BAQE?=
X-IronPort-AV: E=Sophos;i="5.38,360,1491264000";  d="scan'208,217";a="426342191"
Received: from rcdn-core-9.cisco.com ([173.37.93.145]) by alln-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 May 2017 20:18:16 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id v4IKIFRU026785 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 18 May 2017 20:18:16 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 18 May 2017 16:18:15 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Thu, 18 May 2017 16:18:15 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>
CC: Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAwTwOAAAHgW9A=
Date: Thu, 18 May 2017 20:18:15 +0000
Message-ID: <28ae2c3002994e71890fc690fadf254a@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <CABCOCHSrZAPbF6VNF1R2-6+CPeQOi51U9KOcSXu_P0_5nbit2A@mail.gmail.com>
In-Reply-To: <CABCOCHSrZAPbF6VNF1R2-6+CPeQOi51U9KOcSXu_P0_5nbit2A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.247.169]
Content-Type: multipart/alternative; boundary="_000_28ae2c3002994e71890fc690fadf254aXCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/zIAId7qfkUMOJodwxSx9U2SO4nA>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 20:24:11 -0000

--_000_28ae2c3002994e71890fc690fadf254aXCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

TXkgYmVsaWVmIGlzIHRoYXQgd2Ugc2hvdWxkIGVuYWJsZSB0aGUgc2FtZSBjYXBhYmlsaXRpZXMg
d2l0aCBzdWJzY3JpYmUgdGhhdCBhIHBsYXRmb3JtIHdvdWxkIHN1cHBvcnQgd2l0aCBhIGdldC4g
IEFuZCB0aGUgZmlsdGVyIHN5bnRheCBzdXBwb3J0ZWQgbmVlZCBub3QgZGl2ZXJnZSBiZXR3ZWVu
IHRoZSB0d28uICBCYXNlZCBvbiB0aGF0LCBPcHRpb24gMiBpcyBteSBwcmVmZXJlbmNlLg0KDQpB
cyB3ZSBoYXZlIG5vdCBiZWVuIHNwZWNpZnlpbmcgZmlsdGVyIHN5bnRheCBjb21tYW5kIOKAmE1V
U1TigJksIHByb3BlcnR5L3ZhbHVlIGZpbHRlcmluZyB3b3VsZCBiZWNvbWUgc29tZXRoaW5nIHZl
bmRvcnMgY291bGQgY2hvb3NlIHRvIHN1cHBvcnQgb3Igbm90LiAgKEkuZS4sIGNvZGlmeWluZyBh
biBleHBsaWNpdCDigJxNQVkgTk9U4oCdIGZvciBmaWx0ZXJpbmcgc2VlbXMgcHJlbWF0dXJlLikN
Cg0KRXJpYw0KDQpGcm9tOiBOZXRjb25mLCBNYXkgMTgsIDIwMTcgMTI6MzAgUE0NCg0KSGksDQoN
Ckkgd29uZGVyIHdoeSB3ZSByZWFsbHkgbmVlZCB0aGUgY2xpZW50IHRvIGNob29zZSB0byBzdWJz
Y3JpYmUgdG8gIm1pY3JvLWV2ZW50cyIuDQpJdCBtYWtlcyBzZW5zZSB0byBtZSBmb3Igc3Vic2Ny
aXB0aW9ucyB0byBpbnN0YW5jZSBkYXRhIHVzaW5nIGtleXMgYW5kIHN0YXRpYyBsZWFmcyBsaWtl
IGlmOnR5cGUuDQpTdWJzY3JpYmluZyB0byAiZm9vPTUiIGRvZXMgbm90IHNlZW0gdGhhdCB1c2Vm
dWwgZm9yIHJlcGxpY2F0aW5nIHN0YXRlIG9yIGFueXRoaW5nIGVsc2UuDQpZQU5HIFB1c2ggc2hv
dWxkIG5vdCBpbmNsdWRlIFJNT04gQWxhcm1zICYgRXZlbnRzIHR5cGUgb2YgZnVuY3Rpb25hbGl0
eS4NCg0KVGhlIHRyaWNrIHRvIGdvb2Qgc3RhbmRhcmRzIHdyaXRpbmcgaXMgdG8gc3VwcG9ydCB0
aGUgdXNlLWNhc2VzIGluIGEgd2F5IHRoYXQNCmRvZXMgbm90IGludHJvZHVjZSBtYXNzaXZlIGlt
cGxlbWVudGF0aW9uIGNvbXBsZXhpdHkgZm9yIGZ1bmN0aW9uYWxpdHkNCm91dHNpZGUgdGhvc2Ug
dXNlLWNhc2VzLg0KDQpTbyBJIHdvdWxkIHBpY2sgKDMpIGFuZCBhZGQgYSB3YXJuaW5nIGFib3V0
IGF2b2lkaW5nIGZpbHRlcnMgZm9yIHZvbGF0aWxlIGRhdGEgbm9kZXMNCnN1Y2ggYXMgY291bnRl
cnMuDQoNCg0KQW5keQ0KDQoNCk9uIFdlZCwgTWF5IDE3LCAyMDE3IGF0IDI6MjkgUE0sIEFsZXhh
bmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb208bWFpbHRvOmFsZXhhbmRlci5j
bGVtbUBodWF3ZWkuY29tPj4gd3JvdGU6DQpIZWxsbyBhbGwsDQoNCkluIHVwZGF0aW5nIHRoZSBZ
QU5HLVB1c2ggZG9jdW1lbnQgKGRyYWZ0LWlldGYtbmV0Y29uZi15YW5nLXB1c2gpLCB3ZSBoYXZl
IGNvbWUgYWNyb3NzIG9uZSBpc3N1ZSB0aGF0IHdlIHdhbnRlZCB0byByYWlzZSB3aXRoIHRoZSB3
b3JraW5nIGdyb3VwLg0KDQpBcyBwYXJ0IG9mIGFuIG9uLWNoYW5nZSBzdWJzY3JpcHRpb24sIHVw
ZGF0ZSByZWNvcmRzIHJlZmxlY3QgdGhlIHR5cGUgb2YgY2hhbmdlIChlLmcuIHdoZXRoZXIgdGhl
IHZhbHVlIG9mIGFuIG9iamVjdCBoYXMgY2hhbmdlZCwgb3Igd2hldGhlciBhbiBvYmplY3Qgd2Fz
IGNyZWF0ZWQgb3IgZGVsZXRlZCk7IGEgc3Vic2NyaXB0aW9uIGFsbG93cyBhbHNvIHRvIHNwZWNp
Znkgd2hldGhlciBpbnRlcmVzdGVkIG9ubHkgaW4gc3BlY2lmaWMgdHlwZXMgb2YgY2hhbmdlcyAo
Zm9yIGV4YW1wbGUsIG9ubHkgY3JlYXRlcyBhbmQgZGVsZXRlZCBidXQgbm8gdmFsdWUgY2hhbmdl
cykuDQoNCkF0IHRoZSBzYW1lIHRpbWUsIGEgc3Vic2NyaXB0aW9uIGZpbHRlciBzcGVjaWZpZXMg
d2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2YgYSBzdWJzY3JpcHRpb24gYW5kIHdo
aWNoIG5vdC4gIChSZWFsbHksIGl0IGlzIG5vdCBzbyBtdWNoIG9mIGEg4oCcZmlsdGVy4oCdIG9u
IGEgc3RyZWFtIHRoYXQgaXMgZ2VuZXJhdGVkIGluZGVwZW5kZW50bHkgb2YgdGhlIGZpbHRlciwg
dGhhbiBpdCBpcyBhIHBvbGljeSBvZiB3aGljaCBvYmplY3RzIHRvIGluY2x1ZGUgYXMgcGFydCBv
ZiBzdWJzY3JpYmVkIHVwZGF0ZSByZWNvcmRzLikgICBIb3dldmVyLCBhIHN1YnNjcmlwdGlvbiBm
aWx0ZXIgKHN1Y2ggYXMgWFBhdGgpIGNhbiBiZSB1c2VkIHRvIGFsc28gc3BlY2lmeSBhIHZhbHVl
IGZpbHRlciwgd2hpY2ggd2lsbCBpbmNsdWRlIG9yIGV4Y2x1ZGUgb2JqZWN0cyBiYXNlZCBvbiB0
aGVpciBjdXJyZW50IHZhbHVlLiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGUuZy4gc3Vic2Ny
aWJlIHRvIGFuIG9iamVjdCDigJxmb2/igJ0gYnV0IG9ubHkgaWYgaXRzIHZhbHVlIGlzIDUuDQoN
Ck5vdywgdGhpcyBtZWFucyB0aGF0IHRoZSBzYW1lIG9iamVjdCBjb3VsZCBiZSBpbmNsdWRlZCBp
biBvbmUgdXBkYXRlLCBidXQgZXhjbHVkZWQgaW4gYW5vdGhlciB1cGRhdGUsIGR1ZSB0byBpdHMg
dmFsdWUgbm8gbG9uZ2VyIG1lZXRpbmcgdGhlIGZpbHRlciBjcml0ZXJpYS4gIEZvciBleGFtcGxl
LCBpZiBmb2/igJlzIHZhbHVlIGNoYW5nZXMgZnJvbSA1IHRvIDMgaW4gb25lIGN5Y2xlLCBhIHBl
cmlvZGljIHN1YnNjcmlwdGlvbiB3aWxsIG5vIGxvbmdlciBpbmNsdWRlIGZvbyBpbiBpdHMgbmV4
dCB1cGRhdGUuICBUaGUgcXVlc3Rpb24gbm93IGNvbmNlcm5zIGhvdyB0byBwcm9wZXJseSBoYW5k
bGUgdGhpcyBpbiB0aGUgY2FzZSBvZiBhbiBvbi1jaGFuZ2Ugc3Vic2NyaXB0aW9uLg0KDQpPbmUg
cG9zc2liaWxpdHkgY29uY2VybnMgcmVwb3J0aW5nIHRoZSBmYWN0IHRoYXQg4oCcZm9v4oCdIG5v
IGxvbmdlciBtZWV0cyB0aGUgc3Vic2NyaXB0aW9uIGNyaXRlcmlhIGFuZCBpcyBubyBsb25nZXIg
aW5jbHVkZWQgaW4gdGhlIHVwZGF0ZSByZWNvcmQgYXMgYSDigJxkZWxldGXigJ0gZXZlbnQuICBJ
ZiBmb2/igJlzIHZhbHVlIGFnYWluIGJlY29tZXMg4oCcNeKAnSBhdCBhIGxhdGVyIHBvaW50IGlu
IHRpbWUsIHRoYXQgd291bGQgYmUgcmVwb3J0ZWQgYXMgYSDigJxjcmVhdGXigJ0gZXZlbnQuICBJ
ZiBmb2/igJlzIHZhbHVlIGNoYW5nZXMgYWdhaW4gZnJvbSA1IGF0IGEgbGF0ZXIgcG9pbnQgaW4g
dGltZSBhbmQgdGhlbiBjaGFuZ2VzIGJhY2sgdG8gMyAgYmVmb3JlIHRoZSB0aW1lIG9mIHRoZSB1
cGRhdGUgKHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFsdWUgY2hhbmdlZCBkdXJpbmcgdGhlIGRhbXBl
bmluZyBpbnRlcnZhbCksIGl0IHdvdWxkIGJlIHJlcG9ydGVkIGFzIGFub3RoZXIg4oCcZGVsZXRl
4oCdIGV2ZW50ICh3aXRob3V0IGV2ZXIgcmVwb3J0aW5nIGEgY3JlYXRlIGV2ZW50KS4gIE9uIHRo
ZSBvdGhlciBoYW5kLCBpZiBmb2/igJlzIHZhbHVlIGNoYW5nZWQgZnJvbSAzIHRvIDYgYW5kIGJh
Y2sgYWdhaW4sIG5vdGhpbmcgd291bGQgYmUgcmVwb3J0ZWQgYmVjYXVzZSBpdCBkaWQgbm90IG1l
ZXQgdGhlIGZpbHRlciBjcml0ZXJpYSBhdCBhbnkgcG9pbnQgaW4gdGltZS4NCg0KRnJvbSB0aGUg
cGVyc3BlY3RpdmUgb2YgdGhlIHJlY2VpdmVyIHRoaXMgbWF5IG1ha2Ugc2Vuc2UgaWYgaXQgaXMg
c3luY2hpbmcgaXRzIGNvcHkgb2YgdGhlIHN0YXRlLiAgSG93ZXZlciwgZnJvbSB0aGUgcGVyc3Bl
Y3RpdmUgb2YgdGhlIHB1Ymxpc2hlciwgdGhlIG9iamVjdCB3YXMgbmV2ZXIgY3JlYXRlZCBvciBk
ZWxldGVkIOKAkyBvbmx5IGl0cyB2YWx1ZSBjaGFuZ2VkLCBhbmQgdGhlIGNhc2Ugd2hlbiB0aGUg
b2JqZWN0IHdhcyB0cnVseSBjcmVhdGVkIG9yIGRlbGV0ZWQgY2FuIG5vIGxvbmdlciBiZSBkaXN0
aW5ndWlzaGVkIGZyb20gdGhlIGNhc2Ugd2hlbiBpdHMgdmFsdWUgY2hhbmdlZC4gIEEg4oCcY3Jl
YXRl4oCdIHNpbXBseSBtZWFucyDigJxhbiBvYmplY3Qgbm93IG1lZXRzIGEgZmlsdGVyIGNyaXRl
cmlhLCB0aGF0IHdhcyBub3QgcmVwb3J0ZWQgaW4gdGhlIHByZXZpb3VzIGN5Y2xl4oCdICh3aGlj
aCBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIG9iamVjdCB3YXMgYWN0dWFsbHkgY3JlYXRlZCDigJMg
aXQgbWF5IGhhdmUgYmVlbiBjcmVhdGVkLCBvciBpdCBtYXkgaGF2ZSBzaW1wbHkgdW5kZXJnb25l
IGEgdmFsdWUgY2hhbmdlKS4NCg0KQW4gYWx0ZXJuYXRpdmUgKGxldOKAmXMgY2FsbCBpdCBhbHRl
cm5hdGl2ZSAyKSBpcyB0aGVyZWZvcmUgdG8gbWFrZSBhIGRpc3RpbmN0aW9uIGJldHdlZW4gd2hl
dGhlciBhbiBvYmplY3Qgd2FzIGNyZWF0ZWQgb3IgZGVsZXRlZCwgb3Igd2hldGhlciBpdHMgdmFs
dWUgZmVsbCBpbiBvciBvdXQgb2YgYSBmaWx0ZXIgcmFuZ2UuICBUaGlzIGFwcGVhcnMgc2VtYW50
aWNhbGx5IGNsZWFuZXIuICBIb3dldmVyLCBpdCB3aWxsIHJlcXVpcmUgbW9kaWZ5aW5nIHRoZSBl
bmNvZGluZyB0byBhbGxvdyBmb3IgZGlzdGluY3Rpb24gYmV0d2VlbiB0aG9zZSBjYXNlcyAoY3Vy
cmVudGx5LCBqdXN0IHBsYWluIHBhdGNoIGVuY29kaW5nIGlzIHVzZWQpLg0KDQpBIHRoaXJkIGFs
dGVybmF0aXZlIGlzIHRvIGxldCBmaWx0ZXJzIHNlbGVjdCBvbmx5IGRhdGEgbm9kZXMgdG8gc3Vi
c2NyaWJlIHRvLCBhbmQgc2VwYXJhdGUgb3V0IHRoZSB2YWx1ZSBmaWx0ZXIgKG9yIGRpc2FsbG93
IGl0IGFzIGEgZmVhdHVyZSBhbHRvZ2V0aGVyKS4gIFRoaXMgYWx0ZXJuYXRpdmUgaGFzIHRoZSBk
cmF3YmFjayBvZiBiZWluZyBsZXNzIGNvbmNlcHR1YWxseSBwb3dlcmZ1bCwgZXZlbiBpZiBpdCBt
YXkgYmUgZWFzaWVyIHRvIGltcGxlbWVudC4NCg0KVGhvdWdodHM/ICBBbnkgcHJlZmVyZW5jZXMg
YmV0d2VlbiAxLCAyLCBhbmQgMz8NCi0tLSBBbGV4DQoNCg0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNvbmYgbWFpbGluZyBsaXN0DQpOZXRjb25m
QGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3JnPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcv
bWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_28ae2c3002994e71890fc690fadf254aXCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1z
b25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCglt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4
DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0
eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBp
biAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rp
b24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1
bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzpp
ZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtl
bmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0i
cHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+TXkgYmVsaWVmIGlzIHRoYXQgd2Ugc2hv
dWxkIGVuYWJsZSB0aGUgc2FtZSBjYXBhYmlsaXRpZXMgd2l0aCBzdWJzY3JpYmUgdGhhdCBhIHBs
YXRmb3JtIHdvdWxkIHN1cHBvcnQgd2l0aCBhIGdldC4mbmJzcDsgQW5kIHRoZSBmaWx0ZXIgc3lu
dGF4IHN1cHBvcnRlZCBuZWVkIG5vdCBkaXZlcmdlDQogYmV0d2VlbiB0aGUgdHdvLiAmbmJzcDtC
YXNlZCBvbiB0aGF0LCBPcHRpb24gMiBpcyBteSBwcmVmZXJlbmNlLjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+QXMgd2UgaGF2ZSBub3QgYmVlbiBzcGVjaWZ5aW5n
IGZpbHRlciBzeW50YXggY29tbWFuZCDigJhNVVNU4oCZLCBwcm9wZXJ0eS92YWx1ZSBmaWx0ZXJp
bmcgd291bGQgYmVjb21lIHNvbWV0aGluZyB2ZW5kb3JzIGNvdWxkIGNob29zZSB0byBzdXBwb3J0
IG9yIG5vdC4mbmJzcDsgKEkuZS4sIGNvZGlmeWluZw0KIGFuIGV4cGxpY2l0IOKAnE1BWSBOT1Ti
gJ0gZm9yIGZpbHRlcmluZyBzZWVtcyBwcmVtYXR1cmUuKSZuYnNwOyA8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3
RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkVyaWM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4m
bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl
ZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxkaXY+DQo8
ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFk
ZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBOZXRjb25mLCBNYXkg
MTgsIDIwMTcgMTI6MzAgUE08YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkhpLDxvOnA+PC9vOnA+PC9w
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSB3b25kZXIgd2h5IHdlIHJlYWxseSBu
ZWVkIHRoZSBjbGllbnQgdG8gY2hvb3NlIHRvIHN1YnNjcmliZSB0byAmcXVvdDttaWNyby1ldmVu
dHMmcXVvdDsuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj5JdCBtYWtlcyBzZW5zZSB0byBtZSBmb3Igc3Vic2NyaXB0aW9ucyB0byBpbnN0YW5jZSBk
YXRhIHVzaW5nIGtleXMgYW5kIHN0YXRpYyBsZWFmcyBsaWtlIGlmOnR5cGUuPG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TdWJzY3JpYmluZyB0byAm
cXVvdDtmb289NSZxdW90OyBkb2VzIG5vdCBzZWVtIHRoYXQgdXNlZnVsIGZvciByZXBsaWNhdGlu
ZyBzdGF0ZSBvciBhbnl0aGluZyBlbHNlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+WUFORyBQdXNoIHNob3VsZCBub3QgaW5jbHVkZSBSTU9OIEFs
YXJtcyAmYW1wOyBFdmVudHMgdHlwZSBvZiBmdW5jdGlvbmFsaXR5LjxvOnA+PC9vOnA+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgdHJpY2sgdG8gZ29vZCBz
dGFuZGFyZHMgd3JpdGluZyBpcyB0byBzdXBwb3J0IHRoZSB1c2UtY2FzZXMgaW4gYSB3YXkgdGhh
dDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ZG9l
cyBub3QgaW50cm9kdWNlIG1hc3NpdmUgaW1wbGVtZW50YXRpb24gY29tcGxleGl0eSBmb3IgZnVu
Y3Rpb25hbGl0eTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+b3V0c2lkZSB0aG9zZSB1c2UtY2FzZXMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlNvIEkgd291bGQgcGljayAoMykgYW5kIGFkZCBh
IHdhcm5pbmcgYWJvdXQgYXZvaWRpbmcgZmlsdGVycyBmb3Igdm9sYXRpbGUgZGF0YSBub2Rlczxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+c3VjaCBh
cyBjb3VudGVycy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj5BbmR5PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+T24gV2VkLCBNYXkgMTcsIDIwMTcgYXQgMjoyOSBQTSwgQWxleGFuZGVy
IENsZW1tICZsdDs8YSBocmVmPSJtYWlsdG86YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20iIHRh
cmdldD0iX2JsYW5rIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxv
OnA+PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0
OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVm
dDo0LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj5IZWxsbyBhbGwsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5JbiB1cGRhdGlu
ZyB0aGUgWUFORy1QdXNoIGRvY3VtZW50IChkcmFmdC1pZXRmLW5ldGNvbmYteWFuZy1wdXNoKSwg
d2UgaGF2ZSBjb21lIGFjcm9zcyBvbmUgaXNzdWUgdGhhdCB3ZSB3YW50ZWQgdG8gcmFpc2Ugd2l0
aCB0aGUgd29ya2luZyBncm91cC4mbmJzcDsNCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
QXMgcGFydCBvZiBhbiBvbi1jaGFuZ2Ugc3Vic2NyaXB0aW9uLCB1cGRhdGUgcmVjb3JkcyByZWZs
ZWN0IHRoZSB0eXBlIG9mIGNoYW5nZSAoZS5nLiB3aGV0aGVyIHRoZSB2YWx1ZSBvZiBhbiBvYmpl
Y3QgaGFzIGNoYW5nZWQsIG9yIHdoZXRoZXIgYW4gb2JqZWN0IHdhcyBjcmVhdGVkIG9yIGRlbGV0
ZWQpOyBhDQogc3Vic2NyaXB0aW9uIGFsbG93cyBhbHNvIHRvIHNwZWNpZnkgd2hldGhlciBpbnRl
cmVzdGVkIG9ubHkgaW4gc3BlY2lmaWMgdHlwZXMgb2YgY2hhbmdlcyAoZm9yIGV4YW1wbGUsIG9u
bHkgY3JlYXRlcyBhbmQgZGVsZXRlZCBidXQgbm8gdmFsdWUgY2hhbmdlcykuJm5ic3A7DQo8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkF0IHRoZSBzYW1lIHRpbWUsIGEgc3Vic2NyaXB0aW9u
IGZpbHRlciBzcGVjaWZpZXMgd2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2YgYSBz
dWJzY3JpcHRpb24gYW5kIHdoaWNoIG5vdC4gJm5ic3A7KFJlYWxseSwgaXQgaXMgbm90IHNvIG11
Y2ggb2YgYSDigJxmaWx0ZXLigJ0gb24gYSBzdHJlYW0gdGhhdCBpcw0KIGdlbmVyYXRlZCBpbmRl
cGVuZGVudGx5IG9mIHRoZSBmaWx0ZXIsIHRoYW4gaXQgaXMgYSBwb2xpY3kgb2Ygd2hpY2ggb2Jq
ZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Ygc3Vic2NyaWJlZCB1cGRhdGUgcmVjb3Jkcy4pJm5i
c3A7ICZuYnNwO0hvd2V2ZXIsIGEgc3Vic2NyaXB0aW9uIGZpbHRlciAoc3VjaCBhcyBYUGF0aCkg
Y2FuIGJlIHVzZWQgdG8gYWxzbyBzcGVjaWZ5IGEgdmFsdWUgZmlsdGVyLCB3aGljaCB3aWxsIGlu
Y2x1ZGUgb3IgZXhjbHVkZSBvYmplY3RzDQogYmFzZWQgb24gdGhlaXIgY3VycmVudCB2YWx1ZS4g
VGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlLmcuIHN1YnNjcmliZSB0byBhbiBvYmplY3Qg4oCc
Zm9v4oCdIGJ1dCBvbmx5IGlmIGl0cyB2YWx1ZSBpcyA1LiZuYnNwOw0KPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj5Ob3csIHRoaXMgbWVhbnMgdGhhdCB0aGUgc2FtZSBvYmplY3QgY291bGQg
YmUgaW5jbHVkZWQgaW4gb25lIHVwZGF0ZSwgYnV0IGV4Y2x1ZGVkIGluIGFub3RoZXIgdXBkYXRl
LCBkdWUgdG8gaXRzIHZhbHVlIG5vIGxvbmdlciBtZWV0aW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEu
Jm5ic3A7IEZvciBleGFtcGxlLCBpZiBmb2/igJlzDQogdmFsdWUgY2hhbmdlcyBmcm9tIDUgdG8g
MyBpbiBvbmUgY3ljbGUsIGEgcGVyaW9kaWMgc3Vic2NyaXB0aW9uIHdpbGwgbm8gbG9uZ2VyIGlu
Y2x1ZGUgZm9vIGluIGl0cyBuZXh0IHVwZGF0ZS4mbmJzcDsgVGhlIHF1ZXN0aW9uIG5vdyBjb25j
ZXJucyBob3cgdG8gcHJvcGVybHkgaGFuZGxlIHRoaXMgaW4gdGhlIGNhc2Ugb2YgYW4gb24tY2hh
bmdlIHN1YnNjcmlwdGlvbi4mbmJzcDsNCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+T25l
IHBvc3NpYmlsaXR5IGNvbmNlcm5zIHJlcG9ydGluZyB0aGUgZmFjdCB0aGF0IOKAnGZvb+KAnSBu
byBsb25nZXIgbWVldHMgdGhlIHN1YnNjcmlwdGlvbiBjcml0ZXJpYSBhbmQgaXMgbm8gbG9uZ2Vy
IGluY2x1ZGVkIGluIHRoZSB1cGRhdGUgcmVjb3JkIGFzIGEg4oCcZGVsZXRl4oCdIGV2ZW50LiZu
YnNwOyBJZiBmb2/igJlzIHZhbHVlDQogYWdhaW4gYmVjb21lcyDigJw14oCdIGF0IGEgbGF0ZXIg
cG9pbnQgaW4gdGltZSwgdGhhdCB3b3VsZCBiZSByZXBvcnRlZCBhcyBhIOKAnGNyZWF0ZeKAnSBl
dmVudC4mbmJzcDsgSWYgZm9v4oCZcyB2YWx1ZSBjaGFuZ2VzIGFnYWluIGZyb20gNSBhdCBhIGxh
dGVyIHBvaW50IGluIHRpbWUgYW5kIHRoZW4gY2hhbmdlcyBiYWNrIHRvIDMgJm5ic3A7YmVmb3Jl
IHRoZSB0aW1lIG9mIHRoZSB1cGRhdGUgKHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFsdWUgY2hhbmdl
ZCBkdXJpbmcgdGhlIGRhbXBlbmluZw0KIGludGVydmFsKSwgaXQgd291bGQgYmUgcmVwb3J0ZWQg
YXMgYW5vdGhlciDigJxkZWxldGXigJ0gZXZlbnQgKHdpdGhvdXQgZXZlciByZXBvcnRpbmcgYSBj
cmVhdGUgZXZlbnQpLiZuYnNwOyBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgZm9v4oCZcyB2YWx1ZSBj
aGFuZ2VkIGZyb20gMyB0byA2IGFuZCBiYWNrIGFnYWluLCBub3RoaW5nIHdvdWxkIGJlIHJlcG9y
dGVkIGJlY2F1c2UgaXQgZGlkIG5vdCBtZWV0IHRoZSBmaWx0ZXIgY3JpdGVyaWEgYXQgYW55IHBv
aW50IGluDQogdGltZS4mbmJzcDsgPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5Gcm9tIHRo
ZSBwZXJzcGVjdGl2ZSBvZiB0aGUgcmVjZWl2ZXIgdGhpcyBtYXkgbWFrZSBzZW5zZSBpZiBpdCBp
cyBzeW5jaGluZyBpdHMgY29weSBvZiB0aGUgc3RhdGUuJm5ic3A7IEhvd2V2ZXIsIGZyb20gdGhl
IHBlcnNwZWN0aXZlIG9mIHRoZSBwdWJsaXNoZXIsIHRoZSBvYmplY3Qgd2FzIG5ldmVyIGNyZWF0
ZWQgb3INCiBkZWxldGVkIOKAkyBvbmx5IGl0cyB2YWx1ZSBjaGFuZ2VkLCBhbmQgdGhlIGNhc2Ug
d2hlbiB0aGUgb2JqZWN0IHdhcyB0cnVseSBjcmVhdGVkIG9yIGRlbGV0ZWQgY2FuIG5vIGxvbmdl
ciBiZSBkaXN0aW5ndWlzaGVkIGZyb20gdGhlIGNhc2Ugd2hlbiBpdHMgdmFsdWUgY2hhbmdlZC4m
bmJzcDsgQSDigJxjcmVhdGXigJ0gc2ltcGx5IG1lYW5zIOKAnGFuIG9iamVjdCBub3cgbWVldHMg
YSBmaWx0ZXIgY3JpdGVyaWEsIHRoYXQgd2FzIG5vdCByZXBvcnRlZCBpbiB0aGUgcHJldmlvdXMN
CiBjeWNsZeKAnSAod2hpY2ggZG9lcyBub3QgbWVhbiB0aGF0IHRoZSBvYmplY3Qgd2FzIGFjdHVh
bGx5IGNyZWF0ZWQg4oCTIGl0IG1heSBoYXZlIGJlZW4gY3JlYXRlZCwgb3IgaXQgbWF5IGhhdmUg
c2ltcGx5IHVuZGVyZ29uZSBhIHZhbHVlIGNoYW5nZSkuJm5ic3A7DQo8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPkFuIGFsdGVybmF0aXZlIChsZXTigJlzIGNhbGwgaXQgYWx0ZXJuYXRpdmUg
MikgaXMgdGhlcmVmb3JlIHRvIG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHdoZXRoZXIgYW4g
b2JqZWN0IHdhcyBjcmVhdGVkIG9yIGRlbGV0ZWQsIG9yIHdoZXRoZXIgaXRzIHZhbHVlIGZlbGwg
aW4gb3Igb3V0IG9mIGEgZmlsdGVyDQogcmFuZ2UuJm5ic3A7IFRoaXMgYXBwZWFycyBzZW1hbnRp
Y2FsbHkgY2xlYW5lci4mbmJzcDsgSG93ZXZlciwgaXQgd2lsbCByZXF1aXJlIG1vZGlmeWluZyB0
aGUgZW5jb2RpbmcgdG8gYWxsb3cgZm9yIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhvc2UgY2FzZXMg
KGN1cnJlbnRseSwganVzdCBwbGFpbiBwYXRjaCBlbmNvZGluZyBpcyB1c2VkKS4mbmJzcDsNCjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+QSB0aGlyZCBhbHRlcm5hdGl2ZSBpcyB0byBsZXQg
ZmlsdGVycyBzZWxlY3Qgb25seSBkYXRhIG5vZGVzIHRvIHN1YnNjcmliZSB0bywgYW5kIHNlcGFy
YXRlIG91dCB0aGUgdmFsdWUgZmlsdGVyIChvciBkaXNhbGxvdyBpdCBhcyBhIGZlYXR1cmUgYWx0
b2dldGhlcikuJm5ic3A7IFRoaXMgYWx0ZXJuYXRpdmUgaGFzIHRoZQ0KIGRyYXdiYWNrIG9mIGJl
aW5nIGxlc3MgY29uY2VwdHVhbGx5IHBvd2VyZnVsLCBldmVuIGlmIGl0IG1heSBiZSBlYXNpZXIg
dG8gaW1wbGVtZW50LiZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5UaG91Z2h0
cz8mbmJzcDsgQW55IHByZWZlcmVuY2VzIGJldHdlZW4gMSwgMiwgYW5kIDM/Jm5ic3A7DQo8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+LS0tIEFsZXgNCjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2
Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMi4w
cHQiPjxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
PGJyPg0KTmV0Y29uZiBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86TmV0Y29uZkBp
ZXRmLm9yZyI+TmV0Y29uZkBpZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3dy5p
ZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYiIHRhcmdldD0iX2JsYW5rIj5odHRwczov
L3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmY8L2E+PG86cD48L286cD48L3A+
DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_28ae2c3002994e71890fc690fadf254aXCHRTP013ciscocom_--


From nobody Thu May 18 13:40:14 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 04E9E129ACC for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 13:40:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FnssCx5tpKDL for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 13:40:03 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EFCA3129445 for <netconf@ietf.org>; Thu, 18 May 2017 13:33:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5429; q=dns/txt; s=iport; t=1495139594; x=1496349194; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=snMwtVML/gaVohDWDp2SZAkYDn8ZNTJpO1jCNRKrihI=; b=Jb3tUj9cZr3Qhmg8TYrzYRc6h96LRtvbv6UdEjyArDHzALsMgoyc9jY9 Y5tRuR+uP32z0gaMJfBTzaBahbQk3qL5cDextgshjMKfV72OlhKG0uUIa 1uJoWD2ErqwfJbumsGjtDkGIfQT1sWfJZ0QsqPrj3vrJnvmD4372Nituu 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AmAQCnBB5Z/49dJa1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBg1ViMloHjX6RbpV2gg8hC4UuSgKFcD8YAQIBAQEBAQEBayiFGAE?= =?us-ascii?q?BAQECAQEBODQLBQsCAQgOBwMMAREQJwslAQEEAQ0FCIoTCA6xMosZAQEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBGAWGX4RFNIQzhiIFnhMBkxGCDY9qiQGLRAEfOIEKcBV?= =?us-ascii?q?GhHccgWN2hyWBDQEBAQ?=
X-IronPort-AV: E=Sophos;i="5.38,360,1491264000"; d="scan'208";a="426696728"
Received: from rcdn-core-7.cisco.com ([173.37.93.143]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 May 2017 20:33:02 +0000
Received: from XCH-RTP-013.cisco.com (xch-rtp-013.cisco.com [64.101.220.153]) by rcdn-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id v4IKX1vb011443 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 18 May 2017 20:33:02 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-013.cisco.com (64.101.220.153) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 18 May 2017 16:33:01 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Thu, 18 May 2017 16:33:01 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAcDdsAABPNCiA=
Date: Thu, 18 May 2017 20:33:01 +0000
Message-ID: <bd24cfd00810475093cab0e07602127e@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <20170518.084938.2164174821851630928.mbj@tail-f.com>
In-Reply-To: <20170518.084938.2164174821851630928.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.82.247.169]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/nuc2ohuxi_IfgDuqXS-ZBTk-A3I>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 20:40:06 -0000

> From: Martin Bjorklund, May 18, 2017 2:50 AM
>=20
> Hi,
>=20
> Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > Hello all,
> >
> > In updating the YANG-Push document (draft-ietf-netconf-yang-push), we
> > have come across one issue that we wanted to raise with the working
> > group.
> >
> > As part of an on-change subscription, update records reflect the type
> > of change (e.g. whether the value of an object has changed, or whether
> > an object was created or deleted); a subscription allows also to
> > specify whether interested only in specific types of changes (for
> > example, only creates and deleted but no value changes).
> >
> > At the same time, a subscription filter specifies which objects to
> > include as part of a subscription and which not.
>=20
> Hmm, which filter are you talking about?  The only XPath filter I find in=
 the
> current set of documents is the "ietf-subscribed-notifications:xpath" fil=
ter
> type (which btw is sorely underspecified).  Section 2.2 of
> draft-ietf-netconf-subscribed-notifications-02 says:
>=20
>    Events which evaluate to "true" as a
>    result of the evaluation by the filter must traverse the filter in
>    their entirety.
>=20
> It's not clear what this means, but my guess is that this is supposed to =
work
> like the old RFC 5277 filters, where the filter expression is evaluated o=
n the
> notification contents, and if the expression returns "true" (for XPath fi=
lters this
> means converting the results to a boolean), then the notification is sent=
,
> otherwise not.

This is the case for events.  For these, the filter should result in a yes/=
no for any event in a stream.
=20
> But it seems you are referring to some other filter which would be used t=
o
> select a node set for which changes are reported?

For datastores, I suspect the RFC6241 selection filter should be the domina=
nt one.   But it is conceivable that an XPATH selection filter (i.e., not a=
 boolean result) could be provided.=20

Eric

> I would like to understand which filter mechanism you mean before having =
an
> opinion in this matter.
>=20
>=20
> /martin
>=20
>=20
>=20
>=20
> > (Really, it is not
> > so much of a "filter" on a stream that is generated independently of
> > the filter, than it is a policy of which objects to include as part of
> > subscribed update records.)  However, a subscription filter (such as
> > XPath) can be used to also specify a value filter, which will include
> > or exclude objects based on their current value. This makes it
> > possible to e.g. subscribe to an object "foo" but only if its value is
> > 5.
> >
> > Now, this means that the same object could be included in one update,
> > but excluded in another update, due to its value no longer meeting the
> > filter criteria.  For example, if foo's value changes from 5 to 3 in
> > one cycle, a periodic subscription will no longer include foo in its
> > next update.  The question now concerns how to properly handle this in
> > the case of an on-change subscription.
> >
> > One possibility concerns reporting the fact that "foo" no longer meets
> > the subscription criteria and is no longer included in the update
> > record as a "delete" event.  If foo's value again becomes "5" at a
> > later point in time, that would be reported as a "create" event.  If
> > foo's value changes again from 5 at a later point in time and then
> > changes back to 3 before the time of the update (perhaps because the
> > value changed during the dampening interval), it would be reported as
> > another "delete" event (without ever reporting a create event).  On
> > the other hand, if foo's value changed from 3 to 6 and back again,
> > nothing would be reported because it did not meet the filter criteria
> > at any point in time.
> >
> > >From the perspective of the receiver this may make sense if it is
> > >synching its copy of the state.  However, from the perspective of the
> > >publisher, the object was never created or deleted - only its value
> > >changed, and the case when the object was truly created or deleted
> > >can no longer be distinguished from the case when its value changed.
> > >A "create" simply means "an object now meets a filter criteria, that
> > >was not reported in the previous cycle" (which does not mean that the
> > >object was actually created - it may have been created, or it may
> > >have simply undergone a value change).
> >
> > An alternative (let's call it alternative 2) is therefore to make a
> > distinction between whether an object was created or deleted, or
> > whether its value fell in or out of a filter range.  This appears
> > semantically cleaner.  However, it will require modifying the encoding
> > to allow for distinction between those cases (currently, just plain
> > patch encoding is used).
> >
> > A third alternative is to let filters select only data nodes to
> > subscribe to, and separate out the value filter (or disallow it as a
> > feature altogether).  This alternative has the drawback of being less
> > conceptually powerful, even if it may be easier to implement.
> >
> > Thoughts?  Any preferences between 1, 2, and 3?
> > --- Alex
> >
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf


From nobody Thu May 18 14:21:55 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 58EAB12EAB4 for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 14:21:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.8
X-Spam-Level: 
X-Spam-Status: No, score=-4.8 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NnIYe4ckrq1U for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 14:21:51 -0700 (PDT)
Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0123.outbound.protection.outlook.com [104.47.41.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5D81A129420 for <netconf@ietf.org>; Thu, 18 May 2017 14:15:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AcRH6nJeWwkx2oSTDEHoNKv988S0bYS2eQVcEtbLYrM=; b=PwQjXjaT717DcN9vIlcgIOxgEAKHazDBUc1VmL0r15ZvqjynsAIp2m66ckcK0OVK9g7uaHXMC9xi3sGI5zqPoHtbQIe3Cf/ODnQBWwwCQPszex9BZ01R7Uf8MtOoZHm7V4lYDdgNeIsIzw/d3sBeWHHh2N5SxAfZrDcAXMrKeik=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1443.namprd05.prod.outlook.com (10.160.117.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.8; Thu, 18 May 2017 21:15:48 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1101.019; Thu, 18 May 2017 21:15:48 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AQHS0Bvr5ppCqKOrQVCrK5qvBNQM2A==
Date: Thu, 18 May 2017 21:15:48 +0000
Message-ID: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.10]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1443; 7:+YL8W614rsSgbQW9EWxMHBnK9iS5ngW40kfegGp1AnUY3/GNFLUUO5cYbmJXQsFtlpQyBLQnq4qgL679B/8/yHO++3z44attPDeKzpm5fHzxOs2U8Wq2ARAHD75faaN1qsSBUoizP8kjWah9JHxHrHk+4bHmfLn1tSDiPqIJTShYyHj3DUDH0w0FT6WWluBqn++eQH9zvAz5hfuun6lWuWOtyHdDElSIV2Cf2JzhD8gwcwzVFOswgHJz8Uhn7YfUvxQuYj5ryQnMqVKcFisdJIao10ZPnsiL2NO9Ic8tmD31wapXyjInUJsnxuSXbVqUINSqVz31SJ8z1RJoMFUtqw==
x-ms-traffictypediagnostic: BN3PR0501MB1443:
x-ms-office365-filtering-correlation-id: f7761d78-d052-46cd-6a2e-08d49e330e57
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0501MB1443; 
x-microsoft-antispam-prvs: <BN3PR0501MB144306BA7B36F0FAEE14F6EDA5E40@BN3PR0501MB1443.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(50582790962513)(21748063052155)(211171220733660); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123562025)(20161123558100)(20161123555025)(6072148); SRVR:BN3PR0501MB1443; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1443; 
x-forefront-prvs: 0311124FA9
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39450400003)(39860400002)(39850400002)(39400400002)(39840400002)(24454002)(377454003)(53754006)(38730400002)(229853002)(46360400001)(53936002)(54896002)(6512007)(102836003)(189998001)(6116002)(36756003)(6306002)(99286003)(77096006)(6486002)(122556002)(6246003)(5660300001)(2420400007)(6436002)(15650500001)(7736002)(6506006)(3846002)(2906002)(10710500007)(8676002)(81166006)(66066001)(7110500001)(33656002)(478600001)(25786009)(8936002)(54356999)(50986999)(86362001)(3660700001)(3280700002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1443; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_8340AFB7350A4641A1304114E39C73E1junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2017 21:15:48.6362 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1443
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/6XzxRQy6m6gmrnS-5jywwEUmnQ8>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 21:21:54 -0000

--_000_8340AFB7350A4641A1304114E39C73E1junipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SSdtIHVuc3VyZSBpZiB0aGlzIGlzIGEgZ29vZCBleGFtcGxlLCBidXQgYXNzdW1pbmcgeW91IGhh
dmUgZGF0YSBtb2RlbCBzbmlwcGV0Og0KDQogIGxpc3QgZm9vIHsNCiAgICBrZXkgbmFtZTsNCiAg
ICBsZWFmIG5hbWUgeyB0eXBlIHN0cmluZzt9DQogIH0NCg0KYW5kIHRoZSBvbi1jaGFuZ2Ugc3Vi
c2NyaXB0aW9uIHNuaXBwZXQ6DQoNCiAgIC9mb29bbmFtZT0ieF0NCg0KYW5kIHRoZSBmb2xsb3dp
bmcgb2NjdXJzIGluIHRpbWU6DQoNCiAgVDA6IHRoZXJlIGFyZSBubyAnZm9vJyBlbnRyaWVzDQog
IFQxOiBmb28gZW50cnkgdy8gbmFtZT09InkiIGlzIGNyZWF0ZWQNCiAgVDI6IGZvbyBlbnRyeSB3
LyBuYW1lPT0ieCIgaXMgY3JlYXRlZA0KICBUMzogZm9vIGVudHJ5ICJ4IiBpcyByZW5hbWVkIHRv
ICJ6Ig0KICBUNDogZm9vIGVudHJ5ICJ5IiBpcyByZW5hbWVkIHRvICJ4Ig0KICBUNTogZm9vIGVu
dHJ5ICJ4IiBpcyBkZWxldGVkDQoNCkknZCBleHBlY3Q6DQoNCiAgVDA6IG5vdGhpbmcNCiAgVDE6
IG5vdGhpbmcNCiAgVDI6ICJ4IiBjcmVhdGVkIG5vdGlmaWNhdGlvbg0KICBUMzogIngiIG1vZGlm
aWVkLW91dCBub3RpZmljYXRpb24NCiAgVDQ6ICJ4IiBtb2RpZmllZC1pbiBub3RpZmljYXRpb24N
CiAgVDU6ICJ4IiBkZWxldGVkIG5vdGlmaWNhdGlvbg0KDQpJIHRoaW5rIHRoYXQgdGhpcyBpcyB5
b3VyICMyLg0KDQpLZW50ICAvLyBhcyBhIGNvbnRyaWJ1dG9yDQoNCg0KDQpPbiA1LzE3LzE3LCA1
OjI5IFBNLCAiTmV0Y29uZiBvbiBiZWhhbGYgb2YgQWxleGFuZGVyIENsZW1tIiA8bmV0Y29uZi1i
b3VuY2VzQGlldGYub3JnPG1haWx0bzpuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc+IG9uIGJlaGFs
ZiBvZiBhbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTxtYWlsdG86YWxleGFuZGVyLmNsZW1tQGh1
YXdlaS5jb20+PiB3cm90ZToNCg0KSGVsbG8gYWxsLA0KDQpJbiB1cGRhdGluZyB0aGUgWUFORy1Q
dXNoIGRvY3VtZW50IChkcmFmdC1pZXRmLW5ldGNvbmYteWFuZy1wdXNoKSwgd2UgaGF2ZSBjb21l
IGFjcm9zcyBvbmUgaXNzdWUgdGhhdCB3ZSB3YW50ZWQgdG8gcmFpc2Ugd2l0aCB0aGUgd29ya2lu
ZyBncm91cC4NCg0KQXMgcGFydCBvZiBhbiBvbi1jaGFuZ2Ugc3Vic2NyaXB0aW9uLCB1cGRhdGUg
cmVjb3JkcyByZWZsZWN0IHRoZSB0eXBlIG9mIGNoYW5nZSAoZS5nLiB3aGV0aGVyIHRoZSB2YWx1
ZSBvZiBhbiBvYmplY3QgaGFzIGNoYW5nZWQsIG9yIHdoZXRoZXIgYW4gb2JqZWN0IHdhcyBjcmVh
dGVkIG9yIGRlbGV0ZWQpOyBhIHN1YnNjcmlwdGlvbiBhbGxvd3MgYWxzbyB0byBzcGVjaWZ5IHdo
ZXRoZXIgaW50ZXJlc3RlZCBvbmx5IGluIHNwZWNpZmljIHR5cGVzIG9mIGNoYW5nZXMgKGZvciBl
eGFtcGxlLCBvbmx5IGNyZWF0ZXMgYW5kIGRlbGV0ZWQgYnV0IG5vIHZhbHVlIGNoYW5nZXMpLg0K
DQpBdCB0aGUgc2FtZSB0aW1lLCBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgc3BlY2lmaWVzIHdoaWNo
IG9iamVjdHMgdG8gaW5jbHVkZSBhcyBwYXJ0IG9mIGEgc3Vic2NyaXB0aW9uIGFuZCB3aGljaCBu
b3QuICAoUmVhbGx5LCBpdCBpcyBub3Qgc28gbXVjaCBvZiBhIOKAnGZpbHRlcuKAnSBvbiBhIHN0
cmVhbSB0aGF0IGlzIGdlbmVyYXRlZCBpbmRlcGVuZGVudGx5IG9mIHRoZSBmaWx0ZXIsIHRoYW4g
aXQgaXMgYSBwb2xpY3kgb2Ygd2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Ygc3Vi
c2NyaWJlZCB1cGRhdGUgcmVjb3Jkcy4pICAgSG93ZXZlciwgYSBzdWJzY3JpcHRpb24gZmlsdGVy
IChzdWNoIGFzIFhQYXRoKSBjYW4gYmUgdXNlZCB0byBhbHNvIHNwZWNpZnkgYSB2YWx1ZSBmaWx0
ZXIsIHdoaWNoIHdpbGwgaW5jbHVkZSBvciBleGNsdWRlIG9iamVjdHMgYmFzZWQgb24gdGhlaXIg
Y3VycmVudCB2YWx1ZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBlLmcuIHN1YnNjcmliZSB0
byBhbiBvYmplY3Qg4oCcZm9v4oCdIGJ1dCBvbmx5IGlmIGl0cyB2YWx1ZSBpcyA1Lg0KDQpOb3cs
IHRoaXMgbWVhbnMgdGhhdCB0aGUgc2FtZSBvYmplY3QgY291bGQgYmUgaW5jbHVkZWQgaW4gb25l
IHVwZGF0ZSwgYnV0IGV4Y2x1ZGVkIGluIGFub3RoZXIgdXBkYXRlLCBkdWUgdG8gaXRzIHZhbHVl
IG5vIGxvbmdlciBtZWV0aW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEuICBGb3IgZXhhbXBsZSwgaWYg
Zm9v4oCZcyB2YWx1ZSBjaGFuZ2VzIGZyb20gNSB0byAzIGluIG9uZSBjeWNsZSwgYSBwZXJpb2Rp
YyBzdWJzY3JpcHRpb24gd2lsbCBubyBsb25nZXIgaW5jbHVkZSBmb28gaW4gaXRzIG5leHQgdXBk
YXRlLiAgVGhlIHF1ZXN0aW9uIG5vdyBjb25jZXJucyBob3cgdG8gcHJvcGVybHkgaGFuZGxlIHRo
aXMgaW4gdGhlIGNhc2Ugb2YgYW4gb24tY2hhbmdlIHN1YnNjcmlwdGlvbi4NCg0KT25lIHBvc3Np
YmlsaXR5IGNvbmNlcm5zIHJlcG9ydGluZyB0aGUgZmFjdCB0aGF0IOKAnGZvb+KAnSBubyBsb25n
ZXIgbWVldHMgdGhlIHN1YnNjcmlwdGlvbiBjcml0ZXJpYSBhbmQgaXMgbm8gbG9uZ2VyIGluY2x1
ZGVkIGluIHRoZSB1cGRhdGUgcmVjb3JkIGFzIGEg4oCcZGVsZXRl4oCdIGV2ZW50LiAgSWYgZm9v
4oCZcyB2YWx1ZSBhZ2FpbiBiZWNvbWVzIOKAnDXigJ0gYXQgYSBsYXRlciBwb2ludCBpbiB0aW1l
LCB0aGF0IHdvdWxkIGJlIHJlcG9ydGVkIGFzIGEg4oCcY3JlYXRl4oCdIGV2ZW50LiAgSWYgZm9v
4oCZcyB2YWx1ZSBjaGFuZ2VzIGFnYWluIGZyb20gNSBhdCBhIGxhdGVyIHBvaW50IGluIHRpbWUg
YW5kIHRoZW4gY2hhbmdlcyBiYWNrIHRvIDMgIGJlZm9yZSB0aGUgdGltZSBvZiB0aGUgdXBkYXRl
IChwZXJoYXBzIGJlY2F1c2UgdGhlIHZhbHVlIGNoYW5nZWQgZHVyaW5nIHRoZSBkYW1wZW5pbmcg
aW50ZXJ2YWwpLCBpdCB3b3VsZCBiZSByZXBvcnRlZCBhcyBhbm90aGVyIOKAnGRlbGV0ZeKAnSBl
dmVudCAod2l0aG91dCBldmVyIHJlcG9ydGluZyBhIGNyZWF0ZSBldmVudCkuICBPbiB0aGUgb3Ro
ZXIgaGFuZCwgaWYgZm9v4oCZcyB2YWx1ZSBjaGFuZ2VkIGZyb20gMyB0byA2IGFuZCBiYWNrIGFn
YWluLCBub3RoaW5nIHdvdWxkIGJlIHJlcG9ydGVkIGJlY2F1c2UgaXQgZGlkIG5vdCBtZWV0IHRo
ZSBmaWx0ZXIgY3JpdGVyaWEgYXQgYW55IHBvaW50IGluIHRpbWUuDQoNCkZyb20gdGhlIHBlcnNw
ZWN0aXZlIG9mIHRoZSByZWNlaXZlciB0aGlzIG1heSBtYWtlIHNlbnNlIGlmIGl0IGlzIHN5bmNo
aW5nIGl0cyBjb3B5IG9mIHRoZSBzdGF0ZS4gIEhvd2V2ZXIsIGZyb20gdGhlIHBlcnNwZWN0aXZl
IG9mIHRoZSBwdWJsaXNoZXIsIHRoZSBvYmplY3Qgd2FzIG5ldmVyIGNyZWF0ZWQgb3IgZGVsZXRl
ZCDigJMgb25seSBpdHMgdmFsdWUgY2hhbmdlZCwgYW5kIHRoZSBjYXNlIHdoZW4gdGhlIG9iamVj
dCB3YXMgdHJ1bHkgY3JlYXRlZCBvciBkZWxldGVkIGNhbiBubyBsb25nZXIgYmUgZGlzdGluZ3Vp
c2hlZCBmcm9tIHRoZSBjYXNlIHdoZW4gaXRzIHZhbHVlIGNoYW5nZWQuICBBIOKAnGNyZWF0ZeKA
nSBzaW1wbHkgbWVhbnMg4oCcYW4gb2JqZWN0IG5vdyBtZWV0cyBhIGZpbHRlciBjcml0ZXJpYSwg
dGhhdCB3YXMgbm90IHJlcG9ydGVkIGluIHRoZSBwcmV2aW91cyBjeWNsZeKAnSAod2hpY2ggZG9l
cyBub3QgbWVhbiB0aGF0IHRoZSBvYmplY3Qgd2FzIGFjdHVhbGx5IGNyZWF0ZWQg4oCTIGl0IG1h
eSBoYXZlIGJlZW4gY3JlYXRlZCwgb3IgaXQgbWF5IGhhdmUgc2ltcGx5IHVuZGVyZ29uZSBhIHZh
bHVlIGNoYW5nZSkuDQoNCkFuIGFsdGVybmF0aXZlIChsZXTigJlzIGNhbGwgaXQgYWx0ZXJuYXRp
dmUgMikgaXMgdGhlcmVmb3JlIHRvIG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHdoZXRoZXIg
YW4gb2JqZWN0IHdhcyBjcmVhdGVkIG9yIGRlbGV0ZWQsIG9yIHdoZXRoZXIgaXRzIHZhbHVlIGZl
bGwgaW4gb3Igb3V0IG9mIGEgZmlsdGVyIHJhbmdlLiAgVGhpcyBhcHBlYXJzIHNlbWFudGljYWxs
eSBjbGVhbmVyLiAgSG93ZXZlciwgaXQgd2lsbCByZXF1aXJlIG1vZGlmeWluZyB0aGUgZW5jb2Rp
bmcgdG8gYWxsb3cgZm9yIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhvc2UgY2FzZXMgKGN1cnJlbnRs
eSwganVzdCBwbGFpbiBwYXRjaCBlbmNvZGluZyBpcyB1c2VkKS4NCg0KQSB0aGlyZCBhbHRlcm5h
dGl2ZSBpcyB0byBsZXQgZmlsdGVycyBzZWxlY3Qgb25seSBkYXRhIG5vZGVzIHRvIHN1YnNjcmli
ZSB0bywgYW5kIHNlcGFyYXRlIG91dCB0aGUgdmFsdWUgZmlsdGVyIChvciBkaXNhbGxvdyBpdCBh
cyBhIGZlYXR1cmUgYWx0b2dldGhlcikuICBUaGlzIGFsdGVybmF0aXZlIGhhcyB0aGUgZHJhd2Jh
Y2sgb2YgYmVpbmcgbGVzcyBjb25jZXB0dWFsbHkgcG93ZXJmdWwsIGV2ZW4gaWYgaXQgbWF5IGJl
IGVhc2llciB0byBpbXBsZW1lbnQuDQoNClRob3VnaHRzPyAgQW55IHByZWZlcmVuY2VzIGJldHdl
ZW4gMSwgMiwgYW5kIDM/DQotLS0gQWxleA0KDQo=

--_000_8340AFB7350A4641A1304114E39C73E1junipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <1A52C0B8571C524992D91B6E0B0408CF@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8N
CnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsN
CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWls
eTpDYWxpYnJpO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9y
aXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQph
OnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFu
LkVtYWlsU3R5bGUxNw0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseTpD
YWxpYnJpOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTgNCgl7bXNvLXN0
eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6Q2FsaWJyaTsNCglmb250LXZh
cmlhbnQ6bm9ybWFsICFpbXBvcnRhbnQ7DQoJY29sb3I6d2luZG93dGV4dDsNCgl0ZXh0LXRyYW5z
Zm9ybTpub25lOw0KCXRleHQtZGVjb3JhdGlvbjpub25lIG5vbmU7DQoJdmVydGljYWwtYWxpZ246
YmFzZWxpbmU7fQ0Kc3Bhbi5tc29JbnMNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJ
bXNvLXN0eWxlLW5hbWU6IiI7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCgljb2xvcjp0
ZWFsO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZv
bnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGlu
Ow0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJ
e3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keSBiZ2NvbG9y
PSJ3aGl0ZSIgbGFuZz0iRU4tVVMiIGxpbms9IiMwNTYzQzEiIHZsaW5rPSIjOTU0RjcyIj4NCjxk
aXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjEyLjBwdCI+SSdtIHVuc3VyZSBpZiB0aGlzIGlzIGEgZ29vZCBleGFtcGxl
LCBidXQgYXNzdW1pbmcgeW91IGhhdmUgZGF0YSBtb2RlbCBzbmlwcGV0OjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIu
MHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+Jm5ic3A7IGxpc3QgZm9vIHs8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjEyLjBwdCI+Jm5ic3A7ICZuYnNwOyZuYnNwO2tleSBuYW1lOzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4m
bmJzcDsgJm5ic3A7Jm5ic3A7bGVhZiBuYW1lIHsgdHlwZSBzdHJpbmc7fTxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIu
MHB0Ij4mbmJzcDsgfTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+
YW5kIHRoZSBvbi1jaGFuZ2Ugc3Vic2NyaXB0aW9uIHNuaXBwZXQ6PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4mbmJzcDsgJm5ic3A7L2Zvb1tuYW1lPSZxdW90O3hd
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij5hbmQgdGhlIGZvbGxv
d2luZyBvY2N1cnMgaW4gdGltZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
Mi4wcHQiPiZuYnNwOyBUMDogdGhlcmUgYXJlIG5vICdmb28nIGVudHJpZXM8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEy
LjBwdCI+Jm5ic3A7IFQxOiBmb28gZW50cnkgdy8gbmFtZT09JnF1b3Q7eSZxdW90OyBpcyBjcmVh
dGVkPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMi4wcHQiPiZuYnNwOyBUMjogZm9vIGVudHJ5IHcvIG5hbWU9PSZxdW90
O3gmcXVvdDsgaXMgY3JlYXRlZDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4mbmJzcDsgVDM6IGZvbyBlbnRy
eSAmcXVvdDt4JnF1b3Q7IGlzIHJlbmFtZWQgdG8gJnF1b3Q7eiZxdW90OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIu
MHB0Ij4mbmJzcDsgVDQ6IGZvbyBlbnRyeSAmcXVvdDt5JnF1b3Q7IGlzIHJlbmFtZWQgdG8gJnF1
b3Q7eCZxdW90OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4mbmJzcDsgVDU6IGZvbyBlbnRyeSAmcXVvdDt4
JnF1b3Q7IGlzIGRlbGV0ZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4w
cHQiPkknZCBleHBlY3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0
Ij4mbmJzcDsgVDA6IG5vdGhpbmc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+Jm5ic3A7IFQxOiBub3RoaW5n
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMi4wcHQiPiZuYnNwOyBUMjogJnF1b3Q7eCZxdW90OyBjcmVhdGVkIG5vdGlm
aWNhdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4mbmJzcDsgVDM6ICZxdW90O3gmcXVvdDsgbW9kaWZp
ZWQtb3V0IG5vdGlmaWNhdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij4mbmJzcDsgVDQ6ICZxdW90O3gm
cXVvdDsgbW9kaWZpZWQtaW4gbm90aWZpY2F0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPiZuYnNwOyBU
NTogJnF1b3Q7eCZxdW90OyBkZWxldGVkIG5vdGlmaWNhdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEyLjBwdCI+SSB0aGluayB0aGF0IHRoaXMgaXMgeW91ciAjMi48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPktlbnQmbmJzcDsgLy8gYXMg
YSBjb250cmlidXRvcjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxk
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gNS8xNy8xNywgNToyOSBQTSwgJnF1
b3Q7TmV0Y29uZiBvbiBiZWhhbGYgb2YgQWxleGFuZGVyIENsZW1tJnF1b3Q7ICZsdDs8YSBocmVm
PSJtYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnIj5uZXRjb25mLWJvdW5jZXNAaWV0Zi5v
cmc8L2E+IG9uIGJlaGFsZiBvZg0KPGEgaHJlZj0ibWFpbHRvOmFsZXhhbmRlci5jbGVtbUBodWF3
ZWkuY29tIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTIuMHB0Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IZWxsbyBhbGwsPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkluIHVwZGF0aW5nIHRoZSBZQU5HLVB1c2ggZG9jdW1lbnQgKGRyYWZ0LWlldGYtbmV0
Y29uZi15YW5nLXB1c2gpLCB3ZSBoYXZlIGNvbWUgYWNyb3NzIG9uZSBpc3N1ZSB0aGF0IHdlIHdh
bnRlZCB0byByYWlzZSB3aXRoIHRoZSB3b3JraW5nIGdyb3VwLiZuYnNwOw0KPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPkFzIHBhcnQgb2YgYW4gb24tY2hhbmdlIHN1YnNjcmlwdGlvbiwgdXBkYXRl
IHJlY29yZHMgcmVmbGVjdCB0aGUgdHlwZSBvZiBjaGFuZ2UgKGUuZy4gd2hldGhlciB0aGUgdmFs
dWUgb2YgYW4gb2JqZWN0IGhhcyBjaGFuZ2VkLCBvciB3aGV0aGVyIGFuIG9iamVjdCB3YXMgY3Jl
YXRlZCBvciBkZWxldGVkKTsgYSBzdWJzY3JpcHRpb24gYWxsb3dzIGFsc28gdG8gc3BlY2lmeSB3
aGV0aGVyIGludGVyZXN0ZWQgb25seQ0KIGluIHNwZWNpZmljIHR5cGVzIG9mIGNoYW5nZXMgKGZv
ciBleGFtcGxlLCBvbmx5IGNyZWF0ZXMgYW5kIGRlbGV0ZWQgYnV0IG5vIHZhbHVlIGNoYW5nZXMp
LiZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkF0IHRoZSBzYW1lIHRpbWUsIGEgc3Vi
c2NyaXB0aW9uIGZpbHRlciBzcGVjaWZpZXMgd2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBh
cnQgb2YgYSBzdWJzY3JpcHRpb24gYW5kIHdoaWNoIG5vdC4gJm5ic3A7KFJlYWxseSwgaXQgaXMg
bm90IHNvIG11Y2ggb2YgYSDigJxmaWx0ZXLigJ0gb24gYSBzdHJlYW0gdGhhdCBpcyBnZW5lcmF0
ZWQgaW5kZXBlbmRlbnRseSBvZiB0aGUgZmlsdGVyLCB0aGFuIGl0IGlzIGEgcG9saWN5DQogb2Yg
d2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Ygc3Vic2NyaWJlZCB1cGRhdGUgcmVj
b3Jkcy4pJm5ic3A7ICZuYnNwO0hvd2V2ZXIsIGEgc3Vic2NyaXB0aW9uIGZpbHRlciAoc3VjaCBh
cyBYUGF0aCkgY2FuIGJlIHVzZWQgdG8gYWxzbyBzcGVjaWZ5IGEgdmFsdWUgZmlsdGVyLCB3aGlj
aCB3aWxsIGluY2x1ZGUgb3IgZXhjbHVkZSBvYmplY3RzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQg
dmFsdWUuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZS5nLg0KIHN1YnNjcmliZSB0byBhbiBv
YmplY3Qg4oCcZm9v4oCdIGJ1dCBvbmx5IGlmIGl0cyB2YWx1ZSBpcyA1LiZuYnNwOyA8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Tm93LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHNhbWUgb2JqZWN0IGNv
dWxkIGJlIGluY2x1ZGVkIGluIG9uZSB1cGRhdGUsIGJ1dCBleGNsdWRlZCBpbiBhbm90aGVyIHVw
ZGF0ZSwgZHVlIHRvIGl0cyB2YWx1ZSBubyBsb25nZXIgbWVldGluZyB0aGUgZmlsdGVyIGNyaXRl
cmlhLiZuYnNwOyBGb3IgZXhhbXBsZSwgaWYgZm9v4oCZcyB2YWx1ZSBjaGFuZ2VzIGZyb20gNSB0
byAzIGluIG9uZSBjeWNsZSwgYSBwZXJpb2RpYyBzdWJzY3JpcHRpb24NCiB3aWxsIG5vIGxvbmdl
ciBpbmNsdWRlIGZvbyBpbiBpdHMgbmV4dCB1cGRhdGUuJm5ic3A7IFRoZSBxdWVzdGlvbiBub3cg
Y29uY2VybnMgaG93IHRvIHByb3Blcmx5IGhhbmRsZSB0aGlzIGluIHRoZSBjYXNlIG9mIGFuIG9u
LWNoYW5nZSBzdWJzY3JpcHRpb24uJm5ic3A7DQo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T25l
IHBvc3NpYmlsaXR5IGNvbmNlcm5zIHJlcG9ydGluZyB0aGUgZmFjdCB0aGF0IOKAnGZvb+KAnSBu
byBsb25nZXIgbWVldHMgdGhlIHN1YnNjcmlwdGlvbiBjcml0ZXJpYSBhbmQgaXMgbm8gbG9uZ2Vy
IGluY2x1ZGVkIGluIHRoZSB1cGRhdGUgcmVjb3JkIGFzIGEg4oCcZGVsZXRl4oCdIGV2ZW50LiZu
YnNwOyBJZiBmb2/igJlzIHZhbHVlIGFnYWluIGJlY29tZXMg4oCcNeKAnSBhdCBhIGxhdGVyIHBv
aW50IGluIHRpbWUsIHRoYXQgd291bGQNCiBiZSByZXBvcnRlZCBhcyBhIOKAnGNyZWF0ZeKAnSBl
dmVudC4mbmJzcDsgSWYgZm9v4oCZcyB2YWx1ZSBjaGFuZ2VzIGFnYWluIGZyb20gNSBhdCBhIGxh
dGVyIHBvaW50IGluIHRpbWUgYW5kIHRoZW4gY2hhbmdlcyBiYWNrIHRvIDMgJm5ic3A7YmVmb3Jl
IHRoZSB0aW1lIG9mIHRoZSB1cGRhdGUgKHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFsdWUgY2hhbmdl
ZCBkdXJpbmcgdGhlIGRhbXBlbmluZyBpbnRlcnZhbCksIGl0IHdvdWxkIGJlIHJlcG9ydGVkIGFz
IGFub3RoZXIg4oCcZGVsZXRl4oCdDQogZXZlbnQgKHdpdGhvdXQgZXZlciByZXBvcnRpbmcgYSBj
cmVhdGUgZXZlbnQpLiZuYnNwOyBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgZm9v4oCZcyB2YWx1ZSBj
aGFuZ2VkIGZyb20gMyB0byA2IGFuZCBiYWNrIGFnYWluLCBub3RoaW5nIHdvdWxkIGJlIHJlcG9y
dGVkIGJlY2F1c2UgaXQgZGlkIG5vdCBtZWV0IHRoZSBmaWx0ZXIgY3JpdGVyaWEgYXQgYW55IHBv
aW50IGluIHRpbWUuJm5ic3A7DQo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RnJvbSB0aGUgcGVy
c3BlY3RpdmUgb2YgdGhlIHJlY2VpdmVyIHRoaXMgbWF5IG1ha2Ugc2Vuc2UgaWYgaXQgaXMgc3lu
Y2hpbmcgaXRzIGNvcHkgb2YgdGhlIHN0YXRlLiZuYnNwOyBIb3dldmVyLCBmcm9tIHRoZSBwZXJz
cGVjdGl2ZSBvZiB0aGUgcHVibGlzaGVyLCB0aGUgb2JqZWN0IHdhcyBuZXZlciBjcmVhdGVkIG9y
IGRlbGV0ZWQg4oCTIG9ubHkgaXRzIHZhbHVlIGNoYW5nZWQsIGFuZCB0aGUgY2FzZSB3aGVuIHRo
ZSBvYmplY3QNCiB3YXMgdHJ1bHkgY3JlYXRlZCBvciBkZWxldGVkIGNhbiBubyBsb25nZXIgYmUg
ZGlzdGluZ3Vpc2hlZCBmcm9tIHRoZSBjYXNlIHdoZW4gaXRzIHZhbHVlIGNoYW5nZWQuJm5ic3A7
IEEg4oCcY3JlYXRl4oCdIHNpbXBseSBtZWFucyDigJxhbiBvYmplY3Qgbm93IG1lZXRzIGEgZmls
dGVyIGNyaXRlcmlhLCB0aGF0IHdhcyBub3QgcmVwb3J0ZWQgaW4gdGhlIHByZXZpb3VzIGN5Y2xl
4oCdICh3aGljaCBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIG9iamVjdCB3YXMgYWN0dWFsbHkNCiBj
cmVhdGVkIOKAkyBpdCBtYXkgaGF2ZSBiZWVuIGNyZWF0ZWQsIG9yIGl0IG1heSBoYXZlIHNpbXBs
eSB1bmRlcmdvbmUgYSB2YWx1ZSBjaGFuZ2UpLiZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPkFuIGFsdGVybmF0aXZlIChsZXTigJlzIGNhbGwgaXQgYWx0ZXJuYXRpdmUgMikgaXMgdGhl
cmVmb3JlIHRvIG1ha2UgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHdoZXRoZXIgYW4gb2JqZWN0IHdh
cyBjcmVhdGVkIG9yIGRlbGV0ZWQsIG9yIHdoZXRoZXIgaXRzIHZhbHVlIGZlbGwgaW4gb3Igb3V0
IG9mIGEgZmlsdGVyIHJhbmdlLiZuYnNwOyBUaGlzIGFwcGVhcnMgc2VtYW50aWNhbGx5IGNsZWFu
ZXIuJm5ic3A7IEhvd2V2ZXIsIGl0IHdpbGwNCiByZXF1aXJlIG1vZGlmeWluZyB0aGUgZW5jb2Rp
bmcgdG8gYWxsb3cgZm9yIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhvc2UgY2FzZXMgKGN1cnJlbnRs
eSwganVzdCBwbGFpbiBwYXRjaCBlbmNvZGluZyBpcyB1c2VkKS4mbmJzcDsNCjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5BIHRoaXJkIGFsdGVybmF0aXZlIGlzIHRvIGxldCBmaWx0ZXJzIHNlbGVj
dCBvbmx5IGRhdGEgbm9kZXMgdG8gc3Vic2NyaWJlIHRvLCBhbmQgc2VwYXJhdGUgb3V0IHRoZSB2
YWx1ZSBmaWx0ZXIgKG9yIGRpc2FsbG93IGl0IGFzIGEgZmVhdHVyZSBhbHRvZ2V0aGVyKS4mbmJz
cDsgVGhpcyBhbHRlcm5hdGl2ZSBoYXMgdGhlIGRyYXdiYWNrIG9mIGJlaW5nIGxlc3MgY29uY2Vw
dHVhbGx5IHBvd2VyZnVsLCBldmVuIGlmIGl0DQogbWF5IGJlIGVhc2llciB0byBpbXBsZW1lbnQu
Jm5ic3A7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaG91Z2h0cz8mbmJzcDsgQW55IHByZWZl
cmVuY2VzIGJldHdlZW4gMSwgMiwgYW5kIDM/Jm5ic3A7IDxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+LS0tIEFsZXggPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_8340AFB7350A4641A1304114E39C73E1junipernet_--


From nobody Thu May 18 14:58:28 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E49E112E76A for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 14:58:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sxzw3wxZrK7H for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 14:58:22 -0700 (PDT)
Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 07FEB12E85E for <netconf@ietf.org>; Thu, 18 May 2017 14:52:54 -0700 (PDT)
Received: by mail-wm0-x22b.google.com with SMTP id d127so67166825wmf.0 for <netconf@ietf.org>; Thu, 18 May 2017 14:52:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=X0WDuyuJ9Hs1e9POdcx03ez/SomeZoWhK+w6SDsDAw4=; b=uot+Rw68T2lXRLZRK3t/qxvfhfE3nIoOpyS4rkfGP/Jq7shgcdA0tCCxH3VPFiR3jC pSZULb2T7PCPQo8wtGWZK4Af2VOQhag++UduGzztjLL/EouS9ZPw7MFa6j+RPveyI8KW WP3g1bMDVt56h3DBHag3xbNq1KNtK7LEyDm+UqgtEVqsjphrD+ecwEV8NyJmivQ5yPWV Brm831POGBoK3oM8v/u8Z+bkqVOdSJ0kEHxPktrRKGU0NiX8kILgXQWYHUwns20rbQBs 4xABGzNC8UKZzAtYoEIccdiFo3HJOLqgPSTfwSE+DBQTmSMQjFiHOWrWnGjD5F2aYzhw LmvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=X0WDuyuJ9Hs1e9POdcx03ez/SomeZoWhK+w6SDsDAw4=; b=eGabdPZpyRKoVxz7my0X9M5jkAXtlknCIuwZcdVisP55JMb6PV+fJGBWbQbqI8f//4 k8OfcZsTMZm3CgtmeLoOy8FWfTZBe6zY9xJhRMoGE67WxckWzKQs0g1B+Nx1tL0+ifpH mXTvSlxPt78kAGlWQDxvHmQp6JM5GALZaHLB+PzTRxdvRhU1K/ZwPj6mht0CBcRmGXS5 bLrEPaKT5iAJKbNty0K+U0iAB7do2H92V4Vu4ZwP4gGBXJFjdy/CxejvQIADELTwcIcR yGf1Q4GQkJULUom0UzJICMuy42V5ft0m+CvEAvReaLDlaSEOQveM1UuE85KJ6JJvOmhC s0Uw==
X-Gm-Message-State: AODbwcANOJ4TMYILHarkGwZjekhnPYIwvDOl3DjfK3No/ixtQZXiKGEG pL309S2lJnnQV2LWlkzETsuf+50E/nHg
X-Received: by 10.28.145.138 with SMTP id t132mr14708847wmd.136.1495144372567;  Thu, 18 May 2017 14:52:52 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 18 May 2017 14:52:51 -0700 (PDT)
In-Reply-To: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 18 May 2017 14:52:51 -0700
Message-ID: <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a1145b1643721e6054fd36dfb"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/7AdRHaSUU9Dh5LB1vfBnjc_aRmk>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 May 2017 21:58:26 -0000

--001a1145b1643721e6054fd36dfb
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, May 18, 2017 at 2:15 PM, Kent Watsen <kwatsen@juniper.net> wrote:

> I'm unsure if this is a good example, but assuming you have data model
> snippet:
>
>
>
>   list foo {
>
>     key name;
>
>     leaf name { type string;}
>
>   }
>
>
>
> and the on-change subscription snippet:
>
>
>
>    /foo[name=3D"x]
>
>
>
> and the following occurs in time:
>
>
>
>   T0: there are no 'foo' entries
>
>   T1: foo entry w/ name=3D=3D"y" is created
>
>   T2: foo entry w/ name=3D=3D"x" is created
>
>   T3: foo entry "x" is renamed to "z"
>
>   T4: foo entry "y" is renamed to "x"
>


Do you mean some proprietary non-standard rename operation?
Because NETCONF and RESTCONF have only delete(x) and create(y)


>   T5: foo entry "x" is deleted
>
>
>
> I'd expect:
>
>
>
>   T0: nothing
>
>   T1: nothing
>
>   T2: "x" created notification
>
>   T3: "x" modified-out notification
>
>   T4: "x" modified-in notification
>


T3 and T4 events are not possible in NETCONF or RESTCONF.
There is no way to rename a data node. These protocols will
produce delete(x) and a create(y) events


  T5: "x" deleted notification
>
>
>
> I think that this is your #2.
>
>
>
> Kent  // as a contributor
>
>
>
>
>


Andy


>
>
> On 5/17/17, 5:29 PM, "Netconf on behalf of Alexander Clemm" <
> netconf-bounces@ietf.org on behalf of alexander.clemm@huawei.com> wrote:
>
>
>
> Hello all,
>
>
>
> In updating the YANG-Push document (draft-ietf-netconf-yang-push), we
> have come across one issue that we wanted to raise with the working group=
.
>
>
>
> As part of an on-change subscription, update records reflect the type of
> change (e.g. whether the value of an object has changed, or whether an
> object was created or deleted); a subscription allows also to specify
> whether interested only in specific types of changes (for example, only
> creates and deleted but no value changes).
>
>
>
> At the same time, a subscription filter specifies which objects to includ=
e
> as part of a subscription and which not.  (Really, it is not so much of a
> =E2=80=9Cfilter=E2=80=9D on a stream that is generated independently of t=
he filter, than it
> is a policy of which objects to include as part of subscribed update
> records.)   However, a subscription filter (such as XPath) can be used to
> also specify a value filter, which will include or exclude objects based =
on
> their current value. This makes it possible to e.g. subscribe to an objec=
t
> =E2=80=9Cfoo=E2=80=9D but only if its value is 5.
>
>
>
> Now, this means that the same object could be included in one update, but
> excluded in another update, due to its value no longer meeting the filter
> criteria.  For example, if foo=E2=80=99s value changes from 5 to 3 in one=
 cycle, a
> periodic subscription will no longer include foo in its next update.  The
> question now concerns how to properly handle this in the case of an
> on-change subscription.
>
>
>
> One possibility concerns reporting the fact that =E2=80=9Cfoo=E2=80=9D no=
 longer meets the
> subscription criteria and is no longer included in the update record as a
> =E2=80=9Cdelete=E2=80=9D event.  If foo=E2=80=99s value again becomes =E2=
=80=9C5=E2=80=9D at a later point in time,
> that would be reported as a =E2=80=9Ccreate=E2=80=9D event.  If foo=E2=80=
=99s value changes again
> from 5 at a later point in time and then changes back to 3  before the ti=
me
> of the update (perhaps because the value changed during the dampening
> interval), it would be reported as another =E2=80=9Cdelete=E2=80=9D event=
 (without ever
> reporting a create event).  On the other hand, if foo=E2=80=99s value cha=
nged from
> 3 to 6 and back again, nothing would be reported because it did not meet
> the filter criteria at any point in time.
>
>
>
> From the perspective of the receiver this may make sense if it is synchin=
g
> its copy of the state.  However, from the perspective of the publisher, t=
he
> object was never created or deleted =E2=80=93 only its value changed, and=
 the case
> when the object was truly created or deleted can no longer be distinguish=
ed
> from the case when its value changed.  A =E2=80=9Ccreate=E2=80=9D simply =
means =E2=80=9Can object
> now meets a filter criteria, that was not reported in the previous cycle=
=E2=80=9D
> (which does not mean that the object was actually created =E2=80=93 it ma=
y have
> been created, or it may have simply undergone a value change).
>
>
>
> An alternative (let=E2=80=99s call it alternative 2) is therefore to make=
 a
> distinction between whether an object was created or deleted, or whether
> its value fell in or out of a filter range.  This appears semantically
> cleaner.  However, it will require modifying the encoding to allow for
> distinction between those cases (currently, just plain patch encoding is
> used).
>
>
>
> A third alternative is to let filters select only data nodes to subscribe
> to, and separate out the value filter (or disallow it as a feature
> altogether).  This alternative has the drawback of being less conceptuall=
y
> powerful, even if it may be easier to implement.
>
>
>
> Thoughts?  Any preferences between 1, 2, and 3?
>
> --- Alex
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>

--001a1145b1643721e6054fd36dfb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 18, 2017 at 2:15 PM, Kent Watsen <span dir=3D"ltr">&lt;<a h=
ref=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net</a=
>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor=3D"white" lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"m_-4498915114854874145WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">I&#39;m unsure if t=
his is a good example, but assuming you have data model snippet:<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 list foo {<u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 =C2=A0=C2=A0=
key name;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 =C2=A0=C2=A0=
leaf name { type string;}<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 }<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">and the on-change s=
ubscription snippet:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 =C2=A0/foo[n=
ame=3D&quot;x]<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">and the following o=
ccurs in time:<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T0: there ar=
e no &#39;foo&#39; entries<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T1: foo entr=
y w/ name=3D=3D&quot;y&quot; is created<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T2: foo entr=
y w/ name=3D=3D&quot;x&quot; is created<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T3: foo entr=
y &quot;x&quot; is renamed to &quot;z&quot;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T4: foo entr=
y &quot;y&quot; is renamed to &quot;x&quot;</span></p></div></div></blockqu=
ote><div><br></div><div><br></div><div>Do you mean some proprietary non-sta=
ndard rename operation?</div><div>Because NETCONF and RESTCONF have only de=
lete(x) and create(y)</div><div>=C2=A0</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">=
<div bgcolor=3D"white" lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72"><d=
iv class=3D"m_-4498915114854874145WordSection1"><p class=3D"MsoNormal"><spa=
n style=3D"font-size:12.0pt"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T5: foo entr=
y &quot;x&quot; is deleted<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">I&#39;d expect:<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T0: nothing<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T1: nothing<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T2: &quot;x&=
quot; created notification<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T3: &quot;x&=
quot; modified-out notification<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T4: &quot;x&=
quot; modified-in notification</span></p></div></div></blockquote><div><br>=
</div><div><br></div><div>T3 and T4 events are not possible in NETCONF or R=
ESTCONF.</div><div>There is no way to rename a data node. These protocols w=
ill</div><div>produce delete(x) and a create(y) events</div><div><br></div>=
<div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor=3D"white" lang=
=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72"><div class=3D"m_-449891511485=
4874145WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:12.0pt=
"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">=C2=A0 T5: &quot;x&=
quot; deleted notification<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">I think that this i=
s your #2.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt">Kent=C2=A0 // as a =
contributor<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0</span=
></p></div></div></blockquote><div><br></div><div><br></div><div>Andy</div>=
<div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8=
ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor=3D"white" lang=
=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72"><div class=3D"m_-449891511485=
4874145WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:12.0pt=
"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:12.0pt"><u></u>=C2=A0<u></u=
></span></p>
<div>
<div>
<p class=3D"MsoNormal">On 5/17/17, 5:29 PM, &quot;Netconf on behalf of Alex=
ander Clemm&quot; &lt;<a href=3D"mailto:netconf-bounces@ietf.org" target=3D=
"_blank">netconf-bounces@ietf.org</a> on behalf of
<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.c=
lemm@huawei.com</a>&gt; wrote:<span style=3D"font-size:12.0pt"><u></u><u></=
u></span></p>
</div>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<p class=3D"MsoNormal">Hello all,<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">In updating the YANG-Push document (draft-ietf-netco=
nf-yang-push)<wbr>, we have come across one issue that we wanted to raise w=
ith the working group.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">As part of an on-change subscription, update records=
 reflect the type of change (e.g. whether the value of an object has change=
d, or whether an object was created or deleted); a subscription allows also=
 to specify whether interested only
 in specific types of changes (for example, only creates and deleted but no=
 value changes).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">At the same time, a subscription filter specifies wh=
ich objects to include as part of a subscription and which not. =C2=A0(Real=
ly, it is not so much of a =E2=80=9Cfilter=E2=80=9D on a stream that is gen=
erated independently of the filter, than it is a policy
 of which objects to include as part of subscribed update records.)=C2=A0 =
=C2=A0However, a subscription filter (such as XPath) can be used to also sp=
ecify a value filter, which will include or exclude objects based on their =
current value. This makes it possible to e.g.
 subscribe to an object =E2=80=9Cfoo=E2=80=9D but only if its value is 5.=
=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Now, this means that the same object could be includ=
ed in one update, but excluded in another update, due to its value no longe=
r meeting the filter criteria.=C2=A0 For example, if foo=E2=80=99s value ch=
anges from 5 to 3 in one cycle, a periodic subscription
 will no longer include foo in its next update.=C2=A0 The question now conc=
erns how to properly handle this in the case of an on-change subscription.=
=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">One possibility concerns reporting the fact that =E2=
=80=9Cfoo=E2=80=9D no longer meets the subscription criteria and is no long=
er included in the update record as a =E2=80=9Cdelete=E2=80=9D event.=C2=A0=
 If foo=E2=80=99s value again becomes =E2=80=9C5=E2=80=9D at a later point =
in time, that would
 be reported as a =E2=80=9Ccreate=E2=80=9D event.=C2=A0 If foo=E2=80=99s va=
lue changes again from 5 at a later point in time and then changes back to =
3 =C2=A0before the time of the update (perhaps because the value changed du=
ring the dampening interval), it would be reported as another =E2=80=9Cdele=
te=E2=80=9D
 event (without ever reporting a create event).=C2=A0 On the other hand, if=
 foo=E2=80=99s value changed from 3 to 6 and back again, nothing would be r=
eported because it did not meet the filter criteria at any point in time.=
=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">From the perspective of the receiver this may make s=
ense if it is synching its copy of the state.=C2=A0 However, from the persp=
ective of the publisher, the object was never created or deleted =E2=80=93 =
only its value changed, and the case when the object
 was truly created or deleted can no longer be distinguished from the case =
when its value changed.=C2=A0 A =E2=80=9Ccreate=E2=80=9D simply means =E2=
=80=9Can object now meets a filter criteria, that was not reported in the p=
revious cycle=E2=80=9D (which does not mean that the object was actually
 created =E2=80=93 it may have been created, or it may have simply undergon=
e a value change).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">An alternative (let=E2=80=99s call it alternative 2)=
 is therefore to make a distinction between whether an object was created o=
r deleted, or whether its value fell in or out of a filter range.=C2=A0 Thi=
s appears semantically cleaner.=C2=A0 However, it will
 require modifying the encoding to allow for distinction between those case=
s (currently, just plain patch encoding is used).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">A third alternative is to let filters select only da=
ta nodes to subscribe to, and separate out the value filter (or disallow it=
 as a feature altogether).=C2=A0 This alternative has the drawback of being=
 less conceptually powerful, even if it
 may be easier to implement.=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Thoughts?=C2=A0 Any preferences between 1, 2, and 3?=
=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">--- Alex <u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>

<br>______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
<br></blockquote></div><br></div></div>

--001a1145b1643721e6054fd36dfb--


From nobody Thu May 18 17:53:44 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54FEC12EC1D for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 17:53:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level: 
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OIwxFs88HVxB for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 17:53:39 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0CDBB12EBF9 for <netconf@ietf.org>; Thu, 18 May 2017 17:48:33 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DGW94213; Fri, 19 May 2017 00:48:31 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Fri, 19 May 2017 01:48:30 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Thu, 18 May 2017 17:48:26 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Andy Bierman <andy@yumaworks.com>, Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>
CC: Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AQHS0Bvr5ppCqKOrQVCrK5qvBNQM2KH7F1GA//+3hYA=
Date: Fri, 19 May 2017 00:48:25 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com>
In-Reply-To: <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.75]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020203.591E40E0.006F, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 199caaf241fb3db042866cd50c5a84f9
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/8WA90RWqcukT1aqJeufAnVTwm9g>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 00:53:42 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042SJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

U28sIEkgdGhpbmsgc28gZmFyIHRoZSBjb25zZW5zdXMgaXMgIzEgaXMgbm90IGEgZ29vZCBpZGVh
LiAgU28gd2UgY2FuIHByb2JhYmx5IGRyb3AgIzEgYW5kIHNob3VsZCBjaG9vc2UgYmV0d2VlbiAj
MiBhbmQgIzMuDQoNClBlcnNvbmFsbHksIEkgd291bGQgdGVuZCB0byBhZ3JlZSB3aXRoIGxlYXZp
bmcgUk1PTi10eXBlIHN0dWZmIHNlcGFyYXRlLCBpLmUuIHVzZSBhIGZpbHRlciB0byBzZWxlY3Qg
ZGF0YSBub2Rlcywgbm90IGFwcGx5IGFkZGl0aW9uYWwgY29tcGFyYXRvcnMgZm9yIHZhbHVlcy4g
IEhvd2V2ZXIsIGlmIGEgZmlsdGVyIGFsbG93cyB0byByZWZlciB0byBzdGF0ZS92YWx1ZXMsIHRo
ZW4gcmVhbGx5IHRoZSBzdWJzY3JpcHRpb24gY291bGQgY292ZXIgdGhhdC4gIEkgYW0gbm90IHN1
cmUgaWYgYSBnZW5lcmFsIHdhcm5pbmcgd291bGQgYmUgc3VmZmljaWVudCB0byBub3QgaXNzdWUg
c3VjaCByZXF1ZXN0cy4gIEEgY2xpZW50IG1pZ2h0IGlzc3VlIGFuIGFjY29yZGluZyByZXF1ZXN0
LCBidXQgYSBwdWJsaXNoZXIgY291bGQgZmVlbCBmcmVlIHRvIHJlamVjdCBhIHN1YnNjcmlwdGlv
biByZXF1ZXN0IGlmIHRoZSBmaWx0ZXIgY29uc3RydWN0IHJlcXVlc3RzIHNvbWV0aGluZyB0aGF0
IGlzIG5vdCBzdXBwb3J0ZWQuICBIb3dldmVyLCBpZiB0aGUgcHVibGlzaGVyIGNvdWxkIGFjY2Vw
dCB0aGUgcmVxdWVzdCwgdGhlbiB3ZSBydW4gaW50byB0aGUgZW5jb2RpbmcgaXNzdWUgdGhhdCB3
ZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIHdoeSBhbiBvYmplY3Qgd2FzIG9taXR0ZWQgKG9yIGluY2x1
ZGVkKTogYmVjYXVzZSBpdCB3YXMgZGVsZXRlZCAoY3JlYXRlZCksIG9yIGJlY2F1c2UgaXRzIHZh
bHVlIG5vIGxvbmdlciBtYXRjaGVzIChvciBkb2VzIG1hdGNoKSB0aGUgZmlsdGVyLg0KDQpJIGlu
dGVycHJldCB0aGUg4oCcbW9kaWZpZWQtaW7igJ0gYW5kIOKAnG1vZGlmaWVkLW91dOKAnSBzdWdn
ZXN0ZWQgYnkgS2VudCBwcmVjaXNlbHkgYXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRob3NlIGNh
c2VzLiAg4oCcTW9kaWZpZWQtb3V04oCdIHNpbXBseSBtZWFucyBpdHMgdmFsdWUgY2hhbmdlZCBz
byBpdCBubyBsb25nZXIgbWF0Y2hlcyB0aGUgZmlsdGVyIChidXQgdGhlIG9iamVjdCBzdGlsbCBl
eGlzdHMpLiAgV2hldGhlciB3ZSBjYWxsIGl0IG1vZGlmaWVkLWluL291dCBvciBzb21ldGhpbmcg
ZWxzZSBpcyBhbm90aGVyIHF1ZXN0aW9uLiAgT2YgY291cnNlLCB0aGUgaXNzdWUgaXMgdGhhdCB0
aGlzIG1lYW5zIHRoaXMgaXMgYSBuZXcgY2FzZSB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBw
YXRjaCBzeW50YXgsIHdoaWNoIHdvdWxkIHJlcXVpcmUgYW4gZXh0ZW5zaW9uIG9mIHRoZSBlbmNv
ZGluZy4NCg0KSSBmaW5kICMzIHNpbXBsZXIgYW5kIG1vcmUgc3RyYWlnaHRmb3J3YXJkLCBidXQg
SSBjYW4gc2VlIGFwcGxpY2F0aW9ucyBmb3IgIzIgYW5kIGl0IHJlc3VsdHMgaW4gdGhlIG1vcmUg
Z2VuZXJhbCBhbmQgcG90ZW50aWFsbHkgcG93ZXJmdWwgbWVjaGFuaXNtLiAgUGVyaGFwcyAjMiB0
aGVuPw0KDQotLS0gQWxleA0KDQpGcm9tOiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3
b3Jrcy5jb21dDQpTZW50OiBUaHVyc2RheSwgTWF5IDE4LCAyMDE3IDI6NTMgUE0NClRvOiBLZW50
IFdhdHNlbiA8a3dhdHNlbkBqdW5pcGVyLm5ldD4NCkNjOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhh
bmRlci5jbGVtbUBodWF3ZWkuY29tPjsgTmV0Y29uZiA8bmV0Y29uZkBpZXRmLm9yZz4NClN1Ympl
Y3Q6IFJlOiBbTmV0Y29uZl0gSW4gYW4gdXBkYXRlLCB3aGVuIGlzIGEgZGVsZXRlIGEgZGVsZXRl
Pw0KDQoNCg0KT24gVGh1LCBNYXkgMTgsIDIwMTcgYXQgMjoxNSBQTSwgS2VudCBXYXRzZW4gPGt3
YXRzZW5AanVuaXBlci5uZXQ8bWFpbHRvOmt3YXRzZW5AanVuaXBlci5uZXQ+PiB3cm90ZToNCkkn
bSB1bnN1cmUgaWYgdGhpcyBpcyBhIGdvb2QgZXhhbXBsZSwgYnV0IGFzc3VtaW5nIHlvdSBoYXZl
IGRhdGEgbW9kZWwgc25pcHBldDoNCg0KICBsaXN0IGZvbyB7DQogICAga2V5IG5hbWU7DQogICAg
bGVhZiBuYW1lIHsgdHlwZSBzdHJpbmc7fQ0KICB9DQoNCmFuZCB0aGUgb24tY2hhbmdlIHN1YnNj
cmlwdGlvbiBzbmlwcGV0Og0KDQogICAvZm9vW25hbWU9InhdDQoNCmFuZCB0aGUgZm9sbG93aW5n
IG9jY3VycyBpbiB0aW1lOg0KDQogIFQwOiB0aGVyZSBhcmUgbm8gJ2ZvbycgZW50cmllcw0KICBU
MTogZm9vIGVudHJ5IHcvIG5hbWU9PSJ5IiBpcyBjcmVhdGVkDQogIFQyOiBmb28gZW50cnkgdy8g
bmFtZT09IngiIGlzIGNyZWF0ZWQNCiAgVDM6IGZvbyBlbnRyeSAieCIgaXMgcmVuYW1lZCB0byAi
eiINCiAgVDQ6IGZvbyBlbnRyeSAieSIgaXMgcmVuYW1lZCB0byAieCINCg0KDQpEbyB5b3UgbWVh
biBzb21lIHByb3ByaWV0YXJ5IG5vbi1zdGFuZGFyZCByZW5hbWUgb3BlcmF0aW9uPw0KQmVjYXVz
ZSBORVRDT05GIGFuZCBSRVNUQ09ORiBoYXZlIG9ubHkgZGVsZXRlKHgpIGFuZCBjcmVhdGUoeSkN
Cg0KICBUNTogZm9vIGVudHJ5ICJ4IiBpcyBkZWxldGVkDQoNCkknZCBleHBlY3Q6DQoNCiAgVDA6
IG5vdGhpbmcNCiAgVDE6IG5vdGhpbmcNCiAgVDI6ICJ4IiBjcmVhdGVkIG5vdGlmaWNhdGlvbg0K
ICBUMzogIngiIG1vZGlmaWVkLW91dCBub3RpZmljYXRpb24NCiAgVDQ6ICJ4IiBtb2RpZmllZC1p
biBub3RpZmljYXRpb24NCg0KDQpUMyBhbmQgVDQgZXZlbnRzIGFyZSBub3QgcG9zc2libGUgaW4g
TkVUQ09ORiBvciBSRVNUQ09ORi4NClRoZXJlIGlzIG5vIHdheSB0byByZW5hbWUgYSBkYXRhIG5v
ZGUuIFRoZXNlIHByb3RvY29scyB3aWxsDQpwcm9kdWNlIGRlbGV0ZSh4KSBhbmQgYSBjcmVhdGUo
eSkgZXZlbnRzDQoNCg0KICBUNTogIngiIGRlbGV0ZWQgbm90aWZpY2F0aW9uDQoNCkkgdGhpbmsg
dGhhdCB0aGlzIGlzIHlvdXIgIzIuDQoNCktlbnQgIC8vIGFzIGEgY29udHJpYnV0b3INCg0KDQoN
Cg0KQW5keQ0KDQoNCk9uIDUvMTcvMTcsIDU6MjkgUE0sICJOZXRjb25mIG9uIGJlaGFsZiBvZiBB
bGV4YW5kZXIgQ2xlbW0iIDxuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmYt
Ym91bmNlc0BpZXRmLm9yZz4gb24gYmVoYWxmIG9mIGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29t
PG1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+IHdyb3RlOg0KDQpIZWxsbyBhbGws
DQoNCkluIHVwZGF0aW5nIHRoZSBZQU5HLVB1c2ggZG9jdW1lbnQgKGRyYWZ0LWlldGYtbmV0Y29u
Zi15YW5nLXB1c2gpLCB3ZSBoYXZlIGNvbWUgYWNyb3NzIG9uZSBpc3N1ZSB0aGF0IHdlIHdhbnRl
ZCB0byByYWlzZSB3aXRoIHRoZSB3b3JraW5nIGdyb3VwLg0KDQpBcyBwYXJ0IG9mIGFuIG9uLWNo
YW5nZSBzdWJzY3JpcHRpb24sIHVwZGF0ZSByZWNvcmRzIHJlZmxlY3QgdGhlIHR5cGUgb2YgY2hh
bmdlIChlLmcuIHdoZXRoZXIgdGhlIHZhbHVlIG9mIGFuIG9iamVjdCBoYXMgY2hhbmdlZCwgb3Ig
d2hldGhlciBhbiBvYmplY3Qgd2FzIGNyZWF0ZWQgb3IgZGVsZXRlZCk7IGEgc3Vic2NyaXB0aW9u
IGFsbG93cyBhbHNvIHRvIHNwZWNpZnkgd2hldGhlciBpbnRlcmVzdGVkIG9ubHkgaW4gc3BlY2lm
aWMgdHlwZXMgb2YgY2hhbmdlcyAoZm9yIGV4YW1wbGUsIG9ubHkgY3JlYXRlcyBhbmQgZGVsZXRl
ZCBidXQgbm8gdmFsdWUgY2hhbmdlcykuDQoNCkF0IHRoZSBzYW1lIHRpbWUsIGEgc3Vic2NyaXB0
aW9uIGZpbHRlciBzcGVjaWZpZXMgd2hpY2ggb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Yg
YSBzdWJzY3JpcHRpb24gYW5kIHdoaWNoIG5vdC4gIChSZWFsbHksIGl0IGlzIG5vdCBzbyBtdWNo
IG9mIGEg4oCcZmlsdGVy4oCdIG9uIGEgc3RyZWFtIHRoYXQgaXMgZ2VuZXJhdGVkIGluZGVwZW5k
ZW50bHkgb2YgdGhlIGZpbHRlciwgdGhhbiBpdCBpcyBhIHBvbGljeSBvZiB3aGljaCBvYmplY3Rz
IHRvIGluY2x1ZGUgYXMgcGFydCBvZiBzdWJzY3JpYmVkIHVwZGF0ZSByZWNvcmRzLikgICBIb3dl
dmVyLCBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgKHN1Y2ggYXMgWFBhdGgpIGNhbiBiZSB1c2VkIHRv
IGFsc28gc3BlY2lmeSBhIHZhbHVlIGZpbHRlciwgd2hpY2ggd2lsbCBpbmNsdWRlIG9yIGV4Y2x1
ZGUgb2JqZWN0cyBiYXNlZCBvbiB0aGVpciBjdXJyZW50IHZhbHVlLiBUaGlzIG1ha2VzIGl0IHBv
c3NpYmxlIHRvIGUuZy4gc3Vic2NyaWJlIHRvIGFuIG9iamVjdCDigJxmb2/igJ0gYnV0IG9ubHkg
aWYgaXRzIHZhbHVlIGlzIDUuDQoNCk5vdywgdGhpcyBtZWFucyB0aGF0IHRoZSBzYW1lIG9iamVj
dCBjb3VsZCBiZSBpbmNsdWRlZCBpbiBvbmUgdXBkYXRlLCBidXQgZXhjbHVkZWQgaW4gYW5vdGhl
ciB1cGRhdGUsIGR1ZSB0byBpdHMgdmFsdWUgbm8gbG9uZ2VyIG1lZXRpbmcgdGhlIGZpbHRlciBj
cml0ZXJpYS4gIEZvciBleGFtcGxlLCBpZiBmb2/igJlzIHZhbHVlIGNoYW5nZXMgZnJvbSA1IHRv
IDMgaW4gb25lIGN5Y2xlLCBhIHBlcmlvZGljIHN1YnNjcmlwdGlvbiB3aWxsIG5vIGxvbmdlciBp
bmNsdWRlIGZvbyBpbiBpdHMgbmV4dCB1cGRhdGUuICBUaGUgcXVlc3Rpb24gbm93IGNvbmNlcm5z
IGhvdyB0byBwcm9wZXJseSBoYW5kbGUgdGhpcyBpbiB0aGUgY2FzZSBvZiBhbiBvbi1jaGFuZ2Ug
c3Vic2NyaXB0aW9uLg0KDQpPbmUgcG9zc2liaWxpdHkgY29uY2VybnMgcmVwb3J0aW5nIHRoZSBm
YWN0IHRoYXQg4oCcZm9v4oCdIG5vIGxvbmdlciBtZWV0cyB0aGUgc3Vic2NyaXB0aW9uIGNyaXRl
cmlhIGFuZCBpcyBubyBsb25nZXIgaW5jbHVkZWQgaW4gdGhlIHVwZGF0ZSByZWNvcmQgYXMgYSDi
gJxkZWxldGXigJ0gZXZlbnQuICBJZiBmb2/igJlzIHZhbHVlIGFnYWluIGJlY29tZXMg4oCcNeKA
nSBhdCBhIGxhdGVyIHBvaW50IGluIHRpbWUsIHRoYXQgd291bGQgYmUgcmVwb3J0ZWQgYXMgYSDi
gJxjcmVhdGXigJ0gZXZlbnQuICBJZiBmb2/igJlzIHZhbHVlIGNoYW5nZXMgYWdhaW4gZnJvbSA1
IGF0IGEgbGF0ZXIgcG9pbnQgaW4gdGltZSBhbmQgdGhlbiBjaGFuZ2VzIGJhY2sgdG8gMyAgYmVm
b3JlIHRoZSB0aW1lIG9mIHRoZSB1cGRhdGUgKHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFsdWUgY2hh
bmdlZCBkdXJpbmcgdGhlIGRhbXBlbmluZyBpbnRlcnZhbCksIGl0IHdvdWxkIGJlIHJlcG9ydGVk
IGFzIGFub3RoZXIg4oCcZGVsZXRl4oCdIGV2ZW50ICh3aXRob3V0IGV2ZXIgcmVwb3J0aW5nIGEg
Y3JlYXRlIGV2ZW50KS4gIE9uIHRoZSBvdGhlciBoYW5kLCBpZiBmb2/igJlzIHZhbHVlIGNoYW5n
ZWQgZnJvbSAzIHRvIDYgYW5kIGJhY2sgYWdhaW4sIG5vdGhpbmcgd291bGQgYmUgcmVwb3J0ZWQg
YmVjYXVzZSBpdCBkaWQgbm90IG1lZXQgdGhlIGZpbHRlciBjcml0ZXJpYSBhdCBhbnkgcG9pbnQg
aW4gdGltZS4NCg0KRnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlIHJlY2VpdmVyIHRoaXMgbWF5
IG1ha2Ugc2Vuc2UgaWYgaXQgaXMgc3luY2hpbmcgaXRzIGNvcHkgb2YgdGhlIHN0YXRlLiAgSG93
ZXZlciwgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlIHB1Ymxpc2hlciwgdGhlIG9iamVjdCB3
YXMgbmV2ZXIgY3JlYXRlZCBvciBkZWxldGVkIOKAkyBvbmx5IGl0cyB2YWx1ZSBjaGFuZ2VkLCBh
bmQgdGhlIGNhc2Ugd2hlbiB0aGUgb2JqZWN0IHdhcyB0cnVseSBjcmVhdGVkIG9yIGRlbGV0ZWQg
Y2FuIG5vIGxvbmdlciBiZSBkaXN0aW5ndWlzaGVkIGZyb20gdGhlIGNhc2Ugd2hlbiBpdHMgdmFs
dWUgY2hhbmdlZC4gIEEg4oCcY3JlYXRl4oCdIHNpbXBseSBtZWFucyDigJxhbiBvYmplY3Qgbm93
IG1lZXRzIGEgZmlsdGVyIGNyaXRlcmlhLCB0aGF0IHdhcyBub3QgcmVwb3J0ZWQgaW4gdGhlIHBy
ZXZpb3VzIGN5Y2xl4oCdICh3aGljaCBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIG9iamVjdCB3YXMg
YWN0dWFsbHkgY3JlYXRlZCDigJMgaXQgbWF5IGhhdmUgYmVlbiBjcmVhdGVkLCBvciBpdCBtYXkg
aGF2ZSBzaW1wbHkgdW5kZXJnb25lIGEgdmFsdWUgY2hhbmdlKS4NCg0KQW4gYWx0ZXJuYXRpdmUg
KGxldOKAmXMgY2FsbCBpdCBhbHRlcm5hdGl2ZSAyKSBpcyB0aGVyZWZvcmUgdG8gbWFrZSBhIGRp
c3RpbmN0aW9uIGJldHdlZW4gd2hldGhlciBhbiBvYmplY3Qgd2FzIGNyZWF0ZWQgb3IgZGVsZXRl
ZCwgb3Igd2hldGhlciBpdHMgdmFsdWUgZmVsbCBpbiBvciBvdXQgb2YgYSBmaWx0ZXIgcmFuZ2Uu
ICBUaGlzIGFwcGVhcnMgc2VtYW50aWNhbGx5IGNsZWFuZXIuICBIb3dldmVyLCBpdCB3aWxsIHJl
cXVpcmUgbW9kaWZ5aW5nIHRoZSBlbmNvZGluZyB0byBhbGxvdyBmb3IgZGlzdGluY3Rpb24gYmV0
d2VlbiB0aG9zZSBjYXNlcyAoY3VycmVudGx5LCBqdXN0IHBsYWluIHBhdGNoIGVuY29kaW5nIGlz
IHVzZWQpLg0KDQpBIHRoaXJkIGFsdGVybmF0aXZlIGlzIHRvIGxldCBmaWx0ZXJzIHNlbGVjdCBv
bmx5IGRhdGEgbm9kZXMgdG8gc3Vic2NyaWJlIHRvLCBhbmQgc2VwYXJhdGUgb3V0IHRoZSB2YWx1
ZSBmaWx0ZXIgKG9yIGRpc2FsbG93IGl0IGFzIGEgZmVhdHVyZSBhbHRvZ2V0aGVyKS4gIFRoaXMg
YWx0ZXJuYXRpdmUgaGFzIHRoZSBkcmF3YmFjayBvZiBiZWluZyBsZXNzIGNvbmNlcHR1YWxseSBw
b3dlcmZ1bCwgZXZlbiBpZiBpdCBtYXkgYmUgZWFzaWVyIHRvIGltcGxlbWVudC4NCg0KVGhvdWdo
dHM/ICBBbnkgcHJlZmVyZW5jZXMgYmV0d2VlbiAxLCAyLCBhbmQgMz8NCi0tLSBBbGV4DQoNCg0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNvbmYg
bWFpbGluZyBsaXN0DQpOZXRjb25mQGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3JnPg0K
aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042SJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFuLkVtYWlsU3R5bGUxNw0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z
ZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10
eXBlOnBlcnNvbmFsLWNvbXBvc2U7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpl
eHBvcnQtb25seTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpAcGFnZSBX
b3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGluIDEuMGluIDEu
MGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+
PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9
ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBt
c28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0
PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0K
PC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJwbGUiPg0K
PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj5TbywgSSB0aGluayBzbyBmYXIgdGhlIGNvbnNlbnN1cyBp
cyAjMSBpcyBub3QgYSBnb29kIGlkZWEuJm5ic3A7IFNvIHdlIGNhbiBwcm9iYWJseSBkcm9wICMx
IGFuZCBzaG91bGQgY2hvb3NlIGJldHdlZW4gIzIgYW5kICMzLiZuYnNwOw0KPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5QZXJzb25hbGx5LCBJIHdvdWxkIHRlbmQg
dG8gYWdyZWUgd2l0aCBsZWF2aW5nIFJNT04tdHlwZSBzdHVmZiBzZXBhcmF0ZSwgaS5lLiB1c2Ug
YSBmaWx0ZXIgdG8gc2VsZWN0IGRhdGEgbm9kZXMsIG5vdCBhcHBseSBhZGRpdGlvbmFsIGNvbXBh
cmF0b3JzIGZvciB2YWx1ZXMuJm5ic3A7DQogSG93ZXZlciwgaWYgYSBmaWx0ZXIgYWxsb3dzIHRv
IHJlZmVyIHRvIHN0YXRlL3ZhbHVlcywgdGhlbiByZWFsbHkgdGhlIHN1YnNjcmlwdGlvbiBjb3Vs
ZCBjb3ZlciB0aGF0LiZuYnNwOyBJIGFtIG5vdCBzdXJlIGlmIGEgZ2VuZXJhbCB3YXJuaW5nIHdv
dWxkIGJlIHN1ZmZpY2llbnQgdG8gbm90IGlzc3VlIHN1Y2ggcmVxdWVzdHMuJm5ic3A7IEEgY2xp
ZW50IG1pZ2h0IGlzc3VlIGFuIGFjY29yZGluZyByZXF1ZXN0LCBidXQgYSBwdWJsaXNoZXIgY291
bGQgZmVlbA0KIGZyZWUgdG8gcmVqZWN0IGEgc3Vic2NyaXB0aW9uIHJlcXVlc3QgaWYgdGhlIGZp
bHRlciBjb25zdHJ1Y3QgcmVxdWVzdHMgc29tZXRoaW5nIHRoYXQgaXMgbm90IHN1cHBvcnRlZC4m
bmJzcDsgSG93ZXZlciwgaWYgdGhlIHB1Ymxpc2hlciBjb3VsZCBhY2NlcHQgdGhlIHJlcXVlc3Qs
IHRoZW4gd2UgcnVuIGludG8gdGhlIGVuY29kaW5nIGlzc3VlIHRoYXQgd2UgbmVlZCB0byBkaXN0
aW5ndWlzaCB3aHkgYW4gb2JqZWN0IHdhcyBvbWl0dGVkIChvciBpbmNsdWRlZCk6DQogYmVjYXVz
ZSBpdCB3YXMgZGVsZXRlZCAoY3JlYXRlZCksIG9yIGJlY2F1c2UgaXRzIHZhbHVlIG5vIGxvbmdl
ciBtYXRjaGVzIChvciBkb2VzIG1hdGNoKSB0aGUgZmlsdGVyLiZuYnNwOw0KPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JIGludGVycHJldCB0aGUg4oCcbW9kaWZp
ZWQtaW7igJ0gYW5kIOKAnG1vZGlmaWVkLW91dOKAnSBzdWdnZXN0ZWQgYnkgS2VudCBwcmVjaXNl
bHkgYXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRob3NlIGNhc2VzLiZuYnNwOyDigJxNb2RpZmll
ZC1vdXTigJ0gc2ltcGx5IG1lYW5zIGl0cyB2YWx1ZSBjaGFuZ2VkDQogc28gaXQgbm8gbG9uZ2Vy
IG1hdGNoZXMgdGhlIGZpbHRlciAoYnV0IHRoZSBvYmplY3Qgc3RpbGwgZXhpc3RzKS4mbmJzcDsg
V2hldGhlciB3ZSBjYWxsIGl0IG1vZGlmaWVkLWluL291dCBvciBzb21ldGhpbmcgZWxzZSBpcyBh
bm90aGVyIHF1ZXN0aW9uLiZuYnNwOyBPZiBjb3Vyc2UsIHRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMg
bWVhbnMgdGhpcyBpcyBhIG5ldyBjYXNlIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgdGhlIHBhdGNo
IHN5bnRheCwgd2hpY2ggd291bGQgcmVxdWlyZQ0KIGFuIGV4dGVuc2lvbiBvZiB0aGUgZW5jb2Rp
bmcuJm5ic3A7IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SSBm
aW5kICMzIHNpbXBsZXIgYW5kIG1vcmUgc3RyYWlnaHRmb3J3YXJkLCBidXQgSSBjYW4gc2VlIGFw
cGxpY2F0aW9ucyBmb3IgIzIgYW5kIGl0IHJlc3VsdHMgaW4gdGhlIG1vcmUgZ2VuZXJhbCBhbmQg
cG90ZW50aWFsbHkgcG93ZXJmdWwgbWVjaGFuaXNtLiZuYnNwOyBQZXJoYXBzDQogIzIgdGhlbj8m
bmJzcDsgJm5ic3A7Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj4tLS0gQWxleDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFu
PjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jr
cy5jb21dDQo8YnI+DQo8Yj5TZW50OjwvYj4gVGh1cnNkYXksIE1heSAxOCwgMjAxNyAyOjUzIFBN
PGJyPg0KPGI+VG86PC9iPiBLZW50IFdhdHNlbiAmbHQ7a3dhdHNlbkBqdW5pcGVyLm5ldCZndDs8
YnI+DQo8Yj5DYzo8L2I+IEFsZXhhbmRlciBDbGVtbSAmbHQ7YWxleGFuZGVyLmNsZW1tQGh1YXdl
aS5jb20mZ3Q7OyBOZXRjb25mICZsdDtuZXRjb25mQGlldGYub3JnJmd0Ozxicj4NCjxiPlN1Ympl
Y3Q6PC9iPiBSZTogW05ldGNvbmZdIEluIGFuIHVwZGF0ZSwgd2hlbiBpcyBhIGRlbGV0ZSBhIGRl
bGV0ZT88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBUaHUsIE1heSAxOCwgMjAxNyBhdCAy
OjE1IFBNLCBLZW50IFdhdHNlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmt3YXRzZW5AanVuaXBlci5u
ZXQiIHRhcmdldD0iX2JsYW5rIj5rd2F0c2VuQGp1bmlwZXIubmV0PC9hPiZndDsgd3JvdGU6PG86
cD48L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6
c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0
OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPkknbSB1bnN1cmUgaWYgdGhpcyBpcyBhIGdvb2QgZXhhbXBsZSwgYnV0IGFzc3VtaW5n
IHlvdSBoYXZlIGRhdGEgbW9kZWwgc25pcHBldDo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOyBsaXN0IGZvbyB7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOyAmbmJzcDsmbmJzcDtrZXkgbmFtZTs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+Jm5ic3A7ICZuYnNwOyZuYnNwO2xlYWYgbmFtZSB7IHR5cGUgc3RyaW5nO308
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7IH08bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPmFuZCB0aGUgb24tY2hhbmdlIHN1YnNjcmlwdGlvbiBzbmlwcGV0
OjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7ICZuYnNwOy9mb29bbmFtZT0mcXVv
dDt4XTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+YW5kIHRoZSBmb2xsb3dpbmcgb2NjdXJz
IGluIHRpbWU6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDsgVDA6IHRoZXJlIGFy
ZSBubyAnZm9vJyBlbnRyaWVzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOyBUMTogZm9vIGVudHJ5IHcvIG5hbWU9PSZxdW90O3kmcXVvdDsgaXMgY3JlYXRlZDxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDsgVDI6IGZvbyBlbnRy
eSB3LyBuYW1lPT0mcXVvdDt4JnF1b3Q7IGlzIGNyZWF0ZWQ8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7IFQzOiBmb28gZW50cnkgJnF1b3Q7eCZxdW90OyBpcyBy
ZW5hbWVkIHRvICZxdW90O3omcXVvdDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+Jm5ic3A7IFQ0OiBmb28gZW50cnkgJnF1b3Q7eSZxdW90OyBpcyByZW5hbWVkIHRvICZx
dW90O3gmcXVvdDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkRvIHlvdSBtZWFuIHNvbWUgcHJvcHJp
ZXRhcnkgbm9uLXN0YW5kYXJkIHJlbmFtZSBvcGVyYXRpb24/PG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5CZWNhdXNlIE5FVENPTkYgYW5kIFJFU1RD
T05GIGhhdmUgb25seSBkZWxldGUoeCkgYW5kIGNyZWF0ZSh5KTxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAj
Q0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7
bWFyZ2luLXJpZ2h0OjBpbiI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7IFQ1OiBmb28gZW50cnkgJnF1b3Q7eCZxdW90OyBpcyBkZWxldGVkPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj5JJ2QgZXhwZWN0OjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
Jm5ic3A7IFQwOiBub3RoaW5nPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PiZuYnNwOyBUMTogbm90aGluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij4mbmJzcDsgVDI6ICZxdW90O3gmcXVvdDsgY3JlYXRlZCBub3RpZmljYXRpb248bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7IFQzOiAmcXVvdDt4JnF1b3Q7IG1v
ZGlmaWVkLW91dCBub3RpZmljYXRpb248bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+Jm5ic3A7IFQ0OiAmcXVvdDt4JnF1b3Q7IG1vZGlmaWVkLWluIG5vdGlmaWNhdGlvbjxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+VDMgYW5kIFQ0IGV2ZW50cyBhcmUgbm90IHBvc3NpYmxlIGlu
IE5FVENPTkYgb3IgUkVTVENPTkYuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5UaGVyZSBpcyBubyB3YXkgdG8gcmVuYW1lIGEgZGF0YSBub2RlLiBU
aGVzZSBwcm90b2NvbHMgd2lsbDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+cHJvZHVjZSBkZWxldGUoeCkgYW5kIGEgY3JlYXRlKHkpIGV2ZW50czxv
OnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25l
O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBw
dDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDsgVDU6ICZxdW90O3gmcXVvdDsgZGVsZXRlZCBub3Rp
ZmljYXRpb248bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkkgdGhpbmsgdGhhdCB0aGlzIGlz
IHlvdXIgIzIuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5LZW50Jm5ic3A7IC8vIGFzIGEg
Y29udHJpYnV0b3I8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+QW5keTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0
eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6
MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+DQo8
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+T24gNS8xNy8xNywgNToyOSBQ
TSwgJnF1b3Q7TmV0Y29uZiBvbiBiZWhhbGYgb2YgQWxleGFuZGVyIENsZW1tJnF1b3Q7ICZsdDs8
YSBocmVmPSJtYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+
bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnPC9hPiBvbiBiZWhhbGYgb2YNCjxhIGhyZWY9Im1haWx0
bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmFsZXhhbmRlci5j
bGVtbUBodWF3ZWkuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+SGVsbG8gYWxsLDxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+SW4gdXBkYXRpbmcgdGhlIFlBTkctUHVzaCBkb2N1bWVudCAoZHJhZnQt
aWV0Zi1uZXRjb25mLXlhbmctcHVzaCksIHdlIGhhdmUgY29tZSBhY3Jvc3Mgb25lIGlzc3VlIHRo
YXQgd2Ugd2FudGVkIHRvIHJhaXNlIHdpdGggdGhlIHdvcmtpbmcgZ3JvdXAuJm5ic3A7DQo8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkFzIHBhcnQgb2YgYW4gb24tY2hhbmdlIHN1YnNjcmlw
dGlvbiwgdXBkYXRlIHJlY29yZHMgcmVmbGVjdCB0aGUgdHlwZSBvZiBjaGFuZ2UgKGUuZy4gd2hl
dGhlciB0aGUgdmFsdWUgb2YgYW4gb2JqZWN0IGhhcyBjaGFuZ2VkLCBvciB3aGV0aGVyIGFuIG9i
amVjdCB3YXMgY3JlYXRlZCBvciBkZWxldGVkKTsgYQ0KIHN1YnNjcmlwdGlvbiBhbGxvd3MgYWxz
byB0byBzcGVjaWZ5IHdoZXRoZXIgaW50ZXJlc3RlZCBvbmx5IGluIHNwZWNpZmljIHR5cGVzIG9m
IGNoYW5nZXMgKGZvciBleGFtcGxlLCBvbmx5IGNyZWF0ZXMgYW5kIGRlbGV0ZWQgYnV0IG5vIHZh
bHVlIGNoYW5nZXMpLiZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5BdCB0aGUg
c2FtZSB0aW1lLCBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgc3BlY2lmaWVzIHdoaWNoIG9iamVjdHMg
dG8gaW5jbHVkZSBhcyBwYXJ0IG9mIGEgc3Vic2NyaXB0aW9uIGFuZCB3aGljaCBub3QuICZuYnNw
OyhSZWFsbHksIGl0IGlzIG5vdCBzbyBtdWNoIG9mIGEg4oCcZmlsdGVy4oCdIG9uIGEgc3RyZWFt
IHRoYXQgaXMNCiBnZW5lcmF0ZWQgaW5kZXBlbmRlbnRseSBvZiB0aGUgZmlsdGVyLCB0aGFuIGl0
IGlzIGEgcG9saWN5IG9mIHdoaWNoIG9iamVjdHMgdG8gaW5jbHVkZSBhcyBwYXJ0IG9mIHN1YnNj
cmliZWQgdXBkYXRlIHJlY29yZHMuKSZuYnNwOyAmbmJzcDtIb3dldmVyLCBhIHN1YnNjcmlwdGlv
biBmaWx0ZXIgKHN1Y2ggYXMgWFBhdGgpIGNhbiBiZSB1c2VkIHRvIGFsc28gc3BlY2lmeSBhIHZh
bHVlIGZpbHRlciwgd2hpY2ggd2lsbCBpbmNsdWRlIG9yIGV4Y2x1ZGUgb2JqZWN0cw0KIGJhc2Vk
IG9uIHRoZWlyIGN1cnJlbnQgdmFsdWUuIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZS5nLiBz
dWJzY3JpYmUgdG8gYW4gb2JqZWN0IOKAnGZvb+KAnSBidXQgb25seSBpZiBpdHMgdmFsdWUgaXMg
NS4mbmJzcDsNCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Tm93LCB0aGlzIG1lYW5zIHRo
YXQgdGhlIHNhbWUgb2JqZWN0IGNvdWxkIGJlIGluY2x1ZGVkIGluIG9uZSB1cGRhdGUsIGJ1dCBl
eGNsdWRlZCBpbiBhbm90aGVyIHVwZGF0ZSwgZHVlIHRvIGl0cyB2YWx1ZSBubyBsb25nZXIgbWVl
dGluZyB0aGUgZmlsdGVyIGNyaXRlcmlhLiZuYnNwOyBGb3IgZXhhbXBsZSwgaWYgZm9v4oCZcw0K
IHZhbHVlIGNoYW5nZXMgZnJvbSA1IHRvIDMgaW4gb25lIGN5Y2xlLCBhIHBlcmlvZGljIHN1YnNj
cmlwdGlvbiB3aWxsIG5vIGxvbmdlciBpbmNsdWRlIGZvbyBpbiBpdHMgbmV4dCB1cGRhdGUuJm5i
c3A7IFRoZSBxdWVzdGlvbiBub3cgY29uY2VybnMgaG93IHRvIHByb3Blcmx5IGhhbmRsZSB0aGlz
IGluIHRoZSBjYXNlIG9mIGFuIG9uLWNoYW5nZSBzdWJzY3JpcHRpb24uJm5ic3A7DQo8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPk9uZSBwb3NzaWJpbGl0eSBjb25jZXJucyByZXBvcnRpbmcg
dGhlIGZhY3QgdGhhdCDigJxmb2/igJ0gbm8gbG9uZ2VyIG1lZXRzIHRoZSBzdWJzY3JpcHRpb24g
Y3JpdGVyaWEgYW5kIGlzIG5vIGxvbmdlciBpbmNsdWRlZCBpbiB0aGUgdXBkYXRlIHJlY29yZCBh
cyBhIOKAnGRlbGV0ZeKAnSBldmVudC4mbmJzcDsgSWYgZm9v4oCZcyB2YWx1ZQ0KIGFnYWluIGJl
Y29tZXMg4oCcNeKAnSBhdCBhIGxhdGVyIHBvaW50IGluIHRpbWUsIHRoYXQgd291bGQgYmUgcmVw
b3J0ZWQgYXMgYSDigJxjcmVhdGXigJ0gZXZlbnQuJm5ic3A7IElmIGZvb+KAmXMgdmFsdWUgY2hh
bmdlcyBhZ2FpbiBmcm9tIDUgYXQgYSBsYXRlciBwb2ludCBpbiB0aW1lIGFuZCB0aGVuIGNoYW5n
ZXMgYmFjayB0byAzICZuYnNwO2JlZm9yZSB0aGUgdGltZSBvZiB0aGUgdXBkYXRlIChwZXJoYXBz
IGJlY2F1c2UgdGhlIHZhbHVlIGNoYW5nZWQgZHVyaW5nIHRoZSBkYW1wZW5pbmcNCiBpbnRlcnZh
bCksIGl0IHdvdWxkIGJlIHJlcG9ydGVkIGFzIGFub3RoZXIg4oCcZGVsZXRl4oCdIGV2ZW50ICh3
aXRob3V0IGV2ZXIgcmVwb3J0aW5nIGEgY3JlYXRlIGV2ZW50KS4mbmJzcDsgT24gdGhlIG90aGVy
IGhhbmQsIGlmIGZvb+KAmXMgdmFsdWUgY2hhbmdlZCBmcm9tIDMgdG8gNiBhbmQgYmFjayBhZ2Fp
biwgbm90aGluZyB3b3VsZCBiZSByZXBvcnRlZCBiZWNhdXNlIGl0IGRpZCBub3QgbWVldCB0aGUg
ZmlsdGVyIGNyaXRlcmlhIGF0IGFueSBwb2ludCBpbg0KIHRpbWUuJm5ic3A7IDxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+RnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlIHJlY2VpdmVyIHRo
aXMgbWF5IG1ha2Ugc2Vuc2UgaWYgaXQgaXMgc3luY2hpbmcgaXRzIGNvcHkgb2YgdGhlIHN0YXRl
LiZuYnNwOyBIb3dldmVyLCBmcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgcHVibGlzaGVyLCB0
aGUgb2JqZWN0IHdhcyBuZXZlciBjcmVhdGVkIG9yDQogZGVsZXRlZCDigJMgb25seSBpdHMgdmFs
dWUgY2hhbmdlZCwgYW5kIHRoZSBjYXNlIHdoZW4gdGhlIG9iamVjdCB3YXMgdHJ1bHkgY3JlYXRl
ZCBvciBkZWxldGVkIGNhbiBubyBsb25nZXIgYmUgZGlzdGluZ3Vpc2hlZCBmcm9tIHRoZSBjYXNl
IHdoZW4gaXRzIHZhbHVlIGNoYW5nZWQuJm5ic3A7IEEg4oCcY3JlYXRl4oCdIHNpbXBseSBtZWFu
cyDigJxhbiBvYmplY3Qgbm93IG1lZXRzIGEgZmlsdGVyIGNyaXRlcmlhLCB0aGF0IHdhcyBub3Qg
cmVwb3J0ZWQgaW4gdGhlIHByZXZpb3VzDQogY3ljbGXigJ0gKHdoaWNoIGRvZXMgbm90IG1lYW4g
dGhhdCB0aGUgb2JqZWN0IHdhcyBhY3R1YWxseSBjcmVhdGVkIOKAkyBpdCBtYXkgaGF2ZSBiZWVu
IGNyZWF0ZWQsIG9yIGl0IG1heSBoYXZlIHNpbXBseSB1bmRlcmdvbmUgYSB2YWx1ZSBjaGFuZ2Up
LiZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj5BbiBhbHRlcm5hdGl2ZSAobGV0
4oCZcyBjYWxsIGl0IGFsdGVybmF0aXZlIDIpIGlzIHRoZXJlZm9yZSB0byBtYWtlIGEgZGlzdGlu
Y3Rpb24gYmV0d2VlbiB3aGV0aGVyIGFuIG9iamVjdCB3YXMgY3JlYXRlZCBvciBkZWxldGVkLCBv
ciB3aGV0aGVyIGl0cyB2YWx1ZSBmZWxsIGluIG9yIG91dCBvZiBhIGZpbHRlcg0KIHJhbmdlLiZu
YnNwOyBUaGlzIGFwcGVhcnMgc2VtYW50aWNhbGx5IGNsZWFuZXIuJm5ic3A7IEhvd2V2ZXIsIGl0
IHdpbGwgcmVxdWlyZSBtb2RpZnlpbmcgdGhlIGVuY29kaW5nIHRvIGFsbG93IGZvciBkaXN0aW5j
dGlvbiBiZXR3ZWVuIHRob3NlIGNhc2VzIChjdXJyZW50bHksIGp1c3QgcGxhaW4gcGF0Y2ggZW5j
b2RpbmcgaXMgdXNlZCkuJm5ic3A7DQo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPkEgdGhp
cmQgYWx0ZXJuYXRpdmUgaXMgdG8gbGV0IGZpbHRlcnMgc2VsZWN0IG9ubHkgZGF0YSBub2RlcyB0
byBzdWJzY3JpYmUgdG8sIGFuZCBzZXBhcmF0ZSBvdXQgdGhlIHZhbHVlIGZpbHRlciAob3IgZGlz
YWxsb3cgaXQgYXMgYSBmZWF0dXJlIGFsdG9nZXRoZXIpLiZuYnNwOyBUaGlzIGFsdGVybmF0aXZl
IGhhcyB0aGUNCiBkcmF3YmFjayBvZiBiZWluZyBsZXNzIGNvbmNlcHR1YWxseSBwb3dlcmZ1bCwg
ZXZlbiBpZiBpdCBtYXkgYmUgZWFzaWVyIHRvIGltcGxlbWVudC4mbmJzcDsNCjxvOnA+PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+VGhvdWdodHM/Jm5ic3A7IEFueSBwcmVmZXJlbmNlcyBiZXR3ZWVu
IDEsIDIsIGFuZCAzPyZuYnNwOw0KPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPi0tLSBBbGV4DQo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+Jm5i
c3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48YnI+DQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NCk5ldGNvbmYgbWFpbGluZyBsaXN0PGJyPg0K
PGEgaHJlZj0ibWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmciPk5ldGNvbmZAaWV0Zi5vcmc8L2E+PGJy
Pg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25m
IiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9u
ZXRjb25mPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp
dj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042SJCEML701CHMchi_--


From nobody Thu May 18 18:39:23 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9CDE1126CE8 for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 18:39:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NkLMEG0WEvAR for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 18:39:19 -0700 (PDT)
Received: from mail-wm0-x22f.google.com (mail-wm0-x22f.google.com [IPv6:2a00:1450:400c:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 60BF7129C64 for <netconf@ietf.org>; Thu, 18 May 2017 18:34:01 -0700 (PDT)
Received: by mail-wm0-x22f.google.com with SMTP id 70so65121018wmq.1 for <netconf@ietf.org>; Thu, 18 May 2017 18:34:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=IWy3W5Su2YMcztwuR0QTFGwv3w3TfNkbGaCrfjXsuU8=; b=ldCvFFgRkirMvffHYe+TZiPvDtxpr7cXnQQlEo55EVfcL7G8dPUF7GlND9T21MkJqf yVjFhF5jCytte3DfPn4eF/u+fAyBY70iRK0Bg1v40AkJPYPiIUdpmAPNWA9d4n1qdmj/ 0kGhmk/9zUTe91LEjYx/1c+7UgsyIErRmDtgM/klaCq5jdbyMAnyLS9n49twZ+xVSgwD mK6mteAd8e8fBZnaREY6XkO4a5hWM9WWkHiYq2XWfNiIlFUnTw2DjTmF2nZ1QjK1ODCn v+IEB29saXeejp7DCCXpXj3W8u9bgA1Sj0k94aaa0jzo1DrNeUas7F/2SrLxm/TN0Kfu gf4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=IWy3W5Su2YMcztwuR0QTFGwv3w3TfNkbGaCrfjXsuU8=; b=YbEq+ZMcYv5FNCD8LxDDolF5/a3oNV/UdYalB0L0xw/mgyBg8wn6TgzLMNzvUY2LPV 3Yj/c6LseqmqZNej2m8FK4WkwxLcVro4fmJsUeAhyJsGo6MLlMM3w8MdP5N/69CZT6eT KyY/JwGV7jihSRDPGZQ0F7C1ns+JaVGR5qtTtp5AFnsqOHSu2rjYd3pXDqOde4ADGLyb 9xXzNbCkcldK54PFly5BxXJJp2XpuytcV3wDxW9hrTkX3Qlhq6iOHeLRio1VzqXCs/HA CHUCfq2U/TMyndpdIeF60oE4CoRSd0vQmNqw2ztJcfw+DuQLdqSGLTSMJZUCKTQKpsym 9pSw==
X-Gm-Message-State: AODbwcBqA1BxH/EwB7XjahncL8jYq283Nn/i34ORsJOL8cIgQol3TjOC +n4UtVCvJth7jCEKC/qx01zwPfr+x0jh
X-Received: by 10.28.158.134 with SMTP id h128mr489523wme.99.1495157639616; Thu, 18 May 2017 18:33:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 18 May 2017 18:33:58 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 18 May 2017 18:33:58 -0700
Message-ID: <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>,  Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114b3b04fe31c6054fd683b5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/1G4Wl2bk8AOoeOtnRGJMLLej_0c>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 01:39:22 -0000

--001a114b3b04fe31c6054fd683b5
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, May 18, 2017 at 5:48 PM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> So, I think so far the consensus is #1 is not a good idea.  So we can
> probably drop #1 and should choose between #2 and #3.
>
>
>
> Personally, I would tend to agree with leaving RMON-type stuff separate,
> i.e. use a filter to select data nodes, not apply additional comparators
> for values.  However, if a filter allows to refer to state/values, then
> really the subscription could cover that.  I am not sure if a general
> warning would be sufficient to not issue such requests.  A client might
> issue an according request, but a publisher could feel free to reject a
> subscription request if the filter construct requests something that is n=
ot
> supported.  However, if the publisher could accept the request, then we r=
un
> into the encoding issue that we need to distinguish why an object was
> omitted (or included): because it was deleted (created), or because its
> value no longer matches (or does match) the filter.
>
>
>
> I interpret the =E2=80=9Cmodified-in=E2=80=9D and =E2=80=9Cmodified-out=
=E2=80=9D suggested by Kent
> precisely as a distinction between those cases.  =E2=80=9CModified-out=E2=
=80=9D simply
> means its value changed so it no longer matches the filter (but the objec=
t
> still exists).  Whether we call it modified-in/out or something else is
> another question.  Of course, the issue is that this means this is a new
> case that is not covered by the patch syntax, which would require an
> extension of the encoding.
>
>
>


What breaks if the client just sees data nodes appear or disappear from 1
patch to the next?
Why does the client need to know the data node still exists, but the foo=3D=
=3D5
filter changed.
The client decided that only state for foo=3D=3D5 needs to be watched, so f=
rom
its POV
the extra metadata should not be needed.



I find #3 simpler and more straightforward, but I can see applications for
> #2 and it results in the more general and potentially powerful mechanism.
> Perhaps #2 then?
>
>
>
> --- Alex
>

Andy


>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, May 18, 2017 2:53 PM
> *To:* Kent Watsen <kwatsen@juniper.net>
> *Cc:* Alexander Clemm <alexander.clemm@huawei.com>; Netconf <
> netconf@ietf.org>
> *Subject:* Re: [Netconf] In an update, when is a delete a delete?
>
>
>
>
>
>
>
> On Thu, May 18, 2017 at 2:15 PM, Kent Watsen <kwatsen@juniper.net> wrote:
>
> I'm unsure if this is a good example, but assuming you have data model
> snippet:
>
>
>
>   list foo {
>
>     key name;
>
>     leaf name { type string;}
>
>   }
>
>
>
> and the on-change subscription snippet:
>
>
>
>    /foo[name=3D"x]
>
>
>
> and the following occurs in time:
>
>
>
>   T0: there are no 'foo' entries
>
>   T1: foo entry w/ name=3D=3D"y" is created
>
>   T2: foo entry w/ name=3D=3D"x" is created
>
>   T3: foo entry "x" is renamed to "z"
>
>   T4: foo entry "y" is renamed to "x"
>
>
>
>
>
> Do you mean some proprietary non-standard rename operation?
>
> Because NETCONF and RESTCONF have only delete(x) and create(y)
>
>
>
>   T5: foo entry "x" is deleted
>
>
>
> I'd expect:
>
>
>
>   T0: nothing
>
>   T1: nothing
>
>   T2: "x" created notification
>
>   T3: "x" modified-out notification
>
>   T4: "x" modified-in notification
>
>
>
>
>
> T3 and T4 events are not possible in NETCONF or RESTCONF.
>
> There is no way to rename a data node. These protocols will
>
> produce delete(x) and a create(y) events
>
>
>
>
>
>   T5: "x" deleted notification
>
>
>
> I think that this is your #2.
>
>
>
> Kent  // as a contributor
>
>
>
>
>
>
>
>
>
> Andy
>
>
>
>
>
> On 5/17/17, 5:29 PM, "Netconf on behalf of Alexander Clemm" <
> netconf-bounces@ietf.org on behalf of alexander.clemm@huawei.com> wrote:
>
>
>
> Hello all,
>
>
>
> In updating the YANG-Push document (draft-ietf-netconf-yang-push), we
> have come across one issue that we wanted to raise with the working group=
.
>
>
>
> As part of an on-change subscription, update records reflect the type of
> change (e.g. whether the value of an object has changed, or whether an
> object was created or deleted); a subscription allows also to specify
> whether interested only in specific types of changes (for example, only
> creates and deleted but no value changes).
>
>
>
> At the same time, a subscription filter specifies which objects to includ=
e
> as part of a subscription and which not.  (Really, it is not so much of a
> =E2=80=9Cfilter=E2=80=9D on a stream that is generated independently of t=
he filter, than it
> is a policy of which objects to include as part of subscribed update
> records.)   However, a subscription filter (such as XPath) can be used to
> also specify a value filter, which will include or exclude objects based =
on
> their current value. This makes it possible to e.g. subscribe to an objec=
t
> =E2=80=9Cfoo=E2=80=9D but only if its value is 5.
>
>
>
> Now, this means that the same object could be included in one update, but
> excluded in another update, due to its value no longer meeting the filter
> criteria.  For example, if foo=E2=80=99s value changes from 5 to 3 in one=
 cycle, a
> periodic subscription will no longer include foo in its next update.  The
> question now concerns how to properly handle this in the case of an
> on-change subscription.
>
>
>
> One possibility concerns reporting the fact that =E2=80=9Cfoo=E2=80=9D no=
 longer meets the
> subscription criteria and is no longer included in the update record as a
> =E2=80=9Cdelete=E2=80=9D event.  If foo=E2=80=99s value again becomes =E2=
=80=9C5=E2=80=9D at a later point in time,
> that would be reported as a =E2=80=9Ccreate=E2=80=9D event.  If foo=E2=80=
=99s value changes again
> from 5 at a later point in time and then changes back to 3  before the ti=
me
> of the update (perhaps because the value changed during the dampening
> interval), it would be reported as another =E2=80=9Cdelete=E2=80=9D event=
 (without ever
> reporting a create event).  On the other hand, if foo=E2=80=99s value cha=
nged from
> 3 to 6 and back again, nothing would be reported because it did not meet
> the filter criteria at any point in time.
>
>
>
> From the perspective of the receiver this may make sense if it is synchin=
g
> its copy of the state.  However, from the perspective of the publisher, t=
he
> object was never created or deleted =E2=80=93 only its value changed, and=
 the case
> when the object was truly created or deleted can no longer be distinguish=
ed
> from the case when its value changed.  A =E2=80=9Ccreate=E2=80=9D simply =
means =E2=80=9Can object
> now meets a filter criteria, that was not reported in the previous cycle=
=E2=80=9D
> (which does not mean that the object was actually created =E2=80=93 it ma=
y have
> been created, or it may have simply undergone a value change).
>
>
>
> An alternative (let=E2=80=99s call it alternative 2) is therefore to make=
 a
> distinction between whether an object was created or deleted, or whether
> its value fell in or out of a filter range.  This appears semantically
> cleaner.  However, it will require modifying the encoding to allow for
> distinction between those cases (currently, just plain patch encoding is
> used).
>
>
>
> A third alternative is to let filters select only data nodes to subscribe
> to, and separate out the value filter (or disallow it as a feature
> altogether).  This alternative has the drawback of being less conceptuall=
y
> powerful, even if it may be easier to implement.
>
>
>
> Thoughts?  Any preferences between 1, 2, and 3?
>
> --- Alex
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>
>

--001a114b3b04fe31c6054fd683b5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Thu, May 18, 2017 at 5:48 PM, Alexander Clemm <span dir=3D"ltr">&lt;=
<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.c=
lemm@huawei.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_2557314736580080477WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">So, I think so far the consensus is #=
1 is not a good idea.=C2=A0 So we can probably drop #1 and should choose be=
tween #2 and #3.=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Personally, I would tend to agree wit=
h leaving RMON-type stuff separate, i.e. use a filter to select data nodes,=
 not apply additional comparators for values.=C2=A0
 However, if a filter allows to refer to state/values, then really the subs=
cription could cover that.=C2=A0 I am not sure if a general warning would b=
e sufficient to not issue such requests.=C2=A0 A client might issue an acco=
rding request, but a publisher could feel
 free to reject a subscription request if the filter construct requests som=
ething that is not supported.=C2=A0 However, if the publisher could accept =
the request, then we run into the encoding issue that we need to distinguis=
h why an object was omitted (or included):
 because it was deleted (created), or because its value no longer matches (=
or does match) the filter.=C2=A0
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I interpret the =E2=80=9Cmodified-in=
=E2=80=9D and =E2=80=9Cmodified-out=E2=80=9D suggested by Kent precisely as=
 a distinction between those cases.=C2=A0 =E2=80=9CModified-out=E2=80=9D si=
mply means its value changed
 so it no longer matches the filter (but the object still exists).=C2=A0 Wh=
ether we call it modified-in/out or something else is another question.=C2=
=A0 Of course, the issue is that this means this is a new case that is not =
covered by the patch syntax, which would require
 an extension of the encoding.=C2=A0 <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0</span></p></div></div><=
/blockquote><div><br></div><div><br></div><div>What breaks if the client ju=
st sees data nodes appear or disappear from 1 patch to the next?</div><div>=
Why does the client need to know the data node still exists, but the foo=3D=
=3D5 filter changed.</div><div>The client decided that only state for foo=
=3D=3D5 needs to be watched, so from its POV</div><div>the extra metadata s=
hould not be needed.</div><div><br></div><div><br></div><div><br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purpl=
e"><div class=3D"m_2557314736580080477WordSection1"><p class=3D"MsoNormal">=
<span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;=
color:#1f497d"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I find #3 simpler and more straightfo=
rward, but I can see applications for #2 and it results in the more general=
 and potentially powerful mechanism.=C2=A0 Perhaps
 #2 then?=C2=A0 =C2=A0=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex</span></p></div></div></bloc=
kquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><div class=3D"=
m_2557314736580080477WordSection1"><p class=3D"MsoNormal"><span style=3D"fo=
nt-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman [mailto:<a href=
=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com</a>]
<br>
<b>Sent:</b> Thursday, May 18, 2017 2:53 PM<br>
<b>To:</b> Kent Watsen &lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D=
"_blank">kwatsen@juniper.net</a>&gt;<br>
<b>Cc:</b> Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei.com=
" target=3D"_blank">alexander.clemm@huawei.com</a>&gt;; Netconf &lt;<a href=
=3D"mailto:netconf@ietf.org" target=3D"_blank">netconf@ietf.org</a>&gt;<br>
<b>Subject:</b> Re: [Netconf] In an update, when is a delete a delete?<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Thu, May 18, 2017 at 2:15 PM, Kent Watsen &lt;<a =
href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net</=
a>&gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal">I&#39;m unsure if this is a good example, but assumi=
ng you have data model snippet:<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 list foo {<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 =C2=A0=C2=A0key name;<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 =C2=A0=C2=A0leaf name { type string;}<u></u><=
u></u></p>
<p class=3D"MsoNormal">=C2=A0 }<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">and the on-change subscription snippet:<u></u><u></u=
></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 =C2=A0/foo[name=3D&quot;x]<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">and the following occurs in time:<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T0: there are no &#39;foo&#39; entries<u></u>=
<u></u></p>
<p class=3D"MsoNormal">=C2=A0 T1: foo entry w/ name=3D=3D&quot;y&quot; is c=
reated<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T2: foo entry w/ name=3D=3D&quot;x&quot; is c=
reated<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T3: foo entry &quot;x&quot; is renamed to &qu=
ot;z&quot;<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T4: foo entry &quot;y&quot; is renamed to &qu=
ot;x&quot;<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Do you mean some proprietary non-standard rename ope=
ration?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Because NETCONF and RESTCONF have only delete(x) and=
 create(y)<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal">=C2=A0 T5: foo entry &quot;x&quot; is deleted<u></u>=
<u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">I&#39;d expect:<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T0: nothing<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T1: nothing<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T2: &quot;x&quot; created notification<u></u>=
<u></u></p>
<p class=3D"MsoNormal">=C2=A0 T3: &quot;x&quot; modified-out notification<u=
></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0 T4: &quot;x&quot; modified-in notification<u>=
</u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">T3 and T4 events are not possible in NETCONF or REST=
CONF.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">There is no way to rename a data node. These protoco=
ls will<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">produce delete(x) and a create(y) events<u></u><u></=
u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal">=C2=A0 T5: &quot;x&quot; deleted notification<u></u>=
<u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">I think that this is your #2.<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Kent=C2=A0 // as a contributor<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal">On 5/17/17, 5:29 PM, &quot;Netconf on behalf of Alex=
ander Clemm&quot; &lt;<a href=3D"mailto:netconf-bounces@ietf.org" target=3D=
"_blank">netconf-bounces@ietf.org</a> on behalf of
<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.c=
lemm@huawei.com</a>&gt; wrote:<u></u><u></u></p>
</div>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<p class=3D"MsoNormal">Hello all,<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">In updating the YANG-Push document (draft-ietf-netco=
nf-yang-push)<wbr>, we have come across one issue that we wanted to raise w=
ith the working group.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">As part of an on-change subscription, update records=
 reflect the type of change (e.g. whether the value of an object has change=
d, or whether an object was created or deleted); a
 subscription allows also to specify whether interested only in specific ty=
pes of changes (for example, only creates and deleted but no value changes)=
.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">At the same time, a subscription filter specifies wh=
ich objects to include as part of a subscription and which not. =C2=A0(Real=
ly, it is not so much of a =E2=80=9Cfilter=E2=80=9D on a stream that is
 generated independently of the filter, than it is a policy of which object=
s to include as part of subscribed update records.)=C2=A0 =C2=A0However, a =
subscription filter (such as XPath) can be used to also specify a value fil=
ter, which will include or exclude objects
 based on their current value. This makes it possible to e.g. subscribe to =
an object =E2=80=9Cfoo=E2=80=9D but only if its value is 5.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Now, this means that the same object could be includ=
ed in one update, but excluded in another update, due to its value no longe=
r meeting the filter criteria.=C2=A0 For example, if foo=E2=80=99s
 value changes from 5 to 3 in one cycle, a periodic subscription will no lo=
nger include foo in its next update.=C2=A0 The question now concerns how to=
 properly handle this in the case of an on-change subscription.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">One possibility concerns reporting the fact that =E2=
=80=9Cfoo=E2=80=9D no longer meets the subscription criteria and is no long=
er included in the update record as a =E2=80=9Cdelete=E2=80=9D event.=C2=A0=
 If foo=E2=80=99s value
 again becomes =E2=80=9C5=E2=80=9D at a later point in time, that would be =
reported as a =E2=80=9Ccreate=E2=80=9D event.=C2=A0 If foo=E2=80=99s value =
changes again from 5 at a later point in time and then changes back to 3 =
=C2=A0before the time of the update (perhaps because the value changed duri=
ng the dampening
 interval), it would be reported as another =E2=80=9Cdelete=E2=80=9D event =
(without ever reporting a create event).=C2=A0 On the other hand, if foo=E2=
=80=99s value changed from 3 to 6 and back again, nothing would be reported=
 because it did not meet the filter criteria at any point in
 time.=C2=A0 <u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">From the perspective of the receiver this may make s=
ense if it is synching its copy of the state.=C2=A0 However, from the persp=
ective of the publisher, the object was never created or
 deleted =E2=80=93 only its value changed, and the case when the object was=
 truly created or deleted can no longer be distinguished from the case when=
 its value changed.=C2=A0 A =E2=80=9Ccreate=E2=80=9D simply means =E2=80=9C=
an object now meets a filter criteria, that was not reported in the previou=
s
 cycle=E2=80=9D (which does not mean that the object was actually created =
=E2=80=93 it may have been created, or it may have simply undergone a value=
 change).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">An alternative (let=E2=80=99s call it alternative 2)=
 is therefore to make a distinction between whether an object was created o=
r deleted, or whether its value fell in or out of a filter
 range.=C2=A0 This appears semantically cleaner.=C2=A0 However, it will req=
uire modifying the encoding to allow for distinction between those cases (c=
urrently, just plain patch encoding is used).=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">A third alternative is to let filters select only da=
ta nodes to subscribe to, and separate out the value filter (or disallow it=
 as a feature altogether).=C2=A0 This alternative has the
 drawback of being less conceptually powerful, even if it may be easier to =
implement.=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
<p class=3D"MsoNormal">Thoughts?=C2=A0 Any preferences between 1, 2, and 3?=
=C2=A0
<u></u><u></u></p>
<p class=3D"MsoNormal">--- Alex
<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org" target=3D"_blank">Netconf@ietf.org</a><=
br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" target=3D"_blank"=
>https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><u></u><u></u></p>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--001a114b3b04fe31c6054fd683b5--


From nobody Thu May 18 18:56:37 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 01BDE12711E for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 18:56:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2T-assigB8ul for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 18:56:32 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3EEB812EACE for <netconf@ietf.org>; Thu, 18 May 2017 18:51:11 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DGW99438; Fri, 19 May 2017 01:51:09 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Fri, 19 May 2017 02:51:08 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Thu, 18 May 2017 18:51:02 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>,  Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AQHS0Bvr5ppCqKOrQVCrK5qvBNQM2KH7F1GA//+3hYCAAIZDAP//jcVQ
Date: Fri, 19 May 2017 01:51:01 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com>
In-Reply-To: <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.75]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0ACSJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A0B0202.591E4F8D.0094, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 199caaf241fb3db042866cd50c5a84f9
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/voVQ8EINfF8I2LgYBNkIMSeLKZE>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 01:56:35 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0ACSJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNCkJlbG93DQotLS0gQWxleA0KDQpGcm9tOiBBbmR5IEJpZXJtYW4gW21haWx0bzph
bmR5QHl1bWF3b3Jrcy5jb21dDQpTZW50OiBUaHVyc2RheSwgTWF5IDE4LCAyMDE3IDY6MzQgUE0N
ClRvOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPg0KQ2M6IEtl
bnQgV2F0c2VuIDxrd2F0c2VuQGp1bmlwZXIubmV0PjsgRXJpYyBWb2l0IChldm9pdCkgPGV2b2l0
QGNpc2NvLmNvbT47IE5ldGNvbmYgPG5ldGNvbmZAaWV0Zi5vcmc+DQpTdWJqZWN0OiBSZTogW05l
dGNvbmZdIEluIGFuIHVwZGF0ZSwgd2hlbiBpcyBhIGRlbGV0ZSBhIGRlbGV0ZT8NCg0K4oCm4oCm
4oCm4oCm4oCm4oCm4oCm4oCmDQo8c25pcD4NCkkgaW50ZXJwcmV0IHRoZSDigJxtb2RpZmllZC1p
buKAnSBhbmQg4oCcbW9kaWZpZWQtb3V04oCdIHN1Z2dlc3RlZCBieSBLZW50IHByZWNpc2VseSBh
cyBhIGRpc3RpbmN0aW9uIGJldHdlZW4gdGhvc2UgY2FzZXMuICDigJxNb2RpZmllZC1vdXTigJ0g
c2ltcGx5IG1lYW5zIGl0cyB2YWx1ZSBjaGFuZ2VkIHNvIGl0IG5vIGxvbmdlciBtYXRjaGVzIHRo
ZSBmaWx0ZXIgKGJ1dCB0aGUgb2JqZWN0IHN0aWxsIGV4aXN0cykuICBXaGV0aGVyIHdlIGNhbGwg
aXQgbW9kaWZpZWQtaW4vb3V0IG9yIHNvbWV0aGluZyBlbHNlIGlzIGFub3RoZXIgcXVlc3Rpb24u
ICBPZiBjb3Vyc2UsIHRoZSBpc3N1ZSBpcyB0aGF0IHRoaXMgbWVhbnMgdGhpcyBpcyBhIG5ldyBj
YXNlIHRoYXQgaXMgbm90IGNvdmVyZWQgYnkgdGhlIHBhdGNoIHN5bnRheCwgd2hpY2ggd291bGQg
cmVxdWlyZSBhbiBleHRlbnNpb24gb2YgdGhlIGVuY29kaW5nLg0KDQoNCg0KV2hhdCBicmVha3Mg
aWYgdGhlIGNsaWVudCBqdXN0IHNlZXMgZGF0YSBub2RlcyBhcHBlYXIgb3IgZGlzYXBwZWFyIGZy
b20gMSBwYXRjaCB0byB0aGUgbmV4dD8NCldoeSBkb2VzIHRoZSBjbGllbnQgbmVlZCB0byBrbm93
IHRoZSBkYXRhIG5vZGUgc3RpbGwgZXhpc3RzLCBidXQgdGhlIGZvbz09NSBmaWx0ZXIgY2hhbmdl
ZC4NClRoZSBjbGllbnQgZGVjaWRlZCB0aGF0IG9ubHkgc3RhdGUgZm9yIGZvbz09NSBuZWVkcyB0
byBiZSB3YXRjaGVkLCBzbyBmcm9tIGl0cyBQT1YNCnRoZSBleHRyYSBtZXRhZGF0YSBzaG91bGQg
bm90IGJlIG5lZWRlZC4NCg0KDQo8QWxleD4NCkZvciBwZXJpb2RpYywgdGhpcyBpcyB3aGF0IGhh
cHBlbnMuDQpJbiB0aGUgY2FzZSBvZiBvbi1jaGFuZ2UsIHdlIHdvdWxkIGluZGljYXRlIGNoYW5n
ZXMuICBJZiBhIGRhdGEgbm9kZSBpcyBub3QgaW5jbHVkZWQgaW4gYW4gdXBkYXRlLCBob3cgd291
bGQgd2UgYmUgYWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBjYXNlIG9mIChub3QgaW5j
bHVkZWQgYmVjYXVzZSBubyBjaGFuZ2UpIGFuZCAobm90IGluY2x1ZGVkIGJlY2F1c2Ugbm8gbG9u
Z2VyIG1lZXRzIHRoZSBmaWx0ZXIpPyAgV2UgZG8gbmVlZCB0byBpbmRpY2F0ZSB0byB0aGUgc3Vi
c2NyaWJlciB0aGF0IHRoZXJlIGhhcyBiZWVuIGEgY2hhbmdlIGluIHRoYXQgdGhlIGRhdGEgbm9k
ZSBubyBsb25nZXIgbWVldHMgdGhlIGNyaXRlcmlhLiAgUHJlc3VtYWJseSB3ZSB3YW50IHRvIGRp
c3Rpbmd1aXNoIHRoaXMgZnJvbSB0aGUgY2FzZSB0aGF0IHRoZSBkYXRhIG5vZGUgY2Vhc2VkIHRv
IGV4aXN0LiAgKE5vdCBkaXN0aW5ndWlzaGluZyB0aG9zZSBjYXNlcyB3b3VsZCBwdXQgdXMgYmFj
ayB0byBhbHRlcm5hdGl2ZSAjMSwgd2hpY2ggSSB0aGluayB0aGUgY29uc2Vuc3VzIGlzIHRoYXQg
d2UgZG9u4oCZdCB3YW50IHRoYXQpDQo8L0FMRVg+DQoNCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0ACSJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZp
bml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXtt
YXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0K
CWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLHNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29I
eXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1k
ZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93
ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29y
YXRpb246dW5kZXJsaW5lO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHlsZS10eXBlOnBl
cnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9y
OiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7
DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24x
DQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9
DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlk
bWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0
YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxi
b2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9
IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+SGkgQW5keSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+QmVsb3c8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RCI+LS0tIEFsZXg8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bh
bj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29y
a3MuY29tXQ0KPGJyPg0KPGI+U2VudDo8L2I+IFRodXJzZGF5LCBNYXkgMTgsIDIwMTcgNjozNCBQ
TTxicj4NCjxiPlRvOjwvYj4gQWxleGFuZGVyIENsZW1tICZsdDthbGV4YW5kZXIuY2xlbW1AaHVh
d2VpLmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+IEtlbnQgV2F0c2VuICZsdDtrd2F0c2VuQGp1bmlw
ZXIubmV0Jmd0OzsgRXJpYyBWb2l0IChldm9pdCkgJmx0O2V2b2l0QGNpc2NvLmNvbSZndDs7IE5l
dGNvbmYgJmx0O25ldGNvbmZAaWV0Zi5vcmcmZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBb
TmV0Y29uZl0gSW4gYW4gdXBkYXRlLCB3aGVuIGlzIGEgZGVsZXRlIGEgZGVsZXRlPzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86
cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmIj7igKbigKbigKbigKbigKbigKbigKbigKY8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiZsdDtzbmlwJmd0OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPGRpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJi
b3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBp
biAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBpbiI+DQo8ZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPkkgaW50ZXJwcmV0IHRoZSDigJxtb2RpZmllZC1pbuKAnSBhbmQg4oCcbW9kaWZpZWQtb3V0
4oCdIHN1Z2dlc3RlZCBieSBLZW50IHByZWNpc2VseSBhcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4N
CiB0aG9zZSBjYXNlcy4mbmJzcDsg4oCcTW9kaWZpZWQtb3V04oCdIHNpbXBseSBtZWFucyBpdHMg
dmFsdWUgY2hhbmdlZCBzbyBpdCBubyBsb25nZXIgbWF0Y2hlcyB0aGUgZmlsdGVyIChidXQgdGhl
IG9iamVjdCBzdGlsbCBleGlzdHMpLiZuYnNwOyBXaGV0aGVyIHdlIGNhbGwgaXQgbW9kaWZpZWQt
aW4vb3V0IG9yIHNvbWV0aGluZyBlbHNlIGlzIGFub3RoZXIgcXVlc3Rpb24uJm5ic3A7IE9mIGNv
dXJzZSwgdGhlIGlzc3VlIGlzIHRoYXQgdGhpcyBtZWFucyB0aGlzIGlzIGEgbmV3DQogY2FzZSB0
aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBwYXRjaCBzeW50YXgsIHdoaWNoIHdvdWxkIHJlcXVp
cmUgYW4gZXh0ZW5zaW9uIG9mIHRoZSBlbmNvZGluZy4mbmJzcDsNCjwvc3Bhbj48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2Nr
cXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPldoYXQgYnJlYWtzIGlmIHRo
ZSBjbGllbnQganVzdCBzZWVzIGRhdGEgbm9kZXMgYXBwZWFyIG9yIGRpc2FwcGVhciBmcm9tIDEg
cGF0Y2ggdG8gdGhlIG5leHQ/PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5XaHkgZG9lcyB0aGUgY2xpZW50IG5lZWQgdG8ga25vdyB0aGUgZGF0YSBu
b2RlIHN0aWxsIGV4aXN0cywgYnV0IHRoZSBmb289PTUgZmlsdGVyIGNoYW5nZWQuPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgY2xpZW50IGRl
Y2lkZWQgdGhhdCBvbmx5IHN0YXRlIGZvciBmb289PTUgbmVlZHMgdG8gYmUgd2F0Y2hlZCwgc28g
ZnJvbSBpdHMgUE9WPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj50aGUgZXh0cmEgbWV0YWRhdGEgc2hvdWxkIG5vdCBiZSBuZWVkZWQuPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbHQ7QWxleCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Rm9y
IHBlcmlvZGljLCB0aGlzIGlzIHdoYXQgaGFwcGVucy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SW4gdGhl
IGNhc2Ugb2Ygb24tY2hhbmdlLCB3ZSB3b3VsZCBpbmRpY2F0ZSBjaGFuZ2VzLiAmbmJzcDtJZiBh
IGRhdGEgbm9kZSBpcyBub3QgaW5jbHVkZWQgaW4gYW4gdXBkYXRlLCBob3cgd291bGQgd2UgYmUg
YWJsZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBjYXNlIG9mIChub3QNCiBpbmNsdWRlZCBi
ZWNhdXNlIG5vIGNoYW5nZSkgYW5kIChub3QgaW5jbHVkZWQgYmVjYXVzZSBubyBsb25nZXIgbWVl
dHMgdGhlIGZpbHRlcik/Jm5ic3A7IFdlIGRvIG5lZWQgdG8gaW5kaWNhdGUgdG8gdGhlIHN1YnNj
cmliZXIgdGhhdCB0aGVyZSBoYXMgYmVlbiBhIGNoYW5nZSBpbiB0aGF0IHRoZSBkYXRhIG5vZGUg
bm8gbG9uZ2VyIG1lZXRzIHRoZSBjcml0ZXJpYS4mbmJzcDsgUHJlc3VtYWJseSB3ZSB3YW50IHRv
IGRpc3Rpbmd1aXNoIHRoaXMgZnJvbSB0aGUgY2FzZQ0KIHRoYXQgdGhlIGRhdGEgbm9kZSBjZWFz
ZWQgdG8gZXhpc3QuJm5ic3A7IChOb3QgZGlzdGluZ3Vpc2hpbmcgdGhvc2UgY2FzZXMgd291bGQg
cHV0IHVzIGJhY2sgdG8gYWx0ZXJuYXRpdmUgIzEsIHdoaWNoIEkgdGhpbmsgdGhlIGNvbnNlbnN1
cyBpcyB0aGF0IHdlIGRvbuKAmXQgd2FudCB0aGF0KTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbHQ7L0FM
RVgmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0ACSJCEML701CHMchi_--


From nobody Thu May 18 20:56:38 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A4C1212EC80 for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 20:56:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oF47tQ_davas for <netconf@ietfa.amsl.com>; Thu, 18 May 2017 20:56:36 -0700 (PDT)
Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C71E12ECC0 for <netconf@ietf.org>; Thu, 18 May 2017 20:49:59 -0700 (PDT)
Received: by mail-wm0-x233.google.com with SMTP id b84so222209629wmh.0 for <netconf@ietf.org>; Thu, 18 May 2017 20:49:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=JjraPiGGsh6UrqGmZ/jav1E4ijY2PR2Snph7y+YBCuo=; b=s0kcV7FHx0CebZhBpj5m42Xd+zavDpCnwtN3pbDb00tKbN0rV36IoC6iTHZQ3N2lSb tEIjaTdEZ1zOba/XLv/aUKMXDEw3e1/DpdEwe6ofRHasnT8Vti/g+qjoC0kpnYGSDU9g OKCeC3TKzqdyBWtH2GhAuF1xodlNwiv4wZv3KeIh+REyn1KFU0rPEWzMkPwwiAdbmKl6 MWsJthtLc0BewOYdueWLXXEEsDy74vSXG5tI7hO/dBvi64852YA9ce5olqRfHIj9c48P zlT25oBrbthfI5/kavHYRnEEsesgaczyrRI/isnk/jbs5kOelMc2cCq0OP28f2t9gP4m Rqrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=JjraPiGGsh6UrqGmZ/jav1E4ijY2PR2Snph7y+YBCuo=; b=G9nMmNN1Vuyx1A/bYwxGTzGTFvX+f9GvIX+Fln/feHI7nMk5mO9UbR9QuOiW2IH8M7 ZL8iR+xCviTfeQs5jB8WEZSzZeSX7U0YgLTQ4gZoPskNCon4NlKDS4IL9kj+Z/c/gc49 gxZ4jQIxk+6hvEtqatZxf8ePj+sgJcHkkNYLqwxXTTUDaAOQjOlMCqvA7zkwWUUc6Qnb ncwpyKl2jHCuDIS/uK2LXVc8y1oBXm4lqyqp8nSUxyrUvA5LV5ebDBosrzFrzjNoF4lB OHtbL5l+B6wlBler2IHKu4H19j30ZLO8gXN5f8RUysBcky6k6z/3Sm/RVl9+4/dlIi/X Ij/A==
X-Gm-Message-State: AODbwcAuSHlS+CgR9+YLvGC8ZZ6GnQmV1kRpr/VAr/tagBkgGuJBJfIC alw454cA8ch4S8zKtluOORF/rrP+bZQs
X-Received: by 10.28.138.73 with SMTP id m70mr14913927wmd.99.1495165797994; Thu, 18 May 2017 20:49:57 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Thu, 18 May 2017 20:49:57 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 18 May 2017 20:49:57 -0700
Message-ID: <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>,  Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a11444936452a1a054fd86a37"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/pHRqRU1MwtKe5AOkAplkco7qIYE>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 03:56:38 -0000

--001a11444936452a1a054fd86a37
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Alex,

On Thu, May 18, 2017 at 6:51 PM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> Hi Andy,
>
> Below
>
> --- Alex
>
>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, May 18, 2017 6:34 PM
> *To:* Alexander Clemm <alexander.clemm@huawei.com>
> *Cc:* Kent Watsen <kwatsen@juniper.net>; Eric Voit (evoit) <
> evoit@cisco.com>; Netconf <netconf@ietf.org>
> *Subject:* Re: [Netconf] In an update, when is a delete a delete?
>
>
>
> =E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6
>
> <snip>
>
> I interpret the =E2=80=9Cmodified-in=E2=80=9D and =E2=80=9Cmodified-out=
=E2=80=9D suggested by Kent
> precisely as a distinction between those cases.  =E2=80=9CModified-out=E2=
=80=9D simply
> means its value changed so it no longer matches the filter (but the objec=
t
> still exists).  Whether we call it modified-in/out or something else is
> another question.  Of course, the issue is that this means this is a new
> case that is not covered by the patch syntax, which would require an
> extension of the encoding.
>
>
>
>
>
>
>
> What breaks if the client just sees data nodes appear or disappear from 1
> patch to the next?
>
> Why does the client need to know the data node still exists, but the
> foo=3D=3D5 filter changed.
>
> The client decided that only state for foo=3D=3D5 needs to be watched, so=
 from
> its POV
>
> the extra metadata should not be needed.
>
>
>
>
>
> <Alex>
>
> For periodic, this is what happens.
>
> In the case of on-change, we would indicate changes.  If a data node is
> not included in an update, how would we be able to distinguish between th=
e
> case of (not included because no change) and (not included because no
> longer meets the filter)?  We do need to indicate to the subscriber that
> there has been a change in that the data node no longer meets the
> criteria.  Presumably we want to distinguish this from the case that the
> data node ceased to exist.  (Not distinguishing those cases would put us
> back to alternative #1, which I think the consensus is that we don=E2=80=
=99t want
> that)
>
> </ALEX>
>
>
>

Regarding not included because of no-change:

How can happen/?
Not if the client is requesting non-overlapping subtrees /foo and /bar.
These are safe to mix in 1 subscription. The client should not assume
that an update for /foo means /bar was deleted.

Are you referring to overlapping subtrees in 1 subscription?
How would this be configured? Seems complicated to manage.
The semantics of "on-change" should be easy to manage on both client and
server.


Andy

--001a11444936452a1a054fd86a37
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Alex,<br><div class=3D"gmail_extra"><br><div class=3D"g=
mail_quote">On Thu, May 18, 2017 at 6:51 PM, Alexander Clemm <span dir=3D"l=
tr">&lt;<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">ale=
xander.clemm@huawei.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_-7883564416697860501WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Andy,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Below<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman [mailto:<a href=
=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com</a>]
<br>
<b>Sent:</b> Thursday, May 18, 2017 6:34 PM<br>
<b>To:</b> Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei.com=
" target=3D"_blank">alexander.clemm@huawei.com</a>&gt;<br>
<b>Cc:</b> Kent Watsen &lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D=
"_blank">kwatsen@juniper.net</a>&gt;; Eric Voit (evoit) &lt;<a href=3D"mail=
to:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&gt;; Netconf &lt;=
<a href=3D"mailto:netconf@ietf.org" target=3D"_blank">netconf@ietf.org</a>&=
gt;<br>
<b>Subject:</b> Re: [Netconf] In an update, when is a delete a delete?<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif">=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=
=A6=E2=80=A6=E2=80=A6<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif">&lt;snip&gt;<u></u><u></u></span></p>
<div>
<div>
<div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I interpret the =E2=80=9Cmodified-in=
=E2=80=9D and =E2=80=9Cmodified-out=E2=80=9D suggested by Kent precisely as=
 a distinction between
 those cases.=C2=A0 =E2=80=9CModified-out=E2=80=9D simply means its value c=
hanged so it no longer matches the filter (but the object still exists).=C2=
=A0 Whether we call it modified-in/out or something else is another questio=
n.=C2=A0 Of course, the issue is that this means this is a new
 case that is not covered by the patch syntax, which would require an exten=
sion of the encoding.=C2=A0
</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">What breaks if the client just sees data nodes appea=
r or disappear from 1 patch to the next?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Why does the client need to know the data node still=
 exists, but the foo=3D=3D5 filter changed.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The client decided that only state for foo=3D=3D5 ne=
eds to be watched, so from its POV<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">the extra metadata should not be needed.<u></u><u></=
u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;Alex&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">For periodic, this is what happens.<u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">In the case of on-change, we would in=
dicate changes.=C2=A0 If a data node is not included in an update, how woul=
d we be able to distinguish between the case of (not
 included because no change) and (not included because no longer meets the =
filter)?=C2=A0 We do need to indicate to the subscriber that there has been=
 a change in that the data node no longer meets the criteria.=C2=A0 Presuma=
bly we want to distinguish this from the case
 that the data node ceased to exist.=C2=A0 (Not distinguishing those cases =
would put us back to alternative #1, which I think the consensus is that we=
 don=E2=80=99t want that)<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;/ALEX&gt;<u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
</div>
</div>
</div>
</div>

</blockquote></div><br></div><div class=3D"gmail_extra">Regarding not inclu=
ded because of no-change:</div><div class=3D"gmail_extra"><br></div><div cl=
ass=3D"gmail_extra">How can happen/?</div><div class=3D"gmail_extra">Not if=
 the client is requesting non-overlapping subtrees /foo and /bar.</div><div=
 class=3D"gmail_extra">These are safe to mix in 1 subscription. The client =
should not assume</div><div class=3D"gmail_extra">that an update for /foo m=
eans /bar was deleted.</div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra">Are you referring to overlapping subtrees in 1 subscriptio=
n?</div><div class=3D"gmail_extra">How would this be configured? Seems comp=
licated to manage.</div><div class=3D"gmail_extra">The semantics of &quot;o=
n-change&quot; should be easy to manage on both client and server.</div><di=
v class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div><div=
 class=3D"gmail_extra">Andy</div><div class=3D"gmail_extra"><br></div><div =
class=3D"gmail_extra"><br></div><div class=3D"gmail_extra"><br></div></div>

--001a11444936452a1a054fd86a37--


From nobody Fri May 19 01:48:37 2017
Return-Path: <lhotka@nic.cz>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B538A12EC43 for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 01:48:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.001
X-Spam-Level: 
X-Spam-Status: No, score=-7.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HZ1NbA58CaZG for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 01:48:33 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7E7E812EA93 for <netconf@ietf.org>; Fri, 19 May 2017 01:42:43 -0700 (PDT)
Received: from [IPv6:2001:718:1a02:1:ec38:b246:8398:577a] (unknown [IPv6:2001:718:1a02:1:ec38:b246:8398:577a]) by mail.nic.cz (Postfix) with ESMTPSA id C568060952; Fri, 19 May 2017 10:42:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1495183361; bh=WgDT4A3sVWFFHjrL25OdNbQ502M8i+1fhMnkFQARipk=; h=From:Date:To; b=JOGteqvxMUjOr7nshT7RQWM1QPCzuCayZusYh5S59i+QiF2UcyOI+3wC+PBU9zRGo RKqIPzR9tbxX5xmrNAq9z5mOxV/yHIH+cRlxnVCgFxaCEt9DBkwXJQQKjlklwRoDx7 X4Y+XeRDxW43DGc7EVNSionl4DNl2qg5+huMRaAs=
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <20170518.164922.54240181653793296.mbj@tail-f.com>
Date: Fri, 19 May 2017 10:42:44 +0200
Cc: Netconf <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <6D20AFD2-2433-4BA8-8826-A70A6619CCBC@nic.cz>
References: <m2o9uq38lr.fsf@birdie.labs.nic.cz> <20170518.164922.54240181653793296.mbj@tail-f.com>
To: =?utf-8?Q?Martin_Bj=C3=B6rklund?= <mbj@tail-f.com>
X-Mailer: Apple Mail (2.3273)
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/z8XrzmO4RbG3agvZR8_QRt9i11o>
Subject: Re: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 08:48:36 -0000

> On 18 May 2017, at 16:49, Martin Bjorklund <mbj@tail-f.com> wrote:
>=20
> Ladislav Lhotka <lhotka@nic.cz> wrote:
>> Hi,
>>=20
>> what is a RESTCONF server supposed to do if message-body of a PUT =
method
>> contains config false data?
>=20
> I think it should be an error.

I would actually prefer that the server accept it and ignore config =
false data, which should be pretty easy.

>=20
>> In practical terms, if a client retrieves a container resource via =
GET
>> and the container has both configuration and state data, should the
>> server accept the same payload sent back with PUT, or is it necessary =
to
>> remove all config false items?
>=20
> I think the client needs to GET /...?content=3Dconfig.

Sometimes this means an extra round trip. Also, since content=3Dall is =
the default, it IMO makes sense to keep GET and PUT with the same =
Request-URI symmetric.

Lada

>=20
>=20
> /martin
>=20
>=20
>> This seems to be unspecified in RFC 8040.
>>=20
>> Thanks, Lada
>>=20
>> --=20
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>>=20
>> _______________________________________________
>> Netconf mailing list
>> Netconf@ietf.org
>> https://www.ietf.org/mailman/listinfo/netconf
>>=20

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67






From nobody Fri May 19 12:54:36 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B973B129434 for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 12:54:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xi3z9kaJDIqW for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 12:54:32 -0700 (PDT)
Received: from mail-wr0-x22f.google.com (mail-wr0-x22f.google.com [IPv6:2a00:1450:400c:c0c::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 53196120046 for <netconf@ietf.org>; Fri, 19 May 2017 12:54:32 -0700 (PDT)
Received: by mail-wr0-x22f.google.com with SMTP id l50so22381760wrc.3 for <netconf@ietf.org>; Fri, 19 May 2017 12:54:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=uYPIJTCyf6fgIF/lqXOTrXQJSVIZS9LwNMO6ttHDvcg=; b=iS0leSoZzI04tggmR/YzrBn9lLjDJYjejrIdXVK0Vv3ZBxI7TnPW+Wth+GUsR99xf0 avVoou0qIGmoeB3PKRSrIMY6PtezkplvkYtt9MwKagocnWGlSMapllTlK1c1z2EUCKrI Q+JfN81jA4cEGWyLLS65/GYY8E7A0JBWwpHoZbzmEoRqj9uL6T06PRG6FrIPgZgEPKNs bQHaziT59VniRh/34XAizHWJDGZjFZKiOHPDGBsvIbnjNBMeiyjS/TazRXi8ufd6nh4/ c3CWLlNydodlkTceVJKmHB5Rq2KtpGng8XWTZ01NakCW7YWYUh91aaK9L+D0W+w7BNwb kmfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=uYPIJTCyf6fgIF/lqXOTrXQJSVIZS9LwNMO6ttHDvcg=; b=KKlP0U18DvjCgT9HfwHNEI4Uep8/RMvrvgJTnxXuC1ttQlZxUV+q+Rbaeku8F3JUQZ lQ62DC5xhj13Ky+ARcnmrWau9Oz0QCfd4RimJ090QJMgGBnLLQQyc7RYgJLuMxj4B41Q vWLWNP5uQsyVPkAPpo5Y/qRZBHQabo24whae1XvFItsgtkev5nFMd3M9TOn8SItnjMfj iP+6IhsnZ8ZfJUsFKmE2sfOKPpDb3pW84aNwzy9hnUlj8fIPlv4Sj4lhX8lsxk5CY8QC fZJk/TYmvE0yXh63I00dSq2l14AQGsfa+7YeW4+CHJq0NGWaF5lnWU2gmGBWvrBO1m0n WP8w==
X-Gm-Message-State: AODbwcC4pY6fyFM+EgmbAjLkmzDzey5L9NLS6ylvMmqmJ+WoeJBPweUo k8T3eZysHPz3csnYF8+F05fISlV515vB
X-Received: by 10.223.161.70 with SMTP id r6mr3880261wrr.65.1495223670903; Fri, 19 May 2017 12:54:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Fri, 19 May 2017 12:54:30 -0700 (PDT)
In-Reply-To: <6D20AFD2-2433-4BA8-8826-A70A6619CCBC@nic.cz>
References: <m2o9uq38lr.fsf@birdie.labs.nic.cz> <20170518.164922.54240181653793296.mbj@tail-f.com> <6D20AFD2-2433-4BA8-8826-A70A6619CCBC@nic.cz>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 19 May 2017 12:54:30 -0700
Message-ID: <CABCOCHR7eahaSoJRFxP7y6eiik5gJSY1EfiovmDWDTHR0+TvEg@mail.gmail.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Cc: =?UTF-8?Q?Martin_Bj=C3=B6rklund?= <mbj@tail-f.com>,  Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="f403045e274ac3aacf054fe5e3f6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/1PQ9U_Lvls1lGKAoUbwBQaD1dds>
Subject: Re: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 19:54:35 -0000

--f403045e274ac3aacf054fe5e3f6
Content-Type: text/plain; charset="UTF-8"

Hi,

I agree with Martin.
The server MUST reject a request that attempts to set config=false data.
I think RFC 7231 supports this view:

   The PUT method requests that the state of the target resource be
   created or replaced with the state defined by the representation
   enclosed in the request message payload.


The server cannot add the config=false nodes to the configuration so
the representation is not valid for editing of configuration data nodes.


Andy

On Fri, May 19, 2017 at 1:42 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:

>
> > On 18 May 2017, at 16:49, Martin Bjorklund <mbj@tail-f.com> wrote:
> >
> > Ladislav Lhotka <lhotka@nic.cz> wrote:
> >> Hi,
> >>
> >> what is a RESTCONF server supposed to do if message-body of a PUT method
> >> contains config false data?
> >
> > I think it should be an error.
>
> I would actually prefer that the server accept it and ignore config false
> data, which should be pretty easy.
>
> >
> >> In practical terms, if a client retrieves a container resource via GET
> >> and the container has both configuration and state data, should the
> >> server accept the same payload sent back with PUT, or is it necessary to
> >> remove all config false items?
> >
> > I think the client needs to GET /...?content=config.
>
> Sometimes this means an extra round trip. Also, since content=all is the
> default, it IMO makes sense to keep GET and PUT with the same Request-URI
> symmetric.
>
> Lada
>
> >
> >
> > /martin
> >
> >
> >> This seems to be unspecified in RFC 8040.
> >>
> >> Thanks, Lada
> >>
> >> --
> >> Ladislav Lhotka, CZ.NIC Labs
> >> PGP Key ID: 0xB8F92B08A9F76C67
> >>
> >> _______________________________________________
> >> Netconf mailing list
> >> Netconf@ietf.org
> >> https://www.ietf.org/mailman/listinfo/netconf
> >>
>
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
>
>
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--f403045e274ac3aacf054fe5e3f6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>I agree with Martin.</div><div>The =
server MUST reject a request that attempts to set config=3Dfalse data.</div=
><div>I think RFC 7231 supports this view:</div><div><br></div><div><pre cl=
ass=3D"gmail-newpage" style=3D"font-size:13.3333px;margin-top:0px;margin-bo=
ttom:0px;color:rgb(0,0,0)">   The PUT method requests that the state of the=
 target resource be
   created or replaced with the state defined by the representation
   enclosed in the request message payload. </pre><br>The server cannot add=
 the config=3Dfalse nodes to the configuration so<br>the representation is =
not valid for editing of configuration data nodes.</div><div><br></div><div=
><br></div><div>Andy</div><div><br><div class=3D"gmail_extra"><div class=3D=
"gmail_quote">On Fri, May 19, 2017 at 1:42 AM, Ladislav Lhotka <span dir=3D=
"ltr">&lt;<a href=3D"mailto:lhotka@nic.cz" target=3D"_blank">lhotka@nic.cz<=
/a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<br>
&gt; On 18 May 2017, at 16:49, Martin Bjorklund &lt;<a href=3D"mailto:mbj@t=
ail-f.com">mbj@tail-f.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Ladislav Lhotka &lt;<a href=3D"mailto:lhotka@nic.cz">lhotka@nic.cz</a>=
&gt; wrote:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; what is a RESTCONF server supposed to do if message-body of a PUT =
method<br>
&gt;&gt; contains config false data?<br>
&gt;<br>
&gt; I think it should be an error.<br>
<br>
I would actually prefer that the server accept it and ignore config false d=
ata, which should be pretty easy.<br>
<br>
&gt;<br>
&gt;&gt; In practical terms, if a client retrieves a container resource via=
 GET<br>
&gt;&gt; and the container has both configuration and state data, should th=
e<br>
&gt;&gt; server accept the same payload sent back with PUT, or is it necess=
ary to<br>
&gt;&gt; remove all config false items?<br>
&gt;<br>
&gt; I think the client needs to GET /...?content=3Dconfig.<br>
<br>
Sometimes this means an extra round trip. Also, since content=3Dall is the =
default, it IMO makes sense to keep GET and PUT with the same Request-URI s=
ymmetric.<br>
<br>
Lada<br>
<br>
&gt;<br>
&gt;<br>
&gt; /martin<br>
&gt;<br>
&gt;<br>
&gt;&gt; This seems to be unspecified in RFC 8040.<br>
&gt;&gt;<br>
&gt;&gt; Thanks, Lada<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Ladislav Lhotka, CZ.NIC Labs<br>
&gt;&gt; PGP Key ID: 0xB8F92B08A9F76C67<br>
&gt;&gt;<br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; Netconf mailing list<br>
&gt;&gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"n=
oreferrer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/net=
conf</a><br>
&gt;&gt;<br>
<br>
--<br>
Ladislav Lhotka, CZ.NIC Labs<br>
PGP Key ID: 0xB8F92B08A9F76C67<br>
<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</blockquote></div><br></div></div></div>

--f403045e274ac3aacf054fe5e3f6--


From nobody Fri May 19 14:31:07 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 52934124C27 for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 14:31:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mm02ydolsnTv for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 14:31:04 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 88D6B1200F1 for <netconf@ietf.org>; Fri, 19 May 2017 14:31:03 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DGY35313; Fri, 19 May 2017 21:31:01 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Fri, 19 May 2017 22:30:59 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Fri, 19 May 2017 14:30:55 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>,  Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AQHS0Bvr5ppCqKOrQVCrK5qvBNQM2KH7F1GA//+3hYCAAIZDAP//jcVQgACYOYCAAGWXIA==
Date: Fri, 19 May 2017 21:30:54 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com>
In-Reply-To: <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.108]
Content-Type: multipart/alternative; boundary="_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223SJCEML701CHMchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090206.591F6415.0082, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 199caaf241fb3db042866cd50c5a84f9
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/_i_FwPpQvGGlQ8pLGumF4uQqBMI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 21:31:06 -0000

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223SJCEML701CHMchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNCg0KSSBhbSBub3Qgc3VyZSBJIHVuZGVyc3RhbmQgeW91ciBxdWVzdGlvbiBiZWxv
dy4gIEkgYW0gbm90IHJlZmVycmluZyB0byBtaXgtYW5kLW1hdGNoIGJldHdlZW4gc3Vic2NyaXB0
aW9uIOKAkyBub3QgdG8gYnVuZGxpbmcgb3IgYW55dGhpbmcgbGlrZSB0aGF0LiAgTWVyZWx5IHRv
IGFuIG9uLWNoYW5nZSBzdWJzY3JpcHRpb24uDQoNCklmIHdlIGRvIHNlbmQgdXBkYXRlcyByZWdh
cmRpbmcgY2hhbmdlcywgYW5kIGEgc3Vic2NyaXB0aW9uIGFsbG93cyB0byBhcHBseSBhIOKAnHZh
bHVlIGZpbHRlcuKAnSwgdGhlcmUgYXJlIGNhc2VzIHdoZW4gYSBjaGFuZ2UgaXMgY2F1c2VkIGJ5
IGEgbm9kZSBiZWluZyBkZWxldGVkIHNpbmNlIHRoZSBsYXN0IHVwZGF0ZSBjeWNsZSwgYW5kIHRo
ZXJlIGFyZSBjYXNlcyB3aGVuIGEgY2hhbmdlIGlzIGNhdXNlZCBieSBhIG5vZGUgY2hhbmdpbmcg
aXRzIHZhbHVlIHNvIGl0IG5vIGxvbmdlciBtYXRjaGVzIHRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVy
IChhbmQgY3JlYXRlIGNhc2UgYWNjb3JkaW5nbHkpLiAgVGhpcyBjYW4gY2xlYXJseSBvY2N1ci4g
IEdpdmVuIHRoaXMsIEkgdGhpbmsgd2UgYXJlIGZhY2VkIHdpdGggdGhlIGFsdGVybmF0aXZlIG9m
IGVpdGhlciBiZWluZyBhYmxlIHRvIHByb3Blcmx5IGRpc3Rpbmd1aXNoIHRoZSB0d28gKG9wdGlv
biAjMiBpbiB0aGUgZWFybGllciB0aHJlYWQpLCBvciBkaXNhbGxvd2luZyBmaWx0ZXJzIGJhc2Vk
IG9uIGRhdGEgbm9kZSB2YWx1ZSAob3B0aW9uICMzKS4gIEkgd2FzIHVuZGVyIHRoZSBpbXByZXNz
aW9uIHlvdSB3ZXJlIGFyZ3VpbmcgZm9yICMzIGVhcmxpZXI/DQoNCi0tLSBBbGV4DQoNCkZyb206
IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NClNlbnQ6IFRodXJzZGF5
LCBNYXkgMTgsIDIwMTcgODo1MCBQTQ0KVG86IEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNs
ZW1tQGh1YXdlaS5jb20+DQpDYzogS2VudCBXYXRzZW4gPGt3YXRzZW5AanVuaXBlci5uZXQ+OyBF
cmljIFZvaXQgKGV2b2l0KSA8ZXZvaXRAY2lzY28uY29tPjsgTmV0Y29uZiA8bmV0Y29uZkBpZXRm
Lm9yZz4NClN1YmplY3Q6IFJlOiBbTmV0Y29uZl0gSW4gYW4gdXBkYXRlLCB3aGVuIGlzIGEgZGVs
ZXRlIGEgZGVsZXRlPw0KDQpIaSBBbGV4LA0KDQpPbiBUaHUsIE1heSAxOCwgMjAxNyBhdCA2OjUx
IFBNLCBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPG1haWx0bzph
bGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+IHdyb3RlOg0KSGkgQW5keSwNCkJlbG93DQotLS0g
QWxleA0KDQpGcm9tOiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb208bWFp
bHRvOmFuZHlAeXVtYXdvcmtzLmNvbT5dDQpTZW50OiBUaHVyc2RheSwgTWF5IDE4LCAyMDE3IDY6
MzQgUE0NClRvOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPG1h
aWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+DQpDYzogS2VudCBXYXRzZW4gPGt3YXRz
ZW5AanVuaXBlci5uZXQ8bWFpbHRvOmt3YXRzZW5AanVuaXBlci5uZXQ+PjsgRXJpYyBWb2l0IChl
dm9pdCkgPGV2b2l0QGNpc2NvLmNvbTxtYWlsdG86ZXZvaXRAY2lzY28uY29tPj47IE5ldGNvbmYg
PG5ldGNvbmZAaWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmc+Pg0KU3ViamVjdDogUmU6
IFtOZXRjb25mXSBJbiBhbiB1cGRhdGUsIHdoZW4gaXMgYSBkZWxldGUgYSBkZWxldGU/DQoNCuKA
puKApuKApuKApuKApuKApuKApuKApg0KPHNuaXA+DQpJIGludGVycHJldCB0aGUg4oCcbW9kaWZp
ZWQtaW7igJ0gYW5kIOKAnG1vZGlmaWVkLW91dOKAnSBzdWdnZXN0ZWQgYnkgS2VudCBwcmVjaXNl
bHkgYXMgYSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRob3NlIGNhc2VzLiAg4oCcTW9kaWZpZWQtb3V0
4oCdIHNpbXBseSBtZWFucyBpdHMgdmFsdWUgY2hhbmdlZCBzbyBpdCBubyBsb25nZXIgbWF0Y2hl
cyB0aGUgZmlsdGVyIChidXQgdGhlIG9iamVjdCBzdGlsbCBleGlzdHMpLiAgV2hldGhlciB3ZSBj
YWxsIGl0IG1vZGlmaWVkLWluL291dCBvciBzb21ldGhpbmcgZWxzZSBpcyBhbm90aGVyIHF1ZXN0
aW9uLiAgT2YgY291cnNlLCB0aGUgaXNzdWUgaXMgdGhhdCB0aGlzIG1lYW5zIHRoaXMgaXMgYSBu
ZXcgY2FzZSB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBwYXRjaCBzeW50YXgsIHdoaWNoIHdv
dWxkIHJlcXVpcmUgYW4gZXh0ZW5zaW9uIG9mIHRoZSBlbmNvZGluZy4NCg0KDQoNCldoYXQgYnJl
YWtzIGlmIHRoZSBjbGllbnQganVzdCBzZWVzIGRhdGEgbm9kZXMgYXBwZWFyIG9yIGRpc2FwcGVh
ciBmcm9tIDEgcGF0Y2ggdG8gdGhlIG5leHQ/DQpXaHkgZG9lcyB0aGUgY2xpZW50IG5lZWQgdG8g
a25vdyB0aGUgZGF0YSBub2RlIHN0aWxsIGV4aXN0cywgYnV0IHRoZSBmb289PTUgZmlsdGVyIGNo
YW5nZWQuDQpUaGUgY2xpZW50IGRlY2lkZWQgdGhhdCBvbmx5IHN0YXRlIGZvciBmb289PTUgbmVl
ZHMgdG8gYmUgd2F0Y2hlZCwgc28gZnJvbSBpdHMgUE9WDQp0aGUgZXh0cmEgbWV0YWRhdGEgc2hv
dWxkIG5vdCBiZSBuZWVkZWQuDQoNCg0KPEFsZXg+DQpGb3IgcGVyaW9kaWMsIHRoaXMgaXMgd2hh
dCBoYXBwZW5zLg0KSW4gdGhlIGNhc2Ugb2Ygb24tY2hhbmdlLCB3ZSB3b3VsZCBpbmRpY2F0ZSBj
aGFuZ2VzLiAgSWYgYSBkYXRhIG5vZGUgaXMgbm90IGluY2x1ZGVkIGluIGFuIHVwZGF0ZSwgaG93
IHdvdWxkIHdlIGJlIGFibGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgY2FzZSBvZiAobm90
IGluY2x1ZGVkIGJlY2F1c2Ugbm8gY2hhbmdlKSBhbmQgKG5vdCBpbmNsdWRlZCBiZWNhdXNlIG5v
IGxvbmdlciBtZWV0cyB0aGUgZmlsdGVyKT8gIFdlIGRvIG5lZWQgdG8gaW5kaWNhdGUgdG8gdGhl
IHN1YnNjcmliZXIgdGhhdCB0aGVyZSBoYXMgYmVlbiBhIGNoYW5nZSBpbiB0aGF0IHRoZSBkYXRh
IG5vZGUgbm8gbG9uZ2VyIG1lZXRzIHRoZSBjcml0ZXJpYS4gIFByZXN1bWFibHkgd2Ugd2FudCB0
byBkaXN0aW5ndWlzaCB0aGlzIGZyb20gdGhlIGNhc2UgdGhhdCB0aGUgZGF0YSBub2RlIGNlYXNl
ZCB0byBleGlzdC4gIChOb3QgZGlzdGluZ3Vpc2hpbmcgdGhvc2UgY2FzZXMgd291bGQgcHV0IHVz
IGJhY2sgdG8gYWx0ZXJuYXRpdmUgIzEsIHdoaWNoIEkgdGhpbmsgdGhlIGNvbnNlbnN1cyBpcyB0
aGF0IHdlIGRvbuKAmXQgd2FudCB0aGF0KQ0KPC9BTEVYPg0KDQoNClJlZ2FyZGluZyBub3QgaW5j
bHVkZWQgYmVjYXVzZSBvZiBuby1jaGFuZ2U6DQoNCkhvdyBjYW4gaGFwcGVuLz8NCk5vdCBpZiB0
aGUgY2xpZW50IGlzIHJlcXVlc3Rpbmcgbm9uLW92ZXJsYXBwaW5nIHN1YnRyZWVzIC9mb28gYW5k
IC9iYXIuDQpUaGVzZSBhcmUgc2FmZSB0byBtaXggaW4gMSBzdWJzY3JpcHRpb24uIFRoZSBjbGll
bnQgc2hvdWxkIG5vdCBhc3N1bWUNCnRoYXQgYW4gdXBkYXRlIGZvciAvZm9vIG1lYW5zIC9iYXIg
d2FzIGRlbGV0ZWQuDQoNCkFyZSB5b3UgcmVmZXJyaW5nIHRvIG92ZXJsYXBwaW5nIHN1YnRyZWVz
IGluIDEgc3Vic2NyaXB0aW9uPw0KSG93IHdvdWxkIHRoaXMgYmUgY29uZmlndXJlZD8gU2VlbXMg
Y29tcGxpY2F0ZWQgdG8gbWFuYWdlLg0KVGhlIHNlbWFudGljcyBvZiAib24tY2hhbmdlIiBzaG91
bGQgYmUgZWFzeSB0byBtYW5hZ2Ugb24gYm90aCBjbGllbnQgYW5kIHNlcnZlci4NCg0KDQpBbmR5
DQoNCg0KDQo=

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223SJCEML701CHMchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJpZjt9
DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCglj
b2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpw
dXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpzcGFuLkVtYWlsU3R5bGUxNw0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z
ZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10
eXBlOnBlcnNvbmFsLWNvbXBvc2U7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpl
eHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixz
YW5zLXNlcmlmO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCglt
YXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdl
OldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86
c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2Vu
ZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVk
aXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+
PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1
ZSIgdmxpbms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkhpIEFuZHksPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JIGFtIG5vdCBzdXJlIEkgdW5k
ZXJzdGFuZCB5b3VyIHF1ZXN0aW9uIGJlbG93LiZuYnNwOyBJIGFtIG5vdCByZWZlcnJpbmcgdG8g
bWl4LWFuZC1tYXRjaCBiZXR3ZWVuIHN1YnNjcmlwdGlvbiDigJMgbm90IHRvIGJ1bmRsaW5nIG9y
IGFueXRoaW5nIGxpa2UgdGhhdC4mbmJzcDsgTWVyZWx5IHRvDQogYW4gb24tY2hhbmdlIHN1YnNj
cmlwdGlvbi4mbmJzcDsgPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij5JZiB3ZSBkbyBzZW5kIHVwZGF0ZXMgcmVnYXJkaW5nIGNoYW5nZXMsIGFuZCBhIHN1YnNjcmlw
dGlvbiBhbGxvd3MgdG8gYXBwbHkgYSDigJx2YWx1ZSBmaWx0ZXLigJ0sIHRoZXJlIGFyZSBjYXNl
cyB3aGVuIGEgY2hhbmdlIGlzIGNhdXNlZCBieSBhIG5vZGUgYmVpbmcgZGVsZXRlZA0KIHNpbmNl
IHRoZSBsYXN0IHVwZGF0ZSBjeWNsZSwgYW5kIHRoZXJlIGFyZSBjYXNlcyB3aGVuIGEgY2hhbmdl
IGlzIGNhdXNlZCBieSBhIG5vZGUgY2hhbmdpbmcgaXRzIHZhbHVlIHNvIGl0IG5vIGxvbmdlciBt
YXRjaGVzIHRoZSB2YWx1ZSBvZiB0aGUgZmlsdGVyIChhbmQgY3JlYXRlIGNhc2UgYWNjb3JkaW5n
bHkpLiZuYnNwOyBUaGlzIGNhbiBjbGVhcmx5IG9jY3VyLiZuYnNwOyBHaXZlbiB0aGlzLCBJIHRo
aW5rIHdlIGFyZSBmYWNlZCB3aXRoIHRoZSBhbHRlcm5hdGl2ZQ0KIG9mIGVpdGhlciBiZWluZyBh
YmxlIHRvIHByb3Blcmx5IGRpc3Rpbmd1aXNoIHRoZSB0d28gKG9wdGlvbiAjMiBpbiB0aGUgZWFy
bGllciB0aHJlYWQpLCBvciBkaXNhbGxvd2luZyBmaWx0ZXJzIGJhc2VkIG9uIGRhdGEgbm9kZSB2
YWx1ZSAob3B0aW9uICMzKS4mbmJzcDsgSSB3YXMgdW5kZXIgdGhlIGltcHJlc3Npb24geW91IHdl
cmUgYXJndWluZyBmb3IgIzMgZWFybGllcj88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPi0tLSBBbGV4PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+RnJv
bTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlA
eXVtYXdvcmtzLmNvbV0NCjxicj4NCjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwgTWF5IDE4LCAyMDE3
IDg6NTAgUE08YnI+DQo8Yj5Ubzo8L2I+IEFsZXhhbmRlciBDbGVtbSAmbHQ7YWxleGFuZGVyLmNs
ZW1tQGh1YXdlaS5jb20mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBLZW50IFdhdHNlbiAmbHQ7a3dhdHNl
bkBqdW5pcGVyLm5ldCZndDs7IEVyaWMgVm9pdCAoZXZvaXQpICZsdDtldm9pdEBjaXNjby5jb20m
Z3Q7OyBOZXRjb25mICZsdDtuZXRjb25mQGlldGYub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9i
PiBSZTogW05ldGNvbmZdIEluIGFuIHVwZGF0ZSwgd2hlbiBpcyBhIGRlbGV0ZSBhIGRlbGV0ZT88
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5IaSBBbGV4LDxvOnA+PC9vOnA+
PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFRodSwgTWF5IDE4LCAyMDE3IGF0IDY6NTEg
UE0sIEFsZXhhbmRlciBDbGVtbSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFsZXhhbmRlci5jbGVtbUBo
dWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb208L2E+
Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9u
ZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4w
cHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGluO21h
cmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5IaSBBbmR5LDwvc3Bhbj48bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPkJlbG93PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LS0tIEFsZXg8L3NwYW4+PG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkg
Qmllcm1hbiBbbWFpbHRvOjwvc3Bhbj48YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29t
IiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5hbmR5QHl1bWF3b3Jrcy5jb208L3Nw
YW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZiI+XQ0KPGJyPg0KPGI+U2VudDo8L2I+IFRodXJzZGF5LCBN
YXkgMTgsIDIwMTcgNjozNCBQTTxicj4NCjxiPlRvOjwvYj4gQWxleGFuZGVyIENsZW1tICZsdDs8
L3NwYW4+PGEgaHJlZj0ibWFpbHRvOmFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tIiB0YXJnZXQ9
Il9ibGFuayI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvc3Bh
bj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmIj4mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBLZW50IFdhdHNlbiAm
bHQ7PC9zcGFuPjxhIGhyZWY9Im1haWx0bzprd2F0c2VuQGp1bmlwZXIubmV0IiB0YXJnZXQ9Il9i
bGFuayI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmIj5rd2F0c2VuQGp1bmlwZXIubmV0PC9zcGFuPjwvYT48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWYiPiZndDs7IEVyaWMgVm9pdCAoZXZvaXQpDQogJmx0Ozwvc3Bhbj48YSBocmVm
PSJtYWlsdG86ZXZvaXRAY2lzY28uY29tIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
Ij5ldm9pdEBjaXNjby5jb208L3NwYW4+PC9hPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Jmd0OzsgTmV0Y29u
ZiAmbHQ7PC9zcGFuPjxhIGhyZWY9Im1haWx0bzpuZXRjb25mQGlldGYub3JnIiB0YXJnZXQ9Il9i
bGFuayI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmIj5uZXRjb25mQGlldGYub3JnPC9zcGFuPjwvYT48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWYiPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtOZXRjb25mXSBJbiBhbiB1
cGRhdGUsIHdoZW4gaXMgYSBkZWxldGUgYSBkZWxldGU/PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj7igKbi
gKbigKbigKbigKbigKbigKbigKY8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Jmx0O3NuaXAmZ3Q7PC9zcGFuPjxvOnA+PC9vOnA+
PC9wPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25l
O2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBw
dDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFy
Z2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkkgaW50ZXJwcmV0IHRoZSDigJxtb2RpZmll
ZC1pbuKAnSBhbmQg4oCcbW9kaWZpZWQtb3V04oCdIHN1Z2dlc3RlZCBieSBLZW50IHByZWNpc2Vs
eSBhcyBhIGRpc3RpbmN0aW9uIGJldHdlZW4NCiB0aG9zZSBjYXNlcy4mbmJzcDsg4oCcTW9kaWZp
ZWQtb3V04oCdIHNpbXBseSBtZWFucyBpdHMgdmFsdWUgY2hhbmdlZCBzbyBpdCBubyBsb25nZXIg
bWF0Y2hlcyB0aGUgZmlsdGVyIChidXQgdGhlIG9iamVjdCBzdGlsbCBleGlzdHMpLiZuYnNwOyBX
aGV0aGVyIHdlIGNhbGwgaXQgbW9kaWZpZWQtaW4vb3V0IG9yIHNvbWV0aGluZyBlbHNlIGlzIGFu
b3RoZXIgcXVlc3Rpb24uJm5ic3A7IE9mIGNvdXJzZSwgdGhlIGlzc3VlIGlzIHRoYXQgdGhpcyBt
ZWFucyB0aGlzIGlzIGEgbmV3DQogY2FzZSB0aGF0IGlzIG5vdCBjb3ZlcmVkIGJ5IHRoZSBwYXRj
aCBzeW50YXgsIHdoaWNoIHdvdWxkIHJlcXVpcmUgYW4gZXh0ZW5zaW9uIG9mIHRoZSBlbmNvZGlu
Zy4mbmJzcDsNCjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPldoYXQgYnJlYWtzIGlmIHRoZSBjbGllbnQganVzdCBzZWVzIGRhdGEg
bm9kZXMgYXBwZWFyIG9yIGRpc2FwcGVhciBmcm9tIDEgcGF0Y2ggdG8gdGhlIG5leHQ/PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPldoeSBkb2Vz
IHRoZSBjbGllbnQgbmVlZCB0byBrbm93IHRoZSBkYXRhIG5vZGUgc3RpbGwgZXhpc3RzLCBidXQg
dGhlIGZvbz09NSBmaWx0ZXIgY2hhbmdlZC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+VGhlIGNsaWVudCBkZWNpZGVkIHRoYXQgb25seSBzdGF0
ZSBmb3IgZm9vPT01IG5lZWRzIHRvIGJlIHdhdGNoZWQsIHNvIGZyb20gaXRzIFBPVjxvOnA+PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj50aGUgZXh0cmEg
bWV0YWRhdGEgc2hvdWxkIG5vdCBiZSBuZWVkZWQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbHQ7QWxleCZndDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5Gb3IgcGVyaW9kaWMs
IHRoaXMgaXMgd2hhdCBoYXBwZW5zLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkluIHRoZSBjYXNlIG9m
IG9uLWNoYW5nZSwgd2Ugd291bGQgaW5kaWNhdGUgY2hhbmdlcy4mbmJzcDsgSWYgYSBkYXRhIG5v
ZGUgaXMgbm90IGluY2x1ZGVkIGluIGFuIHVwZGF0ZSwNCiBob3cgd291bGQgd2UgYmUgYWJsZSB0
byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZSBjYXNlIG9mIChub3QgaW5jbHVkZWQgYmVjYXVzZSBu
byBjaGFuZ2UpIGFuZCAobm90IGluY2x1ZGVkIGJlY2F1c2Ugbm8gbG9uZ2VyIG1lZXRzIHRoZSBm
aWx0ZXIpPyZuYnNwOyBXZSBkbyBuZWVkIHRvIGluZGljYXRlIHRvIHRoZSBzdWJzY3JpYmVyIHRo
YXQgdGhlcmUgaGFzIGJlZW4gYSBjaGFuZ2UgaW4gdGhhdCB0aGUgZGF0YSBub2RlIG5vIGxvbmdl
ciBtZWV0cyB0aGUNCiBjcml0ZXJpYS4mbmJzcDsgUHJlc3VtYWJseSB3ZSB3YW50IHRvIGRpc3Rp
bmd1aXNoIHRoaXMgZnJvbSB0aGUgY2FzZSB0aGF0IHRoZSBkYXRhIG5vZGUgY2Vhc2VkIHRvIGV4
aXN0LiZuYnNwOyAoTm90IGRpc3Rpbmd1aXNoaW5nIHRob3NlIGNhc2VzIHdvdWxkIHB1dCB1cyBi
YWNrIHRvIGFsdGVybmF0aXZlICMxLCB3aGljaCBJIHRoaW5rIHRoZSBjb25zZW5zdXMgaXMgdGhh
dCB3ZSBkb27igJl0IHdhbnQgdGhhdCk8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbHQ7L0FMRVgmZ3Q7
PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+UmVnYXJkaW5nIG5vdCBpbmNsdWRlZCBiZWNhdXNlIG9mIG5vLWNoYW5n
ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
SG93IGNhbiBoYXBwZW4vPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Tm90IGlmIHRoZSBjbGllbnQgaXMgcmVxdWVzdGluZyBub24tb3ZlcmxhcHBp
bmcgc3VidHJlZXMgL2ZvbyBhbmQgL2Jhci48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoZXNlIGFyZSBzYWZlIHRvIG1peCBpbiAxIHN1YnNjcmlw
dGlvbi4gVGhlIGNsaWVudCBzaG91bGQgbm90IGFzc3VtZTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dGhhdCBhbiB1cGRhdGUgZm9yIC9mb28gbWVh
bnMgL2JhciB3YXMgZGVsZXRlZC48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+QXJlIHlvdSByZWZlcnJpbmcgdG8gb3ZlcmxhcHBpbmcgc3VidHJl
ZXMgaW4gMSBzdWJzY3JpcHRpb24/PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5Ib3cgd291bGQgdGhpcyBiZSBjb25maWd1cmVkPyBTZWVtcyBjb21w
bGljYXRlZCB0byBtYW5hZ2UuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj5UaGUgc2VtYW50aWNzIG9mICZxdW90O29uLWNoYW5nZSZxdW90OyBzaG91
bGQgYmUgZWFzeSB0byBtYW5hZ2Ugb24gYm90aCBjbGllbnQgYW5kIHNlcnZlci48bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BbmR5PG86cD48
L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNw
OzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
DQo=

--_000_644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223SJCEML701CHMchi_--


From nobody Fri May 19 14:36:50 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 54CAA12717E for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 14:36:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nAnYov23DnPF for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 14:36:47 -0700 (PDT)
Received: from mail-wm0-x22f.google.com (mail-wm0-x22f.google.com [IPv6:2a00:1450:400c:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 956DB1200F1 for <netconf@ietf.org>; Fri, 19 May 2017 14:36:46 -0700 (PDT)
Received: by mail-wm0-x22f.google.com with SMTP id b84so246319439wmh.0 for <netconf@ietf.org>; Fri, 19 May 2017 14:36:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=UPGweT7raVGx8wUaPatjMpGJg5Ri3+CZKmjJEmwmFT0=; b=s+8s+PHKwMh37IqudJita6Xl8kf63y8sf1pDQr8J227N+jM+os6mAY0ecLD5UmwBN9 8Ur3k2nNXc6mMmhMt7yArjIUY4VNa3QWMVxCiJlaWmVIiQkD6Y9VWcF3jkDD++c3uY8p IXwbacesGzEl1OlgQ2mVCJGDJCfFWtf5EIpyE0hskKFSV/ebwpOtbWbqm0MHFM4WV+tt sYA1prPNyccsIH2aQ2o58965+yCNtHi/V1bpqVKIJ476+PrzYhjUoJqD2uO34Xs6ZIyX r+jRsAMyffUcpiSFqYXca5m1vf3yThohtE/eEU7nurdzSwwdkuS9+z51INApHogYMvJ/ 53XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=UPGweT7raVGx8wUaPatjMpGJg5Ri3+CZKmjJEmwmFT0=; b=OBc9Ode6mTTXuU9sIwCU0AiJTWZbwQK9CG44qnjd/DN9VjPBzLgVfRcawAc5F4VCWT l7MhwcxjrOu29OaFZIU1x+b/7tuTJAuMeFtoAWUxWXrO6G3oh6h0UZ1hAZABAKHjMPuU qSNKYfdsPB9HdJLl4Ty8RIfcSeX5zHqbKDO8dYj5LNXXFU1K2fYRP6VcJbf2XHikRqJF QfNL7vylCGKkNm2EweOwJVKqjExqXaNGuhGr69PRh+Guj6NwA4AzldgpQejG26eZA1z5 WNIzsfj2PIn31JjmOPumRQDvwXG6d8B87r8zmJk+sQbEwJGIG+ySG9Q5V7EygwXZUZjF v/Eg==
X-Gm-Message-State: AODbwcCCbFzjwO9KRfWc/N0kGZA7LHndh4RcAHpYH8nK7k/kfZktBREU FF+lrkgnY7xz4Gkje0w1eGJF6CbXNvu1
X-Received: by 10.28.158.134 with SMTP id h128mr3267254wme.99.1495229805065; Fri, 19 May 2017 14:36:45 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Fri, 19 May 2017 14:36:44 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 19 May 2017 14:36:44 -0700
Message-ID: <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Kent Watsen <kwatsen@juniper.net>, "Eric Voit (evoit)" <evoit@cisco.com>,  Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114b3b046394af054fe7510d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/m66FhQs6zh6LTKVBBwvKWq0h3sE>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 May 2017 21:36:49 -0000

--001a114b3b046394af054fe7510d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, May 19, 2017 at 2:30 PM, Alexander Clemm <alexander.clemm@huawei.co=
m
> wrote:

> Hi Andy,
>
>
>
> I am not sure I understand your question below.  I am not referring to
> mix-and-match between subscription =E2=80=93 not to bundling or anything =
like
> that.  Merely to an on-change subscription.
>
>
>
> If we do send updates regarding changes, and a subscription allows to
> apply a =E2=80=9Cvalue filter=E2=80=9D, there are cases when a change is =
caused by a node
> being deleted since the last update cycle, and there are cases when a
> change is caused by a node changing its value so it no longer matches the
> value of the filter (and create case accordingly).  This can clearly
> occur.  Given this, I think we are faced with the alternative of either
> being able to properly distinguish the two (option #2 in the earlier
> thread), or disallowing filters based on data node value (option #3).  I
> was under the impression you were arguing for #3 earlier?
>
>
>


I guess I like option #4 (allow data filters on static data, say SHOULD NOT
use on dynamic data)
The solution seems too complicated if there is a need for "I am still here,
but I am not being reported" .
Especially since that means "still here in your custom view of things", not
"still here in the device".


--- Alex
>


Andy


>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, May 18, 2017 8:50 PM
> *To:* Alexander Clemm <alexander.clemm@huawei.com>
> *Cc:* Kent Watsen <kwatsen@juniper.net>; Eric Voit (evoit) <
> evoit@cisco.com>; Netconf <netconf@ietf.org>
> *Subject:* Re: [Netconf] In an update, when is a delete a delete?
>
>
>
> Hi Alex,
>
>
>
> On Thu, May 18, 2017 at 6:51 PM, Alexander Clemm <
> alexander.clemm@huawei.com> wrote:
>
> Hi Andy,
>
> Below
>
> --- Alex
>
>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, May 18, 2017 6:34 PM
> *To:* Alexander Clemm <alexander.clemm@huawei.com>
> *Cc:* Kent Watsen <kwatsen@juniper.net>; Eric Voit (evoit) <
> evoit@cisco.com>; Netconf <netconf@ietf.org>
> *Subject:* Re: [Netconf] In an update, when is a delete a delete?
>
>
>
> =E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6
>
> <snip>
>
> I interpret the =E2=80=9Cmodified-in=E2=80=9D and =E2=80=9Cmodified-out=
=E2=80=9D suggested by Kent
> precisely as a distinction between those cases.  =E2=80=9CModified-out=E2=
=80=9D simply
> means its value changed so it no longer matches the filter (but the objec=
t
> still exists).  Whether we call it modified-in/out or something else is
> another question.  Of course, the issue is that this means this is a new
> case that is not covered by the patch syntax, which would require an
> extension of the encoding.
>
>
>
>
>
>
>
> What breaks if the client just sees data nodes appear or disappear from 1
> patch to the next?
>
> Why does the client need to know the data node still exists, but the
> foo=3D=3D5 filter changed.
>
> The client decided that only state for foo=3D=3D5 needs to be watched, so=
 from
> its POV
>
> the extra metadata should not be needed.
>
>
>
>
>
> <Alex>
>
> For periodic, this is what happens.
>
> In the case of on-change, we would indicate changes.  If a data node is
> not included in an update, how would we be able to distinguish between th=
e
> case of (not included because no change) and (not included because no
> longer meets the filter)?  We do need to indicate to the subscriber that
> there has been a change in that the data node no longer meets the
> criteria.  Presumably we want to distinguish this from the case that the
> data node ceased to exist.  (Not distinguishing those cases would put us
> back to alternative #1, which I think the consensus is that we don=E2=80=
=99t want
> that)
>
> </ALEX>
>
>
>
>
>
> Regarding not included because of no-change:
>
>
>
> How can happen/?
>
> Not if the client is requesting non-overlapping subtrees /foo and /bar.
>
> These are safe to mix in 1 subscription. The client should not assume
>
> that an update for /foo means /bar was deleted.
>
>
>
> Are you referring to overlapping subtrees in 1 subscription?
>
> How would this be configured? Seems complicated to manage.
>
> The semantics of "on-change" should be easy to manage on both client and
> server.
>
>
>
>
>
> Andy
>
>
>
>
>
>
>

--001a114b3b046394af054fe7510d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Fri, May 19, 2017 at 2:30 PM, Alexander Clemm <span dir=3D"ltr">&lt;=
<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.c=
lemm@huawei.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_1574823011011644627WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Andy,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I am not sure I understand your quest=
ion below.=C2=A0 I am not referring to mix-and-match between subscription =
=E2=80=93 not to bundling or anything like that.=C2=A0 Merely to
 an on-change subscription.=C2=A0 <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">If we do send updates regarding chang=
es, and a subscription allows to apply a =E2=80=9Cvalue filter=E2=80=9D, th=
ere are cases when a change is caused by a node being deleted
 since the last update cycle, and there are cases when a change is caused b=
y a node changing its value so it no longer matches the value of the filter=
 (and create case accordingly).=C2=A0 This can clearly occur.=C2=A0 Given t=
his, I think we are faced with the alternative
 of either being able to properly distinguish the two (option #2 in the ear=
lier thread), or disallowing filters based on data node value (option #3).=
=C2=A0 I was under the impression you were arguing for #3 earlier?<u></u><u=
></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0</span></p></div></div><=
/blockquote><div><br></div><div><br></div><div>I guess I like option #4 (al=
low data filters on static data, say SHOULD NOT use on dynamic data)</div><=
div>The solution seems too complicated if there is a need for &quot;I am st=
ill here, but I am not being reported&quot; .</div><div>Especially since th=
at means &quot;still here in your custom view of things&quot;, not &quot;st=
ill here in the device&quot;.</div><div><br></div><div><br></div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc sol=
id;padding-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"><di=
v class=3D"m_1574823011011644627WordSection1"><p class=3D"MsoNormal"><span =
style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:=
#1f497d"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex</span></p></div></div></bloc=
kquote><div><br></div><div><br></div><div>Andy</div><div>=C2=A0</div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex"><div lang=3D"EN-US" link=3D"blue" vlink=3D"purple"=
><div class=3D"m_1574823011011644627WordSection1"><p class=3D"MsoNormal"><s=
pan style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;co=
lor:#1f497d"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman [mailto:<a href=
=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com</a>]
<br>
<b>Sent:</b> Thursday, May 18, 2017 8:50 PM<br>
<b>To:</b> Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei.com=
" target=3D"_blank">alexander.clemm@huawei.com</a>&gt;<br>
<b>Cc:</b> Kent Watsen &lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D=
"_blank">kwatsen@juniper.net</a>&gt;; Eric Voit (evoit) &lt;<a href=3D"mail=
to:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&gt;; Netconf &lt;=
<a href=3D"mailto:netconf@ietf.org" target=3D"_blank">netconf@ietf.org</a>&=
gt;<br>
<b>Subject:</b> Re: [Netconf] In an update, when is a delete a delete?<u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">Hi Alex,<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Thu, May 18, 2017 at 6:51 PM, Alexander Clemm &lt=
;<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.=
clemm@huawei.com</a>&gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Hi Andy,</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">Below</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">--- Alex</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11.0pt;font-family:&quot=
;Calibri&quot;,sans-serif">From:</span></b><span style=3D"font-size:11.0pt;=
font-family:&quot;Calibri&quot;,sans-serif"> Andy Bierman [mailto:</span><a=
 href=3D"mailto:andy@yumaworks.com" target=3D"_blank"><span style=3D"font-s=
ize:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">andy@yumaworks.com</=
span></a><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sa=
ns-serif">]
<br>
<b>Sent:</b> Thursday, May 18, 2017 6:34 PM<br>
<b>To:</b> Alexander Clemm &lt;</span><a href=3D"mailto:alexander.clemm@hua=
wei.com" target=3D"_blank"><span style=3D"font-size:11.0pt;font-family:&quo=
t;Calibri&quot;,sans-serif">alexander.clemm@huawei.com</span></a><span styl=
e=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">&gt;<br>
<b>Cc:</b> Kent Watsen &lt;</span><a href=3D"mailto:kwatsen@juniper.net" ta=
rget=3D"_blank"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&q=
uot;,sans-serif">kwatsen@juniper.net</span></a><span style=3D"font-size:11.=
0pt;font-family:&quot;Calibri&quot;,sans-serif">&gt;; Eric Voit (evoit)
 &lt;</span><a href=3D"mailto:evoit@cisco.com" target=3D"_blank"><span styl=
e=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">evoit@cis=
co.com</span></a><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&=
quot;,sans-serif">&gt;; Netconf &lt;</span><a href=3D"mailto:netconf@ietf.o=
rg" target=3D"_blank"><span style=3D"font-size:11.0pt;font-family:&quot;Cal=
ibri&quot;,sans-serif">netconf@ietf.org</span></a><span style=3D"font-size:=
11.0pt;font-family:&quot;Calibri&quot;,sans-serif">&gt;<br>
<b>Subject:</b> Re: [Netconf] In an update, when is a delete a delete?</spa=
n><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif">=C2=A0</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif">=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=
=A6=E2=80=A6=E2=80=A6</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif">&lt;snip&gt;</span><u></u><u></u></p>
<div>
<div>
<div>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-=
bottom:5.0pt">
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">I interpret the =E2=80=9Cmodified-in=
=E2=80=9D and =E2=80=9Cmodified-out=E2=80=9D suggested by Kent precisely as=
 a distinction between
 those cases.=C2=A0 =E2=80=9CModified-out=E2=80=9D simply means its value c=
hanged so it no longer matches the filter (but the object still exists).=C2=
=A0 Whether we call it modified-in/out or something else is another questio=
n.=C2=A0 Of course, the issue is that this means this is a new
 case that is not covered by the patch syntax, which would require an exten=
sion of the encoding.=C2=A0
</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">What breaks if the client just sees data nodes appea=
r or disappear from 1 patch to the next?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Why does the client need to know the data node still=
 exists, but the foo=3D=3D5 filter changed.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The client decided that only state for foo=3D=3D5 ne=
eds to be watched, so from its POV<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">the extra metadata should not be needed.<u></u><u></=
u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">=C2=A0<u></u><u></u></p>
</div>
</div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;Alex&gt;</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">For periodic, this is what happens.</=
span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">In the case of on-change, we would in=
dicate changes.=C2=A0 If a data node is not included in an update,
 how would we be able to distinguish between the case of (not included beca=
use no change) and (not included because no longer meets the filter)?=C2=A0=
 We do need to indicate to the subscriber that there has been a change in t=
hat the data node no longer meets the
 criteria.=C2=A0 Presumably we want to distinguish this from the case that =
the data node ceased to exist.=C2=A0 (Not distinguishing those cases would =
put us back to alternative #1, which I think the consensus is that we don=
=E2=80=99t want that)</span><u></u><u></u></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">&lt;/ALEX&gt;</span><u></u><u></u></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,sans-serif;color:#1f497d">=C2=A0</span><u></u><u></u></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Regarding not included because of no-change:<u></u><=
u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">How can happen/?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Not if the client is requesting non-overlapping subt=
rees /foo and /bar.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">These are safe to mix in 1 subscription. The client =
should not assume<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">that an update for /foo means /bar was deleted.<u></=
u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Are you referring to overlapping subtrees in 1 subsc=
ription?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">How would this be configured? Seems complicated to m=
anage.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">The semantics of &quot;on-change&quot; should be eas=
y to manage on both client and server.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div><br></div></div>

--001a114b3b046394af054fe7510d--


From nobody Fri May 19 23:45:25 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6B379129BAB for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 23:45:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6KSlXu2L62_g for <netconf@ietfa.amsl.com>; Fri, 19 May 2017 23:45:22 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 87BE3129B73 for <netconf@ietf.org>; Fri, 19 May 2017 23:45:17 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id C1EEF6A2; Sat, 20 May 2017 08:45:15 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id 9C2VswVnFxiQ; Sat, 20 May 2017 08:45:14 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Sat, 20 May 2017 08:45:15 +0200 (CEST)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 788FD2005F; Sat, 20 May 2017 08:45:15 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id 3cEbrLDYr2R2; Sat, 20 May 2017 08:45:15 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id E805F20058; Sat, 20 May 2017 08:45:14 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 6CD233F4F2D7; Sat, 20 May 2017 08:45:14 +0200 (CEST)
Date: Sat, 20 May 2017 08:45:14 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Message-ID: <20170520064514.GA1429@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com> <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/XhCWsXlIZFA1al1b7Qvtea-e0yA>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 May 2017 06:45:24 -0000

On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:
> 
> I guess I like option #4 (allow data filters on static data, say SHOULD NOT
> use on dynamic data)
> The solution seems too complicated if there is a need for "I am still here,
> but I am not being reported" .
> Especially since that means "still here in your custom view of things", not
> "still here in the device".
>

What is 'static data'?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Sat May 20 07:17:33 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D998912878D for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 07:17:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p5r7Hwk22Ggh for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 07:17:30 -0700 (PDT)
Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 21D2A120227 for <netconf@ietf.org>; Sat, 20 May 2017 07:17:30 -0700 (PDT)
Received: by mail-wm0-x233.google.com with SMTP id d127so107064589wmf.0 for <netconf@ietf.org>; Sat, 20 May 2017 07:17:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=0MDm+wq/JIVWGyFTuNjMUTE30DLqHLLjzK//UkJxLyA=; b=kMkDIV5FZhoirTWhmNYvBmAlrtNm2nrUjFknlO+VjWUJKqPh2+/ldOjJx6nn0oIGUn O75/c3oc4abXd20I5z7NBLvPTrJcgjZ3ikyZKJR6ez0/sZ9A0FXmj45uvxg0sTYiqKIU hcbxIs68t8fb2wmKDYF6jlQ5vGvrJyFVOK1XejGi429trlOOj1Drpb7ieEHc9jXd2Yl9 eBDFg+yRBXkel0XmLCLTL+vIqV0A5vIAvv3fLqILzHWcmzydcwpEaW5nxFZvE3Ri/N+v nrgUenrITdLGKEa++mdvhZnE88JmFDNgB1SsdRC1ES5EoTkz4twWWX3nbnpEdtxAyKZg nfbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=0MDm+wq/JIVWGyFTuNjMUTE30DLqHLLjzK//UkJxLyA=; b=qX04ewFrek6PCAiU085I5rJjufRmDeO93vslVXjA9t6dQlnvh43N8vQeEh9/4Bcqdp Qg34rJmgtmyl53G3frkpP+XLoPbek69nQxvlCkeEgi4WVLpHDcP53DpkM8VEOQUwB2xk 0XYXckHGTL9WCuhVZDUMudn+o8RrQ+ggSiPOayl3XdgZnMSEO9P7zxGvxWKrhV8k0tP0 RM3ZPJfejpF7vufqDu66WBoQOu5WQV+3n22pRaBAEU0QQ6Anf1xKJe3NIF7fzobjq4ei 5YP2SDpi5EAFHHm9GHGhKChsxvIRxXPES9MViadumWg3Ho1sDwOM5XQ+xb2awq0X6SYO AdqQ==
X-Gm-Message-State: AODbwcAOAypTliGiV7su6eIvcB763kF9JCzKe6/zXe6jGwGuX8QQDYau tw+OrxMtJF9h2zkPOD2cF/5f2iAaTMKa
X-Received: by 10.28.158.134 with SMTP id h128mr4780123wme.99.1495289848657; Sat, 20 May 2017 07:17:28 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Sat, 20 May 2017 07:17:27 -0700 (PDT)
In-Reply-To: <20170520064514.GA1429@elstar.local>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com> <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com> <20170520064514.GA1429@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Sat, 20 May 2017 07:17:27 -0700
Message-ID: <CABCOCHRefbQsNwOLsueUcYpjKAtfrVSdPufEj67qZiNueNnyHg@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>,  Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114b3b04440f39054ff54c0e"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/UrLiMJy2ZxNW8nIKw0FIliKh9Pg>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 May 2017 14:17:32 -0000

--001a114b3b04440f39054ff54c0e
Content-Type: text/plain; charset="UTF-8"

On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:
> >
> > I guess I like option #4 (allow data filters on static data, say SHOULD
> NOT
> > use on dynamic data)
> > The solution seems too complicated if there is a need for "I am still
> here,
> > but I am not being reported" .
> > Especially since that means "still here in your custom view of things",
> not
> > "still here in the device".
> >
>
> What is 'static data'?
>

Data you do not expect to change, like if:type.


>
> /js
>
>

Andy


> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>

--001a114b3b04440f39054ff54c0e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder <span dir=3D"lt=
r">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_b=
lank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bier=
man wrote:<br>
&gt;<br>
&gt; I guess I like option #4 (allow data filters on static data, say SHOUL=
D NOT<br>
&gt; use on dynamic data)<br>
&gt; The solution seems too complicated if there is a need for &quot;I am s=
till here,<br>
&gt; but I am not being reported&quot; .<br>
&gt; Especially since that means &quot;still here in your custom view of th=
ings&quot;, not<br>
&gt; &quot;still here in the device&quot;.<br>
&gt;<br>
<br>
What is &#39;static data&#39;?<br></blockquote><div><br></div><div>Data you=
 do not expect to change, like if:type.</div><div>=C2=A0</div><blockquote c=
lass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;=
padding-left:1ex">
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
/js<br>
<br></font></span></blockquote><div><br></div><div><br></div><div>Andy</div=
><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=
8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D"HOEnZb"><fo=
nt color=3D"#888888">
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_blan=
k">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
</font></span></blockquote></div><br></div></div>

--001a114b3b04440f39054ff54c0e--


From nobody Sat May 20 07:28:12 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D41A120724 for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 07:28:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8_DIj10aFMaA for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 07:28:09 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4841B120227 for <netconf@ietf.org>; Sat, 20 May 2017 07:28:09 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 1A44C317; Sat, 20 May 2017 16:28:08 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id wrsd7MU9bYGM; Sat, 20 May 2017 16:28:06 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Sat, 20 May 2017 16:28:08 +0200 (CEST)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id EDBE82005F; Sat, 20 May 2017 16:28:07 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius4.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id NMqbR6AZlSnD; Sat, 20 May 2017 16:28:07 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id ACF3020062; Sat, 20 May 2017 16:28:07 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 44A6D3F4F7C4; Sat, 20 May 2017 16:28:07 +0200 (CEST)
Date: Sat, 20 May 2017 16:28:07 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Message-ID: <20170520142807.GA1930@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com> <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com> <20170520064514.GA1429@elstar.local> <CABCOCHRefbQsNwOLsueUcYpjKAtfrVSdPufEj67qZiNueNnyHg@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CABCOCHRefbQsNwOLsueUcYpjKAtfrVSdPufEj67qZiNueNnyHg@mail.gmail.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/DiyXaqBoxrpFpXVwTrtU630uqBY>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 May 2017 14:28:12 -0000

On Sat, May 20, 2017 at 07:17:27AM -0700, Andy Bierman wrote:
> On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> 
> > On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:
> > >
> > > I guess I like option #4 (allow data filters on static data, say SHOULD
> > NOT
> > > use on dynamic data)
> > > The solution seems too complicated if there is a need for "I am still
> > here,
> > > but I am not being reported" .
> > > Especially since that means "still here in your custom view of things",
> > not
> > > "still here in the device".
> > >
> >
> > What is 'static data'?
> >
> 
> Data you do not expect to change, like if:type.
>

Until I swap the line card...

Anyway, if you propose 'allow data filters on static data', then there
needs to be some reasonably precise definition of 'static data'.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Sat May 20 08:06:26 2017
Return-Path: <lhotka@nic.cz>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B1701293E9 for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 08:06:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level: 
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9,  DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V-75nM14m069 for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 08:06:22 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 715C71275AB for <netconf@ietf.org>; Sat, 20 May 2017 08:06:22 -0700 (PDT)
Received: from [IPv6:2a01:5e0:29:ffff:11f1:a1be:ead4:b227] (unknown [IPv6:2a01:5e0:29:ffff:11f1:a1be:ead4:b227]) by mail.nic.cz (Postfix) with ESMTPSA id 41D2F6084D; Sat, 20 May 2017 17:06:19 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1495292779; bh=knA7zRlJzPS7cHBhgAaUC/baTREWI/heArPSRfey+XU=; h=From:Date:To; b=GERvMLQSBFewoi3BC+H3HLLll3zrow/Sdc41zVNbDdwL63RbbHGEoRSsRWywyt8ah FOygoFPCh1cBhibjrCCfPn4Pc4wd1tU/g/HfGRH0A4Fdu8lUGDDQwUW1L4bb9MvPij cz255mRn5vXbOCPSVqPEEhdhqpFM4CwSm14XvWYw=
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <CABCOCHR7eahaSoJRFxP7y6eiik5gJSY1EfiovmDWDTHR0+TvEg@mail.gmail.com>
Date: Sat, 20 May 2017 17:06:18 +0200
Cc: =?utf-8?Q?Martin_Bj=C3=B6rklund?= <mbj@tail-f.com>, Netconf <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <848F2A4F-7443-4069-BB6B-6EF7DD8E77A5@nic.cz>
References: <m2o9uq38lr.fsf@birdie.labs.nic.cz> <20170518.164922.54240181653793296.mbj@tail-f.com> <6D20AFD2-2433-4BA8-8826-A70A6619CCBC@nic.cz> <CABCOCHR7eahaSoJRFxP7y6eiik5gJSY1EfiovmDWDTHR0+TvEg@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.3273)
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/-llNsu4I832gMnQPWokFZTHO08w>
Subject: Re: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 May 2017 15:06:24 -0000

> On 19 May 2017, at 21:54, Andy Bierman <andy@yumaworks.com> wrote:
>=20
> Hi,
>=20
> I agree with Martin.
> The server MUST reject a request that attempts to set config=3Dfalse =
data.
> I think RFC 7231 supports this view:
>=20
>    The PUT method requests that the state of the target resource be
>    created or replaced with the state defined by the representation
>    enclosed in the request message payload.

By the same token

   The GET method requests transfer of a current selected representation
   for the target resource.

My reading is that that GET and PUT addressing the same resource are =
intended to be essentially symmetric.

The specification of PUT also says:

   A successful PUT of a given representation would suggest that a
   subsequent GET on that same target resource will result in an
   equivalent representation being sent in a 200 (OK) response.
   However, there is no guarantee that such a state change will be
   observable, since the target resource might be acted upon by other
   user agents in parallel, or might be subject to dynamic processing
   by the origin server, before any subsequent GET is received.

So I think in terms of RFC 7231 it is perfectly defensible that the =
server ignore config false data received in the message body of PUT.

Lada

>=20
>=20
> The server cannot add the config=3Dfalse nodes to the configuration so
> the representation is not valid for editing of configuration data =
nodes.
>=20
>=20
> Andy
>=20
> On Fri, May 19, 2017 at 1:42 AM, Ladislav Lhotka <lhotka@nic.cz> =
wrote:
>=20
> > On 18 May 2017, at 16:49, Martin Bjorklund <mbj@tail-f.com> wrote:
> >
> > Ladislav Lhotka <lhotka@nic.cz> wrote:
> >> Hi,
> >>
> >> what is a RESTCONF server supposed to do if message-body of a PUT =
method
> >> contains config false data?
> >
> > I think it should be an error.
>=20
> I would actually prefer that the server accept it and ignore config =
false data, which should be pretty easy.
>=20
> >
> >> In practical terms, if a client retrieves a container resource via =
GET
> >> and the container has both configuration and state data, should the
> >> server accept the same payload sent back with PUT, or is it =
necessary to
> >> remove all config false items?
> >
> > I think the client needs to GET /...?content=3Dconfig.
>=20
> Sometimes this means an extra round trip. Also, since content=3Dall is =
the default, it IMO makes sense to keep GET and PUT with the same =
Request-URI symmetric.
>=20
> Lada
>=20
> >
> >
> > /martin
> >
> >
> >> This seems to be unspecified in RFC 8040.
> >>
> >> Thanks, Lada
> >>
> >> --
> >> Ladislav Lhotka, CZ.NIC Labs
> >> PGP Key ID: 0xB8F92B08A9F76C67
> >>
> >> _______________________________________________
> >> Netconf mailing list
> >> Netconf@ietf.org
> >> https://www.ietf.org/mailman/listinfo/netconf
> >>
>=20
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
>=20
>=20
>=20
>=20
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>=20

--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67






From nobody Sat May 20 10:06:35 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D485128CDC for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 10:06:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pgr9qhOSK-Z0 for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 10:06:32 -0700 (PDT)
Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 46BB9128768 for <netconf@ietf.org>; Sat, 20 May 2017 10:06:32 -0700 (PDT)
Received: by mail-wm0-x233.google.com with SMTP id b84so258744056wmh.0 for <netconf@ietf.org>; Sat, 20 May 2017 10:06:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=mLijhQDk8hSY/sAoBNwWC2Hztt/vUZ2mGd3LW2Fd0Fk=; b=lga+TGZ2axHJvWp8+jIMyaxuq3CcPP8nJyoij8K8Bq4g7eDtZJt0RYptxUJsFZqHwU Jza97imf7qlTvmG+nnbi4rQpQXezylD8mMpSNHbNoOYtLjUILlxWlp9Q1rqveAwEscEq cgpOrWvUKQbSN/3AdPaInTprsaboxWnNhzY4LKpQ3/FYM1JdzFoolkn+Yps3el8HOV4d wTsMuE8mGdDiE0AkBYGgszYVkBm3oKyNy6n/I9O9cy3ruQZZ/qNEAsLumMlhfKJ4xAA/ 6Gu83UX5PSKW/e6PFHV6H2x0V8g28r7aSUTnAgqMPDCjWoal9rIrlnytBkxGV9MGOIVc nX9g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=mLijhQDk8hSY/sAoBNwWC2Hztt/vUZ2mGd3LW2Fd0Fk=; b=Z3x4psM1wwxTmA/K7yLjNkIR5PS/06CUjq+mQMc6aJCj/QtfMEeuBmfGBdO1R9x3HU iFum0tos2RDbUV0lqFmXel+21YOYHmOkowZZhyr+GmlT/Wk5fY8LtZlohd1+kZq55bF0 fG+ecOE1/7JQgw9O2Qks3KPWXkYhVgFPvNjkUoHXVP2ORV9xiR+2r8tNVQWyVUl6SbSS pEQGCm5QhCiSu+IHPY+5a9ydYuP5LYby3KqOdZzzfopYtkhfuqzhdRFFvUDCkXf3km8+ ikhawMQgGDBZPf2x9DLwFeSTQxSDFSLZD6JZ5mpH8z+Me1DnUNCP5aWFZy8WUgs97M7Z ZUbw==
X-Gm-Message-State: AODbwcBPBzJFtz+k1PqSBO8AGJolRkFJNEx3HC69n5oRlb2tG4uCZzHg pGa4JqDtpmt047K0eOHm66AZ26moDM6q
X-Received: by 10.28.183.8 with SMTP id h8mr8921956wmf.54.1495299990741; Sat, 20 May 2017 10:06:30 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Sat, 20 May 2017 10:06:29 -0700 (PDT)
In-Reply-To: <20170520142807.GA1930@elstar.local>
References: <8340AFB7-350A-4641-A130-4114E39C73E1@juniper.net> <CABCOCHS-qYRJuvrDNj+CbL6p+cdt84Mc+a-P-MiqU4x=V814aQ@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com> <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com> <20170520064514.GA1429@elstar.local> <CABCOCHRefbQsNwOLsueUcYpjKAtfrVSdPufEj67qZiNueNnyHg@mail.gmail.com> <20170520142807.GA1930@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Sat, 20 May 2017 10:06:29 -0700
Message-ID: <CABCOCHRcAUkDaqV+P8p4cUT34B8wQC9O4jz_MsQ6aWd=g41qCQ@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>,  Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a1148f920c80a37054ff7a8f9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/qGaBKIHxKzd9Z913Gsb4DffWuFw>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 20 May 2017 17:06:34 -0000

--001a1148f920c80a37054ff7a8f9
Content-Type: text/plain; charset="UTF-8"

On Sat, May 20, 2017 at 7:28 AM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Sat, May 20, 2017 at 07:17:27AM -0700, Andy Bierman wrote:
> > On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder <
> > j.schoenwaelder@jacobs-university.de> wrote:
> >
> > > On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:
> > > >
> > > > I guess I like option #4 (allow data filters on static data, say
> SHOULD
> > > NOT
> > > > use on dynamic data)
> > > > The solution seems too complicated if there is a need for "I am still
> > > here,
> > > > but I am not being reported" .
> > > > Especially since that means "still here in your custom view of
> things",
> > > not
> > > > "still here in the device".
> > > >
> > >
> > > What is 'static data'?
> > >
> >
> > Data you do not expect to change, like if:type.
> >
>
> Until I swap the line card...
>
> Anyway, if you propose 'allow data filters on static data', then there
> needs to be some reasonably precise definition of 'static data'.
>
>
That may be a deployment choice, so it is hard to define.
I do not object to option (2). I just prefer (4).

/js
>

Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>

--001a1148f920c80a37054ff7a8f9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Sat, May 20, 2017 at 7:28 AM, Juergen Schoenwaelder <span dir=3D"ltr=
">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_bl=
ank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex">On Sat, May 20, 2017 at 07:17:27AM -0700, Andy Bierm=
an wrote:<br>
&gt; On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder &lt;<br>
&gt; <a href=3D"mailto:j.schoenwaelder@jacobs-university.de">j.schoenwaelde=
r@jacobs-<wbr>university.de</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I guess I like option #4 (allow data filters on static data,=
 say SHOULD<br>
&gt; &gt; NOT<br>
&gt; &gt; &gt; use on dynamic data)<br>
&gt; &gt; &gt; The solution seems too complicated if there is a need for &q=
uot;I am still<br>
&gt; &gt; here,<br>
&gt; &gt; &gt; but I am not being reported&quot; .<br>
&gt; &gt; &gt; Especially since that means &quot;still here in your custom =
view of things&quot;,<br>
&gt; &gt; not<br>
&gt; &gt; &gt; &quot;still here in the device&quot;.<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; What is &#39;static data&#39;?<br>
&gt; &gt;<br>
&gt;<br>
&gt; Data you do not expect to change, like if:type.<br>
&gt;<br>
<br>
Until I swap the line card...<br>
<br>
Anyway, if you propose &#39;allow data filters on static data&#39;, then th=
ere<br>
needs to be some reasonably precise definition of &#39;static data&#39;.<br=
>
<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></blockquo=
te><div><br></div><div>That may be a deployment choice, so it is hard to de=
fine.</div><div>I do not object to option (2). I just prefer (4).</div><div=
><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bor=
der-left:1px #ccc solid;padding-left:1ex"><span class=3D"HOEnZb"><font colo=
r=3D"#888888">
/js<br></font></span></blockquote><div><br></div><div>Andy</div><div>=C2=A0=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><span class=3D"HOEnZb"><font color=3D"=
#888888">
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_blan=
k">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
</font></span></blockquote></div><br></div></div>

--001a1148f920c80a37054ff7a8f9--


From nobody Sat May 20 23:53:54 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 157C91293EB for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 23:53:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LZF9MY4M56iE for <netconf@ietfa.amsl.com>; Sat, 20 May 2017 23:53:52 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B09CD127337 for <netconf@ietf.org>; Sat, 20 May 2017 23:53:51 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 8374B317; Sun, 21 May 2017 08:53:50 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id CBS6Mr72eBK1; Sun, 21 May 2017 08:53:50 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Sun, 21 May 2017 08:53:50 +0200 (CEST)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id 5957120067; Sun, 21 May 2017 08:53:50 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius2.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id rp1qvLbMakT0; Sun, 21 May 2017 08:53:50 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id AE90620062; Sun, 21 May 2017 08:53:49 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 360183F4FDCA; Sun, 21 May 2017 08:53:49 +0200 (CEST)
Date: Sun, 21 May 2017 08:53:49 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
Cc: Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
Message-ID: <20170521065349.GA2306@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>, Netconf <netconf@ietf.org>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF042@SJCEML701-CHM.china.huawei.com> <CABCOCHSdMGuXvmf6YeVCw6oVAgRwd2NOLrCC-1x3ync7KPx3Aw@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF0AC@SJCEML701-CHM.china.huawei.com> <CABCOCHQ-H7CdQodptTxaJj-7v9qZ_sF41RfBC4oi-GFY57bz+A@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAF223@SJCEML701-CHM.china.huawei.com> <CABCOCHS4oKs+c-F0JN952RTb9xNQ4QBHcAKh40nHQzxSLPV-yQ@mail.gmail.com> <20170520064514.GA1429@elstar.local> <CABCOCHRefbQsNwOLsueUcYpjKAtfrVSdPufEj67qZiNueNnyHg@mail.gmail.com> <20170520142807.GA1930@elstar.local> <CABCOCHRcAUkDaqV+P8p4cUT34B8wQC9O4jz_MsQ6aWd=g41qCQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CABCOCHRcAUkDaqV+P8p4cUT34B8wQC9O4jz_MsQ6aWd=g41qCQ@mail.gmail.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Yu0e5HfurPoq7YmB-nl5ZK7CMZk>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 21 May 2017 06:53:53 -0000

On Sat, May 20, 2017 at 10:06:29AM -0700, Andy Bierman wrote:
> On Sat, May 20, 2017 at 7:28 AM, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
> 
> > On Sat, May 20, 2017 at 07:17:27AM -0700, Andy Bierman wrote:
> > > On Fri, May 19, 2017 at 11:45 PM, Juergen Schoenwaelder <
> > > j.schoenwaelder@jacobs-university.de> wrote:
> > >
> > > > On Fri, May 19, 2017 at 02:36:44PM -0700, Andy Bierman wrote:
> > > > >
> > > > > I guess I like option #4 (allow data filters on static data, say
> > SHOULD
> > > > NOT
> > > > > use on dynamic data)
> > > > > The solution seems too complicated if there is a need for "I am still
> > > > here,
> > > > > but I am not being reported" .
> > > > > Especially since that means "still here in your custom view of
> > things",
> > > > not
> > > > > "still here in the device".
> > > > >
> > > >
> > > > What is 'static data'?
> > > >
> > >
> > > Data you do not expect to change, like if:type.
> > >
> >
> > Until I swap the line card...
> >
> > Anyway, if you propose 'allow data filters on static data', then there
> > needs to be some reasonably precise definition of 'static data'.
> >
> >
> That may be a deployment choice, so it is hard to define.
> I do not object to option (2). I just prefer (4).
>

(4) is underdefined as far as I can tell.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Sun May 21 22:26:02 2017
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A31AF129B34 for <netconf@ietfa.amsl.com>; Sun, 21 May 2017 22:26:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2geefL7-iI36 for <netconf@ietfa.amsl.com>; Sun, 21 May 2017 22:25:58 -0700 (PDT)
Received: from mail-pf0-x22a.google.com (mail-pf0-x22a.google.com [IPv6:2607:f8b0:400e:c00::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3D488124C27 for <netconf@ietf.org>; Sun, 21 May 2017 22:25:58 -0700 (PDT)
Received: by mail-pf0-x22a.google.com with SMTP id 9so70872082pfj.1 for <netconf@ietf.org>; Sun, 21 May 2017 22:25:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=+dMmM+7AzJovKITYTVrecbFlcjjkySORnEKoJx+9XTc=; b=qoXqxjE7AImIJ1Q5+Ui26P6qg0T7XXBX9CdnoegBCyw4zANSmVjZiUNAXjvObEROQy Tv3XgVtAolJ5sz9GHeF4SlEt84OUsoXwl3ixa++x70/S6YoWLOZDe31p+1m2DGJBYnOA 0b6gK2YzrxzUsD995x5HG8ZbtOV8NyUoZOvJjr5XzCXfSv5+jiEvi2kqMKNlHwv/qFkf Zwk5oxVvnYuAePZ2cEokFrydz8JCeZG7Es0XqPagboA3mnkrySEnZhANxJu/nPAtv6CV R4h4jjQVah5/jMfV26w875QkP4BRZsCASpVZc0sj6FStekNey8uYZqtTKUU/N8RDbNjH 4D9Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=+dMmM+7AzJovKITYTVrecbFlcjjkySORnEKoJx+9XTc=; b=fBZrNh3aOWuqrap5STnBbukN1KSGSifUjtc8XB5cIot5W350SOvxrKQbsvVs1PxGFs UYIIBXYV86H4xx+1E2NEio2/VMaT6kt/LRvVm3lSvj+sizwEZ4DnXlGkez470G0jX6TO puNdaMANoY26l4UwXMbJAcWPZGwAyqRAbXa0VioHLjHeyZddQ61Kh9BlUDdxTs0YCpeF tKR6ynQQ62XClkCzabMItccovZ8kxvn5HftIg66hJo1aiZ0JdCkmPw2Yyy35HpglH+5f dsVSC8IgD86hZO7/JcvaTAdMQLlwpeposYdPVhHtTQUNJF7+CGoNAWnlMsV0/DhBqiHi /1yQ==
X-Gm-Message-State: AODbwcA7j1I1k5k06fnXDQfDn1MIiH0E8N7QOmjlFURzozo57h5QHENr OXSsj8M8OJhsTg==
X-Received: by 10.98.53.133 with SMTP id c127mr20971204pfa.4.1495430757818; Sun, 21 May 2017 22:25:57 -0700 (PDT)
Received: from ?IPv6:2001:420:c0c8:1008::3f6? ([2001:420:c0c8:1008::3f6]) by smtp.gmail.com with ESMTPSA id 202sm24246538pge.12.2017.05.21.22.25.55 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 21 May 2017 22:25:56 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_0957F107-7C88-45AD-B3DC-67A231BDAAC9"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com>
Date: Sun, 21 May 2017 22:25:56 -0700
Cc: Martin Bjorklund <mbj@tail-f.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Message-Id: <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com>
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170509.145030.58029732242199759.mbj@tail-f.com> <20170510064608.GA14838@elstar.local> <04623446-36C5-4ABE-81C3-9E6B1F0BC39A@gmail.com> <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/udrqp-Az-Lhsie0scMpoGHh9FY0>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 May 2017 05:26:01 -0000

--Apple-Mail=_0957F107-7C88-45AD-B3DC-67A231BDAAC9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Andy,

> On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com> wrote:
>=20
>=20
>=20
> On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani =
<mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>> wrote:
> Having reviewed all the e-mails, I believe that there are few issues =
that need to be resolved before we send the draft for publication. We =
need to agree on the language, even if we do have the exact text in the =
draft.
>=20
> To begin with, do the authors have a response to the suggestions from =
Juergen prompted by the question from Alex? Are we leaving the NACM =
definition of any future datastores to the datastore draft, or are we =
saying NACM applies to all datastores?
>=20
>=20
> No. IMO the text should say NACM applies to NETCONF and RESTCONF
> with the existing datastores.
>=20
> NACM MAY be applied to other datastores that have similar operation =
sets.
> Any new datastore specification needs to define how it maps to the =
NACM CRUDX
> model.  The datastore does not need to use NACM (e.g., datastore =
defines something else
> or does not use access control).

Can you update the draft with this text.

>=20
>=20
> To the point that Andy raised earlier, we need to have texts around =
datastores that provide more than CRUDX capabilities, including any =
protocol operations, e.g. priority, as something that is out of scope of =
this document.
>=20
>=20
> This would be outside the scope of NACM.
> This is part of the RPC input validation.

And clarify that operations outside of CRUDX are outside the scope of =
NACM. We can them move the document towards publication.

Thanks.

>=20
> =20
> NETCONF WG has moved to redefine its charter beyond NETCONF and =
RESTCONF. Therefore there is a real possibility of another protocol =
being discussed in the WG. Is there something in the NACM draft that =
restricts it to NETCONF/RESTCONF that other protocols cannot adopt? If =
so, can they be called out?
>=20
> If NACM needs to be changed in the future because a new or existing =
protocol needs new features
> then the WG will have to deal with it then.
>=20
> =20
>=20
> Thanks.
>=20
>=20
> Andy
> =20
> > On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de =
<mailto:j.schoenwaelder@jacobs-university.de>> wrote:
> >
> > On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
> >> Andy Bierman <andy@yumaworks.com <mailto:andy@yumaworks.com>> =
wrote:
> >>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm =
<alexander.clemm@huawei.com <mailto:alexander.clemm@huawei.com>
> >>>> wrote:
> >>>
> >>>> As mentioned in my message, I don=E2=80=99t think specific access =
control will be
> >>>> needed (I am not aware of specific use cases), but specifically =
with the
> >>>> revised datastore architecture about to the be introduced, its =
impact or
> >>>> nonimpact and interrelation with NACM should be discussed.  This =
can be as
> >>>> simple as a small paragraph or subsection =E2=80=9CRevised =
Datastore
> >>>> Considerations=E2=80=9D.
> >>>>
> >>>>
> >>>>
> >>>
> >>> there is no text about candidate vs. running vs. startup.
> >>> The NACM rules apply to all of them the same.
> >>> I could add text that says there is no consideration for specific
> >>> datastores.
> >>
> >> Actually, the document already says:
> >>
> >> 3.2.  Datastore Access
> >>
> >>   The same access control rules apply to all datastores, for =
example,
> >>   the candidate configuration datastore or the running =
configuration
> >>   datastore.
> >>
> >>   Only the standard NETCONF datastores (candidate, running, and
> >>   startup) are controlled by NACM.
> >>
> >>
> >> Somehow this needs to be updated when the revised datastore work is
> >> done.  E.g., I expect read access to intended to follow the same =
NACM
> >> rules.
> >>
> >
> > Yes. NACM likely also applies to the <operational/> datastore (but
> > this follows already from the text that talks about 'state data').
> >
> > My question, however, was about other future yet to be defined
> > 'dynamic' datastores - does NACM make a statement of the form 'once =
an
> > implementation announces NACM, NACM applies to all datastores - no
> > exceptions' or do we leave it to the definition of future datastores
> > to declare whether NACM applies to it. There may be three possible
> > solutions:
> >
> > a) Once an implementation supports NACM, NACM applies to all
> >   datastores (including any datastores defined in the future).
> >
> > b) Once an implementation supports NACM, NACM applies to all
> >   conventional datastores and the operational state datastore.  =
Other
> >   datastores must define whether NACM applies to them.
> >
> >   (This means, whenever a new datastore is introduced, the question
> >   whether NACM applies has to answered for the new datastore.)
> >
> > c) Once an implementation supports NACM, NACM applies to all current
> >   and future datastore unless explicitely stated or signaled that
> >   NACM does not apply to a certain future datastore.
> >
> >   (This is essentially b) but with a default that NACM applies =
unless
> >   things are explicitly regulated to be different.)
> >
> > I just thought it is worth to take a moment to think about this
> > question.
> >
> > /js
> >
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | =
Germany
> > Fax:   +49 421 200 3103         <http://www.jacobs-university.de/ =
<http://www.jacobs-university.de/>>
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org <mailto:Netconf@ietf.org>
> > https://www.ietf.org/mailman/listinfo/netconf =
<https://www.ietf.org/mailman/listinfo/netconf>
>=20
> Mahesh Jethanandani
> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>=20
>=20
>=20
>=20

Mahesh Jethanandani
mjethanandani@gmail.com


--Apple-Mail=_0957F107-7C88-45AD-B3DC-67A231BDAAC9
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D"">Andy,<div class=3D""><br class=3D""><div><blockquote =
type=3D"cite" class=3D""><div class=3D"">On May 16, 2017, at 2:32 PM, =
Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" =
class=3D"">andy@yumaworks.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" =
class=3D""><br class=3D""><div class=3D"gmail_extra"><br class=3D""><div =
class=3D"gmail_quote">On Tue, May 16, 2017 at 2:02 PM, Mahesh =
Jethanandani <span dir=3D"ltr" class=3D"">&lt;<a =
href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank" =
class=3D"">mjethanandani@gmail.com</a>&gt;</span> wrote:<br =
class=3D""><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">Having reviewed all =
the e-mails, I believe that there are few issues that need to be =
resolved before we send the draft for publication. We need to agree on =
the language, even if we do have the exact text in the draft.<br =
class=3D"">
<br class=3D"">
To begin with, do the authors have a response to the suggestions from =
Juergen prompted by the question from Alex? Are we leaving the NACM =
definition of any future datastores to the datastore draft, or are we =
saying NACM applies to all datastores?<br class=3D"">
<br class=3D""></blockquote><div class=3D""><br class=3D""></div><div =
class=3D"">No. IMO the text should say NACM applies to NETCONF and =
RESTCONF</div><div class=3D"">with the existing datastores.</div><div =
class=3D""><br class=3D""></div><div class=3D"">NACM MAY be applied to =
other datastores that have similar operation sets.</div><div =
class=3D"">Any new datastore specification needs to define how it maps =
to the NACM CRUDX</div><div class=3D"">model.&nbsp; The datastore does =
not need to use NACM (e.g., datastore defines something else</div><div =
class=3D"">or does not use access =
control).</div></div></div></div></div></blockquote><div><br =
class=3D""></div>Can you update the draft with this text.</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div =
class=3D"gmail_quote"><div class=3D""><br class=3D""></div><div =
class=3D""><br class=3D""></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
To the point that Andy raised earlier, we need to have texts around =
datastores that provide more than CRUDX capabilities, including any =
protocol operations, e.g. priority, as something that is out of scope of =
this document.<br class=3D"">
<br class=3D""></blockquote><div class=3D""><br class=3D""></div><div =
class=3D"">This would be outside the scope of NACM.</div><div =
class=3D"">This is part of the RPC input =
validation.</div></div></div></div></div></blockquote><div><br =
class=3D""></div>And clarify that operations outside of CRUDX are =
outside the scope of NACM. We can them move the document towards =
publication.</div><div><br class=3D""></div><div>Thanks.</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div =
class=3D"gmail_quote"><div class=3D""><br class=3D""></div><div =
class=3D"">&nbsp;</div><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
NETCONF WG has moved to redefine its charter beyond NETCONF and =
RESTCONF. Therefore there is a real possibility of another protocol =
being discussed in the WG. Is there something in the NACM draft that =
restricts it to NETCONF/RESTCONF that other protocols cannot adopt? If =
so, can they be called out?<br class=3D""></blockquote><div class=3D""><br=
 class=3D""></div><div class=3D"">If NACM needs to be changed in the =
future because a new or existing protocol needs new features</div><div =
class=3D"">then the WG will have to deal with it then.</div><div =
class=3D""><br class=3D""></div><div class=3D"">&nbsp;</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
<br class=3D"">
Thanks.<br class=3D"">
<br class=3D""></blockquote><div class=3D""><br class=3D""></div><div =
class=3D"">Andy</div><div class=3D"">&nbsp;</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
&gt; On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder &lt;<a =
href=3D"mailto:j.schoenwaelder@jacobs-university.de" =
class=3D"">j.schoenwaelder@jacobs-<wbr class=3D"">university.de</a>&gt; =
wrote:<br class=3D"">
&gt;<br class=3D"">
&gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund =
wrote:<br class=3D"">
&gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" =
class=3D"">andy@yumaworks.com</a>&gt; wrote:<br class=3D"">
&gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm &lt;<a =
href=3D"mailto:alexander.clemm@huawei.com" =
class=3D"">alexander.clemm@huawei.com</a><br class=3D"">
&gt;&gt;&gt;&gt; wrote:<br class=3D"">
&gt;&gt;&gt;<br class=3D"">
&gt;&gt;&gt;&gt; As mentioned in my message, I don=E2=80=99t think =
specific access control will be<br class=3D"">
&gt;&gt;&gt;&gt; needed (I am not aware of specific use cases), but =
specifically with the<br class=3D"">
&gt;&gt;&gt;&gt; revised datastore architecture about to the be =
introduced, its impact or<br class=3D"">
&gt;&gt;&gt;&gt; nonimpact and interrelation with NACM should be =
discussed.&nbsp; This can be as<br class=3D"">
&gt;&gt;&gt;&gt; simple as a small paragraph or subsection =E2=80=9CRevise=
d Datastore<br class=3D"">
&gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br class=3D"">
&gt;&gt;&gt;&gt;<br class=3D"">
&gt;&gt;&gt;&gt;<br class=3D"">
&gt;&gt;&gt;&gt;<br class=3D"">
&gt;&gt;&gt;<br class=3D"">
&gt;&gt;&gt; there is no text about candidate vs. running vs. =
startup.<br class=3D"">
&gt;&gt;&gt; The NACM rules apply to all of them the same.<br class=3D"">
&gt;&gt;&gt; I could add text that says there is no consideration for =
specific<br class=3D"">
&gt;&gt;&gt; datastores.<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt; Actually, the document already says:<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt; 3.2.&nbsp; Datastore Access<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt;&nbsp; &nbsp;The same access control rules apply to all =
datastores, for example,<br class=3D"">
&gt;&gt;&nbsp; &nbsp;the candidate configuration datastore or the =
running configuration<br class=3D"">
&gt;&gt;&nbsp; &nbsp;datastore.<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt;&nbsp; &nbsp;Only the standard NETCONF datastores (candidate, =
running, and<br class=3D"">
&gt;&gt;&nbsp; &nbsp;startup) are controlled by NACM.<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;&gt; Somehow this needs to be updated when the revised datastore =
work is<br class=3D"">
&gt;&gt; done.&nbsp; E.g., I expect read access to intended to follow =
the same NACM<br class=3D"">
&gt;&gt; rules.<br class=3D"">
&gt;&gt;<br class=3D"">
&gt;<br class=3D"">
&gt; Yes. NACM likely also applies to the &lt;operational/&gt; datastore =
(but<br class=3D"">
&gt; this follows already from the text that talks about 'state =
data').<br class=3D"">
&gt;<br class=3D"">
&gt; My question, however, was about other future yet to be defined<br =
class=3D"">
&gt; 'dynamic' datastores - does NACM make a statement of the form 'once =
an<br class=3D"">
&gt; implementation announces NACM, NACM applies to all datastores - =
no<br class=3D"">
&gt; exceptions' or do we leave it to the definition of future =
datastores<br class=3D"">
&gt; to declare whether NACM applies to it. There may be three =
possible<br class=3D"">
&gt; solutions:<br class=3D"">
&gt;<br class=3D"">
&gt; a) Once an implementation supports NACM, NACM applies to all<br =
class=3D"">
&gt;&nbsp; &nbsp;datastores (including any datastores defined in the =
future).<br class=3D"">
&gt;<br class=3D"">
&gt; b) Once an implementation supports NACM, NACM applies to all<br =
class=3D"">
&gt;&nbsp; &nbsp;conventional datastores and the operational state =
datastore.&nbsp; Other<br class=3D"">
&gt;&nbsp; &nbsp;datastores must define whether NACM applies to them.<br =
class=3D"">
&gt;<br class=3D"">
&gt;&nbsp; &nbsp;(This means, whenever a new datastore is introduced, =
the question<br class=3D"">
&gt;&nbsp; &nbsp;whether NACM applies has to answered for the new =
datastore.)<br class=3D"">
&gt;<br class=3D"">
&gt; c) Once an implementation supports NACM, NACM applies to all =
current<br class=3D"">
&gt;&nbsp; &nbsp;and future datastore unless explicitely stated or =
signaled that<br class=3D"">
&gt;&nbsp; &nbsp;NACM does not apply to a certain future datastore.<br =
class=3D"">
&gt;<br class=3D"">
&gt;&nbsp; &nbsp;(This is essentially b) but with a default that NACM =
applies unless<br class=3D"">
&gt;&nbsp; &nbsp;things are explicitly regulated to be different.)<br =
class=3D"">
&gt;<br class=3D"">
&gt; I just thought it is worth to take a moment to think about this<br =
class=3D"">
&gt; question.<br class=3D"">
&gt;<br class=3D"">
&gt; /js<br class=3D"">
&gt;<br class=3D"">
&gt; --<br class=3D"">
&gt; Juergen Schoenwaelder&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;Jacobs University Bremen gGmbH<br class=3D"">
&gt; Phone: +49 421 200 3587&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Campus =
Ring 1 | 28759 Bremen | Germany<br class=3D"">
&gt; Fax:&nbsp; &nbsp;+49 421 200 3103&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;<a href=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" =
target=3D"_blank" class=3D"">http://www.jacobs-university.<wbr =
class=3D"">de/</a>&gt;<br class=3D"">
&gt;<br class=3D"">
&gt; ______________________________<wbr class=3D"">_________________<br =
class=3D"">
&gt; Netconf mailing list<br class=3D"">
&gt; <a href=3D"mailto:Netconf@ietf.org" =
class=3D"">Netconf@ietf.org</a><br class=3D"">
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf" =
rel=3D"noreferrer" target=3D"_blank" =
class=3D"">https://www.ietf.org/mailman/<wbr =
class=3D"">listinfo/netconf</a><br class=3D"">
<span class=3D"HOEnZb"><font color=3D"#888888" class=3D""><br class=3D"">
Mahesh Jethanandani<br class=3D"">
<a href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a><br class=3D"">
<br class=3D"">
<br class=3D"">
<br class=3D"">
</font></span></blockquote></div><br class=3D""></div></div>
</div></blockquote></div><br class=3D""><div class=3D"">
<div class=3D"">Mahesh Jethanandani</div><div class=3D""><a =
href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a></div>

</div>
<br class=3D""></div></body></html>=

--Apple-Mail=_0957F107-7C88-45AD-B3DC-67A231BDAAC9--


From nobody Mon May 22 10:33:17 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 258C31200ED for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 10:33:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yrWV29wRAg7R for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 10:33:14 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EF53212EB31 for <netconf@ietf.org>; Mon, 22 May 2017 10:27:39 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNO25902; Mon, 22 May 2017 17:27:38 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.301.0; Mon, 22 May 2017 18:27:37 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Mon, 22 May 2017 10:27:34 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThA=
Date: Mon, 22 May 2017 17:27:33 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <20170518.084938.2164174821851630928.mbj@tail-f.com>
In-Reply-To: <20170518.084938.2164174821851630928.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.117]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020201.59231F8A.00FE, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 25bfcf1ca944722db31fa77b3fd049f5
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Zoa9mnuAKNFhKasHe49kR98R9hM>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 May 2017 17:33:16 -0000

Hi Martin,

Almost overlooked your question below.  What is meant by the filter is spec=
ified in section 3.5 of the YANG-Push document. =20

"Only a single filter can be applied to a subscription at a time.  The  fol=
lowing filter types are included in the yang-push data model: [subtree] [xp=
ath]"

In effect, the filter specifies which data nodes to consider when sending u=
pdates. =20

---Alex


-----Original Message-----
From: Martin Bjorklund [mailto:mbj@tail-f.com]=20
Sent: Wednesday, May 17, 2017 11:50 PM
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: netconf@ietf.org
Subject: Re: [Netconf] In an update, when is a delete a delete?

Hi,

Alexander Clemm <alexander.clemm@huawei.com> wrote:
> Hello all,
>=20
> In updating the YANG-Push document (draft-ietf-netconf-yang-push), we=20
> have come across one issue that we wanted to raise with the working=20
> group.
>=20
> As part of an on-change subscription, update records reflect the type=20
> of change (e.g. whether the value of an object has changed, or whether=20
> an object was created or deleted); a subscription allows also to=20
> specify whether interested only in specific types of changes (for=20
> example, only creates and deleted but no value changes).
>=20
> At the same time, a subscription filter specifies which objects to=20
> include as part of a subscription and which not.

Hmm, which filter are you talking about?  The only XPath filter I find in t=
he current set of documents is the "ietf-subscribed-notifications:xpath" fi=
lter type (which btw is sorely underspecified).  Section 2.2 of
draft-ietf-netconf-subscribed-notifications-02 says:

   Events which evaluate to "true" as a
   result of the evaluation by the filter must traverse the filter in
   their entirety.

It's not clear what this means, but my guess is that this is supposed to wo=
rk like the old RFC 5277 filters, where the filter expression is evaluated =
on the notification contents, and if the expression returns "true" (for XPa=
th filters this means converting the results to a boolean), then the notifi=
cation is sent, otherwise not.

But it seems you are referring to some other filter which would be used to =
select a node set for which changes are reported?

I would like to understand which filter mechanism you mean before having an=
 opinion in this matter.


/martin




> (Really, it is not
> so much of a "filter" on a stream that is generated independently of=20
> the filter, than it is a policy of which objects to include as part of=20
> subscribed update records.)  However, a subscription filter (such as
> XPath) can be used to also specify a value filter, which will include=20
> or exclude objects based on their current value. This makes it=20
> possible to e.g. subscribe to an object "foo" but only if its value is=20
> 5.
>=20
> Now, this means that the same object could be included in one update,=20
> but excluded in another update, due to its value no longer meeting the=20
> filter criteria.  For example, if foo's value changes from 5 to 3 in=20
> one cycle, a periodic subscription will no longer include foo in its=20
> next update.  The question now concerns how to properly handle this in=20
> the case of an on-change subscription.
>=20
> One possibility concerns reporting the fact that "foo" no longer meets=20
> the subscription criteria and is no longer included in the update=20
> record as a "delete" event.  If foo's value again becomes "5" at a=20
> later point in time, that would be reported as a "create" event.  If=20
> foo's value changes again from 5 at a later point in time and then=20
> changes back to 3 before the time of the update (perhaps because the=20
> value changed during the dampening interval), it would be reported as=20
> another "delete" event (without ever reporting a create event).  On=20
> the other hand, if foo's value changed from 3 to 6 and back again,=20
> nothing would be reported because it did not meet the filter criteria=20
> at any point in time.
>=20
> >From the perspective of the receiver this may make sense if it is=20
> >synching its copy of the state.  However, from the perspective of the=20
> >publisher, the object was never created or deleted - only its value=20
> >changed, and the case when the object was truly created or deleted=20
> >can no longer be distinguished from the case when its value changed. =20
> >A "create" simply means "an object now meets a filter criteria, that=20
> >was not reported in the previous cycle" (which does not mean that the=20
> >object was actually created - it may have been created, or it may=20
> >have simply undergone a value change).
>=20
> An alternative (let's call it alternative 2) is therefore to make a=20
> distinction between whether an object was created or deleted, or=20
> whether its value fell in or out of a filter range.  This appears=20
> semantically cleaner.  However, it will require modifying the encoding=20
> to allow for distinction between those cases (currently, just plain=20
> patch encoding is used).
>=20
> A third alternative is to let filters select only data nodes to=20
> subscribe to, and separate out the value filter (or disallow it as a=20
> feature altogether).  This alternative has the drawback of being less=20
> conceptually powerful, even if it may be easier to implement.
>=20
> Thoughts?  Any preferences between 1, 2, and 3?
> --- Alex
>=20


From nobody Mon May 22 12:29:53 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 42679128954 for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 12:29:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p_zXLyp-HalB for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 12:29:49 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 1E0EA120454 for <netconf@ietf.org>; Mon, 22 May 2017 12:29:49 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id AE80A1AE0336; Mon, 22 May 2017 21:29:46 +0200 (CEST)
Date: Mon, 22 May 2017 21:29:46 +0200 (CEST)
Message-Id: <20170522.212946.153811938714116755.mbj@tail-f.com>
To: alexander.clemm@huawei.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <20170518.084938.2164174821851630928.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/j38-9zP76mFjIjRcetHp_VVIfzs>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 May 2017 19:29:51 -0000

Alexander Clemm <alexander.clemm@huawei.com> wrote:
> Hi Martin,
> 
> Almost overlooked your question below.  What is meant by the filter is
> specified in section 3.5 of the YANG-Push document.
> 
> "Only a single filter can be applied to a subscription at a time.  The
> following filter types are included in the yang-push data model:
> [subtree] [xpath]"

Actually, only "subtree" is defined in yang-push, "xpath" is defined
in subscribed-notifications.  [Side note - I think this is wrong,
subscribed-notifications should also define "subtree".]

But these filters are used by the server to decide if a certain
notification that has been generated will be sent to the client or
not. 

If you want to define filters to specifify which nodes to
subscribe to, I think you need to define new filters, not try to
reuese these notification filters.

As for your question, I think such a filter should be defined to
return a node-set to which the client subscribe to changes.  If any
node (or subnode to) in this node-set changes, the notif will be
sent.  Then the question about value comparision is not relevant
anymore.


/martin





> 
> In effect, the filter specifies which data nodes to consider when
> sending updates.
> 
> ---Alex
> 
> 
> -----Original Message-----
> From: Martin Bjorklund [mailto:mbj@tail-f.com] 
> Sent: Wednesday, May 17, 2017 11:50 PM
> To: Alexander Clemm <alexander.clemm@huawei.com>
> Cc: netconf@ietf.org
> Subject: Re: [Netconf] In an update, when is a delete a delete?
> 
> Hi,
> 
> Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > Hello all,
> > 
> > In updating the YANG-Push document (draft-ietf-netconf-yang-push), we 
> > have come across one issue that we wanted to raise with the working 
> > group.
> > 
> > As part of an on-change subscription, update records reflect the type 
> > of change (e.g. whether the value of an object has changed, or whether
> > an object was created or deleted); a subscription allows also to 
> > specify whether interested only in specific types of changes (for 
> > example, only creates and deleted but no value changes).
> > 
> > At the same time, a subscription filter specifies which objects to 
> > include as part of a subscription and which not.
> 
> Hmm, which filter are you talking about?  The only XPath filter I find
> in the current set of documents is the
> "ietf-subscribed-notifications:xpath" filter type (which btw is sorely
> underspecified).  Section 2.2 of
> draft-ietf-netconf-subscribed-notifications-02 says:
> 
>    Events which evaluate to "true" as a
>    result of the evaluation by the filter must traverse the filter in
>    their entirety.
> 
> It's not clear what this means, but my guess is that this is supposed
> to work like the old RFC 5277 filters, where the filter expression is
> evaluated on the notification contents, and if the expression returns
> "true" (for XPath filters this means converting the results to a
> boolean), then the notification is sent, otherwise not.
> 
> But it seems you are referring to some other filter which would be
> used to select a node set for which changes are reported?
> 
> I would like to understand which filter mechanism you mean before
> having an opinion in this matter.
> 
> 
> /martin
> 
> 
> 
> 
> > (Really, it is not
> > so much of a "filter" on a stream that is generated independently of 
> > the filter, than it is a policy of which objects to include as part of
> > subscribed update records.)  However, a subscription filter (such as
> > XPath) can be used to also specify a value filter, which will include 
> > or exclude objects based on their current value. This makes it 
> > possible to e.g. subscribe to an object "foo" but only if its value is
> > 5.
> > 
> > Now, this means that the same object could be included in one update, 
> > but excluded in another update, due to its value no longer meeting the
> > filter criteria.  For example, if foo's value changes from 5 to 3 in 
> > one cycle, a periodic subscription will no longer include foo in its 
> > next update.  The question now concerns how to properly handle this in
> > the case of an on-change subscription.
> > 
> > One possibility concerns reporting the fact that "foo" no longer meets
> > the subscription criteria and is no longer included in the update 
> > record as a "delete" event.  If foo's value again becomes "5" at a 
> > later point in time, that would be reported as a "create" event.  If 
> > foo's value changes again from 5 at a later point in time and then 
> > changes back to 3 before the time of the update (perhaps because the 
> > value changed during the dampening interval), it would be reported as 
> > another "delete" event (without ever reporting a create event).  On 
> > the other hand, if foo's value changed from 3 to 6 and back again, 
> > nothing would be reported because it did not meet the filter criteria 
> > at any point in time.
> > 
> > >From the perspective of the receiver this may make sense if it is 
> > >synching its copy of the state.  However, from the perspective of the 
> > >publisher, the object was never created or deleted - only its value 
> > >changed, and the case when the object was truly created or deleted 
> > >can no longer be distinguished from the case when its value changed.  
> > >A "create" simply means "an object now meets a filter criteria, that 
> > >was not reported in the previous cycle" (which does not mean that the 
> > >object was actually created - it may have been created, or it may 
> > >have simply undergone a value change).
> > 
> > An alternative (let's call it alternative 2) is therefore to make a 
> > distinction between whether an object was created or deleted, or 
> > whether its value fell in or out of a filter range.  This appears 
> > semantically cleaner.  However, it will require modifying the encoding
> > to allow for distinction between those cases (currently, just plain 
> > patch encoding is used).
> > 
> > A third alternative is to let filters select only data nodes to 
> > subscribe to, and separate out the value filter (or disallow it as a 
> > feature altogether).  This alternative has the drawback of being less 
> > conceptually powerful, even if it may be easier to implement.
> > 
> > Thoughts?  Any preferences between 1, 2, and 3?
> > --- Alex
> > 
> 


From nobody Mon May 22 19:29:37 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BDC21294A1 for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 19:29:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IH4gXvCXXF_p for <netconf@ietfa.amsl.com>; Mon, 22 May 2017 19:29:35 -0700 (PDT)
Received: from mail-wr0-x22c.google.com (mail-wr0-x22c.google.com [IPv6:2a00:1450:400c:c0c::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A06821270B4 for <netconf@ietf.org>; Mon, 22 May 2017 19:29:34 -0700 (PDT)
Received: by mail-wr0-x22c.google.com with SMTP id l50so48239365wrc.3 for <netconf@ietf.org>; Mon, 22 May 2017 19:29:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nL/AtjT499aFTBB3sPreChGHxrvexFs5FIAh62axP7A=; b=Y8Ef5UU+q1EW212pIur4F8aApnKA4Tzn0J5dQKVgL+93r8/8FUgT9sQdalx2GyNwpH J1BKA8SxZB5pVi07KFzaensKLb673p9vId9tZKdVF3SKx038UeRNs5FaPVJW6Ld59kO8 vukx6DRWgPDrg1koFadVzJ2YL9AdthDW1YBGrFOW/vcpQNVskpUR0oXNpaMmBtHjjcEf CNsuVPD0MPiyKppFDhPKIPf784j4WecjLC5UWIrB9PbzE63T7OpmBHdr0V6PQpkr52eJ RO6uw0iMmbue9xsMRDH3IcWgxO5sQI2oZKgFtRxKj9GohcnKiUGZJRL2qmtu8LIEVH0O pQMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nL/AtjT499aFTBB3sPreChGHxrvexFs5FIAh62axP7A=; b=tVbkKSS97YGc+Ek0HFGLewGX8MGIPHoMb16H05TSrNAMN2JYPKHK1ToFH4bnjwXskf vNkJkb5NatBKI8aUrTW/l++2t+tiG7FdPdymSGbqYxNMH8fpPv0g9JDM4TogHf9rts1r Z/cpPaI9vmWq18ZQIluCGtaV29sye12mXjXcARMiehQzl3qbX22DLvQGswkEpyyHlFqH b/3zfBJG/2sxo6iAHp6jGeoFXxgL5Tj2pN/BcMy3RfExApHOwhNnwniIdyK/O5oXAuRK gw70DbyKreCpG8EvNaHci7PH394I1G+d8HeoIbupEzrPe4Dr/klSzbdwE6FEE97jQmOk cujg==
X-Gm-Message-State: AODbwcCqQ1nA0we2WH196Qt4wpDl7+h8pZzhfc8jkZU5p9WqjLQiWJ+q VnWDsEx1UKGPDcUaHW/K6sgogCSsaAN+
X-Received: by 10.223.161.70 with SMTP id r6mr12896345wrr.65.1495506573169; Mon, 22 May 2017 19:29:33 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Mon, 22 May 2017 19:29:32 -0700 (PDT)
In-Reply-To: <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com>
References: <CABCOCHT9fNKHn=qgFsQ0mznByArCpqsAz4m4jjjPE7M243UjeA@mail.gmail.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DF9584C@SJCEML701-CHM.china.huawei.com> <CABCOCHRgaTpxXJ0nOgbHx4Hbz6FgfTahN3T2OedfC6gnbnAN0A@mail.gmail.com> <20170509.145030.58029732242199759.mbj@tail-f.com> <20170510064608.GA14838@elstar.local> <04623446-36C5-4ABE-81C3-9E6B1F0BC39A@gmail.com> <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com> <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 22 May 2017 19:29:32 -0700
Message-ID: <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Martin Bjorklund <mbj@tail-f.com>,  Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="f403045e274a0dbac9055027c225"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/Cga_dpZn-7GVft8Q6DLzhjx9Z8s>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 02:29:37 -0000

--f403045e274a0dbac9055027c225
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

The update is on github.
http://github.com/netconf-wg/rfc6536bis

I would like Martin to look it over before it is posted.


Andy


On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <
mjethanandani@gmail.com> wrote:

> Andy,
>
> On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
> On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
> mjethanandani@gmail.com> wrote:
>
>> Having reviewed all the e-mails, I believe that there are few issues tha=
t
>> need to be resolved before we send the draft for publication. We need to
>> agree on the language, even if we do have the exact text in the draft.
>>
>> To begin with, do the authors have a response to the suggestions from
>> Juergen prompted by the question from Alex? Are we leaving the NACM
>> definition of any future datastores to the datastore draft, or are we
>> saying NACM applies to all datastores?
>>
>>
> No. IMO the text should say NACM applies to NETCONF and RESTCONF
> with the existing datastores.
>
> NACM MAY be applied to other datastores that have similar operation sets.
> Any new datastore specification needs to define how it maps to the NACM
> CRUDX
> model.  The datastore does not need to use NACM (e.g., datastore defines
> something else
> or does not use access control).
>
>
> Can you update the draft with this text.
>
>
>
> To the point that Andy raised earlier, we need to have texts around
>> datastores that provide more than CRUDX capabilities, including any
>> protocol operations, e.g. priority, as something that is out of scope of
>> this document.
>>
>>
> This would be outside the scope of NACM.
> This is part of the RPC input validation.
>
>
> And clarify that operations outside of CRUDX are outside the scope of
> NACM. We can them move the document towards publication.
>
> Thanks.
>
>
>
>
>> NETCONF WG has moved to redefine its charter beyond NETCONF and RESTCONF=
.
>> Therefore there is a real possibility of another protocol being discusse=
d
>> in the WG. Is there something in the NACM draft that restricts it to
>> NETCONF/RESTCONF that other protocols cannot adopt? If so, can they be
>> called out?
>>
>
> If NACM needs to be changed in the future because a new or existing
> protocol needs new features
> then the WG will have to deal with it then.
>
>
>
>>
>> Thanks.
>>
>>
> Andy
>
>
>> > On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
>> j.schoenwaelder@jacobs-university.de> wrote:
>> >
>> > On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
>> >> Andy Bierman <andy@yumaworks.com> wrote:
>> >>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
>> alexander.clemm@huawei.com
>> >>>> wrote:
>> >>>
>> >>>> As mentioned in my message, I don=E2=80=99t think specific access c=
ontrol
>> will be
>> >>>> needed (I am not aware of specific use cases), but specifically wit=
h
>> the
>> >>>> revised datastore architecture about to the be introduced, its
>> impact or
>> >>>> nonimpact and interrelation with NACM should be discussed.  This ca=
n
>> be as
>> >>>> simple as a small paragraph or subsection =E2=80=9CRevised Datastor=
e
>> >>>> Considerations=E2=80=9D.
>> >>>>
>> >>>>
>> >>>>
>> >>>
>> >>> there is no text about candidate vs. running vs. startup.
>> >>> The NACM rules apply to all of them the same.
>> >>> I could add text that says there is no consideration for specific
>> >>> datastores.
>> >>
>> >> Actually, the document already says:
>> >>
>> >> 3.2.  Datastore Access
>> >>
>> >>   The same access control rules apply to all datastores, for example,
>> >>   the candidate configuration datastore or the running configuration
>> >>   datastore.
>> >>
>> >>   Only the standard NETCONF datastores (candidate, running, and
>> >>   startup) are controlled by NACM.
>> >>
>> >>
>> >> Somehow this needs to be updated when the revised datastore work is
>> >> done.  E.g., I expect read access to intended to follow the same NACM
>> >> rules.
>> >>
>> >
>> > Yes. NACM likely also applies to the <operational/> datastore (but
>> > this follows already from the text that talks about 'state data').
>> >
>> > My question, however, was about other future yet to be defined
>> > 'dynamic' datastores - does NACM make a statement of the form 'once an
>> > implementation announces NACM, NACM applies to all datastores - no
>> > exceptions' or do we leave it to the definition of future datastores
>> > to declare whether NACM applies to it. There may be three possible
>> > solutions:
>> >
>> > a) Once an implementation supports NACM, NACM applies to all
>> >   datastores (including any datastores defined in the future).
>> >
>> > b) Once an implementation supports NACM, NACM applies to all
>> >   conventional datastores and the operational state datastore.  Other
>> >   datastores must define whether NACM applies to them.
>> >
>> >   (This means, whenever a new datastore is introduced, the question
>> >   whether NACM applies has to answered for the new datastore.)
>> >
>> > c) Once an implementation supports NACM, NACM applies to all current
>> >   and future datastore unless explicitely stated or signaled that
>> >   NACM does not apply to a certain future datastore.
>> >
>> >   (This is essentially b) but with a default that NACM applies unless
>> >   things are explicitly regulated to be different.)
>> >
>> > I just thought it is worth to take a moment to think about this
>> > question.
>> >
>> > /js
>> >
>> > --
>> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>> > Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>> >
>> > _______________________________________________
>> > Netconf mailing list
>> > Netconf@ietf.org
>> > https://www.ietf.org/mailman/listinfo/netconf
>>
>> Mahesh Jethanandani
>> mjethanandani@gmail.com
>>
>>
>>
>>
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>

--f403045e274a0dbac9055027c225
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>The update is on github.</div><div>=
<a href=3D"http://github.com/netconf-wg/rfc6536bis">http://github.com/netco=
nf-wg/rfc6536bis</a></div><div><br></div><div>I would like Martin to look i=
t over before it is posted.</div><div><br></div><div><br></div><div>Andy</d=
iv><div><br></div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_=
quote">On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <span dir=3D"l=
tr">&lt;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjetha=
nandani@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote=
" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><=
div style=3D"word-wrap:break-word">Andy,<div><br><div><blockquote type=3D"c=
ite"><div>On May 16, 2017, at 2:32 PM, Andy Bierman &lt;<a href=3D"mailto:a=
ndy@yumaworks.com" target=3D"_blank">andy@yumaworks.com</a>&gt; wrote:</div=
><br class=3D"m_-7619596846678059727Apple-interchange-newline"><div><div di=
r=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On =
Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <span dir=3D"ltr">&lt;<a =
href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani@gma=
il.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Having revie=
wed all the e-mails, I believe that there are few issues that need to be re=
solved before we send the draft for publication. We need to agree on the la=
nguage, even if we do have the exact text in the draft.<br>
<br>
To begin with, do the authors have a response to the suggestions from Juerg=
en prompted by the question from Alex? Are we leaving the NACM definition o=
f any future datastores to the datastore draft, or are we saying NACM appli=
es to all datastores?<br>
<br></blockquote><div><br></div><div>No. IMO the text should say NACM appli=
es to NETCONF and RESTCONF</div><div>with the existing datastores.</div><di=
v><br></div><div>NACM MAY be applied to other datastores that have similar =
operation sets.</div><div>Any new datastore specification needs to define h=
ow it maps to the NACM CRUDX</div><div>model.=C2=A0 The datastore does not =
need to use NACM (e.g., datastore defines something else</div><div>or does =
not use access control).</div></div></div></div></div></blockquote><div><br=
></div>Can you update the draft with this text.</div><div><br><blockquote t=
ype=3D"cite"><div><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D=
"gmail_quote"><div><br></div><div><br></div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
To the point that Andy raised earlier, we need to have texts around datasto=
res that provide more than CRUDX capabilities, including any protocol opera=
tions, e.g. priority, as something that is out of scope of this document.<b=
r>
<br></blockquote><div><br></div><div>This would be outside the scope of NAC=
M.</div><div>This is part of the RPC input validation.</div></div></div></d=
iv></div></blockquote><div><br></div>And clarify that operations outside of=
 CRUDX are outside the scope of NACM. We can them move the document towards=
 publication.</div><div><br></div><div>Thanks.</div><div><br><blockquote ty=
pe=3D"cite"><div><div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"=
gmail_quote"><div><br></div><div>=C2=A0</div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
>
NETCONF WG has moved to redefine its charter beyond NETCONF and RESTCONF. T=
herefore there is a real possibility of another protocol being discussed in=
 the WG. Is there something in the NACM draft that restricts it to NETCONF/=
RESTCONF that other protocols cannot adopt? If so, can they be called out?<=
br></blockquote><div><br></div><div>If NACM needs to be changed in the futu=
re because a new or existing protocol needs new features</div><div>then the=
 WG will have to deal with it then.</div><div><br></div><div>=C2=A0</div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">
<br>
Thanks.<br>
<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex">
&gt; On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder &lt;<a href=3D"mail=
to:j.schoenwaelder@jacobs-university.de" target=3D"_blank">j.schoenwaelder@=
jacobs-univer<wbr>sity.de</a>&gt; wrote:<br>
&gt;<br>
&gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:<br>
&gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_=
blank">andy@yumaworks.com</a>&gt; wrote:<br>
&gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm &lt;<a href=
=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexander.clemm@hu=
awei.com</a><br>
&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; As mentioned in my message, I don=E2=80=99t think specific=
 access control will be<br>
&gt;&gt;&gt;&gt; needed (I am not aware of specific use cases), but specifi=
cally with the<br>
&gt;&gt;&gt;&gt; revised datastore architecture about to the be introduced,=
 its impact or<br>
&gt;&gt;&gt;&gt; nonimpact and interrelation with NACM should be discussed.=
=C2=A0 This can be as<br>
&gt;&gt;&gt;&gt; simple as a small paragraph or subsection =E2=80=9CRevised=
 Datastore<br>
&gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; there is no text about candidate vs. running vs. startup.<br>
&gt;&gt;&gt; The NACM rules apply to all of them the same.<br>
&gt;&gt;&gt; I could add text that says there is no consideration for speci=
fic<br>
&gt;&gt;&gt; datastores.<br>
&gt;&gt;<br>
&gt;&gt; Actually, the document already says:<br>
&gt;&gt;<br>
&gt;&gt; 3.2.=C2=A0 Datastore Access<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 =C2=A0The same access control rules apply to all datastores,=
 for example,<br>
&gt;&gt;=C2=A0 =C2=A0the candidate configuration datastore or the running c=
onfiguration<br>
&gt;&gt;=C2=A0 =C2=A0datastore.<br>
&gt;&gt;<br>
&gt;&gt;=C2=A0 =C2=A0Only the standard NETCONF datastores (candidate, runni=
ng, and<br>
&gt;&gt;=C2=A0 =C2=A0startup) are controlled by NACM.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Somehow this needs to be updated when the revised datastore work i=
s<br>
&gt;&gt; done.=C2=A0 E.g., I expect read access to intended to follow the s=
ame NACM<br>
&gt;&gt; rules.<br>
&gt;&gt;<br>
&gt;<br>
&gt; Yes. NACM likely also applies to the &lt;operational/&gt; datastore (b=
ut<br>
&gt; this follows already from the text that talks about &#39;state data&#3=
9;).<br>
&gt;<br>
&gt; My question, however, was about other future yet to be defined<br>
&gt; &#39;dynamic&#39; datastores - does NACM make a statement of the form =
&#39;once an<br>
&gt; implementation announces NACM, NACM applies to all datastores - no<br>
&gt; exceptions&#39; or do we leave it to the definition of future datastor=
es<br>
&gt; to declare whether NACM applies to it. There may be three possible<br>
&gt; solutions:<br>
&gt;<br>
&gt; a) Once an implementation supports NACM, NACM applies to all<br>
&gt;=C2=A0 =C2=A0datastores (including any datastores defined in the future=
).<br>
&gt;<br>
&gt; b) Once an implementation supports NACM, NACM applies to all<br>
&gt;=C2=A0 =C2=A0conventional datastores and the operational state datastor=
e.=C2=A0 Other<br>
&gt;=C2=A0 =C2=A0datastores must define whether NACM applies to them.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0(This means, whenever a new datastore is introduced, the q=
uestion<br>
&gt;=C2=A0 =C2=A0whether NACM applies has to answered for the new datastore=
.)<br>
&gt;<br>
&gt; c) Once an implementation supports NACM, NACM applies to all current<b=
r>
&gt;=C2=A0 =C2=A0and future datastore unless explicitely stated or signaled=
 that<br>
&gt;=C2=A0 =C2=A0NACM does not apply to a certain future datastore.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0(This is essentially b) but with a default that NACM appli=
es unless<br>
&gt;=C2=A0 =C2=A0things are explicitly regulated to be different.)<br>
&gt;<br>
&gt; I just thought it is worth to take a moment to think about this<br>
&gt; question.<br>
&gt;<br>
&gt; /js<br>
&gt;<br>
&gt; --<br>
&gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs U=
niversity Bremen gGmbH<br>
&gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1=
 | 28759 Bremen | Germany<br>
&gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt=
;<a href=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"=
_blank">http://www.jacobs-<wbr>university.de/</a>&gt;<br>
&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; Netconf mailing list<br>
&gt; <a href=3D"mailto:Netconf@ietf.org" target=3D"_blank">Netconf@ietf.org=
</a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noref=
errer" target=3D"_blank">https://www.ietf.org/mailman/l<wbr>istinfo/netconf=
</a><br>
<span class=3D"m_-7619596846678059727HOEnZb"><font color=3D"#888888"><br>
Mahesh Jethanandani<br>
<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanandani@=
gmail.com</a><br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div></div><span class=3D"HOEnZb"><fo=
nt color=3D"#888888">
</font></span></div></blockquote></div><span class=3D"HOEnZb"><font color=
=3D"#888888"><br><div>
<div>Mahesh Jethanandani</div><div><a href=3D"mailto:mjethanandani@gmail.co=
m" target=3D"_blank">mjethanandani@gmail.com</a></div>

</div>
<br></font></span></div></div></blockquote></div><br></div>

--f403045e274a0dbac9055027c225--


From nobody Tue May 23 00:15:11 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 57F42127601 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 00:15:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EGE1JEVEdofe for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 00:15:07 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 8576C126DCA for <netconf@ietf.org>; Tue, 23 May 2017 00:15:06 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 38F7C1AE0335; Tue, 23 May 2017 09:15:04 +0200 (CEST)
Date: Tue, 23 May 2017 09:15:19 +0200 (CEST)
Message-Id: <20170523.091519.1988324449434279102.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: mjethanandani@gmail.com, j.schoenwaelder@jacobs-university.de, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com>
References: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com> <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com> <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/fWkS2qTSIle1Opx6-vVG2KWUGr0>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 07:15:09 -0000

QW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+IHdyb3RlOg0KPiBIaSwNCj4gDQo+IFRo
ZSB1cGRhdGUgaXMgb24gZ2l0aHViLg0KPiBodHRwOi8vZ2l0aHViLmNvbS9uZXRjb25mLXdnL3Jm
YzY1MzZiaXMNCj4gDQo+IEkgd291bGQgbGlrZSBNYXJ0aW4gdG8gbG9vayBpdCBvdmVyIGJlZm9y
ZSBpdCBpcyBwb3N0ZWQuDQoNCkRvbmUsIGFuZCB0aGUgbmV3IHRleHQgbG9va3MgZ29vZC4gIEkg
bW92ZWQgdGhlIG5ldyBzdWJzZWN0aW9uIHRvIGJlDQp0aGUgZmlyc3QgaW4gMy4yLCBhbmQgSSBh
bHNvIGZpeGVkIHNvbWUgbWlub3IgdGVybWlub2xvZ3kgaXNzdWVzLg0KDQpCdXQsIEkgd29uZGVy
IGlmIHdlIHNob3VsZG4ndCBtYWtlIHRoZSBkb2N1bWVudCBldmVuIGxlc3MgTkVUQ09ORg0Kc3Bl
Y2lmaWMsIGFuZCBhbGlnbiB0aGUgdGVybWlub2xvZ3kgdG8gcmV2aXNlZC1kYXRhc3RvcmVzLiAg
Rm9yDQpleGFtcGxlLCBjdXJyZW50bHkgdGhlIGRvY3VtZW50IHRhbGtzIGFib3V0IGFjY2VzcyB0
byAiTkVUQ09ORg0KZGF0YXN0b3JlcyIuICAgV2l0aCB0aGUgbmV3IGxlc3MgcHJvdG9jb2wtc3Bl
Y2lmaWMgdGVybWlub2xvZ3kgdGhpcw0Kd291bGQgc2ltcGx5IGJlICJkYXRhc3RvcmUiLg0KDQpB
bHNvLCB3ZSBjdXJyZW50bHkgaGF2ZSB0aGlzOg0KDQogICBBIHN0YW5kYWxvbmUgUkVTVENPTkYg
c2VydmVyIChpLmUuLCBub3QgY28tbG9jYXRlZCB3aXRoIGEgTkVUQ09ORg0KICAgc2VydmVyKSBh
cHBsaWVzIE5BQ00gcnVsZXMgdG8gYSBjb25jZXB0dWFsIGRhdGFzdG9yZSwgc2luY2UNCiAgIGRh
dGFzdG9yZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gUkVTVENPTkYuDQoNCkkgZG9uJ3QgdGhpbmsg
dGhpcyBpcyBxdWl0ZSBjb3JyZWN0LiAgRXZlbiBpbiBhIHN0YW5kLWFsb25lIFJFU1RDT05GDQpz
ZXJ2ZXIgdGhlcmUgaXMgYW4gdW5kZXJseWluZyBjb25jZXB0dWFsIGRhdGFzdG9yZSwgZm9yIHdo
aWNoIE5BQ00gY2FuDQpiZSB1c2VkIHRvIGNvbnRyb2wgYWNjZXNzLiAgDQoNCg0KDQovbWFydGlu
DQoNCg0KPiANCj4gDQo+IEFuZHkNCj4gDQo+IA0KPiBPbiBTdW4sIE1heSAyMSwgMjAxNyBhdCAx
MDoyNSBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSA8DQo+IG1qZXRoYW5hbmRhbmlAZ21haWwuY29t
PiB3cm90ZToNCj4gDQo+ID4gQW5keSwNCj4gPg0KPiA+IE9uIE1heSAxNiwgMjAxNywgYXQgMjoz
MiBQTSwgQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+IHdyb3RlOg0KPiA+DQo+ID4N
Cj4gPg0KPiA+IE9uIFR1ZSwgTWF5IDE2LCAyMDE3IGF0IDI6MDIgUE0sIE1haGVzaCBKZXRoYW5h
bmRhbmkgPA0KPiA+IG1qZXRoYW5hbmRhbmlAZ21haWwuY29tPiB3cm90ZToNCj4gPg0KPiA+PiBI
YXZpbmcgcmV2aWV3ZWQgYWxsIHRoZSBlLW1haWxzLCBJIGJlbGlldmUgdGhhdCB0aGVyZSBhcmUg
ZmV3IGlzc3VlcyB0aGF0DQo+ID4+IG5lZWQgdG8gYmUgcmVzb2x2ZWQgYmVmb3JlIHdlIHNlbmQg
dGhlIGRyYWZ0IGZvciBwdWJsaWNhdGlvbi4gV2UgbmVlZCB0bw0KPiA+PiBhZ3JlZSBvbiB0aGUg
bGFuZ3VhZ2UsIGV2ZW4gaWYgd2UgZG8gaGF2ZSB0aGUgZXhhY3QgdGV4dCBpbiB0aGUgZHJhZnQu
DQo+ID4+DQo+ID4+IFRvIGJlZ2luIHdpdGgsIGRvIHRoZSBhdXRob3JzIGhhdmUgYSByZXNwb25z
ZSB0byB0aGUgc3VnZ2VzdGlvbnMgZnJvbQ0KPiA+PiBKdWVyZ2VuIHByb21wdGVkIGJ5IHRoZSBx
dWVzdGlvbiBmcm9tIEFsZXg/IEFyZSB3ZSBsZWF2aW5nIHRoZSBOQUNNDQo+ID4+IGRlZmluaXRp
b24gb2YgYW55IGZ1dHVyZSBkYXRhc3RvcmVzIHRvIHRoZSBkYXRhc3RvcmUgZHJhZnQsIG9yIGFy
ZSB3ZQ0KPiA+PiBzYXlpbmcgTkFDTSBhcHBsaWVzIHRvIGFsbCBkYXRhc3RvcmVzPw0KPiA+Pg0K
PiA+Pg0KPiA+IE5vLiBJTU8gdGhlIHRleHQgc2hvdWxkIHNheSBOQUNNIGFwcGxpZXMgdG8gTkVU
Q09ORiBhbmQgUkVTVENPTkYNCj4gPiB3aXRoIHRoZSBleGlzdGluZyBkYXRhc3RvcmVzLg0KPiA+
DQo+ID4gTkFDTSBNQVkgYmUgYXBwbGllZCB0byBvdGhlciBkYXRhc3RvcmVzIHRoYXQgaGF2ZSBz
aW1pbGFyIG9wZXJhdGlvbiBzZXRzLg0KPiA+IEFueSBuZXcgZGF0YXN0b3JlIHNwZWNpZmljYXRp
b24gbmVlZHMgdG8gZGVmaW5lIGhvdyBpdCBtYXBzIHRvIHRoZSBOQUNNDQo+ID4gQ1JVRFgNCj4g
PiBtb2RlbC4gIFRoZSBkYXRhc3RvcmUgZG9lcyBub3QgbmVlZCB0byB1c2UgTkFDTSAoZS5nLiwg
ZGF0YXN0b3JlIGRlZmluZXMNCj4gPiBzb21ldGhpbmcgZWxzZQ0KPiA+IG9yIGRvZXMgbm90IHVz
ZSBhY2Nlc3MgY29udHJvbCkuDQo+ID4NCj4gPg0KPiA+IENhbiB5b3UgdXBkYXRlIHRoZSBkcmFm
dCB3aXRoIHRoaXMgdGV4dC4NCj4gPg0KPiA+DQo+ID4NCj4gPiBUbyB0aGUgcG9pbnQgdGhhdCBB
bmR5IHJhaXNlZCBlYXJsaWVyLCB3ZSBuZWVkIHRvIGhhdmUgdGV4dHMgYXJvdW5kDQo+ID4+IGRh
dGFzdG9yZXMgdGhhdCBwcm92aWRlIG1vcmUgdGhhbiBDUlVEWCBjYXBhYmlsaXRpZXMsIGluY2x1
ZGluZyBhbnkNCj4gPj4gcHJvdG9jb2wgb3BlcmF0aW9ucywgZS5nLiBwcmlvcml0eSwgYXMgc29t
ZXRoaW5nIHRoYXQgaXMgb3V0IG9mIHNjb3BlIG9mDQo+ID4+IHRoaXMgZG9jdW1lbnQuDQo+ID4+
DQo+ID4+DQo+ID4gVGhpcyB3b3VsZCBiZSBvdXRzaWRlIHRoZSBzY29wZSBvZiBOQUNNLg0KPiA+
IFRoaXMgaXMgcGFydCBvZiB0aGUgUlBDIGlucHV0IHZhbGlkYXRpb24uDQo+ID4NCj4gPg0KPiA+
IEFuZCBjbGFyaWZ5IHRoYXQgb3BlcmF0aW9ucyBvdXRzaWRlIG9mIENSVURYIGFyZSBvdXRzaWRl
IHRoZSBzY29wZSBvZg0KPiA+IE5BQ00uIFdlIGNhbiB0aGVtIG1vdmUgdGhlIGRvY3VtZW50IHRv
d2FyZHMgcHVibGljYXRpb24uDQo+ID4NCj4gPiBUaGFua3MuDQo+ID4NCj4gPg0KPiA+DQo+ID4N
Cj4gPj4gTkVUQ09ORiBXRyBoYXMgbW92ZWQgdG8gcmVkZWZpbmUgaXRzIGNoYXJ0ZXIgYmV5b25k
IE5FVENPTkYgYW5kIFJFU1RDT05GLg0KPiA+PiBUaGVyZWZvcmUgdGhlcmUgaXMgYSByZWFsIHBv
c3NpYmlsaXR5IG9mIGFub3RoZXIgcHJvdG9jb2wgYmVpbmcgZGlzY3Vzc2VkDQo+ID4+IGluIHRo
ZSBXRy4gSXMgdGhlcmUgc29tZXRoaW5nIGluIHRoZSBOQUNNIGRyYWZ0IHRoYXQgcmVzdHJpY3Rz
IGl0IHRvDQo+ID4+IE5FVENPTkYvUkVTVENPTkYgdGhhdCBvdGhlciBwcm90b2NvbHMgY2Fubm90
IGFkb3B0PyBJZiBzbywgY2FuIHRoZXkgYmUNCj4gPj4gY2FsbGVkIG91dD8NCj4gPj4NCj4gPg0K
PiA+IElmIE5BQ00gbmVlZHMgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlIGJlY2F1c2UgYSBu
ZXcgb3IgZXhpc3RpbmcNCj4gPiBwcm90b2NvbCBuZWVkcyBuZXcgZmVhdHVyZXMNCj4gPiB0aGVu
IHRoZSBXRyB3aWxsIGhhdmUgdG8gZGVhbCB3aXRoIGl0IHRoZW4uDQo+ID4NCj4gPg0KPiA+DQo+
ID4+DQo+ID4+IFRoYW5rcy4NCj4gPj4NCj4gPj4NCj4gPiBBbmR5DQo+ID4NCj4gPg0KPiA+PiA+
IE9uIE1heSA5LCAyMDE3LCBhdCAxMTo0NiBQTSwgSnVlcmdlbiBTY2hvZW53YWVsZGVyIDwNCj4g
Pj4gai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPiB3cm90ZToNCj4gPj4gPg0K
PiA+PiA+IE9uIFR1ZSwgTWF5IDA5LCAyMDE3IGF0IDAyOjUwOjMwUE0gKzAyMDAsIE1hcnRpbiBC
am9ya2x1bmQgd3JvdGU6DQo+ID4+ID4+IEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29t
PiB3cm90ZToNCj4gPj4gPj4+IE9uIFRodSwgTWF5IDQsIDIwMTcgYXQgMTE6MjEgQU0sIEFsZXhh
bmRlciBDbGVtbSA8DQo+ID4+IGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tDQo+ID4+ID4+Pj4g
d3JvdGU6DQo+ID4+ID4+Pg0KPiA+PiA+Pj4+IEFzIG1lbnRpb25lZCBpbiBteSBtZXNzYWdlLCBJ
IGRvbuKAmXQgdGhpbmsgc3BlY2lmaWMgYWNjZXNzIGNvbnRyb2wNCj4gPj4gd2lsbCBiZQ0KPiA+
PiA+Pj4+IG5lZWRlZCAoSSBhbSBub3QgYXdhcmUgb2Ygc3BlY2lmaWMgdXNlIGNhc2VzKSwgYnV0
IHNwZWNpZmljYWxseSB3aXRoDQo+ID4+IHRoZQ0KPiA+PiA+Pj4+IHJldmlzZWQgZGF0YXN0b3Jl
IGFyY2hpdGVjdHVyZSBhYm91dCB0byB0aGUgYmUgaW50cm9kdWNlZCwgaXRzDQo+ID4+IGltcGFj
dCBvcg0KPiA+PiA+Pj4+IG5vbmltcGFjdCBhbmQgaW50ZXJyZWxhdGlvbiB3aXRoIE5BQ00gc2hv
dWxkIGJlIGRpc2N1c3NlZC4gIFRoaXMgY2FuDQo+ID4+IGJlIGFzDQo+ID4+ID4+Pj4gc2ltcGxl
IGFzIGEgc21hbGwgcGFyYWdyYXBoIG9yIHN1YnNlY3Rpb24g4oCcUmV2aXNlZCBEYXRhc3RvcmUN
Cj4gPj4gPj4+PiBDb25zaWRlcmF0aW9uc+KAnS4NCj4gPj4gPj4+Pg0KPiA+PiA+Pj4+DQo+ID4+
ID4+Pj4NCj4gPj4gPj4+DQo+ID4+ID4+PiB0aGVyZSBpcyBubyB0ZXh0IGFib3V0IGNhbmRpZGF0
ZSB2cy4gcnVubmluZyB2cy4gc3RhcnR1cC4NCj4gPj4gPj4+IFRoZSBOQUNNIHJ1bGVzIGFwcGx5
IHRvIGFsbCBvZiB0aGVtIHRoZSBzYW1lLg0KPiA+PiA+Pj4gSSBjb3VsZCBhZGQgdGV4dCB0aGF0
IHNheXMgdGhlcmUgaXMgbm8gY29uc2lkZXJhdGlvbiBmb3Igc3BlY2lmaWMNCj4gPj4gPj4+IGRh
dGFzdG9yZXMuDQo+ID4+ID4+DQo+ID4+ID4+IEFjdHVhbGx5LCB0aGUgZG9jdW1lbnQgYWxyZWFk
eSBzYXlzOg0KPiA+PiA+Pg0KPiA+PiA+PiAzLjIuICBEYXRhc3RvcmUgQWNjZXNzDQo+ID4+ID4+
DQo+ID4+ID4+ICAgVGhlIHNhbWUgYWNjZXNzIGNvbnRyb2wgcnVsZXMgYXBwbHkgdG8gYWxsIGRh
dGFzdG9yZXMsIGZvciBleGFtcGxlLA0KPiA+PiA+PiAgIHRoZSBjYW5kaWRhdGUgY29uZmlndXJh
dGlvbiBkYXRhc3RvcmUgb3IgdGhlIHJ1bm5pbmcgY29uZmlndXJhdGlvbg0KPiA+PiA+PiAgIGRh
dGFzdG9yZS4NCj4gPj4gPj4NCj4gPj4gPj4gICBPbmx5IHRoZSBzdGFuZGFyZCBORVRDT05GIGRh
dGFzdG9yZXMgKGNhbmRpZGF0ZSwgcnVubmluZywgYW5kDQo+ID4+ID4+ICAgc3RhcnR1cCkgYXJl
IGNvbnRyb2xsZWQgYnkgTkFDTS4NCj4gPj4gPj4NCj4gPj4gPj4NCj4gPj4gPj4gU29tZWhvdyB0
aGlzIG5lZWRzIHRvIGJlIHVwZGF0ZWQgd2hlbiB0aGUgcmV2aXNlZCBkYXRhc3RvcmUgd29yayBp
cw0KPiA+PiA+PiBkb25lLiAgRS5nLiwgSSBleHBlY3QgcmVhZCBhY2Nlc3MgdG8gaW50ZW5kZWQg
dG8gZm9sbG93IHRoZSBzYW1lIE5BQ00NCj4gPj4gPj4gcnVsZXMuDQo+ID4+ID4+DQo+ID4+ID4N
Cj4gPj4gPiBZZXMuIE5BQ00gbGlrZWx5IGFsc28gYXBwbGllcyB0byB0aGUgPG9wZXJhdGlvbmFs
Lz4gZGF0YXN0b3JlIChidXQNCj4gPj4gPiB0aGlzIGZvbGxvd3MgYWxyZWFkeSBmcm9tIHRoZSB0
ZXh0IHRoYXQgdGFsa3MgYWJvdXQgJ3N0YXRlIGRhdGEnKS4NCj4gPj4gPg0KPiA+PiA+IE15IHF1
ZXN0aW9uLCBob3dldmVyLCB3YXMgYWJvdXQgb3RoZXIgZnV0dXJlIHlldCB0byBiZSBkZWZpbmVk
DQo+ID4+ID4gJ2R5bmFtaWMnIGRhdGFzdG9yZXMgLSBkb2VzIE5BQ00gbWFrZSBhIHN0YXRlbWVu
dCBvZiB0aGUgZm9ybSAnb25jZSBhbg0KPiA+PiA+IGltcGxlbWVudGF0aW9uIGFubm91bmNlcyBO
QUNNLCBOQUNNIGFwcGxpZXMgdG8gYWxsIGRhdGFzdG9yZXMgLSBubw0KPiA+PiA+IGV4Y2VwdGlv
bnMnIG9yIGRvIHdlIGxlYXZlIGl0IHRvIHRoZSBkZWZpbml0aW9uIG9mIGZ1dHVyZSBkYXRhc3Rv
cmVzDQo+ID4+ID4gdG8gZGVjbGFyZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0byBpdC4gVGhlcmUg
bWF5IGJlIHRocmVlIHBvc3NpYmxlDQo+ID4+ID4gc29sdXRpb25zOg0KPiA+PiA+DQo+ID4+ID4g
YSkgT25jZSBhbiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBOQUNNLCBOQUNNIGFwcGxpZXMgdG8g
YWxsDQo+ID4+ID4gICBkYXRhc3RvcmVzIChpbmNsdWRpbmcgYW55IGRhdGFzdG9yZXMgZGVmaW5l
ZCBpbiB0aGUgZnV0dXJlKS4NCj4gPj4gPg0KPiA+PiA+IGIpIE9uY2UgYW4gaW1wbGVtZW50YXRp
b24gc3VwcG9ydHMgTkFDTSwgTkFDTSBhcHBsaWVzIHRvIGFsbA0KPiA+PiA+ICAgY29udmVudGlv
bmFsIGRhdGFzdG9yZXMgYW5kIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBkYXRhc3RvcmUuICBPdGhl
cg0KPiA+PiA+ICAgZGF0YXN0b3JlcyBtdXN0IGRlZmluZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0
byB0aGVtLg0KPiA+PiA+DQo+ID4+ID4gICAoVGhpcyBtZWFucywgd2hlbmV2ZXIgYSBuZXcgZGF0
YXN0b3JlIGlzIGludHJvZHVjZWQsIHRoZSBxdWVzdGlvbg0KPiA+PiA+ICAgd2hldGhlciBOQUNN
IGFwcGxpZXMgaGFzIHRvIGFuc3dlcmVkIGZvciB0aGUgbmV3IGRhdGFzdG9yZS4pDQo+ID4+ID4N
Cj4gPj4gPiBjKSBPbmNlIGFuIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIE5BQ00sIE5BQ00gYXBw
bGllcyB0byBhbGwgY3VycmVudA0KPiA+PiA+ICAgYW5kIGZ1dHVyZSBkYXRhc3RvcmUgdW5sZXNz
IGV4cGxpY2l0ZWx5IHN0YXRlZCBvciBzaWduYWxlZCB0aGF0DQo+ID4+ID4gICBOQUNNIGRvZXMg
bm90IGFwcGx5IHRvIGEgY2VydGFpbiBmdXR1cmUgZGF0YXN0b3JlLg0KPiA+PiA+DQo+ID4+ID4g
ICAoVGhpcyBpcyBlc3NlbnRpYWxseSBiKSBidXQgd2l0aCBhIGRlZmF1bHQgdGhhdCBOQUNNIGFw
cGxpZXMgdW5sZXNzDQo+ID4+ID4gICB0aGluZ3MgYXJlIGV4cGxpY2l0bHkgcmVndWxhdGVkIHRv
IGJlIGRpZmZlcmVudC4pDQo+ID4+ID4NCj4gPj4gPiBJIGp1c3QgdGhvdWdodCBpdCBpcyB3b3J0
aCB0byB0YWtlIGEgbW9tZW50IHRvIHRoaW5rIGFib3V0IHRoaXMNCj4gPj4gPiBxdWVzdGlvbi4N
Cj4gPj4gPg0KPiA+PiA+IC9qcw0KPiA+PiA+DQo+ID4+ID4gLS0NCj4gPj4gPiBKdWVyZ2VuIFNj
aG9lbndhZWxkZXIgICAgICAgICAgIEphY29icyBVbml2ZXJzaXR5IEJyZW1lbiBnR21iSA0KPiA+
PiA+IFBob25lOiArNDkgNDIxIDIwMCAzNTg3ICAgICAgICAgQ2FtcHVzIFJpbmcgMSB8IDI4NzU5
IEJyZW1lbiB8IEdlcm1hbnkNCj4gPj4gPiBGYXg6ICAgKzQ5IDQyMSAyMDAgMzEwMyAgICAgICAg
IDxodHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4NCj4gPj4gPg0KPiA+PiA+IF9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4+ID4gTmV0Y29u
ZiBtYWlsaW5nIGxpc3QNCj4gPj4gPiBOZXRjb25mQGlldGYub3JnDQo+ID4+ID4gaHR0cHM6Ly93
d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQo+ID4+DQo+ID4+IE1haGVzaCBK
ZXRoYW5hbmRhbmkNCj4gPj4gbWpldGhhbmFuZGFuaUBnbWFpbC5jb20NCj4gPj4NCj4gPj4NCj4g
Pj4NCj4gPj4NCj4gPg0KPiA+IE1haGVzaCBKZXRoYW5hbmRhbmkNCj4gPiBtamV0aGFuYW5kYW5p
QGdtYWlsLmNvbQ0KPiA+DQo+ID4NCg==


From nobody Tue May 23 07:20:40 2017
Return-Path: <rwilton@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 56D88129B69 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 07:20:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level: 
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oSUu3lXYHHfR for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 07:20:37 -0700 (PDT)
Received: from aer-iport-3.cisco.com (aer-iport-3.cisco.com [173.38.203.53]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5FBC0129B66 for <netconf@ietf.org>; Tue, 23 May 2017 07:20:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1313; q=dns/txt; s=iport; t=1495549237; x=1496758837; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=OG72LzC80eoxsP+6saeoakC2mMzxv0NxFstRSeb7LDw=; b=j2sIH8TIawN03CUxXYLUVO6Yr7ilTJuya3dBpoe6zVJTe6C/APTphh2u j/b3lxv0uLXMuV+LDCS3s60A7mf0yINiEyiS3sxqrBAvmKNc7o42GlbJq bsyO9NcJ9ltUISgIob0amBgJ3azFu+LQczezhv8dFUAc81jffzKqdrJ9k U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CYAADbQyRZ/xbLJq1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBhDeBDI4Hc5BjIZV3gg8hC4UuSgKEFBgBAgEBAQEBAQFrKIUYAQE?= =?us-ascii?q?BAQIBAQE2NgsQCw4KLicwBgEMBgIBAYoaCA6vfItFAQEBAQEBAQEBAQEBAQEBA?= =?us-ascii?q?QEBARoFhl+CCQuCZoROhggFnhuTJosHhmuMGIgzHziBCi8gCBoVRoZ3PzaJHgE?= =?us-ascii?q?BAQ?=
X-IronPort-AV: E=Sophos;i="5.38,382,1491264000"; d="scan'208";a="653063426"
Received: from aer-iport-nat.cisco.com (HELO aer-core-3.cisco.com) ([173.38.203.22]) by aer-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 May 2017 14:20:35 +0000
Received: from [10.63.23.123] (dhcp-ensft1-uk-vla370-10-63-23-123.cisco.com [10.63.23.123]) by aer-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id v4NEKZZQ023573; Tue, 23 May 2017 14:20:35 GMT
To: Martin Bjorklund <mbj@tail-f.com>, lhotka@nic.cz
References: <m2o9uq38lr.fsf@birdie.labs.nic.cz> <20170518.164922.54240181653793296.mbj@tail-f.com>
Cc: netconf@ietf.org
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <52b00dd6-6fb2-0b9a-5316-c5be32f1f05b@cisco.com>
Date: Tue, 23 May 2017 15:20:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <20170518.164922.54240181653793296.mbj@tail-f.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/MyrYNzVB4G_RB0-ha7Mda5az37w>
Subject: Re: [Netconf] RESTCONF: PUT with state data
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 14:20:39 -0000

On 18/05/2017 15:49, Martin Bjorklund wrote:
> Ladislav Lhotka <lhotka@nic.cz> wrote:
>> Hi,
>>
>> what is a RESTCONF server supposed to do if message-body of a PUT method
>> contains config false data?
> I think it should be an error.
+1.

Trying to writing a non writable node must surely be an error.


>
>> In practical terms, if a client retrieves a container resource via GET
>> and the container has both configuration and state data, should the
>> server accept the same payload sent back with PUT, or is it necessary to
>> remove all config false items?
> I think the client needs to GET /...?content=config.
Alternatively, an extension to RESTCONF could be defined to add an 
optional parameter to make a config write (i.e. PUT, POST, PATCH?, 
DELETE) best-effort, i.e. ignore any errors.

Rob


>
>
> /martin
>
>
>> This seems to be unspecified in RFC 8040.
>>
>> Thanks, Lada
>>
>> -- 
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>>
>> _______________________________________________
>> Netconf mailing list
>> Netconf@ietf.org
>> https://www.ietf.org/mailman/listinfo/netconf
>>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
> .
>


From nobody Tue May 23 09:13:16 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9EDF2129BB0 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 09:13:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level: 
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BKciCAO9mmbt for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 09:13:14 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2E3A6120046 for <netconf@ietf.org>; Tue, 23 May 2017 09:04:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8120; q=dns/txt; s=iport; t=1495555441; x=1496765041; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Fq+POhB459MHtS11wgwB6QyU3aWjii+2a4K+0qdy7c0=; b=YzfqQ+WFs+sSP4kAaar7NXatCRAxMalGABFPkMjAQaLV1hHOFkyCXB0u FNDzWmnShbiMgkpyEFCI8myd1ONkk0PuTJrGLcc5laCaWVvg2Yu1jsmw9 av62uMrHDOYr1VKJpOxs4zPz7DAVK/8pCzAFyX3tc4jz6GHsdzVM0dIfz E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DmAADzXCRZ/4ENJK1cGQEBAQEBAQEBA?= =?us-ascii?q?QEBBwEBAQEBgyorYjEBWgeOAJF3lXeCDyELhS5KAoJ/PxgBAgEBAQEBAQFrKIU?= =?us-ascii?q?YAQEBAQIBAQE4NAsFBwQCAQgOAwQBAQEMAREJBycLFAkIAQEEAQ0FCIoWCA6vL?= =?us-ascii?q?ItFAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAWGX4RGNIQ0GoYIBZ4bAZMcgg6PbYk?= =?us-ascii?q?Bi0kBHziBCnEVRoR3HIFjdogRgQ0BAQE?=
X-IronPort-AV: E=Sophos;i="5.38,382,1491264000"; d="scan'208";a="247037018"
Received: from alln-core-9.cisco.com ([173.36.13.129]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 23 May 2017 16:04:00 +0000
Received: from XCH-RTP-015.cisco.com (xch-rtp-015.cisco.com [64.101.220.155]) by alln-core-9.cisco.com (8.14.5/8.14.5) with ESMTP id v4NG3xUn018036 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 23 May 2017 16:04:00 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-015.cisco.com (64.101.220.155) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 23 May 2017 12:03:59 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 23 May 2017 12:03:59 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SA
Date: Tue, 23 May 2017 16:03:59 +0000
Message-ID: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <20170518.084938.2164174821851630928.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com> <20170522.212946.153811938714116755.mbj@tail-f.com>
In-Reply-To: <20170522.212946.153811938714116755.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/0AdNs-l7bts7iIFcNYvz3Lmj19o>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 16:13:16 -0000

> Martin Bjorklund, May 22, 2017 3:30 PM
>=20
> Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > Hi Martin,
> >
> > Almost overlooked your question below.  What is meant by the filter is
> > specified in section 3.5 of the YANG-Push document.
> >
> > "Only a single filter can be applied to a subscription at a time.  The
> > following filter types are included in the yang-push data model:
> > [subtree] [xpath]"
>=20
> Actually, only "subtree" is defined in yang-push, "xpath" is defined in
> subscribed-notifications.

At the top of yang-push page 7, xpath selection is described.  Is there som=
ething you feel missing?

>  [Side note - I think this is wrong, subscribed-notifications should also=
 define "subtree".]
>
> But these filters are used by the server to decide if a certain notificat=
ion that
> has been generated will be sent to the client or not.

Yes, the filters in subscribed-notification are supposed to give a boolean =
indication as to whether a specific event should traverse the filter in its=
 entirety. RFC6241 section 6 subtree filters are written to provide a subse=
t of content.   I suppose it would be possible to define an event-based sub=
tree-filter-type where a non-null result of the subtree filter means that a=
 particular event should traverse that filter.  Is this what you are sugges=
ting?

> If you want to define filters to specifify which nodes to subscribe to, I=
 think
> you need to define new filters, not try to reuese these notification filt=
ers.

Filtering syntax is hard, so we have been trying to adopt whatever is avail=
able for GET.  This way we don't have to educate users on a new universe of=
 what is possible.  I fully expect that lots of learnings are going to come=
 in the industry here over time, and this will be revisited in the future.

> As for your question, I think such a filter should be defined to return a=
 node-
> set to which the client subscribe to changes.  If any node (or subnode to=
) in
> this node-set changes, the notif will be sent.  Then the question about v=
alue
> comparision is not relevant anymore.

Excellent, on-change should only send an update if the results of the subsc=
ription filter have changed since the previous push.   It is quite possible=
 that an object has been created and then deleted since the last push.  Rep=
resenting this was the genesis of Alex's question.

Eric

> /martin
>=20
>=20
>=20
>=20
>=20
> >
> > In effect, the filter specifies which data nodes to consider when
> > sending updates.
> >
> > ---Alex
> >
> >
> > -----Original Message-----
> > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > Sent: Wednesday, May 17, 2017 11:50 PM
> > To: Alexander Clemm <alexander.clemm@huawei.com>
> > Cc: netconf@ietf.org
> > Subject: Re: [Netconf] In an update, when is a delete a delete?
> >
> > Hi,
> >
> > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > Hello all,
> > >
> > > In updating the YANG-Push document (draft-ietf-netconf-yang-push),
> > > we have come across one issue that we wanted to raise with the
> > > working group.
> > >
> > > As part of an on-change subscription, update records reflect the
> > > type of change (e.g. whether the value of an object has changed, or
> > > whether an object was created or deleted); a subscription allows
> > > also to specify whether interested only in specific types of changes
> > > (for example, only creates and deleted but no value changes).
> > >
> > > At the same time, a subscription filter specifies which objects to
> > > include as part of a subscription and which not.
> >
> > Hmm, which filter are you talking about?  The only XPath filter I find
> > in the current set of documents is the
> > "ietf-subscribed-notifications:xpath" filter type (which btw is sorely
> > underspecified).  Section 2.2 of
> > draft-ietf-netconf-subscribed-notifications-02 says:
> >
> >    Events which evaluate to "true" as a
> >    result of the evaluation by the filter must traverse the filter in
> >    their entirety.
> >
> > It's not clear what this means, but my guess is that this is supposed
> > to work like the old RFC 5277 filters, where the filter expression is
> > evaluated on the notification contents, and if the expression returns
> > "true" (for XPath filters this means converting the results to a
> > boolean), then the notification is sent, otherwise not.
> >
> > But it seems you are referring to some other filter which would be
> > used to select a node set for which changes are reported?
> >
> > I would like to understand which filter mechanism you mean before
> > having an opinion in this matter.
> >
> >
> > /martin
> >
> >
> >
> >
> > > (Really, it is not
> > > so much of a "filter" on a stream that is generated independently of
> > > the filter, than it is a policy of which objects to include as part
> > > of subscribed update records.)  However, a subscription filter (such
> > > as
> > > XPath) can be used to also specify a value filter, which will
> > > include or exclude objects based on their current value. This makes
> > > it possible to e.g. subscribe to an object "foo" but only if its
> > > value is 5.
> > >
> > > Now, this means that the same object could be included in one
> > > update, but excluded in another update, due to its value no longer
> > > meeting the filter criteria.  For example, if foo's value changes
> > > from 5 to 3 in one cycle, a periodic subscription will no longer
> > > include foo in its next update.  The question now concerns how to
> > > properly handle this in the case of an on-change subscription.
> > >
> > > One possibility concerns reporting the fact that "foo" no longer
> > > meets the subscription criteria and is no longer included in the
> > > update record as a "delete" event.  If foo's value again becomes "5"
> > > at a later point in time, that would be reported as a "create"
> > > event.  If foo's value changes again from 5 at a later point in time
> > > and then changes back to 3 before the time of the update (perhaps
> > > because the value changed during the dampening interval), it would
> > > be reported as another "delete" event (without ever reporting a
> > > create event).  On the other hand, if foo's value changed from 3 to
> > > 6 and back again, nothing would be reported because it did not meet
> > > the filter criteria at any point in time.
> > >
> > > >From the perspective of the receiver this may make sense if it is
> > > >synching its copy of the state.  However, from the perspective of
> > > >the publisher, the object was never created or deleted - only its
> > > >value changed, and the case when the object was truly created or
> > > >deleted can no longer be distinguished from the case when its value
> changed.
> > > >A "create" simply means "an object now meets a filter criteria,
> > > >that was not reported in the previous cycle" (which does not mean
> > > >that the object was actually created - it may have been created, or
> > > >it may have simply undergone a value change).
> > >
> > > An alternative (let's call it alternative 2) is therefore to make a
> > > distinction between whether an object was created or deleted, or
> > > whether its value fell in or out of a filter range.  This appears
> > > semantically cleaner.  However, it will require modifying the
> > > encoding to allow for distinction between those cases (currently,
> > > just plain patch encoding is used).
> > >
> > > A third alternative is to let filters select only data nodes to
> > > subscribe to, and separate out the value filter (or disallow it as a
> > > feature altogether).  This alternative has the drawback of being
> > > less conceptually powerful, even if it may be easier to implement.
> > >
> > > Thoughts?  Any preferences between 1, 2, and 3?
> > > --- Alex
> > >
> >
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf


From nobody Tue May 23 10:56:50 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 60C96129C3D for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 10:56:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level: 
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AOKcsBpsvIFo for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 10:56:48 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F189B129C5E for <netconf@ietf.org>; Tue, 23 May 2017 10:56:46 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml701-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNQ35003; Tue, 23 May 2017 17:56:44 +0000 (GMT)
Received: from SJCEML703-CHM.china.huawei.com (10.208.112.39) by lhreml701-cah.china.huawei.com (10.201.108.42) with Microsoft SMTP Server (TLS) id 14.3.301.0; Tue, 23 May 2017 18:56:44 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML703-CHM.china.huawei.com ([169.254.5.229]) with mapi id 14.03.0235.001;  Tue, 23 May 2017 10:56:38 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAAEyk7AAArGsKAAAscYHA=
Date: Tue, 23 May 2017 17:56:37 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFF9D@SJCEML701-CHM.china.huawei.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAE8C1@SJCEML701-CHM.china.huawei.com> <20170518.084938.2164174821851630928.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com> <20170522.212946.153811938714116755.mbj@tail-f.com> <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com>
In-Reply-To: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.89]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090201.592477DD.00C4, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 25bfcf1ca944722db31fa77b3fd049f5
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/2Qb52l4Cortp56e8F3xCECu6pG4>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 17:56:50 -0000

Hi Martin,=20
Thank you for your response. =20
Two more comments inline, <ALEX> (including a response to Eric)
--- Alex

-----Original Message-----
From: Eric Voit (evoit) [mailto:evoit@cisco.com]=20
Sent: Tuesday, May 23, 2017 9:04 AM
To: Martin Bjorklund <mbj@tail-f.com>; Alexander Clemm <alexander.clemm@hua=
wei.com>
Cc: netconf@ietf.org
Subject: RE: [Netconf] In an update, when is a delete a delete?

> Martin Bjorklund, May 22, 2017 3:30 PM
>=20
> Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > Hi Martin,
> >
> > Almost overlooked your question below.  What is meant by the filter=20
> > is specified in section 3.5 of the YANG-Push document.
> >
> > "Only a single filter can be applied to a subscription at a time. =20
> > The following filter types are included in the yang-push data model:
> > [subtree] [xpath]"
>=20
> Actually, only "subtree" is defined in yang-push, "xpath" is defined=20
> in subscribed-notifications.

At the top of yang-push page 7, xpath selection is described.  Is there som=
ething you feel missing?

>  [Side note - I think this is wrong, subscribed-notifications should=20
> also define "subtree".]
>
> But these filters are used by the server to decide if a certain=20
> notification that has been generated will be sent to the client or not.

Yes, the filters in subscribed-notification are supposed to give a boolean =
indication as to whether a specific event should traverse the filter in its=
 entirety. RFC6241 section 6 subtree filters are written to provide a subse=
t of content.   I suppose it would be possible to define an event-based sub=
tree-filter-type where a non-null result of the subtree filter means that a=
 particular event should traverse that filter.  Is this what you are sugges=
ting?

> If you want to define filters to specifify which nodes to subscribe=20
> to, I think you need to define new filters, not try to reuese these notif=
ication filters.

Filtering syntax is hard, so we have been trying to adopt whatever is avail=
able for GET.  This way we don't have to educate users on a new universe of=
 what is possible.  I fully expect that lots of learnings are going to come=
 in the industry here over time, and this will be revisited in the future.

<ALEX> I think the difference in semantics between a filter that filters on=
 the contents that is included in a notification (and applies to the notifi=
cation as a whole), and a filter that specifies updates of which data nodes=
 to include in an update notification, is actually key.  (Arguably, the sec=
ond filter defines which content to generate in the first place.) =20

We will review the text to make sure the distinction is clear.  That said, =
we do want to use the same filter syntax constructs for both, even if they =
are used slightly differently when used as a notification filter vs a filte=
r that specifies which updates to include.=20
</ALEX>

> As for your question, I think such a filter should be defined to=20
> return a node- set to which the client subscribe to changes.  If any=20
> node (or subnode to) in this node-set changes, the notif will be sent. =20
> Then the question about value comparision is not relevant anymore.

Excellent, on-change should only send an update if the results of the subsc=
ription filter have changed since the previous push.   It is quite possible=
 that an object has been created and then deleted since the last push.  Rep=
resenting this was the genesis of Alex's question.

<ALEX>I interpret the statement differently:  It is not about whether the r=
esults of the subscription filter have changed, but if any nodes in the nod=
e-set that had been subscribed to changed.   In other words, I take it as a=
n endorsement of option 3, not of option 1. =20
--- Alex
</ALEX>

Eric

> /martin
>=20
>=20
>=20
>=20
>=20
> >
> > In effect, the filter specifies which data nodes to consider when=20
> > sending updates.
> >
> > ---Alex
> >
> >
> > -----Original Message-----
> > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > Sent: Wednesday, May 17, 2017 11:50 PM
> > To: Alexander Clemm <alexander.clemm@huawei.com>
> > Cc: netconf@ietf.org
> > Subject: Re: [Netconf] In an update, when is a delete a delete?
> >
> > Hi,
> >
> > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > Hello all,
> > >
> > > In updating the YANG-Push document (draft-ietf-netconf-yang-push),=20
> > > we have come across one issue that we wanted to raise with the=20
> > > working group.
> > >
> > > As part of an on-change subscription, update records reflect the=20
> > > type of change (e.g. whether the value of an object has changed,=20
> > > or whether an object was created or deleted); a subscription=20
> > > allows also to specify whether interested only in specific types=20
> > > of changes (for example, only creates and deleted but no value change=
s).
> > >
> > > At the same time, a subscription filter specifies which objects to=20
> > > include as part of a subscription and which not.
> >
> > Hmm, which filter are you talking about?  The only XPath filter I=20
> > find in the current set of documents is the=20
> > "ietf-subscribed-notifications:xpath" filter type (which btw is=20
> > sorely underspecified).  Section 2.2 of
> > draft-ietf-netconf-subscribed-notifications-02 says:
> >
> >    Events which evaluate to "true" as a
> >    result of the evaluation by the filter must traverse the filter in
> >    their entirety.
> >
> > It's not clear what this means, but my guess is that this is=20
> > supposed to work like the old RFC 5277 filters, where the filter=20
> > expression is evaluated on the notification contents, and if the=20
> > expression returns "true" (for XPath filters this means converting=20
> > the results to a boolean), then the notification is sent, otherwise not=
.
> >
> > But it seems you are referring to some other filter which would be=20
> > used to select a node set for which changes are reported?
> >
> > I would like to understand which filter mechanism you mean before=20
> > having an opinion in this matter.
> >
> >
> > /martin
> >
> >
> >
> >
> > > (Really, it is not
> > > so much of a "filter" on a stream that is generated independently=20
> > > of the filter, than it is a policy of which objects to include as=20
> > > part of subscribed update records.)  However, a subscription=20
> > > filter (such as
> > > XPath) can be used to also specify a value filter, which will=20
> > > include or exclude objects based on their current value. This=20
> > > makes it possible to e.g. subscribe to an object "foo" but only if=20
> > > its value is 5.
> > >
> > > Now, this means that the same object could be included in one=20
> > > update, but excluded in another update, due to its value no longer=20
> > > meeting the filter criteria.  For example, if foo's value changes=20
> > > from 5 to 3 in one cycle, a periodic subscription will no longer=20
> > > include foo in its next update.  The question now concerns how to=20
> > > properly handle this in the case of an on-change subscription.
> > >
> > > One possibility concerns reporting the fact that "foo" no longer=20
> > > meets the subscription criteria and is no longer included in the=20
> > > update record as a "delete" event.  If foo's value again becomes "5"
> > > at a later point in time, that would be reported as a "create"
> > > event.  If foo's value changes again from 5 at a later point in=20
> > > time and then changes back to 3 before the time of the update=20
> > > (perhaps because the value changed during the dampening interval),=20
> > > it would be reported as another "delete" event (without ever=20
> > > reporting a create event).  On the other hand, if foo's value=20
> > > changed from 3 to
> > > 6 and back again, nothing would be reported because it did not=20
> > > meet the filter criteria at any point in time.
> > >
> > > >From the perspective of the receiver this may make sense if it is=20
> > > >synching its copy of the state.  However, from the perspective of=20
> > > >the publisher, the object was never created or deleted - only its=20
> > > >value changed, and the case when the object was truly created or=20
> > > >deleted can no longer be distinguished from the case when its=20
> > > >value
> changed.
> > > >A "create" simply means "an object now meets a filter criteria,=20
> > > >that was not reported in the previous cycle" (which does not mean=20
> > > >that the object was actually created - it may have been created,=20
> > > >or it may have simply undergone a value change).
> > >
> > > An alternative (let's call it alternative 2) is therefore to make=20
> > > a distinction between whether an object was created or deleted, or=20
> > > whether its value fell in or out of a filter range.  This appears=20
> > > semantically cleaner.  However, it will require modifying the=20
> > > encoding to allow for distinction between those cases (currently,=20
> > > just plain patch encoding is used).
> > >
> > > A third alternative is to let filters select only data nodes to=20
> > > subscribe to, and separate out the value filter (or disallow it as=20
> > > a feature altogether).  This alternative has the drawback of being=20
> > > less conceptually powerful, even if it may be easier to implement.
> > >
> > > Thoughts?  Any preferences between 1, 2, and 3?
> > > --- Alex
> > >
> >
>=20
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf


From nobody Tue May 23 10:57:26 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2495F129B51 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 10:57:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3_rK7boxrA21 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 10:57:22 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id B8CC3129C5E for <netconf@ietf.org>; Tue, 23 May 2017 10:57:22 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id 31FD41AE046A; Tue, 23 May 2017 19:57:21 +0200 (CEST)
Date: Tue, 23 May 2017 19:57:20 +0200 (CEST)
Message-Id: <20170523.195720.334918098247517091.mbj@tail-f.com>
To: evoit@cisco.com
Cc: alexander.clemm@huawei.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com> <20170522.212946.153811938714116755.mbj@tail-f.com> <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/0WMRUHxmUDuYQdcCy5guHsPhBrI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 17:57:25 -0000

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > Martin Bjorklund, May 22, 2017 3:30 PM
> > 
> > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > Hi Martin,
> > >
> > > Almost overlooked your question below.  What is meant by the filter is
> > > specified in section 3.5 of the YANG-Push document.
> > >
> > > "Only a single filter can be applied to a subscription at a time.  The
> > > following filter types are included in the yang-push data model:
> > > [subtree] [xpath]"
> > 
> > Actually, only "subtree" is defined in yang-push, "xpath" is defined
> > in
> > subscribed-notifications.
> 
> At the top of yang-push page 7, xpath selection is described.  Is
> there something you feel missing?

Yes.  First of all, the YANG module defines an identity called
"xpath", based on "sn:filter".  So this filter has nothing to do with
selecting nodes in a datastore; this filter is used to match against a
generated notification record.

Second, the XPath filter is sorely underspecified.  The XPath context
is not described, the expected result data type is not defined, and
it is not described how the result is supposed to be used.

> >  [Side note - I think this is wrong, subscribed-notifications should
> >  also define "subtree".]
> >
> > But these filters are used by the server to decide if a certain
> > notification that
> > has been generated will be sent to the client or not.
> 
> Yes, the filters in subscribed-notification are supposed to give a
> boolean indication as to whether a specific event should traverse the
> filter in its entirety. RFC6241 section 6 subtree filters are written
> to provide a subset of content.  I suppose it would be possible to
> define an event-based subtree-filter-type where a non-null result of
> the subtree filter means that a particular event should traverse that
> filter.  Is this what you are suggesting?

Yes.  Note that this is already provided by RFC 5277, and I have
always assumed that this new work will provide at least the same
functions as RFC 5277 (and more).  (But note that the XPath filter is
underspecified also in RFC 5277...)

> > If you want to define filters to specifify which nodes to subscribe
> > to, I think
> > you need to define new filters, not try to reuese these notification
> > filters.
> 
> Filtering syntax is hard, so we have been trying to adopt whatever is
> available for GET.  This way we don't have to educate users on a new
> universe of what is possible.  I fully expect that lots of learnings
> are going to come in the industry here over time, and this will be
> revisited in the future.

?

I am not proposing any new filter syntax.  I am saying that the
current filter nodes as defined in subscribed-notification cannot be
used to select nodes to subscribe to for changes.

> > As for your question, I think such a filter should be defined to
> > return a node-
> > set to which the client subscribe to changes.  If any node (or subnode
> > to) in
> > this node-set changes, the notif will be sent.  Then the question
> > about value
> > comparision is not relevant anymore.
> 
> Excellent, on-change should only send an update if the results of the
> subscription filter have changed since the previous push.  It is quite
> possible that an object has been created and then deleted since the
> last push.

I don't understand what you're trying to say with these sentences (but
since the first word was "Excellent" maybe it's ok ;)


/martin


> Representing this was the genesis of Alex's question.
> 
> Eric
> 
> > /martin
> > 
> > 
> > 
> > 
> > 
> > >
> > > In effect, the filter specifies which data nodes to consider when
> > > sending updates.
> > >
> > > ---Alex
> > >
> > >
> > > -----Original Message-----
> > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > Cc: netconf@ietf.org
> > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > >
> > > Hi,
> > >
> > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > Hello all,
> > > >
> > > > In updating the YANG-Push document (draft-ietf-netconf-yang-push),
> > > > we have come across one issue that we wanted to raise with the
> > > > working group.
> > > >
> > > > As part of an on-change subscription, update records reflect the
> > > > type of change (e.g. whether the value of an object has changed, or
> > > > whether an object was created or deleted); a subscription allows
> > > > also to specify whether interested only in specific types of changes
> > > > (for example, only creates and deleted but no value changes).
> > > >
> > > > At the same time, a subscription filter specifies which objects to
> > > > include as part of a subscription and which not.
> > >
> > > Hmm, which filter are you talking about?  The only XPath filter I find
> > > in the current set of documents is the
> > > "ietf-subscribed-notifications:xpath" filter type (which btw is sorely
> > > underspecified).  Section 2.2 of
> > > draft-ietf-netconf-subscribed-notifications-02 says:
> > >
> > >    Events which evaluate to "true" as a
> > >    result of the evaluation by the filter must traverse the filter in
> > >    their entirety.
> > >
> > > It's not clear what this means, but my guess is that this is supposed
> > > to work like the old RFC 5277 filters, where the filter expression is
> > > evaluated on the notification contents, and if the expression returns
> > > "true" (for XPath filters this means converting the results to a
> > > boolean), then the notification is sent, otherwise not.
> > >
> > > But it seems you are referring to some other filter which would be
> > > used to select a node set for which changes are reported?
> > >
> > > I would like to understand which filter mechanism you mean before
> > > having an opinion in this matter.
> > >
> > >
> > > /martin
> > >
> > >
> > >
> > >
> > > > (Really, it is not
> > > > so much of a "filter" on a stream that is generated independently of
> > > > the filter, than it is a policy of which objects to include as part
> > > > of subscribed update records.)  However, a subscription filter (such
> > > > as
> > > > XPath) can be used to also specify a value filter, which will
> > > > include or exclude objects based on their current value. This makes
> > > > it possible to e.g. subscribe to an object "foo" but only if its
> > > > value is 5.
> > > >
> > > > Now, this means that the same object could be included in one
> > > > update, but excluded in another update, due to its value no longer
> > > > meeting the filter criteria.  For example, if foo's value changes
> > > > from 5 to 3 in one cycle, a periodic subscription will no longer
> > > > include foo in its next update.  The question now concerns how to
> > > > properly handle this in the case of an on-change subscription.
> > > >
> > > > One possibility concerns reporting the fact that "foo" no longer
> > > > meets the subscription criteria and is no longer included in the
> > > > update record as a "delete" event.  If foo's value again becomes "5"
> > > > at a later point in time, that would be reported as a "create"
> > > > event.  If foo's value changes again from 5 at a later point in time
> > > > and then changes back to 3 before the time of the update (perhaps
> > > > because the value changed during the dampening interval), it would
> > > > be reported as another "delete" event (without ever reporting a
> > > > create event).  On the other hand, if foo's value changed from 3 to
> > > > 6 and back again, nothing would be reported because it did not meet
> > > > the filter criteria at any point in time.
> > > >
> > > > >From the perspective of the receiver this may make sense if it is
> > > > >synching its copy of the state.  However, from the perspective of
> > > > >the publisher, the object was never created or deleted - only its
> > > > >value changed, and the case when the object was truly created or
> > > > >deleted can no longer be distinguished from the case when its value
> > changed.
> > > > >A "create" simply means "an object now meets a filter criteria,
> > > > >that was not reported in the previous cycle" (which does not mean
> > > > >that the object was actually created - it may have been created, or
> > > > >it may have simply undergone a value change).
> > > >
> > > > An alternative (let's call it alternative 2) is therefore to make a
> > > > distinction between whether an object was created or deleted, or
> > > > whether its value fell in or out of a filter range.  This appears
> > > > semantically cleaner.  However, it will require modifying the
> > > > encoding to allow for distinction between those cases (currently,
> > > > just plain patch encoding is used).
> > > >
> > > > A third alternative is to let filters select only data nodes to
> > > > subscribe to, and separate out the value filter (or disallow it as a
> > > > feature altogether).  This alternative has the drawback of being
> > > > less conceptually powerful, even if it may be easier to implement.
> > > >
> > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > --- Alex
> > > >
> > >
> > 
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> 


From nobody Tue May 23 12:35:43 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53EA012EADA for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:35:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Iwsu7eHNeirA for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:35:39 -0700 (PDT)
Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9481512EAB3 for <netconf@ietf.org>; Tue, 23 May 2017 12:35:36 -0700 (PDT)
Received: by mail-wm0-x233.google.com with SMTP id e127so43867047wmg.1 for <netconf@ietf.org>; Tue, 23 May 2017 12:35:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=lbq0X7esHq0ZD3Sjg+fHQeuBdWztvYfO575Iv6+0xFo=; b=dqb/mdNnUrzHKlX23qsCzg/8lIu1/BsHt5v/AghOoZYPejUsHKNC54e4Zb5DQ3rTX1 dnceKZWrT7WojODhrM98v+IzE6SDj63gkOy3WdaaUFg60H4DirtnkcyY+ruM+IlvpDwT RtlKgT5PKpz0gBw/tOv66mkpv8cpgTG9osrk4y7dJz1YW26sbn8p0vTp/MAKWyatQ2nD Xk7vL7lGObzwlHLhdQAvnuoLZh/OG/ehxI0NGmEGhJOzYLIb3QqSztFW20AeuL5GP/h1 bJGuGcWJGNLdAF6ruaAZ1qM8PgmsGLWoWLYY/Kl3fZSWbYqA0lfJb8CK4wlwx5mtQM6V e0VQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=lbq0X7esHq0ZD3Sjg+fHQeuBdWztvYfO575Iv6+0xFo=; b=P0KaHZ4EUnNa5RK/vWfjCrYq8WxW7TBkby6JwXJluSih/0KH/KjipxwhhA9FgZcAN3 aRfRF1pe5M8YQyNOzK4pAaRgxzFakG9b9NlBfUHhyKmWRYUgP9xtQJ7exxhiwktpOK+6 VIP2LJB6Cf5QxV9J3Rtfai3TD/D6WIOr1MivSdf9dhF+qEfMp/0uh+7DRc9F5aGGxadh a17x5ADBz74MkyLlygVV1w5oXRdpdoInQTEuJXk97jXMzezTT6AReipkA49mUkhafCgW 16OoMhL44TuoLA9vyk5njTxrPFKRHYuF5vV8plc4c/nwd883NZe9FbLVry9XbyWJ4Qfb /CeA==
X-Gm-Message-State: AODbwcDFDo5nGR9NAe7kn7OA8oij/hSJ2+Snsr6efgTKw+MxiQoJlRqz bx7S5CRFmd6U5l+l4ixSY9ZGuGwNZtf9
X-Received: by 10.28.213.213 with SMTP id m204mr3672001wmg.48.1495568134980; Tue, 23 May 2017 12:35:34 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Tue, 23 May 2017 12:35:33 -0700 (PDT)
In-Reply-To: <20170523.091519.1988324449434279102.mbj@tail-f.com>
References: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com> <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com> <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com> <20170523.091519.1988324449434279102.mbj@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 23 May 2017 12:35:33 -0700
Message-ID: <CABCOCHTeTL5g+uv+Q1cE+-_iBJjdu9Dk460JP_-O2+W77sqQZw@mail.gmail.com>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>,  Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114746266c64b20550361785"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ihVr4p4wmrxFKfZmLwlEz7Ce8gY>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 19:35:42 -0000

--001a114746266c64b20550361785
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, May 23, 2017 at 12:15 AM, Martin Bjorklund <mbj@tail-f.com> wrote:

> Andy Bierman <andy@yumaworks.com> wrote:
> > Hi,
> >
> > The update is on github.
> > http://github.com/netconf-wg/rfc6536bis
> >
> > I would like Martin to look it over before it is posted.
>
> Done, and the new text looks good.  I moved the new subsection to be
> the first in 3.2, and I also fixed some minor terminology issues.
>
>
OK



> But, I wonder if we shouldn't make the document even less NETCONF
> specific, and align the terminology to revised-datastores.  For
> example, currently the document talks about access to "NETCONF
> datastores".   With the new less protocol-specific terminology this
> would simply be "datastore".
>
>


I would prefer not to make more changes.
I think it is OK for NETCONF, RESTCONF, and any protocols based on them.



> Also, we currently have this:
>
>    A standalone RESTCONF server (i.e., not co-located with a NETCONF
>    server) applies NACM rules to a conceptual datastore, since
>    datastores are not supported in RESTCONF.
>
> I don't think this is quite correct.  Even in a stand-alone RESTCONF
> server there is an underlying conceptual datastore, for which NACM can
> be used to control access.
>
>

I do not agree there is any RESTCONF requirement to implement datastores,
just the ability to apply NACM to the conceptual configuration datastore.

The text says there is an underlying conceptual datastore, so what is the
issue?



>
>
> /martin
>
>

Andy


>
> >
> >
> > Andy
> >
> >
> > On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <
> > mjethanandani@gmail.com> wrote:
> >
> > > Andy,
> > >
> > > On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com> wrote:
> > >
> > >
> > >
> > > On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
> > > mjethanandani@gmail.com> wrote:
> > >
> > >> Having reviewed all the e-mails, I believe that there are few issues
> that
> > >> need to be resolved before we send the draft for publication. We nee=
d
> to
> > >> agree on the language, even if we do have the exact text in the draf=
t.
> > >>
> > >> To begin with, do the authors have a response to the suggestions fro=
m
> > >> Juergen prompted by the question from Alex? Are we leaving the NACM
> > >> definition of any future datastores to the datastore draft, or are w=
e
> > >> saying NACM applies to all datastores?
> > >>
> > >>
> > > No. IMO the text should say NACM applies to NETCONF and RESTCONF
> > > with the existing datastores.
> > >
> > > NACM MAY be applied to other datastores that have similar operation
> sets.
> > > Any new datastore specification needs to define how it maps to the NA=
CM
> > > CRUDX
> > > model.  The datastore does not need to use NACM (e.g., datastore
> defines
> > > something else
> > > or does not use access control).
> > >
> > >
> > > Can you update the draft with this text.
> > >
> > >
> > >
> > > To the point that Andy raised earlier, we need to have texts around
> > >> datastores that provide more than CRUDX capabilities, including any
> > >> protocol operations, e.g. priority, as something that is out of scop=
e
> of
> > >> this document.
> > >>
> > >>
> > > This would be outside the scope of NACM.
> > > This is part of the RPC input validation.
> > >
> > >
> > > And clarify that operations outside of CRUDX are outside the scope of
> > > NACM. We can them move the document towards publication.
> > >
> > > Thanks.
> > >
> > >
> > >
> > >
> > >> NETCONF WG has moved to redefine its charter beyond NETCONF and
> RESTCONF.
> > >> Therefore there is a real possibility of another protocol being
> discussed
> > >> in the WG. Is there something in the NACM draft that restricts it to
> > >> NETCONF/RESTCONF that other protocols cannot adopt? If so, can they =
be
> > >> called out?
> > >>
> > >
> > > If NACM needs to be changed in the future because a new or existing
> > > protocol needs new features
> > > then the WG will have to deal with it then.
> > >
> > >
> > >
> > >>
> > >> Thanks.
> > >>
> > >>
> > > Andy
> > >
> > >
> > >> > On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
> > >> j.schoenwaelder@jacobs-university.de> wrote:
> > >> >
> > >> > On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
> > >> >> Andy Bierman <andy@yumaworks.com> wrote:
> > >> >>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
> > >> alexander.clemm@huawei.com
> > >> >>>> wrote:
> > >> >>>
> > >> >>>> As mentioned in my message, I don=E2=80=99t think specific acce=
ss control
> > >> will be
> > >> >>>> needed (I am not aware of specific use cases), but specifically
> with
> > >> the
> > >> >>>> revised datastore architecture about to the be introduced, its
> > >> impact or
> > >> >>>> nonimpact and interrelation with NACM should be discussed.  Thi=
s
> can
> > >> be as
> > >> >>>> simple as a small paragraph or subsection =E2=80=9CRevised Data=
store
> > >> >>>> Considerations=E2=80=9D.
> > >> >>>>
> > >> >>>>
> > >> >>>>
> > >> >>>
> > >> >>> there is no text about candidate vs. running vs. startup.
> > >> >>> The NACM rules apply to all of them the same.
> > >> >>> I could add text that says there is no consideration for specifi=
c
> > >> >>> datastores.
> > >> >>
> > >> >> Actually, the document already says:
> > >> >>
> > >> >> 3.2.  Datastore Access
> > >> >>
> > >> >>   The same access control rules apply to all datastores, for
> example,
> > >> >>   the candidate configuration datastore or the running
> configuration
> > >> >>   datastore.
> > >> >>
> > >> >>   Only the standard NETCONF datastores (candidate, running, and
> > >> >>   startup) are controlled by NACM.
> > >> >>
> > >> >>
> > >> >> Somehow this needs to be updated when the revised datastore work =
is
> > >> >> done.  E.g., I expect read access to intended to follow the same
> NACM
> > >> >> rules.
> > >> >>
> > >> >
> > >> > Yes. NACM likely also applies to the <operational/> datastore (but
> > >> > this follows already from the text that talks about 'state data').
> > >> >
> > >> > My question, however, was about other future yet to be defined
> > >> > 'dynamic' datastores - does NACM make a statement of the form 'onc=
e
> an
> > >> > implementation announces NACM, NACM applies to all datastores - no
> > >> > exceptions' or do we leave it to the definition of future datastor=
es
> > >> > to declare whether NACM applies to it. There may be three possible
> > >> > solutions:
> > >> >
> > >> > a) Once an implementation supports NACM, NACM applies to all
> > >> >   datastores (including any datastores defined in the future).
> > >> >
> > >> > b) Once an implementation supports NACM, NACM applies to all
> > >> >   conventional datastores and the operational state datastore.
> Other
> > >> >   datastores must define whether NACM applies to them.
> > >> >
> > >> >   (This means, whenever a new datastore is introduced, the questio=
n
> > >> >   whether NACM applies has to answered for the new datastore.)
> > >> >
> > >> > c) Once an implementation supports NACM, NACM applies to all curre=
nt
> > >> >   and future datastore unless explicitely stated or signaled that
> > >> >   NACM does not apply to a certain future datastore.
> > >> >
> > >> >   (This is essentially b) but with a default that NACM applies
> unless
> > >> >   things are explicitly regulated to be different.)
> > >> >
> > >> > I just thought it is worth to take a moment to think about this
> > >> > question.
> > >> >
> > >> > /js
> > >> >
> > >> > --
> > >> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > >> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen |
> Germany
> > >> > Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
> > >> >
> > >> > _______________________________________________
> > >> > Netconf mailing list
> > >> > Netconf@ietf.org
> > >> > https://www.ietf.org/mailman/listinfo/netconf
> > >>
> > >> Mahesh Jethanandani
> > >> mjethanandani@gmail.com
> > >>
> > >>
> > >>
> > >>
> > >
> > > Mahesh Jethanandani
> > > mjethanandani@gmail.com
> > >
> > >
>

--001a114746266c64b20550361785
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, May 23, 2017 at 12:15 AM, Martin Bjorklund <span dir=3D"ltr">&l=
t;<a href=3D"mailto:mbj@tail-f.com" target=3D"_blank">mbj@tail-f.com</a>&gt=
;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">Andy Bierman &lt;<a href=
=3D"mailto:andy@yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; The update is on github.<br>
&gt; <a href=3D"http://github.com/netconf-wg/rfc6536bis" rel=3D"noreferrer"=
 target=3D"_blank">http://github.com/netconf-wg/<wbr>rfc6536bis</a><br>
&gt;<br>
&gt; I would like Martin to look it over before it is posted.<br>
<br>
Done, and the new text looks good.=C2=A0 I moved the new subsection to be<b=
r>
the first in 3.2, and I also fixed some minor terminology issues.<br>
<br></blockquote><div><br></div><div>OK</div><div><br></div><div>=C2=A0</di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex">
But, I wonder if we shouldn&#39;t make the document even less NETCONF<br>
specific, and align the terminology to revised-datastores.=C2=A0 For<br>
example, currently the document talks about access to &quot;NETCONF<br>
datastores&quot;.=C2=A0 =C2=A0With the new less protocol-specific terminolo=
gy this<br>
would simply be &quot;datastore&quot;.<br>
<br></blockquote><div><br></div><div><br></div><div><br></div><div>I would =
prefer not to make more changes.</div><div>I think it is OK for NETCONF, RE=
STCONF, and any protocols based on them.</div><div><br></div><div>=C2=A0</d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex">
Also, we currently have this:<br>
<br>
=C2=A0 =C2=A0A standalone RESTCONF server (i.e., not co-located with a NETC=
ONF<br>
=C2=A0 =C2=A0server) applies NACM rules to a conceptual datastore, since<br=
>
=C2=A0 =C2=A0datastores are not supported in RESTCONF.<br>
<br>
I don&#39;t think this is quite correct.=C2=A0 Even in a stand-alone RESTCO=
NF<br>
server there is an underlying conceptual datastore, for which NACM can<br>
be used to control access.<br>
<br></blockquote><div><br></div><div><br></div><div>I do not agree there is=
 any RESTCONF requirement to implement datastores,</div><div>just the abili=
ty to apply NACM to the conceptual configuration datastore.</div><div><br><=
/div><div>The text says there is an underlying conceptual datastore, so wha=
t is the issue?</div><div><br></div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">
<br>
<br>
/martin<br>
<br></blockquote><div><br></div><div><br></div><div>Andy</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex">
<br>
&gt;<br>
&gt;<br>
&gt; Andy<br>
&gt;<br>
&gt;<br>
&gt; On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani &lt;<br>
&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>=
&gt; wrote:<br>
&gt;<br>
&gt; &gt; Andy,<br>
&gt; &gt;<br>
&gt; &gt; On May 16, 2017, at 2:32 PM, Andy Bierman &lt;<a href=3D"mailto:a=
ndy@yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani &lt;<br>
&gt; &gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.co=
m</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt; Having reviewed all the e-mails, I believe that there are few=
 issues that<br>
&gt; &gt;&gt; need to be resolved before we send the draft for publication.=
 We need to<br>
&gt; &gt;&gt; agree on the language, even if we do have the exact text in t=
he draft.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; To begin with, do the authors have a response to the suggesti=
ons from<br>
&gt; &gt;&gt; Juergen prompted by the question from Alex? Are we leaving th=
e NACM<br>
&gt; &gt;&gt; definition of any future datastores to the datastore draft, o=
r are we<br>
&gt; &gt;&gt; saying NACM applies to all datastores?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt; No. IMO the text should say NACM applies to NETCONF and RESTCONF<=
br>
&gt; &gt; with the existing datastores.<br>
&gt; &gt;<br>
&gt; &gt; NACM MAY be applied to other datastores that have similar operati=
on sets.<br>
&gt; &gt; Any new datastore specification needs to define how it maps to th=
e NACM<br>
&gt; &gt; CRUDX<br>
&gt; &gt; model.=C2=A0 The datastore does not need to use NACM (e.g., datas=
tore defines<br>
&gt; &gt; something else<br>
&gt; &gt; or does not use access control).<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Can you update the draft with this text.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; To the point that Andy raised earlier, we need to have texts arou=
nd<br>
&gt; &gt;&gt; datastores that provide more than CRUDX capabilities, includi=
ng any<br>
&gt; &gt;&gt; protocol operations, e.g. priority, as something that is out =
of scope of<br>
&gt; &gt;&gt; this document.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt; This would be outside the scope of NACM.<br>
&gt; &gt; This is part of the RPC input validation.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; And clarify that operations outside of CRUDX are outside the scop=
e of<br>
&gt; &gt; NACM. We can them move the document towards publication.<br>
&gt; &gt;<br>
&gt; &gt; Thanks.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt; NETCONF WG has moved to redefine its charter beyond NETCONF a=
nd RESTCONF.<br>
&gt; &gt;&gt; Therefore there is a real possibility of another protocol bei=
ng discussed<br>
&gt; &gt;&gt; in the WG. Is there something in the NACM draft that restrict=
s it to<br>
&gt; &gt;&gt; NETCONF/RESTCONF that other protocols cannot adopt? If so, ca=
n they be<br>
&gt; &gt;&gt; called out?<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; If NACM needs to be changed in the future because a new or existi=
ng<br>
&gt; &gt; protocol needs new features<br>
&gt; &gt; then the WG will have to deal with it then.<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt; Andy<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;&gt; &gt; On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder &lt;<=
br>
&gt; &gt;&gt; <a href=3D"mailto:j.schoenwaelder@jacobs-university.de">j.sch=
oenwaelder@jacobs-<wbr>university.de</a>&gt; wrote:<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklu=
nd wrote:<br>
&gt; &gt;&gt; &gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.co=
m">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; &gt;&gt; &gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm=
 &lt;<br>
&gt; &gt;&gt; <a href=3D"mailto:alexander.clemm@huawei.com">alexander.clemm=
@huawei.com</a><br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; wrote:<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; As mentioned in my message, I don=E2=80=99t =
think specific access control<br>
&gt; &gt;&gt; will be<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; needed (I am not aware of specific use cases=
), but specifically with<br>
&gt; &gt;&gt; the<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; revised datastore architecture about to the =
be introduced, its<br>
&gt; &gt;&gt; impact or<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; nonimpact and interrelation with NACM should=
 be discussed.=C2=A0 This can<br>
&gt; &gt;&gt; be as<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; simple as a small paragraph or subsection =
=E2=80=9CRevised Datastore<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;&gt; there is no text about candidate vs. running vs.=
 startup.<br>
&gt; &gt;&gt; &gt;&gt;&gt; The NACM rules apply to all of them the same.<br=
>
&gt; &gt;&gt; &gt;&gt;&gt; I could add text that says there is no considera=
tion for specific<br>
&gt; &gt;&gt; &gt;&gt;&gt; datastores.<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt; Actually, the document already says:<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt; 3.2.=C2=A0 Datastore Access<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;=C2=A0 =C2=A0The same access control rules apply to a=
ll datastores, for example,<br>
&gt; &gt;&gt; &gt;&gt;=C2=A0 =C2=A0the candidate configuration datastore or=
 the running configuration<br>
&gt; &gt;&gt; &gt;&gt;=C2=A0 =C2=A0datastore.<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;=C2=A0 =C2=A0Only the standard NETCONF datastores (ca=
ndidate, running, and<br>
&gt; &gt;&gt; &gt;&gt;=C2=A0 =C2=A0startup) are controlled by NACM.<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;&gt; Somehow this needs to be updated when the revised da=
tastore work is<br>
&gt; &gt;&gt; &gt;&gt; done.=C2=A0 E.g., I expect read access to intended t=
o follow the same NACM<br>
&gt; &gt;&gt; &gt;&gt; rules.<br>
&gt; &gt;&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; Yes. NACM likely also applies to the &lt;operational/&gt=
; datastore (but<br>
&gt; &gt;&gt; &gt; this follows already from the text that talks about &#39=
;state data&#39;).<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; My question, however, was about other future yet to be d=
efined<br>
&gt; &gt;&gt; &gt; &#39;dynamic&#39; datastores - does NACM make a statemen=
t of the form &#39;once an<br>
&gt; &gt;&gt; &gt; implementation announces NACM, NACM applies to all datas=
tores - no<br>
&gt; &gt;&gt; &gt; exceptions&#39; or do we leave it to the definition of f=
uture datastores<br>
&gt; &gt;&gt; &gt; to declare whether NACM applies to it. There may be thre=
e possible<br>
&gt; &gt;&gt; &gt; solutions:<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; a) Once an implementation supports NACM, NACM applies to=
 all<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0datastores (including any datastores defined=
 in the future).<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; b) Once an implementation supports NACM, NACM applies to=
 all<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0conventional datastores and the operational =
state datastore.=C2=A0 Other<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0datastores must define whether NACM applies =
to them.<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0(This means, whenever a new datastore is int=
roduced, the question<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0whether NACM applies has to answered for the=
 new datastore.)<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; c) Once an implementation supports NACM, NACM applies to=
 all current<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0and future datastore unless explicitely stat=
ed or signaled that<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0NACM does not apply to a certain future data=
store.<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0(This is essentially b) but with a default t=
hat NACM applies unless<br>
&gt; &gt;&gt; &gt;=C2=A0 =C2=A0things are explicitly regulated to be differ=
ent.)<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; I just thought it is worth to take a moment to think abo=
ut this<br>
&gt; &gt;&gt; &gt; question.<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; /js<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; --<br>
&gt; &gt;&gt; &gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0Jacobs University Bremen gGmbH<br>
&gt; &gt;&gt; &gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0Campus Ring 1 | 28759 Bremen | Germany<br>
&gt; &gt;&gt; &gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0&lt;<a href=3D"http://www.jacobs-university.de/" rel=3D"norefe=
rrer" target=3D"_blank">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt;&gt; &gt; Netconf mailing list<br>
&gt; &gt;&gt; &gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a>=
<br>
&gt; &gt;&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf=
" rel=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>li=
stinfo/netconf</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Mahesh Jethanandani<br>
&gt; &gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmai=
l.com</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; Mahesh Jethanandani<br>
&gt; &gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.co=
m</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
</blockquote></div><br></div></div>

--001a114746266c64b20550361785--


From nobody Tue May 23 12:41:18 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1570812EAD5 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:41:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pvqBAA1Y8t4G for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:41:14 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 4F7EA12EAC4 for <netconf@ietf.org>; Tue, 23 May 2017 12:41:14 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id BBE581AE0335; Tue, 23 May 2017 21:41:12 +0200 (CEST)
Date: Tue, 23 May 2017 21:41:12 +0200 (CEST)
Message-Id: <20170523.214112.307680055258062474.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: mjethanandani@gmail.com, j.schoenwaelder@jacobs-university.de, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHTeTL5g+uv+Q1cE+-_iBJjdu9Dk460JP_-O2+W77sqQZw@mail.gmail.com>
References: <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com> <20170523.091519.1988324449434279102.mbj@tail-f.com> <CABCOCHTeTL5g+uv+Q1cE+-_iBJjdu9Dk460JP_-O2+W77sqQZw@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9WdmbZYbwzcqQnArKYAqQKp0wjI>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 19:41:17 -0000

QW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+IHdyb3RlOg0KPiBPbiBUdWUsIE1heSAy
MywgMjAxNyBhdCAxMjoxNSBBTSwgTWFydGluIEJqb3JrbHVuZCA8bWJqQHRhaWwtZi5jb20+IHdy
b3RlOg0KPiANCj4gPiBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbT4gd3JvdGU6DQo+
ID4gPiBIaSwNCj4gPiA+DQo+ID4gPiBUaGUgdXBkYXRlIGlzIG9uIGdpdGh1Yi4NCj4gPiA+IGh0
dHA6Ly9naXRodWIuY29tL25ldGNvbmYtd2cvcmZjNjUzNmJpcw0KPiA+ID4NCj4gPiA+IEkgd291
bGQgbGlrZSBNYXJ0aW4gdG8gbG9vayBpdCBvdmVyIGJlZm9yZSBpdCBpcyBwb3N0ZWQuDQo+ID4N
Cj4gPiBEb25lLCBhbmQgdGhlIG5ldyB0ZXh0IGxvb2tzIGdvb2QuICBJIG1vdmVkIHRoZSBuZXcg
c3Vic2VjdGlvbiB0byBiZQ0KPiA+IHRoZSBmaXJzdCBpbiAzLjIsIGFuZCBJIGFsc28gZml4ZWQg
c29tZSBtaW5vciB0ZXJtaW5vbG9neSBpc3N1ZXMuDQo+ID4NCj4gPg0KPiBPSw0KPiANCj4gDQo+
IA0KPiA+IEJ1dCwgSSB3b25kZXIgaWYgd2Ugc2hvdWxkbid0IG1ha2UgdGhlIGRvY3VtZW50IGV2
ZW4gbGVzcyBORVRDT05GDQo+ID4gc3BlY2lmaWMsIGFuZCBhbGlnbiB0aGUgdGVybWlub2xvZ3kg
dG8gcmV2aXNlZC1kYXRhc3RvcmVzLiAgRm9yDQo+ID4gZXhhbXBsZSwgY3VycmVudGx5IHRoZSBk
b2N1bWVudCB0YWxrcyBhYm91dCBhY2Nlc3MgdG8gIk5FVENPTkYNCj4gPiBkYXRhc3RvcmVzIi4g
ICBXaXRoIHRoZSBuZXcgbGVzcyBwcm90b2NvbC1zcGVjaWZpYyB0ZXJtaW5vbG9neSB0aGlzDQo+
ID4gd291bGQgc2ltcGx5IGJlICJkYXRhc3RvcmUiLg0KPiA+DQo+ID4NCj4gDQo+IA0KPiBJIHdv
dWxkIHByZWZlciBub3QgdG8gbWFrZSBtb3JlIGNoYW5nZXMuDQo+IEkgdGhpbmsgaXQgaXMgT0sg
Zm9yIE5FVENPTkYsIFJFU1RDT05GLCBhbmQgYW55IHByb3RvY29scyBiYXNlZCBvbiB0aGVtLg0K
PiANCj4gDQo+IA0KPiA+IEFsc28sIHdlIGN1cnJlbnRseSBoYXZlIHRoaXM6DQo+ID4NCj4gPiAg
ICBBIHN0YW5kYWxvbmUgUkVTVENPTkYgc2VydmVyIChpLmUuLCBub3QgY28tbG9jYXRlZCB3aXRo
IGEgTkVUQ09ORg0KPiA+ICAgIHNlcnZlcikgYXBwbGllcyBOQUNNIHJ1bGVzIHRvIGEgY29uY2Vw
dHVhbCBkYXRhc3RvcmUsIHNpbmNlDQo+ID4gICAgZGF0YXN0b3JlcyBhcmUgbm90IHN1cHBvcnRl
ZCBpbiBSRVNUQ09ORi4NCj4gPg0KPiA+IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBxdWl0ZSBjb3Jy
ZWN0LiAgRXZlbiBpbiBhIHN0YW5kLWFsb25lIFJFU1RDT05GDQo+ID4gc2VydmVyIHRoZXJlIGlz
IGFuIHVuZGVybHlpbmcgY29uY2VwdHVhbCBkYXRhc3RvcmUsIGZvciB3aGljaCBOQUNNIGNhbg0K
PiA+IGJlIHVzZWQgdG8gY29udHJvbCBhY2Nlc3MuDQo+ID4NCj4gPg0KPiANCj4gSSBkbyBub3Qg
YWdyZWUgdGhlcmUgaXMgYW55IFJFU1RDT05GIHJlcXVpcmVtZW50IHRvIGltcGxlbWVudCBkYXRh
c3RvcmVzLA0KPiBqdXN0IHRoZSBhYmlsaXR5IHRvIGFwcGx5IE5BQ00gdG8gdGhlIGNvbmNlcHR1
YWwgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUuDQo+IA0KPiBUaGUgdGV4dCBzYXlzIHRoZXJlIGlz
IGFuIHVuZGVybHlpbmcgY29uY2VwdHVhbCBkYXRhc3RvcmUsIHNvIHdoYXQgaXMgdGhlDQo+IGlz
c3VlPw0KDQpBbGwgZGF0YXN0b3JlcyBhcmUgY29uY2VwdHVhbC4gIFRoZSBwcm9ibGVtIGlzIHRo
YXQgdGhlIHRleHQgaXMNCmNvbnRyYWRpY3RvcnkgLSBpdCBzYXlzIHRoYXQgUkMgYXBwbGllcyBO
QUNNIHRvIGEgZGF0YXN0b3JlLCBzaW5jZSBSQw0KZG9lc24ndCBzdXBwb3J0IGRhdGFzdG9yZXMu
ICBUaGlzIGRvZXNuJ3QgbWFrZSBzZW5zZS4NCg0KTWF5YmUgd2UgY2FuIHNpbXBseSByZW1vdmUg
dGhpcyBzZW50ZW5jZS4NCg0KDQovbWFydGluDQoNCg0KDQoNCj4gDQo+IA0KPiANCj4gPg0KPiA+
DQo+ID4gL21hcnRpbg0KPiA+DQo+ID4NCj4gDQo+IEFuZHkNCj4gDQo+IA0KPiA+DQo+ID4gPg0K
PiA+ID4NCj4gPiA+IEFuZHkNCj4gPiA+DQo+ID4gPg0KPiA+ID4gT24gU3VuLCBNYXkgMjEsIDIw
MTcgYXQgMTA6MjUgUE0sIE1haGVzaCBKZXRoYW5hbmRhbmkgPA0KPiA+ID4gbWpldGhhbmFuZGFu
aUBnbWFpbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ID4gQW5keSwNCj4gPiA+ID4NCj4gPiA+
ID4gT24gTWF5IDE2LCAyMDE3LCBhdCAyOjMyIFBNLCBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdv
cmtzLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IE9uIFR1
ZSwgTWF5IDE2LCAyMDE3IGF0IDI6MDIgUE0sIE1haGVzaCBKZXRoYW5hbmRhbmkgPA0KPiA+ID4g
PiBtamV0aGFuYW5kYW5pQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+PiBIYXZp
bmcgcmV2aWV3ZWQgYWxsIHRoZSBlLW1haWxzLCBJIGJlbGlldmUgdGhhdCB0aGVyZSBhcmUgZmV3
IGlzc3Vlcw0KPiA+IHRoYXQNCj4gPiA+ID4+IG5lZWQgdG8gYmUgcmVzb2x2ZWQgYmVmb3JlIHdl
IHNlbmQgdGhlIGRyYWZ0IGZvciBwdWJsaWNhdGlvbi4gV2UgbmVlZA0KPiA+IHRvDQo+ID4gPiA+
PiBhZ3JlZSBvbiB0aGUgbGFuZ3VhZ2UsIGV2ZW4gaWYgd2UgZG8gaGF2ZSB0aGUgZXhhY3QgdGV4
dCBpbiB0aGUgZHJhZnQuDQo+ID4gPiA+Pg0KPiA+ID4gPj4gVG8gYmVnaW4gd2l0aCwgZG8gdGhl
IGF1dGhvcnMgaGF2ZSBhIHJlc3BvbnNlIHRvIHRoZSBzdWdnZXN0aW9ucyBmcm9tDQo+ID4gPiA+
PiBKdWVyZ2VuIHByb21wdGVkIGJ5IHRoZSBxdWVzdGlvbiBmcm9tIEFsZXg/IEFyZSB3ZSBsZWF2
aW5nIHRoZSBOQUNNDQo+ID4gPiA+PiBkZWZpbml0aW9uIG9mIGFueSBmdXR1cmUgZGF0YXN0b3Jl
cyB0byB0aGUgZGF0YXN0b3JlIGRyYWZ0LCBvciBhcmUgd2UNCj4gPiA+ID4+IHNheWluZyBOQUNN
IGFwcGxpZXMgdG8gYWxsIGRhdGFzdG9yZXM/DQo+ID4gPiA+Pg0KPiA+ID4gPj4NCj4gPiA+ID4g
Tm8uIElNTyB0aGUgdGV4dCBzaG91bGQgc2F5IE5BQ00gYXBwbGllcyB0byBORVRDT05GIGFuZCBS
RVNUQ09ORg0KPiA+ID4gPiB3aXRoIHRoZSBleGlzdGluZyBkYXRhc3RvcmVzLg0KPiA+ID4gPg0K
PiA+ID4gPiBOQUNNIE1BWSBiZSBhcHBsaWVkIHRvIG90aGVyIGRhdGFzdG9yZXMgdGhhdCBoYXZl
IHNpbWlsYXIgb3BlcmF0aW9uDQo+ID4gc2V0cy4NCj4gPiA+ID4gQW55IG5ldyBkYXRhc3RvcmUg
c3BlY2lmaWNhdGlvbiBuZWVkcyB0byBkZWZpbmUgaG93IGl0IG1hcHMgdG8gdGhlIE5BQ00NCj4g
PiA+ID4gQ1JVRFgNCj4gPiA+ID4gbW9kZWwuICBUaGUgZGF0YXN0b3JlIGRvZXMgbm90IG5lZWQg
dG8gdXNlIE5BQ00gKGUuZy4sIGRhdGFzdG9yZQ0KPiA+IGRlZmluZXMNCj4gPiA+ID4gc29tZXRo
aW5nIGVsc2UNCj4gPiA+ID4gb3IgZG9lcyBub3QgdXNlIGFjY2VzcyBjb250cm9sKS4NCj4gPiA+
ID4NCj4gPiA+ID4NCj4gPiA+ID4gQ2FuIHlvdSB1cGRhdGUgdGhlIGRyYWZ0IHdpdGggdGhpcyB0
ZXh0Lg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBUbyB0aGUgcG9pbnQgdGhh
dCBBbmR5IHJhaXNlZCBlYXJsaWVyLCB3ZSBuZWVkIHRvIGhhdmUgdGV4dHMgYXJvdW5kDQo+ID4g
PiA+PiBkYXRhc3RvcmVzIHRoYXQgcHJvdmlkZSBtb3JlIHRoYW4gQ1JVRFggY2FwYWJpbGl0aWVz
LCBpbmNsdWRpbmcgYW55DQo+ID4gPiA+PiBwcm90b2NvbCBvcGVyYXRpb25zLCBlLmcuIHByaW9y
aXR5LCBhcyBzb21ldGhpbmcgdGhhdCBpcyBvdXQgb2Ygc2NvcGUNCj4gPiBvZg0KPiA+ID4gPj4g
dGhpcyBkb2N1bWVudC4NCj4gPiA+ID4+DQo+ID4gPiA+Pg0KPiA+ID4gPiBUaGlzIHdvdWxkIGJl
IG91dHNpZGUgdGhlIHNjb3BlIG9mIE5BQ00uDQo+ID4gPiA+IFRoaXMgaXMgcGFydCBvZiB0aGUg
UlBDIGlucHV0IHZhbGlkYXRpb24uDQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IEFuZCBjbGFy
aWZ5IHRoYXQgb3BlcmF0aW9ucyBvdXRzaWRlIG9mIENSVURYIGFyZSBvdXRzaWRlIHRoZSBzY29w
ZSBvZg0KPiA+ID4gPiBOQUNNLiBXZSBjYW4gdGhlbSBtb3ZlIHRoZSBkb2N1bWVudCB0b3dhcmRz
IHB1YmxpY2F0aW9uLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGFua3MuDQo+ID4gPiA+DQo+ID4gPiA+
DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+PiBORVRDT05GIFdHIGhhcyBtb3ZlZCB0byByZWRl
ZmluZSBpdHMgY2hhcnRlciBiZXlvbmQgTkVUQ09ORiBhbmQNCj4gPiBSRVNUQ09ORi4NCj4gPiA+
ID4+IFRoZXJlZm9yZSB0aGVyZSBpcyBhIHJlYWwgcG9zc2liaWxpdHkgb2YgYW5vdGhlciBwcm90
b2NvbCBiZWluZw0KPiA+IGRpc2N1c3NlZA0KPiA+ID4gPj4gaW4gdGhlIFdHLiBJcyB0aGVyZSBz
b21ldGhpbmcgaW4gdGhlIE5BQ00gZHJhZnQgdGhhdCByZXN0cmljdHMgaXQgdG8NCj4gPiA+ID4+
IE5FVENPTkYvUkVTVENPTkYgdGhhdCBvdGhlciBwcm90b2NvbHMgY2Fubm90IGFkb3B0PyBJZiBz
bywgY2FuIHRoZXkgYmUNCj4gPiA+ID4+IGNhbGxlZCBvdXQ/DQo+ID4gPiA+Pg0KPiA+ID4gPg0K
PiA+ID4gPiBJZiBOQUNNIG5lZWRzIHRvIGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZSBiZWNhdXNl
IGEgbmV3IG9yIGV4aXN0aW5nDQo+ID4gPiA+IHByb3RvY29sIG5lZWRzIG5ldyBmZWF0dXJlcw0K
PiA+ID4gPiB0aGVuIHRoZSBXRyB3aWxsIGhhdmUgdG8gZGVhbCB3aXRoIGl0IHRoZW4uDQo+ID4g
PiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+Pg0KPiA+ID4gPj4gVGhhbmtzLg0KPiA+ID4g
Pj4NCj4gPiA+ID4+DQo+ID4gPiA+IEFuZHkNCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4+ID4g
T24gTWF5IDksIDIwMTcsIGF0IDExOjQ2IFBNLCBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgPA0KPiA+
ID4gPj4gai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPiB3cm90ZToNCj4gPiA+
ID4+ID4NCj4gPiA+ID4+ID4gT24gVHVlLCBNYXkgMDksIDIwMTcgYXQgMDI6NTA6MzBQTSArMDIw
MCwgTWFydGluIEJqb3JrbHVuZCB3cm90ZToNCj4gPiA+ID4+ID4+IEFuZHkgQmllcm1hbiA8YW5k
eUB5dW1hd29ya3MuY29tPiB3cm90ZToNCj4gPiA+ID4+ID4+PiBPbiBUaHUsIE1heSA0LCAyMDE3
IGF0IDExOjIxIEFNLCBBbGV4YW5kZXIgQ2xlbW0gPA0KPiA+ID4gPj4gYWxleGFuZGVyLmNsZW1t
QGh1YXdlaS5jb20NCj4gPiA+ID4+ID4+Pj4gd3JvdGU6DQo+ID4gPiA+PiA+Pj4NCj4gPiA+ID4+
ID4+Pj4gQXMgbWVudGlvbmVkIGluIG15IG1lc3NhZ2UsIEkgZG9u4oCZdCB0aGluayBzcGVjaWZp
YyBhY2Nlc3MgY29udHJvbA0KPiA+ID4gPj4gd2lsbCBiZQ0KPiA+ID4gPj4gPj4+PiBuZWVkZWQg
KEkgYW0gbm90IGF3YXJlIG9mIHNwZWNpZmljIHVzZSBjYXNlcyksIGJ1dCBzcGVjaWZpY2FsbHkN
Cj4gPiB3aXRoDQo+ID4gPiA+PiB0aGUNCj4gPiA+ID4+ID4+Pj4gcmV2aXNlZCBkYXRhc3RvcmUg
YXJjaGl0ZWN0dXJlIGFib3V0IHRvIHRoZSBiZSBpbnRyb2R1Y2VkLCBpdHMNCj4gPiA+ID4+IGlt
cGFjdCBvcg0KPiA+ID4gPj4gPj4+PiBub25pbXBhY3QgYW5kIGludGVycmVsYXRpb24gd2l0aCBO
QUNNIHNob3VsZCBiZSBkaXNjdXNzZWQuICBUaGlzDQo+ID4gY2FuDQo+ID4gPiA+PiBiZSBhcw0K
PiA+ID4gPj4gPj4+PiBzaW1wbGUgYXMgYSBzbWFsbCBwYXJhZ3JhcGggb3Igc3Vic2VjdGlvbiDi
gJxSZXZpc2VkIERhdGFzdG9yZQ0KPiA+ID4gPj4gPj4+PiBDb25zaWRlcmF0aW9uc+KAnS4NCj4g
PiA+ID4+ID4+Pj4NCj4gPiA+ID4+ID4+Pj4NCj4gPiA+ID4+ID4+Pj4NCj4gPiA+ID4+ID4+Pg0K
PiA+ID4gPj4gPj4+IHRoZXJlIGlzIG5vIHRleHQgYWJvdXQgY2FuZGlkYXRlIHZzLiBydW5uaW5n
IHZzLiBzdGFydHVwLg0KPiA+ID4gPj4gPj4+IFRoZSBOQUNNIHJ1bGVzIGFwcGx5IHRvIGFsbCBv
ZiB0aGVtIHRoZSBzYW1lLg0KPiA+ID4gPj4gPj4+IEkgY291bGQgYWRkIHRleHQgdGhhdCBzYXlz
IHRoZXJlIGlzIG5vIGNvbnNpZGVyYXRpb24gZm9yIHNwZWNpZmljDQo+ID4gPiA+PiA+Pj4gZGF0
YXN0b3Jlcy4NCj4gPiA+ID4+ID4+DQo+ID4gPiA+PiA+PiBBY3R1YWxseSwgdGhlIGRvY3VtZW50
IGFscmVhZHkgc2F5czoNCj4gPiA+ID4+ID4+DQo+ID4gPiA+PiA+PiAzLjIuICBEYXRhc3RvcmUg
QWNjZXNzDQo+ID4gPiA+PiA+Pg0KPiA+ID4gPj4gPj4gICBUaGUgc2FtZSBhY2Nlc3MgY29udHJv
bCBydWxlcyBhcHBseSB0byBhbGwgZGF0YXN0b3JlcywgZm9yDQo+ID4gZXhhbXBsZSwNCj4gPiA+
ID4+ID4+ICAgdGhlIGNhbmRpZGF0ZSBjb25maWd1cmF0aW9uIGRhdGFzdG9yZSBvciB0aGUgcnVu
bmluZw0KPiA+IGNvbmZpZ3VyYXRpb24NCj4gPiA+ID4+ID4+ICAgZGF0YXN0b3JlLg0KPiA+ID4g
Pj4gPj4NCj4gPiA+ID4+ID4+ICAgT25seSB0aGUgc3RhbmRhcmQgTkVUQ09ORiBkYXRhc3RvcmVz
IChjYW5kaWRhdGUsIHJ1bm5pbmcsIGFuZA0KPiA+ID4gPj4gPj4gICBzdGFydHVwKSBhcmUgY29u
dHJvbGxlZCBieSBOQUNNLg0KPiA+ID4gPj4gPj4NCj4gPiA+ID4+ID4+DQo+ID4gPiA+PiA+PiBT
b21laG93IHRoaXMgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aGVuIHRoZSByZXZpc2VkIGRhdGFzdG9y
ZSB3b3JrIGlzDQo+ID4gPiA+PiA+PiBkb25lLiAgRS5nLiwgSSBleHBlY3QgcmVhZCBhY2Nlc3Mg
dG8gaW50ZW5kZWQgdG8gZm9sbG93IHRoZSBzYW1lDQo+ID4gTkFDTQ0KPiA+ID4gPj4gPj4gcnVs
ZXMuDQo+ID4gPiA+PiA+Pg0KPiA+ID4gPj4gPg0KPiA+ID4gPj4gPiBZZXMuIE5BQ00gbGlrZWx5
IGFsc28gYXBwbGllcyB0byB0aGUgPG9wZXJhdGlvbmFsLz4gZGF0YXN0b3JlIChidXQNCj4gPiA+
ID4+ID4gdGhpcyBmb2xsb3dzIGFscmVhZHkgZnJvbSB0aGUgdGV4dCB0aGF0IHRhbGtzIGFib3V0
ICdzdGF0ZSBkYXRhJykuDQo+ID4gPiA+PiA+DQo+ID4gPiA+PiA+IE15IHF1ZXN0aW9uLCBob3dl
dmVyLCB3YXMgYWJvdXQgb3RoZXIgZnV0dXJlIHlldCB0byBiZSBkZWZpbmVkDQo+ID4gPiA+PiA+
ICdkeW5hbWljJyBkYXRhc3RvcmVzIC0gZG9lcyBOQUNNIG1ha2UgYSBzdGF0ZW1lbnQgb2YgdGhl
IGZvcm0gJ29uY2UNCj4gPiBhbg0KPiA+ID4gPj4gPiBpbXBsZW1lbnRhdGlvbiBhbm5vdW5jZXMg
TkFDTSwgTkFDTSBhcHBsaWVzIHRvIGFsbCBkYXRhc3RvcmVzIC0gbm8NCj4gPiA+ID4+ID4gZXhj
ZXB0aW9ucycgb3IgZG8gd2UgbGVhdmUgaXQgdG8gdGhlIGRlZmluaXRpb24gb2YgZnV0dXJlIGRh
dGFzdG9yZXMNCj4gPiA+ID4+ID4gdG8gZGVjbGFyZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0byBp
dC4gVGhlcmUgbWF5IGJlIHRocmVlIHBvc3NpYmxlDQo+ID4gPiA+PiA+IHNvbHV0aW9uczoNCj4g
PiA+ID4+ID4NCj4gPiA+ID4+ID4gYSkgT25jZSBhbiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBO
QUNNLCBOQUNNIGFwcGxpZXMgdG8gYWxsDQo+ID4gPiA+PiA+ICAgZGF0YXN0b3JlcyAoaW5jbHVk
aW5nIGFueSBkYXRhc3RvcmVzIGRlZmluZWQgaW4gdGhlIGZ1dHVyZSkuDQo+ID4gPiA+PiA+DQo+
ID4gPiA+PiA+IGIpIE9uY2UgYW4gaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTkFDTSwgTkFDTSBh
cHBsaWVzIHRvIGFsbA0KPiA+ID4gPj4gPiAgIGNvbnZlbnRpb25hbCBkYXRhc3RvcmVzIGFuZCB0
aGUgb3BlcmF0aW9uYWwgc3RhdGUgZGF0YXN0b3JlLg0KPiA+IE90aGVyDQo+ID4gPiA+PiA+ICAg
ZGF0YXN0b3JlcyBtdXN0IGRlZmluZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0byB0aGVtLg0KPiA+
ID4gPj4gPg0KPiA+ID4gPj4gPiAgIChUaGlzIG1lYW5zLCB3aGVuZXZlciBhIG5ldyBkYXRhc3Rv
cmUgaXMgaW50cm9kdWNlZCwgdGhlIHF1ZXN0aW9uDQo+ID4gPiA+PiA+ICAgd2hldGhlciBOQUNN
IGFwcGxpZXMgaGFzIHRvIGFuc3dlcmVkIGZvciB0aGUgbmV3IGRhdGFzdG9yZS4pDQo+ID4gPiA+
PiA+DQo+ID4gPiA+PiA+IGMpIE9uY2UgYW4gaW1wbGVtZW50YXRpb24gc3VwcG9ydHMgTkFDTSwg
TkFDTSBhcHBsaWVzIHRvIGFsbCBjdXJyZW50DQo+ID4gPiA+PiA+ICAgYW5kIGZ1dHVyZSBkYXRh
c3RvcmUgdW5sZXNzIGV4cGxpY2l0ZWx5IHN0YXRlZCBvciBzaWduYWxlZCB0aGF0DQo+ID4gPiA+
PiA+ICAgTkFDTSBkb2VzIG5vdCBhcHBseSB0byBhIGNlcnRhaW4gZnV0dXJlIGRhdGFzdG9yZS4N
Cj4gPiA+ID4+ID4NCj4gPiA+ID4+ID4gICAoVGhpcyBpcyBlc3NlbnRpYWxseSBiKSBidXQgd2l0
aCBhIGRlZmF1bHQgdGhhdCBOQUNNIGFwcGxpZXMNCj4gPiB1bmxlc3MNCj4gPiA+ID4+ID4gICB0
aGluZ3MgYXJlIGV4cGxpY2l0bHkgcmVndWxhdGVkIHRvIGJlIGRpZmZlcmVudC4pDQo+ID4gPiA+
PiA+DQo+ID4gPiA+PiA+IEkganVzdCB0aG91Z2h0IGl0IGlzIHdvcnRoIHRvIHRha2UgYSBtb21l
bnQgdG8gdGhpbmsgYWJvdXQgdGhpcw0KPiA+ID4gPj4gPiBxdWVzdGlvbi4NCj4gPiA+ID4+ID4N
Cj4gPiA+ID4+ID4gL2pzDQo+ID4gPiA+PiA+DQo+ID4gPiA+PiA+IC0tDQo+ID4gPiA+PiA+IEp1
ZXJnZW4gU2Nob2Vud2FlbGRlciAgICAgICAgICAgSmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdH
bWJIDQo+ID4gPiA+PiA+IFBob25lOiArNDkgNDIxIDIwMCAzNTg3ICAgICAgICAgQ2FtcHVzIFJp
bmcgMSB8IDI4NzU5IEJyZW1lbiB8DQo+ID4gR2VybWFueQ0KPiA+ID4gPj4gPiBGYXg6ICAgKzQ5
IDQyMSAyMDAgMzEwMyAgICAgICAgIDxodHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4N
Cj4gPiA+ID4+ID4NCj4gPiA+ID4+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18NCj4gPiA+ID4+ID4gTmV0Y29uZiBtYWlsaW5nIGxpc3QNCj4gPiA+ID4+
ID4gTmV0Y29uZkBpZXRmLm9yZw0KPiA+ID4gPj4gPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL25ldGNvbmYNCj4gPiA+ID4+DQo+ID4gPiA+PiBNYWhlc2ggSmV0aGFuYW5k
YW5pDQo+ID4gPiA+PiBtamV0aGFuYW5kYW5pQGdtYWlsLmNvbQ0KPiA+ID4gPj4NCj4gPiA+ID4+
DQo+ID4gPiA+Pg0KPiA+ID4gPj4NCj4gPiA+ID4NCj4gPiA+ID4gTWFoZXNoIEpldGhhbmFuZGFu
aQ0KPiA+ID4gPiBtamV0aGFuYW5kYW5pQGdtYWlsLmNvbQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+
DQo=


From nobody Tue May 23 12:42:27 2017
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A920212EAED for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:42:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level: 
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5t5fkDRi7R-l for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 12:42:10 -0700 (PDT)
Received: from mail-oi0-x22a.google.com (mail-oi0-x22a.google.com [IPv6:2607:f8b0:4003:c06::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DFC1A12EAF2 for <netconf@ietf.org>; Tue, 23 May 2017 12:42:00 -0700 (PDT)
Received: by mail-oi0-x22a.google.com with SMTP id b204so215395611oii.1 for <netconf@ietf.org>; Tue, 23 May 2017 12:42:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FzDar1Urli+4e51jyDp4SpnJ17Oo6CSS2HEpYh3J5tI=; b=hcXfllXQUUNE6Bt9WhcQIy6z+BBtLgb8nt5ozYXM+zGg0wMYUeVD8MdBXVxBevHdBa U4P5q55Sk3d/tnaHEuI9yBKwDARdfwv2hddnq2YLJVxjvLMphszGPR3W08SG7AU9AB11 B24shkq6fyOvbZeiIbbEuXEk3oAty5hyp8cAp47qjp/UUXmQvM2pQAZSyQBU2inzOnBQ oJ6HJiOtt3MC1lgek+3/A3SVjk4VfWeJY9bksxJdOsV2HGwVftjed0w5gnkhSqKRZgrQ xEt6oq+BI6ARq1XNZDe0jM5+wrNgeK6YnoLaUap0hqkeaG9BstqQMMCgWXvtt6QR7a2J MADA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FzDar1Urli+4e51jyDp4SpnJ17Oo6CSS2HEpYh3J5tI=; b=PyId8NqRbxjOvnQkJPlj8K7pQaQMruYbM4oGur7HLeaS8zPtcWSUeXJB3ZguwIw7p3 MVwuui9FjReQA3H8PBChkLEdNb18vA5orgcyOylwibzPg5NrWC0xq5pUOAN/9AfGofnB RgFRDOkYakDQjbXXfl0iso95fcosL7kWRMZaJnqHddt5cmTAL1VswMfdTHV7UZSQ1CWl 62mF/XGLlbOKCOxSaXnmpcy1iUd7+u5e8V6g48joO0DN2Nqn7ePcKxXrziGDo3f5zYU3 4lWSm0t7yqUMYTAltzavaozvhd/3DNKi12PhT4d2aOGehROHZmz4+wuII0PmMX4ZTscj jtWg==
X-Gm-Message-State: AODbwcBiho0XwvHMVH+2Sw6Zz7OIdGf6qGVQETL5o+YAzUTeRrB01Npa 4NM/L61SDPCijw==
X-Received: by 10.157.21.39 with SMTP id u36mr2389567otf.187.1495568520088; Tue, 23 May 2017 12:42:00 -0700 (PDT)
Received: from ?IPv6:2001:420:30d:1320:4da2:f54:c85e:a54? ([2001:420:30d:1320:4da2:f54:c85e:a54]) by smtp.gmail.com with ESMTPSA id j60sm704373otc.50.2017.05.23.12.41.58 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 23 May 2017 12:41:59 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <20170523.091519.1988324449434279102.mbj@tail-f.com>
Date: Tue, 23 May 2017 12:41:58 -0700
Cc: Andy Bierman <andy@yumaworks.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, netconf@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com>
References: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com> <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com> <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com> <20170523.091519.1988324449434279102.mbj@tail-f.com>
To: Martin Bjorklund <mbj@tail-f.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/O1Unw26BFDhJcXfH6bGdxI6YEUw>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 19:42:13 -0000

> On May 23, 2017, at 12:15 AM, Martin Bjorklund <mbj@tail-f.com> wrote:
>=20
> Andy Bierman <andy@yumaworks.com> wrote:
>> Hi,
>>=20
>> The update is on github.
>> http://github.com/netconf-wg/rfc6536bis
>>=20
>> I would like Martin to look it over before it is posted.
>=20
> Done, and the new text looks good.  I moved the new subsection to be
> the first in 3.2, and I also fixed some minor terminology issues.
>=20
> But, I wonder if we shouldn't make the document even less NETCONF
> specific, and align the terminology to revised-datastores.  For
> example, currently the document talks about access to "NETCONF
> datastores".   With the new less protocol-specific terminology this
> would simply be "datastore=E2=80=9D.

I would prefer this.

>=20
> Also, we currently have this:
>=20
>   A standalone RESTCONF server (i.e., not co-located with a NETCONF
>   server) applies NACM rules to a conceptual datastore, since
>   datastores are not supported in RESTCONF.
>=20
> I don't think this is quite correct.  Even in a stand-alone RESTCONF
> server there is an underlying conceptual datastore, for which NACM can
> be used to control access. =20
>=20
>=20
>=20
> /martin
>=20
>=20
>>=20
>>=20
>> Andy
>>=20
>>=20
>> On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <
>> mjethanandani@gmail.com> wrote:
>>=20
>>> Andy,
>>>=20
>>> On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com> =
wrote:
>>>=20
>>>=20
>>>=20
>>> On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
>>> mjethanandani@gmail.com> wrote:
>>>=20
>>>> Having reviewed all the e-mails, I believe that there are few =
issues that
>>>> need to be resolved before we send the draft for publication. We =
need to
>>>> agree on the language, even if we do have the exact text in the =
draft.
>>>>=20
>>>> To begin with, do the authors have a response to the suggestions =
from
>>>> Juergen prompted by the question from Alex? Are we leaving the NACM
>>>> definition of any future datastores to the datastore draft, or are =
we
>>>> saying NACM applies to all datastores?
>>>>=20
>>>>=20
>>> No. IMO the text should say NACM applies to NETCONF and RESTCONF
>>> with the existing datastores.
>>>=20
>>> NACM MAY be applied to other datastores that have similar operation =
sets.
>>> Any new datastore specification needs to define how it maps to the =
NACM
>>> CRUDX
>>> model.  The datastore does not need to use NACM (e.g., datastore =
defines
>>> something else
>>> or does not use access control).
>>>=20
>>>=20
>>> Can you update the draft with this text.
>>>=20
>>>=20
>>>=20
>>> To the point that Andy raised earlier, we need to have texts around
>>>> datastores that provide more than CRUDX capabilities, including any
>>>> protocol operations, e.g. priority, as something that is out of =
scope of
>>>> this document.
>>>>=20
>>>>=20
>>> This would be outside the scope of NACM.
>>> This is part of the RPC input validation.
>>>=20
>>>=20
>>> And clarify that operations outside of CRUDX are outside the scope =
of
>>> NACM. We can them move the document towards publication.
>>>=20
>>> Thanks.
>>>=20
>>>=20
>>>=20
>>>=20
>>>> NETCONF WG has moved to redefine its charter beyond NETCONF and =
RESTCONF.
>>>> Therefore there is a real possibility of another protocol being =
discussed
>>>> in the WG. Is there something in the NACM draft that restricts it =
to
>>>> NETCONF/RESTCONF that other protocols cannot adopt? If so, can they =
be
>>>> called out?
>>>>=20
>>>=20
>>> If NACM needs to be changed in the future because a new or existing
>>> protocol needs new features
>>> then the WG will have to deal with it then.
>>>=20
>>>=20
>>>=20
>>>>=20
>>>> Thanks.
>>>>=20
>>>>=20
>>> Andy
>>>=20
>>>=20
>>>>> On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
>>>> j.schoenwaelder@jacobs-university.de> wrote:
>>>>>=20
>>>>> On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
>>>>>> Andy Bierman <andy@yumaworks.com> wrote:
>>>>>>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
>>>> alexander.clemm@huawei.com
>>>>>>>> wrote:
>>>>>>>=20
>>>>>>>> As mentioned in my message, I don=E2=80=99t think specific =
access control
>>>> will be
>>>>>>>> needed (I am not aware of specific use cases), but specifically =
with
>>>> the
>>>>>>>> revised datastore architecture about to the be introduced, its
>>>> impact or
>>>>>>>> nonimpact and interrelation with NACM should be discussed.  =
This can
>>>> be as
>>>>>>>> simple as a small paragraph or subsection =E2=80=9CRevised =
Datastore
>>>>>>>> Considerations=E2=80=9D.
>>>>>>>>=20
>>>>>>>>=20
>>>>>>>>=20
>>>>>>>=20
>>>>>>> there is no text about candidate vs. running vs. startup.
>>>>>>> The NACM rules apply to all of them the same.
>>>>>>> I could add text that says there is no consideration for =
specific
>>>>>>> datastores.
>>>>>>=20
>>>>>> Actually, the document already says:
>>>>>>=20
>>>>>> 3.2.  Datastore Access
>>>>>>=20
>>>>>>  The same access control rules apply to all datastores, for =
example,
>>>>>>  the candidate configuration datastore or the running =
configuration
>>>>>>  datastore.
>>>>>>=20
>>>>>>  Only the standard NETCONF datastores (candidate, running, and
>>>>>>  startup) are controlled by NACM.
>>>>>>=20
>>>>>>=20
>>>>>> Somehow this needs to be updated when the revised datastore work =
is
>>>>>> done.  E.g., I expect read access to intended to follow the same =
NACM
>>>>>> rules.
>>>>>>=20
>>>>>=20
>>>>> Yes. NACM likely also applies to the <operational/> datastore (but
>>>>> this follows already from the text that talks about 'state data').
>>>>>=20
>>>>> My question, however, was about other future yet to be defined
>>>>> 'dynamic' datastores - does NACM make a statement of the form =
'once an
>>>>> implementation announces NACM, NACM applies to all datastores - no
>>>>> exceptions' or do we leave it to the definition of future =
datastores
>>>>> to declare whether NACM applies to it. There may be three possible
>>>>> solutions:
>>>>>=20
>>>>> a) Once an implementation supports NACM, NACM applies to all
>>>>>  datastores (including any datastores defined in the future).
>>>>>=20
>>>>> b) Once an implementation supports NACM, NACM applies to all
>>>>>  conventional datastores and the operational state datastore.  =
Other
>>>>>  datastores must define whether NACM applies to them.
>>>>>=20
>>>>>  (This means, whenever a new datastore is introduced, the question
>>>>>  whether NACM applies has to answered for the new datastore.)
>>>>>=20
>>>>> c) Once an implementation supports NACM, NACM applies to all =
current
>>>>>  and future datastore unless explicitely stated or signaled that
>>>>>  NACM does not apply to a certain future datastore.
>>>>>=20
>>>>>  (This is essentially b) but with a default that NACM applies =
unless
>>>>>  things are explicitly regulated to be different.)
>>>>>=20
>>>>> I just thought it is worth to take a moment to think about this
>>>>> question.
>>>>>=20
>>>>> /js
>>>>>=20
>>>>> --
>>>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | =
Germany
>>>>> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>>>>>=20
>>>>> _______________________________________________
>>>>> Netconf mailing list
>>>>> Netconf@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/netconf
>>>>=20
>>>> Mahesh Jethanandani
>>>> mjethanandani@gmail.com
>>>>=20
>>>>=20
>>>>=20
>>>>=20
>>>=20
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com
>>>=20
>>>=20

Mahesh Jethanandani
mjethanandani@gmail.com




From nobody Tue May 23 15:16:43 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B1D83129B74 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 15:16:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level: 
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cMnoTh6J9X2r for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 15:16:39 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 50766129BAB for <netconf@ietf.org>; Tue, 23 May 2017 15:16:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=11525; q=dns/txt; s=iport; t=1495577798; x=1496787398; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Mjn4uuAFAbQkOyjbdSJk6T0o3fowkoDfvcnq5XA3tAI=; b=HOiqhQ9ByoJH4VGBAe2S7NeNXrd05TnX/M9zvMX7O1JPNGvSNuTT9ecY HD0JoDarteeLSfbAPvfaWb9nY8p4680IpcL2C1q8EQaH2pgXdDRwjvuaW vGrdq3bGaZYnbS0XaxH/JxsgwdRzsb+uMQC7mrzIMuvkpCixMp0i1M5jE Y=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A/AQDQsyRZ/5xdJa1TCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYNVYjEBWgeOAJF3lXeCDyELhS5KAoJdPxgBAgEBAQEBAQFrKIU?= =?us-ascii?q?YAQEBAQIBAQE4NAsFBwQCAQgOAwQBAQEMAREJBycLFAkIAgQOBQiKFggOr0eLP?= =?us-ascii?q?AEBAQEBAQEBAQEBAQEBAQEBAQEBAR2GX4RGNIQ0CRGGCAWeGwGTHIIOj22JAYt?= =?us-ascii?q?JAR84gQpxFUaEdxyBY3aIEYENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,383,1491264000"; d="scan'208";a="429937182"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 May 2017 22:16:37 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id v4NMGa4c002573 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 23 May 2017 22:16:37 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 23 May 2017 18:16:36 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 23 May 2017 18:16:36 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesA==
Date: Tue, 23 May 2017 22:16:36 +0000
Message-ID: <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com> <20170522.212946.153811938714116755.mbj@tail-f.com> <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com>
In-Reply-To: <20170523.195720.334918098247517091.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.229]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ThLWoNgS3_5wHE1nJ_D2jxfuYkw>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 22:16:42 -0000

> From: Martin Bjorklund, May 23, 2017 1:57 PM
>=20
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > Martin Bjorklund, May 22, 2017 3:30 PM
> > >
> > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > Hi Martin,
> > > >
> > > > Almost overlooked your question below.  What is meant by the
> > > > filter is specified in section 3.5 of the YANG-Push document.
> > > >
> > > > "Only a single filter can be applied to a subscription at a time.
> > > > The following filter types are included in the yang-push data model=
:
> > > > [subtree] [xpath]"
> > >
> > > Actually, only "subtree" is defined in yang-push, "xpath" is defined
> > > in subscribed-notifications.
> >
> > At the top of yang-push page 7, xpath selection is described.  Is
> > there something you feel missing?
>=20
> Yes.  First of all, the YANG module defines an identity called "xpath", b=
ased on
> "sn:filter".  So this filter has nothing to do with selecting nodes in a =
datastore;
> this filter is used to match against a generated notification record.

To address this we could split the xpath identity into two types: "xpath-se=
lection" and  "xpath-boolean".  These would have different definitions, but=
 both reference http://www.w3.org/TR/1999/REC-xpath-19991116  .  The differ=
ence is that one results in a xpath node-set expression, and the other an x=
path Boolean expression.  Make sense?

> Second, the XPath filter is sorely underspecified.  The XPath context is =
not
> described,=20

I understand and agree on your comment about the context.  The intent here =
is to provide equivalent capabilities of a GET.  As it would be a huge unde=
rtaking to try to consolidate an industry-wide view of the minimal xpath sy=
ntax and capabilities in networking, I am hoping this doesn't fall under th=
e umbrella of YANG subscription.  I would be glad to support someone who wi=
shes to take this up though.

> the expected result data type is not defined, and it is not described
> how the result is supposed to be used.

As for the result, the anydata output should be provided to the subscriber =
(with appropriate security applied).  They can determine how to use it.   T=
he preferred embodiment would be to maintain a local extract of the Publish=
er's datastore (as defined by the filter).

> > >  [Side note - I think this is wrong, subscribed-notifications should
> > > also define "subtree".]
> > >
> > > But these filters are used by the server to decide if a certain
> > > notification that has been generated will be sent to the client or
> > > not.
> >
> > Yes, the filters in subscribed-notification are supposed to give a
> > boolean indication as to whether a specific event should traverse the
> > filter in its entirety. RFC6241 section 6 subtree filters are written
> > to provide a subset of content.  I suppose it would be possible to
> > define an event-based subtree-filter-type where a non-null result of
> > the subtree filter means that a particular event should traverse that
> > filter.  Is this what you are suggesting?
>=20
> Yes.  Note that this is already provided by RFC 5277, and I have always
> assumed that this new work will provide at least the same functions as RF=
C
> 5277 (and more).  (But note that the XPath filter is underspecified also =
in RFC
> 5277...)

I also want to make sure that a non-null result from a filter allows the ev=
ent to pass.  I suspect that an xpath Boolean filter could be designed to d=
o this, but I will tweak the subscribed-notifications text so that unnecess=
ary filtering expression complexity is not artificially required.

> > > If you want to define filters to specifify which nodes to subscribe
> > > to, I think you need to define new filters, not try to reuese these
> > > notification filters.
> >
> > Filtering syntax is hard, so we have been trying to adopt whatever is
> > available for GET.  This way we don't have to educate users on a new
> > universe of what is possible.  I fully expect that lots of learnings
> > are going to come in the industry here over time, and this will be
> > revisited in the future.
>=20
> ?
>=20
> I am not proposing any new filter syntax.  I am saying that the current f=
ilter
> nodes as defined in subscribed-notification cannot be used to select node=
s to
> subscribe to for changes.

Understand.  Hopefully with the "xpath-selection" change proposed above, th=
is will be covered.

Eric

> > > As for your question, I think such a filter should be defined to
> > > return a node- set to which the client subscribe to changes.  If any
> > > node (or subnode
> > > to) in
> > > this node-set changes, the notif will be sent.  Then the question
> > > about value comparision is not relevant anymore.
> >
> > Excellent, on-change should only send an update if the results of the
> > subscription filter have changed since the previous push.  It is quite
> > possible that an object has been created and then deleted since the
> > last push.
>=20
> I don't understand what you're trying to say with these sentences (but si=
nce
> the first word was "Excellent" maybe it's ok ;)
>=20
>=20
> /martin
>=20
>=20
> > Representing this was the genesis of Alex's question.
> >
> > Eric
> >
> > > /martin
> > >
> > >
> > >
> > >
> > >
> > > >
> > > > In effect, the filter specifies which data nodes to consider when
> > > > sending updates.
> > > >
> > > > ---Alex
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > Cc: netconf@ietf.org
> > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > >
> > > > Hi,
> > > >
> > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > Hello all,
> > > > >
> > > > > In updating the YANG-Push document
> > > > > (draft-ietf-netconf-yang-push), we have come across one issue
> > > > > that we wanted to raise with the working group.
> > > > >
> > > > > As part of an on-change subscription, update records reflect the
> > > > > type of change (e.g. whether the value of an object has changed,
> > > > > or whether an object was created or deleted); a subscription
> > > > > allows also to specify whether interested only in specific types
> > > > > of changes (for example, only creates and deleted but no value
> changes).
> > > > >
> > > > > At the same time, a subscription filter specifies which objects
> > > > > to include as part of a subscription and which not.
> > > >
> > > > Hmm, which filter are you talking about?  The only XPath filter I
> > > > find in the current set of documents is the
> > > > "ietf-subscribed-notifications:xpath" filter type (which btw is
> > > > sorely underspecified).  Section 2.2 of
> > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > >
> > > >    Events which evaluate to "true" as a
> > > >    result of the evaluation by the filter must traverse the filter =
in
> > > >    their entirety.
> > > >
> > > > It's not clear what this means, but my guess is that this is
> > > > supposed to work like the old RFC 5277 filters, where the filter
> > > > expression is evaluated on the notification contents, and if the
> > > > expression returns "true" (for XPath filters this means converting
> > > > the results to a boolean), then the notification is sent, otherwise=
 not.
> > > >
> > > > But it seems you are referring to some other filter which would be
> > > > used to select a node set for which changes are reported?
> > > >
> > > > I would like to understand which filter mechanism you mean before
> > > > having an opinion in this matter.
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > >
> > > >
> > > > > (Really, it is not
> > > > > so much of a "filter" on a stream that is generated
> > > > > independently of the filter, than it is a policy of which
> > > > > objects to include as part of subscribed update records.)
> > > > > However, a subscription filter (such as
> > > > > XPath) can be used to also specify a value filter, which will
> > > > > include or exclude objects based on their current value. This
> > > > > makes it possible to e.g. subscribe to an object "foo" but only
> > > > > if its value is 5.
> > > > >
> > > > > Now, this means that the same object could be included in one
> > > > > update, but excluded in another update, due to its value no
> > > > > longer meeting the filter criteria.  For example, if foo's value
> > > > > changes from 5 to 3 in one cycle, a periodic subscription will
> > > > > no longer include foo in its next update.  The question now
> > > > > concerns how to properly handle this in the case of an on-change
> subscription.
> > > > >
> > > > > One possibility concerns reporting the fact that "foo" no longer
> > > > > meets the subscription criteria and is no longer included in the
> > > > > update record as a "delete" event.  If foo's value again becomes =
"5"
> > > > > at a later point in time, that would be reported as a "create"
> > > > > event.  If foo's value changes again from 5 at a later point in
> > > > > time and then changes back to 3 before the time of the update
> > > > > (perhaps because the value changed during the dampening
> > > > > interval), it would be reported as another "delete" event
> > > > > (without ever reporting a create event).  On the other hand, if
> > > > > foo's value changed from 3 to
> > > > > 6 and back again, nothing would be reported because it did not
> > > > > meet the filter criteria at any point in time.
> > > > >
> > > > > >From the perspective of the receiver this may make sense if it
> > > > > >is synching its copy of the state.  However, from the
> > > > > >perspective of the publisher, the object was never created or
> > > > > >deleted - only its value changed, and the case when the object
> > > > > >was truly created or deleted can no longer be distinguished
> > > > > >from the case when its value
> > > changed.
> > > > > >A "create" simply means "an object now meets a filter criteria,
> > > > > >that was not reported in the previous cycle" (which does not
> > > > > >mean that the object was actually created - it may have been
> > > > > >created, or it may have simply undergone a value change).
> > > > >
> > > > > An alternative (let's call it alternative 2) is therefore to
> > > > > make a distinction between whether an object was created or
> > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > This appears semantically cleaner.  However, it will require
> > > > > modifying the encoding to allow for distinction between those
> > > > > cases (currently, just plain patch encoding is used).
> > > > >
> > > > > A third alternative is to let filters select only data nodes to
> > > > > subscribe to, and separate out the value filter (or disallow it
> > > > > as a feature altogether).  This alternative has the drawback of
> > > > > being less conceptually powerful, even if it may be easier to
> implement.
> > > > >
> > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > --- Alex
> > > > >
> > > >
> > >
> > > _______________________________________________
> > > Netconf mailing list
> > > Netconf@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netconf
> >


From nobody Tue May 23 15:48:06 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E4FE6127867 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 15:48:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ho24yQzy8Cpc for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 15:48:02 -0700 (PDT)
Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B2D3612704B for <netconf@ietf.org>; Tue, 23 May 2017 15:48:01 -0700 (PDT)
Received: by mail-wm0-x233.google.com with SMTP id e127so49593930wmg.1 for <netconf@ietf.org>; Tue, 23 May 2017 15:48:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ntTfM2+058lQwlz0GnY3M/EOVAi67spkgmKVEzutyvc=; b=CLBpAImnP+aPN2P9GERfbXcNCsWR8vTlOJIJxYw0rwLHObmmGgYz3WjA6LK/ZkDfnf AIqHQ9lzVuy/sU/1LBNhG6b/JeYx334KEIhlT6beHw2zxO9kXmPLijzEVaOPjMKXYP6/ VYq1LGLVBEE2bmbYblGK+uJgNfthU9RRSVSsUWomSM4VPyHEd1O230SfiJT7B5JSgQ5w bzx7U4YEagT5SCT/N18D+34nEeYNlnWMEOtoX6TPEWmT2cen3mPdQYM3KxQ5WAPvEMTc 4N0sxHktuI5MybKJNx59FVr3wv4t181PM8cGkBYSQNE4L6jBej2DCSttO4W2DdyW466L trug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ntTfM2+058lQwlz0GnY3M/EOVAi67spkgmKVEzutyvc=; b=P6h1M6D008KKaA0HSetSVPMHjHjMz3fVnnu4YUmaXqQZhh8V4VL1aodd9M5ERZBmFG WP2DQFY1NhBXweU1N5k10FQzULrxUgwgw0t9AKI5fAkmvZCrNZlX40p+32tMjO4mh2gU qTqJ5Zym8xrTislH6+Yzgd7lzpP0/9wXMXffhsrV/owx3e9xgjZCmfa1+ZmrIngZAuiP 4gPRvPoa2OWUbgbUyJ+hmS42BqSoBwmztzRhovsf2wzoo++T/YztyRS+m8Tab/6XXhgJ DDb1Q6CIhQXofx3AVMteoX8KrBuL2lksqR3SL4hrDPaX8UElCulPW0pUGLVu7pJ/nBpl 0tJA==
X-Gm-Message-State: AODbwcAsi04ClD2FrtQGVxLkejeV6CG5Qolt12BJwWdJhjxjQe0Q8W/E aBlo0qqTNkpk0iqiAbLBBZ5tNJ/W4cxN
X-Received: by 10.28.6.82 with SMTP id 79mr3950538wmg.124.1495579680196; Tue, 23 May 2017 15:48:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Tue, 23 May 2017 15:47:58 -0700 (PDT)
In-Reply-To: <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFAFB43@SJCEML701-CHM.china.huawei.com> <20170522.212946.153811938714116755.mbj@tail-f.com> <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 23 May 2017 15:47:58 -0700
Message-ID: <CABCOCHRx6XNK9Ay9hzj3eL-HD9Exj0nk=J5g06Y__NZKLyzQ7A@mail.gmail.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a114421e6925e48055038c773"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/QtQpyiWOr1nkFIlnsfAaQmYo-uI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 May 2017 22:48:06 -0000

--001a114421e6925e48055038c773
Content-Type: text/plain; charset="UTF-8"

On Tue, May 23, 2017 at 3:16 PM, Eric Voit (evoit) <evoit@cisco.com> wrote:

> > From: Martin Bjorklund, May 23, 2017 1:57 PM
> >
> > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > >
> > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > Hi Martin,
> > > > >
> > > > > Almost overlooked your question below.  What is meant by the
> > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > >
> > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > The following filter types are included in the yang-push data
> model:
> > > > > [subtree] [xpath]"
> > > >
> > > > Actually, only "subtree" is defined in yang-push, "xpath" is defined
> > > > in subscribed-notifications.
> > >
> > > At the top of yang-push page 7, xpath selection is described.  Is
> > > there something you feel missing?
> >
> > Yes.  First of all, the YANG module defines an identity called "xpath",
> based on
> > "sn:filter".  So this filter has nothing to do with selecting nodes in a
> datastore;
> > this filter is used to match against a generated notification record.
>
> To address this we could split the xpath identity into two types:
> "xpath-selection" and  "xpath-boolean".  These would have different
> definitions, but both reference http://www.w3.org/TR/1999/REC-
> xpath-19991116  .  The difference is that one results in a xpath node-set
> expression, and the other an xpath Boolean expression.  Make sense?
>
> > Second, the XPath filter is sorely underspecified.  The XPath context is
> not
> > described,
>
> I understand and agree on your comment about the context.  The intent here
> is to provide equivalent capabilities of a GET.  As it would be a huge
> undertaking to try to consolidate an industry-wide view of the minimal
> xpath syntax and capabilities in networking, I am hoping this doesn't fall
> under the umbrella of YANG subscription.  I would be glad to support
> someone who wishes to take this up though.
>
>

subtree and XPath filtering are implemented in various ways which could all
be considered valid.
The node-set result is not the same across server implementations.

For example:

   <filter>
     <foo />
     <foo>
       <bar>1</bar>
     </foo>
  </filter>

Does the server return the entire /foo subtree or return the entire /foo
subtree
followed by another subtree for /foo[bar=1]?  (yes. that's the problem)
XPath has many more ways to overlap node-sets.

Should we even document all the under-implemented servers that do not
support the
complete XPath syntax? Probably not, but it would be worthwhile to have an
"XPath-core"
that is widely supported.

I agree that YANG Push is not the correct document for this sort of work.

Perhaps YANG Push filtering should be 2 phases: (1) select + (2) test),
similar to how XSLT works.

(1) select can be simple and static, like a node-instance-identifier
expression from NACM
(2) test can be an XPath boolean expression run against each node selected
in (1),
      using the selected node as the context node


Andy



> > the expected result data type is not defined, and it is not described
> > how the result is supposed to be used.
>
> As for the result, the anydata output should be provided to the subscriber
> (with appropriate security applied).  They can determine how to use it.
>  The preferred embodiment would be to maintain a local extract of the
> Publisher's datastore (as defined by the filter).
>
> > > >  [Side note - I think this is wrong, subscribed-notifications should
> > > > also define "subtree".]
> > > >
> > > > But these filters are used by the server to decide if a certain
> > > > notification that has been generated will be sent to the client or
> > > > not.
> > >
> > > Yes, the filters in subscribed-notification are supposed to give a
> > > boolean indication as to whether a specific event should traverse the
> > > filter in its entirety. RFC6241 section 6 subtree filters are written
> > > to provide a subset of content.  I suppose it would be possible to
> > > define an event-based subtree-filter-type where a non-null result of
> > > the subtree filter means that a particular event should traverse that
> > > filter.  Is this what you are suggesting?
> >
> > Yes.  Note that this is already provided by RFC 5277, and I have always
> > assumed that this new work will provide at least the same functions as
> RFC
> > 5277 (and more).  (But note that the XPath filter is underspecified also
> in RFC
> > 5277...)
>
> I also want to make sure that a non-null result from a filter allows the
> event to pass.  I suspect that an xpath Boolean filter could be designed to
> do this, but I will tweak the subscribed-notifications text so that
> unnecessary filtering expression complexity is not artificially required.
>
> > > > If you want to define filters to specifify which nodes to subscribe
> > > > to, I think you need to define new filters, not try to reuese these
> > > > notification filters.
> > >
> > > Filtering syntax is hard, so we have been trying to adopt whatever is
> > > available for GET.  This way we don't have to educate users on a new
> > > universe of what is possible.  I fully expect that lots of learnings
> > > are going to come in the industry here over time, and this will be
> > > revisited in the future.
> >
> > ?
> >
> > I am not proposing any new filter syntax.  I am saying that the current
> filter
> > nodes as defined in subscribed-notification cannot be used to select
> nodes to
> > subscribe to for changes.
>
> Understand.  Hopefully with the "xpath-selection" change proposed above,
> this will be covered.
>
> Eric
>
> > > > As for your question, I think such a filter should be defined to
> > > > return a node- set to which the client subscribe to changes.  If any
> > > > node (or subnode
> > > > to) in
> > > > this node-set changes, the notif will be sent.  Then the question
> > > > about value comparision is not relevant anymore.
> > >
> > > Excellent, on-change should only send an update if the results of the
> > > subscription filter have changed since the previous push.  It is quite
> > > possible that an object has been created and then deleted since the
> > > last push.
> >
> > I don't understand what you're trying to say with these sentences (but
> since
> > the first word was "Excellent" maybe it's ok ;)
> >
> >
> > /martin
> >
> >
> > > Representing this was the genesis of Alex's question.
> > >
> > > Eric
> > >
> > > > /martin
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > In effect, the filter specifies which data nodes to consider when
> > > > > sending updates.
> > > > >
> > > > > ---Alex
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > Cc: netconf@ietf.org
> > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > >
> > > > > Hi,
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hello all,
> > > > > >
> > > > > > In updating the YANG-Push document
> > > > > > (draft-ietf-netconf-yang-push), we have come across one issue
> > > > > > that we wanted to raise with the working group.
> > > > > >
> > > > > > As part of an on-change subscription, update records reflect the
> > > > > > type of change (e.g. whether the value of an object has changed,
> > > > > > or whether an object was created or deleted); a subscription
> > > > > > allows also to specify whether interested only in specific types
> > > > > > of changes (for example, only creates and deleted but no value
> > changes).
> > > > > >
> > > > > > At the same time, a subscription filter specifies which objects
> > > > > > to include as part of a subscription and which not.
> > > > >
> > > > > Hmm, which filter are you talking about?  The only XPath filter I
> > > > > find in the current set of documents is the
> > > > > "ietf-subscribed-notifications:xpath" filter type (which btw is
> > > > > sorely underspecified).  Section 2.2 of
> > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > >
> > > > >    Events which evaluate to "true" as a
> > > > >    result of the evaluation by the filter must traverse the filter
> in
> > > > >    their entirety.
> > > > >
> > > > > It's not clear what this means, but my guess is that this is
> > > > > supposed to work like the old RFC 5277 filters, where the filter
> > > > > expression is evaluated on the notification contents, and if the
> > > > > expression returns "true" (for XPath filters this means converting
> > > > > the results to a boolean), then the notification is sent,
> otherwise not.
> > > > >
> > > > > But it seems you are referring to some other filter which would be
> > > > > used to select a node set for which changes are reported?
> > > > >
> > > > > I would like to understand which filter mechanism you mean before
> > > > > having an opinion in this matter.
> > > > >
> > > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > (Really, it is not
> > > > > > so much of a "filter" on a stream that is generated
> > > > > > independently of the filter, than it is a policy of which
> > > > > > objects to include as part of subscribed update records.)
> > > > > > However, a subscription filter (such as
> > > > > > XPath) can be used to also specify a value filter, which will
> > > > > > include or exclude objects based on their current value. This
> > > > > > makes it possible to e.g. subscribe to an object "foo" but only
> > > > > > if its value is 5.
> > > > > >
> > > > > > Now, this means that the same object could be included in one
> > > > > > update, but excluded in another update, due to its value no
> > > > > > longer meeting the filter criteria.  For example, if foo's value
> > > > > > changes from 5 to 3 in one cycle, a periodic subscription will
> > > > > > no longer include foo in its next update.  The question now
> > > > > > concerns how to properly handle this in the case of an on-change
> > subscription.
> > > > > >
> > > > > > One possibility concerns reporting the fact that "foo" no longer
> > > > > > meets the subscription criteria and is no longer included in the
> > > > > > update record as a "delete" event.  If foo's value again becomes
> "5"
> > > > > > at a later point in time, that would be reported as a "create"
> > > > > > event.  If foo's value changes again from 5 at a later point in
> > > > > > time and then changes back to 3 before the time of the update
> > > > > > (perhaps because the value changed during the dampening
> > > > > > interval), it would be reported as another "delete" event
> > > > > > (without ever reporting a create event).  On the other hand, if
> > > > > > foo's value changed from 3 to
> > > > > > 6 and back again, nothing would be reported because it did not
> > > > > > meet the filter criteria at any point in time.
> > > > > >
> > > > > > >From the perspective of the receiver this may make sense if it
> > > > > > >is synching its copy of the state.  However, from the
> > > > > > >perspective of the publisher, the object was never created or
> > > > > > >deleted - only its value changed, and the case when the object
> > > > > > >was truly created or deleted can no longer be distinguished
> > > > > > >from the case when its value
> > > > changed.
> > > > > > >A "create" simply means "an object now meets a filter criteria,
> > > > > > >that was not reported in the previous cycle" (which does not
> > > > > > >mean that the object was actually created - it may have been
> > > > > > >created, or it may have simply undergone a value change).
> > > > > >
> > > > > > An alternative (let's call it alternative 2) is therefore to
> > > > > > make a distinction between whether an object was created or
> > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > This appears semantically cleaner.  However, it will require
> > > > > > modifying the encoding to allow for distinction between those
> > > > > > cases (currently, just plain patch encoding is used).
> > > > > >
> > > > > > A third alternative is to let filters select only data nodes to
> > > > > > subscribe to, and separate out the value filter (or disallow it
> > > > > > as a feature altogether).  This alternative has the drawback of
> > > > > > being less conceptually powerful, even if it may be easier to
> > implement.
> > > > > >
> > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > --- Alex
> > > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > >
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--001a114421e6925e48055038c773
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, May 23, 2017 at 3:16 PM, Eric Voit (evoit) <span dir=3D"ltr">&l=
t;<a href=3D"mailto:evoit@cisco.com" target=3D"_blank">evoit@cisco.com</a>&=
gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt; From: Martin Bjork=
lund, May 23, 2017 1:57 PM<br>
&gt;<br>
&gt; &quot;Eric Voit (evoit)&quot; &lt;<a href=3D"mailto:evoit@cisco.com">e=
voit@cisco.com</a>&gt; wrote:<br>
&gt; &gt; &gt; Martin Bjorklund, May 22, 2017 3:30 PM<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei=
.com">alexander.clemm@huawei.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; Hi Martin,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Almost overlooked your question below.=C2=A0 What is me=
ant by the<br>
&gt; &gt; &gt; &gt; filter is specified in section 3.5 of the YANG-Push doc=
ument.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &quot;Only a single filter can be applied to a subscrip=
tion at a time.<br>
&gt; &gt; &gt; &gt; The following filter types are included in the yang-pus=
h data model:<br>
&gt; &gt; &gt; &gt; [subtree] [xpath]&quot;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Actually, only &quot;subtree&quot; is defined in yang-push, =
&quot;xpath&quot; is defined<br>
&gt; &gt; &gt; in subscribed-notifications.<br>
&gt; &gt;<br>
&gt; &gt; At the top of yang-push page 7, xpath selection is described.=C2=
=A0 Is<br>
&gt; &gt; there something you feel missing?<br>
&gt;<br>
&gt; Yes.=C2=A0 First of all, the YANG module defines an identity called &q=
uot;xpath&quot;, based on<br>
&gt; &quot;sn:filter&quot;.=C2=A0 So this filter has nothing to do with sel=
ecting nodes in a datastore;<br>
&gt; this filter is used to match against a generated notification record.<=
br>
<br>
To address this we could split the xpath identity into two types: &quot;xpa=
th-selection&quot; and=C2=A0 &quot;xpath-boolean&quot;.=C2=A0 These would h=
ave different definitions, but both reference <a href=3D"http://www.w3.org/=
TR/1999/REC-xpath-19991116" rel=3D"noreferrer" target=3D"_blank">http://www=
.w3.org/TR/1999/REC-<wbr>xpath-19991116</a>=C2=A0 .=C2=A0 The difference is=
 that one results in a xpath node-set expression, and the other an xpath Bo=
olean expression.=C2=A0 Make sense?<br>
<br>
&gt; Second, the XPath filter is sorely underspecified.=C2=A0 The XPath con=
text is not<br>
&gt; described,<br>
<br>
I understand and agree on your comment about the context.=C2=A0 The intent =
here is to provide equivalent capabilities of a GET.=C2=A0 As it would be a=
 huge undertaking to try to consolidate an industry-wide view of the minima=
l xpath syntax and capabilities in networking, I am hoping this doesn&#39;t=
 fall under the umbrella of YANG subscription.=C2=A0 I would be glad to sup=
port someone who wishes to take this up though.<br>
<br></blockquote><div><br></div><div><br></div><div>subtree and XPath filte=
ring are implemented in various ways which could all be considered valid.</=
div><div>The node-set result is not the same across server implementations.=
</div><div><br></div><div>For example:</div><div><br></div><div>=C2=A0 =C2=
=A0&lt;filter&gt;</div><div>=C2=A0 =C2=A0 =C2=A0&lt;foo /&gt;</div><div>=C2=
=A0 =C2=A0 =C2=A0&lt;foo&gt;</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;bar&g=
t;1&lt;/bar&gt;</div><div>=C2=A0 =C2=A0 =C2=A0&lt;/foo&gt;</div><div>=C2=A0=
 &lt;/filter&gt;</div><div><br></div><div>Does the server return the entire=
 /foo subtree or return the entire /foo subtree</div><div>followed by anoth=
er subtree for /foo[bar=3D1]? =C2=A0(yes. that&#39;s the problem)</div><div=
>XPath has many more ways to overlap node-sets.</div><div><br></div><div>Sh=
ould we even document all the under-implemented servers that do not support=
 the</div><div>complete XPath syntax? Probably not, but it would be worthwh=
ile to have an &quot;XPath-core&quot;</div><div>that is widely supported.=
=C2=A0</div><div><br></div><div>I agree that YANG Push is not the correct d=
ocument for this sort of work.</div><div><br></div><div>Perhaps YANG Push f=
iltering should be 2 phases: (1) select + (2) test),</div><div>similar to h=
ow XSLT works.</div><div><br></div><div>(1) select can be simple and static=
, like a node-instance-identifier expression from NACM</div><div>(2) test c=
an be an XPath boolean expression run against each node selected in (1),</d=
iv><div>=C2=A0 =C2=A0 =C2=A0 using the selected node as the context node=C2=
=A0</div><div><br></div><div><br></div><div>Andy</div><div><br></div><div>=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo=
rder-left:1px #ccc solid;padding-left:1ex">
&gt; the expected result data type is not defined, and it is not described<=
br>
&gt; how the result is supposed to be used.<br>
<br>
As for the result, the anydata output should be provided to the subscriber =
(with appropriate security applied).=C2=A0 They can determine how to use it=
.=C2=A0 =C2=A0The preferred embodiment would be to maintain a local extract=
 of the Publisher&#39;s datastore (as defined by the filter).<br>
<br>
&gt; &gt; &gt;=C2=A0 [Side note - I think this is wrong, subscribed-notific=
ations should<br>
&gt; &gt; &gt; also define &quot;subtree&quot;.]<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; But these filters are used by the server to decide if a cert=
ain<br>
&gt; &gt; &gt; notification that has been generated will be sent to the cli=
ent or<br>
&gt; &gt; &gt; not.<br>
&gt; &gt;<br>
&gt; &gt; Yes, the filters in subscribed-notification are supposed to give =
a<br>
&gt; &gt; boolean indication as to whether a specific event should traverse=
 the<br>
&gt; &gt; filter in its entirety. RFC6241 section 6 subtree filters are wri=
tten<br>
&gt; &gt; to provide a subset of content.=C2=A0 I suppose it would be possi=
ble to<br>
&gt; &gt; define an event-based subtree-filter-type where a non-null result=
 of<br>
&gt; &gt; the subtree filter means that a particular event should traverse =
that<br>
&gt; &gt; filter.=C2=A0 Is this what you are suggesting?<br>
&gt;<br>
&gt; Yes.=C2=A0 Note that this is already provided by RFC 5277, and I have =
always<br>
&gt; assumed that this new work will provide at least the same functions as=
 RFC<br>
&gt; 5277 (and more).=C2=A0 (But note that the XPath filter is underspecifi=
ed also in RFC<br>
&gt; 5277...)<br>
<br>
I also want to make sure that a non-null result from a filter allows the ev=
ent to pass.=C2=A0 I suspect that an xpath Boolean filter could be designed=
 to do this, but I will tweak the subscribed-notifications text so that unn=
ecessary filtering expression complexity is not artificially required.<br>
<br>
&gt; &gt; &gt; If you want to define filters to specifify which nodes to su=
bscribe<br>
&gt; &gt; &gt; to, I think you need to define new filters, not try to reues=
e these<br>
&gt; &gt; &gt; notification filters.<br>
&gt; &gt;<br>
&gt; &gt; Filtering syntax is hard, so we have been trying to adopt whateve=
r is<br>
&gt; &gt; available for GET.=C2=A0 This way we don&#39;t have to educate us=
ers on a new<br>
&gt; &gt; universe of what is possible.=C2=A0 I fully expect that lots of l=
earnings<br>
&gt; &gt; are going to come in the industry here over time, and this will b=
e<br>
&gt; &gt; revisited in the future.<br>
&gt;<br>
&gt; ?<br>
&gt;<br>
&gt; I am not proposing any new filter syntax.=C2=A0 I am saying that the c=
urrent filter<br>
&gt; nodes as defined in subscribed-notification cannot be used to select n=
odes to<br>
&gt; subscribe to for changes.<br>
<br>
Understand.=C2=A0 Hopefully with the &quot;xpath-selection&quot; change pro=
posed above, this will be covered.<br>
<br>
Eric<br>
<br>
&gt; &gt; &gt; As for your question, I think such a filter should be define=
d to<br>
&gt; &gt; &gt; return a node- set to which the client subscribe to changes.=
=C2=A0 If any<br>
&gt; &gt; &gt; node (or subnode<br>
&gt; &gt; &gt; to) in<br>
&gt; &gt; &gt; this node-set changes, the notif will be sent.=C2=A0 Then th=
e question<br>
&gt; &gt; &gt; about value comparision is not relevant anymore.<br>
&gt; &gt;<br>
&gt; &gt; Excellent, on-change should only send an update if the results of=
 the<br>
&gt; &gt; subscription filter have changed since the previous push.=C2=A0 I=
t is quite<br>
&gt; &gt; possible that an object has been created and then deleted since t=
he<br>
&gt; &gt; last push.<br>
&gt;<br>
&gt; I don&#39;t understand what you&#39;re trying to say with these senten=
ces (but since<br>
&gt; the first word was &quot;Excellent&quot; maybe it&#39;s ok ;)<br>
&gt;<br>
&gt;<br>
&gt; /martin<br>
&gt;<br>
&gt;<br>
&gt; &gt; Representing this was the genesis of Alex&#39;s question.<br>
&gt; &gt;<br>
&gt; &gt; Eric<br>
&gt; &gt;<br>
&gt; &gt; &gt; /martin<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; In effect, the filter specifies which data nodes to con=
sider when<br>
&gt; &gt; &gt; &gt; sending updates.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; ---Alex<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; From: Martin Bjorklund [mailto:<a href=3D"mailto:mbj@ta=
il-f.com">mbj@tail-f.com</a>]<br>
&gt; &gt; &gt; &gt; Sent: Wednesday, May 17, 2017 11:50 PM<br>
&gt; &gt; &gt; &gt; To: Alexander Clemm &lt;<a href=3D"mailto:alexander.cle=
mm@huawei.com">alexander.clemm@huawei.com</a>&gt;<br>
&gt; &gt; &gt; &gt; Cc: <a href=3D"mailto:netconf@ietf.org">netconf@ietf.or=
g</a><br>
&gt; &gt; &gt; &gt; Subject: Re: [Netconf] In an update, when is a delete a=
 delete?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@h=
uawei.com">alexander.clemm@huawei.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hello all,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; In updating the YANG-Push document<br>
&gt; &gt; &gt; &gt; &gt; (draft-ietf-netconf-yang-push)<wbr>, we have come =
across one issue<br>
&gt; &gt; &gt; &gt; &gt; that we wanted to raise with the working group.<br=
>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; As part of an on-change subscription, update recor=
ds reflect the<br>
&gt; &gt; &gt; &gt; &gt; type of change (e.g. whether the value of an objec=
t has changed,<br>
&gt; &gt; &gt; &gt; &gt; or whether an object was created or deleted); a su=
bscription<br>
&gt; &gt; &gt; &gt; &gt; allows also to specify whether interested only in =
specific types<br>
&gt; &gt; &gt; &gt; &gt; of changes (for example, only creates and deleted =
but no value<br>
&gt; changes).<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; At the same time, a subscription filter specifies =
which objects<br>
&gt; &gt; &gt; &gt; &gt; to include as part of a subscription and which not=
.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Hmm, which filter are you talking about?=C2=A0 The only=
 XPath filter I<br>
&gt; &gt; &gt; &gt; find in the current set of documents is the<br>
&gt; &gt; &gt; &gt; &quot;ietf-subscribed-<wbr>notifications:xpath&quot; fi=
lter type (which btw is<br>
&gt; &gt; &gt; &gt; sorely underspecified).=C2=A0 Section 2.2 of<br>
&gt; &gt; &gt; &gt; draft-ietf-netconf-subscribed-<wbr>notifications-02 say=
s:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 Events which evaluate to &quot;true&quot; =
as a<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 result of the evaluation by the filter mus=
t traverse the filter in<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 their entirety.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; It&#39;s not clear what this means, but my guess is tha=
t this is<br>
&gt; &gt; &gt; &gt; supposed to work like the old RFC 5277 filters, where t=
he filter<br>
&gt; &gt; &gt; &gt; expression is evaluated on the notification contents, a=
nd if the<br>
&gt; &gt; &gt; &gt; expression returns &quot;true&quot; (for XPath filters =
this means converting<br>
&gt; &gt; &gt; &gt; the results to a boolean), then the notification is sen=
t, otherwise not.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; But it seems you are referring to some other filter whi=
ch would be<br>
&gt; &gt; &gt; &gt; used to select a node set for which changes are reporte=
d?<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; I would like to understand which filter mechanism you m=
ean before<br>
&gt; &gt; &gt; &gt; having an opinion in this matter.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; /martin<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; (Really, it is not<br>
&gt; &gt; &gt; &gt; &gt; so much of a &quot;filter&quot; on a stream that i=
s generated<br>
&gt; &gt; &gt; &gt; &gt; independently of the filter, than it is a policy o=
f which<br>
&gt; &gt; &gt; &gt; &gt; objects to include as part of subscribed update re=
cords.)<br>
&gt; &gt; &gt; &gt; &gt; However, a subscription filter (such as<br>
&gt; &gt; &gt; &gt; &gt; XPath) can be used to also specify a value filter,=
 which will<br>
&gt; &gt; &gt; &gt; &gt; include or exclude objects based on their current =
value. This<br>
&gt; &gt; &gt; &gt; &gt; makes it possible to e.g. subscribe to an object &=
quot;foo&quot; but only<br>
&gt; &gt; &gt; &gt; &gt; if its value is 5.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Now, this means that the same object could be incl=
uded in one<br>
&gt; &gt; &gt; &gt; &gt; update, but excluded in another update, due to its=
 value no<br>
&gt; &gt; &gt; &gt; &gt; longer meeting the filter criteria.=C2=A0 For exam=
ple, if foo&#39;s value<br>
&gt; &gt; &gt; &gt; &gt; changes from 5 to 3 in one cycle, a periodic subsc=
ription will<br>
&gt; &gt; &gt; &gt; &gt; no longer include foo in its next update.=C2=A0 Th=
e question now<br>
&gt; &gt; &gt; &gt; &gt; concerns how to properly handle this in the case o=
f an on-change<br>
&gt; subscription.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; One possibility concerns reporting the fact that &=
quot;foo&quot; no longer<br>
&gt; &gt; &gt; &gt; &gt; meets the subscription criteria and is no longer i=
ncluded in the<br>
&gt; &gt; &gt; &gt; &gt; update record as a &quot;delete&quot; event.=C2=A0=
 If foo&#39;s value again becomes &quot;5&quot;<br>
&gt; &gt; &gt; &gt; &gt; at a later point in time, that would be reported a=
s a &quot;create&quot;<br>
&gt; &gt; &gt; &gt; &gt; event.=C2=A0 If foo&#39;s value changes again from=
 5 at a later point in<br>
&gt; &gt; &gt; &gt; &gt; time and then changes back to 3 before the time of=
 the update<br>
&gt; &gt; &gt; &gt; &gt; (perhaps because the value changed during the damp=
ening<br>
&gt; &gt; &gt; &gt; &gt; interval), it would be reported as another &quot;d=
elete&quot; event<br>
&gt; &gt; &gt; &gt; &gt; (without ever reporting a create event).=C2=A0 On =
the other hand, if<br>
&gt; &gt; &gt; &gt; &gt; foo&#39;s value changed from 3 to<br>
&gt; &gt; &gt; &gt; &gt; 6 and back again, nothing would be reported becaus=
e it did not<br>
&gt; &gt; &gt; &gt; &gt; meet the filter criteria at any point in time.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;From the perspective of the receiver this may =
make sense if it<br>
&gt; &gt; &gt; &gt; &gt; &gt;is synching its copy of the state.=C2=A0 Howev=
er, from the<br>
&gt; &gt; &gt; &gt; &gt; &gt;perspective of the publisher, the object was n=
ever created or<br>
&gt; &gt; &gt; &gt; &gt; &gt;deleted - only its value changed, and the case=
 when the object<br>
&gt; &gt; &gt; &gt; &gt; &gt;was truly created or deleted can no longer be =
distinguished<br>
&gt; &gt; &gt; &gt; &gt; &gt;from the case when its value<br>
&gt; &gt; &gt; changed.<br>
&gt; &gt; &gt; &gt; &gt; &gt;A &quot;create&quot; simply means &quot;an obj=
ect now meets a filter criteria,<br>
&gt; &gt; &gt; &gt; &gt; &gt;that was not reported in the previous cycle&qu=
ot; (which does not<br>
&gt; &gt; &gt; &gt; &gt; &gt;mean that the object was actually created - it=
 may have been<br>
&gt; &gt; &gt; &gt; &gt; &gt;created, or it may have simply undergone a val=
ue change).<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; An alternative (let&#39;s call it alternative 2) i=
s therefore to<br>
&gt; &gt; &gt; &gt; &gt; make a distinction between whether an object was c=
reated or<br>
&gt; &gt; &gt; &gt; &gt; deleted, or whether its value fell in or out of a =
filter range.<br>
&gt; &gt; &gt; &gt; &gt; This appears semantically cleaner.=C2=A0 However, =
it will require<br>
&gt; &gt; &gt; &gt; &gt; modifying the encoding to allow for distinction be=
tween those<br>
&gt; &gt; &gt; &gt; &gt; cases (currently, just plain patch encoding is use=
d).<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; A third alternative is to let filters select only =
data nodes to<br>
&gt; &gt; &gt; &gt; &gt; subscribe to, and separate out the value filter (o=
r disallow it<br>
&gt; &gt; &gt; &gt; &gt; as a feature altogether).=C2=A0 This alternative h=
as the drawback of<br>
&gt; &gt; &gt; &gt; &gt; being less conceptually powerful, even if it may b=
e easier to<br>
&gt; implement.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Thoughts?=C2=A0 Any preferences between 1, 2, and =
3?<br>
&gt; &gt; &gt; &gt; &gt; --- Alex<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; &gt; Netconf mailing list<br>
&gt; &gt; &gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
&gt; &gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netconf" re=
l=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listin=
fo/netconf</a><br>
&gt; &gt;<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</blockquote></div><br></div></div>

--001a114421e6925e48055038c773--


From nobody Tue May 23 20:25:31 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D00B41292C5 for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 20:25:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RCP83bvEurQV for <netconf@ietfa.amsl.com>; Tue, 23 May 2017 20:25:28 -0700 (PDT)
Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9A4F9126DED for <netconf@ietf.org>; Tue, 23 May 2017 20:25:27 -0700 (PDT)
Received: by mail-wm0-x229.google.com with SMTP id d127so50457032wmf.0 for <netconf@ietf.org>; Tue, 23 May 2017 20:25:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ASSXMANHWbET2xFwVBGoRqZ0nDoUJNn4yr6frWRTuNw=; b=oyJzNfMEdaqAPRLvfFEPhrafNe+KJXDXSnGac5Uh3Nb7OjMPUUeqMvBE23tXutP8bZ PEbwv0fu00JJCm775S8CdJj4PLgVj1x3iUoDnMKDesfoJY+rIcBMJxR/lEHwEutD8rXA 5gZ1fk73nardRv3hBsXHx2adpimojTZa9h7f5S7T1Kvu8tmBr/nvFnAunJWoEg2JDrvf a9VpeOAa+MQyngu9yhoKOkC0GCsb+T0Ss2shIJJZq9EjkC6RAGhSvkSHstsP59zNH0c5 b8gYVDG4lIj066D6VJ+7Kh12i2lNGbapnZwjZVY6Vl/mUfGrLYja3/iwVJ+YvAsaqgvh sxbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=ASSXMANHWbET2xFwVBGoRqZ0nDoUJNn4yr6frWRTuNw=; b=Zu9pAIugJuDIG4vmMFqO81HEuCJhSWp3u5VVkrncZkJWCZGGjpz4lCEuvuZYvWhCDz 3Tsa1hzixtW2T37p59idhGLnyrv4oJBonTh4BdzAwJh9iJifrHm91SwdSFXx6pUMMbn0 MmupeUOwjgyn/PGlsH//jxg7lvdlbStY1/VnW0tayFm+Z3GPhBpm/W+O5JPG0EF9u5Jm N85yrapROkhF/zVfYHU/ehuBTzNIz4WXbm7o/PShyKcPw6qfGYfHaZMiXutnp5SkgI4Q Ld2YLBhSraLbUINg6jg9dslZYF0UBlxw/dtxWWNqeK+cs+pVfMHKlepygzPD2XWBQuPv 0pRg==
X-Gm-Message-State: AODbwcAYfbT14IUOzh/UFz0Ieh3+OLQXm3WnIpmRzWy3VAYFzkW6ul8X m/g3Q86t3N7beB7YZAVKRdCR+HoWkzOy
X-Received: by 10.223.162.150 with SMTP id s22mr20208501wra.88.1495596326051;  Tue, 23 May 2017 20:25:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Tue, 23 May 2017 20:25:24 -0700 (PDT)
In-Reply-To: <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com>
References: <CABCOCHRBXbCfW+=-FsoHS7nUmn8qJ=Rv9vsEf89dSs3273NGbQ@mail.gmail.com> <22F66A24-12AB-4447-AC9A-9D8F9B0BB726@gmail.com> <CABCOCHSGa23SR_soKBurzPWOckf0eE_jp=jRkpoCSXczq_2xSg@mail.gmail.com> <20170523.091519.1988324449434279102.mbj@tail-f.com> <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 23 May 2017 20:25:24 -0700
Message-ID: <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Cc: Martin Bjorklund <mbj@tail-f.com>,  Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="f403045ec658bdf5ef05503ca7ab"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9GxF8lHqr61u8VOK1v36tFl-UF4>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 03:25:31 -0000

--f403045ec658bdf5ef05503ca7ab
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani <
mjethanandani@gmail.com> wrote:

>
> > On May 23, 2017, at 12:15 AM, Martin Bjorklund <mbj@tail-f.com> wrote:
> >
> > Andy Bierman <andy@yumaworks.com> wrote:
> >> Hi,
> >>
> >> The update is on github.
> >> http://github.com/netconf-wg/rfc6536bis
> >>
> >> I would like Martin to look it over before it is posted.
> >
> > Done, and the new text looks good.  I moved the new subsection to be
> > the first in 3.2, and I also fixed some minor terminology issues.
> >
> > But, I wonder if we shouldn't make the document even less NETCONF
> > specific, and align the terminology to revised-datastores.  For
> > example, currently the document talks about access to "NETCONF
> > datastores".   With the new less protocol-specific terminology this
> > would simply be "datastore=E2=80=9D.
>
> I would prefer this.
>

OK, but the operations are somewhat NETCONF specific.
We will try to make sure we do not create more inconsistencies than we
remove ;-)


Andy


>
> >
> > Also, we currently have this:
> >
> >   A standalone RESTCONF server (i.e., not co-located with a NETCONF
> >   server) applies NACM rules to a conceptual datastore, since
> >   datastores are not supported in RESTCONF.
> >
> > I don't think this is quite correct.  Even in a stand-alone RESTCONF
> > server there is an underlying conceptual datastore, for which NACM can
> > be used to control access.
> >
> >
> >
> > /martin
> >
> >
> >>
> >>
> >> Andy
> >>
> >>
> >> On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <
> >> mjethanandani@gmail.com> wrote:
> >>
> >>> Andy,
> >>>
> >>> On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com> wrote:
> >>>
> >>>
> >>>
> >>> On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
> >>> mjethanandani@gmail.com> wrote:
> >>>
> >>>> Having reviewed all the e-mails, I believe that there are few issues
> that
> >>>> need to be resolved before we send the draft for publication. We nee=
d
> to
> >>>> agree on the language, even if we do have the exact text in the draf=
t.
> >>>>
> >>>> To begin with, do the authors have a response to the suggestions fro=
m
> >>>> Juergen prompted by the question from Alex? Are we leaving the NACM
> >>>> definition of any future datastores to the datastore draft, or are w=
e
> >>>> saying NACM applies to all datastores?
> >>>>
> >>>>
> >>> No. IMO the text should say NACM applies to NETCONF and RESTCONF
> >>> with the existing datastores.
> >>>
> >>> NACM MAY be applied to other datastores that have similar operation
> sets.
> >>> Any new datastore specification needs to define how it maps to the NA=
CM
> >>> CRUDX
> >>> model.  The datastore does not need to use NACM (e.g., datastore
> defines
> >>> something else
> >>> or does not use access control).
> >>>
> >>>
> >>> Can you update the draft with this text.
> >>>
> >>>
> >>>
> >>> To the point that Andy raised earlier, we need to have texts around
> >>>> datastores that provide more than CRUDX capabilities, including any
> >>>> protocol operations, e.g. priority, as something that is out of scop=
e
> of
> >>>> this document.
> >>>>
> >>>>
> >>> This would be outside the scope of NACM.
> >>> This is part of the RPC input validation.
> >>>
> >>>
> >>> And clarify that operations outside of CRUDX are outside the scope of
> >>> NACM. We can them move the document towards publication.
> >>>
> >>> Thanks.
> >>>
> >>>
> >>>
> >>>
> >>>> NETCONF WG has moved to redefine its charter beyond NETCONF and
> RESTCONF.
> >>>> Therefore there is a real possibility of another protocol being
> discussed
> >>>> in the WG. Is there something in the NACM draft that restricts it to
> >>>> NETCONF/RESTCONF that other protocols cannot adopt? If so, can they =
be
> >>>> called out?
> >>>>
> >>>
> >>> If NACM needs to be changed in the future because a new or existing
> >>> protocol needs new features
> >>> then the WG will have to deal with it then.
> >>>
> >>>
> >>>
> >>>>
> >>>> Thanks.
> >>>>
> >>>>
> >>> Andy
> >>>
> >>>
> >>>>> On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
> >>>> j.schoenwaelder@jacobs-university.de> wrote:
> >>>>>
> >>>>> On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrote:
> >>>>>> Andy Bierman <andy@yumaworks.com> wrote:
> >>>>>>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
> >>>> alexander.clemm@huawei.com
> >>>>>>>> wrote:
> >>>>>>>
> >>>>>>>> As mentioned in my message, I don=E2=80=99t think specific acces=
s control
> >>>> will be
> >>>>>>>> needed (I am not aware of specific use cases), but specifically
> with
> >>>> the
> >>>>>>>> revised datastore architecture about to the be introduced, its
> >>>> impact or
> >>>>>>>> nonimpact and interrelation with NACM should be discussed.  This
> can
> >>>> be as
> >>>>>>>> simple as a small paragraph or subsection =E2=80=9CRevised Datas=
tore
> >>>>>>>> Considerations=E2=80=9D.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> there is no text about candidate vs. running vs. startup.
> >>>>>>> The NACM rules apply to all of them the same.
> >>>>>>> I could add text that says there is no consideration for specific
> >>>>>>> datastores.
> >>>>>>
> >>>>>> Actually, the document already says:
> >>>>>>
> >>>>>> 3.2.  Datastore Access
> >>>>>>
> >>>>>>  The same access control rules apply to all datastores, for exampl=
e,
> >>>>>>  the candidate configuration datastore or the running configuratio=
n
> >>>>>>  datastore.
> >>>>>>
> >>>>>>  Only the standard NETCONF datastores (candidate, running, and
> >>>>>>  startup) are controlled by NACM.
> >>>>>>
> >>>>>>
> >>>>>> Somehow this needs to be updated when the revised datastore work i=
s
> >>>>>> done.  E.g., I expect read access to intended to follow the same
> NACM
> >>>>>> rules.
> >>>>>>
> >>>>>
> >>>>> Yes. NACM likely also applies to the <operational/> datastore (but
> >>>>> this follows already from the text that talks about 'state data').
> >>>>>
> >>>>> My question, however, was about other future yet to be defined
> >>>>> 'dynamic' datastores - does NACM make a statement of the form 'once
> an
> >>>>> implementation announces NACM, NACM applies to all datastores - no
> >>>>> exceptions' or do we leave it to the definition of future datastore=
s
> >>>>> to declare whether NACM applies to it. There may be three possible
> >>>>> solutions:
> >>>>>
> >>>>> a) Once an implementation supports NACM, NACM applies to all
> >>>>>  datastores (including any datastores defined in the future).
> >>>>>
> >>>>> b) Once an implementation supports NACM, NACM applies to all
> >>>>>  conventional datastores and the operational state datastore.  Othe=
r
> >>>>>  datastores must define whether NACM applies to them.
> >>>>>
> >>>>>  (This means, whenever a new datastore is introduced, the question
> >>>>>  whether NACM applies has to answered for the new datastore.)
> >>>>>
> >>>>> c) Once an implementation supports NACM, NACM applies to all curren=
t
> >>>>>  and future datastore unless explicitely stated or signaled that
> >>>>>  NACM does not apply to a certain future datastore.
> >>>>>
> >>>>>  (This is essentially b) but with a default that NACM applies unles=
s
> >>>>>  things are explicitly regulated to be different.)
> >>>>>
> >>>>> I just thought it is worth to take a moment to think about this
> >>>>> question.
> >>>>>
> >>>>> /js
> >>>>>
> >>>>> --
> >>>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen |
> Germany
> >>>>> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
> >>>>>
> >>>>> _______________________________________________
> >>>>> Netconf mailing list
> >>>>> Netconf@ietf.org
> >>>>> https://www.ietf.org/mailman/listinfo/netconf
> >>>>
> >>>> Mahesh Jethanandani
> >>>> mjethanandani@gmail.com
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>> Mahesh Jethanandani
> >>> mjethanandani@gmail.com
> >>>
> >>>
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>
>
>

--f403045ec658bdf5ef05503ca7ab
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:mjethanandani@gmail.com" target=3D"_blank">mjethanan=
dani@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
&gt; On May 23, 2017, at 12:15 AM, Martin Bjorklund &lt;<a href=3D"mailto:m=
bj@tail-f.com">mbj@tail-f.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.=
com</a>&gt; wrote:<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; The update is on github.<br>
&gt;&gt; <a href=3D"http://github.com/netconf-wg/rfc6536bis" rel=3D"norefer=
rer" target=3D"_blank">http://github.com/netconf-wg/<wbr>rfc6536bis</a><br>
&gt;&gt;<br>
&gt;&gt; I would like Martin to look it over before it is posted.<br>
&gt;<br>
&gt; Done, and the new text looks good.=C2=A0 I moved the new subsection to=
 be<br>
&gt; the first in 3.2, and I also fixed some minor terminology issues.<br>
&gt;<br>
&gt; But, I wonder if we shouldn&#39;t make the document even less NETCONF<=
br>
&gt; specific, and align the terminology to revised-datastores.=C2=A0 For<b=
r>
&gt; example, currently the document talks about access to &quot;NETCONF<br=
>
&gt; datastores&quot;.=C2=A0 =C2=A0With the new less protocol-specific term=
inology this<br>
&gt; would simply be &quot;datastore=E2=80=9D.<br>
<br>
I would prefer this.<br></blockquote><div><br></div><div>OK, but the operat=
ions are somewhat NETCONF specific.</div><div>We will try to make sure we d=
o not create more inconsistencies than we remove ;-)</div><div><br></div><d=
iv><br></div><div>Andy</div><div>=C2=A0</div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
>
<br>
&gt;<br>
&gt; Also, we currently have this:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0A standalone RESTCONF server (i.e., not co-located with a =
NETCONF<br>
&gt;=C2=A0 =C2=A0server) applies NACM rules to a conceptual datastore, sinc=
e<br>
&gt;=C2=A0 =C2=A0datastores are not supported in RESTCONF.<br>
&gt;<br>
&gt; I don&#39;t think this is quite correct.=C2=A0 Even in a stand-alone R=
ESTCONF<br>
&gt; server there is an underlying conceptual datastore, for which NACM can=
<br>
&gt; be used to control access.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; /martin<br>
&gt;<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Andy<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani &lt;<br>
&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com=
</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Andy,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On May 16, 2017, at 2:32 PM, Andy Bierman &lt;<a href=3D"mailt=
o:andy@yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani &lt;<br>
&gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail=
.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Having reviewed all the e-mails, I believe that there are =
few issues that<br>
&gt;&gt;&gt;&gt; need to be resolved before we send the draft for publicati=
on. We need to<br>
&gt;&gt;&gt;&gt; agree on the language, even if we do have the exact text i=
n the draft.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; To begin with, do the authors have a response to the sugge=
stions from<br>
&gt;&gt;&gt;&gt; Juergen prompted by the question from Alex? Are we leaving=
 the NACM<br>
&gt;&gt;&gt;&gt; definition of any future datastores to the datastore draft=
, or are we<br>
&gt;&gt;&gt;&gt; saying NACM applies to all datastores?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; No. IMO the text should say NACM applies to NETCONF and RESTCO=
NF<br>
&gt;&gt;&gt; with the existing datastores.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; NACM MAY be applied to other datastores that have similar oper=
ation sets.<br>
&gt;&gt;&gt; Any new datastore specification needs to define how it maps to=
 the NACM<br>
&gt;&gt;&gt; CRUDX<br>
&gt;&gt;&gt; model.=C2=A0 The datastore does not need to use NACM (e.g., da=
tastore defines<br>
&gt;&gt;&gt; something else<br>
&gt;&gt;&gt; or does not use access control).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Can you update the draft with this text.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; To the point that Andy raised earlier, we need to have texts a=
round<br>
&gt;&gt;&gt;&gt; datastores that provide more than CRUDX capabilities, incl=
uding any<br>
&gt;&gt;&gt;&gt; protocol operations, e.g. priority, as something that is o=
ut of scope of<br>
&gt;&gt;&gt;&gt; this document.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; This would be outside the scope of NACM.<br>
&gt;&gt;&gt; This is part of the RPC input validation.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And clarify that operations outside of CRUDX are outside the s=
cope of<br>
&gt;&gt;&gt; NACM. We can them move the document towards publication.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; NETCONF WG has moved to redefine its charter beyond NETCON=
F and RESTCONF.<br>
&gt;&gt;&gt;&gt; Therefore there is a real possibility of another protocol =
being discussed<br>
&gt;&gt;&gt;&gt; in the WG. Is there something in the NACM draft that restr=
icts it to<br>
&gt;&gt;&gt;&gt; NETCONF/RESTCONF that other protocols cannot adopt? If so,=
 can they be<br>
&gt;&gt;&gt;&gt; called out?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; If NACM needs to be changed in the future because a new or exi=
sting<br>
&gt;&gt;&gt; protocol needs new features<br>
&gt;&gt;&gt; then the WG will have to deal with it then.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; Andy<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder &lt=
;<br>
&gt;&gt;&gt;&gt; <a href=3D"mailto:j.schoenwaelder@jacobs-university.de">j.=
schoenwaelder@jacobs-<wbr>university.de</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjork=
lund wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.=
com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Alexander Cle=
mm &lt;<br>
&gt;&gt;&gt;&gt; <a href=3D"mailto:alexander.clemm@huawei.com">alexander.cl=
emm@huawei.com</a><br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; As mentioned in my message, I don=E2=80=99=
t think specific access control<br>
&gt;&gt;&gt;&gt; will be<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; needed (I am not aware of specific use cas=
es), but specifically with<br>
&gt;&gt;&gt;&gt; the<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; revised datastore architecture about to th=
e be introduced, its<br>
&gt;&gt;&gt;&gt; impact or<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; nonimpact and interrelation with NACM shou=
ld be discussed.=C2=A0 This can<br>
&gt;&gt;&gt;&gt; be as<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; simple as a small paragraph or subsection =
=E2=80=9CRevised Datastore<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; there is no text about candidate vs. running v=
s. startup.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; The NACM rules apply to all of them the same.<=
br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; I could add text that says there is no conside=
ration for specific<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; datastores.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Actually, the document already says:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; 3.2.=C2=A0 Datastore Access<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 The same access control rules apply to all d=
atastores, for example,<br>
&gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 the candidate configuration datastore or the=
 running configuration<br>
&gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 datastore.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 Only the standard NETCONF datastores (candid=
ate, running, and<br>
&gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 startup) are controlled by NACM.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; Somehow this needs to be updated when the revised =
datastore work is<br>
&gt;&gt;&gt;&gt;&gt;&gt; done.=C2=A0 E.g., I expect read access to intended=
 to follow the same NACM<br>
&gt;&gt;&gt;&gt;&gt;&gt; rules.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Yes. NACM likely also applies to the &lt;operational/&=
gt; datastore (but<br>
&gt;&gt;&gt;&gt;&gt; this follows already from the text that talks about &#=
39;state data&#39;).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; My question, however, was about other future yet to be=
 defined<br>
&gt;&gt;&gt;&gt;&gt; &#39;dynamic&#39; datastores - does NACM make a statem=
ent of the form &#39;once an<br>
&gt;&gt;&gt;&gt;&gt; implementation announces NACM, NACM applies to all dat=
astores - no<br>
&gt;&gt;&gt;&gt;&gt; exceptions&#39; or do we leave it to the definition of=
 future datastores<br>
&gt;&gt;&gt;&gt;&gt; to declare whether NACM applies to it. There may be th=
ree possible<br>
&gt;&gt;&gt;&gt;&gt; solutions:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; a) Once an implementation supports NACM, NACM applies =
to all<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 datastores (including any datastores defined in =
the future).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; b) Once an implementation supports NACM, NACM applies =
to all<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 conventional datastores and the operational stat=
e datastore.=C2=A0 Other<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 datastores must define whether NACM applies to t=
hem.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 (This means, whenever a new datastore is introdu=
ced, the question<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 whether NACM applies has to answered for the new=
 datastore.)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; c) Once an implementation supports NACM, NACM applies =
to all current<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 and future datastore unless explicitely stated o=
r signaled that<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 NACM does not apply to a certain future datastor=
e.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 (This is essentially b) but with a default that =
NACM applies unless<br>
&gt;&gt;&gt;&gt;&gt;=C2=A0 things are explicitly regulated to be different.=
)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; I just thought it is worth to take a moment to think a=
bout this<br>
&gt;&gt;&gt;&gt;&gt; question.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; /js<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0Jacobs University Bremen gGmbH<br>
&gt;&gt;&gt;&gt;&gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0Campus Ring 1 | 28759 Bremen | Germany<br>
&gt;&gt;&gt;&gt;&gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0&lt;<a href=3D"http://www.jacobs-university.de/" rel=3D"norefe=
rrer" target=3D"_blank">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; ______________________________<wbr>_________________<b=
r>
&gt;&gt;&gt;&gt;&gt; Netconf mailing list<br>
&gt;&gt;&gt;&gt;&gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</=
a><br>
&gt;&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netco=
nf" rel=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>=
listinfo/netconf</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Mahesh Jethanandani<br>
&gt;&gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@g=
mail.com</a><br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Mahesh Jethanandani<br>
&gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail=
.com</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
Mahesh Jethanandani<br>
<a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a><br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div></div>

--f403045ec658bdf5ef05503ca7ab--


From nobody Wed May 24 00:16:41 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 94E89127137 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:16:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 25hCliOFnGwm for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:16:37 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 560321201FA for <netconf@ietf.org>; Wed, 24 May 2017 00:16:37 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 7E23E1AE046D; Wed, 24 May 2017 09:16:34 +0200 (CEST)
Date: Wed, 24 May 2017 09:16:50 +0200 (CEST)
Message-Id: <20170524.091650.1982503698804665659.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: mjethanandani@gmail.com, j.schoenwaelder@jacobs-university.de, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com>
References: <20170523.091519.1988324449434279102.mbj@tail-f.com> <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com> <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/PjONSETHqy5whTnNVs2lvazHXu8>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 07:16:40 -0000

QW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+IHdyb3RlOg0KPiBPbiBUdWUsIE1heSAy
MywgMjAxNyBhdCAxMjo0MSBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSA8DQo+IG1qZXRoYW5hbmRh
bmlAZ21haWwuY29tPiB3cm90ZToNCj4gDQo+ID4NCj4gPiA+IE9uIE1heSAyMywgMjAxNywgYXQg
MTI6MTUgQU0sIE1hcnRpbiBCam9ya2x1bmQgPG1iakB0YWlsLWYuY29tPiB3cm90ZToNCj4gPiA+
DQo+ID4gPiBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbT4gd3JvdGU6DQo+ID4gPj4g
SGksDQo+ID4gPj4NCj4gPiA+PiBUaGUgdXBkYXRlIGlzIG9uIGdpdGh1Yi4NCj4gPiA+PiBodHRw
Oi8vZ2l0aHViLmNvbS9uZXRjb25mLXdnL3JmYzY1MzZiaXMNCj4gPiA+Pg0KPiA+ID4+IEkgd291
bGQgbGlrZSBNYXJ0aW4gdG8gbG9vayBpdCBvdmVyIGJlZm9yZSBpdCBpcyBwb3N0ZWQuDQo+ID4g
Pg0KPiA+ID4gRG9uZSwgYW5kIHRoZSBuZXcgdGV4dCBsb29rcyBnb29kLiAgSSBtb3ZlZCB0aGUg
bmV3IHN1YnNlY3Rpb24gdG8gYmUNCj4gPiA+IHRoZSBmaXJzdCBpbiAzLjIsIGFuZCBJIGFsc28g
Zml4ZWQgc29tZSBtaW5vciB0ZXJtaW5vbG9neSBpc3N1ZXMuDQo+ID4gPg0KPiA+ID4gQnV0LCBJ
IHdvbmRlciBpZiB3ZSBzaG91bGRuJ3QgbWFrZSB0aGUgZG9jdW1lbnQgZXZlbiBsZXNzIE5FVENP
TkYNCj4gPiA+IHNwZWNpZmljLCBhbmQgYWxpZ24gdGhlIHRlcm1pbm9sb2d5IHRvIHJldmlzZWQt
ZGF0YXN0b3Jlcy4gIEZvcg0KPiA+ID4gZXhhbXBsZSwgY3VycmVudGx5IHRoZSBkb2N1bWVudCB0
YWxrcyBhYm91dCBhY2Nlc3MgdG8gIk5FVENPTkYNCj4gPiA+IGRhdGFzdG9yZXMiLiAgIFdpdGgg
dGhlIG5ldyBsZXNzIHByb3RvY29sLXNwZWNpZmljIHRlcm1pbm9sb2d5IHRoaXMNCj4gPiA+IHdv
dWxkIHNpbXBseSBiZSAiZGF0YXN0b3Jl4oCdLg0KPiA+DQo+ID4gSSB3b3VsZCBwcmVmZXIgdGhp
cy4NCj4gPg0KPiANCj4gT0ssIGJ1dCB0aGUgb3BlcmF0aW9ucyBhcmUgc29tZXdoYXQgTkVUQ09O
RiBzcGVjaWZpYy4NCj4gV2Ugd2lsbCB0cnkgdG8gbWFrZSBzdXJlIHdlIGRvIG5vdCBjcmVhdGUg
bW9yZSBpbmNvbnNpc3RlbmNpZXMgdGhhbiB3ZQ0KPiByZW1vdmUgOy0pDQoNClllcy4gIEJ1dCBJ
IHRoaW5rIHdoYXQgd2Ugc2hvdWxkIGRvIGlzIG5vdCBhbnkgdGVjaG5pY2FsIGNoYW5nZXMsIGp1
c3QNCmFsaWduIHRlcm1pbm9sb2d5Lg0KDQoNCi9tYXJ0aW4NCg0KDQoNCj4gDQo+IA0KPiBBbmR5
DQo+IA0KPiANCj4gPg0KPiA+ID4NCj4gPiA+IEFsc28sIHdlIGN1cnJlbnRseSBoYXZlIHRoaXM6
DQo+ID4gPg0KPiA+ID4gICBBIHN0YW5kYWxvbmUgUkVTVENPTkYgc2VydmVyIChpLmUuLCBub3Qg
Y28tbG9jYXRlZCB3aXRoIGEgTkVUQ09ORg0KPiA+ID4gICBzZXJ2ZXIpIGFwcGxpZXMgTkFDTSBy
dWxlcyB0byBhIGNvbmNlcHR1YWwgZGF0YXN0b3JlLCBzaW5jZQ0KPiA+ID4gICBkYXRhc3RvcmVz
IGFyZSBub3Qgc3VwcG9ydGVkIGluIFJFU1RDT05GLg0KPiA+ID4NCj4gPiA+IEkgZG9uJ3QgdGhp
bmsgdGhpcyBpcyBxdWl0ZSBjb3JyZWN0LiAgRXZlbiBpbiBhIHN0YW5kLWFsb25lIFJFU1RDT05G
DQo+ID4gPiBzZXJ2ZXIgdGhlcmUgaXMgYW4gdW5kZXJseWluZyBjb25jZXB0dWFsIGRhdGFzdG9y
ZSwgZm9yIHdoaWNoIE5BQ00gY2FuDQo+ID4gPiBiZSB1c2VkIHRvIGNvbnRyb2wgYWNjZXNzLg0K
PiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gL21hcnRpbg0KPiA+ID4NCj4gPiA+DQo+ID4gPj4N
Cj4gPiA+Pg0KPiA+ID4+IEFuZHkNCj4gPiA+Pg0KPiA+ID4+DQo+ID4gPj4gT24gU3VuLCBNYXkg
MjEsIDIwMTcgYXQgMTA6MjUgUE0sIE1haGVzaCBKZXRoYW5hbmRhbmkgPA0KPiA+ID4+IG1qZXRo
YW5hbmRhbmlAZ21haWwuY29tPiB3cm90ZToNCj4gPiA+Pg0KPiA+ID4+PiBBbmR5LA0KPiA+ID4+
Pg0KPiA+ID4+PiBPbiBNYXkgMTYsIDIwMTcsIGF0IDI6MzIgUE0sIEFuZHkgQmllcm1hbiA8YW5k
eUB5dW1hd29ya3MuY29tPiB3cm90ZToNCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+
Pj4gT24gVHVlLCBNYXkgMTYsIDIwMTcgYXQgMjowMiBQTSwgTWFoZXNoIEpldGhhbmFuZGFuaSA8
DQo+ID4gPj4+IG1qZXRoYW5hbmRhbmlAZ21haWwuY29tPiB3cm90ZToNCj4gPiA+Pj4NCj4gPiA+
Pj4+IEhhdmluZyByZXZpZXdlZCBhbGwgdGhlIGUtbWFpbHMsIEkgYmVsaWV2ZSB0aGF0IHRoZXJl
IGFyZSBmZXcgaXNzdWVzDQo+ID4gdGhhdA0KPiA+ID4+Pj4gbmVlZCB0byBiZSByZXNvbHZlZCBi
ZWZvcmUgd2Ugc2VuZCB0aGUgZHJhZnQgZm9yIHB1YmxpY2F0aW9uLiBXZSBuZWVkDQo+ID4gdG8N
Cj4gPiA+Pj4+IGFncmVlIG9uIHRoZSBsYW5ndWFnZSwgZXZlbiBpZiB3ZSBkbyBoYXZlIHRoZSBl
eGFjdCB0ZXh0IGluIHRoZSBkcmFmdC4NCj4gPiA+Pj4+DQo+ID4gPj4+PiBUbyBiZWdpbiB3aXRo
LCBkbyB0aGUgYXV0aG9ycyBoYXZlIGEgcmVzcG9uc2UgdG8gdGhlIHN1Z2dlc3Rpb25zIGZyb20N
Cj4gPiA+Pj4+IEp1ZXJnZW4gcHJvbXB0ZWQgYnkgdGhlIHF1ZXN0aW9uIGZyb20gQWxleD8gQXJl
IHdlIGxlYXZpbmcgdGhlIE5BQ00NCj4gPiA+Pj4+IGRlZmluaXRpb24gb2YgYW55IGZ1dHVyZSBk
YXRhc3RvcmVzIHRvIHRoZSBkYXRhc3RvcmUgZHJhZnQsIG9yIGFyZSB3ZQ0KPiA+ID4+Pj4gc2F5
aW5nIE5BQ00gYXBwbGllcyB0byBhbGwgZGF0YXN0b3Jlcz8NCj4gPiA+Pj4+DQo+ID4gPj4+Pg0K
PiA+ID4+PiBOby4gSU1PIHRoZSB0ZXh0IHNob3VsZCBzYXkgTkFDTSBhcHBsaWVzIHRvIE5FVENP
TkYgYW5kIFJFU1RDT05GDQo+ID4gPj4+IHdpdGggdGhlIGV4aXN0aW5nIGRhdGFzdG9yZXMuDQo+
ID4gPj4+DQo+ID4gPj4+IE5BQ00gTUFZIGJlIGFwcGxpZWQgdG8gb3RoZXIgZGF0YXN0b3JlcyB0
aGF0IGhhdmUgc2ltaWxhciBvcGVyYXRpb24NCj4gPiBzZXRzLg0KPiA+ID4+PiBBbnkgbmV3IGRh
dGFzdG9yZSBzcGVjaWZpY2F0aW9uIG5lZWRzIHRvIGRlZmluZSBob3cgaXQgbWFwcyB0byB0aGUg
TkFDTQ0KPiA+ID4+PiBDUlVEWA0KPiA+ID4+PiBtb2RlbC4gIFRoZSBkYXRhc3RvcmUgZG9lcyBu
b3QgbmVlZCB0byB1c2UgTkFDTSAoZS5nLiwgZGF0YXN0b3JlDQo+ID4gZGVmaW5lcw0KPiA+ID4+
PiBzb21ldGhpbmcgZWxzZQ0KPiA+ID4+PiBvciBkb2VzIG5vdCB1c2UgYWNjZXNzIGNvbnRyb2wp
Lg0KPiA+ID4+Pg0KPiA+ID4+Pg0KPiA+ID4+PiBDYW4geW91IHVwZGF0ZSB0aGUgZHJhZnQgd2l0
aCB0aGlzIHRleHQuDQo+ID4gPj4+DQo+ID4gPj4+DQo+ID4gPj4+DQo+ID4gPj4+IFRvIHRoZSBw
b2ludCB0aGF0IEFuZHkgcmFpc2VkIGVhcmxpZXIsIHdlIG5lZWQgdG8gaGF2ZSB0ZXh0cyBhcm91
bmQNCj4gPiA+Pj4+IGRhdGFzdG9yZXMgdGhhdCBwcm92aWRlIG1vcmUgdGhhbiBDUlVEWCBjYXBh
YmlsaXRpZXMsIGluY2x1ZGluZyBhbnkNCj4gPiA+Pj4+IHByb3RvY29sIG9wZXJhdGlvbnMsIGUu
Zy4gcHJpb3JpdHksIGFzIHNvbWV0aGluZyB0aGF0IGlzIG91dCBvZiBzY29wZQ0KPiA+IG9mDQo+
ID4gPj4+PiB0aGlzIGRvY3VtZW50Lg0KPiA+ID4+Pj4NCj4gPiA+Pj4+DQo+ID4gPj4+IFRoaXMg
d291bGQgYmUgb3V0c2lkZSB0aGUgc2NvcGUgb2YgTkFDTS4NCj4gPiA+Pj4gVGhpcyBpcyBwYXJ0
IG9mIHRoZSBSUEMgaW5wdXQgdmFsaWRhdGlvbi4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4g
QW5kIGNsYXJpZnkgdGhhdCBvcGVyYXRpb25zIG91dHNpZGUgb2YgQ1JVRFggYXJlIG91dHNpZGUg
dGhlIHNjb3BlIG9mDQo+ID4gPj4+IE5BQ00uIFdlIGNhbiB0aGVtIG1vdmUgdGhlIGRvY3VtZW50
IHRvd2FyZHMgcHVibGljYXRpb24uDQo+ID4gPj4+DQo+ID4gPj4+IFRoYW5rcy4NCj4gPiA+Pj4N
Cj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4+IE5FVENPTkYgV0cgaGFzIG1vdmVk
IHRvIHJlZGVmaW5lIGl0cyBjaGFydGVyIGJleW9uZCBORVRDT05GIGFuZA0KPiA+IFJFU1RDT05G
Lg0KPiA+ID4+Pj4gVGhlcmVmb3JlIHRoZXJlIGlzIGEgcmVhbCBwb3NzaWJpbGl0eSBvZiBhbm90
aGVyIHByb3RvY29sIGJlaW5nDQo+ID4gZGlzY3Vzc2VkDQo+ID4gPj4+PiBpbiB0aGUgV0cuIElz
IHRoZXJlIHNvbWV0aGluZyBpbiB0aGUgTkFDTSBkcmFmdCB0aGF0IHJlc3RyaWN0cyBpdCB0bw0K
PiA+ID4+Pj4gTkVUQ09ORi9SRVNUQ09ORiB0aGF0IG90aGVyIHByb3RvY29scyBjYW5ub3QgYWRv
cHQ/IElmIHNvLCBjYW4gdGhleSBiZQ0KPiA+ID4+Pj4gY2FsbGVkIG91dD8NCj4gPiA+Pj4+DQo+
ID4gPj4+DQo+ID4gPj4+IElmIE5BQ00gbmVlZHMgdG8gYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJl
IGJlY2F1c2UgYSBuZXcgb3IgZXhpc3RpbmcNCj4gPiA+Pj4gcHJvdG9jb2wgbmVlZHMgbmV3IGZl
YXR1cmVzDQo+ID4gPj4+IHRoZW4gdGhlIFdHIHdpbGwgaGF2ZSB0byBkZWFsIHdpdGggaXQgdGhl
bi4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4+DQo+ID4gPj4+PiBUaGFua3Mu
DQo+ID4gPj4+Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4gQW5keQ0KPiA+ID4+Pg0KPiA+ID4+Pg0KPiA+
ID4+Pj4+IE9uIE1heSA5LCAyMDE3LCBhdCAxMTo0NiBQTSwgSnVlcmdlbiBTY2hvZW53YWVsZGVy
IDwNCj4gPiA+Pj4+IGouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4gd3JvdGU6
DQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBPbiBUdWUsIE1heSAwOSwgMjAxNyBhdCAwMjo1MDozMFBN
ICswMjAwLCBNYXJ0aW4gQmpvcmtsdW5kIHdyb3RlOg0KPiA+ID4+Pj4+PiBBbmR5IEJpZXJtYW4g
PGFuZHlAeXVtYXdvcmtzLmNvbT4gd3JvdGU6DQo+ID4gPj4+Pj4+PiBPbiBUaHUsIE1heSA0LCAy
MDE3IGF0IDExOjIxIEFNLCBBbGV4YW5kZXIgQ2xlbW0gPA0KPiA+ID4+Pj4gYWxleGFuZGVyLmNs
ZW1tQGh1YXdlaS5jb20NCj4gPiA+Pj4+Pj4+PiB3cm90ZToNCj4gPiA+Pj4+Pj4+DQo+ID4gPj4+
Pj4+Pj4gQXMgbWVudGlvbmVkIGluIG15IG1lc3NhZ2UsIEkgZG9u4oCZdCB0aGluayBzcGVjaWZp
YyBhY2Nlc3MgY29udHJvbA0KPiA+ID4+Pj4gd2lsbCBiZQ0KPiA+ID4+Pj4+Pj4+IG5lZWRlZCAo
SSBhbSBub3QgYXdhcmUgb2Ygc3BlY2lmaWMgdXNlIGNhc2VzKSwgYnV0IHNwZWNpZmljYWxseQ0K
PiA+IHdpdGgNCj4gPiA+Pj4+IHRoZQ0KPiA+ID4+Pj4+Pj4+IHJldmlzZWQgZGF0YXN0b3JlIGFy
Y2hpdGVjdHVyZSBhYm91dCB0byB0aGUgYmUgaW50cm9kdWNlZCwgaXRzDQo+ID4gPj4+PiBpbXBh
Y3Qgb3INCj4gPiA+Pj4+Pj4+PiBub25pbXBhY3QgYW5kIGludGVycmVsYXRpb24gd2l0aCBOQUNN
IHNob3VsZCBiZSBkaXNjdXNzZWQuICBUaGlzDQo+ID4gY2FuDQo+ID4gPj4+PiBiZSBhcw0KPiA+
ID4+Pj4+Pj4+IHNpbXBsZSBhcyBhIHNtYWxsIHBhcmFncmFwaCBvciBzdWJzZWN0aW9uIOKAnFJl
dmlzZWQgRGF0YXN0b3JlDQo+ID4gPj4+Pj4+Pj4gQ29uc2lkZXJhdGlvbnPigJ0uDQo+ID4gPj4+
Pj4+Pj4NCj4gPiA+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+DQo+ID4gPj4+Pj4+Pg0KPiA+ID4+Pj4+
Pj4gdGhlcmUgaXMgbm8gdGV4dCBhYm91dCBjYW5kaWRhdGUgdnMuIHJ1bm5pbmcgdnMuIHN0YXJ0
dXAuDQo+ID4gPj4+Pj4+PiBUaGUgTkFDTSBydWxlcyBhcHBseSB0byBhbGwgb2YgdGhlbSB0aGUg
c2FtZS4NCj4gPiA+Pj4+Pj4+IEkgY291bGQgYWRkIHRleHQgdGhhdCBzYXlzIHRoZXJlIGlzIG5v
IGNvbnNpZGVyYXRpb24gZm9yIHNwZWNpZmljDQo+ID4gPj4+Pj4+PiBkYXRhc3RvcmVzLg0KPiA+
ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBBY3R1YWxseSwgdGhlIGRvY3VtZW50IGFscmVhZHkgc2F5czoN
Cj4gPiA+Pj4+Pj4NCj4gPiA+Pj4+Pj4gMy4yLiAgRGF0YXN0b3JlIEFjY2Vzcw0KPiA+ID4+Pj4+
Pg0KPiA+ID4+Pj4+PiAgVGhlIHNhbWUgYWNjZXNzIGNvbnRyb2wgcnVsZXMgYXBwbHkgdG8gYWxs
IGRhdGFzdG9yZXMsIGZvciBleGFtcGxlLA0KPiA+ID4+Pj4+PiAgdGhlIGNhbmRpZGF0ZSBjb25m
aWd1cmF0aW9uIGRhdGFzdG9yZSBvciB0aGUgcnVubmluZyBjb25maWd1cmF0aW9uDQo+ID4gPj4+
Pj4+ICBkYXRhc3RvcmUuDQo+ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+ICBPbmx5IHRoZSBzdGFuZGFy
ZCBORVRDT05GIGRhdGFzdG9yZXMgKGNhbmRpZGF0ZSwgcnVubmluZywgYW5kDQo+ID4gPj4+Pj4+
ICBzdGFydHVwKSBhcmUgY29udHJvbGxlZCBieSBOQUNNLg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+
Pg0KPiA+ID4+Pj4+PiBTb21laG93IHRoaXMgbmVlZHMgdG8gYmUgdXBkYXRlZCB3aGVuIHRoZSBy
ZXZpc2VkIGRhdGFzdG9yZSB3b3JrIGlzDQo+ID4gPj4+Pj4+IGRvbmUuICBFLmcuLCBJIGV4cGVj
dCByZWFkIGFjY2VzcyB0byBpbnRlbmRlZCB0byBmb2xsb3cgdGhlIHNhbWUNCj4gPiBOQUNNDQo+
ID4gPj4+Pj4+IHJ1bGVzLg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gWWVzLiBO
QUNNIGxpa2VseSBhbHNvIGFwcGxpZXMgdG8gdGhlIDxvcGVyYXRpb25hbC8+IGRhdGFzdG9yZSAo
YnV0DQo+ID4gPj4+Pj4gdGhpcyBmb2xsb3dzIGFscmVhZHkgZnJvbSB0aGUgdGV4dCB0aGF0IHRh
bGtzIGFib3V0ICdzdGF0ZSBkYXRhJykuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBNeSBxdWVzdGlv
biwgaG93ZXZlciwgd2FzIGFib3V0IG90aGVyIGZ1dHVyZSB5ZXQgdG8gYmUgZGVmaW5lZA0KPiA+
ID4+Pj4+ICdkeW5hbWljJyBkYXRhc3RvcmVzIC0gZG9lcyBOQUNNIG1ha2UgYSBzdGF0ZW1lbnQg
b2YgdGhlIGZvcm0gJ29uY2UNCj4gPiBhbg0KPiA+ID4+Pj4+IGltcGxlbWVudGF0aW9uIGFubm91
bmNlcyBOQUNNLCBOQUNNIGFwcGxpZXMgdG8gYWxsIGRhdGFzdG9yZXMgLSBubw0KPiA+ID4+Pj4+
IGV4Y2VwdGlvbnMnIG9yIGRvIHdlIGxlYXZlIGl0IHRvIHRoZSBkZWZpbml0aW9uIG9mIGZ1dHVy
ZSBkYXRhc3RvcmVzDQo+ID4gPj4+Pj4gdG8gZGVjbGFyZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0
byBpdC4gVGhlcmUgbWF5IGJlIHRocmVlIHBvc3NpYmxlDQo+ID4gPj4+Pj4gc29sdXRpb25zOg0K
PiA+ID4+Pj4+DQo+ID4gPj4+Pj4gYSkgT25jZSBhbiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBO
QUNNLCBOQUNNIGFwcGxpZXMgdG8gYWxsDQo+ID4gPj4+Pj4gIGRhdGFzdG9yZXMgKGluY2x1ZGlu
ZyBhbnkgZGF0YXN0b3JlcyBkZWZpbmVkIGluIHRoZSBmdXR1cmUpLg0KPiA+ID4+Pj4+DQo+ID4g
Pj4+Pj4gYikgT25jZSBhbiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBOQUNNLCBOQUNNIGFwcGxp
ZXMgdG8gYWxsDQo+ID4gPj4+Pj4gIGNvbnZlbnRpb25hbCBkYXRhc3RvcmVzIGFuZCB0aGUgb3Bl
cmF0aW9uYWwgc3RhdGUgZGF0YXN0b3JlLiAgT3RoZXINCj4gPiA+Pj4+PiAgZGF0YXN0b3JlcyBt
dXN0IGRlZmluZSB3aGV0aGVyIE5BQ00gYXBwbGllcyB0byB0aGVtLg0KPiA+ID4+Pj4+DQo+ID4g
Pj4+Pj4gIChUaGlzIG1lYW5zLCB3aGVuZXZlciBhIG5ldyBkYXRhc3RvcmUgaXMgaW50cm9kdWNl
ZCwgdGhlIHF1ZXN0aW9uDQo+ID4gPj4+Pj4gIHdoZXRoZXIgTkFDTSBhcHBsaWVzIGhhcyB0byBh
bnN3ZXJlZCBmb3IgdGhlIG5ldyBkYXRhc3RvcmUuKQ0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gYykg
T25jZSBhbiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBOQUNNLCBOQUNNIGFwcGxpZXMgdG8gYWxs
IGN1cnJlbnQNCj4gPiA+Pj4+PiAgYW5kIGZ1dHVyZSBkYXRhc3RvcmUgdW5sZXNzIGV4cGxpY2l0
ZWx5IHN0YXRlZCBvciBzaWduYWxlZCB0aGF0DQo+ID4gPj4+Pj4gIE5BQ00gZG9lcyBub3QgYXBw
bHkgdG8gYSBjZXJ0YWluIGZ1dHVyZSBkYXRhc3RvcmUuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiAg
KFRoaXMgaXMgZXNzZW50aWFsbHkgYikgYnV0IHdpdGggYSBkZWZhdWx0IHRoYXQgTkFDTSBhcHBs
aWVzIHVubGVzcw0KPiA+ID4+Pj4+ICB0aGluZ3MgYXJlIGV4cGxpY2l0bHkgcmVndWxhdGVkIHRv
IGJlIGRpZmZlcmVudC4pDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBJIGp1c3QgdGhvdWdodCBpdCBp
cyB3b3J0aCB0byB0YWtlIGEgbW9tZW50IHRvIHRoaW5rIGFib3V0IHRoaXMNCj4gPiA+Pj4+PiBx
dWVzdGlvbi4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IC9qcw0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4g
LS0NCj4gPiA+Pj4+PiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgICAgICAgICAgIEphY29icyBVbml2
ZXJzaXR5IEJyZW1lbiBnR21iSA0KPiA+ID4+Pj4+IFBob25lOiArNDkgNDIxIDIwMCAzNTg3ICAg
ICAgICAgQ2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1lbiB8DQo+ID4gR2VybWFueQ0KPiA+ID4+
Pj4+IEZheDogICArNDkgNDIxIDIwMCAzMTAzICAgICAgICAgPGh0dHA6Ly93d3cuamFjb2JzLXVu
aXZlcnNpdHkuZGUvPg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+Pj4+PiBOZXRjb25mIG1haWxpbmcgbGlz
dA0KPiA+ID4+Pj4+IE5ldGNvbmZAaWV0Zi5vcmcNCj4gPiA+Pj4+PiBodHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYNCj4gPiA+Pj4+DQo+ID4gPj4+PiBNYWhlc2gg
SmV0aGFuYW5kYW5pDQo+ID4gPj4+PiBtamV0aGFuYW5kYW5pQGdtYWlsLmNvbQ0KPiA+ID4+Pj4N
Cj4gPiA+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4gTWFoZXNoIEpl
dGhhbmFuZGFuaQ0KPiA+ID4+PiBtamV0aGFuYW5kYW5pQGdtYWlsLmNvbQ0KPiA+ID4+Pg0KPiA+
ID4+Pg0KPiA+DQo+ID4gTWFoZXNoIEpldGhhbmFuZGFuaQ0KPiA+IG1qZXRoYW5hbmRhbmlAZ21h
aWwuY29tDQo+ID4NCj4gPg0KPiA+DQo+ID4NCg==


From nobody Wed May 24 00:35:35 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 522CC1201FA for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:35:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id R2ph0KMBhjFA for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:35:30 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 6B4771270A0 for <netconf@ietf.org>; Wed, 24 May 2017 00:35:30 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 722371AE046D; Wed, 24 May 2017 09:35:29 +0200 (CEST)
Date: Wed, 24 May 2017 09:35:45 +0200 (CEST)
Message-Id: <20170524.093545.1590430256406536052.mbj@tail-f.com>
To: evoit@cisco.com
Cc: alexander.clemm@huawei.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com>
References: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/TEnShk1k3Eev6IJBG6LW2CQ3RQo>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 07:35:33 -0000

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > 
> > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > >
> > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > Hi Martin,
> > > > >
> > > > > Almost overlooked your question below.  What is meant by the
> > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > >
> > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > The following filter types are included in the yang-push data model:
> > > > > [subtree] [xpath]"
> > > >
> > > > Actually, only "subtree" is defined in yang-push, "xpath" is defined
> > > > in subscribed-notifications.
> > >
> > > At the top of yang-push page 7, xpath selection is described.  Is
> > > there something you feel missing?
> > 
> > Yes.  First of all, the YANG module defines an identity called
> > "xpath", based on
> > "sn:filter".  So this filter has nothing to do with selecting nodes in
> > a datastore;
> > this filter is used to match against a generated notification record.
> 
> To address this we could split the xpath identity into two types:
> "xpath-selection" and "xpath-boolean".  These would have different
> definitions, but both reference
> http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is that
> one results in a xpath node-set expression, and the other an xpath
> Boolean expression.  Make sense?

Not really.  In subscribed-notifications you have defined a generic
filter mechanism, that is used to block/allow the sending of generated
notifications to a subscriber.  This filter mechanism cannot be used
to select nodes to subscribe to for changes in a datastore.  You need
to define a separate mechansim for that in yang-push.  (Maybe not
even call it "filter", but perhaps "selection").

Some comments on subscribed-notifications: This generic mechanism
allows various filter syntaxes.  This generic mechanism needs to
explain what is required by a filter syntax definition (an identity,
evaluation rules).  In section 2.2 the document says that two filter
syntaxes are supported, but only one is defined (xpath).  It needs to
explain that a filter is supposed to return true or false (this part
RFC 5277 got right, see section 3.6).  Also, the current module has
the filter in an anyxml node; it is not clear how an XPath expression
is encoded in anyxml.

> > Second, the XPath filter is sorely underspecified.  The XPath context
> > is not
> > described, 
> 
> I understand and agree on your comment about the context.  The intent
> here is to provide equivalent capabilities of a GET.

I understand that.

> As it would be a
> huge undertaking to try to consolidate an industry-wide view of the
> minimal xpath syntax and capabilities in networking

Ehh... yes?  What does this have to do with specifiying the XPath
context?

> , I am hoping this
> doesn't fall under the umbrella of YANG subscription.  I would be glad
> to support someone who wishes to take this up though.
> 
> > the expected result data type is not defined, and it is not described
> > how the result is supposed to be used.
> 
> As for the result, the anydata output should be provided to the
> subscriber (with appropriate security applied).

I was referring to the output of the filter evaluation.

> They can determine
> how to use it.  The preferred embodiment would be to maintain a local
> extract of the Publisher's datastore (as defined by the filter).
> 
> > > >  [Side note - I think this is wrong, subscribed-notifications should
> > > > also define "subtree".]
> > > >
> > > > But these filters are used by the server to decide if a certain
> > > > notification that has been generated will be sent to the client or
> > > > not.
> > >
> > > Yes, the filters in subscribed-notification are supposed to give a
> > > boolean indication as to whether a specific event should traverse the
> > > filter in its entirety. RFC6241 section 6 subtree filters are written
> > > to provide a subset of content.  I suppose it would be possible to
> > > define an event-based subtree-filter-type where a non-null result of
> > > the subtree filter means that a particular event should traverse that
> > > filter.  Is this what you are suggesting?
> > 
> > Yes.  Note that this is already provided by RFC 5277, and I have
> > always
> > assumed that this new work will provide at least the same functions as
> > RFC
> > 5277 (and more).  (But note that the XPath filter is underspecified
> > also in RFC
> > 5277...)
> 
> I also want to make sure that a non-null result from a filter allows
> the event to pass.  I suspect that an xpath Boolean filter could be
> designed to do this, but I will tweak the subscribed-notifications
> text so that unnecessary filtering expression complexity is not
> artificially required.

Please make sure you understand how subtree filters and XPath filters
work in RFC 5277.  There is nothing wrong with that functionality.

> > > > If you want to define filters to specifify which nodes to subscribe
> > > > to, I think you need to define new filters, not try to reuese these
> > > > notification filters.
> > >
> > > Filtering syntax is hard, so we have been trying to adopt whatever is
> > > available for GET.  This way we don't have to educate users on a new
> > > universe of what is possible.  I fully expect that lots of learnings
> > > are going to come in the industry here over time, and this will be
> > > revisited in the future.
> > 
> > ?
> > 
> > I am not proposing any new filter syntax.  I am saying that the
> > current filter
> > nodes as defined in subscribed-notification cannot be used to select
> > nodes to
> > subscribe to for changes.
> 
> Understand.  Hopefully with the "xpath-selection" change proposed
> above, this will be covered.

No, see above.


/martin



> 
> Eric
> 
> > > > As for your question, I think such a filter should be defined to
> > > > return a node- set to which the client subscribe to changes.  If any
> > > > node (or subnode
> > > > to) in
> > > > this node-set changes, the notif will be sent.  Then the question
> > > > about value comparision is not relevant anymore.
> > >
> > > Excellent, on-change should only send an update if the results of the
> > > subscription filter have changed since the previous push.  It is quite
> > > possible that an object has been created and then deleted since the
> > > last push.
> > 
> > I don't understand what you're trying to say with these sentences (but
> > since
> > the first word was "Excellent" maybe it's ok ;)
> > 
> > 
> > /martin
> > 
> > 
> > > Representing this was the genesis of Alex's question.
> > >
> > > Eric
> > >
> > > > /martin
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > In effect, the filter specifies which data nodes to consider when
> > > > > sending updates.
> > > > >
> > > > > ---Alex
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > Cc: netconf@ietf.org
> > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > >
> > > > > Hi,
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hello all,
> > > > > >
> > > > > > In updating the YANG-Push document
> > > > > > (draft-ietf-netconf-yang-push), we have come across one issue
> > > > > > that we wanted to raise with the working group.
> > > > > >
> > > > > > As part of an on-change subscription, update records reflect the
> > > > > > type of change (e.g. whether the value of an object has changed,
> > > > > > or whether an object was created or deleted); a subscription
> > > > > > allows also to specify whether interested only in specific types
> > > > > > of changes (for example, only creates and deleted but no value
> > changes).
> > > > > >
> > > > > > At the same time, a subscription filter specifies which objects
> > > > > > to include as part of a subscription and which not.
> > > > >
> > > > > Hmm, which filter are you talking about?  The only XPath filter I
> > > > > find in the current set of documents is the
> > > > > "ietf-subscribed-notifications:xpath" filter type (which btw is
> > > > > sorely underspecified).  Section 2.2 of
> > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > >
> > > > >    Events which evaluate to "true" as a
> > > > >    result of the evaluation by the filter must traverse the filter in
> > > > >    their entirety.
> > > > >
> > > > > It's not clear what this means, but my guess is that this is
> > > > > supposed to work like the old RFC 5277 filters, where the filter
> > > > > expression is evaluated on the notification contents, and if the
> > > > > expression returns "true" (for XPath filters this means converting
> > > > > the results to a boolean), then the notification is sent, otherwise
> > > > > not.
> > > > >
> > > > > But it seems you are referring to some other filter which would be
> > > > > used to select a node set for which changes are reported?
> > > > >
> > > > > I would like to understand which filter mechanism you mean before
> > > > > having an opinion in this matter.
> > > > >
> > > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > (Really, it is not
> > > > > > so much of a "filter" on a stream that is generated
> > > > > > independently of the filter, than it is a policy of which
> > > > > > objects to include as part of subscribed update records.)
> > > > > > However, a subscription filter (such as
> > > > > > XPath) can be used to also specify a value filter, which will
> > > > > > include or exclude objects based on their current value. This
> > > > > > makes it possible to e.g. subscribe to an object "foo" but only
> > > > > > if its value is 5.
> > > > > >
> > > > > > Now, this means that the same object could be included in one
> > > > > > update, but excluded in another update, due to its value no
> > > > > > longer meeting the filter criteria.  For example, if foo's value
> > > > > > changes from 5 to 3 in one cycle, a periodic subscription will
> > > > > > no longer include foo in its next update.  The question now
> > > > > > concerns how to properly handle this in the case of an on-change
> > subscription.
> > > > > >
> > > > > > One possibility concerns reporting the fact that "foo" no longer
> > > > > > meets the subscription criteria and is no longer included in the
> > > > > > update record as a "delete" event.  If foo's value again becomes "5"
> > > > > > at a later point in time, that would be reported as a "create"
> > > > > > event.  If foo's value changes again from 5 at a later point in
> > > > > > time and then changes back to 3 before the time of the update
> > > > > > (perhaps because the value changed during the dampening
> > > > > > interval), it would be reported as another "delete" event
> > > > > > (without ever reporting a create event).  On the other hand, if
> > > > > > foo's value changed from 3 to
> > > > > > 6 and back again, nothing would be reported because it did not
> > > > > > meet the filter criteria at any point in time.
> > > > > >
> > > > > > >From the perspective of the receiver this may make sense if it
> > > > > > >is synching its copy of the state.  However, from the
> > > > > > >perspective of the publisher, the object was never created or
> > > > > > >deleted - only its value changed, and the case when the object
> > > > > > >was truly created or deleted can no longer be distinguished
> > > > > > >from the case when its value
> > > > changed.
> > > > > > >A "create" simply means "an object now meets a filter criteria,
> > > > > > >that was not reported in the previous cycle" (which does not
> > > > > > >mean that the object was actually created - it may have been
> > > > > > >created, or it may have simply undergone a value change).
> > > > > >
> > > > > > An alternative (let's call it alternative 2) is therefore to
> > > > > > make a distinction between whether an object was created or
> > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > This appears semantically cleaner.  However, it will require
> > > > > > modifying the encoding to allow for distinction between those
> > > > > > cases (currently, just plain patch encoding is used).
> > > > > >
> > > > > > A third alternative is to let filters select only data nodes to
> > > > > > subscribe to, and separate out the value filter (or disallow it
> > > > > > as a feature altogether).  This alternative has the drawback of
> > > > > > being less conceptually powerful, even if it may be easier to
> > implement.
> > > > > >
> > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > --- Alex
> > > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > >
> 


From nobody Wed May 24 00:42:24 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 314BF1270A0 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:42:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id L7s9UMZyHo_Y for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 00:42:20 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 7F7C31201FA for <netconf@ietf.org>; Wed, 24 May 2017 00:42:20 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 72C351AE046D; Wed, 24 May 2017 09:42:19 +0200 (CEST)
Date: Wed, 24 May 2017 09:42:35 +0200 (CEST)
Message-Id: <20170524.094235.889675806701058038.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: evoit@cisco.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHRx6XNK9Ay9hzj3eL-HD9Exj0nk=J5g06Y__NZKLyzQ7A@mail.gmail.com>
References: <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <CABCOCHRx6XNK9Ay9hzj3eL-HD9Exj0nk=J5g06Y__NZKLyzQ7A@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/XKmu991_5gDa5OIgz5MepnT05Os>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 07:42:23 -0000

Andy Bierman <andy@yumaworks.com> wrote:
> On Tue, May 23, 2017 at 3:16 PM, Eric Voit (evoit) <evoit@cisco.com> wrote:
> 
> > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hi Martin,
> > > > > >
> > > > > > Almost overlooked your question below.  What is meant by the
> > > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > > >
> > > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > > The following filter types are included in the yang-push data
> > model:
> > > > > > [subtree] [xpath]"
> > > > >
> > > > > Actually, only "subtree" is defined in yang-push, "xpath" is defined
> > > > > in subscribed-notifications.
> > > >
> > > > At the top of yang-push page 7, xpath selection is described.  Is
> > > > there something you feel missing?
> > >
> > > Yes.  First of all, the YANG module defines an identity called "xpath",
> > based on
> > > "sn:filter".  So this filter has nothing to do with selecting nodes in a
> > datastore;
> > > this filter is used to match against a generated notification record.
> >
> > To address this we could split the xpath identity into two types:
> > "xpath-selection" and  "xpath-boolean".  These would have different
> > definitions, but both reference http://www.w3.org/TR/1999/REC-
> > xpath-19991116  .  The difference is that one results in a xpath node-set
> > expression, and the other an xpath Boolean expression.  Make sense?
> >
> > > Second, the XPath filter is sorely underspecified.  The XPath context is
> > not
> > > described,
> >
> > I understand and agree on your comment about the context.  The intent here
> > is to provide equivalent capabilities of a GET.  As it would be a huge
> > undertaking to try to consolidate an industry-wide view of the minimal
> > xpath syntax and capabilities in networking, I am hoping this doesn't fall
> > under the umbrella of YANG subscription.  I would be glad to support
> > someone who wishes to take this up though.
> >
> >
> 
> subtree and XPath filtering are implemented in various ways which could all
> be considered valid.
> The node-set result is not the same across server implementations.
> 
> For example:
> 
>    <filter>
>      <foo />
>      <foo>
>        <bar>1</bar>
>      </foo>
>   </filter>
> 
> Does the server return the entire /foo subtree or return the entire /foo
> subtree
> followed by another subtree for /foo[bar=1]?  (yes. that's the problem)
> XPath has many more ways to overlap node-sets.

Actually, for XPath the situation is better, since the XPath
evaluation will return a node set (which does not contain duplicates,
regardless of the expression), and the resulting node set is returned
(in the case of get).

As for subtree filter, RFC 6241 says:

   Specific
   data instances are not duplicated in the response in the event that
   the request contains multiple filter subtree expressions that select
   the same data.


> Should we even document all the under-implemented servers that do not
> support the
> complete XPath syntax? Probably not, but it would be worthwhile to have an
> "XPath-core"
> that is widely supported.
> 
> I agree that YANG Push is not the correct document for this sort of work.
> 
> Perhaps YANG Push filtering should be 2 phases: (1) select + (2) test),
> similar to how XSLT works.
> (1) select can be simple and static, like a node-instance-identifier
> expression from NACM
> (2) test can be an XPath boolean expression run against each node selected
> in (1),
>       using the selected node as the context node

I wonder if (2) is even needed...


/martin


> 
> 
> Andy
> 
> 
> 
> > > the expected result data type is not defined, and it is not described
> > > how the result is supposed to be used.
> >
> > As for the result, the anydata output should be provided to the subscriber
> > (with appropriate security applied).  They can determine how to use it.
> >  The preferred embodiment would be to maintain a local extract of the
> > Publisher's datastore (as defined by the filter).
> >
> > > > >  [Side note - I think this is wrong, subscribed-notifications should
> > > > > also define "subtree".]
> > > > >
> > > > > But these filters are used by the server to decide if a certain
> > > > > notification that has been generated will be sent to the client or
> > > > > not.
> > > >
> > > > Yes, the filters in subscribed-notification are supposed to give a
> > > > boolean indication as to whether a specific event should traverse the
> > > > filter in its entirety. RFC6241 section 6 subtree filters are written
> > > > to provide a subset of content.  I suppose it would be possible to
> > > > define an event-based subtree-filter-type where a non-null result of
> > > > the subtree filter means that a particular event should traverse that
> > > > filter.  Is this what you are suggesting?
> > >
> > > Yes.  Note that this is already provided by RFC 5277, and I have always
> > > assumed that this new work will provide at least the same functions as
> > RFC
> > > 5277 (and more).  (But note that the XPath filter is underspecified also
> > in RFC
> > > 5277...)
> >
> > I also want to make sure that a non-null result from a filter allows the
> > event to pass.  I suspect that an xpath Boolean filter could be designed to
> > do this, but I will tweak the subscribed-notifications text so that
> > unnecessary filtering expression complexity is not artificially required.
> >
> > > > > If you want to define filters to specifify which nodes to subscribe
> > > > > to, I think you need to define new filters, not try to reuese these
> > > > > notification filters.
> > > >
> > > > Filtering syntax is hard, so we have been trying to adopt whatever is
> > > > available for GET.  This way we don't have to educate users on a new
> > > > universe of what is possible.  I fully expect that lots of learnings
> > > > are going to come in the industry here over time, and this will be
> > > > revisited in the future.
> > >
> > > ?
> > >
> > > I am not proposing any new filter syntax.  I am saying that the current
> > filter
> > > nodes as defined in subscribed-notification cannot be used to select
> > nodes to
> > > subscribe to for changes.
> >
> > Understand.  Hopefully with the "xpath-selection" change proposed above,
> > this will be covered.
> >
> > Eric
> >
> > > > > As for your question, I think such a filter should be defined to
> > > > > return a node- set to which the client subscribe to changes.  If any
> > > > > node (or subnode
> > > > > to) in
> > > > > this node-set changes, the notif will be sent.  Then the question
> > > > > about value comparision is not relevant anymore.
> > > >
> > > > Excellent, on-change should only send an update if the results of the
> > > > subscription filter have changed since the previous push.  It is quite
> > > > possible that an object has been created and then deleted since the
> > > > last push.
> > >
> > > I don't understand what you're trying to say with these sentences (but
> > since
> > > the first word was "Excellent" maybe it's ok ;)
> > >
> > >
> > > /martin
> > >
> > >
> > > > Representing this was the genesis of Alex's question.
> > > >
> > > > Eric
> > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > >
> > > > > > In effect, the filter specifies which data nodes to consider when
> > > > > > sending updates.
> > > > > >
> > > > > > ---Alex
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > Cc: netconf@ietf.org
> > > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > Hello all,
> > > > > > >
> > > > > > > In updating the YANG-Push document
> > > > > > > (draft-ietf-netconf-yang-push), we have come across one issue
> > > > > > > that we wanted to raise with the working group.
> > > > > > >
> > > > > > > As part of an on-change subscription, update records reflect the
> > > > > > > type of change (e.g. whether the value of an object has changed,
> > > > > > > or whether an object was created or deleted); a subscription
> > > > > > > allows also to specify whether interested only in specific types
> > > > > > > of changes (for example, only creates and deleted but no value
> > > changes).
> > > > > > >
> > > > > > > At the same time, a subscription filter specifies which objects
> > > > > > > to include as part of a subscription and which not.
> > > > > >
> > > > > > Hmm, which filter are you talking about?  The only XPath filter I
> > > > > > find in the current set of documents is the
> > > > > > "ietf-subscribed-notifications:xpath" filter type (which btw is
> > > > > > sorely underspecified).  Section 2.2 of
> > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > >
> > > > > >    Events which evaluate to "true" as a
> > > > > >    result of the evaluation by the filter must traverse the filter
> > in
> > > > > >    their entirety.
> > > > > >
> > > > > > It's not clear what this means, but my guess is that this is
> > > > > > supposed to work like the old RFC 5277 filters, where the filter
> > > > > > expression is evaluated on the notification contents, and if the
> > > > > > expression returns "true" (for XPath filters this means converting
> > > > > > the results to a boolean), then the notification is sent,
> > otherwise not.
> > > > > >
> > > > > > But it seems you are referring to some other filter which would be
> > > > > > used to select a node set for which changes are reported?
> > > > > >
> > > > > > I would like to understand which filter mechanism you mean before
> > > > > > having an opinion in this matter.
> > > > > >
> > > > > >
> > > > > > /martin
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > (Really, it is not
> > > > > > > so much of a "filter" on a stream that is generated
> > > > > > > independently of the filter, than it is a policy of which
> > > > > > > objects to include as part of subscribed update records.)
> > > > > > > However, a subscription filter (such as
> > > > > > > XPath) can be used to also specify a value filter, which will
> > > > > > > include or exclude objects based on their current value. This
> > > > > > > makes it possible to e.g. subscribe to an object "foo" but only
> > > > > > > if its value is 5.
> > > > > > >
> > > > > > > Now, this means that the same object could be included in one
> > > > > > > update, but excluded in another update, due to its value no
> > > > > > > longer meeting the filter criteria.  For example, if foo's value
> > > > > > > changes from 5 to 3 in one cycle, a periodic subscription will
> > > > > > > no longer include foo in its next update.  The question now
> > > > > > > concerns how to properly handle this in the case of an on-change
> > > subscription.
> > > > > > >
> > > > > > > One possibility concerns reporting the fact that "foo" no longer
> > > > > > > meets the subscription criteria and is no longer included in the
> > > > > > > update record as a "delete" event.  If foo's value again becomes
> > "5"
> > > > > > > at a later point in time, that would be reported as a "create"
> > > > > > > event.  If foo's value changes again from 5 at a later point in
> > > > > > > time and then changes back to 3 before the time of the update
> > > > > > > (perhaps because the value changed during the dampening
> > > > > > > interval), it would be reported as another "delete" event
> > > > > > > (without ever reporting a create event).  On the other hand, if
> > > > > > > foo's value changed from 3 to
> > > > > > > 6 and back again, nothing would be reported because it did not
> > > > > > > meet the filter criteria at any point in time.
> > > > > > >
> > > > > > > >From the perspective of the receiver this may make sense if it
> > > > > > > >is synching its copy of the state.  However, from the
> > > > > > > >perspective of the publisher, the object was never created or
> > > > > > > >deleted - only its value changed, and the case when the object
> > > > > > > >was truly created or deleted can no longer be distinguished
> > > > > > > >from the case when its value
> > > > > changed.
> > > > > > > >A "create" simply means "an object now meets a filter criteria,
> > > > > > > >that was not reported in the previous cycle" (which does not
> > > > > > > >mean that the object was actually created - it may have been
> > > > > > > >created, or it may have simply undergone a value change).
> > > > > > >
> > > > > > > An alternative (let's call it alternative 2) is therefore to
> > > > > > > make a distinction between whether an object was created or
> > > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > > This appears semantically cleaner.  However, it will require
> > > > > > > modifying the encoding to allow for distinction between those
> > > > > > > cases (currently, just plain patch encoding is used).
> > > > > > >
> > > > > > > A third alternative is to let filters select only data nodes to
> > > > > > > subscribe to, and separate out the value filter (or disallow it
> > > > > > > as a feature altogether).  This alternative has the drawback of
> > > > > > > being less conceptually powerful, even if it may be easier to
> > > implement.
> > > > > > >
> > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > --- Alex
> > > > > > >
> > > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Netconf mailing list
> > > > > Netconf@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > >
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> >


From nobody Wed May 24 01:33:11 2017
Return-Path: <bart.bogaert@nokia.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 478B212896F for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 01:33:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.802
X-Spam-Level: 
X-Spam-Status: No, score=-2.802 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JR7UoCyEmgDI for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 01:33:07 -0700 (PDT)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0104.outbound.protection.outlook.com [104.47.2.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6C1F91201FA for <netconf@ietf.org>; Wed, 24 May 2017 01:33:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com;  s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=aab8BGjWkScObrNkUInyJhDvQbNGLhFIzwRssG/4/8I=; b=UCf/szl9SxizPi8sDDS1z/FsDHoJ8p66BxI6uofeWpfwq7lDLLa5JhU5GDa22ZU6JESrMneG5FIzCUPTkRBIZRzDVc0HPeHKvDygyaSVLgt8gmDFDOVGZRfB1H6jiT8k4bjxhvjl3SxxJfHvO2pttQ6d77e9+t6iYeC9o/pV3mo=
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com (10.160.54.154) by AM2PR07MB0628.eurprd07.prod.outlook.com (10.160.54.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.5; Wed, 24 May 2017 08:33:03 +0000
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49]) by AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49%18]) with mapi id 15.01.1124.007; Wed, 24 May 2017 08:33:03 +0000
From: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: Question about NETCONF RFC 6241 section 4.5 pipelining
Thread-Index: AdLUaEoEu1dDTJJ0SYCv+ahQaN03rA==
Date: Wed, 24 May 2017 08:33:03 +0000
Message-ID: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=bart.bogaert@nokia.com; 
x-originating-ip: [135.245.212.20]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM2PR07MB0628; 7:z7EfGYKpIfw6+YmUgfVHJQt1Dt27OfK2VA4ZetthCwFgJQ2vs/ROzmQKVEvNWQmwYRGFd2/Isq7ukVpNS8VqwbWQ7G22N0eNdWmlxp1ZpJrSgFzY2Lw9RIKO1i2CMvIJUiVus/Rncc+Qo/1QIo9LyE89WdV9+dqqHh/um+qbWMmjxavnGZmPKqAiaoqo4k94hGcbv/vUs7r6EvzzPQcVP+ejzHivlmhWD1wFzg05WXDFCTbLQE4h9wMlSk5TKPura+tr5n2rFEz8+JyE+pPY58TqvbGhD/Rwi/u82SghwduiVlZunMwGOyIrDEbtXCwbv1Pn4Ip3j7ojz+8bYIxVDw==
x-ms-traffictypediagnostic: AM2PR07MB0628:
x-ms-office365-filtering-correlation-id: af179590-3fd7-484a-680e-08d4a27f7eda
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:AM2PR07MB0628; 
x-microsoft-antispam-prvs: <AM2PR07MB06282B539C0664C22DB6286E94FE0@AM2PR07MB0628.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(6072148); SRVR:AM2PR07MB0628; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0628; 
x-forefront-prvs: 031763BCAF
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39850400002)(39400400002)(39410400002)(39860400002)(39840400002)(39450400003)(102836003)(6116002)(3846002)(790700001)(81166006)(74316002)(9326002)(189998001)(8936002)(8676002)(5630700001)(1730700003)(5250100002)(5660300001)(66066001)(25786009)(50986999)(2351001)(3660700001)(53936002)(3280700002)(2906002)(99286003)(478600001)(54896002)(9686003)(54356999)(6306002)(33656002)(55016002)(2501003)(2900100001)(551934003)(6916009)(99936001)(7736002)(86362001)(7696004)(110136004)(5640700003)(6436002)(38730400002)(6506006)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM2PR07MB0628; H:AM2PR07MB0627.eurprd07.prod.outlook.com; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; 
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0152_01D2D479.1EA64470"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2017 08:33:03.6840 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0628
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/6cFR-JzpSLD5Po1O0BGlcSk3rSA>
Subject: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 08:33:09 -0000

------=_NextPart_000_0152_01D2D479.1EA64470
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0153_01D2D479.1EA64470"


------=_NextPart_001_0153_01D2D479.1EA64470
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Hi,

 

We have a question about the following text about pipelining:

 

"NETCONF <rpc> requests MUST be processed serially by the managed device.
Additional <rpc> requests MAY be sent before previous ones have been
completed. The managed device MUST send responses only in the order the
requests were received."

 

We tried the following (changes are applied to the running datastore - so no
candidate datastore is involved).

 

In terminal 1 we have an application that is involved in a transaction in
such a way that  it can either accept or reject an edit-config based on some
input.  As such it also allows to "artificially" extend the duration of the
transaction.

In terminal 2 we start an edit-config to modify the configuration.  The
application in terminal 1 is waiting for our action to let the transaction
complete.

In terminal 3 we do a get-config and we already see the change that is
pending

In terminal 1 we now let the application proceed and choose to reject the
configuration change.

In terminal 2 we see the error message coming back as response to the
edit-config.

In terminal 3 we again do a get-config and now we see the original
configuration.

 

The text in the RFC is not very explicit whether this pipelining is per
NETCONF session of over all the NETCONF sessions served by that NETCONF
server.  In the latter case the response to the first get-config would only
return once the edit-config has been completed (and hence the pending change
would not be visible).  What is the correct interpretation of this text and
what is the expected behavior in the above sequence?

 

Best regards - Vriendelijke groeten,

Bart Bogaert


------=_NextPart_001_0153_01D2D479.1EA64470
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META =
HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 15 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
lang=3DEN-US>Hi,<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>We have a question about the following text about =
pipelining:<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>&#8220;NETCONF &lt;rpc&gt; requests MUST be processed =
serially by the managed device. Additional &lt;rpc&gt; requests MAY be =
sent before previous ones have been completed. The managed device MUST =
send responses only in the order the requests were =
received.&#8221;<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>We tried the following (changes are applied to the running =
datastore &#8211; so no candidate datastore is =
involved).<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>In terminal 1 we have an application that is involved in a =
transaction in such a way that &nbsp;it can either accept or reject an =
edit-config based on some input.&nbsp; As such it also allows to =
&#8220;artificially&#8221; extend the duration of the =
transaction.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>In terminal 2 we start an edit-config to modify the =
configuration.&nbsp; The application in terminal 1 is waiting for our =
action to let the transaction complete.<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>In terminal 3 we do a get-config =
and we already see the change that is pending<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US>In terminal 1 we now let the =
application proceed and choose to reject the configuration =
change.<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US>In =
terminal 2 we see the error message coming back as response to the =
edit-config.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>In terminal 3 we again do a get-config and now we see the =
original configuration.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US>The text in the RFC is not very explicit whether this =
pipelining is per NETCONF session of over all the NETCONF sessions =
served by that NETCONF server.&nbsp; In the latter case the response to =
the first get-config would only return once the edit-config has been =
completed (and hence the pending change would not be visible).&nbsp; =
What is the correct interpretation of this text and what is the expected =
behavior in the above sequence?<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoNormal><span lang=3DNL-BE =
style=3D'font-family:"Arial",sans-serif;color:#1C75B9;mso-fareast-languag=
e:EN-GB'>Best regards - Vriendelijke groeten,<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DNL-BE =
style=3D'font-family:"Arial",sans-serif;color:#1C75B9;mso-fareast-languag=
e:EN-GB'>Bart Bogaert</span><span lang=3DNL-BE =
style=3D'font-family:"Arial",sans-serif;color:#1C75B9;mso-fareast-languag=
e:EN-GB'><o:p></o:p></span></p></div></body></html>
------=_NextPart_001_0153_01D2D479.1EA64470--

------=_NextPart_000_0152_01D2D479.1EA64470
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIQ8TCCBTkw
ggQhoAMCAQICE2kAAL3F0weq80nDargAAAAAvcUwDQYJKoZIhvcNAQELBQAwZDETMBEGCgmSJomT
8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixkARkWBHJlczEx
HzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwHhcNMTcwMjE0MDgxMzAyWhcNMTkwMjE0
MDgxMzAyWjA6MREwDwYDVQQDEwhib2dhZXJ0YjElMCMGCSqGSIb3DQEJARYWYmFydC5ib2dhZXJ0
QG5va2lhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKR2q9tW6UNuzHCUu6Jm
cua8esn6Cw3rhbOYWpnxUKrHO/CEOh0gl1qjHRerRs9/GK6VI95VI5WyW6LeXvIpIj/2FbBMWQgK
AgZ1KJTm0zpeXLT3tE9gc9A7eSGy4mvJxnBgKw04zWQVRAnJgQQNvhntQocuiQGFmE8X+lQK97p7
GfgzMiiPz6CQRmYPhFZK1tlvd3pD0yFP82jKsLV7F5fRgdTdEAlmElMrXdTvKDdGjbjumi0+X9dI
gxRHBmZS09oPm8Ne0pqPaeXsRmIY6Th0aZmQ5b/DCEVI7LUpkYw9lP57lC76u9w/0yjpdnaO2nMn
wbsSOFfHAN3JJodmxMUCAwEAAaOCAgwwggIIMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcVCIW9
xVmD47E5h6WBKoa/w0KFlJgZgQv55kyE/bVaAgFkAgEFMB8GA1UdJQQYMBYGCisGAQQBgjcKAwQG
CCsGAQUFBwMEMAsGA1UdDwQEAwIFoDApBgkrBgEEAYI3FQoEHDAaMAwGCisGAQQBgjcKAwQwCgYI
KwYBBQUHAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCA
MAcGBSsOAwIHMAoGCCqGSIb3DQMHMCEGA1UdEQQaMBiBFmJhcnQuYm9nYWVydEBub2tpYS5jb20w
HQYDVR0OBBYEFO9rKrBQsC+Cxx24dqpXeDSebD28MB8GA1UdIwQYMBaAFKFIHrb0lRfLkvqL6aCt
tK+kaoByMEYGA1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9r
aWFJbnRlcm5hbFN1YkNBMDEuY3JsMH0GCCsGAQUFBwEBBHEwbzBBBggrBgEFBQcwAoY1aHR0cDov
L3BraS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsU3ViQ0EwMS5jcnQwKgYIKwYBBQUH
MAGGHmh0dHA6Ly9vY3NwLm5ldC5ub2tpYS5jb20vb2NzcDANBgkqhkiG9w0BAQsFAAOCAQEAKPRZ
HIDzMzfDRd5n62yU/+ao8sEBsDsxWpN0B91/3xHfSnGaCnbOJMJbYyj98MBYJIFbpnhiz2142K4K
eL6F1iNxbjTZmjHpCaEQVosNGfvHr2yrKVZE9Dy/Un7psxx78ZGjxg7U4VA+NYhahlVABhEyACZJ
hxwtnwC1hwoDFG1RdS57RzsY0bbniWp+2Yi7hjW61X1twLNtXVipEXPLqj3tBg+/4ot2sZ5EB7aE
7ExN5Gg7WH4kna6cf+vtqt1qu08DzJh2rv9H0i3WxzeGPcxC280IYadqaKSVOKpNta+/iqdcdvs/
PR2F+gqG9YrOwtLb/H3TJ26NDoBHQzNF4jCCBZIwggN6oAMCAQICExcAAAAF0Ly0uh0kOr4AAAAA
AAUwDQYJKoZIhvcNAQELBQAwdDEaMBgGA1UEChMRTm9raWEgQ29ycG9yYXRpb24xNTAzBgNVBAsT
LENvcHlyaWdodCAoQykgTm9raWEgMjAxNiBBbGwgcmlnaHRzIHJlc2VydmVkMR8wHQYDVQQDExZO
b2tpYSBJbnRlcm5hbCBSb290IENBMB4XDTE2MDQzMDExNDA1NloXDTIyMDQzMDExNTA1NlowZDET
MBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixk
ARkWBHJlczExHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDIMhMWn4oR+AXTckn1i4i0Svej5B4KueXls+KErSvld+pSFTHy0pAZ
88+X7jLWQYMs6OmZ/JOLIwy6mZWcPVLZtN/k+1pzA0JHf8AD/QjYQbYefh/Es1Cpfdg5lMG6gfKY
IsuU5qTeZ3+AgkSrNaC/Lzr3wVqrmBXuAX72SvgB4zMcWvdxPjuke5Mj7UMPFgmuUNM/B7CNQbvo
+lxDDQa9oE4mOSWQIOn3R3RGNw2qf7YIadV8M/YEnDMF/jyNaP3CeA3upCf3HNyng0peQ5EGb9B5
JOAPQZxLrHRSAxvptCc8YKZUpJG1+qA8CGZ8rvakN1ict7kk+wQKB2lYZKJpAgMBAAGjggErMIIB
JzAOBgNVHQ8BAf8EBAMCAQYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFKFIHrb0lRfLkvqL
6aCttK+kaoByMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD
VR0jBBgwFoAUmUW7Vznwh7mBSTDZPld5X/xQnuEwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL3Br
aS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsUm9vdENBLmNybDBQBggrBgEFBQcBAQRE
MEIwQAYIKwYBBQUHMAKGNGh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9raWFJbnRlcm5h
bFJvb3RDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAM1oAhXOiiZacE4Getv/pUT9heOFOGLl4/45
qmG8x1DB0QLsYKAifjfyfG1ykge9zV6yd8VI++tSlcpkv2RjIJV1pks9Pik4KtkP7Bd4F5PCs1Jv
ON9tX+iBmWy6PZf+eQDDhJpHTvW8xzxyWQIVf25PD0Rp78+A39zawfxVWoNQ80NCDQF9AxajUN7F
cgja/Qo0F7vz/Tp29c0YrEmcaXHEYhua9JdR4WPv7M38wFkWhSvaucXxqTeo7sRXHq/roU7+gYJ6
eblHY+BOrb3MyB/rTGECsTvmKyRdNBdWQlZcp4LhP+t/6H6BtajbbzAyQFGJi95v3XncN0ZH6r5m
NUW2GMCiw39UjTsJW2P7FoIK12xamNO+aroGy+Bkv4eELzA8ZNx+WPNVCFANHxv6JwyEdaTS8S7f
n0OzjVMWH6hCn4W9SdxgqKC8/8qmgmOrQvCfZsha53fiO2mXyTA7qVnSKuqZOZ2EayEe17J+X4PO
5MIKB+kTfKayZoxxVYebCDxS36OMBDMohKJ7d1SVtw8ZtkmrqUj2lL7WKKG64itWfU1iB8RvQg1g
MvUgvzLAPVAORlrzgbMW/2KX9v6UlCz10wFf1dn/ieYxYygmopnuqllXfo5k3MEA+PDJCai/ftAs
cBubPPWaAuKq4smuMtqTKt9juzNvROLfh9PJlHZPMIIGGjCCBAKgAwIBAgIQe5pN0EOlOKxAGx74
4RskETANBgkqhkiG9w0BAQsFADB0MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UE
CxMsQ29weXJpZ2h0IChDKSBOb2tpYSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMT
Fk5va2lhIEludGVybmFsIFJvb3QgQ0EwHhcNMTYwNDMwMTA1OTQ2WhcNMzYwNDMwMTEwNDM2WjB0
MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UECxMsQ29weXJpZ2h0IChDKSBOb2tp
YSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFJvb3Qg
Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXs/D67CdVEMZFkfSjSvrZWiCrXwaB
0ycsUFRaUdBsXn7VVdbo/qd54BkU2+d6J6SmfABWU2ulFwQoWsUg34MURpP7HS+vtlkj4odiQrht
KC34+KK8E3Jba4dQDc5sBQAHG3d6lMUsuDIwKnIEg9/rGM9ATvqBub9SOXA8CCjBo5P8CVwynJxM
uzIZxMRNRH6ccDMQ9wqK/5s72ZZodGl30366y6M69Xgs+2NlYuO6bpDe52+wpJRqWFzTZJiBvwtA
J23dDexZiL+tCDK+Rq33lmdHcX8nt5AhydHKNFyzhPt4pWFA2ptHht9zYORHSp839HxLCRYh/THi
nt+TziJzfKJGoCPgvAAWULWUvtHZE6sUeiwEB0obTK+MW7w0lIngAyG0/8KvG3v9nUmS63P1fDoN
YMAoLa54wCjZVH/5V3qKIFKtww67TB5KTHDdjStMbMPJqGT84mvdZT9N/+4PG8/wBO2sTgX3WX6F
c7tg2WR0nXgtejseSlW2Usg8BaZ7heRnf1557yM1Nqum6aBF2qTKDggbQ6TZaBMUs+wTA+gy2JDt
9dyzcd0isVsVVbcsPeTXKXFLZm9c7m8UPMMHihrgSRrmw1IIPStiHIAZgd/sIgEy+h3JQ71/GybH
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

------=_NextPart_000_0152_01D2D479.1EA64470--


From nobody Wed May 24 01:44:05 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CB6E1292AE for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 01:44:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GtATYybA28sQ for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 01:44:01 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 54681128BB7 for <netconf@ietf.org>; Wed, 24 May 2017 01:44:01 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id 850D569; Wed, 24 May 2017 10:43:59 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id LiCNenue_f8x; Wed, 24 May 2017 10:43:59 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Wed, 24 May 2017 10:43:59 +0200 (CEST)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id 648B620067; Wed, 24 May 2017 10:43:59 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius1.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id dw7LeZdbPv_m; Wed, 24 May 2017 10:43:59 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 0DD4820063; Wed, 24 May 2017 10:43:59 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id BB1B53F5624A; Wed, 24 May 2017 10:43:58 +0200 (CEST)
Date: Wed, 24 May 2017 10:43:58 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Message-ID: <20170524084358.GA7074@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>, "netconf@ietf.org" <netconf@ietf.org>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/n0lAoqPFRd-B6z9wfSjEzUT5eGk>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 08:44:03 -0000

On Wed, May 24, 2017 at 08:33:03AM +0000, Bogaert, Bart (Nokia - BE/Antwerp) wrote:
> Hi,
> 
> We have a question about the following text about pipelining:
> 
> "NETCONF <rpc> requests MUST be processed serially by the managed device.
> Additional <rpc> requests MAY be sent before previous ones have been
> completed. The managed device MUST send responses only in the order the
> requests were received."

[...]
 
> The text in the RFC is not very explicit whether this pipelining is per
> NETCONF session of over all the NETCONF sessions served by that NETCONF
> server.  In the latter case the response to the first get-config would only
> return once the edit-config has been completed (and hence the pending change
> would not be visible).  What is the correct interpretation of this text and
> what is the expected behavior in the above sequence?

I believe the pipelining is per session. To coordinate requests coming
in over multiple session, you have to use locks. So that text should
really say:

OLD:

   NETCONF <rpc> requests MUST be processed serially by the managed
   device.

NEW:

   NETCONF <rpc> requests received over the same session MUST be
   processed serially by the managed device.

This is pretty much inline with pipelining in other protocols such as
SMTP or HTTP.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Wed May 24 02:07:03 2017
Return-Path: <bart.bogaert@nokia.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A3CE312942F for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 02:07:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Level: 
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dCkGpLB3uPRB for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 02:06:58 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50115.outbound.protection.outlook.com [40.107.5.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 51C5E129404 for <netconf@ietf.org>; Wed, 24 May 2017 02:06:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com;  s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TXKboXhRIc4mR5JCfHBF0XWgJI41gpuK0RIGnw1IXCE=; b=L3fFC6pFcb5c4X83DJr6fJE/RnNPJ8Wsj5LZ+EO/21WwR5cw1Vooj/yuPTqGzlKVqFf9iMIGNiBOsuUu3UKBmE8euPBjmtSGP/5IrwMCXWRG2tjawCnrXYhMiQ60vqkvHB0KJWGedSCVQ2LpDgKvq3q56iJpgz2oxYpSnMzgFWg=
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com (10.160.54.154) by AM2PR07MB0628.eurprd07.prod.outlook.com (10.160.54.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.5; Wed, 24 May 2017 09:06:56 +0000
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49]) by AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49%18]) with mapi id 15.01.1124.007; Wed, 24 May 2017 09:06:55 +0000
From: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
Thread-Index: AdLUaEoEu1dDTJJ0SYCv+ahQaN03rAAAZhAAAACclGA=
Date: Wed, 24 May 2017 09:06:55 +0000
Message-ID: <AM2PR07MB0627766270D0B55C16A08C5E94FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com> <20170524084358.GA7074@elstar.local>
In-Reply-To: <20170524084358.GA7074@elstar.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
authentication-results: jacobs-university.de; dkim=none (message not signed) header.d=none;jacobs-university.de; dmarc=none action=none header.from=nokia.com;
x-originating-ip: [135.245.212.20]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM2PR07MB0628; 7:a4qU2dkr9sFiM+s6ID5IiiUnHJ6nB7TU5SIAr9ImronSrpCUhYelrTdFGhAmtQCscSxc7xp0Pw9WXIo0kfsexVw/KvX6QpYC2oGbn+BrDwiApazb+pk7rl3t7U3kj5l9nK4IU7n4VAoyBunDTprNHNfEF9yOqmqG3exAcd0xWVFba6riAhFiOWx7MrO1UCyRqEHcxK/s6X3JIKdOctRbbTPs94E7xNI3wClrof1yBwWDuMA1AOggeDhZFwWkwq3WWidQWXfOoGapXx3aqIIKjFGVSzNWl+A+6hX7SHDWaVF6EeMG2XwqgyqW+adNPN9bwvZ+n9xy1DCPjopH6TXTPQ==
x-ms-traffictypediagnostic: AM2PR07MB0628:
x-ms-office365-filtering-correlation-id: 53cb2bae-eab9-43c5-a814-08d4a28439e2
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:AM2PR07MB0628; 
x-microsoft-antispam-prvs: <AM2PR07MB0628A5FA54BDDFAD52C6218F94FE0@AM2PR07MB0628.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(190756311086443)(158342451672863)(82608151540597); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415395)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(6072148); SRVR:AM2PR07MB0628; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0628; 
x-forefront-prvs: 031763BCAF
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39840400002)(39860400002)(39850400002)(39400400002)(39450400003)(39410400002)(24454002)(6246003)(102836003)(6116002)(76176999)(3846002)(81166006)(74316002)(189998001)(8936002)(8676002)(53546009)(5250100002)(5660300001)(25786009)(66066001)(4326008)(50986999)(3660700001)(53936002)(3280700002)(2906002)(99286003)(478600001)(9686003)(54356999)(6306002)(33656002)(55016002)(2900100001)(2950100002)(229853002)(551934003)(99936001)(6916009)(7736002)(86362001)(7696004)(305945005)(110136004)(6436002)(38730400002)(6506006)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM2PR07MB0628; H:AM2PR07MB0627.eurprd07.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0005_01D2D47D.D8D34290"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2017 09:06:55.5058 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0628
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/R2ixquW2kJFJcPHiqZzGPEIMSG8>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 09:07:01 -0000

------=_NextPart_000_0005_01D2D47D.D8D34290
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

From: Juergen Schoenwaelder [mailto:j.schoenwaelder@jacobs-university.de] 
Sent: 24 May 2017 10:44
To: Bogaert, Bart (Nokia - BE/Antwerp) <bart.bogaert@nokia.com>
Cc: netconf@ietf.org
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5
pipelining

On Wed, May 24, 2017 at 08:33:03AM +0000, Bogaert, Bart (Nokia - BE/Antwerp)
wrote:
> Hi,
> 
> We have a question about the following text about pipelining:
> 
> "NETCONF <rpc> requests MUST be processed serially by the managed device.
> Additional <rpc> requests MAY be sent before previous ones have been 
> completed. The managed device MUST send responses only in the order 
> the requests were received."

[...]
 
> The text in the RFC is not very explicit whether this pipelining is 
> per NETCONF session of over all the NETCONF sessions served by that 
> NETCONF server.  In the latter case the response to the first 
> get-config would only return once the edit-config has been completed 
> (and hence the pending change would not be visible).  What is the 
> correct interpretation of this text and what is the expected behavior in
the above sequence?

I believe the pipelining is per session. To coordinate requests coming in
over multiple session, you have to use locks. So that text should really
say:

OLD:

   NETCONF <rpc> requests MUST be processed serially by the managed
   device.

NEW:

   NETCONF <rpc> requests received over the same session MUST be
   processed serially by the managed device.

This is pretty much inline with pipelining in other protocols such as SMTP
or HTTP.

[Bart Bogaert] What is then the expected behavior in case no locks are used
(which was the case in the provided example).  As one can observe a
concurrent session may request the configuration and gets a result that is
still being processed and eventually is not getting stored to the running
datastore as the involved application is rejecting the change (e.g. due to a
restriction that we can't express in YANG and which a client can't find
out).  Is in that case expected that the server keeps a "copy" of the
pending data "separate" to the running datastore in which case the
get-config would not show the pending transaction.  If I'm not mistaken the
same applied to databases: as long as a change has not been committed
reading from the database returns data as stored during the last commit to
the DB.  We observe a different behavior.

Regards, Bart

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

------=_NextPart_000_0005_01D2D47D.D8D34290
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIQ8TCCBTkw
ggQhoAMCAQICE2kAAL3F0weq80nDargAAAAAvcUwDQYJKoZIhvcNAQELBQAwZDETMBEGCgmSJomT
8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixkARkWBHJlczEx
HzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwHhcNMTcwMjE0MDgxMzAyWhcNMTkwMjE0
MDgxMzAyWjA6MREwDwYDVQQDEwhib2dhZXJ0YjElMCMGCSqGSIb3DQEJARYWYmFydC5ib2dhZXJ0
QG5va2lhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKR2q9tW6UNuzHCUu6Jm
cua8esn6Cw3rhbOYWpnxUKrHO/CEOh0gl1qjHRerRs9/GK6VI95VI5WyW6LeXvIpIj/2FbBMWQgK
AgZ1KJTm0zpeXLT3tE9gc9A7eSGy4mvJxnBgKw04zWQVRAnJgQQNvhntQocuiQGFmE8X+lQK97p7
GfgzMiiPz6CQRmYPhFZK1tlvd3pD0yFP82jKsLV7F5fRgdTdEAlmElMrXdTvKDdGjbjumi0+X9dI
gxRHBmZS09oPm8Ne0pqPaeXsRmIY6Th0aZmQ5b/DCEVI7LUpkYw9lP57lC76u9w/0yjpdnaO2nMn
wbsSOFfHAN3JJodmxMUCAwEAAaOCAgwwggIIMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcVCIW9
xVmD47E5h6WBKoa/w0KFlJgZgQv55kyE/bVaAgFkAgEFMB8GA1UdJQQYMBYGCisGAQQBgjcKAwQG
CCsGAQUFBwMEMAsGA1UdDwQEAwIFoDApBgkrBgEEAYI3FQoEHDAaMAwGCisGAQQBgjcKAwQwCgYI
KwYBBQUHAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCA
MAcGBSsOAwIHMAoGCCqGSIb3DQMHMCEGA1UdEQQaMBiBFmJhcnQuYm9nYWVydEBub2tpYS5jb20w
HQYDVR0OBBYEFO9rKrBQsC+Cxx24dqpXeDSebD28MB8GA1UdIwQYMBaAFKFIHrb0lRfLkvqL6aCt
tK+kaoByMEYGA1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9r
aWFJbnRlcm5hbFN1YkNBMDEuY3JsMH0GCCsGAQUFBwEBBHEwbzBBBggrBgEFBQcwAoY1aHR0cDov
L3BraS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsU3ViQ0EwMS5jcnQwKgYIKwYBBQUH
MAGGHmh0dHA6Ly9vY3NwLm5ldC5ub2tpYS5jb20vb2NzcDANBgkqhkiG9w0BAQsFAAOCAQEAKPRZ
HIDzMzfDRd5n62yU/+ao8sEBsDsxWpN0B91/3xHfSnGaCnbOJMJbYyj98MBYJIFbpnhiz2142K4K
eL6F1iNxbjTZmjHpCaEQVosNGfvHr2yrKVZE9Dy/Un7psxx78ZGjxg7U4VA+NYhahlVABhEyACZJ
hxwtnwC1hwoDFG1RdS57RzsY0bbniWp+2Yi7hjW61X1twLNtXVipEXPLqj3tBg+/4ot2sZ5EB7aE
7ExN5Gg7WH4kna6cf+vtqt1qu08DzJh2rv9H0i3WxzeGPcxC280IYadqaKSVOKpNta+/iqdcdvs/
PR2F+gqG9YrOwtLb/H3TJ26NDoBHQzNF4jCCBZIwggN6oAMCAQICExcAAAAF0Ly0uh0kOr4AAAAA
AAUwDQYJKoZIhvcNAQELBQAwdDEaMBgGA1UEChMRTm9raWEgQ29ycG9yYXRpb24xNTAzBgNVBAsT
LENvcHlyaWdodCAoQykgTm9raWEgMjAxNiBBbGwgcmlnaHRzIHJlc2VydmVkMR8wHQYDVQQDExZO
b2tpYSBJbnRlcm5hbCBSb290IENBMB4XDTE2MDQzMDExNDA1NloXDTIyMDQzMDExNTA1NlowZDET
MBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixk
ARkWBHJlczExHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDIMhMWn4oR+AXTckn1i4i0Svej5B4KueXls+KErSvld+pSFTHy0pAZ
88+X7jLWQYMs6OmZ/JOLIwy6mZWcPVLZtN/k+1pzA0JHf8AD/QjYQbYefh/Es1Cpfdg5lMG6gfKY
IsuU5qTeZ3+AgkSrNaC/Lzr3wVqrmBXuAX72SvgB4zMcWvdxPjuke5Mj7UMPFgmuUNM/B7CNQbvo
+lxDDQa9oE4mOSWQIOn3R3RGNw2qf7YIadV8M/YEnDMF/jyNaP3CeA3upCf3HNyng0peQ5EGb9B5
JOAPQZxLrHRSAxvptCc8YKZUpJG1+qA8CGZ8rvakN1ict7kk+wQKB2lYZKJpAgMBAAGjggErMIIB
JzAOBgNVHQ8BAf8EBAMCAQYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFKFIHrb0lRfLkvqL
6aCttK+kaoByMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD
VR0jBBgwFoAUmUW7Vznwh7mBSTDZPld5X/xQnuEwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL3Br
aS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsUm9vdENBLmNybDBQBggrBgEFBQcBAQRE
MEIwQAYIKwYBBQUHMAKGNGh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9raWFJbnRlcm5h
bFJvb3RDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAM1oAhXOiiZacE4Getv/pUT9heOFOGLl4/45
qmG8x1DB0QLsYKAifjfyfG1ykge9zV6yd8VI++tSlcpkv2RjIJV1pks9Pik4KtkP7Bd4F5PCs1Jv
ON9tX+iBmWy6PZf+eQDDhJpHTvW8xzxyWQIVf25PD0Rp78+A39zawfxVWoNQ80NCDQF9AxajUN7F
cgja/Qo0F7vz/Tp29c0YrEmcaXHEYhua9JdR4WPv7M38wFkWhSvaucXxqTeo7sRXHq/roU7+gYJ6
eblHY+BOrb3MyB/rTGECsTvmKyRdNBdWQlZcp4LhP+t/6H6BtajbbzAyQFGJi95v3XncN0ZH6r5m
NUW2GMCiw39UjTsJW2P7FoIK12xamNO+aroGy+Bkv4eELzA8ZNx+WPNVCFANHxv6JwyEdaTS8S7f
n0OzjVMWH6hCn4W9SdxgqKC8/8qmgmOrQvCfZsha53fiO2mXyTA7qVnSKuqZOZ2EayEe17J+X4PO
5MIKB+kTfKayZoxxVYebCDxS36OMBDMohKJ7d1SVtw8ZtkmrqUj2lL7WKKG64itWfU1iB8RvQg1g
MvUgvzLAPVAORlrzgbMW/2KX9v6UlCz10wFf1dn/ieYxYygmopnuqllXfo5k3MEA+PDJCai/ftAs
cBubPPWaAuKq4smuMtqTKt9juzNvROLfh9PJlHZPMIIGGjCCBAKgAwIBAgIQe5pN0EOlOKxAGx74
4RskETANBgkqhkiG9w0BAQsFADB0MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UE
CxMsQ29weXJpZ2h0IChDKSBOb2tpYSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMT
Fk5va2lhIEludGVybmFsIFJvb3QgQ0EwHhcNMTYwNDMwMTA1OTQ2WhcNMzYwNDMwMTEwNDM2WjB0
MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UECxMsQ29weXJpZ2h0IChDKSBOb2tp
YSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFJvb3Qg
Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXs/D67CdVEMZFkfSjSvrZWiCrXwaB
0ycsUFRaUdBsXn7VVdbo/qd54BkU2+d6J6SmfABWU2ulFwQoWsUg34MURpP7HS+vtlkj4odiQrht
KC34+KK8E3Jba4dQDc5sBQAHG3d6lMUsuDIwKnIEg9/rGM9ATvqBub9SOXA8CCjBo5P8CVwynJxM
uzIZxMRNRH6ccDMQ9wqK/5s72ZZodGl30366y6M69Xgs+2NlYuO6bpDe52+wpJRqWFzTZJiBvwtA
J23dDexZiL+tCDK+Rq33lmdHcX8nt5AhydHKNFyzhPt4pWFA2ptHht9zYORHSp839HxLCRYh/THi
nt+TziJzfKJGoCPgvAAWULWUvtHZE6sUeiwEB0obTK+MW7w0lIngAyG0/8KvG3v9nUmS63P1fDoN
YMAoLa54wCjZVH/5V3qKIFKtww67TB5KTHDdjStMbMPJqGT84mvdZT9N/+4PG8/wBO2sTgX3WX6F
c7tg2WR0nXgtejseSlW2Usg8BaZ7heRnf1557yM1Nqum6aBF2qTKDggbQ6TZaBMUs+wTA+gy2JDt
9dyzcd0isVsVVbcsPeTXKXFLZm9c7m8UPMMHihrgSRrmw1IIPStiHIAZgd/sIgEy+h3JQ71/GybH
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

------=_NextPart_000_0005_01D2D47D.D8D34290--


From nobody Wed May 24 04:14:11 2017
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCD85129504 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 04:14:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id blg-Ch53erqm for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 04:14:08 -0700 (PDT)
Received: from atlas5.jacobs-university.de (atlas5.jacobs-university.de [212.201.44.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1220A1294E8 for <netconf@ietf.org>; Wed, 24 May 2017 04:14:08 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas5.jacobs-university.de (Postfix) with ESMTP id DDFEA69; Wed, 24 May 2017 13:14:06 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas5.jacobs-university.de ([10.70.0.217]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10032) with ESMTP id i5eadG7v4au6; Wed, 24 May 2017 13:14:06 +0200 (CEST)
Received: from hermes.jacobs-university.de (hermes.jacobs-university.de [212.201.44.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "hermes.jacobs-university.de", Issuer "Jacobs University CA - G01" (verified OK)) by atlas5.jacobs-university.de (Postfix) with ESMTPS; Wed, 24 May 2017 13:14:06 +0200 (CEST)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id BE79920067; Wed, 24 May 2017 13:14:06 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from hermes.jacobs-university.de ([212.201.44.23]) by localhost (demetrius2.jacobs-university.de [212.201.44.32]) (amavisd-new, port 10024) with ESMTP id cMS-9zzI9rUn; Wed, 24 May 2017 13:14:06 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 622B020063; Wed, 24 May 2017 13:14:06 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 1D5C13F564AD; Wed, 24 May 2017 13:14:06 +0200 (CEST)
Date: Wed, 24 May 2017 13:14:06 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Message-ID: <20170524111406.GA7170@elstar.local>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>, "netconf@ietf.org" <netconf@ietf.org>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com> <20170524084358.GA7074@elstar.local> <AM2PR07MB0627766270D0B55C16A08C5E94FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <AM2PR07MB0627766270D0B55C16A08C5E94FE0@AM2PR07MB0627.eurprd07.prod.outlook.com>
User-Agent: Mutt/1.6.0 (2016-04-01)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/9MbZFhSoYm8iw_UiBaFyaUw_b3M>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 11:14:10 -0000

On Wed, May 24, 2017 at 09:06:55AM +0000, Bogaert, Bart (Nokia - BE/Antwerp) wrote:
> 
> What is then the expected behavior in case no locks are used
> (which was the case in the provided example).  As one can observe a
> concurrent session may request the configuration and gets a result that is
> still being processed and eventually is not getting stored to the running
> datastore as the involved application is rejecting the change (e.g. due to a
> restriction that we can't express in YANG and which a client can't find
> out).  Is in that case expected that the server keeps a "copy" of the
> pending data "separate" to the running datastore in which case the
> get-config would not show the pending transaction.  If I'm not mistaken the
> same applied to databases: as long as a change has not been committed
> reading from the database returns data as stored during the last commit to
> the DB.  We observe a different behavior.
> 

I think RFC 6241 is silent about this. I do not think RFC 6241 says
that 'applying an edit' has to be atomic and that there must not be
any concurrent read operations - or that overlapping read operations
must continue with a snapshot view if there are concurrent changes to
a datastore. If concurrent access is an issue, use locks. If global
datastore locks are an issue, use partial locks (RFC 5717).

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>


From nobody Wed May 24 08:37:31 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 71A4312EB0A for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 08:37:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 99LXh65jSle6 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 08:37:28 -0700 (PDT)
Received: from mail-wr0-x230.google.com (mail-wr0-x230.google.com [IPv6:2a00:1450:400c:c0c::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D6EA6129B7E for <netconf@ietf.org>; Wed, 24 May 2017 08:37:27 -0700 (PDT)
Received: by mail-wr0-x230.google.com with SMTP id l50so57277322wrc.3 for <netconf@ietf.org>; Wed, 24 May 2017 08:37:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=XtsEUtAFYpxcuTz1dnC6QwrPlAM+eeFSaNVwZywhLb0=; b=c5kt0a8tQF4dQ9kxeN1K8mx8pxj6zQnn5Mkc/DxK61Awe1hgeOqAEBtw1Jbma7k1Xm 5N6gyWuxB95/V7LUOJZ9lanANveJNslEMpsVh8QZM1eD8gzQI6CKE4Nm0Ue4cBIoVFXX /fjPFtjc52eqftVJn5eBFVNkIUh8B20wE2vqCy87R+C2Jlo766Z2ceuNzyiCD01yd60o TRrQPXlAZWIbmnkBSqeIhDyBHKBTiMVSiIstH4rhGnd0GHmzsOMk3Do5AyUKlt0/L3oN 1xTT9vsJnOaxOZ+AWJV8j2CMTmP6mTOK//NrKntRM1EjxyMGF3j41t9zyX/yeIONMJAG ywuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=XtsEUtAFYpxcuTz1dnC6QwrPlAM+eeFSaNVwZywhLb0=; b=j8tOlBtCYG8jI3w+Lj25p+LJ2g1ZV7EYxwssskaazKKVjOID2iSYcSxXkZ73fVIfvK 1491rvcXnudSU+ujs5qhMxTnnYA1L9tNu292KoznvwFISwUIzS2YdKXhCVHK8y04nt6n sQww5PIHu6g8F9tNNaxakPtwtlCWyOLYEVM6GCb6kzAMZezRpNWqpvsl3WlYzbQky4j4 /aZoxLRGfbBGJ/js97TvNlZZzN3oD4hon3SmqXGvxcDBS01tC8mTLkuvBchJE7vanLVi /5Kf3C+nKM6oh47LHF+CK5kLHaAGREuOYktvp+uFkBe24u+CobupGr6Pp8MeWUO6+lQi dBJA==
X-Gm-Message-State: AODbwcDeczyUghzft9aVeA4VEQBqUcbgEdiTPwNUgEuvE47HvRP9Fqji PDOUKHZWuwW+ucyAWHRMfB35/nlKpSTp
X-Received: by 10.223.134.80 with SMTP id 16mr23841815wrw.62.1495640246272; Wed, 24 May 2017 08:37:26 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 24 May 2017 08:37:25 -0700 (PDT)
In-Reply-To: <20170524084358.GA7074@elstar.local>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com> <20170524084358.GA7074@elstar.local>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 24 May 2017 08:37:25 -0700
Message-ID: <CABCOCHQqwx9_6PVM_YrAFbpn4LwmpKkvzet2rQPKgQnth1aRYQ@mail.gmail.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>,  "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a11491e7e975634055046e167"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/G12CSgHZtPU0FklS9s9fbI6J4sY>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 15:37:30 -0000

--001a11491e7e975634055046e167
Content-Type: text/plain; charset="UTF-8"

On Wed, May 24, 2017 at 1:43 AM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> On Wed, May 24, 2017 at 08:33:03AM +0000, Bogaert, Bart (Nokia -
> BE/Antwerp) wrote:
> > Hi,
> >
> > We have a question about the following text about pipelining:
> >
> > "NETCONF <rpc> requests MUST be processed serially by the managed device.
> > Additional <rpc> requests MAY be sent before previous ones have been
> > completed. The managed device MUST send responses only in the order the
> > requests were received."
>
> [...]
>
> > The text in the RFC is not very explicit whether this pipelining is per
> > NETCONF session of over all the NETCONF sessions served by that NETCONF
> > server.  In the latter case the response to the first get-config would
> only
> > return once the edit-config has been completed (and hence the pending
> change
> > would not be visible).  What is the correct interpretation of this text
> and
> > what is the expected behavior in the above sequence?
>
> I believe the pipelining is per session. To coordinate requests coming
> in over multiple session, you have to use locks. So that text should
> really say:
>
> OLD:
>
>    NETCONF <rpc> requests MUST be processed serially by the managed
>    device.
>
> NEW:
>
>    NETCONF <rpc> requests received over the same session MUST be
>    processed serially by the managed device.
>
> This is pretty much inline with pipelining in other protocols such as
> SMTP or HTTP.
>
>

I agree with your changes but I think the original intent was that the
input packets need to be buffered
if the server allows multiple concurrent sessions. i.e. -- is it OK for a
server that has accepted
multiple concurrent sessions to simply reject all requests on session 2
because a request is in progress
on session 1?



> /js
>


Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--001a11491e7e975634055046e167
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 24, 2017 at 1:43 AM, Juergen Schoenwaelder <span dir=3D"ltr=
">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_bl=
ank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex">On Wed, May 24, 2017 at 08:33:03AM +0000, Bogaert, B=
art (Nokia - BE/Antwerp) wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; We have a question about the following text about pipelining:<br>
&gt;<br>
&gt; &quot;NETCONF &lt;rpc&gt; requests MUST be processed serially by the m=
anaged device.<br>
&gt; Additional &lt;rpc&gt; requests MAY be sent before previous ones have =
been<br>
&gt; completed. The managed device MUST send responses only in the order th=
e<br>
&gt; requests were received.&quot;<br>
<br>
[...]<br>
<br>
&gt; The text in the RFC is not very explicit whether this pipelining is pe=
r<br>
&gt; NETCONF session of over all the NETCONF sessions served by that NETCON=
F<br>
&gt; server.=C2=A0 In the latter case the response to the first get-config =
would only<br>
&gt; return once the edit-config has been completed (and hence the pending =
change<br>
&gt; would not be visible).=C2=A0 What is the correct interpretation of thi=
s text and<br>
&gt; what is the expected behavior in the above sequence?<br>
<br>
I believe the pipelining is per session. To coordinate requests coming<br>
in over multiple session, you have to use locks. So that text should<br>
really say:<br>
<br>
OLD:<br>
<br>
=C2=A0 =C2=A0NETCONF &lt;rpc&gt; requests MUST be processed serially by the=
 managed<br>
=C2=A0 =C2=A0device.<br>
<br>
NEW:<br>
<br>
=C2=A0 =C2=A0NETCONF &lt;rpc&gt; requests received over the same session MU=
ST be<br>
=C2=A0 =C2=A0processed serially by the managed device.<br>
<br>
This is pretty much inline with pipelining in other protocols such as<br>
SMTP or HTTP.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br></font></span></blockquo=
te><div><br></div><div><br></div><div>I agree with your changes but I think=
 the original intent was that the input packets need to be buffered</div><d=
iv>if the server allows multiple concurrent sessions. i.e. -- is it OK for =
a server that has accepted</div><div>multiple concurrent sessions to simply=
 reject all requests on session 2 because a request is in progress</div><di=
v>on session 1?</div><div><br></div><div>=C2=A0</div><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex"><span class=3D"HOEnZb"><font color=3D"#888888">
/js<br></font></span></blockquote><div><br></div><div><br></div><div>Andy</=
div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=3D"HOEnZb">=
<font color=3D"#888888">
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"http://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_blan=
k">http://www.jacobs-university.<wbr>de/</a>&gt;<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</font></span></blockquote></div><br></div></div>

--001a11491e7e975634055046e167--


From nobody Wed May 24 15:25:41 2017
Return-Path: <alexander.clemm@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7AD2B129B48 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 15:25:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OHkgYUrAI-WZ for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 15:25:37 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 00C631242F7 for <netconf@ietf.org>; Wed, 24 May 2017 15:25:36 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DHG23458; Wed, 24 May 2017 22:25:34 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 24 May 2017 23:25:33 +0100
Received: from SJCEML701-CHM.china.huawei.com ([169.254.3.56]) by SJCEML702-CHM.china.huawei.com ([169.254.4.117]) with mapi id 14.03.0235.001;  Wed, 24 May 2017 15:25:27 -0700
From: Alexander Clemm <alexander.clemm@huawei.com>
To: Martin Bjorklund <mbj@tail-f.com>, "evoit@cisco.com" <evoit@cisco.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAAEyk7AAArGsKAAAP1bgAACQ4GAAAThzGAAA9frZA=
Date: Wed, 24 May 2017 22:25:26 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
References: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com>
In-Reply-To: <20170524.093545.1590430256406536052.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.213.48.113]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.5926085E.00B3, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.3.56, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 199caaf241fb3db042866cd50c5a84f9
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/yn7l3RZShXE6wzTh55wmLfxCg_w>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 22:25:40 -0000

Let me briefly summarize where I think we are. The thread has clearly moved=
 on from the initial issue of how to distinguish between causes for updates=
 to no longer include a given data node (because it was deleted, or because=
 it changed its value to no longer match a filter) to other issues. =20

For those other issues, I think there are in fact two separate items that w=
e are trying to discuss at the same time, which are really orthogonal to on=
e another:

- The first item concerns the concept of a "filter" vs a "selector".  A fil=
ter is what gets specified for any subscription to notifications, which def=
ines which notifications a subscriber wants to receive.  The filter is appl=
ied to the notification as a whole, i.e. either the notification is deliver=
ed or it is not.  It does not apply to subsets of contents within the notif=
ication.  A selector, on the other hand, is used to specify updates of whic=
h data nodes to include in a YANG-push subscription.  The same update notif=
ication could include updates of several data nodes, hence a filter applied=
 to the notification as a whole would be inappropriate here - the semantics=
 is slightly different: as a subscriber, "of  which data nodes would you li=
ke to receive updates", not "which notifications would you like to receive"=
. =20

Filters and selectors can be specified using the same syntax.  We are faced=
 with a choice between specifying a single construct as part of a subscript=
ion, which is treated as a filter (in case of a "regular" subscription for =
notification updates) or as a selector (in case of a subscription to datast=
ore updates) , or having separate objects, i.e. adding a separate "selector=
" construct for YANG-push.  Using a single object amounts to overloading.  =
It is more compact but with arguably a more complex semantics.  Using separ=
ate object results in a model that is more verbose, but has arguably simple=
r semantics. =20

- The second item concerns the issue of whether the filter/selector constru=
ct has a dynamic type or a static type.  This is where the issue of identit=
y vs case statement etc comes in.  In case of a dynamic type, we use two ob=
jects:  One object of a generic type (anydata) holds the filter/selector co=
nstruct itself, the second object specifies how to interpret it, i.e. which=
 type it is.  (In case of "overloading, we can also make explicit the disti=
nction whether it is a filter or a selector).  That second object is an ide=
ntityref, referencing one of the identities that designates the filter/sele=
ctor type.  In case of a static type, we use a case statement (to distingui=
sh which specific type it is). =20

The argument that Eric is making is that we should have a single overloaded=
 object that can serve as a filter or a selector depending on the context a=
nd whether it is used in a notification subscription or a YANG-push subscri=
ption, and that we use a dynamic type including an identityref that indicat=
es whether the object serves as a selector or a filter.  From my perspectiv=
e, I feel that not overloading may be conceptually a bit "cleaner", but at =
the end of the day I am fine either way.  And I am not entirely sure, Marti=
n, what you are proposing.  Either way, we should document the issue and ou=
r choice clearly. =20

--- Alex


-----Original Message-----
From: Martin Bjorklund [mailto:mbj@tail-f.com]=20
Sent: Wednesday, May 24, 2017 12:36 AM
To: evoit@cisco.com
Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
Subject: Re: [Netconf] In an update, when is a delete a delete?

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > From: Martin Bjorklund, May 23, 2017 1:57 PM
> >=20
> > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > >
> > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > Hi Martin,
> > > > >
> > > > > Almost overlooked your question below.  What is meant by the=20
> > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > >
> > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > The following filter types are included in the yang-push data mod=
el:
> > > > > [subtree] [xpath]"
> > > >
> > > > Actually, only "subtree" is defined in yang-push, "xpath" is=20
> > > > defined in subscribed-notifications.
> > >
> > > At the top of yang-push page 7, xpath selection is described.  Is=20
> > > there something you feel missing?
> >=20
> > Yes.  First of all, the YANG module defines an identity called=20
> > "xpath", based on "sn:filter".  So this filter has nothing to do=20
> > with selecting nodes in a datastore; this filter is used to match=20
> > against a generated notification record.
>=20
> To address this we could split the xpath identity into two types:
> "xpath-selection" and "xpath-boolean".  These would have different=20
> definitions, but both reference
> http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is that=20
> one results in a xpath node-set expression, and the other an xpath=20
> Boolean expression.  Make sense?

Not really.  In subscribed-notifications you have defined a generic filter =
mechanism, that is used to block/allow the sending of generated notificatio=
ns to a subscriber.  This filter mechanism cannot be used to select nodes t=
o subscribe to for changes in a datastore.  You need to define a separate m=
echansim for that in yang-push.  (Maybe not even call it "filter", but perh=
aps "selection").

Some comments on subscribed-notifications: This generic mechanism allows va=
rious filter syntaxes.  This generic mechanism needs to explain what is req=
uired by a filter syntax definition (an identity, evaluation rules).  In se=
ction 2.2 the document says that two filter syntaxes are supported, but onl=
y one is defined (xpath).  It needs to explain that a filter is supposed to=
 return true or false (this part RFC 5277 got right, see section 3.6).  Als=
o, the current module has the filter in an anyxml node; it is not clear how=
 an XPath expression is encoded in anyxml.

> > Second, the XPath filter is sorely underspecified.  The XPath=20
> > context is not described,
>=20
> I understand and agree on your comment about the context.  The intent=20
> here is to provide equivalent capabilities of a GET.

I understand that.

> As it would be a
> huge undertaking to try to consolidate an industry-wide view of the=20
> minimal xpath syntax and capabilities in networking

Ehh... yes?  What does this have to do with specifiying the XPath context?

> , I am hoping this
> doesn't fall under the umbrella of YANG subscription.  I would be glad=20
> to support someone who wishes to take this up though.
>=20
> > the expected result data type is not defined, and it is not=20
> > described how the result is supposed to be used.
>=20
> As for the result, the anydata output should be provided to the=20
> subscriber (with appropriate security applied).

I was referring to the output of the filter evaluation.

> They can determine
> how to use it.  The preferred embodiment would be to maintain a local=20
> extract of the Publisher's datastore (as defined by the filter).
>=20
> > > >  [Side note - I think this is wrong, subscribed-notifications=20
> > > > should also define "subtree".]
> > > >
> > > > But these filters are used by the server to decide if a certain=20
> > > > notification that has been generated will be sent to the client=20
> > > > or not.
> > >
> > > Yes, the filters in subscribed-notification are supposed to give a=20
> > > boolean indication as to whether a specific event should traverse=20
> > > the filter in its entirety. RFC6241 section 6 subtree filters are=20
> > > written to provide a subset of content.  I suppose it would be=20
> > > possible to define an event-based subtree-filter-type where a=20
> > > non-null result of the subtree filter means that a particular=20
> > > event should traverse that filter.  Is this what you are suggesting?
> >=20
> > Yes.  Note that this is already provided by RFC 5277, and I have=20
> > always assumed that this new work will provide at least the same=20
> > functions as RFC
> > 5277 (and more).  (But note that the XPath filter is underspecified=20
> > also in RFC
> > 5277...)
>=20
> I also want to make sure that a non-null result from a filter allows=20
> the event to pass.  I suspect that an xpath Boolean filter could be=20
> designed to do this, but I will tweak the subscribed-notifications=20
> text so that unnecessary filtering expression complexity is not=20
> artificially required.

Please make sure you understand how subtree filters and XPath filters work =
in RFC 5277.  There is nothing wrong with that functionality.

> > > > If you want to define filters to specifify which nodes to=20
> > > > subscribe to, I think you need to define new filters, not try to=20
> > > > reuese these notification filters.
> > >
> > > Filtering syntax is hard, so we have been trying to adopt whatever=20
> > > is available for GET.  This way we don't have to educate users on=20
> > > a new universe of what is possible.  I fully expect that lots of=20
> > > learnings are going to come in the industry here over time, and=20
> > > this will be revisited in the future.
> >=20
> > ?
> >=20
> > I am not proposing any new filter syntax.  I am saying that the=20
> > current filter nodes as defined in subscribed-notification cannot be=20
> > used to select nodes to subscribe to for changes.
>=20
> Understand.  Hopefully with the "xpath-selection" change proposed=20
> above, this will be covered.

No, see above.


/martin



>=20
> Eric
>=20
> > > > As for your question, I think such a filter should be defined to=20
> > > > return a node- set to which the client subscribe to changes.  If=20
> > > > any node (or subnode
> > > > to) in
> > > > this node-set changes, the notif will be sent.  Then the=20
> > > > question about value comparision is not relevant anymore.
> > >
> > > Excellent, on-change should only send an update if the results of=20
> > > the subscription filter have changed since the previous push.  It=20
> > > is quite possible that an object has been created and then deleted=20
> > > since the last push.
> >=20
> > I don't understand what you're trying to say with these sentences=20
> > (but since the first word was "Excellent" maybe it's ok ;)
> >=20
> >=20
> > /martin
> >=20
> >=20
> > > Representing this was the genesis of Alex's question.
> > >
> > > Eric
> > >
> > > > /martin
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > >
> > > > > In effect, the filter specifies which data nodes to consider=20
> > > > > when sending updates.
> > > > >
> > > > > ---Alex
> > > > >
> > > > >
> > > > > -----Original Message-----
> > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > Cc: netconf@ietf.org
> > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > >
> > > > > Hi,
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hello all,
> > > > > >
> > > > > > In updating the YANG-Push document=20
> > > > > > (draft-ietf-netconf-yang-push), we have come across one=20
> > > > > > issue that we wanted to raise with the working group.
> > > > > >
> > > > > > As part of an on-change subscription, update records reflect=20
> > > > > > the type of change (e.g. whether the value of an object has=20
> > > > > > changed, or whether an object was created or deleted); a=20
> > > > > > subscription allows also to specify whether interested only=20
> > > > > > in specific types of changes (for example, only creates and=20
> > > > > > deleted but no value
> > changes).
> > > > > >
> > > > > > At the same time, a subscription filter specifies which=20
> > > > > > objects to include as part of a subscription and which not.
> > > > >
> > > > > Hmm, which filter are you talking about?  The only XPath=20
> > > > > filter I find in the current set of documents is the=20
> > > > > "ietf-subscribed-notifications:xpath" filter type (which btw=20
> > > > > is sorely underspecified).  Section 2.2 of
> > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > >
> > > > >    Events which evaluate to "true" as a
> > > > >    result of the evaluation by the filter must traverse the filte=
r in
> > > > >    their entirety.
> > > > >
> > > > > It's not clear what this means, but my guess is that this is=20
> > > > > supposed to work like the old RFC 5277 filters, where the=20
> > > > > filter expression is evaluated on the notification contents,=20
> > > > > and if the expression returns "true" (for XPath filters this=20
> > > > > means converting the results to a boolean), then the=20
> > > > > notification is sent, otherwise not.
> > > > >
> > > > > But it seems you are referring to some other filter which=20
> > > > > would be used to select a node set for which changes are reported=
?
> > > > >
> > > > > I would like to understand which filter mechanism you mean=20
> > > > > before having an opinion in this matter.
> > > > >
> > > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > > (Really, it is not
> > > > > > so much of a "filter" on a stream that is generated=20
> > > > > > independently of the filter, than it is a policy of which=20
> > > > > > objects to include as part of subscribed update records.)=20
> > > > > > However, a subscription filter (such as
> > > > > > XPath) can be used to also specify a value filter, which=20
> > > > > > will include or exclude objects based on their current=20
> > > > > > value. This makes it possible to e.g. subscribe to an object=20
> > > > > > "foo" but only if its value is 5.
> > > > > >
> > > > > > Now, this means that the same object could be included in=20
> > > > > > one update, but excluded in another update, due to its value=20
> > > > > > no longer meeting the filter criteria.  For example, if=20
> > > > > > foo's value changes from 5 to 3 in one cycle, a periodic=20
> > > > > > subscription will no longer include foo in its next update. =20
> > > > > > The question now concerns how to properly handle this in the=20
> > > > > > case of an on-change
> > subscription.
> > > > > >
> > > > > > One possibility concerns reporting the fact that "foo" no=20
> > > > > > longer meets the subscription criteria and is no longer=20
> > > > > > included in the update record as a "delete" event.  If foo's va=
lue again becomes "5"
> > > > > > at a later point in time, that would be reported as a "create"
> > > > > > event.  If foo's value changes again from 5 at a later point=20
> > > > > > in time and then changes back to 3 before the time of the=20
> > > > > > update (perhaps because the value changed during the=20
> > > > > > dampening interval), it would be reported as another=20
> > > > > > "delete" event (without ever reporting a create event).  On=20
> > > > > > the other hand, if foo's value changed from 3 to
> > > > > > 6 and back again, nothing would be reported because it did=20
> > > > > > not meet the filter criteria at any point in time.
> > > > > >
> > > > > > >From the perspective of the receiver this may make sense if=20
> > > > > > >it is synching its copy of the state.  However, from the=20
> > > > > > >perspective of the publisher, the object was never created=20
> > > > > > >or deleted - only its value changed, and the case when the=20
> > > > > > >object was truly created or deleted can no longer be=20
> > > > > > >distinguished from the case when its value
> > > > changed.
> > > > > > >A "create" simply means "an object now meets a filter=20
> > > > > > >criteria, that was not reported in the previous cycle"=20
> > > > > > >(which does not mean that the object was actually created -=20
> > > > > > >it may have been created, or it may have simply undergone a va=
lue change).
> > > > > >
> > > > > > An alternative (let's call it alternative 2) is therefore to=20
> > > > > > make a distinction between whether an object was created or=20
> > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > This appears semantically cleaner.  However, it will require=20
> > > > > > modifying the encoding to allow for distinction between=20
> > > > > > those cases (currently, just plain patch encoding is used).
> > > > > >
> > > > > > A third alternative is to let filters select only data nodes=20
> > > > > > to subscribe to, and separate out the value filter (or=20
> > > > > > disallow it as a feature altogether).  This alternative has=20
> > > > > > the drawback of being less conceptually powerful, even if it=20
> > > > > > may be easier to
> > implement.
> > > > > >
> > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > --- Alex
> > > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > >
>=20


From nobody Wed May 24 15:55:18 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 008C6128B93 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 15:55:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3QTx-TO9gsql for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 15:55:12 -0700 (PDT)
Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2784D1288B8 for <netconf@ietf.org>; Wed, 24 May 2017 15:55:12 -0700 (PDT)
Received: by mail-wm0-x230.google.com with SMTP id b84so76782463wmh.0 for <netconf@ietf.org>; Wed, 24 May 2017 15:55:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=s0aW/dEVhoSGijI/rZ22SVDqRsvTqTlu2OxPq5iJZjo=; b=d9iFG4eOnCf07R4gus9aA9E18iZD69ZLnhlHlWV/w6XlN0GII6p1ibaB39ctrmdjoq D+gxKMKm17CCmDkGdNqRIPFqJh7dEn+NZRVtTGdry3PzhevtT8IRJL9p6+Sg6lYt4pfd D6hyc+wnC3C6urkozUSilVes8DPgqS8WwB7lPFZaxcRaHNAKdk3jdpe+W9fqKCtCxLLT 279kkMqvIC5OhT1xbeTZnXVQxDq1ioZwv3dAM8+jEddcFDuhaVhIZ/n2ba0nlljS6UI3 /dyJmuCVbTw+51BHc9zq+GXc522m9QgADbsFFbs853VVu1nKCstg0Crinlu/5fIhPJi2 liww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=s0aW/dEVhoSGijI/rZ22SVDqRsvTqTlu2OxPq5iJZjo=; b=VeZmH7qw3lyW/1NBgPvf4zxAA+41lBOL3zmOziqrADFe08jOo0wl0osINJpVO8uO37 Tf9u0/tKQtc2ymziGbeDymA38qOTASmlpPALHNTMgeMNCHmFUR0h/bXhtLnUY6UtobUW v5d2kGJzh1qLBVS2OL8MbRe/zHZY0TWfVRds/eWKtmZRJxGuK+lq/Aw6yRghlMfX+ajO xDv1g9F5nYcSLDAApKf8jmas4SFGA7gQ1+N9T7nSy8LJ2gpBoUCVVFG4BZlMmI6hlDeS 3hrVoSYiRbVz3GcO6G34oc/2r9z06o3sOrRh7XCsuG/51U1Is/YvQrUufztADi88V1gx R40g==
X-Gm-Message-State: AODbwcDBr/6iLr9QbhYrZF2utnsRSg1WsiL88tmZNE7nBVBE2TUrW5JX X0fIQ88mVC3fu7Qick/TVn5CPyQSax8w
X-Received: by 10.28.185.200 with SMTP id j191mr8151698wmf.48.1495666510421; Wed, 24 May 2017 15:55:10 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 24 May 2017 15:55:09 -0700 (PDT)
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
References: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 24 May 2017 15:55:09 -0700
Message-ID: <CABCOCHQhje=Eat-mHOjZi0Dk4yek0+meXyXMv2m0xVG-wH2WxA@mail.gmail.com>
To: Alexander Clemm <alexander.clemm@huawei.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, "evoit@cisco.com" <evoit@cisco.com>,  "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a1148e4c20e7e1205504cff34"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/MfkmjHINvIDeI9MspjwC-J0nzqo>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 22:55:16 -0000

--001a1148e4c20e7e1205504cff34
Content-Type: text/plain; charset="UTF-8"

Hi,

Let's compare to what 5277 already has defined.
I agree with Martin that new functionality should be defined with
new terms and new specs.

First, RFC 5277 allows the event-type to be filtered.
This is basic functionality every server should support.
(e.g., select netconf-config-change, ignore netconf-session-start)
This event type test is not separate from the event content filter.
Both are boolean tests.

Notification filters for YANG Push need to select the event-types used,
such as push-change-update.  It would be nice if this was handled
automatically,
instead of listing them in the <establish-subscription>.

Traditional notification filters would require that the structure of an
event such
as push-change-update be known to the developer in full detail.
IMO this is a bad approach.  A new filter type that selects data nodes
would be much better.  The current proposal is easy to under-specify
and (IMO) nearly impossible for operators to use.


Andy



On Wed, May 24, 2017 at 3:25 PM, Alexander Clemm <alexander.clemm@huawei.com
> wrote:

> Let me briefly summarize where I think we are. The thread has clearly
> moved on from the initial issue of how to distinguish between causes for
> updates to no longer include a given data node (because it was deleted, or
> because it changed its value to no longer match a filter) to other issues.
>
> For those other issues, I think there are in fact two separate items that
> we are trying to discuss at the same time, which are really orthogonal to
> one another:
>
> - The first item concerns the concept of a "filter" vs a "selector".  A
> filter is what gets specified for any subscription to notifications, which
> defines which notifications a subscriber wants to receive.  The filter is
> applied to the notification as a whole, i.e. either the notification is
> delivered or it is not.  It does not apply to subsets of contents within
> the notification.  A selector, on the other hand, is used to specify
> updates of which data nodes to include in a YANG-push subscription.  The
> same update notification could include updates of several data nodes, hence
> a filter applied to the notification as a whole would be inappropriate here
> - the semantics is slightly different: as a subscriber, "of  which data
> nodes would you like to receive updates", not "which notifications would
> you like to receive".
>
> Filters and selectors can be specified using the same syntax.  We are
> faced with a choice between specifying a single construct as part of a
> subscription, which is treated as a filter (in case of a "regular"
> subscription for notification updates) or as a selector (in case of a
> subscription to datastore updates) , or having separate objects, i.e.
> adding a separate "selector" construct for YANG-push.  Using a single
> object amounts to overloading.  It is more compact but with arguably a more
> complex semantics.  Using separate object results in a model that is more
> verbose, but has arguably simpler semantics.
>
> - The second item concerns the issue of whether the filter/selector
> construct has a dynamic type or a static type.  This is where the issue of
> identity vs case statement etc comes in.  In case of a dynamic type, we use
> two objects:  One object of a generic type (anydata) holds the
> filter/selector construct itself, the second object specifies how to
> interpret it, i.e. which type it is.  (In case of "overloading, we can also
> make explicit the distinction whether it is a filter or a selector).  That
> second object is an identityref, referencing one of the identities that
> designates the filter/selector type.  In case of a static type, we use a
> case statement (to distinguish which specific type it is).
>
> The argument that Eric is making is that we should have a single
> overloaded object that can serve as a filter or a selector depending on the
> context and whether it is used in a notification subscription or a
> YANG-push subscription, and that we use a dynamic type including an
> identityref that indicates whether the object serves as a selector or a
> filter.  From my perspective, I feel that not overloading may be
> conceptually a bit "cleaner", but at the end of the day I am fine either
> way.  And I am not entirely sure, Martin, what you are proposing.  Either
> way, we should document the issue and our choice clearly.
>
> --- Alex
>
>
> -----Original Message-----
> From: Martin Bjorklund [mailto:mbj@tail-f.com]
> Sent: Wednesday, May 24, 2017 12:36 AM
> To: evoit@cisco.com
> Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
> Subject: Re: [Netconf] In an update, when is a delete a delete?
>
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hi Martin,
> > > > > >
> > > > > > Almost overlooked your question below.  What is meant by the
> > > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > > >
> > > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > > The following filter types are included in the yang-push data
> model:
> > > > > > [subtree] [xpath]"
> > > > >
> > > > > Actually, only "subtree" is defined in yang-push, "xpath" is
> > > > > defined in subscribed-notifications.
> > > >
> > > > At the top of yang-push page 7, xpath selection is described.  Is
> > > > there something you feel missing?
> > >
> > > Yes.  First of all, the YANG module defines an identity called
> > > "xpath", based on "sn:filter".  So this filter has nothing to do
> > > with selecting nodes in a datastore; this filter is used to match
> > > against a generated notification record.
> >
> > To address this we could split the xpath identity into two types:
> > "xpath-selection" and "xpath-boolean".  These would have different
> > definitions, but both reference
> > http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is that
> > one results in a xpath node-set expression, and the other an xpath
> > Boolean expression.  Make sense?
>
> Not really.  In subscribed-notifications you have defined a generic filter
> mechanism, that is used to block/allow the sending of generated
> notifications to a subscriber.  This filter mechanism cannot be used to
> select nodes to subscribe to for changes in a datastore.  You need to
> define a separate mechansim for that in yang-push.  (Maybe not even call it
> "filter", but perhaps "selection").
>
> Some comments on subscribed-notifications: This generic mechanism allows
> various filter syntaxes.  This generic mechanism needs to explain what is
> required by a filter syntax definition (an identity, evaluation rules).  In
> section 2.2 the document says that two filter syntaxes are supported, but
> only one is defined (xpath).  It needs to explain that a filter is supposed
> to return true or false (this part RFC 5277 got right, see section 3.6).
> Also, the current module has the filter in an anyxml node; it is not clear
> how an XPath expression is encoded in anyxml.
>
> > > Second, the XPath filter is sorely underspecified.  The XPath
> > > context is not described,
> >
> > I understand and agree on your comment about the context.  The intent
> > here is to provide equivalent capabilities of a GET.
>
> I understand that.
>
> > As it would be a
> > huge undertaking to try to consolidate an industry-wide view of the
> > minimal xpath syntax and capabilities in networking
>
> Ehh... yes?  What does this have to do with specifiying the XPath context?
>
> > , I am hoping this
> > doesn't fall under the umbrella of YANG subscription.  I would be glad
> > to support someone who wishes to take this up though.
> >
> > > the expected result data type is not defined, and it is not
> > > described how the result is supposed to be used.
> >
> > As for the result, the anydata output should be provided to the
> > subscriber (with appropriate security applied).
>
> I was referring to the output of the filter evaluation.
>
> > They can determine
> > how to use it.  The preferred embodiment would be to maintain a local
> > extract of the Publisher's datastore (as defined by the filter).
> >
> > > > >  [Side note - I think this is wrong, subscribed-notifications
> > > > > should also define "subtree".]
> > > > >
> > > > > But these filters are used by the server to decide if a certain
> > > > > notification that has been generated will be sent to the client
> > > > > or not.
> > > >
> > > > Yes, the filters in subscribed-notification are supposed to give a
> > > > boolean indication as to whether a specific event should traverse
> > > > the filter in its entirety. RFC6241 section 6 subtree filters are
> > > > written to provide a subset of content.  I suppose it would be
> > > > possible to define an event-based subtree-filter-type where a
> > > > non-null result of the subtree filter means that a particular
> > > > event should traverse that filter.  Is this what you are suggesting?
> > >
> > > Yes.  Note that this is already provided by RFC 5277, and I have
> > > always assumed that this new work will provide at least the same
> > > functions as RFC
> > > 5277 (and more).  (But note that the XPath filter is underspecified
> > > also in RFC
> > > 5277...)
> >
> > I also want to make sure that a non-null result from a filter allows
> > the event to pass.  I suspect that an xpath Boolean filter could be
> > designed to do this, but I will tweak the subscribed-notifications
> > text so that unnecessary filtering expression complexity is not
> > artificially required.
>
> Please make sure you understand how subtree filters and XPath filters work
> in RFC 5277.  There is nothing wrong with that functionality.
>
> > > > > If you want to define filters to specifify which nodes to
> > > > > subscribe to, I think you need to define new filters, not try to
> > > > > reuese these notification filters.
> > > >
> > > > Filtering syntax is hard, so we have been trying to adopt whatever
> > > > is available for GET.  This way we don't have to educate users on
> > > > a new universe of what is possible.  I fully expect that lots of
> > > > learnings are going to come in the industry here over time, and
> > > > this will be revisited in the future.
> > >
> > > ?
> > >
> > > I am not proposing any new filter syntax.  I am saying that the
> > > current filter nodes as defined in subscribed-notification cannot be
> > > used to select nodes to subscribe to for changes.
> >
> > Understand.  Hopefully with the "xpath-selection" change proposed
> > above, this will be covered.
>
> No, see above.
>
>
> /martin
>
>
>
> >
> > Eric
> >
> > > > > As for your question, I think such a filter should be defined to
> > > > > return a node- set to which the client subscribe to changes.  If
> > > > > any node (or subnode
> > > > > to) in
> > > > > this node-set changes, the notif will be sent.  Then the
> > > > > question about value comparision is not relevant anymore.
> > > >
> > > > Excellent, on-change should only send an update if the results of
> > > > the subscription filter have changed since the previous push.  It
> > > > is quite possible that an object has been created and then deleted
> > > > since the last push.
> > >
> > > I don't understand what you're trying to say with these sentences
> > > (but since the first word was "Excellent" maybe it's ok ;)
> > >
> > >
> > > /martin
> > >
> > >
> > > > Representing this was the genesis of Alex's question.
> > > >
> > > > Eric
> > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > >
> > > > > > In effect, the filter specifies which data nodes to consider
> > > > > > when sending updates.
> > > > > >
> > > > > > ---Alex
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > Cc: netconf@ietf.org
> > > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > Hello all,
> > > > > > >
> > > > > > > In updating the YANG-Push document
> > > > > > > (draft-ietf-netconf-yang-push), we have come across one
> > > > > > > issue that we wanted to raise with the working group.
> > > > > > >
> > > > > > > As part of an on-change subscription, update records reflect
> > > > > > > the type of change (e.g. whether the value of an object has
> > > > > > > changed, or whether an object was created or deleted); a
> > > > > > > subscription allows also to specify whether interested only
> > > > > > > in specific types of changes (for example, only creates and
> > > > > > > deleted but no value
> > > changes).
> > > > > > >
> > > > > > > At the same time, a subscription filter specifies which
> > > > > > > objects to include as part of a subscription and which not.
> > > > > >
> > > > > > Hmm, which filter are you talking about?  The only XPath
> > > > > > filter I find in the current set of documents is the
> > > > > > "ietf-subscribed-notifications:xpath" filter type (which btw
> > > > > > is sorely underspecified).  Section 2.2 of
> > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > >
> > > > > >    Events which evaluate to "true" as a
> > > > > >    result of the evaluation by the filter must traverse the
> filter in
> > > > > >    their entirety.
> > > > > >
> > > > > > It's not clear what this means, but my guess is that this is
> > > > > > supposed to work like the old RFC 5277 filters, where the
> > > > > > filter expression is evaluated on the notification contents,
> > > > > > and if the expression returns "true" (for XPath filters this
> > > > > > means converting the results to a boolean), then the
> > > > > > notification is sent, otherwise not.
> > > > > >
> > > > > > But it seems you are referring to some other filter which
> > > > > > would be used to select a node set for which changes are
> reported?
> > > > > >
> > > > > > I would like to understand which filter mechanism you mean
> > > > > > before having an opinion in this matter.
> > > > > >
> > > > > >
> > > > > > /martin
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > (Really, it is not
> > > > > > > so much of a "filter" on a stream that is generated
> > > > > > > independently of the filter, than it is a policy of which
> > > > > > > objects to include as part of subscribed update records.)
> > > > > > > However, a subscription filter (such as
> > > > > > > XPath) can be used to also specify a value filter, which
> > > > > > > will include or exclude objects based on their current
> > > > > > > value. This makes it possible to e.g. subscribe to an object
> > > > > > > "foo" but only if its value is 5.
> > > > > > >
> > > > > > > Now, this means that the same object could be included in
> > > > > > > one update, but excluded in another update, due to its value
> > > > > > > no longer meeting the filter criteria.  For example, if
> > > > > > > foo's value changes from 5 to 3 in one cycle, a periodic
> > > > > > > subscription will no longer include foo in its next update.
> > > > > > > The question now concerns how to properly handle this in the
> > > > > > > case of an on-change
> > > subscription.
> > > > > > >
> > > > > > > One possibility concerns reporting the fact that "foo" no
> > > > > > > longer meets the subscription criteria and is no longer
> > > > > > > included in the update record as a "delete" event.  If foo's
> value again becomes "5"
> > > > > > > at a later point in time, that would be reported as a "create"
> > > > > > > event.  If foo's value changes again from 5 at a later point
> > > > > > > in time and then changes back to 3 before the time of the
> > > > > > > update (perhaps because the value changed during the
> > > > > > > dampening interval), it would be reported as another
> > > > > > > "delete" event (without ever reporting a create event).  On
> > > > > > > the other hand, if foo's value changed from 3 to
> > > > > > > 6 and back again, nothing would be reported because it did
> > > > > > > not meet the filter criteria at any point in time.
> > > > > > >
> > > > > > > >From the perspective of the receiver this may make sense if
> > > > > > > >it is synching its copy of the state.  However, from the
> > > > > > > >perspective of the publisher, the object was never created
> > > > > > > >or deleted - only its value changed, and the case when the
> > > > > > > >object was truly created or deleted can no longer be
> > > > > > > >distinguished from the case when its value
> > > > > changed.
> > > > > > > >A "create" simply means "an object now meets a filter
> > > > > > > >criteria, that was not reported in the previous cycle"
> > > > > > > >(which does not mean that the object was actually created -
> > > > > > > >it may have been created, or it may have simply undergone a
> value change).
> > > > > > >
> > > > > > > An alternative (let's call it alternative 2) is therefore to
> > > > > > > make a distinction between whether an object was created or
> > > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > > This appears semantically cleaner.  However, it will require
> > > > > > > modifying the encoding to allow for distinction between
> > > > > > > those cases (currently, just plain patch encoding is used).
> > > > > > >
> > > > > > > A third alternative is to let filters select only data nodes
> > > > > > > to subscribe to, and separate out the value filter (or
> > > > > > > disallow it as a feature altogether).  This alternative has
> > > > > > > the drawback of being less conceptually powerful, even if it
> > > > > > > may be easier to
> > > implement.
> > > > > > >
> > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > --- Alex
> > > > > > >
> > > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Netconf mailing list
> > > > > Netconf@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > >
> >
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--001a1148e4c20e7e1205504cff34
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>Let&#39;s compare to what 5277 alre=
ady has defined.</div><div>I agree with Martin that new functionality shoul=
d be defined with</div><div>new terms and new specs.</div><div><br></div><d=
iv>First, RFC 5277 allows the event-type to be filtered.</div><div>This is =
basic functionality every server should support.</div><div>(e.g., select ne=
tconf-config-change, ignore netconf-session-start)</div><div>This event typ=
e test is not separate from the event content filter.</div><div>Both are bo=
olean tests.</div><div><br></div><div>Notification filters for YANG Push ne=
ed to select the event-types used,</div><div>such as push-change-update.=C2=
=A0 It would be nice if this was handled automatically,</div><div>instead o=
f listing them in the &lt;establish-subscription&gt;.</div><div><br></div><=
div>Traditional notification filters would require that the structure of an=
 event such</div><div>as push-change-update be known to the developer in fu=
ll detail.</div><div>IMO this is a bad approach.=C2=A0 A new filter type th=
at selects data nodes</div><div>would be much better.=C2=A0 The current pro=
posal is easy to under-specify</div><div>and (IMO) nearly impossible for op=
erators to use.</div><div><br></div><div><br></div><div>Andy</div><div><br>=
</div><div><br></div></div><div class=3D"gmail_extra"><br><div class=3D"gma=
il_quote">On Wed, May 24, 2017 at 3:25 PM, Alexander Clemm <span dir=3D"ltr=
">&lt;<a href=3D"mailto:alexander.clemm@huawei.com" target=3D"_blank">alexa=
nder.clemm@huawei.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x">Let me briefly summarize where I think we are. The thread has clearly mo=
ved on from the initial issue of how to distinguish between causes for upda=
tes to no longer include a given data node (because it was deleted, or beca=
use it changed its value to no longer match a filter) to other issues.<br>
<br>
For those other issues, I think there are in fact two separate items that w=
e are trying to discuss at the same time, which are really orthogonal to on=
e another:<br>
<br>
- The first item concerns the concept of a &quot;filter&quot; vs a &quot;se=
lector&quot;.=C2=A0 A filter is what gets specified for any subscription to=
 notifications, which defines which notifications a subscriber wants to rec=
eive.=C2=A0 The filter is applied to the notification as a whole, i.e. eith=
er the notification is delivered or it is not.=C2=A0 It does not apply to s=
ubsets of contents within the notification.=C2=A0 A selector, on the other =
hand, is used to specify updates of which data nodes to include in a YANG-p=
ush subscription.=C2=A0 The same update notification could include updates =
of several data nodes, hence a filter applied to the notification as a whol=
e would be inappropriate here - the semantics is slightly different: as a s=
ubscriber, &quot;of=C2=A0 which data nodes would you like to receive update=
s&quot;, not &quot;which notifications would you like to receive&quot;.<br>
<br>
Filters and selectors can be specified using the same syntax.=C2=A0 We are =
faced with a choice between specifying a single construct as part of a subs=
cription, which is treated as a filter (in case of a &quot;regular&quot; su=
bscription for notification updates) or as a selector (in case of a subscri=
ption to datastore updates) , or having separate objects, i.e. adding a sep=
arate &quot;selector&quot; construct for YANG-push.=C2=A0 Using a single ob=
ject amounts to overloading.=C2=A0 It is more compact but with arguably a m=
ore complex semantics.=C2=A0 Using separate object results in a model that =
is more verbose, but has arguably simpler semantics.<br>
<br>
- The second item concerns the issue of whether the filter/selector constru=
ct has a dynamic type or a static type.=C2=A0 This is where the issue of id=
entity vs case statement etc comes in.=C2=A0 In case of a dynamic type, we =
use two objects:=C2=A0 One object of a generic type (anydata) holds the fil=
ter/selector construct itself, the second object specifies how to interpret=
 it, i.e. which type it is.=C2=A0 (In case of &quot;overloading, we can als=
o make explicit the distinction whether it is a filter or a selector).=C2=
=A0 That second object is an identityref, referencing one of the identities=
 that designates the filter/selector type.=C2=A0 In case of a static type, =
we use a case statement (to distinguish which specific type it is).<br>
<br>
The argument that Eric is making is that we should have a single overloaded=
 object that can serve as a filter or a selector depending on the context a=
nd whether it is used in a notification subscription or a YANG-push subscri=
ption, and that we use a dynamic type including an identityref that indicat=
es whether the object serves as a selector or a filter.=C2=A0 From my persp=
ective, I feel that not overloading may be conceptually a bit &quot;cleaner=
&quot;, but at the end of the day I am fine either way.=C2=A0 And I am not =
entirely sure, Martin, what you are proposing.=C2=A0 Either way, we should =
document the issue and our choice clearly.<br>
<br>
--- Alex<br>
<br>
<br>
-----Original Message-----<br>
From: Martin Bjorklund [mailto:<a href=3D"mailto:mbj@tail-f.com">mbj@tail-f=
.com</a>]<br>
Sent: Wednesday, May 24, 2017 12:36 AM<br>
To: <a href=3D"mailto:evoit@cisco.com">evoit@cisco.com</a><br>
Cc: Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@huawei.com">alexa=
nder.clemm@huawei.com</a>&gt;; <a href=3D"mailto:netconf@ietf.org">netconf@=
ietf.org</a><br>
Subject: Re: [Netconf] In an update, when is a delete a delete?<br>
<br>
&quot;Eric Voit (evoit)&quot; &lt;<a href=3D"mailto:evoit@cisco.com">evoit@=
cisco.com</a>&gt; wrote:<br>
&gt; &gt; From: Martin Bjorklund, May 23, 2017 1:57 PM<br>
&gt; &gt;<br>
&gt; &gt; &quot;Eric Voit (evoit)&quot; &lt;<a href=3D"mailto:evoit@cisco.c=
om">evoit@cisco.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; Martin Bjorklund, May 22, 2017 3:30 PM<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Alexander Clemm &lt;<a href=3D"mailto:alexander.clemm@h=
uawei.com">alexander.clemm@huawei.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hi Martin,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Almost overlooked your question below.=C2=A0 What =
is meant by the<br>
&gt; &gt; &gt; &gt; &gt; filter is specified in section 3.5 of the YANG-Pus=
h document.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &quot;Only a single filter can be applied to a sub=
scription at a time.<br>
&gt; &gt; &gt; &gt; &gt; The following filter types are included in the yan=
g-push data model:<br>
&gt; &gt; &gt; &gt; &gt; [subtree] [xpath]&quot;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Actually, only &quot;subtree&quot; is defined in yang-p=
ush, &quot;xpath&quot; is<br>
&gt; &gt; &gt; &gt; defined in subscribed-notifications.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; At the top of yang-push page 7, xpath selection is described=
.=C2=A0 Is<br>
&gt; &gt; &gt; there something you feel missing?<br>
&gt; &gt;<br>
&gt; &gt; Yes.=C2=A0 First of all, the YANG module defines an identity call=
ed<br>
&gt; &gt; &quot;xpath&quot;, based on &quot;sn:filter&quot;.=C2=A0 So this =
filter has nothing to do<br>
&gt; &gt; with selecting nodes in a datastore; this filter is used to match=
<br>
&gt; &gt; against a generated notification record.<br>
&gt;<br>
&gt; To address this we could split the xpath identity into two types:<br>
&gt; &quot;xpath-selection&quot; and &quot;xpath-boolean&quot;.=C2=A0 These=
 would have different<br>
&gt; definitions, but both reference<br>
&gt; <a href=3D"http://www.w3.org/TR/1999/REC-xpath-19991116" rel=3D"norefe=
rrer" target=3D"_blank">http://www.w3.org/TR/1999/REC-<wbr>xpath-19991116</=
a> .=C2=A0 The difference is that<br>
&gt; one results in a xpath node-set expression, and the other an xpath<br>
&gt; Boolean expression.=C2=A0 Make sense?<br>
<br>
Not really.=C2=A0 In subscribed-notifications you have defined a generic fi=
lter mechanism, that is used to block/allow the sending of generated notifi=
cations to a subscriber.=C2=A0 This filter mechanism cannot be used to sele=
ct nodes to subscribe to for changes in a datastore.=C2=A0 You need to defi=
ne a separate mechansim for that in yang-push.=C2=A0 (Maybe not even call i=
t &quot;filter&quot;, but perhaps &quot;selection&quot;).<br>
<br>
Some comments on subscribed-notifications: This generic mechanism allows va=
rious filter syntaxes.=C2=A0 This generic mechanism needs to explain what i=
s required by a filter syntax definition (an identity, evaluation rules).=
=C2=A0 In section 2.2 the document says that two filter syntaxes are suppor=
ted, but only one is defined (xpath).=C2=A0 It needs to explain that a filt=
er is supposed to return true or false (this part RFC 5277 got right, see s=
ection 3.6).=C2=A0 Also, the current module has the filter in an anyxml nod=
e; it is not clear how an XPath expression is encoded in anyxml.<br>
<br>
&gt; &gt; Second, the XPath filter is sorely underspecified.=C2=A0 The XPat=
h<br>
&gt; &gt; context is not described,<br>
&gt;<br>
&gt; I understand and agree on your comment about the context.=C2=A0 The in=
tent<br>
&gt; here is to provide equivalent capabilities of a GET.<br>
<br>
I understand that.<br>
<br>
&gt; As it would be a<br>
&gt; huge undertaking to try to consolidate an industry-wide view of the<br=
>
&gt; minimal xpath syntax and capabilities in networking<br>
<br>
Ehh... yes?=C2=A0 What does this have to do with specifiying the XPath cont=
ext?<br>
<br>
&gt; , I am hoping this<br>
&gt; doesn&#39;t fall under the umbrella of YANG subscription.=C2=A0 I woul=
d be glad<br>
&gt; to support someone who wishes to take this up though.<br>
&gt;<br>
&gt; &gt; the expected result data type is not defined, and it is not<br>
&gt; &gt; described how the result is supposed to be used.<br>
&gt;<br>
&gt; As for the result, the anydata output should be provided to the<br>
&gt; subscriber (with appropriate security applied).<br>
<br>
I was referring to the output of the filter evaluation.<br>
<br>
&gt; They can determine<br>
&gt; how to use it.=C2=A0 The preferred embodiment would be to maintain a l=
ocal<br>
&gt; extract of the Publisher&#39;s datastore (as defined by the filter).<b=
r>
&gt;<br>
&gt; &gt; &gt; &gt;=C2=A0 [Side note - I think this is wrong, subscribed-no=
tifications<br>
&gt; &gt; &gt; &gt; should also define &quot;subtree&quot;.]<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; But these filters are used by the server to decide if a=
 certain<br>
&gt; &gt; &gt; &gt; notification that has been generated will be sent to th=
e client<br>
&gt; &gt; &gt; &gt; or not.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Yes, the filters in subscribed-notification are supposed to =
give a<br>
&gt; &gt; &gt; boolean indication as to whether a specific event should tra=
verse<br>
&gt; &gt; &gt; the filter in its entirety. RFC6241 section 6 subtree filter=
s are<br>
&gt; &gt; &gt; written to provide a subset of content.=C2=A0 I suppose it w=
ould be<br>
&gt; &gt; &gt; possible to define an event-based subtree-filter-type where =
a<br>
&gt; &gt; &gt; non-null result of the subtree filter means that a particula=
r<br>
&gt; &gt; &gt; event should traverse that filter.=C2=A0 Is this what you ar=
e suggesting?<br>
&gt; &gt;<br>
&gt; &gt; Yes.=C2=A0 Note that this is already provided by RFC 5277, and I =
have<br>
&gt; &gt; always assumed that this new work will provide at least the same<=
br>
&gt; &gt; functions as RFC<br>
&gt; &gt; 5277 (and more).=C2=A0 (But note that the XPath filter is undersp=
ecified<br>
&gt; &gt; also in RFC<br>
&gt; &gt; 5277...)<br>
&gt;<br>
&gt; I also want to make sure that a non-null result from a filter allows<b=
r>
&gt; the event to pass.=C2=A0 I suspect that an xpath Boolean filter could =
be<br>
&gt; designed to do this, but I will tweak the subscribed-notifications<br>
&gt; text so that unnecessary filtering expression complexity is not<br>
&gt; artificially required.<br>
<br>
Please make sure you understand how subtree filters and XPath filters work =
in RFC 5277.=C2=A0 There is nothing wrong with that functionality.<br>
<br>
&gt; &gt; &gt; &gt; If you want to define filters to specifify which nodes =
to<br>
&gt; &gt; &gt; &gt; subscribe to, I think you need to define new filters, n=
ot try to<br>
&gt; &gt; &gt; &gt; reuese these notification filters.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Filtering syntax is hard, so we have been trying to adopt wh=
atever<br>
&gt; &gt; &gt; is available for GET.=C2=A0 This way we don&#39;t have to ed=
ucate users on<br>
&gt; &gt; &gt; a new universe of what is possible.=C2=A0 I fully expect tha=
t lots of<br>
&gt; &gt; &gt; learnings are going to come in the industry here over time, =
and<br>
&gt; &gt; &gt; this will be revisited in the future.<br>
&gt; &gt;<br>
&gt; &gt; ?<br>
&gt; &gt;<br>
&gt; &gt; I am not proposing any new filter syntax.=C2=A0 I am saying that =
the<br>
&gt; &gt; current filter nodes as defined in subscribed-notification cannot=
 be<br>
&gt; &gt; used to select nodes to subscribe to for changes.<br>
&gt;<br>
&gt; Understand.=C2=A0 Hopefully with the &quot;xpath-selection&quot; chang=
e proposed<br>
&gt; above, this will be covered.<br>
<br>
No, see above.<br>
<br>
<br>
/martin<br>
<br>
<br>
<br>
&gt;<br>
&gt; Eric<br>
&gt;<br>
&gt; &gt; &gt; &gt; As for your question, I think such a filter should be d=
efined to<br>
&gt; &gt; &gt; &gt; return a node- set to which the client subscribe to cha=
nges.=C2=A0 If<br>
&gt; &gt; &gt; &gt; any node (or subnode<br>
&gt; &gt; &gt; &gt; to) in<br>
&gt; &gt; &gt; &gt; this node-set changes, the notif will be sent.=C2=A0 Th=
en the<br>
&gt; &gt; &gt; &gt; question about value comparision is not relevant anymor=
e.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Excellent, on-change should only send an update if the resul=
ts of<br>
&gt; &gt; &gt; the subscription filter have changed since the previous push=
.=C2=A0 It<br>
&gt; &gt; &gt; is quite possible that an object has been created and then d=
eleted<br>
&gt; &gt; &gt; since the last push.<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t understand what you&#39;re trying to say with these s=
entences<br>
&gt; &gt; (but since the first word was &quot;Excellent&quot; maybe it&#39;=
s ok ;)<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; /martin<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; Representing this was the genesis of Alex&#39;s question.<br=
>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Eric<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; /martin<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; In effect, the filter specifies which data nodes t=
o consider<br>
&gt; &gt; &gt; &gt; &gt; when sending updates.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; ---Alex<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; -----Original Message-----<br>
&gt; &gt; &gt; &gt; &gt; From: Martin Bjorklund [mailto:<a href=3D"mailto:m=
bj@tail-f.com">mbj@tail-f.com</a>]<br>
&gt; &gt; &gt; &gt; &gt; Sent: Wednesday, May 17, 2017 11:50 PM<br>
&gt; &gt; &gt; &gt; &gt; To: Alexander Clemm &lt;<a href=3D"mailto:alexande=
r.clemm@huawei.com">alexander.clemm@huawei.com</a>&gt;<br>
&gt; &gt; &gt; &gt; &gt; Cc: <a href=3D"mailto:netconf@ietf.org">netconf@ie=
tf.org</a><br>
&gt; &gt; &gt; &gt; &gt; Subject: Re: [Netconf] In an update, when is a del=
ete a delete?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Alexander Clemm &lt;<a href=3D"mailto:alexander.cl=
emm@huawei.com">alexander.clemm@huawei.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; Hello all,<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; In updating the YANG-Push document<br>
&gt; &gt; &gt; &gt; &gt; &gt; (draft-ietf-netconf-yang-push)<wbr>, we have =
come across one<br>
&gt; &gt; &gt; &gt; &gt; &gt; issue that we wanted to raise with the workin=
g group.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; As part of an on-change subscription, update =
records reflect<br>
&gt; &gt; &gt; &gt; &gt; &gt; the type of change (e.g. whether the value of=
 an object has<br>
&gt; &gt; &gt; &gt; &gt; &gt; changed, or whether an object was created or =
deleted); a<br>
&gt; &gt; &gt; &gt; &gt; &gt; subscription allows also to specify whether i=
nterested only<br>
&gt; &gt; &gt; &gt; &gt; &gt; in specific types of changes (for example, on=
ly creates and<br>
&gt; &gt; &gt; &gt; &gt; &gt; deleted but no value<br>
&gt; &gt; changes).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; At the same time, a subscription filter speci=
fies which<br>
&gt; &gt; &gt; &gt; &gt; &gt; objects to include as part of a subscription =
and which not.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; Hmm, which filter are you talking about?=C2=A0 The=
 only XPath<br>
&gt; &gt; &gt; &gt; &gt; filter I find in the current set of documents is t=
he<br>
&gt; &gt; &gt; &gt; &gt; &quot;ietf-subscribed-<wbr>notifications:xpath&quo=
t; filter type (which btw<br>
&gt; &gt; &gt; &gt; &gt; is sorely underspecified).=C2=A0 Section 2.2 of<br=
>
&gt; &gt; &gt; &gt; &gt; draft-ietf-netconf-subscribed-<wbr>notifications-0=
2 says:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 Events which evaluate to &quot;true&q=
uot; as a<br>
&gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 result of the evaluation by the filte=
r must traverse the filter in<br>
&gt; &gt; &gt; &gt; &gt;=C2=A0 =C2=A0 their entirety.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; It&#39;s not clear what this means, but my guess i=
s that this is<br>
&gt; &gt; &gt; &gt; &gt; supposed to work like the old RFC 5277 filters, wh=
ere the<br>
&gt; &gt; &gt; &gt; &gt; filter expression is evaluated on the notification=
 contents,<br>
&gt; &gt; &gt; &gt; &gt; and if the expression returns &quot;true&quot; (fo=
r XPath filters this<br>
&gt; &gt; &gt; &gt; &gt; means converting the results to a boolean), then t=
he<br>
&gt; &gt; &gt; &gt; &gt; notification is sent, otherwise not.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; But it seems you are referring to some other filte=
r which<br>
&gt; &gt; &gt; &gt; &gt; would be used to select a node set for which chang=
es are reported?<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; I would like to understand which filter mechanism =
you mean<br>
&gt; &gt; &gt; &gt; &gt; before having an opinion in this matter.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; /martin<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; (Really, it is not<br>
&gt; &gt; &gt; &gt; &gt; &gt; so much of a &quot;filter&quot; on a stream t=
hat is generated<br>
&gt; &gt; &gt; &gt; &gt; &gt; independently of the filter, than it is a pol=
icy of which<br>
&gt; &gt; &gt; &gt; &gt; &gt; objects to include as part of subscribed upda=
te records.)<br>
&gt; &gt; &gt; &gt; &gt; &gt; However, a subscription filter (such as<br>
&gt; &gt; &gt; &gt; &gt; &gt; XPath) can be used to also specify a value fi=
lter, which<br>
&gt; &gt; &gt; &gt; &gt; &gt; will include or exclude objects based on thei=
r current<br>
&gt; &gt; &gt; &gt; &gt; &gt; value. This makes it possible to e.g. subscri=
be to an object<br>
&gt; &gt; &gt; &gt; &gt; &gt; &quot;foo&quot; but only if its value is 5.<b=
r>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Now, this means that the same object could be=
 included in<br>
&gt; &gt; &gt; &gt; &gt; &gt; one update, but excluded in another update, d=
ue to its value<br>
&gt; &gt; &gt; &gt; &gt; &gt; no longer meeting the filter criteria.=C2=A0 =
For example, if<br>
&gt; &gt; &gt; &gt; &gt; &gt; foo&#39;s value changes from 5 to 3 in one cy=
cle, a periodic<br>
&gt; &gt; &gt; &gt; &gt; &gt; subscription will no longer include foo in it=
s next update.<br>
&gt; &gt; &gt; &gt; &gt; &gt; The question now concerns how to properly han=
dle this in the<br>
&gt; &gt; &gt; &gt; &gt; &gt; case of an on-change<br>
&gt; &gt; subscription.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; One possibility concerns reporting the fact t=
hat &quot;foo&quot; no<br>
&gt; &gt; &gt; &gt; &gt; &gt; longer meets the subscription criteria and is=
 no longer<br>
&gt; &gt; &gt; &gt; &gt; &gt; included in the update record as a &quot;dele=
te&quot; event.=C2=A0 If foo&#39;s value again becomes &quot;5&quot;<br>
&gt; &gt; &gt; &gt; &gt; &gt; at a later point in time, that would be repor=
ted as a &quot;create&quot;<br>
&gt; &gt; &gt; &gt; &gt; &gt; event.=C2=A0 If foo&#39;s value changes again=
 from 5 at a later point<br>
&gt; &gt; &gt; &gt; &gt; &gt; in time and then changes back to 3 before the=
 time of the<br>
&gt; &gt; &gt; &gt; &gt; &gt; update (perhaps because the value changed dur=
ing the<br>
&gt; &gt; &gt; &gt; &gt; &gt; dampening interval), it would be reported as =
another<br>
&gt; &gt; &gt; &gt; &gt; &gt; &quot;delete&quot; event (without ever report=
ing a create event).=C2=A0 On<br>
&gt; &gt; &gt; &gt; &gt; &gt; the other hand, if foo&#39;s value changed fr=
om 3 to<br>
&gt; &gt; &gt; &gt; &gt; &gt; 6 and back again, nothing would be reported b=
ecause it did<br>
&gt; &gt; &gt; &gt; &gt; &gt; not meet the filter criteria at any point in =
time.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;From the perspective of the receiver this=
 may make sense if<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;it is synching its copy of the state.=C2=
=A0 However, from the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;perspective of the publisher, the object =
was never created<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;or deleted - only its value changed, and =
the case when the<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;object was truly created or deleted can n=
o longer be<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;distinguished from the case when its valu=
e<br>
&gt; &gt; &gt; &gt; changed.<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;A &quot;create&quot; simply means &quot;a=
n object now meets a filter<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;criteria, that was not reported in the pr=
evious cycle&quot;<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;(which does not mean that the object was =
actually created -<br>
&gt; &gt; &gt; &gt; &gt; &gt; &gt;it may have been created, or it may have =
simply undergone a value change).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; An alternative (let&#39;s call it alternative=
 2) is therefore to<br>
&gt; &gt; &gt; &gt; &gt; &gt; make a distinction between whether an object =
was created or<br>
&gt; &gt; &gt; &gt; &gt; &gt; deleted, or whether its value fell in or out =
of a filter range.<br>
&gt; &gt; &gt; &gt; &gt; &gt; This appears semantically cleaner.=C2=A0 Howe=
ver, it will require<br>
&gt; &gt; &gt; &gt; &gt; &gt; modifying the encoding to allow for distincti=
on between<br>
&gt; &gt; &gt; &gt; &gt; &gt; those cases (currently, just plain patch enco=
ding is used).<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; A third alternative is to let filters select =
only data nodes<br>
&gt; &gt; &gt; &gt; &gt; &gt; to subscribe to, and separate out the value f=
ilter (or<br>
&gt; &gt; &gt; &gt; &gt; &gt; disallow it as a feature altogether).=C2=A0 T=
his alternative has<br>
&gt; &gt; &gt; &gt; &gt; &gt; the drawback of being less conceptually power=
ful, even if it<br>
&gt; &gt; &gt; &gt; &gt; &gt; may be easier to<br>
&gt; &gt; implement.<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt; Thoughts?=C2=A0 Any preferences between 1, 2,=
 and 3?<br>
&gt; &gt; &gt; &gt; &gt; &gt; --- Alex<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; ______________________________<wbr>_________________<br=
>
&gt; &gt; &gt; &gt; Netconf mailing list<br>
&gt; &gt; &gt; &gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a=
><br>
&gt; &gt; &gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netcon=
f" rel=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mailman/<wbr>l=
istinfo/netconf</a><br>
&gt; &gt; &gt;<br>
&gt;<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</blockquote></div><br></div>

--001a1148e4c20e7e1205504cff34--


From nobody Wed May 24 16:23:49 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EAE1712944C for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 16:23:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uFCq4yT0-gZr for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 16:23:46 -0700 (PDT)
Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1324D12751F for <netconf@ietf.org>; Wed, 24 May 2017 16:23:46 -0700 (PDT)
Received: by mail-wm0-x235.google.com with SMTP id d127so81558282wmf.0 for <netconf@ietf.org>; Wed, 24 May 2017 16:23:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=q+t/paWapexOyc2uMG5aHS+LXXniruPHTQqM0T96AoE=; b=iIJDJS7nqEis6U+34t5T9eqWC8n/dIKv5F2WOczArKiA0inheCjKDgAI+ckTk+FVkY wXXG4aeDmN1vbQBWd22WZ1zQytjQ26cKTOfCzXABqLyBYaH8nb/ycFEAR9rmFeggO20d y9AONd+ChKqfeSmqdRsypAvex1RtEi3ffVeiUTA5mTLssWp7N4sI/7KAW9gvE3bC4Epl 22CL82N6e0aNuvPoeTBU+sgwK75kNIpm+Vt2pvE6zQh3vC4MWrxKahrQyBIpC1dkQUMa Ou7cE9z3x6Z10JT0A/lfn8YXUFzUEsVP3kTUxIvQPRlOox1PnwcPL+PCsqDQqjHhu+PW VFDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=q+t/paWapexOyc2uMG5aHS+LXXniruPHTQqM0T96AoE=; b=AZ7vYdSmFmL/2/8gek3tK85GH/pz+uhFSLTQFgVknuvqd4jaPcmukdepJW/Se3kCDd dP9FDtMlBiyJxT3SfrvPd4hKFiAY2Y+xIofMOygRLiXIWyikioWJ0PGI9MxeOvyggRld vowgW6ZCWVPRmSF8ur3JPon1Vp/mc+1C79aECemsX+/q7J26x6RkHcqm2qA7H1eM8w3Q dHh8DDgDrV9etCh9z8/7kIlIEXYMD+MlUa/776ZKUJJrQNO04pKDGuyLDwLd9bVa7+iJ hCCVRJRV9X777CYf/D7lAwrczKIsFDfkp1I0eYpVN+6rKxoJYAHCL2ujGOZut/jLjkPf fqBw==
X-Gm-Message-State: AODbwcCGIQwjRQXcCEUZhPb4cbiUZCB8NvFUR1ZO4poMvFn+NiTv/eHX LU0RDjhFConi1FkUy03CsNu1tCg9I6XQF3k=
X-Received: by 10.28.213.213 with SMTP id m204mr8254769wmg.48.1495668224341; Wed, 24 May 2017 16:23:44 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 24 May 2017 16:23:43 -0700 (PDT)
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 24 May 2017 16:23:43 -0700
Message-ID: <CABCOCHTkTBAqeLew50Hhy6TYCTVT0vNDqq8Yhx1w2XtZkbEK6g@mail.gmail.com>
To: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a1147462636cdbe05504d6503"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/2qMNUJck5XFEpax5m6YJwtIWL1w>
Subject: [Netconf] YANG Push: datastore-contents
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 May 2017 23:23:48 -0000

--001a1147462636cdbe05504d6503
Content-Type: text/plain; charset="UTF-8"

Hi,

The "anydata" definitions of <datastore-contents> in the
push-update and push-change-update are under-specified.
I do not see how any interoperability can be achived using
an opaque blob for the updates.

This is demonstrated in the examples on page 9 - 10.


             <datastore-contents>
                <foo>
                   <bar>some_string</bar>
                </foo>
             </datastore-contents>


             <datastore-changes>
               <alpha xmlns="http://example.com/sample-data/1.0" >
                 <beta>1500</beta>
               </alpha>
             </datastore-changes>


             <datastore-changes>
               {
                "ietf-yang-patch:yang-patch": {
                "patch-id": [
                  null
                ],
                "edit": [
                  {
                      "edit-id": "edit1",
                      "operation": "merge",
                      "target": "/alpha/beta",
                      "value": {
                          "beta": 1500
                      }
                  }
                ]
               }
             }
             </datastore-changes>



The JSON encoding is completely unacceptable.
IMO JSON encoding should be removed from this draft.
Encoding the contents of 1 specific <anydata>
as JSON is a real hack.

Note also that there is no specification to encode
a single <yang-patch> element within the <datastore-changes>
anydata container.  The same anydata node is used for a subtree
and a YANG patch.


Andy

--001a1147462636cdbe05504d6503
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>The &quot;anydata&quot; definitions=
 of &lt;datastore-contents&gt; in the</div><div>push-update and push-change=
-update are under-specified.</div><div>I do not see how any interoperabilit=
y can be achived using</div><div>an opaque blob for the updates.</div><div>=
<br></div><div>This is demonstrated in the examples on page 9 - 10.</div><d=
iv><br></div><div><br></div><div><pre style=3D"color:rgb(0,0,0);word-wrap:b=
reak-word;white-space:pre-wrap">             &lt;datastore-contents&gt;
                &lt;foo&gt;
                   &lt;bar&gt;some_string&lt;/bar&gt;
                &lt;/foo&gt;
             &lt;/datastore-contents&gt;</pre><pre style=3D"color:rgb(0,0,0=
);word-wrap:break-word;white-space:pre-wrap"><br></pre><pre style=3D"word-w=
rap:break-word"><pre style=3D"color:rgb(0,0,0);white-space:pre-wrap;word-wr=
ap:break-word">             &lt;datastore-changes&gt;
               &lt;alpha xmlns=3D&quot;<a href=3D"http://example.com/sample=
-data/1.0">http://example.com/sample-data/1.0</a>&quot; &gt;
                 &lt;beta&gt;1500&lt;/beta&gt;
               &lt;/alpha&gt;
             &lt;/datastore-changes&gt;</pre><pre style=3D"color:rgb(0,0,0)=
;white-space:pre-wrap;word-wrap:break-word"><br></pre><pre style=3D"color:r=
gb(0,0,0);white-space:pre-wrap;word-wrap:break-word">             &lt;datas=
tore-changes&gt;
               {
                &quot;ietf-yang-patch:yang-patch&quot;: {
                &quot;patch-id&quot;: [
                  null
                ],
                &quot;edit&quot;: [
                  {
                      &quot;edit-id&quot;: &quot;edit1&quot;,
                      &quot;operation&quot;: &quot;merge&quot;,
                      &quot;target&quot;: &quot;/alpha/beta&quot;,
                      &quot;value&quot;: {
                          &quot;beta&quot;: 1500
                      }
                  }
                ]
               }
             }
             &lt;/datastore-changes&gt;</pre><pre style=3D"color:rgb(0,0,0)=
;white-space:pre-wrap;word-wrap:break-word"><br></pre><pre style=3D"color:r=
gb(0,0,0);white-space:pre-wrap;word-wrap:break-word"><br></pre>The JSON enc=
oding is completely unacceptable.<br>IMO JSON encoding should be removed fr=
om this draft.<br>Encoding the contents of 1 specific &lt;anydata&gt;<br>as=
 JSON is a real hack.<br></pre>Note also that there is no specification to =
encode<br>a single &lt;yang-patch&gt; element within the &lt;datastore-chan=
ges&gt;<br>anydata container.=C2=A0 The same anydata node is used for a sub=
tree</div><div>and a YANG patch.<br><pre style=3D"word-wrap:break-word"><fo=
nt color=3D"#000000"><span style=3D"white-space:pre-wrap"><br></span></font=
></pre><pre style=3D"word-wrap:break-word"><font color=3D"#000000"><span st=
yle=3D"white-space:pre-wrap">Andy</span></font></pre><pre style=3D"word-wra=
p:break-word"><font color=3D"#000000"><span style=3D"white-space:pre-wrap">=
<br></span></font></pre></div></div>

--001a1147462636cdbe05504d6503--


From nobody Wed May 24 17:40:19 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C05451200C5 for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 17:40:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ru6LJu0T587q for <netconf@ietfa.amsl.com>; Wed, 24 May 2017 17:40:13 -0700 (PDT)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 33E5C129427 for <netconf@ietf.org>; Wed, 24 May 2017 17:40:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=88242; q=dns/txt; s=iport; t=1495672813; x=1496882413; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=JeUKjpKq6+jr7+tcBXaW+RjPk6shScGCaezLlyV9R5w=; b=hdwW3/zC4wGui4wL/1eibC3Dc7dPeAyypmzh5CZ44VuJzmbwGLtd+Oz4 GpiYGYRLUJEk0zR3WWh8C+wT1oz1tLYVOsftbmVCo1/lv+9jJn3/FFiEn CCAwOA/r7dW8kMIe7Y5OS9o2th43DooWJ74SGyPcpYi4MIdkCyvwFk+jA 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BdAQCDJyZZ/5xdJa1TAQkZAQEBAQEBA?= =?us-ascii?q?QEBAQEHAQEBAQGCbjwrYjEBWgeDaIoYkVyVd4IMAyEBCoUuSgIaglk/GAECAQE?= =?us-ascii?q?BAQEBAWsohRgBAQEBAgEBARgBCApBCwUHBAIBCBEEAQEBDAETAQYDAgICJQsUC?= =?us-ascii?q?QgCBAENBQiKFggOri2CJotSAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYZfhEY0hDQ?= =?us-ascii?q?IAREtH4JcgmAFlnmHKgGTHoIPhTyKNYkBi0wBHzg/S3EVRoR3HIFjdog1gQ0BA?= =?us-ascii?q?QE?=
X-IronPort-AV: E=Sophos;i="5.38,389,1491264000";  d="scan'208,217";a="247682466"
Received: from rcdn-core-5.cisco.com ([173.37.93.156]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 May 2017 00:40:10 +0000
Received: from XCH-RTP-013.cisco.com (xch-rtp-013.cisco.com [64.101.220.153]) by rcdn-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id v4P0eAEu001920 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 25 May 2017 00:40:10 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-013.cisco.com (64.101.220.153) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Wed, 24 May 2017 20:40:10 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Wed, 24 May 2017 20:40:09 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Andy Bierman <andy@yumaworks.com>, Alexander Clemm <alexander.clemm@huawei.com>
CC: Martin Bjorklund <mbj@tail-f.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesAAcMVmAAB8SZAAAAQmwgAAGxH+g
Date: Thu, 25 May 2017 00:40:09 +0000
Message-ID: <47461c951d934b399c6ae58c3bb731b3@XCH-RTP-013.cisco.com>
References: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com> <CABCOCHQhje=Eat-mHOjZi0Dk4yek0+meXyXMv2m0xVG-wH2WxA@mail.gmail.com>
In-Reply-To: <CABCOCHQhje=Eat-mHOjZi0Dk4yek0+meXyXMv2m0xVG-wH2WxA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: multipart/alternative; boundary="_000_47461c951d934b399c6ae58c3bb731b3XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/5jr10Kw36JXHt6hihNbXw8xTvSk>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 00:40:18 -0000

--_000_47461c951d934b399c6ae58c3bb731b3XCHRTP013ciscocom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwgQWxleCwgJiBNYXJ0aW4sDQoNCkZyb206IEFuZHkgQmllcm1hbiwgTWF5IDI0LCAy
MDE3IDY6NTUgUE0NCg0KSGksDQoNCkxldCdzIGNvbXBhcmUgdG8gd2hhdCA1Mjc3IGFscmVhZHkg
aGFzIGRlZmluZWQuDQpJIGFncmVlIHdpdGggTWFydGluIHRoYXQgbmV3IGZ1bmN0aW9uYWxpdHkg
c2hvdWxkIGJlIGRlZmluZWQgd2l0aA0KbmV3IHRlcm1zIGFuZCBuZXcgc3BlY3MuDQoNCkZpcnN0
LCBSRkMgNTI3NyBhbGxvd3MgdGhlIGV2ZW50LXR5cGUgdG8gYmUgZmlsdGVyZWQuDQpUaGlzIGlz
IGJhc2ljIGZ1bmN0aW9uYWxpdHkgZXZlcnkgc2VydmVyIHNob3VsZCBzdXBwb3J0Lg0KKGUuZy4s
IHNlbGVjdCBuZXRjb25mLWNvbmZpZy1jaGFuZ2UsIGlnbm9yZSBuZXRjb25mLXNlc3Npb24tc3Rh
cnQpDQpUaGlzIGV2ZW50IHR5cGUgdGVzdCBpcyBub3Qgc2VwYXJhdGUgZnJvbSB0aGUgZXZlbnQg
Y29udGVudCBmaWx0ZXIuDQpCb3RoIGFyZSBib29sZWFuIHRlc3RzLg0KDQo8ZXJpYz4gQWdyZWUg
dGhhdCBldmVudCB0ZXN0cyBvZiBib3RoIGJvb2xlYW4gYW5kIHNlbGVjdGlvbiBhcmUgbmVlZGVk
IChsaWtlIFJGQy01Mjc3KSwgYW5kIHRoYXQgYm90aCBtYXkgYWxsb3cgZXZlbnRzIHRvIHBhc3Mu
ICBJIGhhdmUgYSBwcm9wb3NhbCBmb3Igc29tZSB0ZXh0IHRvIGNvdmVyIHRoaXMgYmVsb3cgKHNl
ZSBncmVlbikuDQoNCk5vdGlmaWNhdGlvbiBmaWx0ZXJzIGZvciBZQU5HIFB1c2ggbmVlZCB0byBz
ZWxlY3QgdGhlIGV2ZW50LXR5cGVzIHVzZWQsDQpzdWNoIGFzIHB1c2gtY2hhbmdlLXVwZGF0ZS4g
IEl0IHdvdWxkIGJlIG5pY2UgaWYgdGhpcyB3YXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5LA0KaW5z
dGVhZCBvZiBsaXN0aW5nIHRoZW0gaW4gdGhlIDxlc3RhYmxpc2gtc3Vic2NyaXB0aW9uPi4NCg0K
PGV2b2l0PiBFaXRoZXIgeW91IHByb3ZpZGUgYSBzdHJlYW0gb3IgYSBkYXRhc3RvcmUgYXMgYSB0
YXJnZXQgZm9yIHRoZSBmaWx0ZXIuICBFdmVuIHRoZW4sIGEgZmlsdGVyLXR5cGUgcmVtYWlucyBu
ZWVkZWQgdG8gZGVjb2RlIHRoZSBzeW50YXggb2YgdGhlIGZpbHRlciBhbnl4bWwuDQoNClRyYWRp
dGlvbmFsIG5vdGlmaWNhdGlvbiBmaWx0ZXJzIHdvdWxkIHJlcXVpcmUgdGhhdCB0aGUgc3RydWN0
dXJlIG9mIGFuIGV2ZW50IHN1Y2gNCmFzIHB1c2gtY2hhbmdlLXVwZGF0ZSBiZSBrbm93biB0byB0
aGUgZGV2ZWxvcGVyIGluIGZ1bGwgZGV0YWlsLg0KSU1PIHRoaXMgaXMgYSBiYWQgYXBwcm9hY2gu
ICBBIG5ldyBmaWx0ZXIgdHlwZSB0aGF0IHNlbGVjdHMgZGF0YSBub2Rlcw0Kd291bGQgYmUgbXVj
aCBiZXR0ZXIuICBUaGUgY3VycmVudCBwcm9wb3NhbCBpcyBlYXN5IHRvIHVuZGVyLXNwZWNpZnkN
CmFuZCAoSU1PKSBuZWFybHkgaW1wb3NzaWJsZSBmb3Igb3BlcmF0b3JzIHRvIHVzZS4NCg0KPGV2
b2l0PiBBZ3JlZSB0aGF0IGEgc3VidHJlZSBmaWx0ZXIgZm9yIGV2ZW50cyBpcyBuZWVkZWQuDQoN
CkFuZHkNCg0KDQoNCk9uIFdlZCwgTWF5IDI0LCAyMDE3IGF0IDM6MjUgUE0sIEFsZXhhbmRlciBD
bGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb208bWFpbHRvOmFsZXhhbmRlci5jbGVtbUBo
dWF3ZWkuY29tPj4gd3JvdGU6DQpMZXQgbWUgYnJpZWZseSBzdW1tYXJpemUgd2hlcmUgSSB0aGlu
ayB3ZSBhcmUuIFRoZSB0aHJlYWQgaGFzIGNsZWFybHkgbW92ZWQgb24gZnJvbSB0aGUgaW5pdGlh
bCBpc3N1ZSBvZiBob3cgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjYXVzZXMgZm9yIHVwZGF0ZXMg
dG8gbm8gbG9uZ2VyIGluY2x1ZGUgYSBnaXZlbiBkYXRhIG5vZGUgKGJlY2F1c2UgaXQgd2FzIGRl
bGV0ZWQsIG9yIGJlY2F1c2UgaXQgY2hhbmdlZCBpdHMgdmFsdWUgdG8gbm8gbG9uZ2VyIG1hdGNo
IGEgZmlsdGVyKSB0byBvdGhlciBpc3N1ZXMuDQoNCkZvciB0aG9zZSBvdGhlciBpc3N1ZXMsIEkg
dGhpbmsgdGhlcmUgYXJlIGluIGZhY3QgdHdvIHNlcGFyYXRlIGl0ZW1zIHRoYXQgd2UgYXJlIHRy
eWluZyB0byBkaXNjdXNzIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWNoIGFyZSByZWFsbHkgb3J0aG9n
b25hbCB0byBvbmUgYW5vdGhlcjoNCg0KLSBUaGUgZmlyc3QgaXRlbSBjb25jZXJucyB0aGUgY29u
Y2VwdCBvZiBhICJmaWx0ZXIiIHZzIGEgInNlbGVjdG9yIi4gIEEgZmlsdGVyIGlzIHdoYXQgZ2V0
cyBzcGVjaWZpZWQgZm9yIGFueSBzdWJzY3JpcHRpb24gdG8gbm90aWZpY2F0aW9ucywgd2hpY2gg
ZGVmaW5lcyB3aGljaCBub3RpZmljYXRpb25zIGEgc3Vic2NyaWJlciB3YW50cyB0byByZWNlaXZl
LiAgVGhlIGZpbHRlciBpcyBhcHBsaWVkIHRvIHRoZSBub3RpZmljYXRpb24gYXMgYSB3aG9sZSwg
aS5lLiBlaXRoZXIgdGhlIG5vdGlmaWNhdGlvbiBpcyBkZWxpdmVyZWQgb3IgaXQgaXMgbm90LiAg
SXQgZG9lcyBub3QgYXBwbHkgdG8gc3Vic2V0cyBvZiBjb250ZW50cyB3aXRoaW4gdGhlIG5vdGlm
aWNhdGlvbi4gIEEgc2VsZWN0b3IsIG9uIHRoZSBvdGhlciBoYW5kLCBpcyB1c2VkIHRvIHNwZWNp
ZnkgdXBkYXRlcyBvZiB3aGljaCBkYXRhIG5vZGVzIHRvIGluY2x1ZGUgaW4gYSBZQU5HLXB1c2gg
c3Vic2NyaXB0aW9uLiAgVGhlIHNhbWUgdXBkYXRlIG5vdGlmaWNhdGlvbiBjb3VsZCBpbmNsdWRl
IHVwZGF0ZXMgb2Ygc2V2ZXJhbCBkYXRhIG5vZGVzLCBoZW5jZSBhIGZpbHRlciBhcHBsaWVkIHRv
IHRoZSBub3RpZmljYXRpb24gYXMgYSB3aG9sZSB3b3VsZCBiZSBpbmFwcHJvcHJpYXRlIGhlcmUg
LSB0aGUgc2VtYW50aWNzIGlzIHNsaWdodGx5IGRpZmZlcmVudDogYXMgYSBzdWJzY3JpYmVyLCAi
b2YgIHdoaWNoIGRhdGEgbm9kZXMgd291bGQgeW91IGxpa2UgdG8gcmVjZWl2ZSB1cGRhdGVzIiwg
bm90ICJ3aGljaCBub3RpZmljYXRpb25zIHdvdWxkIHlvdSBsaWtlIHRvIHJlY2VpdmUiLg0KDQo8
ZXZvaXQ+IGZ1bGx5IGFncmVlLg0KDQpGaWx0ZXJzIGFuZCBzZWxlY3RvcnMgY2FuIGJlIHNwZWNp
ZmllZCB1c2luZyB0aGUgc2FtZSBzeW50YXguICBXZSBhcmUgZmFjZWQgd2l0aCBhIGNob2ljZSBi
ZXR3ZWVuIHNwZWNpZnlpbmcgYSBzaW5nbGUgY29uc3RydWN0IGFzIHBhcnQgb2YgYSBzdWJzY3Jp
cHRpb24sIHdoaWNoIGlzIHRyZWF0ZWQgYXMgYSBmaWx0ZXIgKGluIGNhc2Ugb2YgYSAicmVndWxh
ciIgc3Vic2NyaXB0aW9uIGZvciBub3RpZmljYXRpb24gdXBkYXRlcykgb3IgYXMgYSBzZWxlY3Rv
ciAoaW4gY2FzZSBvZiBhIHN1YnNjcmlwdGlvbiB0byBkYXRhc3RvcmUgdXBkYXRlcykgLCBvciBo
YXZpbmcgc2VwYXJhdGUgb2JqZWN0cywgaS5lLiBhZGRpbmcgYSBzZXBhcmF0ZSAic2VsZWN0b3Ii
IGNvbnN0cnVjdCBmb3IgWUFORy1wdXNoLiAgVXNpbmcgYSBzaW5nbGUgb2JqZWN0IGFtb3VudHMg
dG8gb3ZlcmxvYWRpbmcuICBJdCBpcyBtb3JlIGNvbXBhY3QgYnV0IHdpdGggYXJndWFibHkgYSBt
b3JlIGNvbXBsZXggc2VtYW50aWNzLiAgVXNpbmcgc2VwYXJhdGUgb2JqZWN0IHJlc3VsdHMgaW4g
YSBtb2RlbCB0aGF0IGlzIG1vcmUgdmVyYm9zZSwgYnV0IGhhcyBhcmd1YWJseSBzaW1wbGVyIHNl
bWFudGljcy4NCg0KPGV2b2l0PiBJIGRvbuKAmXQgdGhpbmsgdGhlIHNlbWFudGljcyBhcmUgc2lt
cGxlci4gIEluIGFsbCBjYXNlcywgeW91IGFscmVhZHkgbmVlZCBhIGZpbHRlci10eXBlIHRvIGJl
IGFibGUgdG8gaW50ZXJwcmV0IHRoZSBmaWx0ZXIgc3ludGF4IChlLmcuLCB4cGF0aCB2cy4gc3Vi
dHJlZSkuIFdpdGggdGhpcyBhcyBhIGdpdmVuLCB0aGUgY3VycmVudCBkcmFmdOKAmXMgb3Zlcmxv
YWRpbmcgZG9lcyBoYXZlIGEgZmV3IGJlbmVmaXRzOg0KDQrCtyAgICAgICAgUHJvaGliaXRzIHBv
cHVsYXRpb24gb2YgYm90aCBhbiBldmVudCBhbmQgYSBzZWxlY3Rpb24gZmlsdGVyIOKAkyB0aGVy
ZSBpcyBvbmx5IGZpbHRlciBvYmplY3QuDQoNCsK3ICAgICAgICBTaW1wbGU6IDE6MSBtYXBwaW5n
IGZyb20gUlBDIGZpbHRlciB0byB0aGUgc2luZ2xlIHlhbmcgZGF0YSBub2RlIGZpbHRlciBvYmpl
Y3QuDQoNCsK3ICAgICAgICBJdCB0dXJucyBvdXQgdGhhdCBtb3ZpbmcgdG8gZmlsdGVyIGlkZW50
aXRpZXMgZnJvbSBhIHN0cmljdCBleHBsaWNpdC1jYXNlIGJhc2VkIGhpZXJhcmNoeSBzaW1wbGlm
aWVkIHRoZSBtb2RlbCBncm91cGluZ3MuICBUaGlzIHJlbW92ZWQgYSBmdWxsIHBhZ2UgZnJvbSB0
aGUgWUFORyBtb2RlbCBmcm9tIHRoZSBwcmV2aW91cyB2ZXJzaW9uLiAgVGhpcyBpcyBnb29kbmVz
cy4NCg0KwrcgICAgICAgIE5pY2VseSBleHRlbnNpYmxlIHZpYSBpZGVudGl0eSBoaWVyYXJjaGll
cyAocmF0aGVyIHRoYW4gYWxzbyBhZGRpbmcgYSBwYXJhbGxlbCBjYXNlIHN0cnVjdHVyZSB3aGlj
aCBuZWVkcyBpbmRlcGVuZGVudCB0cmVhdG1lbnQpLg0KDQpJIGNhbiBsaXZlIHdpdGggaXQgaWYg
cGVvcGxlIHdhbnQgdG8gYWRkIGFuIGV4cGxpY2l0IHN1YnR5cGluZyBiYXNlZCBvbiDigJhzZWxl
Y3Rpb27igJkgYW5kIOKAmHRlc3TigJkuICBCdXQgaXQgc2VlbXMgdG8gYWRkIGNvbXBsZXhpdHkg
YW5kIHJpZ2lkaXR5IHRvIG1lLg0KDQotIFRoZSBzZWNvbmQgaXRlbSBjb25jZXJucyB0aGUgaXNz
dWUgb2Ygd2hldGhlciB0aGUgZmlsdGVyL3NlbGVjdG9yIGNvbnN0cnVjdCBoYXMgYSBkeW5hbWlj
IHR5cGUgb3IgYSBzdGF0aWMgdHlwZS4gIFRoaXMgaXMgd2hlcmUgdGhlIGlzc3VlIG9mIGlkZW50
aXR5IHZzIGNhc2Ugc3RhdGVtZW50IGV0YyBjb21lcyBpbi4gIEluIGNhc2Ugb2YgYSBkeW5hbWlj
IHR5cGUsIHdlIHVzZSB0d28gb2JqZWN0czogIE9uZSBvYmplY3Qgb2YgYSBnZW5lcmljIHR5cGUg
KGFueWRhdGEpIGhvbGRzIHRoZSBmaWx0ZXIvc2VsZWN0b3IgY29uc3RydWN0IGl0c2VsZiwgdGhl
IHNlY29uZCBvYmplY3Qgc3BlY2lmaWVzIGhvdyB0byBpbnRlcnByZXQgaXQsIGkuZS4gd2hpY2gg
dHlwZSBpdCBpcy4gIChJbiBjYXNlIG9mICJvdmVybG9hZGluZywgd2UgY2FuIGFsc28gbWFrZSBl
eHBsaWNpdCB0aGUgZGlzdGluY3Rpb24gd2hldGhlciBpdCBpcyBhIGZpbHRlciBvciBhIHNlbGVj
dG9yKS4gIFRoYXQgc2Vjb25kIG9iamVjdCBpcyBhbiBpZGVudGl0eXJlZiwgcmVmZXJlbmNpbmcg
b25lIG9mIHRoZSBpZGVudGl0aWVzIHRoYXQgZGVzaWduYXRlcyB0aGUgZmlsdGVyL3NlbGVjdG9y
IHR5cGUuICBJbiBjYXNlIG9mIGEgc3RhdGljIHR5cGUsIHdlIHVzZSBhIGNhc2Ugc3RhdGVtZW50
ICh0byBkaXN0aW5ndWlzaCB3aGljaCBzcGVjaWZpYyB0eXBlIGl0IGlzKS4NCg0KPGV2b2l0PiBU
aGVyZSBhcmUgc28gbWFueSB2YXJpYXRpb25zIG9mIGZpbHRlciB0eXBlcywgaGF2aW5nIHR3byBp
bmRlcGVuZGVudCwgaW50ZXJzZWN0aW5nIGNvbnN0cnVjdHMgZG9lc27igJl0IHNlZW0gYmVuZWZp
Y2lhbCB0byBtZS4NCg0KDQpUaGUgYXJndW1lbnQgdGhhdCBFcmljIGlzIG1ha2luZyBpcyB0aGF0
IHdlIHNob3VsZCBoYXZlIGEgc2luZ2xlIG92ZXJsb2FkZWQgb2JqZWN0IHRoYXQgY2FuIHNlcnZl
IGFzIGEgZmlsdGVyIG9yIGEgc2VsZWN0b3IgZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IGFuZCB3
aGV0aGVyIGl0IGlzIHVzZWQgaW4gYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIG9yIGEgWUFO
Ry1wdXNoIHN1YnNjcmlwdGlvbiwgYW5kIHRoYXQgd2UgdXNlIGEgZHluYW1pYyB0eXBlIGluY2x1
ZGluZyBhbiBpZGVudGl0eXJlZiB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRoZSBvYmplY3Qgc2Vy
dmVzIGFzIGEgc2VsZWN0b3Igb3IgYSBmaWx0ZXIuICBGcm9tIG15IHBlcnNwZWN0aXZlLCBJIGZl
ZWwgdGhhdCBub3Qgb3ZlcmxvYWRpbmcgbWF5IGJlIGNvbmNlcHR1YWxseSBhIGJpdCAiY2xlYW5l
ciIsIGJ1dCBhdCB0aGUgZW5kIG9mIHRoZSBkYXkgSSBhbSBmaW5lIGVpdGhlciB3YXkuICBBbmQg
SSBhbSBub3QgZW50aXJlbHkgc3VyZSwgTWFydGluLCB3aGF0IHlvdSBhcmUgcHJvcG9zaW5nLiAg
RWl0aGVyIHdheSwgd2Ugc2hvdWxkIGRvY3VtZW50IHRoZSBpc3N1ZSBhbmQgb3VyIGNob2ljZSBj
bGVhcmx5Lg0KDQo8ZXJpYz4gWWVzLiAgSWYgd2UgZG8gZ28gd2l0aCB0aGUgb3ZlcmxvYWRpbmcs
IGhlcmUgaXMgaG93IEkgd291bGQgY29uc3RydWN0IGl04oCmOg0KDQooYSkgSW4gc3Vic2NyaWJl
ZC1ub3RpZmljYXRpb25zLCB1cGRhdGUgdGhlIGlkZW50aXR5IGZpbHRlcnMgc28gdGhlIGZvbGxv
d2luZyBhcmUgY292ZXJlZDoNCg0KSWRlbnRpdHkgZmlsdGVyOw0KICAgIElkZW50aXR5IHRlc3Qt
ZmlsdGVyIHtiYXNlIGZpbHRlcjt9DQogICAgICAgSWRlbnRpdHkgeHBhdGgtdGVzdC1maWx0ZXIg
e2Jhc2UgIHRlc3QtZmlsdGVyO30NCiAgICAgICBJZGVudGl0eSAgc3VidHJlZS10ZXN0LWZpbHRl
ciB7YmFzZSB0ZXN0LWZpbHRlcjt9DQoNCihiKSBJbiBZQU5HIFB1c2gsIHVwZGF0ZSB0aGUgaWRl
bnRpdHkgZmlsdGVycyBzbyB0aGUgZm9sbG93aW5nIGFyZSBjb3ZlcmVkOg0KDQpJZGVudGl0eSBu
b2RlLXNlbGVjdGlvbi1jcml0ZXJpYSB7YmFzZSBzbjpmaWx0ZXI7fQ0KICAgIElkZW50aXR5IHN1
YnRyZWUtbm9kZS1zZWxlY3Rpb24tY3JpdGVyaWEge2Jhc2Ugbm9kZS1zZWxlY3Rpb24tY3JpdGVy
aWE7fQ0KICAgIElkZW50aXR5IHhwYXRoLW5vZGUtc2VsZWN0aW9uLWNyaXRlcmlhIHtiYXNlIG5v
ZGUtc2VsZWN0aW9uLWNyaXRlcmlhO30NCg0KKGMpIGluIHN1YnNjcmliZWQtbm90aWZpY2F0aW9u
cywgaW1wcm92ZSB0aGUgZGVmaW5pdGlvbiBvZiAg4oCcYW55eG1sIGZpbHRlcuKAnSB0bw0KIkV2
YWx1YXRpb24gY3JpdGVyaWEgZW5jb2RlZCBpbiBhIHN5bnRheCBvZiBhIGZpbHRlci10eXBlLiAg
SWYgdGhlIGZpbHRlciBpcyBhcHBsaWVkIGFnYWluc3QgYW4gZXZlbnQgc3RyZWFtIGFuZCB0aGVy
ZSBpcyBhIG5vbi1lbXB0eSBvciBwb3NpdGl2ZSByZXN1bHQsIHRoZSBldmVudCBpcyBwYXNzZWQg
YWxvbmcuICBJZiB0aGUgZmlsdGVyIGlzIGFwcGxpZWQgYWdhaW5zdCBhIGRhdGFzdG9yZSBmb3Ig
cGVyaW9kaWMgZXh0cmFjdHMsIHRoZSByZXN1bHRpbmcgbm9kZS1zZXQgcmVzdWx0IGlzIHBhc3Nl
ZCBhbG9uZy4gSWYgdGhlIGZpbHRlciBpcyBhcHBsaWVkIGFnYWluc3QgYSBkYXRhc3RvcmUgbG9v
a2luZyBmb3IgY2hhbmdlcywgZGVsdGFzIGZyb20gdGhlIGxhc3QgdXBkYXRlIGluIHRoZSBmb3Jt
IG9mIGEgcGF0Y2ggcmVzdWx0IGFyZSBwYXNzZWQgYWxvbmcuIg0KDQoNCi0tLSBBbGV4DQoNCg0K
LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IE1hcnRpbiBCam9ya2x1bmQgW21haWx0
bzptYmpAdGFpbC1mLmNvbTxtYWlsdG86bWJqQHRhaWwtZi5jb20+XQ0KU2VudDogV2VkbmVzZGF5
LCBNYXkgMjQsIDIwMTcgMTI6MzYgQU0NClRvOiBldm9pdEBjaXNjby5jb208bWFpbHRvOmV2b2l0
QGNpc2NvLmNvbT4NCkNjOiBBbGV4YW5kZXIgQ2xlbW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWku
Y29tPG1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbT4+OyBuZXRjb25mQGlldGYub3Jn
PG1haWx0bzpuZXRjb25mQGlldGYub3JnPg0KU3ViamVjdDogUmU6IFtOZXRjb25mXSBJbiBhbiB1
cGRhdGUsIHdoZW4gaXMgYSBkZWxldGUgYSBkZWxldGU/DQoNCiJFcmljIFZvaXQgKGV2b2l0KSIg
PGV2b2l0QGNpc2NvLmNvbTxtYWlsdG86ZXZvaXRAY2lzY28uY29tPj4gd3JvdGU6DQo+ID4gRnJv
bTogTWFydGluIEJqb3JrbHVuZCwgTWF5IDIzLCAyMDE3IDE6NTcgUE0NCj4gPg0KPiA+ICJFcmlj
IFZvaXQgKGV2b2l0KSIgPGV2b2l0QGNpc2NvLmNvbTxtYWlsdG86ZXZvaXRAY2lzY28uY29tPj4g
d3JvdGU6DQo+ID4gPiA+IE1hcnRpbiBCam9ya2x1bmQsIE1heSAyMiwgMjAxNyAzOjMwIFBNDQo+
ID4gPiA+DQo+ID4gPiA+IEFsZXhhbmRlciBDbGVtbSA8YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5j
b208bWFpbHRvOmFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPj4gd3JvdGU6DQo+ID4gPiA+ID4g
SGkgTWFydGluLA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQWxtb3N0IG92ZXJsb29rZWQgeW91ciBx
dWVzdGlvbiBiZWxvdy4gIFdoYXQgaXMgbWVhbnQgYnkgdGhlDQo+ID4gPiA+ID4gZmlsdGVyIGlz
IHNwZWNpZmllZCBpbiBzZWN0aW9uIDMuNSBvZiB0aGUgWUFORy1QdXNoIGRvY3VtZW50Lg0KPiA+
ID4gPiA+DQo+ID4gPiA+ID4gIk9ubHkgYSBzaW5nbGUgZmlsdGVyIGNhbiBiZSBhcHBsaWVkIHRv
IGEgc3Vic2NyaXB0aW9uIGF0IGEgdGltZS4NCj4gPiA+ID4gPiBUaGUgZm9sbG93aW5nIGZpbHRl
ciB0eXBlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIHlhbmctcHVzaCBkYXRhIG1vZGVsOg0KPiA+ID4g
PiA+IFtzdWJ0cmVlXSBbeHBhdGhdIg0KPiA+ID4gPg0KPiA+ID4gPiBBY3R1YWxseSwgb25seSAi
c3VidHJlZSIgaXMgZGVmaW5lZCBpbiB5YW5nLXB1c2gsICJ4cGF0aCIgaXMNCj4gPiA+ID4gZGVm
aW5lZCBpbiBzdWJzY3JpYmVkLW5vdGlmaWNhdGlvbnMuDQo+ID4gPg0KPiA+ID4gQXQgdGhlIHRv
cCBvZiB5YW5nLXB1c2ggcGFnZSA3LCB4cGF0aCBzZWxlY3Rpb24gaXMgZGVzY3JpYmVkLiAgSXMN
Cj4gPiA+IHRoZXJlIHNvbWV0aGluZyB5b3UgZmVlbCBtaXNzaW5nPw0KPiA+DQo+ID4gWWVzLiAg
Rmlyc3Qgb2YgYWxsLCB0aGUgWUFORyBtb2R1bGUgZGVmaW5lcyBhbiBpZGVudGl0eSBjYWxsZWQN
Cj4gPiAieHBhdGgiLCBiYXNlZCBvbiAic246ZmlsdGVyIi4gIFNvIHRoaXMgZmlsdGVyIGhhcyBu
b3RoaW5nIHRvIGRvDQo+ID4gd2l0aCBzZWxlY3Rpbmcgbm9kZXMgaW4gYSBkYXRhc3RvcmU7IHRo
aXMgZmlsdGVyIGlzIHVzZWQgdG8gbWF0Y2gNCj4gPiBhZ2FpbnN0IGEgZ2VuZXJhdGVkIG5vdGlm
aWNhdGlvbiByZWNvcmQuDQo+DQo+IFRvIGFkZHJlc3MgdGhpcyB3ZSBjb3VsZCBzcGxpdCB0aGUg
eHBhdGggaWRlbnRpdHkgaW50byB0d28gdHlwZXM6DQo+ICJ4cGF0aC1zZWxlY3Rpb24iIGFuZCAi
eHBhdGgtYm9vbGVhbiIuICBUaGVzZSB3b3VsZCBoYXZlIGRpZmZlcmVudA0KPiBkZWZpbml0aW9u
cywgYnV0IGJvdGggcmVmZXJlbmNlDQo+IGh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhw
YXRoLTE5OTkxMTE2IC4gIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQNCj4gb25lIHJlc3VsdHMgaW4g
YSB4cGF0aCBub2RlLXNldCBleHByZXNzaW9uLCBhbmQgdGhlIG90aGVyIGFuIHhwYXRoDQo+IEJv
b2xlYW4gZXhwcmVzc2lvbi4gIE1ha2Ugc2Vuc2U/DQoNCk5vdCByZWFsbHkuICBJbiBzdWJzY3Jp
YmVkLW5vdGlmaWNhdGlvbnMgeW91IGhhdmUgZGVmaW5lZCBhIGdlbmVyaWMgZmlsdGVyIG1lY2hh
bmlzbSwgdGhhdCBpcyB1c2VkIHRvIGJsb2NrL2FsbG93IHRoZSBzZW5kaW5nIG9mIGdlbmVyYXRl
ZCBub3RpZmljYXRpb25zIHRvIGEgc3Vic2NyaWJlci4gIFRoaXMgZmlsdGVyIG1lY2hhbmlzbSBj
YW5ub3QgYmUgdXNlZCB0byBzZWxlY3Qgbm9kZXMgdG8gc3Vic2NyaWJlIHRvIGZvciBjaGFuZ2Vz
IGluIGEgZGF0YXN0b3JlLiAgWW91IG5lZWQgdG8gZGVmaW5lIGEgc2VwYXJhdGUgbWVjaGFuc2lt
IGZvciB0aGF0IGluIHlhbmctcHVzaC4gIChNYXliZSBub3QgZXZlbiBjYWxsIGl0ICJmaWx0ZXIi
LCBidXQgcGVyaGFwcyAic2VsZWN0aW9uIikuDQoNCjxldm9pdD4gc2VlIGFib3ZlLiAgU2VsZWN0
aW9uIGlzIG5vdyBwYXJ0IG9mIHRoZSBmaWx0ZXIgaWRlbnRpZnkgaGllcmFyY2h5Lg0KDQpTb21l
IGNvbW1lbnRzIG9uIHN1YnNjcmliZWQtbm90aWZpY2F0aW9uczogVGhpcyBnZW5lcmljIG1lY2hh
bmlzbSBhbGxvd3MgdmFyaW91cyBmaWx0ZXIgc3ludGF4ZXMuICBUaGlzIGdlbmVyaWMgbWVjaGFu
aXNtIG5lZWRzIHRvIGV4cGxhaW4gd2hhdCBpcyByZXF1aXJlZCBieSBhIGZpbHRlciBzeW50YXgg
ZGVmaW5pdGlvbiAoYW4gaWRlbnRpdHksIGV2YWx1YXRpb24gcnVsZXMpLiAgSW4gc2VjdGlvbiAy
LjIgdGhlIGRvY3VtZW50IHNheXMgdGhhdCB0d28gZmlsdGVyIHN5bnRheGVzIGFyZSBzdXBwb3J0
ZWQsIGJ1dCBvbmx5IG9uZSBpcyBkZWZpbmVkICh4cGF0aCkuICBJdCBuZWVkcyB0byBleHBsYWlu
IHRoYXQgYSBmaWx0ZXIgaXMgc3VwcG9zZWQgdG8gcmV0dXJuIHRydWUgb3IgZmFsc2UgKHRoaXMg
cGFydCBSRkMgNTI3NyBnb3QgcmlnaHQsIHNlZSBzZWN0aW9uIDMuNikuICBBbHNvLCB0aGUgY3Vy
cmVudCBtb2R1bGUgaGFzIHRoZSBmaWx0ZXIgaW4gYW4gYW55eG1sIG5vZGU7IGl0IGlzIG5vdCBj
bGVhciBob3cgYW4gWFBhdGggZXhwcmVzc2lvbiBpcyBlbmNvZGVkIGluIGFueXhtbC4NCg0KSSBh
bSBob3BpbmcgdG8gbGVhdmUgeHBhdGggZXhwcmVzc2lvbiBlbmNvZGluZyB1cCB0byB0aGUgdmVu
ZG9yLiAgSSBzdXNwZWN0IHRoYXQgYXR0ZW1wdGluZyB0byBjb21lIHVwIHdpdGggc29tZSBjcm9z
cy12ZW5kb3IgcGFyc2VhYmxlIGVuY29kaW5nIG1lY2hhbmlzbSBpcyB1bmxpa2VseSB0byBtYWtl
IHRoZSB4cGF0aCBmaWx0ZXIgZGVmaW5pdGlvbnMgdGhlbXNlbHZlcyBjcm9zcy12ZW5kb3IgYW55
d2F5LiAgV2Ugc2hvdWxkIHdhaXQgZm9yIHNvbWVvbmUgd2hvIHdhbnRzIHRvIHBpY2sgdXAgZ2Vu
ZXJhbCBmaWx0ZXJpbmcgYXMgYSB0b3BpYyByYXRoZXIgdGhhbiBhZGRyZXNzaW5nIHRoaXMgcGll
Y2VtZWFsLg0KDQoNCj4gPiBTZWNvbmQsIHRoZSBYUGF0aCBmaWx0ZXIgaXMgc29yZWx5IHVuZGVy
c3BlY2lmaWVkLiAgVGhlIFhQYXRoDQo+ID4gY29udGV4dCBpcyBub3QgZGVzY3JpYmVkLA0KPg0K
PiBJIHVuZGVyc3RhbmQgYW5kIGFncmVlIG9uIHlvdXIgY29tbWVudCBhYm91dCB0aGUgY29udGV4
dC4gIFRoZSBpbnRlbnQNCj4gaGVyZSBpcyB0byBwcm92aWRlIGVxdWl2YWxlbnQgY2FwYWJpbGl0
aWVzIG9mIGEgR0VULg0KDQpJIHVuZGVyc3RhbmQgdGhhdC4NCg0KPiBBcyBpdCB3b3VsZCBiZSBh
DQo+IGh1Z2UgdW5kZXJ0YWtpbmcgdG8gdHJ5IHRvIGNvbnNvbGlkYXRlIGFuIGluZHVzdHJ5LXdp
ZGUgdmlldyBvZiB0aGUNCj4gbWluaW1hbCB4cGF0aCBzeW50YXggYW5kIGNhcGFiaWxpdGllcyBp
biBuZXR3b3JraW5nDQoNCkVoaC4uLiB5ZXM/ICBXaGF0IGRvZXMgdGhpcyBoYXZlIHRvIGRvIHdp
dGggc3BlY2lmaXlpbmcgdGhlIFhQYXRoIGNvbnRleHQ/DQoNCj4gLCBJIGFtIGhvcGluZyB0aGlz
DQo+IGRvZXNuJ3QgZmFsbCB1bmRlciB0aGUgdW1icmVsbGEgb2YgWUFORyBzdWJzY3JpcHRpb24u
ICBJIHdvdWxkIGJlIGdsYWQNCj4gdG8gc3VwcG9ydCBzb21lb25lIHdobyB3aXNoZXMgdG8gdGFr
ZSB0aGlzIHVwIHRob3VnaC4NCj4NCj4gPiB0aGUgZXhwZWN0ZWQgcmVzdWx0IGRhdGEgdHlwZSBp
cyBub3QgZGVmaW5lZCwgYW5kIGl0IGlzIG5vdA0KPiA+IGRlc2NyaWJlZCBob3cgdGhlIHJlc3Vs
dCBpcyBzdXBwb3NlZCB0byBiZSB1c2VkLg0KPg0KPiBBcyBmb3IgdGhlIHJlc3VsdCwgdGhlIGFu
eWRhdGEgb3V0cHV0IHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUNCj4gc3Vic2NyaWJlciAod2l0
aCBhcHByb3ByaWF0ZSBzZWN1cml0eSBhcHBsaWVkKS4NCg0KSSB3YXMgcmVmZXJyaW5nIHRvIHRo
ZSBvdXRwdXQgb2YgdGhlIGZpbHRlciBldmFsdWF0aW9uLg0KDQo+IFRoZXkgY2FuIGRldGVybWlu
ZQ0KPiBob3cgdG8gdXNlIGl0LiAgVGhlIHByZWZlcnJlZCBlbWJvZGltZW50IHdvdWxkIGJlIHRv
IG1haW50YWluIGEgbG9jYWwNCj4gZXh0cmFjdCBvZiB0aGUgUHVibGlzaGVyJ3MgZGF0YXN0b3Jl
IChhcyBkZWZpbmVkIGJ5IHRoZSBmaWx0ZXIpLg0KPg0KPiA+ID4gPiAgW1NpZGUgbm90ZSAtIEkg
dGhpbmsgdGhpcyBpcyB3cm9uZywgc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zDQo+ID4gPiA+IHNo
b3VsZCBhbHNvIGRlZmluZSAic3VidHJlZSIuXQ0KPiA+ID4gPg0KPiA+ID4gPiBCdXQgdGhlc2Ug
ZmlsdGVycyBhcmUgdXNlZCBieSB0aGUgc2VydmVyIHRvIGRlY2lkZSBpZiBhIGNlcnRhaW4NCj4g
PiA+ID4gbm90aWZpY2F0aW9uIHRoYXQgaGFzIGJlZW4gZ2VuZXJhdGVkIHdpbGwgYmUgc2VudCB0
byB0aGUgY2xpZW50DQo+ID4gPiA+IG9yIG5vdC4NCj4gPiA+DQo+ID4gPiBZZXMsIHRoZSBmaWx0
ZXJzIGluIHN1YnNjcmliZWQtbm90aWZpY2F0aW9uIGFyZSBzdXBwb3NlZCB0byBnaXZlIGENCj4g
PiA+IGJvb2xlYW4gaW5kaWNhdGlvbiBhcyB0byB3aGV0aGVyIGEgc3BlY2lmaWMgZXZlbnQgc2hv
dWxkIHRyYXZlcnNlDQo+ID4gPiB0aGUgZmlsdGVyIGluIGl0cyBlbnRpcmV0eS4gUkZDNjI0MSBz
ZWN0aW9uIDYgc3VidHJlZSBmaWx0ZXJzIGFyZQ0KPiA+ID4gd3JpdHRlbiB0byBwcm92aWRlIGEg
c3Vic2V0IG9mIGNvbnRlbnQuICBJIHN1cHBvc2UgaXQgd291bGQgYmUNCj4gPiA+IHBvc3NpYmxl
IHRvIGRlZmluZSBhbiBldmVudC1iYXNlZCBzdWJ0cmVlLWZpbHRlci10eXBlIHdoZXJlIGENCj4g
PiA+IG5vbi1udWxsIHJlc3VsdCBvZiB0aGUgc3VidHJlZSBmaWx0ZXIgbWVhbnMgdGhhdCBhIHBh
cnRpY3VsYXINCj4gPiA+IGV2ZW50IHNob3VsZCB0cmF2ZXJzZSB0aGF0IGZpbHRlci4gIElzIHRo
aXMgd2hhdCB5b3UgYXJlIHN1Z2dlc3Rpbmc/DQo+ID4NCj4gPiBZZXMuICBOb3RlIHRoYXQgdGhp
cyBpcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IFJGQyA1Mjc3LCBhbmQgSSBoYXZlDQo+ID4gYWx3YXlz
IGFzc3VtZWQgdGhhdCB0aGlzIG5ldyB3b3JrIHdpbGwgcHJvdmlkZSBhdCBsZWFzdCB0aGUgc2Ft
ZQ0KPiA+IGZ1bmN0aW9ucyBhcyBSRkMNCj4gPiA1Mjc3IChhbmQgbW9yZSkuICAoQnV0IG5vdGUg
dGhhdCB0aGUgWFBhdGggZmlsdGVyIGlzIHVuZGVyc3BlY2lmaWVkDQo+ID4gYWxzbyBpbiBSRkMN
Cj4gPiA1Mjc3Li4uKQ0KPg0KPiBJIGFsc28gd2FudCB0byBtYWtlIHN1cmUgdGhhdCBhIG5vbi1u
dWxsIHJlc3VsdCBmcm9tIGEgZmlsdGVyIGFsbG93cw0KPiB0aGUgZXZlbnQgdG8gcGFzcy4gIEkg
c3VzcGVjdCB0aGF0IGFuIHhwYXRoIEJvb2xlYW4gZmlsdGVyIGNvdWxkIGJlDQo+IGRlc2lnbmVk
IHRvIGRvIHRoaXMsIGJ1dCBJIHdpbGwgdHdlYWsgdGhlIHN1YnNjcmliZWQtbm90aWZpY2F0aW9u
cw0KPiB0ZXh0IHNvIHRoYXQgdW5uZWNlc3NhcnkgZmlsdGVyaW5nIGV4cHJlc3Npb24gY29tcGxl
eGl0eSBpcyBub3QNCj4gYXJ0aWZpY2lhbGx5IHJlcXVpcmVkLg0KDQpQbGVhc2UgbWFrZSBzdXJl
IHlvdSB1bmRlcnN0YW5kIGhvdyBzdWJ0cmVlIGZpbHRlcnMgYW5kIFhQYXRoIGZpbHRlcnMgd29y
ayBpbiBSRkMgNTI3Ny4gIFRoZXJlIGlzIG5vdGhpbmcgd3Jvbmcgd2l0aCB0aGF0IGZ1bmN0aW9u
YWxpdHkuDQoNCjxldm9pdD4gMTAwJSBhZ3JlZS4gIEkgd2lsbCBtYWtlIHN1cmUgdGhlIHRleHQg
Y292ZXJzIHRoaXMuDQoNCkVyaWMNCg0KDQo+ID4gPiA+IElmIHlvdSB3YW50IHRvIGRlZmluZSBm
aWx0ZXJzIHRvIHNwZWNpZmlmeSB3aGljaCBub2RlcyB0bw0KPiA+ID4gPiBzdWJzY3JpYmUgdG8s
IEkgdGhpbmsgeW91IG5lZWQgdG8gZGVmaW5lIG5ldyBmaWx0ZXJzLCBub3QgdHJ5IHRvDQo+ID4g
PiA+IHJldWVzZSB0aGVzZSBub3RpZmljYXRpb24gZmlsdGVycy4NCj4gPiA+DQo+ID4gPiBGaWx0
ZXJpbmcgc3ludGF4IGlzIGhhcmQsIHNvIHdlIGhhdmUgYmVlbiB0cnlpbmcgdG8gYWRvcHQgd2hh
dGV2ZXINCj4gPiA+IGlzIGF2YWlsYWJsZSBmb3IgR0VULiAgVGhpcyB3YXkgd2UgZG9uJ3QgaGF2
ZSB0byBlZHVjYXRlIHVzZXJzIG9uDQo+ID4gPiBhIG5ldyB1bml2ZXJzZSBvZiB3aGF0IGlzIHBv
c3NpYmxlLiAgSSBmdWxseSBleHBlY3QgdGhhdCBsb3RzIG9mDQo+ID4gPiBsZWFybmluZ3MgYXJl
IGdvaW5nIHRvIGNvbWUgaW4gdGhlIGluZHVzdHJ5IGhlcmUgb3ZlciB0aW1lLCBhbmQNCj4gPiA+
IHRoaXMgd2lsbCBiZSByZXZpc2l0ZWQgaW4gdGhlIGZ1dHVyZS4NCj4gPg0KPiA+ID8NCj4gPg0K
PiA+IEkgYW0gbm90IHByb3Bvc2luZyBhbnkgbmV3IGZpbHRlciBzeW50YXguICBJIGFtIHNheWlu
ZyB0aGF0IHRoZQ0KPiA+IGN1cnJlbnQgZmlsdGVyIG5vZGVzIGFzIGRlZmluZWQgaW4gc3Vic2Ny
aWJlZC1ub3RpZmljYXRpb24gY2Fubm90IGJlDQo+ID4gdXNlZCB0byBzZWxlY3Qgbm9kZXMgdG8g
c3Vic2NyaWJlIHRvIGZvciBjaGFuZ2VzLg0KPg0KPiBVbmRlcnN0YW5kLiAgSG9wZWZ1bGx5IHdp
dGggdGhlICJ4cGF0aC1zZWxlY3Rpb24iIGNoYW5nZSBwcm9wb3NlZA0KPiBhYm92ZSwgdGhpcyB3
aWxsIGJlIGNvdmVyZWQuDQoNCk5vLCBzZWUgYWJvdmUuDQoNCg0KL21hcnRpbg0KDQoNCg0KPg0K
PiBFcmljDQo+DQo+ID4gPiA+IEFzIGZvciB5b3VyIHF1ZXN0aW9uLCBJIHRoaW5rIHN1Y2ggYSBm
aWx0ZXIgc2hvdWxkIGJlIGRlZmluZWQgdG8NCj4gPiA+ID4gcmV0dXJuIGEgbm9kZS0gc2V0IHRv
IHdoaWNoIHRoZSBjbGllbnQgc3Vic2NyaWJlIHRvIGNoYW5nZXMuICBJZg0KPiA+ID4gPiBhbnkg
bm9kZSAob3Igc3Vibm9kZQ0KPiA+ID4gPiB0bykgaW4NCj4gPiA+ID4gdGhpcyBub2RlLXNldCBj
aGFuZ2VzLCB0aGUgbm90aWYgd2lsbCBiZSBzZW50LiAgVGhlbiB0aGUNCj4gPiA+ID4gcXVlc3Rp
b24gYWJvdXQgdmFsdWUgY29tcGFyaXNpb24gaXMgbm90IHJlbGV2YW50IGFueW1vcmUuDQo+ID4g
Pg0KPiA+ID4gRXhjZWxsZW50LCBvbi1jaGFuZ2Ugc2hvdWxkIG9ubHkgc2VuZCBhbiB1cGRhdGUg
aWYgdGhlIHJlc3VsdHMgb2YNCj4gPiA+IHRoZSBzdWJzY3JpcHRpb24gZmlsdGVyIGhhdmUgY2hh
bmdlZCBzaW5jZSB0aGUgcHJldmlvdXMgcHVzaC4gIEl0DQo+ID4gPiBpcyBxdWl0ZSBwb3NzaWJs
ZSB0aGF0IGFuIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIGFuZCB0aGVuIGRlbGV0ZWQNCj4gPiA+
IHNpbmNlIHRoZSBsYXN0IHB1c2guDQo+ID4NCj4gPiBJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB5
b3UncmUgdHJ5aW5nIHRvIHNheSB3aXRoIHRoZXNlIHNlbnRlbmNlcw0KPiA+IChidXQgc2luY2Ug
dGhlIGZpcnN0IHdvcmQgd2FzICJFeGNlbGxlbnQiIG1heWJlIGl0J3Mgb2sgOykNCj4gPg0KPiA+
DQo+ID4gL21hcnRpbg0KPiA+DQo+ID4NCj4gPiA+IFJlcHJlc2VudGluZyB0aGlzIHdhcyB0aGUg
Z2VuZXNpcyBvZiBBbGV4J3MgcXVlc3Rpb24uDQo+ID4gPg0KPiA+ID4gRXJpYw0KPiA+ID4NCj4g
PiA+ID4gL21hcnRpbg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g
Pg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSW4gZWZmZWN0LCB0aGUgZmlsdGVyIHNwZWNpZmllcyB3
aGljaCBkYXRhIG5vZGVzIHRvIGNvbnNpZGVyDQo+ID4gPiA+ID4gd2hlbiBzZW5kaW5nIHVwZGF0
ZXMuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAtLS1BbGV4DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0K
PiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogTWFy
dGluIEJqb3JrbHVuZCBbbWFpbHRvOm1iakB0YWlsLWYuY29tPG1haWx0bzptYmpAdGFpbC1mLmNv
bT5dDQo+ID4gPiA+ID4gU2VudDogV2VkbmVzZGF5LCBNYXkgMTcsIDIwMTcgMTE6NTAgUE0NCj4g
PiA+ID4gPiBUbzogQWxleGFuZGVyIENsZW1tIDxhbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTxt
YWlsdG86YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20+Pg0KPiA+ID4gPiA+IENjOiBuZXRjb25m
QGlldGYub3JnPG1haWx0bzpuZXRjb25mQGlldGYub3JnPg0KPiA+ID4gPiA+IFN1YmplY3Q6IFJl
OiBbTmV0Y29uZl0gSW4gYW4gdXBkYXRlLCB3aGVuIGlzIGEgZGVsZXRlIGEgZGVsZXRlPw0KPiA+
ID4gPiA+DQo+ID4gPiA+ID4gSGksDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBBbGV4YW5kZXIgQ2xl
bW0gPGFsZXhhbmRlci5jbGVtbUBodWF3ZWkuY29tPG1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVh
d2VpLmNvbT4+IHdyb3RlOg0KPiA+ID4gPiA+ID4gSGVsbG8gYWxsLA0KPiA+ID4gPiA+ID4NCj4g
PiA+ID4gPiA+IEluIHVwZGF0aW5nIHRoZSBZQU5HLVB1c2ggZG9jdW1lbnQNCj4gPiA+ID4gPiA+
IChkcmFmdC1pZXRmLW5ldGNvbmYteWFuZy1wdXNoKSwgd2UgaGF2ZSBjb21lIGFjcm9zcyBvbmUN
Cj4gPiA+ID4gPiA+IGlzc3VlIHRoYXQgd2Ugd2FudGVkIHRvIHJhaXNlIHdpdGggdGhlIHdvcmtp
bmcgZ3JvdXAuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQXMgcGFydCBvZiBhbiBvbi1jaGFu
Z2Ugc3Vic2NyaXB0aW9uLCB1cGRhdGUgcmVjb3JkcyByZWZsZWN0DQo+ID4gPiA+ID4gPiB0aGUg
dHlwZSBvZiBjaGFuZ2UgKGUuZy4gd2hldGhlciB0aGUgdmFsdWUgb2YgYW4gb2JqZWN0IGhhcw0K
PiA+ID4gPiA+ID4gY2hhbmdlZCwgb3Igd2hldGhlciBhbiBvYmplY3Qgd2FzIGNyZWF0ZWQgb3Ig
ZGVsZXRlZCk7IGENCj4gPiA+ID4gPiA+IHN1YnNjcmlwdGlvbiBhbGxvd3MgYWxzbyB0byBzcGVj
aWZ5IHdoZXRoZXIgaW50ZXJlc3RlZCBvbmx5DQo+ID4gPiA+ID4gPiBpbiBzcGVjaWZpYyB0eXBl
cyBvZiBjaGFuZ2VzIChmb3IgZXhhbXBsZSwgb25seSBjcmVhdGVzIGFuZA0KPiA+ID4gPiA+ID4g
ZGVsZXRlZCBidXQgbm8gdmFsdWUNCj4gPiBjaGFuZ2VzKS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+
ID4gPiBBdCB0aGUgc2FtZSB0aW1lLCBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgc3BlY2lmaWVzIHdo
aWNoDQo+ID4gPiA+ID4gPiBvYmplY3RzIHRvIGluY2x1ZGUgYXMgcGFydCBvZiBhIHN1YnNjcmlw
dGlvbiBhbmQgd2hpY2ggbm90Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSG1tLCB3aGljaCBmaWx0
ZXIgYXJlIHlvdSB0YWxraW5nIGFib3V0PyAgVGhlIG9ubHkgWFBhdGgNCj4gPiA+ID4gPiBmaWx0
ZXIgSSBmaW5kIGluIHRoZSBjdXJyZW50IHNldCBvZiBkb2N1bWVudHMgaXMgdGhlDQo+ID4gPiA+
ID4gImlldGYtc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zOnhwYXRoIiBmaWx0ZXIgdHlwZSAod2hp
Y2ggYnR3DQo+ID4gPiA+ID4gaXMgc29yZWx5IHVuZGVyc3BlY2lmaWVkKS4gIFNlY3Rpb24gMi4y
IG9mDQo+ID4gPiA+ID4gZHJhZnQtaWV0Zi1uZXRjb25mLXN1YnNjcmliZWQtbm90aWZpY2F0aW9u
cy0wMiBzYXlzOg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gICAgRXZlbnRzIHdoaWNoIGV2YWx1YXRl
IHRvICJ0cnVlIiBhcyBhDQo+ID4gPiA+ID4gICAgcmVzdWx0IG9mIHRoZSBldmFsdWF0aW9uIGJ5
IHRoZSBmaWx0ZXIgbXVzdCB0cmF2ZXJzZSB0aGUgZmlsdGVyIGluDQo+ID4gPiA+ID4gICAgdGhl
aXIgZW50aXJldHkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBJdCdzIG5vdCBjbGVhciB3aGF0IHRo
aXMgbWVhbnMsIGJ1dCBteSBndWVzcyBpcyB0aGF0IHRoaXMgaXMNCj4gPiA+ID4gPiBzdXBwb3Nl
ZCB0byB3b3JrIGxpa2UgdGhlIG9sZCBSRkMgNTI3NyBmaWx0ZXJzLCB3aGVyZSB0aGUNCj4gPiA+
ID4gPiBmaWx0ZXIgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgb24gdGhlIG5vdGlmaWNhdGlvbiBj
b250ZW50cywNCj4gPiA+ID4gPiBhbmQgaWYgdGhlIGV4cHJlc3Npb24gcmV0dXJucyAidHJ1ZSIg
KGZvciBYUGF0aCBmaWx0ZXJzIHRoaXMNCj4gPiA+ID4gPiBtZWFucyBjb252ZXJ0aW5nIHRoZSBy
ZXN1bHRzIHRvIGEgYm9vbGVhbiksIHRoZW4gdGhlDQo+ID4gPiA+ID4gbm90aWZpY2F0aW9uIGlz
IHNlbnQsIG90aGVyd2lzZSBub3QuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBCdXQgaXQgc2VlbXMg
eW91IGFyZSByZWZlcnJpbmcgdG8gc29tZSBvdGhlciBmaWx0ZXIgd2hpY2gNCj4gPiA+ID4gPiB3
b3VsZCBiZSB1c2VkIHRvIHNlbGVjdCBhIG5vZGUgc2V0IGZvciB3aGljaCBjaGFuZ2VzIGFyZSBy
ZXBvcnRlZD8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEkgd291bGQgbGlrZSB0byB1bmRlcnN0YW5k
IHdoaWNoIGZpbHRlciBtZWNoYW5pc20geW91IG1lYW4NCj4gPiA+ID4gPiBiZWZvcmUgaGF2aW5n
IGFuIG9waW5pb24gaW4gdGhpcyBtYXR0ZXIuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4g
PiA+IC9tYXJ0aW4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0K
PiA+ID4gPiA+ID4gKFJlYWxseSwgaXQgaXMgbm90DQo+ID4gPiA+ID4gPiBzbyBtdWNoIG9mIGEg
ImZpbHRlciIgb24gYSBzdHJlYW0gdGhhdCBpcyBnZW5lcmF0ZWQNCj4gPiA+ID4gPiA+IGluZGVw
ZW5kZW50bHkgb2YgdGhlIGZpbHRlciwgdGhhbiBpdCBpcyBhIHBvbGljeSBvZiB3aGljaA0KPiA+
ID4gPiA+ID4gb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Ygc3Vic2NyaWJlZCB1cGRhdGUg
cmVjb3Jkcy4pDQo+ID4gPiA+ID4gPiBIb3dldmVyLCBhIHN1YnNjcmlwdGlvbiBmaWx0ZXIgKHN1
Y2ggYXMNCj4gPiA+ID4gPiA+IFhQYXRoKSBjYW4gYmUgdXNlZCB0byBhbHNvIHNwZWNpZnkgYSB2
YWx1ZSBmaWx0ZXIsIHdoaWNoDQo+ID4gPiA+ID4gPiB3aWxsIGluY2x1ZGUgb3IgZXhjbHVkZSBv
YmplY3RzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQNCj4gPiA+ID4gPiA+IHZhbHVlLiBUaGlzIG1h
a2VzIGl0IHBvc3NpYmxlIHRvIGUuZy4gc3Vic2NyaWJlIHRvIGFuIG9iamVjdA0KPiA+ID4gPiA+
ID4gImZvbyIgYnV0IG9ubHkgaWYgaXRzIHZhbHVlIGlzIDUuDQo+ID4gPiA+ID4gPg0KPiA+ID4g
PiA+ID4gTm93LCB0aGlzIG1lYW5zIHRoYXQgdGhlIHNhbWUgb2JqZWN0IGNvdWxkIGJlIGluY2x1
ZGVkIGluDQo+ID4gPiA+ID4gPiBvbmUgdXBkYXRlLCBidXQgZXhjbHVkZWQgaW4gYW5vdGhlciB1
cGRhdGUsIGR1ZSB0byBpdHMgdmFsdWUNCj4gPiA+ID4gPiA+IG5vIGxvbmdlciBtZWV0aW5nIHRo
ZSBmaWx0ZXIgY3JpdGVyaWEuICBGb3IgZXhhbXBsZSwgaWYNCj4gPiA+ID4gPiA+IGZvbydzIHZh
bHVlIGNoYW5nZXMgZnJvbSA1IHRvIDMgaW4gb25lIGN5Y2xlLCBhIHBlcmlvZGljDQo+ID4gPiA+
ID4gPiBzdWJzY3JpcHRpb24gd2lsbCBubyBsb25nZXIgaW5jbHVkZSBmb28gaW4gaXRzIG5leHQg
dXBkYXRlLg0KPiA+ID4gPiA+ID4gVGhlIHF1ZXN0aW9uIG5vdyBjb25jZXJucyBob3cgdG8gcHJv
cGVybHkgaGFuZGxlIHRoaXMgaW4gdGhlDQo+ID4gPiA+ID4gPiBjYXNlIG9mIGFuIG9uLWNoYW5n
ZQ0KPiA+IHN1YnNjcmlwdGlvbi4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbmUgcG9zc2li
aWxpdHkgY29uY2VybnMgcmVwb3J0aW5nIHRoZSBmYWN0IHRoYXQgImZvbyIgbm8NCj4gPiA+ID4g
PiA+IGxvbmdlciBtZWV0cyB0aGUgc3Vic2NyaXB0aW9uIGNyaXRlcmlhIGFuZCBpcyBubyBsb25n
ZXINCj4gPiA+ID4gPiA+IGluY2x1ZGVkIGluIHRoZSB1cGRhdGUgcmVjb3JkIGFzIGEgImRlbGV0
ZSIgZXZlbnQuICBJZiBmb28ncyB2YWx1ZSBhZ2FpbiBiZWNvbWVzICI1Ig0KPiA+ID4gPiA+ID4g
YXQgYSBsYXRlciBwb2ludCBpbiB0aW1lLCB0aGF0IHdvdWxkIGJlIHJlcG9ydGVkIGFzIGEgImNy
ZWF0ZSINCj4gPiA+ID4gPiA+IGV2ZW50LiAgSWYgZm9vJ3MgdmFsdWUgY2hhbmdlcyBhZ2FpbiBm
cm9tIDUgYXQgYSBsYXRlciBwb2ludA0KPiA+ID4gPiA+ID4gaW4gdGltZSBhbmQgdGhlbiBjaGFu
Z2VzIGJhY2sgdG8gMyBiZWZvcmUgdGhlIHRpbWUgb2YgdGhlDQo+ID4gPiA+ID4gPiB1cGRhdGUg
KHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFsdWUgY2hhbmdlZCBkdXJpbmcgdGhlDQo+ID4gPiA+ID4g
PiBkYW1wZW5pbmcgaW50ZXJ2YWwpLCBpdCB3b3VsZCBiZSByZXBvcnRlZCBhcyBhbm90aGVyDQo+
ID4gPiA+ID4gPiAiZGVsZXRlIiBldmVudCAod2l0aG91dCBldmVyIHJlcG9ydGluZyBhIGNyZWF0
ZSBldmVudCkuICBPbg0KPiA+ID4gPiA+ID4gdGhlIG90aGVyIGhhbmQsIGlmIGZvbydzIHZhbHVl
IGNoYW5nZWQgZnJvbSAzIHRvDQo+ID4gPiA+ID4gPiA2IGFuZCBiYWNrIGFnYWluLCBub3RoaW5n
IHdvdWxkIGJlIHJlcG9ydGVkIGJlY2F1c2UgaXQgZGlkDQo+ID4gPiA+ID4gPiBub3QgbWVldCB0
aGUgZmlsdGVyIGNyaXRlcmlhIGF0IGFueSBwb2ludCBpbiB0aW1lLg0KPiA+ID4gPiA+ID4NCj4g
PiA+ID4gPiA+ID5Gcm9tIHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgcmVjZWl2ZXIgdGhpcyBtYXkg
bWFrZSBzZW5zZSBpZg0KPiA+ID4gPiA+ID4gPml0IGlzIHN5bmNoaW5nIGl0cyBjb3B5IG9mIHRo
ZSBzdGF0ZS4gIEhvd2V2ZXIsIGZyb20gdGhlDQo+ID4gPiA+ID4gPiA+cGVyc3BlY3RpdmUgb2Yg
dGhlIHB1Ymxpc2hlciwgdGhlIG9iamVjdCB3YXMgbmV2ZXIgY3JlYXRlZA0KPiA+ID4gPiA+ID4g
Pm9yIGRlbGV0ZWQgLSBvbmx5IGl0cyB2YWx1ZSBjaGFuZ2VkLCBhbmQgdGhlIGNhc2Ugd2hlbiB0
aGUNCj4gPiA+ID4gPiA+ID5vYmplY3Qgd2FzIHRydWx5IGNyZWF0ZWQgb3IgZGVsZXRlZCBjYW4g
bm8gbG9uZ2VyIGJlDQo+ID4gPiA+ID4gPiA+ZGlzdGluZ3Vpc2hlZCBmcm9tIHRoZSBjYXNlIHdo
ZW4gaXRzIHZhbHVlDQo+ID4gPiA+IGNoYW5nZWQuDQo+ID4gPiA+ID4gPiA+QSAiY3JlYXRlIiBz
aW1wbHkgbWVhbnMgImFuIG9iamVjdCBub3cgbWVldHMgYSBmaWx0ZXINCj4gPiA+ID4gPiA+ID5j
cml0ZXJpYSwgdGhhdCB3YXMgbm90IHJlcG9ydGVkIGluIHRoZSBwcmV2aW91cyBjeWNsZSINCj4g
PiA+ID4gPiA+ID4od2hpY2ggZG9lcyBub3QgbWVhbiB0aGF0IHRoZSBvYmplY3Qgd2FzIGFjdHVh
bGx5IGNyZWF0ZWQgLQ0KPiA+ID4gPiA+ID4gPml0IG1heSBoYXZlIGJlZW4gY3JlYXRlZCwgb3Ig
aXQgbWF5IGhhdmUgc2ltcGx5IHVuZGVyZ29uZSBhIHZhbHVlIGNoYW5nZSkuDQo+ID4gPiA+ID4g
Pg0KPiA+ID4gPiA+ID4gQW4gYWx0ZXJuYXRpdmUgKGxldCdzIGNhbGwgaXQgYWx0ZXJuYXRpdmUg
MikgaXMgdGhlcmVmb3JlIHRvDQo+ID4gPiA+ID4gPiBtYWtlIGEgZGlzdGluY3Rpb24gYmV0d2Vl
biB3aGV0aGVyIGFuIG9iamVjdCB3YXMgY3JlYXRlZCBvcg0KPiA+ID4gPiA+ID4gZGVsZXRlZCwg
b3Igd2hldGhlciBpdHMgdmFsdWUgZmVsbCBpbiBvciBvdXQgb2YgYSBmaWx0ZXIgcmFuZ2UuDQo+
ID4gPiA+ID4gPiBUaGlzIGFwcGVhcnMgc2VtYW50aWNhbGx5IGNsZWFuZXIuICBIb3dldmVyLCBp
dCB3aWxsIHJlcXVpcmUNCj4gPiA+ID4gPiA+IG1vZGlmeWluZyB0aGUgZW5jb2RpbmcgdG8gYWxs
b3cgZm9yIGRpc3RpbmN0aW9uIGJldHdlZW4NCj4gPiA+ID4gPiA+IHRob3NlIGNhc2VzIChjdXJy
ZW50bHksIGp1c3QgcGxhaW4gcGF0Y2ggZW5jb2RpbmcgaXMgdXNlZCkuDQo+ID4gPiA+ID4gPg0K
PiA+ID4gPiA+ID4gQSB0aGlyZCBhbHRlcm5hdGl2ZSBpcyB0byBsZXQgZmlsdGVycyBzZWxlY3Qg
b25seSBkYXRhIG5vZGVzDQo+ID4gPiA+ID4gPiB0byBzdWJzY3JpYmUgdG8sIGFuZCBzZXBhcmF0
ZSBvdXQgdGhlIHZhbHVlIGZpbHRlciAob3INCj4gPiA+ID4gPiA+IGRpc2FsbG93IGl0IGFzIGEg
ZmVhdHVyZSBhbHRvZ2V0aGVyKS4gIFRoaXMgYWx0ZXJuYXRpdmUgaGFzDQo+ID4gPiA+ID4gPiB0
aGUgZHJhd2JhY2sgb2YgYmVpbmcgbGVzcyBjb25jZXB0dWFsbHkgcG93ZXJmdWwsIGV2ZW4gaWYg
aXQNCj4gPiA+ID4gPiA+IG1heSBiZSBlYXNpZXIgdG8NCj4gPiBpbXBsZW1lbnQuDQo+ID4gPiA+
ID4gPg0KPiA+ID4gPiA+ID4gVGhvdWdodHM/ICBBbnkgcHJlZmVyZW5jZXMgYmV0d2VlbiAxLCAy
LCBhbmQgMz8NCj4gPiA+ID4gPiA+IC0tLSBBbGV4DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+
ID4gPiA+DQo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fDQo+ID4gPiA+IE5ldGNvbmYgbWFpbGluZyBsaXN0DQo+ID4gPiA+IE5ldGNvbmZAaWV0
Zi5vcmc8bWFpbHRvOk5ldGNvbmZAaWV0Zi5vcmc+DQo+ID4gPiA+IGh0dHBzOi8vd3d3LmlldGYu
b3JnL21haWxtYW4vbGlzdGluZm8vbmV0Y29uZg0KPiA+ID4NCj4NCg0KX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNvbmYgbWFpbGluZyBsaXN0DQpO
ZXRjb25mQGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3JnPg0KaHR0cHM6Ly93d3cuaWV0
Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_47461c951d934b399c6ae58c3bb731b3XCHRTP013ciscocom_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
V2luZ2RpbmdzOw0KCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0K
CXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMg
MiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1
IDUgMiAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws
IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0
b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg
Um9tYW4iLHNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQph
OnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnAuTXNv
TGlzdFBhcmFncmFwaCwgbGkuTXNvTGlzdFBhcmFncmFwaCwgZGl2Lk1zb0xpc3RQYXJhZ3JhcGgN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5OjM0Ow0KCW1hcmdpbi10b3A6MGluOw0KCW1hcmdpbi1yaWdo
dDowaW47DQoJbWFyZ2luLWJvdHRvbTowaW47DQoJbWFyZ2luLWxlZnQ6LjVpbjsNCgltYXJnaW4t
Ym90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsc2Fucy1zZXJpZjt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3Jt
YWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1h
cmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBO
ZXcgUm9tYW4iLHNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21zby1zdHlsZS10eXBlOnBl
cnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5
N0Q7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtY29tcG9z
ZTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0
O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXpl
OjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2Lldv
cmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICov
DQpAbGlzdCBsMA0KCXttc28tbGlzdC1pZDo0OTcwMzUyNTc7DQoJbXNvLWxpc3QtdHlwZTpoeWJy
aWQ7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xNjgzMTgxNDA2IDc1MDAxNzMzNCA2NzY5ODY5
MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2
NzY5ODY5Mzt9DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLXN0YXJ0LWF0OjA7DQoJbXNv
LWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Oi07DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRl
eHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCglt
c28tZmFyZWFzdC1mb250LWZhbWlseTpDYWxpYnJpOw0KCW1zby1iaWRpLWZvbnQtZmFtaWx5OiJU
aW1lcyBOZXcgUm9tYW4iO30NCkBsaXN0IGwwOmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZv
cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWlu
Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRl
eHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2
ZWw0DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrv
grc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxp
c3QgbDA6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2
ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Ijt9DQpAbGlzdCBsMDpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVs
bGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCglt
c28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZv
bnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLW51bWJl
ci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0
b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6
LS4yNWluOw0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsMDpsZXZlbDgNCgl7bXNvLWxl
dmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCkBsaXN0IGwwOmxl
dmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6
74KnOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30N
CkBsaXN0IGwxDQoJe21zby1saXN0LWlkOjE0OTAwNTgwMDk7DQoJbXNvLWxpc3QtdHlwZTpoeWJy
aWQ7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xOTY1NzkzOTIwIDY3Njk4Njg5IDY3Njk4Njkx
IDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4NjkxIDY3Njk4NjkzIDY3Njk4Njg5IDY3Njk4NjkxIDY3
Njk4NjkzO30NCkBsaXN0IGwxOmxldmVsMQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxs
ZXQ7DQoJbXNvLWxldmVsLXRleHQ674K3Ow0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1z
by1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9u
dC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwxOmxldmVsMg0KCXttc28tbGV2ZWwtbnVtYmVyLWZv
cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWlu
Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDE6bGV2ZWwzDQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRl
eHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDE6bGV2
ZWw0DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrv
grc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxp
c3QgbDE6bGV2ZWw1DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2
ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6IkNvdXJp
ZXIgTmV3Ijt9DQpAbGlzdCBsMTpsZXZlbDYNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVs
bGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCglt
c28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluOw0KCWZv
bnQtZmFtaWx5OldpbmdkaW5nczt9DQpAbGlzdCBsMTpsZXZlbDcNCgl7bXNvLWxldmVsLW51bWJl
ci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0
b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6
LS4yNWluOw0KCWZvbnQtZmFtaWx5OlN5bWJvbDt9DQpAbGlzdCBsMTpsZXZlbDgNCgl7bXNvLWxl
dmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Om87DQoJbXNvLWxldmVs
LXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQt
aW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCkBsaXN0IGwxOmxl
dmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6
74KnOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp
b246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30N
Cm9sDQoJe21hcmdpbi1ib3R0b206MGluO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGluO30NCi0t
Pjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0
PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUg
bXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4
dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4N
CjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4N
CjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+SGkgQW5keSwgQWxleCwgJmFtcDsgTWFydGluLDxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJi
b3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAw
aW4gNC4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9t
Ojwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4gQW5keSBCaWVybWFuLCBNYXkgMjQsIDIwMTcg
Njo1NSBQTTxicj4NCjxicj4NCjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+SGksPG86cD48L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5MZXQn
cyBjb21wYXJlIHRvIHdoYXQgNTI3NyBhbHJlYWR5IGhhcyBkZWZpbmVkLjxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBhZ3JlZSB3aXRoIE1hcnRp
biB0aGF0IG5ldyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBkZWZpbmVkIHdpdGg8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPm5ldyB0ZXJtcyBhbmQg
bmV3IHNwZWNzLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5GaXJzdCwgUkZDIDUyNzcgYWxsb3dzIHRoZSBldmVudC10eXBlIHRvIGJlIGZpbHRl
cmVkLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
VGhpcyBpcyBiYXNpYyBmdW5jdGlvbmFsaXR5IGV2ZXJ5IHNlcnZlciBzaG91bGQgc3VwcG9ydC48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPihlLmcu
LCBzZWxlY3QgbmV0Y29uZi1jb25maWctY2hhbmdlLCBpZ25vcmUgbmV0Y29uZi1zZXNzaW9uLXN0
YXJ0KTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
VGhpcyBldmVudCB0eXBlIHRlc3QgaXMgbm90IHNlcGFyYXRlIGZyb20gdGhlIGV2ZW50IGNvbnRl
bnQgZmlsdGVyLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Qm90aCBhcmUgYm9vbGVhbiB0ZXN0cy48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzVCOUJENSI+Jmx0O2VyaWMmZ3Q7IEFncmVlIHRoYXQgZXZlbnQgdGVzdHMgb2YgYm90aCBib29s
ZWFuIGFuZCBzZWxlY3Rpb24gYXJlIG5lZWRlZCAobGlrZSBSRkMtNTI3NyksIGFuZCB0aGF0IGJv
dGggbWF5IGFsbG93IGV2ZW50cyB0byBwYXNzLiZuYnNwOyBJIGhhdmUgYSBwcm9wb3NhbCBmb3Ig
c29tZSB0ZXh0DQogdG8gY292ZXIgdGhpcyBiZWxvdyAoc2VlIGdyZWVuKS48L3NwYW4+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Tm90aWZpY2F0aW9uIGZpbHRlcnMgZm9yIFlB
TkcgUHVzaCBuZWVkIHRvIHNlbGVjdCB0aGUgZXZlbnQtdHlwZXMgdXNlZCw8bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnN1Y2ggYXMgcHVzaC1jaGFu
Z2UtdXBkYXRlLiZuYnNwOyBJdCB3b3VsZCBiZSBuaWNlIGlmIHRoaXMgd2FzIGhhbmRsZWQgYXV0
b21hdGljYWxseSw8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPmluc3RlYWQgb2YgbGlzdGluZyB0aGVtIGluIHRoZSAmbHQ7ZXN0YWJsaXNoLXN1YnNj
cmlwdGlvbiZndDsuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM1QjlCRDUiPiZsdDtldm9p
dCZndDsgRWl0aGVyIHlvdSBwcm92aWRlIGEgc3RyZWFtIG9yIGEgZGF0YXN0b3JlIGFzIGEgdGFy
Z2V0IGZvciB0aGUgZmlsdGVyLiZuYnNwOyBFdmVuIHRoZW4sIGEgZmlsdGVyLXR5cGUgcmVtYWlu
cyBuZWVkZWQgdG8gZGVjb2RlIHRoZSBzeW50YXggb2YgdGhlIGZpbHRlciBhbnl4bWwuJm5ic3A7
DQogJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRyYWRp
dGlvbmFsIG5vdGlmaWNhdGlvbiBmaWx0ZXJzIHdvdWxkIHJlcXVpcmUgdGhhdCB0aGUgc3RydWN0
dXJlIG9mIGFuIGV2ZW50IHN1Y2g8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPmFzIHB1c2gtY2hhbmdlLXVwZGF0ZSBiZSBrbm93biB0byB0aGUgZGV2
ZWxvcGVyIGluIGZ1bGwgZGV0YWlsLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+SU1PIHRoaXMgaXMgYSBiYWQgYXBwcm9hY2guJm5ic3A7IEEgbmV3
IGZpbHRlciB0eXBlIHRoYXQgc2VsZWN0cyBkYXRhIG5vZGVzPG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj53b3VsZCBiZSBtdWNoIGJldHRlci4mbmJz
cDsgVGhlIGN1cnJlbnQgcHJvcG9zYWwgaXMgZWFzeSB0byB1bmRlci1zcGVjaWZ5PG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5hbmQgKElNTykgbmVh
cmx5IGltcG9zc2libGUgZm9yIG9wZXJhdG9ycyB0byB1c2UuPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiM1QjlCRDUiPiZsdDtldm9pdCZndDsgQWdyZWUgdGhhdCBhIHN1YnRyZWUgZmlsdGVy
IGZvciBldmVudHMgaXMgbmVlZGVkLg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BbmR5PG86cD48L286cD48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9k
aXY+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBXZWQsIE1heSAyNCwgMjAxNyBh
dCAzOjI1IFBNLCBBbGV4YW5kZXIgQ2xlbW0gJmx0OzxhIGhyZWY9Im1haWx0bzphbGV4YW5kZXIu
Y2xlbW1AaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmFsZXhhbmRlci5jbGVtbUBodWF3ZWku
Y29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9y
ZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4g
MGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowaW4iPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+TGV0IG1lIGJyaWVmbHkgc3VtbWFyaXplIHdoZXJlIEkgdGhpbmsgd2UgYXJl
LiBUaGUgdGhyZWFkIGhhcyBjbGVhcmx5IG1vdmVkIG9uIGZyb20gdGhlIGluaXRpYWwgaXNzdWUg
b2YgaG93IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gY2F1c2VzIGZvciB1cGRhdGVzIHRvIG5vIGxv
bmdlciBpbmNsdWRlIGEgZ2l2ZW4gZGF0YSBub2RlIChiZWNhdXNlIGl0IHdhcyBkZWxldGVkLCBv
ciBiZWNhdXNlIGl0IGNoYW5nZWQNCiBpdHMgdmFsdWUgdG8gbm8gbG9uZ2VyIG1hdGNoIGEgZmls
dGVyKSB0byBvdGhlciBpc3N1ZXMuPGJyPg0KPGJyPg0KRm9yIHRob3NlIG90aGVyIGlzc3Vlcywg
SSB0aGluayB0aGVyZSBhcmUgaW4gZmFjdCB0d28gc2VwYXJhdGUgaXRlbXMgdGhhdCB3ZSBhcmUg
dHJ5aW5nIHRvIGRpc2N1c3MgYXQgdGhlIHNhbWUgdGltZSwgd2hpY2ggYXJlIHJlYWxseSBvcnRo
b2dvbmFsIHRvIG9uZSBhbm90aGVyOjxicj4NCjxicj4NCi0gVGhlIGZpcnN0IGl0ZW0gY29uY2Vy
bnMgdGhlIGNvbmNlcHQgb2YgYSAmcXVvdDtmaWx0ZXImcXVvdDsgdnMgYSAmcXVvdDtzZWxlY3Rv
ciZxdW90Oy4mbmJzcDsgQSBmaWx0ZXIgaXMgd2hhdCBnZXRzIHNwZWNpZmllZCBmb3IgYW55IHN1
YnNjcmlwdGlvbiB0byBub3RpZmljYXRpb25zLCB3aGljaCBkZWZpbmVzIHdoaWNoIG5vdGlmaWNh
dGlvbnMgYSBzdWJzY3JpYmVyIHdhbnRzIHRvIHJlY2VpdmUuJm5ic3A7IFRoZSBmaWx0ZXIgaXMg
YXBwbGllZCB0byB0aGUgbm90aWZpY2F0aW9uIGFzIGEgd2hvbGUsDQogaS5lLiBlaXRoZXIgdGhl
IG5vdGlmaWNhdGlvbiBpcyBkZWxpdmVyZWQgb3IgaXQgaXMgbm90LiZuYnNwOyBJdCBkb2VzIG5v
dCBhcHBseSB0byBzdWJzZXRzIG9mIGNvbnRlbnRzIHdpdGhpbiB0aGUgbm90aWZpY2F0aW9uLiZu
YnNwOyBBIHNlbGVjdG9yLCBvbiB0aGUgb3RoZXIgaGFuZCwgaXMgdXNlZCB0byBzcGVjaWZ5IHVw
ZGF0ZXMgb2Ygd2hpY2ggZGF0YSBub2RlcyB0byBpbmNsdWRlIGluIGEgWUFORy1wdXNoIHN1YnNj
cmlwdGlvbi4mbmJzcDsgVGhlIHNhbWUgdXBkYXRlDQogbm90aWZpY2F0aW9uIGNvdWxkIGluY2x1
ZGUgdXBkYXRlcyBvZiBzZXZlcmFsIGRhdGEgbm9kZXMsIGhlbmNlIGEgZmlsdGVyIGFwcGxpZWQg
dG8gdGhlIG5vdGlmaWNhdGlvbiBhcyBhIHdob2xlIHdvdWxkIGJlIGluYXBwcm9wcmlhdGUgaGVy
ZSAtIHRoZSBzZW1hbnRpY3MgaXMgc2xpZ2h0bHkgZGlmZmVyZW50OiBhcyBhIHN1YnNjcmliZXIs
ICZxdW90O29mJm5ic3A7IHdoaWNoIGRhdGEgbm9kZXMgd291bGQgeW91IGxpa2UgdG8gcmVjZWl2
ZSB1cGRhdGVzJnF1b3Q7LCBub3QNCiAmcXVvdDt3aGljaCBub3RpZmljYXRpb25zIHdvdWxkIHlv
dSBsaWtlIHRvIHJlY2VpdmUmcXVvdDsuPHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+Jmx0O2V2b2l0Jmd0OyBmdWxs
eSBhZ3JlZS48L3NwYW4+PGJyPg0KPGJyPg0KRmlsdGVycyBhbmQgc2VsZWN0b3JzIGNhbiBiZSBz
cGVjaWZpZWQgdXNpbmcgdGhlIHNhbWUgc3ludGF4LiZuYnNwOyBXZSBhcmUgZmFjZWQgd2l0aCBh
IGNob2ljZSBiZXR3ZWVuIHNwZWNpZnlpbmcgYSBzaW5nbGUgY29uc3RydWN0IGFzIHBhcnQgb2Yg
YSBzdWJzY3JpcHRpb24sIHdoaWNoIGlzIHRyZWF0ZWQgYXMgYSBmaWx0ZXIgKGluIGNhc2Ugb2Yg
YSAmcXVvdDtyZWd1bGFyJnF1b3Q7IHN1YnNjcmlwdGlvbiBmb3Igbm90aWZpY2F0aW9uIHVwZGF0
ZXMpIG9yIGFzIGEgc2VsZWN0b3INCiAoaW4gY2FzZSBvZiBhIHN1YnNjcmlwdGlvbiB0byBkYXRh
c3RvcmUgdXBkYXRlcykgLCBvciBoYXZpbmcgc2VwYXJhdGUgb2JqZWN0cywgaS5lLiBhZGRpbmcg
YSBzZXBhcmF0ZSAmcXVvdDtzZWxlY3RvciZxdW90OyBjb25zdHJ1Y3QgZm9yIFlBTkctcHVzaC4m
bmJzcDsgVXNpbmcgYSBzaW5nbGUgb2JqZWN0IGFtb3VudHMgdG8gb3ZlcmxvYWRpbmcuJm5ic3A7
IEl0IGlzIG1vcmUgY29tcGFjdCBidXQgd2l0aCBhcmd1YWJseSBhIG1vcmUgY29tcGxleCBzZW1h
bnRpY3MuJm5ic3A7IFVzaW5nDQogc2VwYXJhdGUgb2JqZWN0IHJlc3VsdHMgaW4gYSBtb2RlbCB0
aGF0IGlzIG1vcmUgdmVyYm9zZSwgYnV0IGhhcyBhcmd1YWJseSBzaW1wbGVyIHNlbWFudGljcy48
c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojNUI5QkQ1Ij4mbHQ7ZXZvaXQmZ3Q7IEkgZG9u4oCZdCB0aGluayB0aGUgc2VtYW50aWNz
IGFyZSBzaW1wbGVyLiZuYnNwOyBJbiBhbGwgY2FzZXMsIHlvdSBhbHJlYWR5IG5lZWQgYSBmaWx0
ZXItdHlwZSB0byBiZSBhYmxlIHRvIGludGVycHJldCB0aGUgZmlsdGVyIHN5bnRheCAoZS5nLiwg
eHBhdGggdnMuIHN1YnRyZWUpLg0KIFdpdGggdGhpcyBhcyBhIGdpdmVuLCB0aGUgY3VycmVudCBk
cmFmdOKAmXMgb3ZlcmxvYWRpbmcgZG9lcyBoYXZlIGEgZmV3IGJlbmVmaXRzOjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0idGV4dC1pbmRl
bnQ6LS4yNWluO21zby1saXN0OmwxIGxldmVsMSBsZm8xIj48IVtpZiAhc3VwcG9ydExpc3RzXT48
c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6U3ltYm9sO2NvbG9yOiM1QjlCRDUiPjxzcGFuIHN0eWxl
PSJtc28tbGlzdDpJZ25vcmUiPsK3PHNwYW4gc3R5bGU9ImZvbnQ6Ny4wcHQgJnF1b3Q7VGltZXMg
TmV3IFJvbWFuJnF1b3Q7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsNCjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwhW2VuZGlmXT48c3BhbiBzdHlsZT0iY29sb3I6IzVC
OUJENSI+UHJvaGliaXRzIHBvcHVsYXRpb24gb2YgYm90aCBhbiBldmVudCBhbmQgYSBzZWxlY3Rp
b24gZmlsdGVyIOKAkyB0aGVyZSBpcyBvbmx5IGZpbHRlciBvYmplY3QuPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJ0ZXh0LWluZGVudDot
LjI1aW47bXNvLWxpc3Q6bDEgbGV2ZWwxIGxmbzEiPjwhW2lmICFzdXBwb3J0TGlzdHNdPjxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTpTeW1ib2w7Y29sb3I6IzVCOUJENSI+PHNwYW4gc3R5bGU9Im1z
by1saXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBOZXcg
Um9tYW4mcXVvdDsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K
PC9zcGFuPjwvc3Bhbj48L3NwYW4+PCFbZW5kaWZdPjxzcGFuIHN0eWxlPSJjb2xvcjojNUI5QkQ1
Ij5TaW1wbGU6IDE6MSBtYXBwaW5nIGZyb20gUlBDIGZpbHRlciB0byB0aGUgc2luZ2xlIHlhbmcg
ZGF0YSBub2RlIGZpbHRlciBvYmplY3QuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJ0ZXh0LWluZGVudDotLjI1aW47bXNvLWxpc3Q6bDEg
bGV2ZWwxIGxmbzEiPjwhW2lmICFzdXBwb3J0TGlzdHNdPjxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTpTeW1ib2w7Y29sb3I6IzVCOUJENSI+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+wrc8
c3BhbiBzdHlsZT0iZm9udDo3LjBwdCAmcXVvdDtUaW1lcyBOZXcgUm9tYW4mcXVvdDsiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3Nw
YW4+PCFbZW5kaWZdPjxzcGFuIHN0eWxlPSJjb2xvcjojNUI5QkQ1Ij5JdCB0dXJucyBvdXQgdGhh
dCBtb3ZpbmcgdG8gZmlsdGVyIGlkZW50aXRpZXMgZnJvbSBhIHN0cmljdCBleHBsaWNpdC1jYXNl
IGJhc2VkIGhpZXJhcmNoeSBzaW1wbGlmaWVkIHRoZSBtb2RlbCBncm91cGluZ3MuJm5ic3A7IFRo
aXMgcmVtb3ZlZCBhIGZ1bGwgcGFnZSBmcm9tIHRoZSBZQU5HIG1vZGVsIGZyb20gdGhlIHByZXZp
b3VzIHZlcnNpb24uJm5ic3A7IFRoaXMNCiBpcyBnb29kbmVzcy48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9InRleHQtaW5kZW50Oi0uMjVp
bjttc28tbGlzdDpsMSBsZXZlbDEgbGZvMSI+PCFbaWYgIXN1cHBvcnRMaXN0c10+PHNwYW4gc3R5
bGU9ImZvbnQtZmFtaWx5OlN5bWJvbDtjb2xvcjojNUI5QkQ1Ij48c3BhbiBzdHlsZT0ibXNvLWxp
c3Q6SWdub3JlIj7CtzxzcGFuIHN0eWxlPSJmb250OjcuMHB0ICZxdW90O1RpbWVzIE5ldyBSb21h
biZxdW90OyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3Nw
YW4+PC9zcGFuPjwvc3Bhbj48IVtlbmRpZl0+PHNwYW4gc3R5bGU9ImNvbG9yOiM1QjlCRDUiPk5p
Y2VseSBleHRlbnNpYmxlIHZpYSBpZGVudGl0eSBoaWVyYXJjaGllcyAocmF0aGVyIHRoYW4gYWxz
byBhZGRpbmcgYSBwYXJhbGxlbCBjYXNlIHN0cnVjdHVyZSB3aGljaCBuZWVkcyBpbmRlcGVuZGVu
dCB0cmVhdG1lbnQpLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+
SSBjYW4gbGl2ZSB3aXRoIGl0IGlmIHBlb3BsZSB3YW50IHRvIGFkZCBhbiBleHBsaWNpdCBzdWJ0
eXBpbmcgYmFzZWQgb24g4oCYc2VsZWN0aW9u4oCZIGFuZCDigJh0ZXN04oCZLiZuYnNwOyBCdXQg
aXQgc2VlbXMgdG8gYWRkIGNvbXBsZXhpdHkgYW5kIHJpZ2lkaXR5IHRvIG1lLjwvc3Bhbj48YnI+
DQo8YnI+DQotIFRoZSBzZWNvbmQgaXRlbSBjb25jZXJucyB0aGUgaXNzdWUgb2Ygd2hldGhlciB0
aGUgZmlsdGVyL3NlbGVjdG9yIGNvbnN0cnVjdCBoYXMgYSBkeW5hbWljIHR5cGUgb3IgYSBzdGF0
aWMgdHlwZS4mbmJzcDsgVGhpcyBpcyB3aGVyZSB0aGUgaXNzdWUgb2YgaWRlbnRpdHkgdnMgY2Fz
ZSBzdGF0ZW1lbnQgZXRjIGNvbWVzIGluLiZuYnNwOyBJbiBjYXNlIG9mIGEgZHluYW1pYyB0eXBl
LCB3ZSB1c2UgdHdvIG9iamVjdHM6Jm5ic3A7IE9uZSBvYmplY3Qgb2YgYSBnZW5lcmljDQogdHlw
ZSAoYW55ZGF0YSkgaG9sZHMgdGhlIGZpbHRlci9zZWxlY3RvciBjb25zdHJ1Y3QgaXRzZWxmLCB0
aGUgc2Vjb25kIG9iamVjdCBzcGVjaWZpZXMgaG93IHRvIGludGVycHJldCBpdCwgaS5lLiB3aGlj
aCB0eXBlIGl0IGlzLiZuYnNwOyAoSW4gY2FzZSBvZiAmcXVvdDtvdmVybG9hZGluZywgd2UgY2Fu
IGFsc28gbWFrZSBleHBsaWNpdCB0aGUgZGlzdGluY3Rpb24gd2hldGhlciBpdCBpcyBhIGZpbHRl
ciBvciBhIHNlbGVjdG9yKS4mbmJzcDsgVGhhdCBzZWNvbmQgb2JqZWN0DQogaXMgYW4gaWRlbnRp
dHlyZWYsIHJlZmVyZW5jaW5nIG9uZSBvZiB0aGUgaWRlbnRpdGllcyB0aGF0IGRlc2lnbmF0ZXMg
dGhlIGZpbHRlci9zZWxlY3RvciB0eXBlLiZuYnNwOyBJbiBjYXNlIG9mIGEgc3RhdGljIHR5cGUs
IHdlIHVzZSBhIGNhc2Ugc3RhdGVtZW50ICh0byBkaXN0aW5ndWlzaCB3aGljaCBzcGVjaWZpYyB0
eXBlIGl0IGlzKS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+Jmx0O2V2b2l0
Jmd0OyBUaGVyZSBhcmUgc28gbWFueSB2YXJpYXRpb25zIG9mIGZpbHRlciB0eXBlcywgaGF2aW5n
IHR3byBpbmRlcGVuZGVudCwgaW50ZXJzZWN0aW5nIGNvbnN0cnVjdHMgZG9lc27igJl0IHNlZW0g
YmVuZWZpY2lhbCB0byBtZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48YnI+DQo8YnI+DQpUaGUgYXJndW1lbnQgdGhhdCBFcmljIGlzIG1ha2luZyBpcyB0aGF0
IHdlIHNob3VsZCBoYXZlIGEgc2luZ2xlIG92ZXJsb2FkZWQgb2JqZWN0IHRoYXQgY2FuIHNlcnZl
IGFzIGEgZmlsdGVyIG9yIGEgc2VsZWN0b3IgZGVwZW5kaW5nIG9uIHRoZSBjb250ZXh0IGFuZCB3
aGV0aGVyIGl0IGlzIHVzZWQgaW4gYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIG9yIGEgWUFO
Ry1wdXNoIHN1YnNjcmlwdGlvbiwgYW5kIHRoYXQgd2UgdXNlIGEgZHluYW1pYw0KIHR5cGUgaW5j
bHVkaW5nIGFuIGlkZW50aXR5cmVmIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9iamVjdCBz
ZXJ2ZXMgYXMgYSBzZWxlY3RvciBvciBhIGZpbHRlci4mbmJzcDsgRnJvbSBteSBwZXJzcGVjdGl2
ZSwgSSBmZWVsIHRoYXQgbm90IG92ZXJsb2FkaW5nIG1heSBiZSBjb25jZXB0dWFsbHkgYSBiaXQg
JnF1b3Q7Y2xlYW5lciZxdW90OywgYnV0IGF0IHRoZSBlbmQgb2YgdGhlIGRheSBJIGFtIGZpbmUg
ZWl0aGVyIHdheS4mbmJzcDsgQW5kIEkgYW0gbm90IGVudGlyZWx5DQogc3VyZSwgTWFydGluLCB3
aGF0IHlvdSBhcmUgcHJvcG9zaW5nLiZuYnNwOyBFaXRoZXIgd2F5LCB3ZSBzaG91bGQgZG9jdW1l
bnQgdGhlIGlzc3VlIGFuZCBvdXIgY2hvaWNlIGNsZWFybHkuPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiM1QjlCRDUiPiZsdDtlcmljJmd0OyBZZXMuJm5ic3A7IElmIHdlIGRvIGdvIHdpdGgg
dGhlIG92ZXJsb2FkaW5nLCBoZXJlIGlzIGhvdyBJIHdvdWxkIGNvbnN0cnVjdCBpdOKApjo8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzVCOUJENSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM1QjlCRDUiPihhKSBJbiBzdWJzY3JpYmVk
LW5vdGlmaWNhdGlvbnMsIHVwZGF0ZSB0aGUgaWRlbnRpdHkgZmlsdGVycyBzbyB0aGUgZm9sbG93
aW5nIGFyZSBjb3ZlcmVkOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImNvbG9yOiM3MEFENDciPklkZW50aXR5IGZpbHRlcjs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzcwQUQ0NyI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7IElkZW50aXR5IHRlc3QtZmlsdGVyIHtiYXNlIGZpbHRlcjt9PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiM3
MEFENDciPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJZGVudGl0eSB4cGF0
aC10ZXN0LWZpbHRlciB7YmFzZSZuYnNwOyB0ZXN0LWZpbHRlcjt9PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiM3MEFENDciPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJZGVudGl0eSZuYnNwOyBzdWJ0cmVl
LXRlc3QtZmlsdGVyIHtiYXNlIHRlc3QtZmlsdGVyO308bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij4oYikgSW4gWUFORyBQdXNoLCB1
cGRhdGUgdGhlIGlkZW50aXR5IGZpbHRlcnMgc28gdGhlIGZvbGxvd2luZyBhcmUgY292ZXJlZDo8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojNzBBRDQ3
Ij5JZGVudGl0eSBub2RlLXNlbGVjdGlvbi1jcml0ZXJpYSB7YmFzZSBzbjpmaWx0ZXI7fTxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv
cjojNzBBRDQ3Ij4mbmJzcDsmbmJzcDsmbmJzcDsgSWRlbnRpdHkgc3VidHJlZS1ub2RlLXNlbGVj
dGlvbi1jcml0ZXJpYSB7YmFzZSBub2RlLXNlbGVjdGlvbi1jcml0ZXJpYTt9PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiM3MEFE
NDciPiZuYnNwOyZuYnNwOyZuYnNwOyBJZGVudGl0eSB4cGF0aC1ub2RlLXNlbGVjdGlvbi1jcml0
ZXJpYSB7YmFzZSBub2RlLXNlbGVjdGlvbi1jcml0ZXJpYTt9PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+KGMpIGluIHN1YnNjcmli
ZWQtbm90aWZpY2F0aW9ucywgaW1wcm92ZSB0aGUgZGVmaW5pdGlvbiBvZiAmbmJzcDvigJxhbnl4
bWwgZmlsdGVy4oCdIHRvPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiM3MEFENDciPiZxdW90O0V2YWx1YXRpb24gY3JpdGVyaWEg
ZW5jb2RlZCBpbiBhIHN5bnRheCBvZiBhIGZpbHRlci10eXBlLiZuYnNwOyBJZiB0aGUgZmlsdGVy
IGlzIGFwcGxpZWQgYWdhaW5zdCBhbiBldmVudCBzdHJlYW0gYW5kIHRoZXJlIGlzIGEgbm9uLWVt
cHR5IG9yIHBvc2l0aXZlIHJlc3VsdCwgdGhlIGV2ZW50IGlzIHBhc3NlZCBhbG9uZy4mbmJzcDsg
SWYgdGhlIGZpbHRlciBpcyBhcHBsaWVkIGFnYWluc3QNCiBhIGRhdGFzdG9yZSBmb3IgcGVyaW9k
aWMgZXh0cmFjdHMsIHRoZSByZXN1bHRpbmcgbm9kZS1zZXQgcmVzdWx0IGlzIHBhc3NlZCBhbG9u
Zy4gSWYgdGhlIGZpbHRlciBpcyBhcHBsaWVkIGFnYWluc3QgYSBkYXRhc3RvcmUgbG9va2luZyBm
b3IgY2hhbmdlcywgZGVsdGFzIGZyb20gdGhlIGxhc3QgdXBkYXRlIGluIHRoZSBmb3JtIG9mIGEg
cGF0Y2ggcmVzdWx0IGFyZSBwYXNzZWQgYWxvbmcuJnF1b3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KPGJyPg0KLS0tIEFsZXg8YnI+DQo8YnI+DQo8
YnI+DQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxicj4NCkZyb206IE1hcnRpbiBCam9ya2x1
bmQgW21haWx0bzo8YSBocmVmPSJtYWlsdG86bWJqQHRhaWwtZi5jb20iPm1iakB0YWlsLWYuY29t
PC9hPl08YnI+DQpTZW50OiBXZWRuZXNkYXksIE1heSAyNCwgMjAxNyAxMjozNiBBTTxicj4NClRv
OiA8YSBocmVmPSJtYWlsdG86ZXZvaXRAY2lzY28uY29tIj5ldm9pdEBjaXNjby5jb208L2E+PGJy
Pg0KQ2M6IEFsZXhhbmRlciBDbGVtbSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFsZXhhbmRlci5jbGVt
bUBodWF3ZWkuY29tIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJl
Zj0ibWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmciPm5ldGNvbmZAaWV0Zi5vcmc8L2E+PGJyPg0KU3Vi
amVjdDogUmU6IFtOZXRjb25mXSBJbiBhbiB1cGRhdGUsIHdoZW4gaXMgYSBkZWxldGUgYSBkZWxl
dGU/PGJyPg0KPGJyPg0KJnF1b3Q7RXJpYyBWb2l0IChldm9pdCkmcXVvdDsgJmx0OzxhIGhyZWY9
Im1haWx0bzpldm9pdEBjaXNjby5jb20iPmV2b2l0QGNpc2NvLmNvbTwvYT4mZ3Q7IHdyb3RlOjxi
cj4NCiZndDsgJmd0OyBGcm9tOiBNYXJ0aW4gQmpvcmtsdW5kLCBNYXkgMjMsIDIwMTcgMTo1NyBQ
TTxicj4NCiZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmcXVvdDtFcmljIFZvaXQgKGV2b2l0KSZx
dW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmV2b2l0QGNpc2NvLmNvbSI+ZXZvaXRAY2lzY28uY29t
PC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBNYXJ0aW4gQmpvcmtsdW5k
LCBNYXkgMjIsIDIwMTcgMzozMCBQTTxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7IEFsZXhhbmRlciBDbGVtbSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFsZXhh
bmRlci5jbGVtbUBodWF3ZWkuY29tIj5hbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbTwvYT4mZ3Q7
IHdyb3RlOjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBIaSBNYXJ0aW4sPGJyPg0KJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEFsbW9z
dCBvdmVybG9va2VkIHlvdXIgcXVlc3Rpb24gYmVsb3cuJm5ic3A7IFdoYXQgaXMgbWVhbnQgYnkg
dGhlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGZpbHRlciBpcyBzcGVjaWZpZWQgaW4g
c2VjdGlvbiAzLjUgb2YgdGhlIFlBTkctUHVzaCBkb2N1bWVudC48YnI+DQomZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJnF1b3Q7T25seSBhIHNp
bmdsZSBmaWx0ZXIgY2FuIGJlIGFwcGxpZWQgdG8gYSBzdWJzY3JpcHRpb24gYXQgYSB0aW1lLjxi
cj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBUaGUgZm9sbG93aW5nIGZpbHRlciB0eXBlcyBh
cmUgaW5jbHVkZWQgaW4gdGhlIHlhbmctcHVzaCBkYXRhIG1vZGVsOjxicj4NCiZndDsgJmd0OyAm
Z3Q7ICZndDsgJmd0OyBbc3VidHJlZV0gW3hwYXRoXSZxdW90Ozxicj4NCiZndDsgJmd0OyAmZ3Q7
ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IEFjdHVhbGx5LCBvbmx5ICZxdW90O3N1YnRy
ZWUmcXVvdDsgaXMgZGVmaW5lZCBpbiB5YW5nLXB1c2gsICZxdW90O3hwYXRoJnF1b3Q7IGlzPGJy
Pg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBkZWZpbmVkIGluIHN1YnNjcmliZWQtbm90aWZpY2F0aW9u
cy48YnI+DQomZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7IEF0IHRoZSB0b3Agb2Yg
eWFuZy1wdXNoIHBhZ2UgNywgeHBhdGggc2VsZWN0aW9uIGlzIGRlc2NyaWJlZC4mbmJzcDsgSXM8
YnI+DQomZ3Q7ICZndDsgJmd0OyB0aGVyZSBzb21ldGhpbmcgeW91IGZlZWwgbWlzc2luZz88YnI+
DQomZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgWWVzLiZuYnNwOyBGaXJzdCBvZiBhbGwsIHRoZSBZ
QU5HIG1vZHVsZSBkZWZpbmVzIGFuIGlkZW50aXR5IGNhbGxlZDxicj4NCiZndDsgJmd0OyAmcXVv
dDt4cGF0aCZxdW90OywgYmFzZWQgb24gJnF1b3Q7c246ZmlsdGVyJnF1b3Q7LiZuYnNwOyBTbyB0
aGlzIGZpbHRlciBoYXMgbm90aGluZyB0byBkbzxicj4NCiZndDsgJmd0OyB3aXRoIHNlbGVjdGlu
ZyBub2RlcyBpbiBhIGRhdGFzdG9yZTsgdGhpcyBmaWx0ZXIgaXMgdXNlZCB0byBtYXRjaDxicj4N
CiZndDsgJmd0OyBhZ2FpbnN0IGEgZ2VuZXJhdGVkIG5vdGlmaWNhdGlvbiByZWNvcmQuPGJyPg0K
Jmd0Ozxicj4NCiZndDsgVG8gYWRkcmVzcyB0aGlzIHdlIGNvdWxkIHNwbGl0IHRoZSB4cGF0aCBp
ZGVudGl0eSBpbnRvIHR3byB0eXBlczo8YnI+DQomZ3Q7ICZxdW90O3hwYXRoLXNlbGVjdGlvbiZx
dW90OyBhbmQgJnF1b3Q7eHBhdGgtYm9vbGVhbiZxdW90Oy4mbmJzcDsgVGhlc2Ugd291bGQgaGF2
ZSBkaWZmZXJlbnQ8YnI+DQomZ3Q7IGRlZmluaXRpb25zLCBidXQgYm90aCByZWZlcmVuY2U8YnI+
DQomZ3Q7IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzE5OTkvUkVDLXhwYXRoLTE5OTkx
MTE2IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy53My5vcmcvVFIvMTk5OS9SRUMteHBhdGgt
MTk5OTExMTY8L2E+IC4mbmJzcDsgVGhlIGRpZmZlcmVuY2UgaXMgdGhhdDxicj4NCiZndDsgb25l
IHJlc3VsdHMgaW4gYSB4cGF0aCBub2RlLXNldCBleHByZXNzaW9uLCBhbmQgdGhlIG90aGVyIGFu
IHhwYXRoPGJyPg0KJmd0OyBCb29sZWFuIGV4cHJlc3Npb24uJm5ic3A7IE1ha2Ugc2Vuc2U/PGJy
Pg0KPGJyPg0KTm90IHJlYWxseS4mbmJzcDsgSW4gc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zIHlv
dSBoYXZlIGRlZmluZWQgYSBnZW5lcmljIGZpbHRlciBtZWNoYW5pc20sIHRoYXQgaXMgdXNlZCB0
byBibG9jay9hbGxvdyB0aGUgc2VuZGluZyBvZiBnZW5lcmF0ZWQgbm90aWZpY2F0aW9ucyB0byBh
IHN1YnNjcmliZXIuJm5ic3A7IFRoaXMgZmlsdGVyIG1lY2hhbmlzbSBjYW5ub3QgYmUgdXNlZCB0
byBzZWxlY3Qgbm9kZXMgdG8gc3Vic2NyaWJlIHRvIGZvciBjaGFuZ2VzIGluIGENCiBkYXRhc3Rv
cmUuJm5ic3A7IFlvdSBuZWVkIHRvIGRlZmluZSBhIHNlcGFyYXRlIG1lY2hhbnNpbSBmb3IgdGhh
dCBpbiB5YW5nLXB1c2guJm5ic3A7IChNYXliZSBub3QgZXZlbiBjYWxsIGl0ICZxdW90O2ZpbHRl
ciZxdW90OywgYnV0IHBlcmhhcHMgJnF1b3Q7c2VsZWN0aW9uJnF1b3Q7KS48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiM1QjlCRDUiPiZsdDtldm9pdCZndDsgc2VlIGFib3ZlLiZuYnNwOyBTZWxlY3Rpb24gaXMgbm93
IHBhcnQgb2YgdGhlIGZpbHRlciBpZGVudGlmeSBoaWVyYXJjaHkuPC9zcGFuPjxicj4NCjxicj4N
ClNvbWUgY29tbWVudHMgb24gc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zOiBUaGlzIGdlbmVyaWMg
bWVjaGFuaXNtIGFsbG93cyB2YXJpb3VzIGZpbHRlciBzeW50YXhlcy4mbmJzcDsgVGhpcyBnZW5l
cmljIG1lY2hhbmlzbSBuZWVkcyB0byBleHBsYWluIHdoYXQgaXMgcmVxdWlyZWQgYnkgYSBmaWx0
ZXIgc3ludGF4IGRlZmluaXRpb24gKGFuIGlkZW50aXR5LCBldmFsdWF0aW9uIHJ1bGVzKS4mbmJz
cDsgSW4gc2VjdGlvbiAyLjIgdGhlIGRvY3VtZW50IHNheXMgdGhhdA0KIHR3byBmaWx0ZXIgc3lu
dGF4ZXMgYXJlIHN1cHBvcnRlZCwgYnV0IG9ubHkgb25lIGlzIGRlZmluZWQgKHhwYXRoKS4mbmJz
cDsgSXQgbmVlZHMgdG8gZXhwbGFpbiB0aGF0IGEgZmlsdGVyIGlzIHN1cHBvc2VkIHRvIHJldHVy
biB0cnVlIG9yIGZhbHNlICh0aGlzIHBhcnQgUkZDIDUyNzcgZ290IHJpZ2h0LCBzZWUgc2VjdGlv
biAzLjYpLiZuYnNwOyBBbHNvLCB0aGUgY3VycmVudCBtb2R1bGUgaGFzIHRoZSBmaWx0ZXIgaW4g
YW4gYW55eG1sIG5vZGU7IGl0IGlzIG5vdA0KIGNsZWFyIGhvdyBhbiBYUGF0aCBleHByZXNzaW9u
IGlzIGVuY29kZWQgaW4gYW55eG1sLjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzVCOUJENSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM1QjlCRDUiPkkgYW0gaG9waW5nIHRvIGxl
YXZlIHhwYXRoIGV4cHJlc3Npb24gZW5jb2RpbmcgdXAgdG8gdGhlIHZlbmRvci4mbmJzcDsgSSBz
dXNwZWN0IHRoYXQgYXR0ZW1wdGluZyB0byBjb21lIHVwIHdpdGggc29tZSBjcm9zcy12ZW5kb3Ig
cGFyc2VhYmxlIGVuY29kaW5nIG1lY2hhbmlzbSBpcw0KIHVubGlrZWx5IHRvIG1ha2UgdGhlIHhw
YXRoIGZpbHRlciBkZWZpbml0aW9ucyB0aGVtc2VsdmVzIGNyb3NzLXZlbmRvciBhbnl3YXkuJm5i
c3A7IFdlIHNob3VsZCB3YWl0IGZvciBzb21lb25lIHdobyB3YW50cyB0byBwaWNrIHVwIGdlbmVy
YWwgZmlsdGVyaW5nIGFzIGEgdG9waWMgcmF0aGVyIHRoYW4gYWRkcmVzc2luZyB0aGlzIHBpZWNl
bWVhbC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxicj4NCiZndDsgJmd0OyBTZWNvbmQsIHRoZSBYUGF0aCBmaWx0ZXIgaXMgc29yZWx5IHVu
ZGVyc3BlY2lmaWVkLiZuYnNwOyBUaGUgWFBhdGg8YnI+DQomZ3Q7ICZndDsgY29udGV4dCBpcyBu
b3QgZGVzY3JpYmVkLDxicj4NCiZndDs8YnI+DQomZ3Q7IEkgdW5kZXJzdGFuZCBhbmQgYWdyZWUg
b24geW91ciBjb21tZW50IGFib3V0IHRoZSBjb250ZXh0LiZuYnNwOyBUaGUgaW50ZW50PGJyPg0K
Jmd0OyBoZXJlIGlzIHRvIHByb3ZpZGUgZXF1aXZhbGVudCBjYXBhYmlsaXRpZXMgb2YgYSBHRVQu
PGJyPg0KPGJyPg0KSSB1bmRlcnN0YW5kIHRoYXQuPGJyPg0KPGJyPg0KJmd0OyBBcyBpdCB3b3Vs
ZCBiZSBhPGJyPg0KJmd0OyBodWdlIHVuZGVydGFraW5nIHRvIHRyeSB0byBjb25zb2xpZGF0ZSBh
biBpbmR1c3RyeS13aWRlIHZpZXcgb2YgdGhlPGJyPg0KJmd0OyBtaW5pbWFsIHhwYXRoIHN5bnRh
eCBhbmQgY2FwYWJpbGl0aWVzIGluIG5ldHdvcmtpbmc8YnI+DQo8YnI+DQpFaGguLi4geWVzPyZu
YnNwOyBXaGF0IGRvZXMgdGhpcyBoYXZlIHRvIGRvIHdpdGggc3BlY2lmaXlpbmcgdGhlIFhQYXRo
IGNvbnRleHQ/PGJyPg0KPGJyPg0KJmd0OyAsIEkgYW0gaG9waW5nIHRoaXM8YnI+DQomZ3Q7IGRv
ZXNuJ3QgZmFsbCB1bmRlciB0aGUgdW1icmVsbGEgb2YgWUFORyBzdWJzY3JpcHRpb24uJm5ic3A7
IEkgd291bGQgYmUgZ2xhZDxicj4NCiZndDsgdG8gc3VwcG9ydCBzb21lb25lIHdobyB3aXNoZXMg
dG8gdGFrZSB0aGlzIHVwIHRob3VnaC48YnI+DQomZ3Q7PGJyPg0KJmd0OyAmZ3Q7IHRoZSBleHBl
Y3RlZCByZXN1bHQgZGF0YSB0eXBlIGlzIG5vdCBkZWZpbmVkLCBhbmQgaXQgaXMgbm90PGJyPg0K
Jmd0OyAmZ3Q7IGRlc2NyaWJlZCBob3cgdGhlIHJlc3VsdCBpcyBzdXBwb3NlZCB0byBiZSB1c2Vk
Ljxicj4NCiZndDs8YnI+DQomZ3Q7IEFzIGZvciB0aGUgcmVzdWx0LCB0aGUgYW55ZGF0YSBvdXRw
dXQgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZTxicj4NCiZndDsgc3Vic2NyaWJlciAod2l0aCBh
cHByb3ByaWF0ZSBzZWN1cml0eSBhcHBsaWVkKS48YnI+DQo8YnI+DQpJIHdhcyByZWZlcnJpbmcg
dG8gdGhlIG91dHB1dCBvZiB0aGUgZmlsdGVyIGV2YWx1YXRpb24uPGJyPg0KPGJyPg0KJmd0OyBU
aGV5IGNhbiBkZXRlcm1pbmU8YnI+DQomZ3Q7IGhvdyB0byB1c2UgaXQuJm5ic3A7IFRoZSBwcmVm
ZXJyZWQgZW1ib2RpbWVudCB3b3VsZCBiZSB0byBtYWludGFpbiBhIGxvY2FsPGJyPg0KJmd0OyBl
eHRyYWN0IG9mIHRoZSBQdWJsaXNoZXIncyBkYXRhc3RvcmUgKGFzIGRlZmluZWQgYnkgdGhlIGZp
bHRlcikuPGJyPg0KJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsmbmJzcDsgW1NpZGUgbm90
ZSAtIEkgdGhpbmsgdGhpcyBpcyB3cm9uZywgc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zPGJyPg0K
Jmd0OyAmZ3Q7ICZndDsgJmd0OyBzaG91bGQgYWxzbyBkZWZpbmUgJnF1b3Q7c3VidHJlZSZxdW90
Oy5dPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgQnV0
IHRoZXNlIGZpbHRlcnMgYXJlIHVzZWQgYnkgdGhlIHNlcnZlciB0byBkZWNpZGUgaWYgYSBjZXJ0
YWluPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBub3RpZmljYXRpb24gdGhhdCBoYXMgYmVlbiBn
ZW5lcmF0ZWQgd2lsbCBiZSBzZW50IHRvIHRoZSBjbGllbnQ8YnI+DQomZ3Q7ICZndDsgJmd0OyAm
Z3Q7IG9yIG5vdC48YnI+DQomZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7IFllcywg
dGhlIGZpbHRlcnMgaW4gc3Vic2NyaWJlZC1ub3RpZmljYXRpb24gYXJlIHN1cHBvc2VkIHRvIGdp
dmUgYTxicj4NCiZndDsgJmd0OyAmZ3Q7IGJvb2xlYW4gaW5kaWNhdGlvbiBhcyB0byB3aGV0aGVy
IGEgc3BlY2lmaWMgZXZlbnQgc2hvdWxkIHRyYXZlcnNlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgdGhl
IGZpbHRlciBpbiBpdHMgZW50aXJldHkuIFJGQzYyNDEgc2VjdGlvbiA2IHN1YnRyZWUgZmlsdGVy
cyBhcmU8YnI+DQomZ3Q7ICZndDsgJmd0OyB3cml0dGVuIHRvIHByb3ZpZGUgYSBzdWJzZXQgb2Yg
Y29udGVudC4mbmJzcDsgSSBzdXBwb3NlIGl0IHdvdWxkIGJlPGJyPg0KJmd0OyAmZ3Q7ICZndDsg
cG9zc2libGUgdG8gZGVmaW5lIGFuIGV2ZW50LWJhc2VkIHN1YnRyZWUtZmlsdGVyLXR5cGUgd2hl
cmUgYTxicj4NCiZndDsgJmd0OyAmZ3Q7IG5vbi1udWxsIHJlc3VsdCBvZiB0aGUgc3VidHJlZSBm
aWx0ZXIgbWVhbnMgdGhhdCBhIHBhcnRpY3VsYXI8YnI+DQomZ3Q7ICZndDsgJmd0OyBldmVudCBz
aG91bGQgdHJhdmVyc2UgdGhhdCBmaWx0ZXIuJm5ic3A7IElzIHRoaXMgd2hhdCB5b3UgYXJlIHN1
Z2dlc3Rpbmc/PGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7IFllcy4mbmJzcDsgTm90ZSB0
aGF0IHRoaXMgaXMgYWxyZWFkeSBwcm92aWRlZCBieSBSRkMgNTI3NywgYW5kIEkgaGF2ZTxicj4N
CiZndDsgJmd0OyBhbHdheXMgYXNzdW1lZCB0aGF0IHRoaXMgbmV3IHdvcmsgd2lsbCBwcm92aWRl
IGF0IGxlYXN0IHRoZSBzYW1lPGJyPg0KJmd0OyAmZ3Q7IGZ1bmN0aW9ucyBhcyBSRkM8YnI+DQom
Z3Q7ICZndDsgNTI3NyAoYW5kIG1vcmUpLiZuYnNwOyAoQnV0IG5vdGUgdGhhdCB0aGUgWFBhdGgg
ZmlsdGVyIGlzIHVuZGVyc3BlY2lmaWVkPGJyPg0KJmd0OyAmZ3Q7IGFsc28gaW4gUkZDPGJyPg0K
Jmd0OyAmZ3Q7IDUyNzcuLi4pPGJyPg0KJmd0Ozxicj4NCiZndDsgSSBhbHNvIHdhbnQgdG8gbWFr
ZSBzdXJlIHRoYXQgYSBub24tbnVsbCByZXN1bHQgZnJvbSBhIGZpbHRlciBhbGxvd3M8YnI+DQom
Z3Q7IHRoZSBldmVudCB0byBwYXNzLiZuYnNwOyBJIHN1c3BlY3QgdGhhdCBhbiB4cGF0aCBCb29s
ZWFuIGZpbHRlciBjb3VsZCBiZTxicj4NCiZndDsgZGVzaWduZWQgdG8gZG8gdGhpcywgYnV0IEkg
d2lsbCB0d2VhayB0aGUgc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zPGJyPg0KJmd0OyB0ZXh0IHNv
IHRoYXQgdW5uZWNlc3NhcnkgZmlsdGVyaW5nIGV4cHJlc3Npb24gY29tcGxleGl0eSBpcyBub3Q8
YnI+DQomZ3Q7IGFydGlmaWNpYWxseSByZXF1aXJlZC48YnI+DQo8YnI+DQpQbGVhc2UgbWFrZSBz
dXJlIHlvdSB1bmRlcnN0YW5kIGhvdyBzdWJ0cmVlIGZpbHRlcnMgYW5kIFhQYXRoIGZpbHRlcnMg
d29yayBpbiBSRkMgNTI3Ny4mbmJzcDsgVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQg
ZnVuY3Rpb25hbGl0eS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzVCOUJENSI+Jmx0O2V2
b2l0Jmd0OyAxMDAlIGFncmVlLiZuYnNwOyBJIHdpbGwgbWFrZSBzdXJlIHRoZSB0ZXh0IGNvdmVy
cyB0aGlzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojNUI5QkQ1Ij48YnI+DQpFcmljPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBJ
ZiB5b3Ugd2FudCB0byBkZWZpbmUgZmlsdGVycyB0byBzcGVjaWZpZnkgd2hpY2ggbm9kZXMgdG88
YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IHN1YnNjcmliZSB0bywgSSB0aGluayB5b3UgbmVlZCB0
byBkZWZpbmUgbmV3IGZpbHRlcnMsIG5vdCB0cnkgdG88YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7
IHJldWVzZSB0aGVzZSBub3RpZmljYXRpb24gZmlsdGVycy48YnI+DQomZ3Q7ICZndDsgJmd0Ozxi
cj4NCiZndDsgJmd0OyAmZ3Q7IEZpbHRlcmluZyBzeW50YXggaXMgaGFyZCwgc28gd2UgaGF2ZSBi
ZWVuIHRyeWluZyB0byBhZG9wdCB3aGF0ZXZlcjxicj4NCiZndDsgJmd0OyAmZ3Q7IGlzIGF2YWls
YWJsZSBmb3IgR0VULiZuYnNwOyBUaGlzIHdheSB3ZSBkb24ndCBoYXZlIHRvIGVkdWNhdGUgdXNl
cnMgb248YnI+DQomZ3Q7ICZndDsgJmd0OyBhIG5ldyB1bml2ZXJzZSBvZiB3aGF0IGlzIHBvc3Np
YmxlLiZuYnNwOyBJIGZ1bGx5IGV4cGVjdCB0aGF0IGxvdHMgb2Y8YnI+DQomZ3Q7ICZndDsgJmd0
OyBsZWFybmluZ3MgYXJlIGdvaW5nIHRvIGNvbWUgaW4gdGhlIGluZHVzdHJ5IGhlcmUgb3ZlciB0
aW1lLCBhbmQ8YnI+DQomZ3Q7ICZndDsgJmd0OyB0aGlzIHdpbGwgYmUgcmV2aXNpdGVkIGluIHRo
ZSBmdXR1cmUuPGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ID88YnI+DQomZ3Q7ICZndDs8
YnI+DQomZ3Q7ICZndDsgSSBhbSBub3QgcHJvcG9zaW5nIGFueSBuZXcgZmlsdGVyIHN5bnRheC4m
bmJzcDsgSSBhbSBzYXlpbmcgdGhhdCB0aGU8YnI+DQomZ3Q7ICZndDsgY3VycmVudCBmaWx0ZXIg
bm9kZXMgYXMgZGVmaW5lZCBpbiBzdWJzY3JpYmVkLW5vdGlmaWNhdGlvbiBjYW5ub3QgYmU8YnI+
DQomZ3Q7ICZndDsgdXNlZCB0byBzZWxlY3Qgbm9kZXMgdG8gc3Vic2NyaWJlIHRvIGZvciBjaGFu
Z2VzLjxicj4NCiZndDs8YnI+DQomZ3Q7IFVuZGVyc3RhbmQuJm5ic3A7IEhvcGVmdWxseSB3aXRo
IHRoZSAmcXVvdDt4cGF0aC1zZWxlY3Rpb24mcXVvdDsgY2hhbmdlIHByb3Bvc2VkPGJyPg0KJmd0
OyBhYm92ZSwgdGhpcyB3aWxsIGJlIGNvdmVyZWQuPGJyPg0KPGJyPg0KTm8sIHNlZSBhYm92ZS48
YnI+DQo8YnI+DQo8YnI+DQovbWFydGluPGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KJmd0Ozxicj4N
CiZndDsgRXJpYzxicj4NCiZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IEFzIGZvciB5b3Vy
IHF1ZXN0aW9uLCBJIHRoaW5rIHN1Y2ggYSBmaWx0ZXIgc2hvdWxkIGJlIGRlZmluZWQgdG88YnI+
DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IHJldHVybiBhIG5vZGUtIHNldCB0byB3aGljaCB0aGUgY2xp
ZW50IHN1YnNjcmliZSB0byBjaGFuZ2VzLiZuYnNwOyBJZjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZn
dDsgYW55IG5vZGUgKG9yIHN1Ym5vZGU8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRvKSBpbjxi
cj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgdGhpcyBub2RlLXNldCBjaGFuZ2VzLCB0aGUgbm90aWYg
d2lsbCBiZSBzZW50LiZuYnNwOyBUaGVuIHRoZTxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgcXVl
c3Rpb24gYWJvdXQgdmFsdWUgY29tcGFyaXNpb24gaXMgbm90IHJlbGV2YW50IGFueW1vcmUuPGJy
Pg0KJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyBFeGNlbGxlbnQsIG9uLWNoYW5n
ZSBzaG91bGQgb25seSBzZW5kIGFuIHVwZGF0ZSBpZiB0aGUgcmVzdWx0cyBvZjxicj4NCiZndDsg
Jmd0OyAmZ3Q7IHRoZSBzdWJzY3JpcHRpb24gZmlsdGVyIGhhdmUgY2hhbmdlZCBzaW5jZSB0aGUg
cHJldmlvdXMgcHVzaC4mbmJzcDsgSXQ8YnI+DQomZ3Q7ICZndDsgJmd0OyBpcyBxdWl0ZSBwb3Nz
aWJsZSB0aGF0IGFuIG9iamVjdCBoYXMgYmVlbiBjcmVhdGVkIGFuZCB0aGVuIGRlbGV0ZWQ8YnI+
DQomZ3Q7ICZndDsgJmd0OyBzaW5jZSB0aGUgbGFzdCBwdXNoLjxicj4NCiZndDsgJmd0Ozxicj4N
CiZndDsgJmd0OyBJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB5b3UncmUgdHJ5aW5nIHRvIHNheSB3
aXRoIHRoZXNlIHNlbnRlbmNlczxicj4NCiZndDsgJmd0OyAoYnV0IHNpbmNlIHRoZSBmaXJzdCB3
b3JkIHdhcyAmcXVvdDtFeGNlbGxlbnQmcXVvdDsgbWF5YmUgaXQncyBvayA7KTxicj4NCiZndDsg
Jmd0Ozxicj4NCiZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAvbWFydGluPGJyPg0KJmd0OyAmZ3Q7
PGJyPg0KJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgUmVwcmVzZW50aW5nIHRoaXMgd2Fz
IHRoZSBnZW5lc2lzIG9mIEFsZXgncyBxdWVzdGlvbi48YnI+DQomZ3Q7ICZndDsgJmd0Ozxicj4N
CiZndDsgJmd0OyAmZ3Q7IEVyaWM8YnI+DQomZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAm
Z3Q7ICZndDsgL21hcnRpbjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsg
Jmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZn
dDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEluIGVmZmVjdCwgdGhlIGZpbHRlciBzcGVj
aWZpZXMgd2hpY2ggZGF0YSBub2RlcyB0byBjb25zaWRlcjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZn
dDsgJmd0OyB3aGVuIHNlbmRpbmcgdXBkYXRlcy48YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tQWxleDxicj4NCiZndDsgJmd0OyAm
Z3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0OyAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLTxicj4NCiZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0OyBGcm9tOiBNYXJ0aW4gQmpvcmtsdW5kIFttYWlsdG86PGEgaHJlZj0i
bWFpbHRvOm1iakB0YWlsLWYuY29tIj5tYmpAdGFpbC1mLmNvbTwvYT5dPGJyPg0KJmd0OyAmZ3Q7
ICZndDsgJmd0OyAmZ3Q7IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDE3LCAyMDE3IDExOjUwIFBNPGJy
Pg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFRvOiBBbGV4YW5kZXIgQ2xlbW0gJmx0OzxhIGhy
ZWY9Im1haWx0bzphbGV4YW5kZXIuY2xlbW1AaHVhd2VpLmNvbSI+YWxleGFuZGVyLmNsZW1tQGh1
YXdlaS5jb208L2E+Jmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBDYzogPGEgaHJl
Zj0ibWFpbHRvOm5ldGNvbmZAaWV0Zi5vcmciPm5ldGNvbmZAaWV0Zi5vcmc8L2E+PGJyPg0KJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFN1YmplY3Q6IFJlOiBbTmV0Y29uZl0gSW4gYW4gdXBkYXRl
LCB3aGVuIGlzIGEgZGVsZXRlIGEgZGVsZXRlPzxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBIaSw8YnI+DQomZ3Q7ICZndDsgJmd0OyAm
Z3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQWxleGFuZGVyIENsZW1tICZs
dDs8YSBocmVmPSJtYWlsdG86YWxleGFuZGVyLmNsZW1tQGh1YXdlaS5jb20iPmFsZXhhbmRlci5j
bGVtbUBodWF3ZWkuY29tPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAm
Z3Q7ICZndDsgSGVsbG8gYWxsLDxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJy
Pg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSW4gdXBkYXRpbmcgdGhlIFlBTkctUHVz
aCBkb2N1bWVudDxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IChkcmFmdC1pZXRm
LW5ldGNvbmYteWFuZy1wdXNoKSwgd2UgaGF2ZSBjb21lIGFjcm9zcyBvbmU8YnI+DQomZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpc3N1ZSB0aGF0IHdlIHdhbnRlZCB0byByYWlzZSB3aXRo
IHRoZSB3b3JraW5nIGdyb3VwLjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJy
Pg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQXMgcGFydCBvZiBhbiBvbi1jaGFuZ2Ug
c3Vic2NyaXB0aW9uLCB1cGRhdGUgcmVjb3JkcyByZWZsZWN0PGJyPg0KJmd0OyAmZ3Q7ICZndDsg
Jmd0OyAmZ3Q7ICZndDsgdGhlIHR5cGUgb2YgY2hhbmdlIChlLmcuIHdoZXRoZXIgdGhlIHZhbHVl
IG9mIGFuIG9iamVjdCBoYXM8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBjaGFu
Z2VkLCBvciB3aGV0aGVyIGFuIG9iamVjdCB3YXMgY3JlYXRlZCBvciBkZWxldGVkKTsgYTxicj4N
CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHN1YnNjcmlwdGlvbiBhbGxvd3MgYWxzbyB0
byBzcGVjaWZ5IHdoZXRoZXIgaW50ZXJlc3RlZCBvbmx5PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgaW4gc3BlY2lmaWMgdHlwZXMgb2YgY2hhbmdlcyAoZm9yIGV4YW1wbGUsIG9u
bHkgY3JlYXRlcyBhbmQ8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkZWxldGVk
IGJ1dCBubyB2YWx1ZTxicj4NCiZndDsgJmd0OyBjaGFuZ2VzKS48YnI+DQomZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEF0IHRo
ZSBzYW1lIHRpbWUsIGEgc3Vic2NyaXB0aW9uIGZpbHRlciBzcGVjaWZpZXMgd2hpY2g8YnI+DQom
Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBvYmplY3RzIHRvIGluY2x1ZGUgYXMgcGFydCBv
ZiBhIHN1YnNjcmlwdGlvbiBhbmQgd2hpY2ggbm90Ljxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsg
Jmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBIbW0sIHdoaWNoIGZpbHRlciBhcmUg
eW91IHRhbGtpbmcgYWJvdXQ/Jm5ic3A7IFRoZSBvbmx5IFhQYXRoPGJyPg0KJmd0OyAmZ3Q7ICZn
dDsgJmd0OyAmZ3Q7IGZpbHRlciBJIGZpbmQgaW4gdGhlIGN1cnJlbnQgc2V0IG9mIGRvY3VtZW50
cyBpcyB0aGU8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJnF1b3Q7aWV0Zi1zdWJzY3Jp
YmVkLW5vdGlmaWNhdGlvbnM6eHBhdGgmcXVvdDsgZmlsdGVyIHR5cGUgKHdoaWNoIGJ0dzxicj4N
CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpcyBzb3JlbHkgdW5kZXJzcGVjaWZpZWQpLiZuYnNw
OyBTZWN0aW9uIDIuMiBvZjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkcmFmdC1pZXRm
LW5ldGNvbmYtc3Vic2NyaWJlZC1ub3RpZmljYXRpb25zLTAyIHNheXM6PGJyPg0KJmd0OyAmZ3Q7
ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNw
OyBFdmVudHMgd2hpY2ggZXZhbHVhdGUgdG8gJnF1b3Q7dHJ1ZSZxdW90OyBhcyBhPGJyPg0KJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7Jm5ic3A7ICZuYnNwOyByZXN1bHQgb2YgdGhlIGV2YWx1YXRp
b24gYnkgdGhlIGZpbHRlciBtdXN0IHRyYXZlcnNlIHRoZSBmaWx0ZXIgaW48YnI+DQomZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDsmbmJzcDsgJm5ic3A7IHRoZWlyIGVudGlyZXR5Ljxicj4NCiZndDsg
Jmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBJdCdzIG5v
dCBjbGVhciB3aGF0IHRoaXMgbWVhbnMsIGJ1dCBteSBndWVzcyBpcyB0aGF0IHRoaXMgaXM8YnI+
DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgc3VwcG9zZWQgdG8gd29yayBsaWtlIHRoZSBvbGQg
UkZDIDUyNzcgZmlsdGVycywgd2hlcmUgdGhlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
IGZpbHRlciBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBvbiB0aGUgbm90aWZpY2F0aW9uIGNvbnRl
bnRzLDxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBhbmQgaWYgdGhlIGV4cHJlc3Npb24g
cmV0dXJucyAmcXVvdDt0cnVlJnF1b3Q7IChmb3IgWFBhdGggZmlsdGVycyB0aGlzPGJyPg0KJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG1lYW5zIGNvbnZlcnRpbmcgdGhlIHJlc3VsdHMgdG8gYSBi
b29sZWFuKSwgdGhlbiB0aGU8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgbm90aWZpY2F0
aW9uIGlzIHNlbnQsIG90aGVyd2lzZSBub3QuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEJ1dCBpdCBzZWVtcyB5b3UgYXJlIHJlZmVy
cmluZyB0byBzb21lIG90aGVyIGZpbHRlciB3aGljaDxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsg
Jmd0OyB3b3VsZCBiZSB1c2VkIHRvIHNlbGVjdCBhIG5vZGUgc2V0IGZvciB3aGljaCBjaGFuZ2Vz
IGFyZSByZXBvcnRlZD88YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDsgSSB3b3VsZCBsaWtlIHRvIHVuZGVyc3RhbmQgd2hpY2ggZmlsdGVy
IG1lY2hhbmlzbSB5b3UgbWVhbjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBiZWZvcmUg
aGF2aW5nIGFuIG9waW5pb24gaW4gdGhpcyBtYXR0ZXIuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0
OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsg
Jmd0OyAmZ3Q7IC9tYXJ0aW48YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQom
Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
OyAoUmVhbGx5LCBpdCBpcyBub3Q8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBz
byBtdWNoIG9mIGEgJnF1b3Q7ZmlsdGVyJnF1b3Q7IG9uIGEgc3RyZWFtIHRoYXQgaXMgZ2VuZXJh
dGVkPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXBlbmRlbnRseSBvZiB0
aGUgZmlsdGVyLCB0aGFuIGl0IGlzIGEgcG9saWN5IG9mIHdoaWNoPGJyPg0KJmd0OyAmZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDsgb2JqZWN0cyB0byBpbmNsdWRlIGFzIHBhcnQgb2Ygc3Vic2NyaWJl
ZCB1cGRhdGUgcmVjb3Jkcy4pPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgSG93
ZXZlciwgYSBzdWJzY3JpcHRpb24gZmlsdGVyIChzdWNoIGFzPGJyPg0KJmd0OyAmZ3Q7ICZndDsg
Jmd0OyAmZ3Q7ICZndDsgWFBhdGgpIGNhbiBiZSB1c2VkIHRvIGFsc28gc3BlY2lmeSBhIHZhbHVl
IGZpbHRlciwgd2hpY2g8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB3aWxsIGlu
Y2x1ZGUgb3IgZXhjbHVkZSBvYmplY3RzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQ8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB2YWx1ZS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0
byBlLmcuIHN1YnNjcmliZSB0byBhbiBvYmplY3Q8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDsgJmd0OyAmcXVvdDtmb28mcXVvdDsgYnV0IG9ubHkgaWYgaXRzIHZhbHVlIGlzIDUuPGJyPg0K
Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDsgJmd0OyBOb3csIHRoaXMgbWVhbnMgdGhhdCB0aGUgc2FtZSBvYmplY3QgY291bGQgYmUgaW5j
bHVkZWQgaW48YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBvbmUgdXBkYXRlLCBi
dXQgZXhjbHVkZWQgaW4gYW5vdGhlciB1cGRhdGUsIGR1ZSB0byBpdHMgdmFsdWU8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBubyBsb25nZXIgbWVldGluZyB0aGUgZmlsdGVyIGNy
aXRlcmlhLiZuYnNwOyBGb3IgZXhhbXBsZSwgaWY8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDsgJmd0OyBmb28ncyB2YWx1ZSBjaGFuZ2VzIGZyb20gNSB0byAzIGluIG9uZSBjeWNsZSwgYSBw
ZXJpb2RpYzxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHN1YnNjcmlwdGlvbiB3
aWxsIG5vIGxvbmdlciBpbmNsdWRlIGZvbyBpbiBpdHMgbmV4dCB1cGRhdGUuPGJyPg0KJmd0OyAm
Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgVGhlIHF1ZXN0aW9uIG5vdyBjb25jZXJucyBob3cgdG8g
cHJvcGVybHkgaGFuZGxlIHRoaXMgaW4gdGhlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
ICZndDsgY2FzZSBvZiBhbiBvbi1jaGFuZ2U8YnI+DQomZ3Q7ICZndDsgc3Vic2NyaXB0aW9uLjxi
cj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgT25lIHBvc3NpYmlsaXR5IGNvbmNlcm5zIHJlcG9ydGluZyB0aGUgZmFjdCB0
aGF0ICZxdW90O2ZvbyZxdW90OyBubzxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
IGxvbmdlciBtZWV0cyB0aGUgc3Vic2NyaXB0aW9uIGNyaXRlcmlhIGFuZCBpcyBubyBsb25nZXI8
YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmNsdWRlZCBpbiB0aGUgdXBkYXRl
IHJlY29yZCBhcyBhICZxdW90O2RlbGV0ZSZxdW90OyBldmVudC4mbmJzcDsgSWYgZm9vJ3MgdmFs
dWUgYWdhaW4gYmVjb21lcyAmcXVvdDs1JnF1b3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAm
Z3Q7ICZndDsgYXQgYSBsYXRlciBwb2ludCBpbiB0aW1lLCB0aGF0IHdvdWxkIGJlIHJlcG9ydGVk
IGFzIGEgJnF1b3Q7Y3JlYXRlJnF1b3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDsgZXZlbnQuJm5ic3A7IElmIGZvbydzIHZhbHVlIGNoYW5nZXMgYWdhaW4gZnJvbSA1IGF0IGEg
bGF0ZXIgcG9pbnQ8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbiB0aW1lIGFu
ZCB0aGVuIGNoYW5nZXMgYmFjayB0byAzIGJlZm9yZSB0aGUgdGltZSBvZiB0aGU8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB1cGRhdGUgKHBlcmhhcHMgYmVjYXVzZSB0aGUgdmFs
dWUgY2hhbmdlZCBkdXJpbmcgdGhlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg
ZGFtcGVuaW5nIGludGVydmFsKSwgaXQgd291bGQgYmUgcmVwb3J0ZWQgYXMgYW5vdGhlcjxicj4N
CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZxdW90O2RlbGV0ZSZxdW90OyBldmVudCAo
d2l0aG91dCBldmVyIHJlcG9ydGluZyBhIGNyZWF0ZSBldmVudCkuJm5ic3A7IE9uPGJyPg0KJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgdGhlIG90aGVyIGhhbmQsIGlmIGZvbydzIHZhbHVl
IGNoYW5nZWQgZnJvbSAzIHRvPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgNiBh
bmQgYmFjayBhZ2Fpbiwgbm90aGluZyB3b3VsZCBiZSByZXBvcnRlZCBiZWNhdXNlIGl0IGRpZDxi
cj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5vdCBtZWV0IHRoZSBmaWx0ZXIgY3Jp
dGVyaWEgYXQgYW55IHBvaW50IGluIHRpbWUuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7RnJvbSB0aGUgcGVy
c3BlY3RpdmUgb2YgdGhlIHJlY2VpdmVyIHRoaXMgbWF5IG1ha2Ugc2Vuc2UgaWY8YnI+DQomZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7aXQgaXMgc3luY2hpbmcgaXRzIGNvcHkgb2Yg
dGhlIHN0YXRlLiZuYnNwOyBIb3dldmVyLCBmcm9tIHRoZTxicj4NCiZndDsgJmd0OyAmZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDtwZXJzcGVjdGl2ZSBvZiB0aGUgcHVibGlzaGVyLCB0aGUgb2JqZWN0
IHdhcyBuZXZlciBjcmVhdGVkPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
O29yIGRlbGV0ZWQgLSBvbmx5IGl0cyB2YWx1ZSBjaGFuZ2VkLCBhbmQgdGhlIGNhc2Ugd2hlbiB0
aGU8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7b2JqZWN0IHdhcyB0cnVs
eSBjcmVhdGVkIG9yIGRlbGV0ZWQgY2FuIG5vIGxvbmdlciBiZTxicj4NCiZndDsgJmd0OyAmZ3Q7
ICZndDsgJmd0OyAmZ3Q7ICZndDtkaXN0aW5ndWlzaGVkIGZyb20gdGhlIGNhc2Ugd2hlbiBpdHMg
dmFsdWU8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IGNoYW5nZWQuPGJyPg0KJmd0OyAmZ3Q7ICZn
dDsgJmd0OyAmZ3Q7ICZndDsgJmd0O0EgJnF1b3Q7Y3JlYXRlJnF1b3Q7IHNpbXBseSBtZWFucyAm
cXVvdDthbiBvYmplY3Qgbm93IG1lZXRzIGEgZmlsdGVyPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0O2NyaXRlcmlhLCB0aGF0IHdhcyBub3QgcmVwb3J0ZWQgaW4gdGhlIHBy
ZXZpb3VzIGN5Y2xlJnF1b3Q7PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
Oyh3aGljaCBkb2VzIG5vdCBtZWFuIHRoYXQgdGhlIG9iamVjdCB3YXMgYWN0dWFsbHkgY3JlYXRl
ZCAtPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0O2l0IG1heSBoYXZlIGJl
ZW4gY3JlYXRlZCwgb3IgaXQgbWF5IGhhdmUgc2ltcGx5IHVuZGVyZ29uZSBhIHZhbHVlIGNoYW5n
ZSkuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0OyBBbiBhbHRlcm5hdGl2ZSAobGV0J3MgY2FsbCBpdCBhbHRlcm5hdGl2
ZSAyKSBpcyB0aGVyZWZvcmUgdG88YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBt
YWtlIGEgZGlzdGluY3Rpb24gYmV0d2VlbiB3aGV0aGVyIGFuIG9iamVjdCB3YXMgY3JlYXRlZCBv
cjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRlbGV0ZWQsIG9yIHdoZXRoZXIg
aXRzIHZhbHVlIGZlbGwgaW4gb3Igb3V0IG9mIGEgZmlsdGVyIHJhbmdlLjxicj4NCiZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFRoaXMgYXBwZWFycyBzZW1hbnRpY2FsbHkgY2xlYW5lci4m
bmJzcDsgSG93ZXZlciwgaXQgd2lsbCByZXF1aXJlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAm
Z3Q7ICZndDsgbW9kaWZ5aW5nIHRoZSBlbmNvZGluZyB0byBhbGxvdyBmb3IgZGlzdGluY3Rpb24g
YmV0d2Vlbjxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHRob3NlIGNhc2VzIChj
dXJyZW50bHksIGp1c3QgcGxhaW4gcGF0Y2ggZW5jb2RpbmcgaXMgdXNlZCkuPGJyPg0KJmd0OyAm
Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
OyBBIHRoaXJkIGFsdGVybmF0aXZlIGlzIHRvIGxldCBmaWx0ZXJzIHNlbGVjdCBvbmx5IGRhdGEg
bm9kZXM8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyB0byBzdWJzY3JpYmUgdG8s
IGFuZCBzZXBhcmF0ZSBvdXQgdGhlIHZhbHVlIGZpbHRlciAob3I8YnI+DQomZ3Q7ICZndDsgJmd0
OyAmZ3Q7ICZndDsgJmd0OyBkaXNhbGxvdyBpdCBhcyBhIGZlYXR1cmUgYWx0b2dldGhlcikuJm5i
c3A7IFRoaXMgYWx0ZXJuYXRpdmUgaGFzPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn
dDsgdGhlIGRyYXdiYWNrIG9mIGJlaW5nIGxlc3MgY29uY2VwdHVhbGx5IHBvd2VyZnVsLCBldmVu
IGlmIGl0PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgbWF5IGJlIGVhc2llciB0
bzxicj4NCiZndDsgJmd0OyBpbXBsZW1lbnQuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7
ICZndDs8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBUaG91Z2h0cz8mbmJzcDsg
QW55IHByZWZlcmVuY2VzIGJldHdlZW4gMSwgMiwgYW5kIDM/PGJyPg0KJmd0OyAmZ3Q7ICZndDsg
Jmd0OyAmZ3Q7ICZndDsgLS0tIEFsZXg8YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0
Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0Ozxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDs8
YnI+DQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fPGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyBOZXRjb25mIG1haWxpbmcg
bGlzdDxicj4NCiZndDsgJmd0OyAmZ3Q7ICZndDsgPGEgaHJlZj0ibWFpbHRvOk5ldGNvbmZAaWV0
Zi5vcmciPk5ldGNvbmZAaWV0Zi5vcmc8L2E+PGJyPg0KJmd0OyAmZ3Q7ICZndDsgJmd0OyA8YSBo
cmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmYiIHRhcmdl
dD0iX2JsYW5rIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldGNvbmY8
L2E+PGJyPg0KJmd0OyAmZ3Q7ICZndDs8YnI+DQomZ3Q7PGJyPg0KPGJyPg0KX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQpOZXRjb25mIG1haWxpbmcg
bGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzpOZXRjb25mQGlldGYub3JnIj5OZXRjb25mQGlldGYu
b3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGlu
Zm8vbmV0Y29uZiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4v
bGlzdGluZm8vbmV0Y29uZjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9k
eT4NCjwvaHRtbD4NCg==

--_000_47461c951d934b399c6ae58c3bb731b3XCHRTP013ciscocom_--


From nobody Thu May 25 02:09:58 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1DF4612E957 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 02:09:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8skCIYErGqSs for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 02:09:53 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id E3AD112714F for <netconf@ietf.org>; Thu, 25 May 2017 02:09:52 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id 088791AE0336; Thu, 25 May 2017 11:09:51 +0200 (CEST)
Date: Thu, 25 May 2017 11:09:50 +0200 (CEST)
Message-Id: <20170525.110950.555535324284977195.mbj@tail-f.com>
To: alexander.clemm@huawei.com
Cc: evoit@cisco.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
References: <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/FvEEOiTu9uF_oSivzHwnC8eIEW8>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 09:09:56 -0000

Hi,

Thank you Alex for a well-written summary.

Alexander Clemm <alexander.clemm@huawei.com> wrote:
> Let me briefly summarize where I think we are. The thread has
> clearly moved on from the initial issue of how to distinguish
> between causes for updates to no longer include a given data node
> (because it was deleted, or because it changed its value to no
> longer match a filter) to other issues.
> 
> For those other issues, I think there are in fact two separate items
> that we are trying to discuss at the same time, which are really
> orthogonal to one another: 
> 
> - The first item concerns the concept of a "filter" vs a "selector".
>   A filter is what gets specified for any subscription to
>   notifications, which defines which notifications a subscriber
>   wants to receive.  The filter is applied to the notification as a
>   whole, i.e. either the notification is delivered or it is not.  It
>   does not apply to subsets of contents within the notification.  A
>   selector, on the other hand, is used to specify updates of which
>   data nodes to include in a YANG-push subscription.  The same
>   update notification could include updates of several data nodes,
>   hence a filter applied to the notification as a whole would be
>   inappropriate here - the semantics is slightly different: as a
>   subscriber, "of which data nodes would you like to receive
>   updates", not "which notifications would you like to receive".
> 
> Filters and selectors can be specified using the same syntax.  We
> are faced with a choice between specifying a single construct as
> part of a subscription, which is treated as a filter (in case of a
> "regular" subscription for notification updates) or as a selector
> (in case of a subscription to datastore updates) , or having
> separate objects, i.e. adding a separate "selector" construct for
> YANG-push.  Using a single object amounts to overloading.  It is
> more compact but with arguably a more complex semantics.  Using
> separate object results in a model that is more verbose, but has
> arguably simpler semantics.
> 
> - The second item concerns the issue of whether the filter/selector
>   construct has a dynamic type or a static type.  This is where the
>   issue of identity vs case statement etc comes in.  In case of a
>   dynamic type, we use two objects: One object of a generic type
>   (anydata) holds the filter/selector construct itself, the second
>   object specifies how to interpret it, i.e. which type it is.  (In
>   case of "overloading, we can also make explicit the distinction
>   whether it is a filter or a selector).  That second object is an
>   identityref, referencing one of the identities that designates the
>   filter/selector type.  In case of a static type, we use a case
>   statement (to distinguish which specific type it is).

If you can make the identity-based solution work, that's fine with
me.  But the current text needs to work out the details.  It's not
clear at all what what the contents of the "anyxml" node is supposed
to be.

That said, even the "choice"-based solution is exensible, since it can
be augmented.  Unless it turns out that the identity-based solution
can be made to work well, I would prefer the "choice"-based solution.

> The argument that Eric is making is that we should have a single
> overloaded object that can serve as a filter or a selector depending
> on the context and whether it is used in a notification subscription
> or a YANG-push subscription, and that we use a dynamic type
> including an identityref that indicates whether the object serves as
> a selector or a filter.  From my perspective, I feel that not
> overloading may be conceptually a bit "cleaner", but at the end of
> the day I am fine either way.  And I am not entirely sure, Martin,
> what you are proposing.

I have a strong preference for clear semantics in separate objects.  I
think overloading the semantics in this particular example would be a
huge mistake.  Just to mention one detail, the context for the
filter and selector are completely different - the filter works on the
contents of a notification and the selector works on the contents of a
datastore.  The filter returns a boolean and the selector a node set.
(that was two details :)



/martin


> Either way, we should document the issue
> and our choice clearly.
> 
> --- Alex
> 
> 
> -----Original Message-----
> From: Martin Bjorklund [mailto:mbj@tail-f.com] 
> Sent: Wednesday, May 24, 2017 12:36 AM
> To: evoit@cisco.com
> Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
> Subject: Re: [Netconf] In an update, when is a delete a delete?
> 
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > > 
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > >
> > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > Hi Martin,
> > > > > >
> > > > > > Almost overlooked your question below.  What is meant by the 
> > > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > > >
> > > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > > The following filter types are included in the yang-push data model:
> > > > > > [subtree] [xpath]"
> > > > >
> > > > > Actually, only "subtree" is defined in yang-push, "xpath" is 
> > > > > defined in subscribed-notifications.
> > > >
> > > > At the top of yang-push page 7, xpath selection is described.  Is 
> > > > there something you feel missing?
> > > 
> > > Yes.  First of all, the YANG module defines an identity called 
> > > "xpath", based on "sn:filter".  So this filter has nothing to do 
> > > with selecting nodes in a datastore; this filter is used to match 
> > > against a generated notification record.
> > 
> > To address this we could split the xpath identity into two types:
> > "xpath-selection" and "xpath-boolean".  These would have different 
> > definitions, but both reference
> > http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is that 
> > one results in a xpath node-set expression, and the other an xpath 
> > Boolean expression.  Make sense?
> 
> Not really.  In subscribed-notifications you have defined a generic filter mechanism, that is used to block/allow the sending of generated notifications to a subscriber.  This filter mechanism cannot be used to select nodes to subscribe to for changes in a datastore.  You need to define a separate mechansim for that in yang-push.  (Maybe not even call it "filter", but perhaps "selection").
> 
> Some comments on subscribed-notifications: This generic mechanism allows various filter syntaxes.  This generic mechanism needs to explain what is required by a filter syntax definition (an identity, evaluation rules).  In section 2.2 the document says that two filter syntaxes are supported, but only one is defined (xpath).  It needs to explain that a filter is supposed to return true or false (this part RFC 5277 got right, see section 3.6).  Also, the current module has the filter in an anyxml node; it is not clear how an XPath expression is encoded in anyxml.
> 
> > > Second, the XPath filter is sorely underspecified.  The XPath 
> > > context is not described,
> > 
> > I understand and agree on your comment about the context.  The intent 
> > here is to provide equivalent capabilities of a GET.
> 
> I understand that.
> 
> > As it would be a
> > huge undertaking to try to consolidate an industry-wide view of the 
> > minimal xpath syntax and capabilities in networking
> 
> Ehh... yes?  What does this have to do with specifiying the XPath context?
> 
> > , I am hoping this
> > doesn't fall under the umbrella of YANG subscription.  I would be glad 
> > to support someone who wishes to take this up though.
> > 
> > > the expected result data type is not defined, and it is not 
> > > described how the result is supposed to be used.
> > 
> > As for the result, the anydata output should be provided to the 
> > subscriber (with appropriate security applied).
> 
> I was referring to the output of the filter evaluation.
> 
> > They can determine
> > how to use it.  The preferred embodiment would be to maintain a local 
> > extract of the Publisher's datastore (as defined by the filter).
> > 
> > > > >  [Side note - I think this is wrong, subscribed-notifications 
> > > > > should also define "subtree".]
> > > > >
> > > > > But these filters are used by the server to decide if a certain 
> > > > > notification that has been generated will be sent to the client 
> > > > > or not.
> > > >
> > > > Yes, the filters in subscribed-notification are supposed to give a 
> > > > boolean indication as to whether a specific event should traverse 
> > > > the filter in its entirety. RFC6241 section 6 subtree filters are 
> > > > written to provide a subset of content.  I suppose it would be 
> > > > possible to define an event-based subtree-filter-type where a 
> > > > non-null result of the subtree filter means that a particular 
> > > > event should traverse that filter.  Is this what you are suggesting?
> > > 
> > > Yes.  Note that this is already provided by RFC 5277, and I have 
> > > always assumed that this new work will provide at least the same 
> > > functions as RFC
> > > 5277 (and more).  (But note that the XPath filter is underspecified 
> > > also in RFC
> > > 5277...)
> > 
> > I also want to make sure that a non-null result from a filter allows 
> > the event to pass.  I suspect that an xpath Boolean filter could be 
> > designed to do this, but I will tweak the subscribed-notifications 
> > text so that unnecessary filtering expression complexity is not 
> > artificially required.
> 
> Please make sure you understand how subtree filters and XPath filters work in RFC 5277.  There is nothing wrong with that functionality.
> 
> > > > > If you want to define filters to specifify which nodes to 
> > > > > subscribe to, I think you need to define new filters, not try to 
> > > > > reuese these notification filters.
> > > >
> > > > Filtering syntax is hard, so we have been trying to adopt whatever 
> > > > is available for GET.  This way we don't have to educate users on 
> > > > a new universe of what is possible.  I fully expect that lots of 
> > > > learnings are going to come in the industry here over time, and 
> > > > this will be revisited in the future.
> > > 
> > > ?
> > > 
> > > I am not proposing any new filter syntax.  I am saying that the 
> > > current filter nodes as defined in subscribed-notification cannot be 
> > > used to select nodes to subscribe to for changes.
> > 
> > Understand.  Hopefully with the "xpath-selection" change proposed 
> > above, this will be covered.
> 
> No, see above.
> 
> 
> /martin
> 
> 
> 
> > 
> > Eric
> > 
> > > > > As for your question, I think such a filter should be defined to 
> > > > > return a node- set to which the client subscribe to changes.  If 
> > > > > any node (or subnode
> > > > > to) in
> > > > > this node-set changes, the notif will be sent.  Then the 
> > > > > question about value comparision is not relevant anymore.
> > > >
> > > > Excellent, on-change should only send an update if the results of 
> > > > the subscription filter have changed since the previous push.  It 
> > > > is quite possible that an object has been created and then deleted 
> > > > since the last push.
> > > 
> > > I don't understand what you're trying to say with these sentences 
> > > (but since the first word was "Excellent" maybe it's ok ;)
> > > 
> > > 
> > > /martin
> > > 
> > > 
> > > > Representing this was the genesis of Alex's question.
> > > >
> > > > Eric
> > > >
> > > > > /martin
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > >
> > > > > > In effect, the filter specifies which data nodes to consider 
> > > > > > when sending updates.
> > > > > >
> > > > > > ---Alex
> > > > > >
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > Cc: netconf@ietf.org
> > > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > Hello all,
> > > > > > >
> > > > > > > In updating the YANG-Push document 
> > > > > > > (draft-ietf-netconf-yang-push), we have come across one 
> > > > > > > issue that we wanted to raise with the working group.
> > > > > > >
> > > > > > > As part of an on-change subscription, update records reflect 
> > > > > > > the type of change (e.g. whether the value of an object has 
> > > > > > > changed, or whether an object was created or deleted); a 
> > > > > > > subscription allows also to specify whether interested only 
> > > > > > > in specific types of changes (for example, only creates and 
> > > > > > > deleted but no value
> > > changes).
> > > > > > >
> > > > > > > At the same time, a subscription filter specifies which 
> > > > > > > objects to include as part of a subscription and which not.
> > > > > >
> > > > > > Hmm, which filter are you talking about?  The only XPath 
> > > > > > filter I find in the current set of documents is the 
> > > > > > "ietf-subscribed-notifications:xpath" filter type (which btw 
> > > > > > is sorely underspecified).  Section 2.2 of
> > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > >
> > > > > >    Events which evaluate to "true" as a
> > > > > >    result of the evaluation by the filter must traverse the filter in
> > > > > >    their entirety.
> > > > > >
> > > > > > It's not clear what this means, but my guess is that this is 
> > > > > > supposed to work like the old RFC 5277 filters, where the 
> > > > > > filter expression is evaluated on the notification contents, 
> > > > > > and if the expression returns "true" (for XPath filters this 
> > > > > > means converting the results to a boolean), then the 
> > > > > > notification is sent, otherwise not.
> > > > > >
> > > > > > But it seems you are referring to some other filter which 
> > > > > > would be used to select a node set for which changes are reported?
> > > > > >
> > > > > > I would like to understand which filter mechanism you mean 
> > > > > > before having an opinion in this matter.
> > > > > >
> > > > > >
> > > > > > /martin
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > (Really, it is not
> > > > > > > so much of a "filter" on a stream that is generated 
> > > > > > > independently of the filter, than it is a policy of which 
> > > > > > > objects to include as part of subscribed update records.) 
> > > > > > > However, a subscription filter (such as
> > > > > > > XPath) can be used to also specify a value filter, which 
> > > > > > > will include or exclude objects based on their current 
> > > > > > > value. This makes it possible to e.g. subscribe to an object 
> > > > > > > "foo" but only if its value is 5.
> > > > > > >
> > > > > > > Now, this means that the same object could be included in 
> > > > > > > one update, but excluded in another update, due to its value 
> > > > > > > no longer meeting the filter criteria.  For example, if 
> > > > > > > foo's value changes from 5 to 3 in one cycle, a periodic 
> > > > > > > subscription will no longer include foo in its next update.  
> > > > > > > The question now concerns how to properly handle this in the 
> > > > > > > case of an on-change
> > > subscription.
> > > > > > >
> > > > > > > One possibility concerns reporting the fact that "foo" no 
> > > > > > > longer meets the subscription criteria and is no longer 
> > > > > > > included in the update record as a "delete" event.  If foo's value again becomes "5"
> > > > > > > at a later point in time, that would be reported as a "create"
> > > > > > > event.  If foo's value changes again from 5 at a later point 
> > > > > > > in time and then changes back to 3 before the time of the 
> > > > > > > update (perhaps because the value changed during the 
> > > > > > > dampening interval), it would be reported as another 
> > > > > > > "delete" event (without ever reporting a create event).  On 
> > > > > > > the other hand, if foo's value changed from 3 to
> > > > > > > 6 and back again, nothing would be reported because it did 
> > > > > > > not meet the filter criteria at any point in time.
> > > > > > >
> > > > > > > >From the perspective of the receiver this may make sense if 
> > > > > > > >it is synching its copy of the state.  However, from the 
> > > > > > > >perspective of the publisher, the object was never created 
> > > > > > > >or deleted - only its value changed, and the case when the 
> > > > > > > >object was truly created or deleted can no longer be 
> > > > > > > >distinguished from the case when its value
> > > > > changed.
> > > > > > > >A "create" simply means "an object now meets a filter 
> > > > > > > >criteria, that was not reported in the previous cycle" 
> > > > > > > >(which does not mean that the object was actually created - 
> > > > > > > >it may have been created, or it may have simply undergone a value change).
> > > > > > >
> > > > > > > An alternative (let's call it alternative 2) is therefore to 
> > > > > > > make a distinction between whether an object was created or 
> > > > > > > deleted, or whether its value fell in or out of a filter range.
> > > > > > > This appears semantically cleaner.  However, it will require 
> > > > > > > modifying the encoding to allow for distinction between 
> > > > > > > those cases (currently, just plain patch encoding is used).
> > > > > > >
> > > > > > > A third alternative is to let filters select only data nodes 
> > > > > > > to subscribe to, and separate out the value filter (or 
> > > > > > > disallow it as a feature altogether).  This alternative has 
> > > > > > > the drawback of being less conceptually powerful, even if it 
> > > > > > > may be easier to
> > > implement.
> > > > > > >
> > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > --- Alex
> > > > > > >
> > > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Netconf mailing list
> > > > > Netconf@ietf.org
> > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > >
> > 
> 


From nobody Thu May 25 02:45:04 2017
Return-Path: <guopeipei@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 95436128B90 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 02:45:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id IPg1wvWh97Bd for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 02:45:01 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CA19212EA8D for <netconf@ietf.org>; Thu, 25 May 2017 02:44:59 -0700 (PDT)
Received: from 172.18.7.190 (EHLO LHREML710-CAH.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNT40262; Thu, 25 May 2017 09:44:54 +0000 (GMT)
Received: from NKGEML414-HUB.china.huawei.com (10.98.56.75) by LHREML710-CAH.china.huawei.com (10.201.108.33) with Microsoft SMTP Server (TLS) id 14.3.301.0; Thu, 25 May 2017 10:44:53 +0100
Received: from NKGEML513-MBX.china.huawei.com ([169.254.1.160]) by nkgeml414-hub.china.huawei.com ([10.98.56.75]) with mapi id 14.03.0235.001; Thu, 25 May 2017 17:44:48 +0800
From: "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Two questions about the usage of confirmed commit and confirming commit in RFC6241
Thread-Index: AdLVOyY5mf3xlBIJSJeD+ovOaEu+uw==
Date: Thu, 25 May 2017 09:44:47 +0000
Message-ID: <9FC7EF52C614284C896188640F8C655FB6F1C097@nkgeml513-mbx.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.137.162]
Content-Type: multipart/alternative; boundary="_000_9FC7EF52C614284C896188640F8C655FB6F1C097nkgeml513mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090206.5926A798.0020, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.1.160, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: eb4b0aad8ffd229f5e15fc47ce66273c
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/8P8v3r4Laz2faBYK795uVfPeS7Y>
Subject: [Netconf] Two questions about the usage of confirmed commit and confirming commit in RFC6241
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 09:45:03 -0000

--_000_9FC7EF52C614284C896188640F8C655FB6F1C097nkgeml513mbxchi_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi All,

In RFC6241 section 8.4.1, about the persist and persist-id description:
   If the <persist> element is not given in the confirmed commit
   operation, any follow-up commit and the confirming commit MUST be
   issued on the same session that issued the confirmed commit.  If the
   <persist> element is given in the confirmed <commit> operation, a
   follow-up commit and the confirming commit can be given on any
   session, and they MUST include a <persist-id> element with a value
   equal to the given value of the <persist> element.

   If the server also advertises the :startup capability, a
   <copy-config> from running to startup is also necessary to save the
   changes to startup.

Question 1: For below two operations, whether step2 rpc will confirm previo=
us step 1 confirmed commit?
Step 1: user send below rpc.
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<rpc message-id=3D"101" xmlns=3D"urn:ietf:params:xml:ns:netconf:base:1.0">
  <commit>
    <confirmed/>
    <persist>IQ,d4668</persist>
  </commit>
</rpc>

Step 2: user resend below rpc.
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<rpc message-id=3D"101" xmlns=3D"urn:ietf:params:xml:ns:netconf:base:1.0">
  <commit>
    <confirmed/>
    <persist>IQ,d4668</persist>
  </commit>
</rpc>


Question 2: Whether below rpc is valid or not? I think it is invalid. It sh=
ould not have <persis-id> and <confirmed> in one rpc at same time.
<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<rpc message-id=3D"101" xmlns=3D"urn:ietf:params:xml:ns:netconf:base:1.0">
  <commit>
    <confirmed/>
    <persist-id>IQ,d4668</persist-id>
  </commit>
</rpc>

Thanks!



--_000_9FC7EF52C614284C896188640F8C655FB6F1C097nkgeml513mbxchi_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:m=3D"http://schema=
s.microsoft.com/office/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html=
40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:\5B8B\4F53;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@\5B8B\4F53";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi All,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">In RFC6241 section 8.4.1, about the persist and pers=
ist-id description:<o:p></o:p></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; If the &lt;persist&gt; element is not given in the confirmed commit=
<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; operation, any follow-up commit and the confirming commit MUST be<o=
:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; issued on the same session that issued the confirmed commit.&nbsp; =
If the<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; &lt;persist&gt; element is given in the confirmed &lt;commit&gt; op=
eration, a<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; follow-up commit and the confirming commit can be given on any<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; session, and they MUST include a &lt;persist-id&gt; element with a =
value<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; equal to the given value of the &lt;persist&gt; element.<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; If the server also advertises the :startup capability, a<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; &lt;copy-config&gt; from running to startup is also necessary to sa=
ve the<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black">&nbsp=
;&nbsp; changes to startup.<o:p></o:p></span></p>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal">Question 1: For below two operations, whether step2 =
rpc will confirm previous step 1 confirmed commit?<o:p></o:p></p>
<p class=3D"MsoNormal">Step 1: user send below rpc.<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;?xml version=3D&quot;1.0&quot; encoding=3D&quot;=
UTF-8&quot;?&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&lt;rpc message-id=3D&quot;101&quot; xmlns=3D&quot;u=
rn:ietf:params:xml:ns:netconf:base:1.0&quot;&gt;
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;commit&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;confirmed/&gt; <o:p></o:=
p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;persist&gt;IQ,d4668&lt;/=
persist&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;/commit&gt;<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;/rpc&gt;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Step 2: user resend below rpc.<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;?xml version=3D&quot;1.0&quot; encoding=3D&quot;=
UTF-8&quot;?&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&lt;rpc message-id=3D&quot;101&quot; xmlns=3D&quot;u=
rn:ietf:params:xml:ns:netconf:base:1.0&quot;&gt;
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;commit&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;confirmed/&gt; <o:p></o:=
p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;persist&gt;IQ,d4668&lt;/=
persist&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;/commit&gt;<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;/rpc&gt;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Question 2: Whether below rpc is valid or not? I thi=
nk it is invalid. It should not have &lt;persis-id&gt; and &lt;confirmed&gt=
; in one rpc at same time.<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;?xml version=3D&quot;1.0&quot; encoding=3D&quot;=
UTF-8&quot;?&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&lt;rpc message-id=3D&quot;101&quot; xmlns=3D&quot;u=
rn:ietf:params:xml:ns:netconf:base:1.0&quot;&gt;
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;commit&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;confirmed/&gt; <o:p></o:=
p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&lt;persist-id&gt;IQ,d4668&l=
t;/persist-id&gt; <o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&lt;/commit&gt;<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;/rpc&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks!<o:p></o:p></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
</div>
</body>
</html>

--_000_9FC7EF52C614284C896188640F8C655FB6F1C097nkgeml513mbxchi_--


From nobody Thu May 25 03:15:22 2017
Return-Path: <rwilton@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C01CF1293E3 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 03:15:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.103
X-Spam-Level: 
X-Spam-Status: No, score=-13.103 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DAuxC9Vhxp_l for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 03:15:19 -0700 (PDT)
Received: from aer-iport-4.cisco.com (aer-iport-4.cisco.com [173.38.203.54]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B2621293E1 for <netconf@ietf.org>; Thu, 25 May 2017 03:15:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2916; q=dns/txt; s=iport; t=1495707319; x=1496916919; h=subject:to:references:cc:from:message-id:date: mime-version:in-reply-to:content-transfer-encoding; bh=tDF1K17Qvet3K5tIcIBhNXHtQ+k6/Z3LDZ3Hk38FC3k=; b=i+nq009Pgf+JnkexAs7jKPbq9VWzpKnainUQp077e43Gz5sc94DvQIBQ OpDkR72tFiPVYpJbcxOQera/UmcDoaYDfKilP5vm5BPAU75e9/5Tqx7Zg vw+LVvJi/C5ikxcLgXmz2GfzeFO2qvpiWxWWbPog0oxkpBSk5/ancO5Pi Q=;
X-IronPort-AV: E=Sophos;i="5.38,391,1491264000"; d="scan'208";a="654924324"
Received: from aer-iport-nat.cisco.com (HELO aer-core-1.cisco.com) ([173.38.203.22]) by aer-iport-4.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 May 2017 10:15:17 +0000
Received: from [10.63.23.123] (dhcp-ensft1-uk-vla370-10-63-23-123.cisco.com [10.63.23.123]) by aer-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v4PAFGoH027977; Thu, 25 May 2017 10:15:17 GMT
To: Alexander Clemm <alexander.clemm@huawei.com>, Martin Bjorklund <mbj@tail-f.com>, "evoit@cisco.com" <evoit@cisco.com>
References: <adbaf2b697434bf4b44a1910af6e677c@XCH-RTP-013.cisco.com> <20170523.195720.334918098247517091.mbj@tail-f.com> <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
Cc: "netconf@ietf.org" <netconf@ietf.org>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <7f566ed1-4e7c-bc9c-08a8-0a3252783429@cisco.com>
Date: Thu, 25 May 2017 11:15:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/GHq8iiYA1zBj0gRXIXQjvBoZ6MI>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 10:15:21 -0000

Hi,

On 24/05/2017 23:25, Alexander Clemm wrote:
> Let me briefly summarize where I think we are. The thread has clearly moved on from the initial issue of how to distinguish between causes for updates to no longer include a given data node (because it was deleted, or because it changed its value to no longer match a filter) to other issues.
>
> For those other issues, I think there are in fact two separate items that we are trying to discuss at the same time, which are really orthogonal to one another:
>
> - The first item concerns the concept of a "filter" vs a "selector".  A filter is what gets specified for any subscription to notifications, which defines which notifications a subscriber wants to receive.  The filter is applied to the notification as a whole, i.e. either the notification is delivered or it is not.  It does not apply to subsets of contents within the notification.  A selector, on the other hand, is used to specify updates of which data nodes to include in a YANG-push subscription.  The same update notification could include updates of several data nodes, hence a filter applied to the notification as a whole would be inappropriate here - the semantics is slightly different: as a subscriber, "of  which data nodes would you like to receive updates", not "which notifications would you like to receive".
If you look at this problem in a slightly different way, then I'm not 
sure that "selectors" are necessarily different from "filters".

One could see all subscribers of periodic and on-change YANG Push 
subscriptions to really be recipients of the same single conceptual 
stream of data node change (and periodic) updates from a datastore. This 
conceptual stream of changes can be regarded as an unbounded sequence of 
notifications, where each notification contains a change for one or more 
data nodes.  Under this description, it seems that a YANG Push 
"selector" then acts like a Notification "filter" in that it chooses 
which of those messages in that conceptual stream get sent on to each 
subscriber.

The only difference I see between "selectors" and "filters" is that the 
YANG push messages acted on by a selector COULD be pruned to only 
include the nodes of interest.  But perhaps this distinction is a 
actually a property of the type of notification that is being 
generated.  I.e. whether a notification can be pruned by a 
"filter/selector", or whether it is a binary decision to send or drop 
the notification message (like RFC 5277).

For notifications that could be pruned, then I think that the choice as 
to whether to prune the notification data should be an implementation 
choice, and that it should be acceptable to also send messages that 
include extra nodes that are not of interest, and perhaps in the extreme 
case to send some notifications that don't actually contain any nodes of 
interest at all!

Rob


From nobody Thu May 25 04:33:32 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1C40129536 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 04:33:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KQ04I3-FGwz2 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 04:33:25 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 99BC51294F8 for <netconf@ietf.org>; Thu, 25 May 2017 04:33:25 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id 02C131AE0383; Thu, 25 May 2017 13:33:21 +0200 (CEST)
Date: Thu, 25 May 2017 13:33:21 +0200 (CEST)
Message-Id: <20170525.133321.766372097216876920.mbj@tail-f.com>
To: rwilton@cisco.com
Cc: alexander.clemm@huawei.com, evoit@cisco.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <7f566ed1-4e7c-bc9c-08a8-0a3252783429@cisco.com>
References: <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com> <7f566ed1-4e7c-bc9c-08a8-0a3252783429@cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/uKmK2q4qyeRd-Cz8hG-mGABzJMM>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 11:33:27 -0000

Robert Wilton <rwilton@cisco.com> wrote:
> Hi,
> 
> On 24/05/2017 23:25, Alexander Clemm wrote:
> > Let me briefly summarize where I think we are. The thread has clearly
> > moved on from the initial issue of how to distinguish between causes
> > for updates to no longer include a given data node (because it was
> > deleted, or because it changed its value to no longer match a filter)
> > to other issues.
> >
> > For those other issues, I think there are in fact two separate items
> > that we are trying to discuss at the same time, which are really
> > orthogonal to one another:
> >
> > - The first item concerns the concept of a "filter" vs a "selector".  A
> > - filter is what gets specified for any subscription to notifications,
> > - which defines which notifications a subscriber wants to receive.  The
> > - filter is applied to the notification as a whole, i.e. either the
> > - notification is delivered or it is not.  It does not apply to subsets
> > - of contents within the notification.  A selector, on the other hand,
> > - is used to specify updates of which data nodes to include in a
> > - YANG-push subscription.  The same update notification could include
> > - updates of several data nodes, hence a filter applied to the
> > - notification as a whole would be inappropriate here - the semantics is
> > - slightly different: as a subscriber, "of which data nodes would you
> > - like to receive updates", not "which notifications would you like to
> > - receive".
> If you look at this problem in a slightly different way, then I'm not
> sure that "selectors" are necessarily different from "filters".
> 
> One could see all subscribers of periodic and on-change YANG Push
> subscriptions to really be recipients of the same single conceptual
> stream of data node change (and periodic) updates from a
> datastore. This conceptual stream of changes can be regarded as an
> unbounded sequence of notifications, where each notification contains
> a change for one or more data nodes.  Under this description, it seems
> that a YANG Push "selector" then acts like a Notification "filter" in
> that it chooses which of those messages in that conceptual stream get
> sent on to each subscriber.

This has been discussed before.  I think it is a convoluted hack.  The
notifications would have to conceptually contain the entire datastore
(entire opertational state for example), and then you'd have to
handwave a bit to produce a pruned notification with just the nodes
the subscriber is interested in.   What's the point anyway when
there's already a clean, simple solution available?



/martin


> The only difference I see between "selectors" and "filters" is that
> the YANG push messages acted on by a selector COULD be pruned to only
> include the nodes of interest.  But perhaps this distinction is a
> actually a property of the type of notification that is being
> generated.  I.e. whether a notification can be pruned by a
> "filter/selector", or whether it is a binary decision to send or drop
> the notification message (like RFC 5277).
> 
> For notifications that could be pruned, then I think that the choice
> as to whether to prune the notification data should be an
> implementation choice, and that it should be acceptable to also send
> messages that include extra nodes that are not of interest, and
> perhaps in the extreme case to send some notifications that don't
> actually contain any nodes of interest at all!
> 
> Rob
> 


From nobody Thu May 25 06:06:55 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 144B21296D2 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 06:06:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level: 
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0UpQfch0bouI for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 06:06:25 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 71DFA1270A7 for <netconf@ietf.org>; Thu, 25 May 2017 06:06:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=20871; q=dns/txt; s=iport; t=1495717585; x=1496927185; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ihjIhn3gv9ujxFRXgcfEm6fJRtgc4etxrLS4mu8rlvc=; b=G5wam3AqtzluvF4VimDxY1s8NzvTexYnhKormrV1HOq21BARDKi0uQYq lEolTzbu4ScAJMfo53ClJmdiEW/hTqkVjvN7ZiCKQsNiU/HYxKlkIxqFQ m5cT3zAbc+AtgjfoGG4x3F8794E6d/8m/j8cw2kTjJtl0mnKrYG9f6twA k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BTAQCB1iZZ/5JdJa1UCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYNVYjNaB44AkV2VeIIPIQuFLkoCgnw/GAECAQEBAQEBAWsohRg?= =?us-ascii?q?BAQEBAgEBATg0CwUHBAIBCA4DBAEBAQwBEQkHJwsUCQgCBAENBQgTigYIELFAi?= =?us-ascii?q?0UBAQEBAQEBAQEBAQEBAQEBAQEBAQEdhl+ERjSENgkRhggFniMBkx6CD4U8ijW?= =?us-ascii?q?JAYtMAR84gQpzFUaEexyBY3aIF4ENAQEB?=
X-IronPort-AV: E=Sophos;i="5.38,391,1491264000"; d="scan'208";a="239359555"
Received: from rcdn-core-10.cisco.com ([173.37.93.146]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 May 2017 13:06:23 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by rcdn-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id v4PD6MkB031589 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 25 May 2017 13:06:22 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 25 May 2017 09:06:21 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Thu, 25 May 2017 09:06:22 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesAAcMVmAAB8SZAAAFoFiAAAA+6UA
Date: Thu, 25 May 2017 13:06:21 +0000
Message-ID: <1cbab85dc4d14900ada7c3b1fd5b619e@XCH-RTP-013.cisco.com>
References: <98ef4c64e750467ca9a35b66b359dc8d@XCH-RTP-013.cisco.com> <20170524.093545.1590430256406536052.mbj@tail-f.com> <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com> <20170525.110950.555535324284977195.mbj@tail-f.com>
In-Reply-To: <20170525.110950.555535324284977195.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/JkG88dPhqe6QmxFOuahCIyvxPd8>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 13:06:37 -0000

> From: Martin Bjorklund, May 25, 2017 5:10 AM
>=20
> Hi,
>=20
> Thank you Alex for a well-written summary.
>=20
> Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > Let me briefly summarize where I think we are. The thread has clearly
> > moved on from the initial issue of how to distinguish between causes
> > for updates to no longer include a given data node (because it was
> > deleted, or because it changed its value to no longer match a filter)
> > to other issues.
> >
> > For those other issues, I think there are in fact two separate items
> > that we are trying to discuss at the same time, which are really
> > orthogonal to one another:
> >
> > - The first item concerns the concept of a "filter" vs a "selector".
> >   A filter is what gets specified for any subscription to
> >   notifications, which defines which notifications a subscriber
> >   wants to receive.  The filter is applied to the notification as a
> >   whole, i.e. either the notification is delivered or it is not.  It
> >   does not apply to subsets of contents within the notification.  A
> >   selector, on the other hand, is used to specify updates of which
> >   data nodes to include in a YANG-push subscription.  The same
> >   update notification could include updates of several data nodes,
> >   hence a filter applied to the notification as a whole would be
> >   inappropriate here - the semantics is slightly different: as a
> >   subscriber, "of which data nodes would you like to receive
> >   updates", not "which notifications would you like to receive".
> >
> > Filters and selectors can be specified using the same syntax.  We are
> > faced with a choice between specifying a single construct as part of a
> > subscription, which is treated as a filter (in case of a "regular"
> > subscription for notification updates) or as a selector (in case of a
> > subscription to datastore updates) , or having separate objects, i.e.
> > adding a separate "selector" construct for YANG-push.  Using a single
> > object amounts to overloading.  It is more compact but with arguably a
> > more complex semantics.  Using separate object results in a model that
> > is more verbose, but has arguably simpler semantics.
> >
> > - The second item concerns the issue of whether the filter/selector
> >   construct has a dynamic type or a static type.  This is where the
> >   issue of identity vs case statement etc comes in.  In case of a
> >   dynamic type, we use two objects: One object of a generic type
> >   (anydata) holds the filter/selector construct itself, the second
> >   object specifies how to interpret it, i.e. which type it is.  (In
> >   case of "overloading, we can also make explicit the distinction
> >   whether it is a filter or a selector).  That second object is an
> >   identityref, referencing one of the identities that designates the
> >   filter/selector type.  In case of a static type, we use a case
> >   statement (to distinguish which specific type it is).
>=20
> If you can make the identity-based solution work, that's fine with me.  B=
ut the
> current text needs to work out the details.  It's not clear at all what w=
hat the
> contents of the "anyxml" node is supposed to be.
>=20
> That said, even the "choice"-based solution is exensible, since it can be
> augmented.  Unless it turns out that the identity-based solution can be m=
ade
> to work well, I would prefer the "choice"-based solution.
>=20
> > The argument that Eric is making is that we should have a single
> > overloaded object that can serve as a filter or a selector depending
> > on the context and whether it is used in a notification subscription
> > or a YANG-push subscription, and that we use a dynamic type including
> > an identityref that indicates whether the object serves as a selector
> > or a filter.  From my perspective, I feel that not overloading may be
> > conceptually a bit "cleaner", but at the end of the day I am fine
> > either way.  And I am not entirely sure, Martin, what you are
> > proposing.
>=20
> I have a strong preference for clear semantics in separate objects.  I th=
ink
> overloading the semantics in this particular example would be a huge mist=
ake.
> Just to mention one detail, the context for the filter and selector are
> completely different - the filter works on the contents of a notification=
 and the
> selector works on the contents of a datastore.  The filter returns a bool=
ean
> and the selector a node set.
> (that was two details :)

Ok.  Unless anyone objects, let's go with separate objects then. =20

We can still retain the identity hierarchy.  The result to would be somethi=
ng like:

In subscribed-notifications...:

Identity filter;
    Identity test-filter {base filter;}
       Identity xpath-test-filter {base  test-filter;}
       Identity  subtree-test-filter {base test-filter;}

"anyxml filter"
Description "Event stream evaluation criteria encoded in a syntax of a supp=
orted type of test-filter.  If the filter is applied against an event strea=
m and there is a non-empty or positive result, the event is passed along."

In YANG Push...:

Identity node-selection-criteria {base sn:filter;}
    Identity subtree-node-selection-criteria {base node-selection-criteria;=
}
    Identity xpath-node-selection-criteria {base node-selection-criteria;}

"anyxml selector"
Description "YANG datastore query encoded in the syntax of a supported type=
 of node-selection-criteria.  If the selector is applied against a datastor=
e for periodic extracts, the resulting node-set result is passed along. If =
the selector is applied against a datastore looking for changes, deltas fro=
m the last update in the form of a patch result are passed along."

Eric


> /martin
>=20
>=20
> > Either way, we should document the issue and our choice clearly.
> >
> > --- Alex
> >
> >
> > -----Original Message-----
> > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > Sent: Wednesday, May 24, 2017 12:36 AM
> > To: evoit@cisco.com
> > Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
> > Subject: Re: [Netconf] In an update, when is a delete a delete?
> >
> > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > > >
> > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > > >
> > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > Hi Martin,
> > > > > > >
> > > > > > > Almost overlooked your question below.  What is meant by the
> > > > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > > > >
> > > > > > > "Only a single filter can be applied to a subscription at a t=
ime.
> > > > > > > The following filter types are included in the yang-push data=
 model:
> > > > > > > [subtree] [xpath]"
> > > > > >
> > > > > > Actually, only "subtree" is defined in yang-push, "xpath" is
> > > > > > defined in subscribed-notifications.
> > > > >
> > > > > At the top of yang-push page 7, xpath selection is described.
> > > > > Is there something you feel missing?
> > > >
> > > > Yes.  First of all, the YANG module defines an identity called
> > > > "xpath", based on "sn:filter".  So this filter has nothing to do
> > > > with selecting nodes in a datastore; this filter is used to match
> > > > against a generated notification record.
> > >
> > > To address this we could split the xpath identity into two types:
> > > "xpath-selection" and "xpath-boolean".  These would have different
> > > definitions, but both reference
> > > http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is
> > > that one results in a xpath node-set expression, and the other an
> > > xpath Boolean expression.  Make sense?
> >
> > Not really.  In subscribed-notifications you have defined a generic fil=
ter
> mechanism, that is used to block/allow the sending of generated notificat=
ions
> to a subscriber.  This filter mechanism cannot be used to select nodes to
> subscribe to for changes in a datastore.  You need to define a separate
> mechansim for that in yang-push.  (Maybe not even call it "filter", but p=
erhaps
> "selection").
> >
> > Some comments on subscribed-notifications: This generic mechanism
> allows various filter syntaxes.  This generic mechanism needs to explain =
what
> is required by a filter syntax definition (an identity, evaluation rules)=
.  In
> section 2.2 the document says that two filter syntaxes are supported, but=
 only
> one is defined (xpath).  It needs to explain that a filter is supposed to=
 return
> true or false (this part RFC 5277 got right, see section 3.6).  Also, the=
 current
> module has the filter in an anyxml node; it is not clear how an XPath
> expression is encoded in anyxml.
> >
> > > > Second, the XPath filter is sorely underspecified.  The XPath
> > > > context is not described,
> > >
> > > I understand and agree on your comment about the context.  The
> > > intent here is to provide equivalent capabilities of a GET.
> >
> > I understand that.
> >
> > > As it would be a
> > > huge undertaking to try to consolidate an industry-wide view of the
> > > minimal xpath syntax and capabilities in networking
> >
> > Ehh... yes?  What does this have to do with specifiying the XPath conte=
xt?
> >
> > > , I am hoping this
> > > doesn't fall under the umbrella of YANG subscription.  I would be
> > > glad to support someone who wishes to take this up though.
> > >
> > > > the expected result data type is not defined, and it is not
> > > > described how the result is supposed to be used.
> > >
> > > As for the result, the anydata output should be provided to the
> > > subscriber (with appropriate security applied).
> >
> > I was referring to the output of the filter evaluation.
> >
> > > They can determine
> > > how to use it.  The preferred embodiment would be to maintain a
> > > local extract of the Publisher's datastore (as defined by the filter)=
.
> > >
> > > > > >  [Side note - I think this is wrong, subscribed-notifications
> > > > > > should also define "subtree".]
> > > > > >
> > > > > > But these filters are used by the server to decide if a
> > > > > > certain notification that has been generated will be sent to
> > > > > > the client or not.
> > > > >
> > > > > Yes, the filters in subscribed-notification are supposed to give
> > > > > a boolean indication as to whether a specific event should
> > > > > traverse the filter in its entirety. RFC6241 section 6 subtree
> > > > > filters are written to provide a subset of content.  I suppose
> > > > > it would be possible to define an event-based
> > > > > subtree-filter-type where a non-null result of the subtree
> > > > > filter means that a particular event should traverse that filter.=
  Is this
> what you are suggesting?
> > > >
> > > > Yes.  Note that this is already provided by RFC 5277, and I have
> > > > always assumed that this new work will provide at least the same
> > > > functions as RFC
> > > > 5277 (and more).  (But note that the XPath filter is
> > > > underspecified also in RFC
> > > > 5277...)
> > >
> > > I also want to make sure that a non-null result from a filter allows
> > > the event to pass.  I suspect that an xpath Boolean filter could be
> > > designed to do this, but I will tweak the subscribed-notifications
> > > text so that unnecessary filtering expression complexity is not
> > > artificially required.
> >
> > Please make sure you understand how subtree filters and XPath filters w=
ork
> in RFC 5277.  There is nothing wrong with that functionality.
> >
> > > > > > If you want to define filters to specifify which nodes to
> > > > > > subscribe to, I think you need to define new filters, not try
> > > > > > to reuese these notification filters.
> > > > >
> > > > > Filtering syntax is hard, so we have been trying to adopt
> > > > > whatever is available for GET.  This way we don't have to
> > > > > educate users on a new universe of what is possible.  I fully
> > > > > expect that lots of learnings are going to come in the industry
> > > > > here over time, and this will be revisited in the future.
> > > >
> > > > ?
> > > >
> > > > I am not proposing any new filter syntax.  I am saying that the
> > > > current filter nodes as defined in subscribed-notification cannot
> > > > be used to select nodes to subscribe to for changes.
> > >
> > > Understand.  Hopefully with the "xpath-selection" change proposed
> > > above, this will be covered.
> >
> > No, see above.
> >
> >
> > /martin
> >
> >
> >
> > >
> > > Eric
> > >
> > > > > > As for your question, I think such a filter should be defined
> > > > > > to return a node- set to which the client subscribe to
> > > > > > changes.  If any node (or subnode
> > > > > > to) in
> > > > > > this node-set changes, the notif will be sent.  Then the
> > > > > > question about value comparision is not relevant anymore.
> > > > >
> > > > > Excellent, on-change should only send an update if the results
> > > > > of the subscription filter have changed since the previous push.
> > > > > It is quite possible that an object has been created and then
> > > > > deleted since the last push.
> > > >
> > > > I don't understand what you're trying to say with these sentences
> > > > (but since the first word was "Excellent" maybe it's ok ;)
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > > > Representing this was the genesis of Alex's question.
> > > > >
> > > > > Eric
> > > > >
> > > > > > /martin
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > >
> > > > > > > In effect, the filter specifies which data nodes to consider
> > > > > > > when sending updates.
> > > > > > >
> > > > > > > ---Alex
> > > > > > >
> > > > > > >
> > > > > > > -----Original Message-----
> > > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > > Cc: netconf@ietf.org
> > > > > > > Subject: Re: [Netconf] In an update, when is a delete a delet=
e?
> > > > > > >
> > > > > > > Hi,
> > > > > > >
> > > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > > Hello all,
> > > > > > > >
> > > > > > > > In updating the YANG-Push document
> > > > > > > > (draft-ietf-netconf-yang-push), we have come across one
> > > > > > > > issue that we wanted to raise with the working group.
> > > > > > > >
> > > > > > > > As part of an on-change subscription, update records
> > > > > > > > reflect the type of change (e.g. whether the value of an
> > > > > > > > object has changed, or whether an object was created or
> > > > > > > > deleted); a subscription allows also to specify whether
> > > > > > > > interested only in specific types of changes (for example,
> > > > > > > > only creates and deleted but no value
> > > > changes).
> > > > > > > >
> > > > > > > > At the same time, a subscription filter specifies which
> > > > > > > > objects to include as part of a subscription and which not.
> > > > > > >
> > > > > > > Hmm, which filter are you talking about?  The only XPath
> > > > > > > filter I find in the current set of documents is the
> > > > > > > "ietf-subscribed-notifications:xpath" filter type (which btw
> > > > > > > is sorely underspecified).  Section 2.2 of
> > > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > > >
> > > > > > >    Events which evaluate to "true" as a
> > > > > > >    result of the evaluation by the filter must traverse the f=
ilter in
> > > > > > >    their entirety.
> > > > > > >
> > > > > > > It's not clear what this means, but my guess is that this is
> > > > > > > supposed to work like the old RFC 5277 filters, where the
> > > > > > > filter expression is evaluated on the notification contents,
> > > > > > > and if the expression returns "true" (for XPath filters this
> > > > > > > means converting the results to a boolean), then the
> > > > > > > notification is sent, otherwise not.
> > > > > > >
> > > > > > > But it seems you are referring to some other filter which
> > > > > > > would be used to select a node set for which changes are repo=
rted?
> > > > > > >
> > > > > > > I would like to understand which filter mechanism you mean
> > > > > > > before having an opinion in this matter.
> > > > > > >
> > > > > > >
> > > > > > > /martin
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > > (Really, it is not
> > > > > > > > so much of a "filter" on a stream that is generated
> > > > > > > > independently of the filter, than it is a policy of which
> > > > > > > > objects to include as part of subscribed update records.)
> > > > > > > > However, a subscription filter (such as
> > > > > > > > XPath) can be used to also specify a value filter, which
> > > > > > > > will include or exclude objects based on their current
> > > > > > > > value. This makes it possible to e.g. subscribe to an
> > > > > > > > object "foo" but only if its value is 5.
> > > > > > > >
> > > > > > > > Now, this means that the same object could be included in
> > > > > > > > one update, but excluded in another update, due to its
> > > > > > > > value no longer meeting the filter criteria.  For example,
> > > > > > > > if foo's value changes from 5 to 3 in one cycle, a
> > > > > > > > periodic subscription will no longer include foo in its nex=
t update.
> > > > > > > > The question now concerns how to properly handle this in
> > > > > > > > the case of an on-change
> > > > subscription.
> > > > > > > >
> > > > > > > > One possibility concerns reporting the fact that "foo" no
> > > > > > > > longer meets the subscription criteria and is no longer
> > > > > > > > included in the update record as a "delete" event.  If foo'=
s value
> again becomes "5"
> > > > > > > > at a later point in time, that would be reported as a "crea=
te"
> > > > > > > > event.  If foo's value changes again from 5 at a later
> > > > > > > > point in time and then changes back to 3 before the time
> > > > > > > > of the update (perhaps because the value changed during
> > > > > > > > the dampening interval), it would be reported as another
> > > > > > > > "delete" event (without ever reporting a create event).
> > > > > > > > On the other hand, if foo's value changed from 3 to
> > > > > > > > 6 and back again, nothing would be reported because it did
> > > > > > > > not meet the filter criteria at any point in time.
> > > > > > > >
> > > > > > > > >From the perspective of the receiver this may make sense
> > > > > > > > >if it is synching its copy of the state.  However, from
> > > > > > > > >the perspective of the publisher, the object was never
> > > > > > > > >created or deleted - only its value changed, and the case
> > > > > > > > >when the object was truly created or deleted can no
> > > > > > > > >longer be distinguished from the case when its value
> > > > > > changed.
> > > > > > > > >A "create" simply means "an object now meets a filter
> > > > > > > > >criteria, that was not reported in the previous cycle"
> > > > > > > > >(which does not mean that the object was actually created
> > > > > > > > >- it may have been created, or it may have simply undergon=
e a
> value change).
> > > > > > > >
> > > > > > > > An alternative (let's call it alternative 2) is therefore
> > > > > > > > to make a distinction between whether an object was
> > > > > > > > created or deleted, or whether its value fell in or out of =
a filter
> range.
> > > > > > > > This appears semantically cleaner.  However, it will
> > > > > > > > require modifying the encoding to allow for distinction
> > > > > > > > between those cases (currently, just plain patch encoding i=
s used).
> > > > > > > >
> > > > > > > > A third alternative is to let filters select only data
> > > > > > > > nodes to subscribe to, and separate out the value filter
> > > > > > > > (or disallow it as a feature altogether).  This
> > > > > > > > alternative has the drawback of being less conceptually
> > > > > > > > powerful, even if it may be easier to
> > > > implement.
> > > > > > > >
> > > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > > --- Alex
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > > _______________________________________________
> > > > > > Netconf mailing list
> > > > > > Netconf@ietf.org
> > > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > > >
> > >
> >


From nobody Thu May 25 11:58:24 2017
Return-Path: <per@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8D51312D574 for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 11:58:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.003
X-Spam-Level: 
X-Spam-Status: No, score=-0.003 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o2AZpQiLDBek for <netconf@ietfa.amsl.com>; Thu, 25 May 2017 11:58:20 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id C0BEF1293E0 for <netconf@ietf.org>; Thu, 25 May 2017 11:58:20 -0700 (PDT)
Received: from pluto.hedeland.org (81-228-155-109-no289.tbcn.telia.com [81.228.155.109]) by mail.tail-f.com (Postfix) with ESMTPSA id C710B1AE0336; Thu, 25 May 2017 20:58:17 +0200 (CEST)
To: "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>
References: <9FC7EF52C614284C896188640F8C655FB6F1C097@nkgeml513-mbx.china.huawei.com>
Cc: netconf@ietf.org
From: Per Hedeland <per@tail-f.com>
Message-ID: <d70320bd-8fbe-99e9-3635-56f1f3b270df@tail-f.com>
Date: Thu, 25 May 2017 20:58:17 +0200
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <9FC7EF52C614284C896188640F8C655FB6F1C097@nkgeml513-mbx.china.huawei.com>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gsbXuzyCSuEisMRAbPNR2wN45fU>
Subject: Re: [Netconf] Two questions about the usage of confirmed commit and confirming commit in RFC6241
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 May 2017 18:58:22 -0000

On 2017-05-25 11:44, Guopeipei (Peipei Guo) wrote:
> Hi All,
> 
> In RFC6241 section 8.4.1, about the persist and persist-id description:
>     If the <persist> element is not given in the confirmed commit
>     operation, any follow-up commit and the confirming commit MUST be
>     issued on the same session that issued the confirmed commit.  If the
>     <persist> element is given in the confirmed <commit> operation, a
>     follow-up commit and the confirming commit can be given on any
>     session, and they MUST include a <persist-id> element with a value
>     equal to the given value of the <persist> element.
>     If the server also advertises the :startup capability, a
>     <copy-config> from running to startup is also necessary to save the
>     changes to startup.
> 
> Question 1: For below two operations, whether step2 rpc will confirm previous step 1 confirmed commit?

No - it seems you skipped the basic description in 8.4.1, which says

   The confirming commit is a <commit> operation without the <confirmed>
   parameter.

Thus if <confirmed> is present, it cannot be a confirming commit. It
"could" have been a "follow-up confirmed <commit>", but when <persist>
is given in the initial confirmed commit, as stated in the section you
quote above, "a follow-up commit and the confirming commit can be given
on any session, and they MUST include a <persist-id> element". So the
step2 rpc is just invalid.

> Step 1: user send below rpc.
> <?xml version="1.0" encoding="UTF-8"?>
> <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
>    <commit>
>      <confirmed/>
>      <persist>IQ,d4668</persist>
>    </commit>
> </rpc>
> 
> Step 2: user resend below rpc.
> <?xml version="1.0" encoding="UTF-8"?>
> <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
>    <commit>
>      <confirmed/>
>      <persist>IQ,d4668</persist>
>    </commit>
> </rpc>
> 
> Question 2: Whether below rpc is valid or not? I think it is invalid. It should not have <persis-id> and <confirmed> in one rpc at same time.

It depends - it is valid as a "follow-up confirmed <commit>", if it has
been preceded by an initial confirmed commit giving the same "persist
id" in <persist>, and not preceded by another "follow-up confirmed
<commit>" that changed the "persist id" by giving both <persist-id> and
<persist> (with a new value) - otherwise not.

--Per

> <?xml version="1.0" encoding="UTF-8"?>
> <rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
>    <commit>
>      <confirmed/>
>      <persist-id>IQ,d4668</persist-id>
>    </commit>
> </rpc>
> 
> Thanks!


From nobody Fri May 26 01:11:07 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8545126E01 for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 01:11:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6tCfWvDFoTM0 for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 01:11:02 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 513B51242EA for <netconf@ietf.org>; Fri, 26 May 2017 01:11:02 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id 27B461AE039E; Fri, 26 May 2017 10:10:58 +0200 (CEST)
Date: Fri, 26 May 2017 10:10:57 +0200 (CEST)
Message-Id: <20170526.101057.754042735295345457.mbj@tail-f.com>
To: evoit@cisco.com
Cc: alexander.clemm@huawei.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <1cbab85dc4d14900ada7c3b1fd5b619e@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com> <20170525.110950.555535324284977195.mbj@tail-f.com> <1cbab85dc4d14900ada7c3b1fd5b619e@XCH-RTP-013.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/RPYPqLMXw8oueyOQd298xMQqy98>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2017 08:11:06 -0000

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > From: Martin Bjorklund, May 25, 2017 5:10 AM
> > 
> > Hi,
> > 
> > Thank you Alex for a well-written summary.
> > 
> > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > Let me briefly summarize where I think we are. The thread has clearly
> > > moved on from the initial issue of how to distinguish between causes
> > > for updates to no longer include a given data node (because it was
> > > deleted, or because it changed its value to no longer match a filter)
> > > to other issues.
> > >
> > > For those other issues, I think there are in fact two separate items
> > > that we are trying to discuss at the same time, which are really
> > > orthogonal to one another:
> > >
> > > - The first item concerns the concept of a "filter" vs a "selector".
> > >   A filter is what gets specified for any subscription to
> > >   notifications, which defines which notifications a subscriber
> > >   wants to receive.  The filter is applied to the notification as a
> > >   whole, i.e. either the notification is delivered or it is not.  It
> > >   does not apply to subsets of contents within the notification.  A
> > >   selector, on the other hand, is used to specify updates of which
> > >   data nodes to include in a YANG-push subscription.  The same
> > >   update notification could include updates of several data nodes,
> > >   hence a filter applied to the notification as a whole would be
> > >   inappropriate here - the semantics is slightly different: as a
> > >   subscriber, "of which data nodes would you like to receive
> > >   updates", not "which notifications would you like to receive".
> > >
> > > Filters and selectors can be specified using the same syntax.  We are
> > > faced with a choice between specifying a single construct as part of a
> > > subscription, which is treated as a filter (in case of a "regular"
> > > subscription for notification updates) or as a selector (in case of a
> > > subscription to datastore updates) , or having separate objects, i.e.
> > > adding a separate "selector" construct for YANG-push.  Using a single
> > > object amounts to overloading.  It is more compact but with arguably a
> > > more complex semantics.  Using separate object results in a model that
> > > is more verbose, but has arguably simpler semantics.
> > >
> > > - The second item concerns the issue of whether the filter/selector
> > >   construct has a dynamic type or a static type.  This is where the
> > >   issue of identity vs case statement etc comes in.  In case of a
> > >   dynamic type, we use two objects: One object of a generic type
> > >   (anydata) holds the filter/selector construct itself, the second
> > >   object specifies how to interpret it, i.e. which type it is.  (In
> > >   case of "overloading, we can also make explicit the distinction
> > >   whether it is a filter or a selector).  That second object is an
> > >   identityref, referencing one of the identities that designates the
> > >   filter/selector type.  In case of a static type, we use a case
> > >   statement (to distinguish which specific type it is).
> > 
> > If you can make the identity-based solution work, that's fine with me.
> > But the
> > current text needs to work out the details.  It's not clear at all
> > what what the
> > contents of the "anyxml" node is supposed to be.
> > 
> > That said, even the "choice"-based solution is exensible, since it can
> > be
> > augmented.  Unless it turns out that the identity-based solution can
> > be made
> > to work well, I would prefer the "choice"-based solution.
> > 
> > > The argument that Eric is making is that we should have a single
> > > overloaded object that can serve as a filter or a selector depending
> > > on the context and whether it is used in a notification subscription
> > > or a YANG-push subscription, and that we use a dynamic type including
> > > an identityref that indicates whether the object serves as a selector
> > > or a filter.  From my perspective, I feel that not overloading may be
> > > conceptually a bit "cleaner", but at the end of the day I am fine
> > > either way.  And I am not entirely sure, Martin, what you are
> > > proposing.
> > 
> > I have a strong preference for clear semantics in separate objects.  I
> > think
> > overloading the semantics in this particular example would be a huge
> > mistake.
> > Just to mention one detail, the context for the filter and selector
> > are
> > completely different - the filter works on the contents of a
> > notification and the
> > selector works on the contents of a datastore.  The filter returns a
> > boolean
> > and the selector a node set.
> > (that was two details :)
> 
> Ok.  Unless anyone objects, let's go with separate objects then.  
> 
> We can still retain the identity hierarchy.  The result to would be
> something like:
> 
> In subscribed-notifications...:
> 
> Identity filter;
>     Identity test-filter {base filter;}
>        Identity xpath-test-filter {base  test-filter;}
>        Identity  subtree-test-filter {base test-filter;}

I'm not sure why you would have this hierarchy.

I would define a base identity "filter", and describe that a filter
works on the notification content, and returns a boolean if the filter
passed or not.  Also explain how the filter input data is supposed to
be defined (i.e., explain your current anyxml approach (I think you
will see that it doesn't quite works, and you'll end up with specific
per-filter-type parameters - see below)).  Then I'd define "xpath" and
"subtree" based on "filter", and use text from RFC 5277 to explain how
such filters are evaluated (+ more text on XPath, as noted earlier in
this thread.)  This would be done in subscribed-notifications.

In addition to this, in yang-push, I'd define similar identities for
"datastore-selector".

> "anyxml filter"
> Description "Event stream evaluation criteria encoded in a syntax of a
> supported type of test-filter.  If the filter is applied against an
> event stream and there is a non-empty or positive result, the event is
> passed along."
> 
> In YANG Push...:
> 
> Identity node-selection-criteria {base sn:filter;}
>     Identity subtree-node-selection-criteria {base
>     node-selection-criteria;}
>     Identity xpath-node-selection-criteria {base node-selection-criteria;}
> 
> "anyxml selector"
> Description "YANG datastore query encoded in the syntax of a supported
> type of node-selection-criteria.  If the selector is applied against a
> datastore for periodic extracts, the resulting node-set result is
> passed along. If the selector is applied against a datastore looking
> for changes, deltas from the last update in the form of a patch result
> are passed along."

So you're suggesting that a filter that might take some parameters
would not specify these parameters in YANG, but instead in plain text
-- Suppose I want to define a new regexp-based filter, which takes two
input parameters "dialect" and "expression".  How would this be done
if it has to go into an "anyxml" node?


/martin


> 
> Eric
> 
> 
> > /martin
> > 
> > 
> > > Either way, we should document the issue and our choice clearly.
> > >
> > > --- Alex
> > >
> > >
> > > -----Original Message-----
> > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > Sent: Wednesday, May 24, 2017 12:36 AM
> > > To: evoit@cisco.com
> > > Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
> > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > > > >
> > > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > > > >
> > > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > > Hi Martin,
> > > > > > > >
> > > > > > > > Almost overlooked your question below.  What is meant by the
> > > > > > > > filter is specified in section 3.5 of the YANG-Push document.
> > > > > > > >
> > > > > > > > "Only a single filter can be applied to a subscription at a time.
> > > > > > > > The following filter types are included in the yang-push data
> > > > > > > > model:
> > > > > > > > [subtree] [xpath]"
> > > > > > >
> > > > > > > Actually, only "subtree" is defined in yang-push, "xpath" is
> > > > > > > defined in subscribed-notifications.
> > > > > >
> > > > > > At the top of yang-push page 7, xpath selection is described.
> > > > > > Is there something you feel missing?
> > > > >
> > > > > Yes.  First of all, the YANG module defines an identity called
> > > > > "xpath", based on "sn:filter".  So this filter has nothing to do
> > > > > with selecting nodes in a datastore; this filter is used to match
> > > > > against a generated notification record.
> > > >
> > > > To address this we could split the xpath identity into two types:
> > > > "xpath-selection" and "xpath-boolean".  These would have different
> > > > definitions, but both reference
> > > > http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference is
> > > > that one results in a xpath node-set expression, and the other an
> > > > xpath Boolean expression.  Make sense?
> > >
> > > Not really.  In subscribed-notifications you have defined a generic
> > > filter
> > mechanism, that is used to block/allow the sending of generated
> > notifications
> > to a subscriber.  This filter mechanism cannot be used to select nodes
> > to
> > subscribe to for changes in a datastore.  You need to define a
> > separate
> > mechansim for that in yang-push.  (Maybe not even call it "filter",
> > but perhaps
> > "selection").
> > >
> > > Some comments on subscribed-notifications: This generic mechanism
> > allows various filter syntaxes.  This generic mechanism needs to
> > explain what
> > is required by a filter syntax definition (an identity, evaluation
> > rules).  In
> > section 2.2 the document says that two filter syntaxes are supported,
> > but only
> > one is defined (xpath).  It needs to explain that a filter is supposed
> > to return
> > true or false (this part RFC 5277 got right, see section 3.6).  Also,
> > the current
> > module has the filter in an anyxml node; it is not clear how an XPath
> > expression is encoded in anyxml.
> > >
> > > > > Second, the XPath filter is sorely underspecified.  The XPath
> > > > > context is not described,
> > > >
> > > > I understand and agree on your comment about the context.  The
> > > > intent here is to provide equivalent capabilities of a GET.
> > >
> > > I understand that.
> > >
> > > > As it would be a
> > > > huge undertaking to try to consolidate an industry-wide view of the
> > > > minimal xpath syntax and capabilities in networking
> > >
> > > Ehh... yes?  What does this have to do with specifiying the XPath
> > > context?
> > >
> > > > , I am hoping this
> > > > doesn't fall under the umbrella of YANG subscription.  I would be
> > > > glad to support someone who wishes to take this up though.
> > > >
> > > > > the expected result data type is not defined, and it is not
> > > > > described how the result is supposed to be used.
> > > >
> > > > As for the result, the anydata output should be provided to the
> > > > subscriber (with appropriate security applied).
> > >
> > > I was referring to the output of the filter evaluation.
> > >
> > > > They can determine
> > > > how to use it.  The preferred embodiment would be to maintain a
> > > > local extract of the Publisher's datastore (as defined by the filter).
> > > >
> > > > > > >  [Side note - I think this is wrong, subscribed-notifications
> > > > > > > should also define "subtree".]
> > > > > > >
> > > > > > > But these filters are used by the server to decide if a
> > > > > > > certain notification that has been generated will be sent to
> > > > > > > the client or not.
> > > > > >
> > > > > > Yes, the filters in subscribed-notification are supposed to give
> > > > > > a boolean indication as to whether a specific event should
> > > > > > traverse the filter in its entirety. RFC6241 section 6 subtree
> > > > > > filters are written to provide a subset of content.  I suppose
> > > > > > it would be possible to define an event-based
> > > > > > subtree-filter-type where a non-null result of the subtree
> > > > > > filter means that a particular event should traverse that filter.  Is
> > > > > > this
> > what you are suggesting?
> > > > >
> > > > > Yes.  Note that this is already provided by RFC 5277, and I have
> > > > > always assumed that this new work will provide at least the same
> > > > > functions as RFC
> > > > > 5277 (and more).  (But note that the XPath filter is
> > > > > underspecified also in RFC
> > > > > 5277...)
> > > >
> > > > I also want to make sure that a non-null result from a filter allows
> > > > the event to pass.  I suspect that an xpath Boolean filter could be
> > > > designed to do this, but I will tweak the subscribed-notifications
> > > > text so that unnecessary filtering expression complexity is not
> > > > artificially required.
> > >
> > > Please make sure you understand how subtree filters and XPath filters
> > > work
> > in RFC 5277.  There is nothing wrong with that functionality.
> > >
> > > > > > > If you want to define filters to specifify which nodes to
> > > > > > > subscribe to, I think you need to define new filters, not try
> > > > > > > to reuese these notification filters.
> > > > > >
> > > > > > Filtering syntax is hard, so we have been trying to adopt
> > > > > > whatever is available for GET.  This way we don't have to
> > > > > > educate users on a new universe of what is possible.  I fully
> > > > > > expect that lots of learnings are going to come in the industry
> > > > > > here over time, and this will be revisited in the future.
> > > > >
> > > > > ?
> > > > >
> > > > > I am not proposing any new filter syntax.  I am saying that the
> > > > > current filter nodes as defined in subscribed-notification cannot
> > > > > be used to select nodes to subscribe to for changes.
> > > >
> > > > Understand.  Hopefully with the "xpath-selection" change proposed
> > > > above, this will be covered.
> > >
> > > No, see above.
> > >
> > >
> > > /martin
> > >
> > >
> > >
> > > >
> > > > Eric
> > > >
> > > > > > > As for your question, I think such a filter should be defined
> > > > > > > to return a node- set to which the client subscribe to
> > > > > > > changes.  If any node (or subnode
> > > > > > > to) in
> > > > > > > this node-set changes, the notif will be sent.  Then the
> > > > > > > question about value comparision is not relevant anymore.
> > > > > >
> > > > > > Excellent, on-change should only send an update if the results
> > > > > > of the subscription filter have changed since the previous push.
> > > > > > It is quite possible that an object has been created and then
> > > > > > deleted since the last push.
> > > > >
> > > > > I don't understand what you're trying to say with these sentences
> > > > > (but since the first word was "Excellent" maybe it's ok ;)
> > > > >
> > > > >
> > > > > /martin
> > > > >
> > > > >
> > > > > > Representing this was the genesis of Alex's question.
> > > > > >
> > > > > > Eric
> > > > > >
> > > > > > > /martin
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > >
> > > > > > > > In effect, the filter specifies which data nodes to consider
> > > > > > > > when sending updates.
> > > > > > > >
> > > > > > > > ---Alex
> > > > > > > >
> > > > > > > >
> > > > > > > > -----Original Message-----
> > > > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > > > Cc: netconf@ietf.org
> > > > > > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > > > Hello all,
> > > > > > > > >
> > > > > > > > > In updating the YANG-Push document
> > > > > > > > > (draft-ietf-netconf-yang-push), we have come across one
> > > > > > > > > issue that we wanted to raise with the working group.
> > > > > > > > >
> > > > > > > > > As part of an on-change subscription, update records
> > > > > > > > > reflect the type of change (e.g. whether the value of an
> > > > > > > > > object has changed, or whether an object was created or
> > > > > > > > > deleted); a subscription allows also to specify whether
> > > > > > > > > interested only in specific types of changes (for example,
> > > > > > > > > only creates and deleted but no value
> > > > > changes).
> > > > > > > > >
> > > > > > > > > At the same time, a subscription filter specifies which
> > > > > > > > > objects to include as part of a subscription and which not.
> > > > > > > >
> > > > > > > > Hmm, which filter are you talking about?  The only XPath
> > > > > > > > filter I find in the current set of documents is the
> > > > > > > > "ietf-subscribed-notifications:xpath" filter type (which btw
> > > > > > > > is sorely underspecified).  Section 2.2 of
> > > > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > > > >
> > > > > > > >    Events which evaluate to "true" as a
> > > > > > > >    result of the evaluation by the filter must traverse the
> > > > > > > >    filter in
> > > > > > > >    their entirety.
> > > > > > > >
> > > > > > > > It's not clear what this means, but my guess is that this is
> > > > > > > > supposed to work like the old RFC 5277 filters, where the
> > > > > > > > filter expression is evaluated on the notification contents,
> > > > > > > > and if the expression returns "true" (for XPath filters this
> > > > > > > > means converting the results to a boolean), then the
> > > > > > > > notification is sent, otherwise not.
> > > > > > > >
> > > > > > > > But it seems you are referring to some other filter which
> > > > > > > > would be used to select a node set for which changes are
> > > > > > > > reported?
> > > > > > > >
> > > > > > > > I would like to understand which filter mechanism you mean
> > > > > > > > before having an opinion in this matter.
> > > > > > > >
> > > > > > > >
> > > > > > > > /martin
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > > (Really, it is not
> > > > > > > > > so much of a "filter" on a stream that is generated
> > > > > > > > > independently of the filter, than it is a policy of which
> > > > > > > > > objects to include as part of subscribed update records.)
> > > > > > > > > However, a subscription filter (such as
> > > > > > > > > XPath) can be used to also specify a value filter, which
> > > > > > > > > will include or exclude objects based on their current
> > > > > > > > > value. This makes it possible to e.g. subscribe to an
> > > > > > > > > object "foo" but only if its value is 5.
> > > > > > > > >
> > > > > > > > > Now, this means that the same object could be included in
> > > > > > > > > one update, but excluded in another update, due to its
> > > > > > > > > value no longer meeting the filter criteria.  For example,
> > > > > > > > > if foo's value changes from 5 to 3 in one cycle, a
> > > > > > > > > periodic subscription will no longer include foo in its next
> > > > > > > > > update.
> > > > > > > > > The question now concerns how to properly handle this in
> > > > > > > > > the case of an on-change
> > > > > subscription.
> > > > > > > > >
> > > > > > > > > One possibility concerns reporting the fact that "foo" no
> > > > > > > > > longer meets the subscription criteria and is no longer
> > > > > > > > > included in the update record as a "delete" event.  If foo's
> > > > > > > > > value
> > again becomes "5"
> > > > > > > > > at a later point in time, that would be reported as a "create"
> > > > > > > > > event.  If foo's value changes again from 5 at a later
> > > > > > > > > point in time and then changes back to 3 before the time
> > > > > > > > > of the update (perhaps because the value changed during
> > > > > > > > > the dampening interval), it would be reported as another
> > > > > > > > > "delete" event (without ever reporting a create event).
> > > > > > > > > On the other hand, if foo's value changed from 3 to
> > > > > > > > > 6 and back again, nothing would be reported because it did
> > > > > > > > > not meet the filter criteria at any point in time.
> > > > > > > > >
> > > > > > > > > >From the perspective of the receiver this may make sense
> > > > > > > > > >if it is synching its copy of the state.  However, from
> > > > > > > > > >the perspective of the publisher, the object was never
> > > > > > > > > >created or deleted - only its value changed, and the case
> > > > > > > > > >when the object was truly created or deleted can no
> > > > > > > > > >longer be distinguished from the case when its value
> > > > > > > changed.
> > > > > > > > > >A "create" simply means "an object now meets a filter
> > > > > > > > > >criteria, that was not reported in the previous cycle"
> > > > > > > > > >(which does not mean that the object was actually created
> > > > > > > > > >- it may have been created, or it may have simply undergone a
> > value change).
> > > > > > > > >
> > > > > > > > > An alternative (let's call it alternative 2) is therefore
> > > > > > > > > to make a distinction between whether an object was
> > > > > > > > > created or deleted, or whether its value fell in or out of a
> > > > > > > > > filter
> > range.
> > > > > > > > > This appears semantically cleaner.  However, it will
> > > > > > > > > require modifying the encoding to allow for distinction
> > > > > > > > > between those cases (currently, just plain patch encoding is
> > > > > > > > > used).
> > > > > > > > >
> > > > > > > > > A third alternative is to let filters select only data
> > > > > > > > > nodes to subscribe to, and separate out the value filter
> > > > > > > > > (or disallow it as a feature altogether).  This
> > > > > > > > > alternative has the drawback of being less conceptually
> > > > > > > > > powerful, even if it may be easier to
> > > > > implement.
> > > > > > > > >
> > > > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > > > --- Alex
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Netconf mailing list
> > > > > > > Netconf@ietf.org
> > > > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > > > >
> > > >
> > >
> 


From nobody Fri May 26 06:39:55 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 004851200E5 for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 06:39:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J3SRe9yDaNtK for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 06:39:50 -0700 (PDT)
Received: from rcdn-iport-8.cisco.com (rcdn-iport-8.cisco.com [173.37.86.79]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38AD8129535 for <netconf@ietf.org>; Fri, 26 May 2017 06:39:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=27378; q=dns/txt; s=iport; t=1495805990; x=1497015590; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=P5pDwKFvqPPOawpgnuojv/R0GOwLQuN1HaCsSQd3nuA=; b=IhaTdlCf/TCcc0lnWxImSWgc2D6uLiGfC8iuvXdDjaVMNnlrbZ1ErUnq uHpe2O0u4bu5ErDR+0O5d5Oe+Znp3lF56VH0ibhZ9ONMkFP6Ij9+/xU0L TQOOrudSTolf+HpGsquSwgyqpHXGTHVevxiYI138ibkyRCTiG25xzlX8y 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BPAQA2LyhZ/4cNJK1UCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYNVYjIBWgeOAJFlcpUHggwDIQuFLkoCgwo/GAECAQEBAQEBAWs?= =?us-ascii?q?ohRgBAQEBAgEBARggNAsFBwQCAQgOAwQBAQEMAREJBycLFAkIAgQOBQgTigcIE?= =?us-ascii?q?K1ni1YBAQEBAQEBAQEBAQEBAQEBAQEBAQEdhl+BXYJpNIQ2CRE8hUwFniMBhx+?= =?us-ascii?q?Lf4IPhTyKNYkBi0wBHziBCnQVRoUDHIFjdod8gQ0BAQE?=
X-IronPort-AV: E=Sophos;i="5.38,397,1491264000"; d="scan'208";a="248362534"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 May 2017 13:39:48 +0000
Received: from XCH-RTP-014.cisco.com (xch-rtp-014.cisco.com [64.101.220.154]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v4QDdlAb012704 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 26 May 2017 13:39:48 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-014.cisco.com (64.101.220.154) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 26 May 2017 09:39:47 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Fri, 26 May 2017 09:39:47 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesAAcMVmAAB8SZAAAFoFiAAAA+6UAAC9AgYAAAM0O4A==
Date: Fri, 26 May 2017 13:39:47 +0000
Message-ID: <876eb733a0c8419da4dfc0dfb6858371@XCH-RTP-013.cisco.com>
References: <644DA50AFA8C314EA9BDDAC83BD38A2E0DFB052A@SJCEML701-CHM.china.huawei.com> <20170525.110950.555535324284977195.mbj@tail-f.com> <1cbab85dc4d14900ada7c3b1fd5b619e@XCH-RTP-013.cisco.com> <20170526.101057.754042735295345457.mbj@tail-f.com>
In-Reply-To: <20170526.101057.754042735295345457.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/rpk3gdJGEXBpbY6UA65BPww2OGs>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2017 13:39:53 -0000

Hi Martin,

There are two differences in what we are describing:
(#1) Do we have a parent identity which spans both the test filter types an=
d the selection filter types
(#2) Should we expose additional filter parameters within the YANG model

For (#1), I see no harm in providing a parent identity.  Perhaps your conce=
rn is documentation compatibility with what was previously driven by 5277? =
 If that is the case, we could rename the top level filter to "evaluation-c=
riteria".  This would free up "test-filter" to be renamed to "filter".  If =
this is ok, below is what is in the might be included in subscribed-notific=
ations.  I believe matches to what you are suggesting, with the exception o=
f the top level evaluation-criteria identity.=20

  identity evaluation-criteria {
    description
      "Base identity for representing types of filtering or selection synta=
xes which may be applied against some target.";
  }
  identity filter {
    base evaluation-criteria;
    description
      "Evaluation criteria used as a pass/fail test against events.  A bool=
ean true, or a non-null result of a node=20
       selection will allow events to traverse the filter.";
  } =20
  identity subtree-filter {
    base filter;
    description
      "A RFC-6241 based filter which attempts to select nodes within an eve=
nt.  A successful=20
       selection of any nodes results in a positive test result.";
    reference "RFC-6241, #5.1";
  } =20
  identity xpath-filter {
    base filter;
    description
      "A filter applied to an event which follows the syntax specified in y=
ang:xpath1.0. Success=20
       is indicated by either a positive boolean result, or a non-null node=
 selection.";
    reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-19991116";
  }


For (#2), within the YANG model we expose a target for the evaluation-crite=
ria (i.e., a stream or datastore) and the anydata.  I don't think we should=
 try for more.  The subscription specifications are complex enough already.=
 =20

If we try to break out additional parameters from the opaque anydata (eithe=
r selector or filter), there is going to be a desire to break out even more=
 parameters.  And then there will be attempts to codify valid interplays wi=
th these parameters.  There are many lifetimes of complexity here.  Your ex=
ample of regexp is an excellent one, look at:
https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines=20
it is hard for even a wiki page to maintain links to the variations.

If someone has a proposal for how to parameterize these filtering criteria =
simply, I would love to listen.  Note: Such a proposal may not disrupt othe=
r vendor syntaxes which can be transparently supported via the anyxml.   Ab=
sent such a proposal, we should leave the specifics up to implementations f=
or now. =20

> From: Martin Bjorklund, May 26, 2017 4:11 AM
>=20
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > From: Martin Bjorklund, May 25, 2017 5:10 AM
> > >
> > > Hi,
> > >
> > > Thank you Alex for a well-written summary.
> > >
> > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > Let me briefly summarize where I think we are. The thread has
> > > > clearly moved on from the initial issue of how to distinguish
> > > > between causes for updates to no longer include a given data node
> > > > (because it was deleted, or because it changed its value to no
> > > > longer match a filter) to other issues.
> > > >
> > > > For those other issues, I think there are in fact two separate
> > > > items that we are trying to discuss at the same time, which are
> > > > really orthogonal to one another:
> > > >
> > > > - The first item concerns the concept of a "filter" vs a "selector"=
.
> > > >   A filter is what gets specified for any subscription to
> > > >   notifications, which defines which notifications a subscriber
> > > >   wants to receive.  The filter is applied to the notification as a
> > > >   whole, i.e. either the notification is delivered or it is not.  I=
t
> > > >   does not apply to subsets of contents within the notification.  A
> > > >   selector, on the other hand, is used to specify updates of which
> > > >   data nodes to include in a YANG-push subscription.  The same
> > > >   update notification could include updates of several data nodes,
> > > >   hence a filter applied to the notification as a whole would be
> > > >   inappropriate here - the semantics is slightly different: as a
> > > >   subscriber, "of which data nodes would you like to receive
> > > >   updates", not "which notifications would you like to receive".
> > > >
> > > > Filters and selectors can be specified using the same syntax.  We
> > > > are faced with a choice between specifying a single construct as
> > > > part of a subscription, which is treated as a filter (in case of a =
"regular"
> > > > subscription for notification updates) or as a selector (in case
> > > > of a subscription to datastore updates) , or having separate object=
s, i.e.
> > > > adding a separate "selector" construct for YANG-push.  Using a
> > > > single object amounts to overloading.  It is more compact but with
> > > > arguably a more complex semantics.  Using separate object results
> > > > in a model that is more verbose, but has arguably simpler semantics=
.
> > > >
> > > > - The second item concerns the issue of whether the filter/selector
> > > >   construct has a dynamic type or a static type.  This is where the
> > > >   issue of identity vs case statement etc comes in.  In case of a
> > > >   dynamic type, we use two objects: One object of a generic type
> > > >   (anydata) holds the filter/selector construct itself, the second
> > > >   object specifies how to interpret it, i.e. which type it is.  (In
> > > >   case of "overloading, we can also make explicit the distinction
> > > >   whether it is a filter or a selector).  That second object is an
> > > >   identityref, referencing one of the identities that designates th=
e
> > > >   filter/selector type.  In case of a static type, we use a case
> > > >   statement (to distinguish which specific type it is).
> > >
> > > If you can make the identity-based solution work, that's fine with me=
.
> > > But the
> > > current text needs to work out the details.  It's not clear at all
> > > what what the contents of the "anyxml" node is supposed to be.
> > >
> > > That said, even the "choice"-based solution is exensible, since it
> > > can be augmented.  Unless it turns out that the identity-based
> > > solution can be made to work well, I would prefer the "choice"-based
> > > solution.
> > >
> > > > The argument that Eric is making is that we should have a single
> > > > overloaded object that can serve as a filter or a selector
> > > > depending on the context and whether it is used in a notification
> > > > subscription or a YANG-push subscription, and that we use a
> > > > dynamic type including an identityref that indicates whether the
> > > > object serves as a selector or a filter.  From my perspective, I
> > > > feel that not overloading may be conceptually a bit "cleaner", but
> > > > at the end of the day I am fine either way.  And I am not entirely
> > > > sure, Martin, what you are proposing.
> > >
> > > I have a strong preference for clear semantics in separate objects.
> > > I think overloading the semantics in this particular example would
> > > be a huge mistake.
> > > Just to mention one detail, the context for the filter and selector
> > > are completely different - the filter works on the contents of a
> > > notification and the selector works on the contents of a datastore.
> > > The filter returns a boolean and the selector a node set.
> > > (that was two details :)
> >
> > Ok.  Unless anyone objects, let's go with separate objects then.
> >
> > We can still retain the identity hierarchy.  The result to would be
> > something like:
> >
> > In subscribed-notifications...:
> >
> > Identity filter;
> >     Identity test-filter {base filter;}
> >        Identity xpath-test-filter {base  test-filter;}
> >        Identity  subtree-test-filter {base test-filter;}
>=20
> I'm not sure why you would have this hierarchy.
>=20
> I would define a base identity "filter", and describe that a filter works=
 on the
> notification content, and returns a boolean if the filter passed or not. =
 Also
> explain how the filter input data is supposed to be defined (i.e., explai=
n your
> current anyxml approach (I think you will see that it doesn't quite works=
, and
> you'll end up with specific per-filter-type parameters - see below)). =20

Per above, opaque data interpreted by implementations is the plan, unless s=
omeone has an alternative proposal.=20

> Then I'd
> define "xpath" and "subtree" based on "filter", and use text from RFC 527=
7 to
> explain how such filters are evaluated (+ more text on XPath, as noted ea=
rlier in
> this thread.)  This would be done in subscribed-notifications.

Yes, this is the intent.

> In addition to this, in yang-push, I'd define similar identities for "dat=
astore-
> selector".

Yes, this is the intent.
=20
> > "anyxml filter"
> > Description "Event stream evaluation criteria encoded in a syntax of a
> > supported type of test-filter.  If the filter is applied against an
> > event stream and there is a non-empty or positive result, the event is
> > passed along."
> >
> > In YANG Push...:
> >
> > Identity node-selection-criteria {base sn:filter;}
> >     Identity subtree-node-selection-criteria {base
> >     node-selection-criteria;}
> >     Identity xpath-node-selection-criteria {base
> > node-selection-criteria;}
> >
> > "anyxml selector"
> > Description "YANG datastore query encoded in the syntax of a supported
> > type of node-selection-criteria.  If the selector is applied against a
> > datastore for periodic extracts, the resulting node-set result is
> > passed along. If the selector is applied against a datastore looking
> > for changes, deltas from the last update in the form of a patch result
> > are passed along."
>=20
> So you're suggesting that a filter that might take some parameters would =
not
> specify these parameters in YANG, but instead in plain text
> -- Suppose I want to define a new regexp-based filter, which takes two in=
put
> parameters "dialect" and "expression".  How would this be done if it has =
to go
> into an "anyxml" node?

Vendors will have to specify valid examples of what will be formatted withi=
n their anyxml.

Eric

> /martin
>=20
>=20
> >
> > Eric
> >
> >
> > > /martin
> > >
> > >
> > > > Either way, we should document the issue and our choice clearly.
> > > >
> > > > --- Alex
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > Sent: Wednesday, May 24, 2017 12:36 AM
> > > > To: evoit@cisco.com
> > > > Cc: Alexander Clemm <alexander.clemm@huawei.com>; netconf@ietf.org
> > > > Subject: Re: [Netconf] In an update, when is a delete a delete?
> > > >
> > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > > From: Martin Bjorklund, May 23, 2017 1:57 PM
> > > > > >
> > > > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > > > > Martin Bjorklund, May 22, 2017 3:30 PM
> > > > > > > >
> > > > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > > > Hi Martin,
> > > > > > > > >
> > > > > > > > > Almost overlooked your question below.  What is meant by
> > > > > > > > > the filter is specified in section 3.5 of the YANG-Push d=
ocument.
> > > > > > > > >
> > > > > > > > > "Only a single filter can be applied to a subscription at=
 a time.
> > > > > > > > > The following filter types are included in the yang-push
> > > > > > > > > data
> > > > > > > > > model:
> > > > > > > > > [subtree] [xpath]"
> > > > > > > >
> > > > > > > > Actually, only "subtree" is defined in yang-push, "xpath"
> > > > > > > > is defined in subscribed-notifications.
> > > > > > >
> > > > > > > At the top of yang-push page 7, xpath selection is described.
> > > > > > > Is there something you feel missing?
> > > > > >
> > > > > > Yes.  First of all, the YANG module defines an identity called
> > > > > > "xpath", based on "sn:filter".  So this filter has nothing to
> > > > > > do with selecting nodes in a datastore; this filter is used to
> > > > > > match against a generated notification record.
> > > > >
> > > > > To address this we could split the xpath identity into two types:
> > > > > "xpath-selection" and "xpath-boolean".  These would have
> > > > > different definitions, but both reference
> > > > > http://www.w3.org/TR/1999/REC-xpath-19991116 .  The difference
> > > > > is that one results in a xpath node-set expression, and the
> > > > > other an xpath Boolean expression.  Make sense?
> > > >
> > > > Not really.  In subscribed-notifications you have defined a
> > > > generic filter
> > > mechanism, that is used to block/allow the sending of generated
> > > notifications to a subscriber.  This filter mechanism cannot be used
> > > to select nodes to subscribe to for changes in a datastore.  You
> > > need to define a separate mechansim for that in yang-push.  (Maybe
> > > not even call it "filter", but perhaps "selection").
> > > >
> > > > Some comments on subscribed-notifications: This generic mechanism
> > > allows various filter syntaxes.  This generic mechanism needs to
> > > explain what is required by a filter syntax definition (an identity,
> > > evaluation rules).  In section 2.2 the document says that two filter
> > > syntaxes are supported, but only one is defined (xpath).  It needs
> > > to explain that a filter is supposed to return true or false (this
> > > part RFC 5277 got right, see section 3.6).  Also, the current module
> > > has the filter in an anyxml node; it is not clear how an XPath
> > > expression is encoded in anyxml.
> > > >
> > > > > > Second, the XPath filter is sorely underspecified.  The XPath
> > > > > > context is not described,
> > > > >
> > > > > I understand and agree on your comment about the context.  The
> > > > > intent here is to provide equivalent capabilities of a GET.
> > > >
> > > > I understand that.
> > > >
> > > > > As it would be a
> > > > > huge undertaking to try to consolidate an industry-wide view of
> > > > > the minimal xpath syntax and capabilities in networking
> > > >
> > > > Ehh... yes?  What does this have to do with specifiying the XPath
> > > > context?
> > > >
> > > > > , I am hoping this
> > > > > doesn't fall under the umbrella of YANG subscription.  I would
> > > > > be glad to support someone who wishes to take this up though.
> > > > >
> > > > > > the expected result data type is not defined, and it is not
> > > > > > described how the result is supposed to be used.
> > > > >
> > > > > As for the result, the anydata output should be provided to the
> > > > > subscriber (with appropriate security applied).
> > > >
> > > > I was referring to the output of the filter evaluation.
> > > >
> > > > > They can determine
> > > > > how to use it.  The preferred embodiment would be to maintain a
> > > > > local extract of the Publisher's datastore (as defined by the fil=
ter).
> > > > >
> > > > > > > >  [Side note - I think this is wrong,
> > > > > > > > subscribed-notifications should also define "subtree".]
> > > > > > > >
> > > > > > > > But these filters are used by the server to decide if a
> > > > > > > > certain notification that has been generated will be sent
> > > > > > > > to the client or not.
> > > > > > >
> > > > > > > Yes, the filters in subscribed-notification are supposed to
> > > > > > > give a boolean indication as to whether a specific event
> > > > > > > should traverse the filter in its entirety. RFC6241 section
> > > > > > > 6 subtree filters are written to provide a subset of
> > > > > > > content.  I suppose it would be possible to define an
> > > > > > > event-based subtree-filter-type where a non-null result of
> > > > > > > the subtree filter means that a particular event should
> > > > > > > traverse that filter.  Is this
> > > what you are suggesting?
> > > > > >
> > > > > > Yes.  Note that this is already provided by RFC 5277, and I
> > > > > > have always assumed that this new work will provide at least
> > > > > > the same functions as RFC
> > > > > > 5277 (and more).  (But note that the XPath filter is
> > > > > > underspecified also in RFC
> > > > > > 5277...)
> > > > >
> > > > > I also want to make sure that a non-null result from a filter
> > > > > allows the event to pass.  I suspect that an xpath Boolean
> > > > > filter could be designed to do this, but I will tweak the
> > > > > subscribed-notifications text so that unnecessary filtering
> > > > > expression complexity is not artificially required.
> > > >
> > > > Please make sure you understand how subtree filters and XPath
> > > > filters work
> > > in RFC 5277.  There is nothing wrong with that functionality.
> > > >
> > > > > > > > If you want to define filters to specifify which nodes to
> > > > > > > > subscribe to, I think you need to define new filters, not
> > > > > > > > try to reuese these notification filters.
> > > > > > >
> > > > > > > Filtering syntax is hard, so we have been trying to adopt
> > > > > > > whatever is available for GET.  This way we don't have to
> > > > > > > educate users on a new universe of what is possible.  I
> > > > > > > fully expect that lots of learnings are going to come in the
> > > > > > > industry here over time, and this will be revisited in the fu=
ture.
> > > > > >
> > > > > > ?
> > > > > >
> > > > > > I am not proposing any new filter syntax.  I am saying that
> > > > > > the current filter nodes as defined in subscribed-notification
> > > > > > cannot be used to select nodes to subscribe to for changes.
> > > > >
> > > > > Understand.  Hopefully with the "xpath-selection" change
> > > > > proposed above, this will be covered.
> > > >
> > > > No, see above.
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > >
> > > > >
> > > > > Eric
> > > > >
> > > > > > > > As for your question, I think such a filter should be
> > > > > > > > defined to return a node- set to which the client
> > > > > > > > subscribe to changes.  If any node (or subnode
> > > > > > > > to) in
> > > > > > > > this node-set changes, the notif will be sent.  Then the
> > > > > > > > question about value comparision is not relevant anymore.
> > > > > > >
> > > > > > > Excellent, on-change should only send an update if the
> > > > > > > results of the subscription filter have changed since the pre=
vious
> push.
> > > > > > > It is quite possible that an object has been created and
> > > > > > > then deleted since the last push.
> > > > > >
> > > > > > I don't understand what you're trying to say with these
> > > > > > sentences (but since the first word was "Excellent" maybe it's
> > > > > > ok ;)
> > > > > >
> > > > > >
> > > > > > /martin
> > > > > >
> > > > > >
> > > > > > > Representing this was the genesis of Alex's question.
> > > > > > >
> > > > > > > Eric
> > > > > > >
> > > > > > > > /martin
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > >
> > > > > > > > > In effect, the filter specifies which data nodes to
> > > > > > > > > consider when sending updates.
> > > > > > > > >
> > > > > > > > > ---Alex
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > -----Original Message-----
> > > > > > > > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > > > > > > Sent: Wednesday, May 17, 2017 11:50 PM
> > > > > > > > > To: Alexander Clemm <alexander.clemm@huawei.com>
> > > > > > > > > Cc: netconf@ietf.org
> > > > > > > > > Subject: Re: [Netconf] In an update, when is a delete a d=
elete?
> > > > > > > > >
> > > > > > > > > Hi,
> > > > > > > > >
> > > > > > > > > Alexander Clemm <alexander.clemm@huawei.com> wrote:
> > > > > > > > > > Hello all,
> > > > > > > > > >
> > > > > > > > > > In updating the YANG-Push document
> > > > > > > > > > (draft-ietf-netconf-yang-push), we have come across
> > > > > > > > > > one issue that we wanted to raise with the working grou=
p.
> > > > > > > > > >
> > > > > > > > > > As part of an on-change subscription, update records
> > > > > > > > > > reflect the type of change (e.g. whether the value of
> > > > > > > > > > an object has changed, or whether an object was
> > > > > > > > > > created or deleted); a subscription allows also to
> > > > > > > > > > specify whether interested only in specific types of
> > > > > > > > > > changes (for example, only creates and deleted but no
> > > > > > > > > > value
> > > > > > changes).
> > > > > > > > > >
> > > > > > > > > > At the same time, a subscription filter specifies
> > > > > > > > > > which objects to include as part of a subscription and =
which
> not.
> > > > > > > > >
> > > > > > > > > Hmm, which filter are you talking about?  The only XPath
> > > > > > > > > filter I find in the current set of documents is the
> > > > > > > > > "ietf-subscribed-notifications:xpath" filter type (which
> > > > > > > > > btw is sorely underspecified).  Section 2.2 of
> > > > > > > > > draft-ietf-netconf-subscribed-notifications-02 says:
> > > > > > > > >
> > > > > > > > >    Events which evaluate to "true" as a
> > > > > > > > >    result of the evaluation by the filter must traverse t=
he
> > > > > > > > >    filter in
> > > > > > > > >    their entirety.
> > > > > > > > >
> > > > > > > > > It's not clear what this means, but my guess is that
> > > > > > > > > this is supposed to work like the old RFC 5277 filters,
> > > > > > > > > where the filter expression is evaluated on the
> > > > > > > > > notification contents, and if the expression returns
> > > > > > > > > "true" (for XPath filters this means converting the
> > > > > > > > > results to a boolean), then the notification is sent, oth=
erwise not.
> > > > > > > > >
> > > > > > > > > But it seems you are referring to some other filter
> > > > > > > > > which would be used to select a node set for which
> > > > > > > > > changes are reported?
> > > > > > > > >
> > > > > > > > > I would like to understand which filter mechanism you
> > > > > > > > > mean before having an opinion in this matter.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > /martin
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > > (Really, it is not
> > > > > > > > > > so much of a "filter" on a stream that is generated
> > > > > > > > > > independently of the filter, than it is a policy of
> > > > > > > > > > which objects to include as part of subscribed update
> > > > > > > > > > records.) However, a subscription filter (such as
> > > > > > > > > > XPath) can be used to also specify a value filter,
> > > > > > > > > > which will include or exclude objects based on their
> > > > > > > > > > current value. This makes it possible to e.g.
> > > > > > > > > > subscribe to an object "foo" but only if its value is 5=
.
> > > > > > > > > >
> > > > > > > > > > Now, this means that the same object could be included
> > > > > > > > > > in one update, but excluded in another update, due to
> > > > > > > > > > its value no longer meeting the filter criteria.  For
> > > > > > > > > > example, if foo's value changes from 5 to 3 in one
> > > > > > > > > > cycle, a periodic subscription will no longer include
> > > > > > > > > > foo in its next update.
> > > > > > > > > > The question now concerns how to properly handle this
> > > > > > > > > > in the case of an on-change
> > > > > > subscription.
> > > > > > > > > >
> > > > > > > > > > One possibility concerns reporting the fact that "foo"
> > > > > > > > > > no longer meets the subscription criteria and is no
> > > > > > > > > > longer included in the update record as a "delete"
> > > > > > > > > > event.  If foo's value
> > > again becomes "5"
> > > > > > > > > > at a later point in time, that would be reported as a "=
create"
> > > > > > > > > > event.  If foo's value changes again from 5 at a later
> > > > > > > > > > point in time and then changes back to 3 before the
> > > > > > > > > > time of the update (perhaps because the value changed
> > > > > > > > > > during the dampening interval), it would be reported
> > > > > > > > > > as another "delete" event (without ever reporting a cre=
ate
> event).
> > > > > > > > > > On the other hand, if foo's value changed from 3 to
> > > > > > > > > > 6 and back again, nothing would be reported because it
> > > > > > > > > > did not meet the filter criteria at any point in time.
> > > > > > > > > >
> > > > > > > > > > >From the perspective of the receiver this may make
> > > > > > > > > > >sense if it is synching its copy of the state.
> > > > > > > > > > >However, from the perspective of the publisher, the
> > > > > > > > > > >object was never created or deleted - only its value
> > > > > > > > > > >changed, and the case when the object was truly
> > > > > > > > > > >created or deleted can no longer be distinguished
> > > > > > > > > > >from the case when its value
> > > > > > > > changed.
> > > > > > > > > > >A "create" simply means "an object now meets a filter
> > > > > > > > > > >criteria, that was not reported in the previous cycle"
> > > > > > > > > > >(which does not mean that the object was actually
> > > > > > > > > > >created
> > > > > > > > > > >- it may have been created, or it may have simply
> > > > > > > > > > >undergone a
> > > value change).
> > > > > > > > > >
> > > > > > > > > > An alternative (let's call it alternative 2) is
> > > > > > > > > > therefore to make a distinction between whether an
> > > > > > > > > > object was created or deleted, or whether its value
> > > > > > > > > > fell in or out of a filter
> > > range.
> > > > > > > > > > This appears semantically cleaner.  However, it will
> > > > > > > > > > require modifying the encoding to allow for
> > > > > > > > > > distinction between those cases (currently, just plain
> > > > > > > > > > patch encoding is used).
> > > > > > > > > >
> > > > > > > > > > A third alternative is to let filters select only data
> > > > > > > > > > nodes to subscribe to, and separate out the value
> > > > > > > > > > filter (or disallow it as a feature altogether).  This
> > > > > > > > > > alternative has the drawback of being less
> > > > > > > > > > conceptually powerful, even if it may be easier to
> > > > > > implement.
> > > > > > > > > >
> > > > > > > > > > Thoughts?  Any preferences between 1, 2, and 3?
> > > > > > > > > > --- Alex
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > > _______________________________________________
> > > > > > > > Netconf mailing list
> > > > > > > > Netconf@ietf.org
> > > > > > > > https://www.ietf.org/mailman/listinfo/netconf
> > > > > > >
> > > > >
> > > >
> >


From nobody Fri May 26 07:22:34 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C8E1A126FDC for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 07:22:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e9pmD7FoqxrE for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 07:22:32 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id EF6F6126D74 for <netconf@ietf.org>; Fri, 26 May 2017 07:22:31 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id A37B41AE039E; Fri, 26 May 2017 16:22:30 +0200 (CEST)
Date: Fri, 26 May 2017 16:22:30 +0200 (CEST)
Message-Id: <20170526.162230.279705680178245042.mbj@tail-f.com>
To: evoit@cisco.com
Cc: alexander.clemm@huawei.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <876eb733a0c8419da4dfc0dfb6858371@XCH-RTP-013.cisco.com>
References: <1cbab85dc4d14900ada7c3b1fd5b619e@XCH-RTP-013.cisco.com> <20170526.101057.754042735295345457.mbj@tail-f.com> <876eb733a0c8419da4dfc0dfb6858371@XCH-RTP-013.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/MhaJcnk57kubYdniKau_Bq5Y3g4>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2017 14:22:34 -0000

Hi,

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> Hi Martin,
> 
> There are two differences in what we are describing:
> (#1) Do we have a parent identity which spans both the test filter
> types and the selection filter types
> (#2) Should we expose additional filter parameters within the YANG
> model
> 
> For (#1), I see no harm in providing a parent identity.

I do, since there is no benefit in a common parent identity.  It just
adds complexity to what's really a simple model.


> Perhaps your
> concern is documentation compatibility with what was previously driven
> by 5277?

No.

> If that is the case, we could rename the top level filter to
> "evaluation-criteria".  This would free up "test-filter" to be renamed
> to "filter".  If this is ok, below is what is in the might be included
> in subscribed-notifications.  I believe matches to what you are
> suggesting, with the exception of the top level evaluation-criteria
> identity.
> 
>   identity evaluation-criteria {
>     description
>       "Base identity for representing types of filtering or selection
>       syntaxes which may be applied against some target.";
>   }
>   identity filter {
>     base evaluation-criteria;
>     description
>       "Evaluation criteria used as a pass/fail test against events.  A
>       boolean true, or a non-null result of a node
>        selection will allow events to traverse the filter.";
>   }  
>   identity subtree-filter {
>     base filter;
>     description
>       "A RFC-6241 based filter which attempts to select nodes within an
>       event.  A successful
>        selection of any nodes results in a positive test result.";
>     reference "RFC-6241, #5.1";
>   }  
>   identity xpath-filter {
>     base filter;
>     description
>       "A filter applied to an event which follows the syntax specified in
>       yang:xpath1.0. Success
>        is indicated by either a positive boolean result, or a non-null node
>        selection.";
>     reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-19991116";
>   }
> 
> 
> For (#2), within the YANG model we expose a target for the
> evaluation-criteria (i.e., a stream or datastore) and the anydata.  I
> don't think we should try for more.  The subscription specifications
> are complex enough already.
> 
> If we try to break out additional parameters from the opaque anydata
> (either selector or filter), there is going to be a desire to break
> out even more parameters.  And then there will be attempts to codify
> valid interplays with these parameters.

I don't understand what this means.  Maybe you can provide an example
by using my proposal below?

> There are many lifetimes of
> complexity here.  Your example of regexp is an excellent one, look at:
> https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
> it is hard for even a wiki page to maintain links to the variations.

This is completely missing my point, which has to do with how filter
parameters are specified for new filters; not that there are many
regexp dialects.

> If someone has a proposal for how to parameterize these filtering
> criteria simply, I would love to listen.  Note: Such a proposal may
> not disrupt other vendor syntaxes which can be transparently supported
> via the anyxml.  Absent such a proposal, we should leave the specifics
> up to implementations for now.

[...]

> Vendors will have to specify valid examples of what will be formatted
> within their anyxml.

Specification by example is not very appealing IMO.   Ok, here's a
proposal for how to do this:


  leaf filter-type {
    mandatory true;
    type identityref {
      base filter;
    }
  }
  choice filter-parameters {
    mandatory true;
    case subtree-parameters {
      when 'derived-from-or-self(../filter-type,
                                 "sn:subtree-filter")';
      anydata subtree {
        description "<copy text from 5277>";
      }
    }
    case xpath-parameters {
      when 'derived-from-or-self(../filter-type,
                                 "sn:xpath-filter")';
      leaf xpath {
        type yang:xpath1.0;
        description
          "<explain the XPath context, copy text from 5277>";
      }
    }
  }

Now, if a vendor/sdo wants to add a new filter type, it can be done
like this:

  identity regexp-filter {
    base "sn:filter";
    description
      "...";
  }
  augment "/sn:filters/sn:filter/sn:filter-parameters" {
    when 'derived-from-or-self(../filter-type,
                               "rx:xpath-filter")';
    leaf regexp-dialect {
      type enumeration {
        enum "xsd";
        enum "posix";
        ...
      }
    }
    leaf regexp-expression {
      type string;
    }
  }


Once we have this, we can simplify by removing the identity; it isn't
really necessary.  (IIRC this was suggested by Juergen earlier in this
thread.)



/martin

    
         


From nobody Fri May 26 08:29:41 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 095E8129AD0 for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 08:29:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7tr0AdK7C4iK for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 08:29:38 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 243B4129ADA for <netconf@ietf.org>; Fri, 26 May 2017 08:29:38 -0700 (PDT)
Received: from localhost (h-13-81.a165.priv.bahnhof.se [155.4.13.81]) by mail.tail-f.com (Postfix) with ESMTPSA id 07EDA1AE039E; Fri, 26 May 2017 17:29:37 +0200 (CEST)
Date: Fri, 26 May 2017 17:29:36 +0200 (CEST)
Message-Id: <20170526.172936.41395960352343450.mbj@tail-f.com>
To: evoit@cisco.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20170526.162230.279705680178245042.mbj@tail-f.com>
References: <20170526.101057.754042735295345457.mbj@tail-f.com> <876eb733a0c8419da4dfc0dfb6858371@XCH-RTP-013.cisco.com> <20170526.162230.279705680178245042.mbj@tail-f.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/c6rY2qxAYP68LXA5hcGzrWpPhC8>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2017 15:29:40 -0000

Hi,

See below for a correction.

Martin Bjorklund <mbj@tail-f.com> wrote:
> Hi,
> 
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > Hi Martin,
> > 
> > There are two differences in what we are describing:
> > (#1) Do we have a parent identity which spans both the test filter
> > types and the selection filter types
> > (#2) Should we expose additional filter parameters within the YANG
> > model
> > 
> > For (#1), I see no harm in providing a parent identity.
> 
> I do, since there is no benefit in a common parent identity.  It just
> adds complexity to what's really a simple model.
> 
> 
> > Perhaps your
> > concern is documentation compatibility with what was previously driven
> > by 5277?
> 
> No.
> 
> > If that is the case, we could rename the top level filter to
> > "evaluation-criteria".  This would free up "test-filter" to be renamed
> > to "filter".  If this is ok, below is what is in the might be included
> > in subscribed-notifications.  I believe matches to what you are
> > suggesting, with the exception of the top level evaluation-criteria
> > identity.
> > 
> >   identity evaluation-criteria {
> >     description
> >       "Base identity for representing types of filtering or selection
> >       syntaxes which may be applied against some target.";
> >   }
> >   identity filter {
> >     base evaluation-criteria;
> >     description
> >       "Evaluation criteria used as a pass/fail test against events.  A
> >       boolean true, or a non-null result of a node
> >        selection will allow events to traverse the filter.";
> >   }  
> >   identity subtree-filter {
> >     base filter;
> >     description
> >       "A RFC-6241 based filter which attempts to select nodes within an
> >       event.  A successful
> >        selection of any nodes results in a positive test result.";
> >     reference "RFC-6241, #5.1";
> >   }  
> >   identity xpath-filter {
> >     base filter;
> >     description
> >       "A filter applied to an event which follows the syntax specified in
> >       yang:xpath1.0. Success
> >        is indicated by either a positive boolean result, or a non-null node
> >        selection.";
> >     reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-19991116";
> >   }
> > 
> > 
> > For (#2), within the YANG model we expose a target for the
> > evaluation-criteria (i.e., a stream or datastore) and the anydata.  I
> > don't think we should try for more.  The subscription specifications
> > are complex enough already.
> > 
> > If we try to break out additional parameters from the opaque anydata
> > (either selector or filter), there is going to be a desire to break
> > out even more parameters.  And then there will be attempts to codify
> > valid interplays with these parameters.
> 
> I don't understand what this means.  Maybe you can provide an example
> by using my proposal below?
> 
> > There are many lifetimes of
> > complexity here.  Your example of regexp is an excellent one, look at:
> > https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines
> > it is hard for even a wiki page to maintain links to the variations.
> 
> This is completely missing my point, which has to do with how filter
> parameters are specified for new filters; not that there are many
> regexp dialects.
> 
> > If someone has a proposal for how to parameterize these filtering
> > criteria simply, I would love to listen.  Note: Such a proposal may
> > not disrupt other vendor syntaxes which can be transparently supported
> > via the anyxml.  Absent such a proposal, we should leave the specifics
> > up to implementations for now.
> 
> [...]
> 
> > Vendors will have to specify valid examples of what will be formatted
> > within their anyxml.
> 
> Specification by example is not very appealing IMO.   Ok, here's a
> proposal for how to do this:
> 
> 
>   leaf filter-type {
>     mandatory true;
>     type identityref {
>       base filter;
>     }
>   }
>   choice filter-parameters {
>     mandatory true;
>     case subtree-parameters {
>       when 'derived-from-or-self(../filter-type,
>                                  "sn:subtree-filter")';
>       anydata subtree {
>         description "<copy text from 5277>";
>       }
>     }
>     case xpath-parameters {
>       when 'derived-from-or-self(../filter-type,
>                                  "sn:xpath-filter")';
>       leaf xpath {
>         type yang:xpath1.0;
>         description
>           "<explain the XPath context, copy text from 5277>";
>       }
>     }
>   }
> 
> Now, if a vendor/sdo wants to add a new filter type, it can be done
> like this:
> 
>   identity regexp-filter {
>     base "sn:filter";
>     description
>       "...";
>   }
>   augment "/sn:filters/sn:filter/sn:filter-parameters" {
>     when 'derived-from-or-self(../filter-type,
>                                "rx:xpath-filter")';

Here there should be a case:

  case regexp-parameters {

>     leaf regexp-dialect {
>       type enumeration {
>         enum "xsd";
>         enum "posix";
>         ...
>       }
>     }
>     leaf regexp-expression {
>       type string;
>     }

  }

>   }
> 


/martin



> 
> Once we have this, we can simplify by removing the identity; it isn't
> really necessary.  (IIRC this was suggested by Juergen earlier in this
> thread.)
> 
> 
> 
> /martin
> 
>     
>          
> 
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
> 


From nobody Fri May 26 13:15:38 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2A095129B4C for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 13:15:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rjB-E3VyfRua for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 13:15:33 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0487A1287A5 for <netconf@ietf.org>; Fri, 26 May 2017 13:15:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8883; q=dns/txt; s=iport; t=1495829732; x=1497039332; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MvUdayoV9tajxNI4R75liVQyJYp6x/U7WvBiqodclQA=; b=lwX2c6DH8v/xXFo9IQ4lBUu61lPnZc4Lb38S6TPvvYTl9kvHSLD6ETdh 4YCme9ZX7dAm9SLhrhfaZLGFllF+GXi3rLOGwZ+f1CM8M1+/XbA+vVzQ/ i11xZCiKP3fbkm0cdsLX9/NN8VT2geyC3oyvBELrrdAwMTUq0nCrXUL94 E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CYAAA7jChZ/5ldJa1TCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYNVYoENB44AkWVylQeCDyELhS5KAoMKPxgBAgEBAQEBAQFrKIU?= =?us-ascii?q?YAQEBAQIBAQEMLCsJCwULAgEIDgcDDREQJwslAgQOBQiKGggQrSeLUgEBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAR2GYYFfAYJrNIRCTYVMBZ4jAYcfi3+CD49xiQGLTAE?= =?us-ascii?q?fOIEKdBVGhwJ2hk4rgQOBDQEBAQ?=
X-IronPort-AV: E=Sophos;i="5.38,399,1491264000"; d="scan'208";a="248517531"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 May 2017 20:15:31 +0000
Received: from XCH-RTP-012.cisco.com (xch-rtp-012.cisco.com [64.101.220.152]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id v4QKFVLj010843 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 26 May 2017 20:15:31 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-012.cisco.com (64.101.220.152) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 26 May 2017 16:15:30 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Fri, 26 May 2017 16:15:30 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesAAcMVmAAB8SZAAAFoFiAAAA+6UAAC9AgYAAAM0O4AAMLNwAAAJX7AAAAeCXIA==
Date: Fri, 26 May 2017 20:15:30 +0000
Message-ID: <7618ac2330394709ac9a9389e1f933cc@XCH-RTP-013.cisco.com>
References: <20170526.101057.754042735295345457.mbj@tail-f.com> <876eb733a0c8419da4dfc0dfb6858371@XCH-RTP-013.cisco.com> <20170526.162230.279705680178245042.mbj@tail-f.com> <20170526.172936.41395960352343450.mbj@tail-f.com>
In-Reply-To: <20170526.172936.41395960352343450.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/5GX0FU2nSCZyHkc_Uqzo6kYyf64>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 May 2017 20:15:37 -0000

Hi Martin,

Good discussion.  Some thoughts in-line...

> From: Martin Bjorklund, May 26, 2017 11:30 AM
>=20
> Hi,
>=20
> See below for a correction.
>=20
> Martin Bjorklund <mbj@tail-f.com> wrote:
> > Hi,
> >
> > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > Hi Martin,
> > >
> > > There are two differences in what we are describing:
> > > (#1) Do we have a parent identity which spans both the test filter
> > > types and the selection filter types
> > > (#2) Should we expose additional filter parameters within the YANG
> > > model
> > >
> > > For (#1), I see no harm in providing a parent identity.
> >
> > I do, since there is no benefit in a common parent identity.  It just
> > adds complexity to what's really a simple model.

There are three options for traversing the filter criteria subtyping:
(a) filter sub-typing defined by a multi-tier identity hierarchy
(b) explicit subtyping for selection vs. test, with independent identity se=
ts
(c) explicit subtyping for all current and future types of filters

If we ever use (a) in any form, there is value in a parent identity.  As th=
e current working draft is based (b), I will pull it out.  We can always re=
-add in parallel with (b) if someone expresses a business need.

> > > Perhaps your
> > > concern is documentation compatibility with what was previously
> > > driven by 5277?
> >
> > No.
> >
> > > If that is the case, we could rename the top level filter to
> > > "evaluation-criteria".  This would free up "test-filter" to be
> > > renamed to "filter".  If this is ok, below is what is in the might
> > > be included in subscribed-notifications.  I believe matches to what
> > > you are suggesting, with the exception of the top level
> > > evaluation-criteria identity.
> > >
> > >   identity evaluation-criteria {
> > >     description
> > >       "Base identity for representing types of filtering or selection
> > >       syntaxes which may be applied against some target.";
> > >   }
> > >   identity filter {
> > >     base evaluation-criteria;
> > >     description
> > >       "Evaluation criteria used as a pass/fail test against events.  =
A
> > >       boolean true, or a non-null result of a node
> > >        selection will allow events to traverse the filter.";
> > >   }
> > >   identity subtree-filter {
> > >     base filter;
> > >     description
> > >       "A RFC-6241 based filter which attempts to select nodes within =
an
> > >       event.  A successful
> > >        selection of any nodes results in a positive test result.";
> > >     reference "RFC-6241, #5.1";
> > >   }
> > >   identity xpath-filter {
> > >     base filter;
> > >     description
> > >       "A filter applied to an event which follows the syntax specifie=
d in
> > >       yang:xpath1.0. Success
> > >        is indicated by either a positive boolean result, or a non-nul=
l node
> > >        selection.";
> > >     reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-19991116";
> > >   }
> > >
> > >
> > > For (#2), within the YANG model we expose a target for the
> > > evaluation-criteria (i.e., a stream or datastore) and the anydata.
> > > I don't think we should try for more.  The subscription
> > > specifications are complex enough already.
> > >
> > > If we try to break out additional parameters from the opaque anydata
> > > (either selector or filter), there is going to be a desire to break
> > > out even more parameters.  And then there will be attempts to codify
> > > valid interplays with these parameters.
> >
> > I don't understand what this means.  Maybe you can provide an example
> > by using my proposal below?

Looking at your regexp example, I now see that by 'parameters', you also me=
ant that you wanted a different yang object type for each type of supported=
 filter.  I.e., you want (c).  My earlier interpretation was that you wante=
d (b) with additional parameters to break down the contents and interworkin=
gs of a common anydata event filter object.

The explicit subtyping with different object types that you have below clos=
e to what we had up through yang-push draft -v04 (minus your addition of th=
e case regexp & dialect parameter).   Draft -v05 went the other way to (a) =
by minimizing the number and potential growth of filter object types via th=
e addition of the filter-type.  Working draft -v06 is of (b), and is attemp=
ting to balance these needs.  The cost of both (a) and (b) is that we have =
a new object type, and the application must validate the filter-type syntax=
 -- foregoing datatype enforcement by the model.  But as the application wi=
ll need to do its own syntax checks for the enforcement for platform specif=
ic filtering capabilities anyway, this doesn't seem to be a bad tradeoff.

BTW: I also would have also leaned towards explicit subtyping of option (c)=
 if it were definitively possible to know whether a platform could support =
a specific filter back at the subscriber.  But all filters will still need =
publisher validation, so yang data-type enforcement provides only minimal p=
rotections.  =20

So with (b) vs (c), it feels like we are coming a model style preference.  =
I have a preference for (b): the one with fewer object types, and the one w=
here it is the identities which might grow over time.  If we remain with (b=
), the interface specification should be less verbose.

> > > There are many lifetimes of
> > > complexity here.  Your example of regexp is an excellent one, look at=
:
> > > https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engin
> > > es it is hard for even a wiki page to maintain links to the
> > > variations.
> >
> > This is completely missing my point, which has to do with how filter
> > parameters are specified for new filters; not that there are many
> > regexp dialects.
> >
> > > If someone has a proposal for how to parameterize these filtering
> > > criteria simply, I would love to listen.  Note: Such a proposal may
> > > not disrupt other vendor syntaxes which can be transparently
> > > supported via the anyxml.  Absent such a proposal, we should leave
> > > the specifics up to implementations for now.
> >
> > [...]
> >
> > > Vendors will have to specify valid examples of what will be
> > > formatted within their anyxml.
> >
> > Specification by example is not very appealing IMO.   Ok, here's a
> > proposal for how to do this:

This is helpful.  I now understand what you are proposing.

> >   leaf filter-type {
> >     mandatory true;
> >     type identityref {
> >       base filter;
> >     }
> >   }
> >   choice filter-parameters {
> >     mandatory true;
> >     case subtree-parameters {
> >       when 'derived-from-or-self(../filter-type,
> >                                  "sn:subtree-filter")';
> >       anydata subtree {
> >         description "<copy text from 5277>";
> >       }
> >     }
> >     case xpath-parameters {
> >       when 'derived-from-or-self(../filter-type,
> >                                  "sn:xpath-filter")';
> >       leaf xpath {
> >         type yang:xpath1.0;
> >         description
> >           "<explain the XPath context, copy text from 5277>";
> >       }
> >     }
> >   }
> >
> > Now, if a vendor/sdo wants to add a new filter type, it can be done
> > like this:
> >
> >   identity regexp-filter {
> >     base "sn:filter";
> >     description
> >       "...";
> >   }
> >   augment "/sn:filters/sn:filter/sn:filter-parameters" {
> >     when 'derived-from-or-self(../filter-type,
> >                                "rx:xpath-filter")';
>=20
> Here there should be a case:
>=20
>   case regexp-parameters {
>=20
> >     leaf regexp-dialect {
> >       type enumeration {
> >         enum "xsd";
> >         enum "posix";
> >         ...
> >       }
> >     }
> >     leaf regexp-expression {
> >       type string;
> >     }
>=20
>   }

I like this augmentation structure.  With this, it is possible for vendor s=
pecific augmented objects to be added the model, versus parameters being em=
bedded in the anydata.  Augmentations like this can be done with (b) too sh=
ould people agree on filter parameters needing to be exposed.  Hopefully ty=
pe of augmentation this can hold us until the time someone picks up filters=
 holistically.

Eric =20

> >   }
> >
>=20
>=20
> /martin
>=20
>=20
>=20
> >
> > Once we have this, we can simplify by removing the identity; it isn't
> > really necessary.  (IIRC this was suggested by Juergen earlier in this
> > thread.)
> >
> >
> >
> > /martin
> >
> >
> >
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> >


From nobody Fri May 26 19:20:57 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0D683124E15 for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 19:20:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3gDDCtnn8n2d for <netconf@ietfa.amsl.com>; Fri, 26 May 2017 19:20:53 -0700 (PDT)
Received: from mail-wr0-x230.google.com (mail-wr0-x230.google.com [IPv6:2a00:1450:400c:c0c::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99363129BF5 for <netconf@ietf.org>; Fri, 26 May 2017 19:20:52 -0700 (PDT)
Received: by mail-wr0-x230.google.com with SMTP id w50so9953868wrc.0 for <netconf@ietf.org>; Fri, 26 May 2017 19:20:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=0JiPQSeJ7Y2gG9YYLallbxI/2WWuDiVKvoMX1lDxPgM=; b=lx6j5qsVm2UOmThRW8IvOT0uwojrCF0s/7CrsHEdY/vmxz7wpS6itkx+h2YF+rZMhE 4kF19+pifbqdNAeA4dZ/hnLPZSOrgF+kKisGbjQUlNZ2YhkqemzG9m/XR18DzuDI5Ntp BhgCsPAC+Rk4FrI7K1cuPDeiDyROT6fc24CwNVjCz6Ko2FTc3eokKTeyIuSVQJ6ZVT/T iJCDLhAgPVVWTil26oLXtAy4jEEO3tmxWznxlwCE+aDhlHnZpmT8ee8p1EQlgSFjH3ze R4WcbJgB0R3wcqzgX9fgxltaF8KJN7dXuvuIRTcvo7KtifbGeq6w8l5g/bjzJKYCisjs Guiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=0JiPQSeJ7Y2gG9YYLallbxI/2WWuDiVKvoMX1lDxPgM=; b=RMf0luMS3Wjx+4Sxd/LZtPxjSy6MWlgVOOyOzCIIjdgv3Ze9MBbQfAMkjWfJlwdnjl AJMyhvGk759QTuF7UWvUP9p+ilXkHKMBoYkqfL3yNau30LnmHauUpcsK7Bj6tpH/Hzns wZ3lt1ud/Kw+0RPtx3kxrydITwVEWWmxp+UhAcpcWe12HitiBZn5b2sfL5IiKNv58uff atP1xe3yAWW/fbRibdKq/Vkiurfyh6xJK/W+1lbFvhf2BBN0U/c6GIsSMwhqDR+2QaQR xPh4mHpPUY5m1NPu+3qxteb1z13qsA1vya3BoDYhZodn1zBb6EHYeXuPb1MMyWzKhCLQ HZZw==
X-Gm-Message-State: AODbwcBEJ8YbxP0OxIVIJSIIfh5fuzuoXu+w6RhKtNLGbIfk/wz7n+lD uEi/GENP+GX2QRSzeO3NlKn5AZHJpX4y
X-Received: by 10.223.162.150 with SMTP id s22mr3837732wra.88.1495851651074; Fri, 26 May 2017 19:20:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Fri, 26 May 2017 19:20:50 -0700 (PDT)
In-Reply-To: <20170524.091650.1982503698804665659.mbj@tail-f.com>
References: <20170523.091519.1988324449434279102.mbj@tail-f.com> <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com> <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com> <20170524.091650.1982503698804665659.mbj@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 26 May 2017 19:20:50 -0700
Message-ID: <CABCOCHRk05FYXnLDw1eZyXxx=smGoLSPG83vGtUXGWojetugqg@mail.gmail.com>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>,  Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="f403045ec6584c9ec00550781a80"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/xrTQg1pTIsWv20ZQqvz4AjDGNZs>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 27 May 2017 02:20:56 -0000

--f403045ec6584c9ec00550781a80
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, May 24, 2017 at 12:16 AM, Martin Bjorklund <mbj@tail-f.com> wrote:

> Andy Bierman <andy@yumaworks.com> wrote:
> > On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani <
> > mjethanandani@gmail.com> wrote:
> >
> > >
> > > > On May 23, 2017, at 12:15 AM, Martin Bjorklund <mbj@tail-f.com>
> wrote:
> > > >
> > > > Andy Bierman <andy@yumaworks.com> wrote:
> > > >> Hi,
> > > >>
> > > >> The update is on github.
> > > >> http://github.com/netconf-wg/rfc6536bis
> > > >>
> > > >> I would like Martin to look it over before it is posted.
> > > >
> > > > Done, and the new text looks good.  I moved the new subsection to b=
e
> > > > the first in 3.2, and I also fixed some minor terminology issues.
> > > >
> > > > But, I wonder if we shouldn't make the document even less NETCONF
> > > > specific, and align the terminology to revised-datastores.  For
> > > > example, currently the document talks about access to "NETCONF
> > > > datastores".   With the new less protocol-specific terminology this
> > > > would simply be "datastore=E2=80=9D.
> > >
> > > I would prefer this.
> > >
> >
> > OK, but the operations are somewhat NETCONF specific.
> > We will try to make sure we do not create more inconsistencies than we
> > remove ;-)
>
> Yes.  But I think what we should do is not any technical changes, just
> align terminology.
>
>

OK -- the term NETCONF datastore was used twice, now just datastore.
(pushed to github)

The term datastore appears a lot.  There are 3 variants:

    - datastore
    - configuration datastore
    - target datastore

With revised datastores these are not all the same anymore.
We probably need to go through the entire document and check if the
correct variant is used in each instance.

Are there other terms that are needed for alignment?

Does NACM need to reference the revised-datastores draft to import
terminology?




>
> /martin
>
>

Andy


>
>
> >
> >
> > Andy
> >
> >
> > >
> > > >
> > > > Also, we currently have this:
> > > >
> > > >   A standalone RESTCONF server (i.e., not co-located with a NETCONF
> > > >   server) applies NACM rules to a conceptual datastore, since
> > > >   datastores are not supported in RESTCONF.
> > > >
> > > > I don't think this is quite correct.  Even in a stand-alone RESTCON=
F
> > > > server there is an underlying conceptual datastore, for which NACM
> can
> > > > be used to control access.
> > > >
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > >>
> > > >>
> > > >> Andy
> > > >>
> > > >>
> > > >> On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani <
> > > >> mjethanandani@gmail.com> wrote:
> > > >>
> > > >>> Andy,
> > > >>>
> > > >>> On May 16, 2017, at 2:32 PM, Andy Bierman <andy@yumaworks.com>
> wrote:
> > > >>>
> > > >>>
> > > >>>
> > > >>> On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani <
> > > >>> mjethanandani@gmail.com> wrote:
> > > >>>
> > > >>>> Having reviewed all the e-mails, I believe that there are few
> issues
> > > that
> > > >>>> need to be resolved before we send the draft for publication. We
> need
> > > to
> > > >>>> agree on the language, even if we do have the exact text in the
> draft.
> > > >>>>
> > > >>>> To begin with, do the authors have a response to the suggestions
> from
> > > >>>> Juergen prompted by the question from Alex? Are we leaving the
> NACM
> > > >>>> definition of any future datastores to the datastore draft, or
> are we
> > > >>>> saying NACM applies to all datastores?
> > > >>>>
> > > >>>>
> > > >>> No. IMO the text should say NACM applies to NETCONF and RESTCONF
> > > >>> with the existing datastores.
> > > >>>
> > > >>> NACM MAY be applied to other datastores that have similar operati=
on
> > > sets.
> > > >>> Any new datastore specification needs to define how it maps to th=
e
> NACM
> > > >>> CRUDX
> > > >>> model.  The datastore does not need to use NACM (e.g., datastore
> > > defines
> > > >>> something else
> > > >>> or does not use access control).
> > > >>>
> > > >>>
> > > >>> Can you update the draft with this text.
> > > >>>
> > > >>>
> > > >>>
> > > >>> To the point that Andy raised earlier, we need to have texts arou=
nd
> > > >>>> datastores that provide more than CRUDX capabilities, including
> any
> > > >>>> protocol operations, e.g. priority, as something that is out of
> scope
> > > of
> > > >>>> this document.
> > > >>>>
> > > >>>>
> > > >>> This would be outside the scope of NACM.
> > > >>> This is part of the RPC input validation.
> > > >>>
> > > >>>
> > > >>> And clarify that operations outside of CRUDX are outside the scop=
e
> of
> > > >>> NACM. We can them move the document towards publication.
> > > >>>
> > > >>> Thanks.
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>> NETCONF WG has moved to redefine its charter beyond NETCONF and
> > > RESTCONF.
> > > >>>> Therefore there is a real possibility of another protocol being
> > > discussed
> > > >>>> in the WG. Is there something in the NACM draft that restricts i=
t
> to
> > > >>>> NETCONF/RESTCONF that other protocols cannot adopt? If so, can
> they be
> > > >>>> called out?
> > > >>>>
> > > >>>
> > > >>> If NACM needs to be changed in the future because a new or existi=
ng
> > > >>> protocol needs new features
> > > >>> then the WG will have to deal with it then.
> > > >>>
> > > >>>
> > > >>>
> > > >>>>
> > > >>>> Thanks.
> > > >>>>
> > > >>>>
> > > >>> Andy
> > > >>>
> > > >>>
> > > >>>>> On May 9, 2017, at 11:46 PM, Juergen Schoenwaelder <
> > > >>>> j.schoenwaelder@jacobs-university.de> wrote:
> > > >>>>>
> > > >>>>> On Tue, May 09, 2017 at 02:50:30PM +0200, Martin Bjorklund wrot=
e:
> > > >>>>>> Andy Bierman <andy@yumaworks.com> wrote:
> > > >>>>>>> On Thu, May 4, 2017 at 11:21 AM, Alexander Clemm <
> > > >>>> alexander.clemm@huawei.com
> > > >>>>>>>> wrote:
> > > >>>>>>>
> > > >>>>>>>> As mentioned in my message, I don=E2=80=99t think specific a=
ccess
> control
> > > >>>> will be
> > > >>>>>>>> needed (I am not aware of specific use cases), but
> specifically
> > > with
> > > >>>> the
> > > >>>>>>>> revised datastore architecture about to the be introduced, i=
ts
> > > >>>> impact or
> > > >>>>>>>> nonimpact and interrelation with NACM should be discussed.
> This
> > > can
> > > >>>> be as
> > > >>>>>>>> simple as a small paragraph or subsection =E2=80=9CRevised D=
atastore
> > > >>>>>>>> Considerations=E2=80=9D.
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>>
> > > >>>>>>>
> > > >>>>>>> there is no text about candidate vs. running vs. startup.
> > > >>>>>>> The NACM rules apply to all of them the same.
> > > >>>>>>> I could add text that says there is no consideration for
> specific
> > > >>>>>>> datastores.
> > > >>>>>>
> > > >>>>>> Actually, the document already says:
> > > >>>>>>
> > > >>>>>> 3.2.  Datastore Access
> > > >>>>>>
> > > >>>>>>  The same access control rules apply to all datastores, for
> example,
> > > >>>>>>  the candidate configuration datastore or the running
> configuration
> > > >>>>>>  datastore.
> > > >>>>>>
> > > >>>>>>  Only the standard NETCONF datastores (candidate, running, and
> > > >>>>>>  startup) are controlled by NACM.
> > > >>>>>>
> > > >>>>>>
> > > >>>>>> Somehow this needs to be updated when the revised datastore
> work is
> > > >>>>>> done.  E.g., I expect read access to intended to follow the sa=
me
> > > NACM
> > > >>>>>> rules.
> > > >>>>>>
> > > >>>>>
> > > >>>>> Yes. NACM likely also applies to the <operational/> datastore
> (but
> > > >>>>> this follows already from the text that talks about 'state
> data').
> > > >>>>>
> > > >>>>> My question, however, was about other future yet to be defined
> > > >>>>> 'dynamic' datastores - does NACM make a statement of the form
> 'once
> > > an
> > > >>>>> implementation announces NACM, NACM applies to all datastores -
> no
> > > >>>>> exceptions' or do we leave it to the definition of future
> datastores
> > > >>>>> to declare whether NACM applies to it. There may be three
> possible
> > > >>>>> solutions:
> > > >>>>>
> > > >>>>> a) Once an implementation supports NACM, NACM applies to all
> > > >>>>>  datastores (including any datastores defined in the future).
> > > >>>>>
> > > >>>>> b) Once an implementation supports NACM, NACM applies to all
> > > >>>>>  conventional datastores and the operational state datastore.
> Other
> > > >>>>>  datastores must define whether NACM applies to them.
> > > >>>>>
> > > >>>>>  (This means, whenever a new datastore is introduced, the
> question
> > > >>>>>  whether NACM applies has to answered for the new datastore.)
> > > >>>>>
> > > >>>>> c) Once an implementation supports NACM, NACM applies to all
> current
> > > >>>>>  and future datastore unless explicitely stated or signaled tha=
t
> > > >>>>>  NACM does not apply to a certain future datastore.
> > > >>>>>
> > > >>>>>  (This is essentially b) but with a default that NACM applies
> unless
> > > >>>>>  things are explicitly regulated to be different.)
> > > >>>>>
> > > >>>>> I just thought it is worth to take a moment to think about this
> > > >>>>> question.
> > > >>>>>
> > > >>>>> /js
> > > >>>>>
> > > >>>>> --
> > > >>>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > > >>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen |
> > > Germany
> > > >>>>> Fax:   +49 421 200 3103         <http://www.jacobs-university.
> de/>
> > > >>>>>
> > > >>>>> _______________________________________________
> > > >>>>> Netconf mailing list
> > > >>>>> Netconf@ietf.org
> > > >>>>> https://www.ietf.org/mailman/listinfo/netconf
> > > >>>>
> > > >>>> Mahesh Jethanandani
> > > >>>> mjethanandani@gmail.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>
> > > >>> Mahesh Jethanandani
> > > >>> mjethanandani@gmail.com
> > > >>>
> > > >>>
> > >
> > > Mahesh Jethanandani
> > > mjethanandani@gmail.com
> > >
> > >
> > >
> > >
>

--f403045ec6584c9ec00550781a80
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 24, 2017 at 12:16 AM, Martin Bjorklund <span dir=3D"ltr">&l=
t;<a href=3D"mailto:mbj@tail-f.com" target=3D"_blank">mbj@tail-f.com</a>&gt=
;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding-left:1ex">Andy Bierman &lt;<a href=
=3D"mailto:andy@yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani &lt;<br>
&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>=
&gt; wrote:<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; On May 23, 2017, at 12:15 AM, Martin Bjorklund &lt;<a href=
=3D"mailto:mbj@tail-f.com">mbj@tail-f.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">andy@=
yumaworks.com</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt; Hi,<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; The update is on github.<br>
&gt; &gt; &gt;&gt; <a href=3D"http://github.com/netconf-wg/rfc6536bis" rel=
=3D"noreferrer" target=3D"_blank">http://github.com/netconf-wg/<wbr>rfc6536=
bis</a><br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; I would like Martin to look it over before it is posted.=
<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Done, and the new text looks good.=C2=A0 I moved the new sub=
section to be<br>
&gt; &gt; &gt; the first in 3.2, and I also fixed some minor terminology is=
sues.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; But, I wonder if we shouldn&#39;t make the document even les=
s NETCONF<br>
&gt; &gt; &gt; specific, and align the terminology to revised-datastores.=
=C2=A0 For<br>
&gt; &gt; &gt; example, currently the document talks about access to &quot;=
NETCONF<br>
&gt; &gt; &gt; datastores&quot;.=C2=A0 =C2=A0With the new less protocol-spe=
cific terminology this<br>
&gt; &gt; &gt; would simply be &quot;datastore=E2=80=9D.<br>
&gt; &gt;<br>
&gt; &gt; I would prefer this.<br>
&gt; &gt;<br>
&gt;<br>
&gt; OK, but the operations are somewhat NETCONF specific.<br>
&gt; We will try to make sure we do not create more inconsistencies than we=
<br>
&gt; remove ;-)<br>
<br>
Yes.=C2=A0 But I think what we should do is not any technical changes, just=
<br>
align terminology.<br>
<br></blockquote><div><br></div><div><br></div><div>OK -- the term NETCONF =
datastore was used twice, now just datastore.</div><div>(pushed to github)<=
/div><div><br></div><div>The term datastore appears a lot.=C2=A0 There are =
3 variants:</div><div><br></div><div>=C2=A0 =C2=A0 - datastore</div><div>=
=C2=A0 =C2=A0 - configuration datastore</div><div>=C2=A0 =C2=A0 - target da=
tastore</div><div><br></div><div>With revised datastores these are not all =
the same anymore.</div><div>We probably need to go through the entire docum=
ent and check if the</div><div>correct variant is used in each instance.=C2=
=A0</div><div><br></div><div>Are there other terms that are needed for alig=
nment?</div><div><br></div><div>Does NACM need to reference the revised-dat=
astores draft to import</div><div>terminology?</div><div><br></div><div><br=
></div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
/martin<br>
<br></blockquote><div><br></div><div><br></div><div>Andy</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-lef=
t:1px #ccc solid;padding-left:1ex">
<br>
<br>
&gt;<br>
&gt;<br>
&gt; Andy<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Also, we currently have this:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0A standalone RESTCONF server (i.e., not co-locat=
ed with a NETCONF<br>
&gt; &gt; &gt;=C2=A0 =C2=A0server) applies NACM rules to a conceptual datas=
tore, since<br>
&gt; &gt; &gt;=C2=A0 =C2=A0datastores are not supported in RESTCONF.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I don&#39;t think this is quite correct.=C2=A0 Even in a sta=
nd-alone RESTCONF<br>
&gt; &gt; &gt; server there is an underlying conceptual datastore, for whic=
h NACM can<br>
&gt; &gt; &gt; be used to control access.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; /martin<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; Andy<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt; On Sun, May 21, 2017 at 10:25 PM, Mahesh Jethanandani &l=
t;<br>
&gt; &gt; &gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani=
@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Andy,<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; On May 16, 2017, at 2:32 PM, Andy Bierman &lt;<a hre=
f=3D"mailto:andy@yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; On Tue, May 16, 2017 at 2:02 PM, Mahesh Jethanandani=
 &lt;<br>
&gt; &gt; &gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanan=
dani@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; Having reviewed all the e-mails, I believe that =
there are few issues<br>
&gt; &gt; that<br>
&gt; &gt; &gt;&gt;&gt;&gt; need to be resolved before we send the draft for=
 publication. We need<br>
&gt; &gt; to<br>
&gt; &gt; &gt;&gt;&gt;&gt; agree on the language, even if we do have the ex=
act text in the draft.<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; To begin with, do the authors have a response to=
 the suggestions from<br>
&gt; &gt; &gt;&gt;&gt;&gt; Juergen prompted by the question from Alex? Are =
we leaving the NACM<br>
&gt; &gt; &gt;&gt;&gt;&gt; definition of any future datastores to the datas=
tore draft, or are we<br>
&gt; &gt; &gt;&gt;&gt;&gt; saying NACM applies to all datastores?<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; No. IMO the text should say NACM applies to NETCONF =
and RESTCONF<br>
&gt; &gt; &gt;&gt;&gt; with the existing datastores.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; NACM MAY be applied to other datastores that have si=
milar operation<br>
&gt; &gt; sets.<br>
&gt; &gt; &gt;&gt;&gt; Any new datastore specification needs to define how =
it maps to the NACM<br>
&gt; &gt; &gt;&gt;&gt; CRUDX<br>
&gt; &gt; &gt;&gt;&gt; model.=C2=A0 The datastore does not need to use NACM=
 (e.g., datastore<br>
&gt; &gt; defines<br>
&gt; &gt; &gt;&gt;&gt; something else<br>
&gt; &gt; &gt;&gt;&gt; or does not use access control).<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Can you update the draft with this text.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; To the point that Andy raised earlier, we need to ha=
ve texts around<br>
&gt; &gt; &gt;&gt;&gt;&gt; datastores that provide more than CRUDX capabili=
ties, including any<br>
&gt; &gt; &gt;&gt;&gt;&gt; protocol operations, e.g. priority, as something=
 that is out of scope<br>
&gt; &gt; of<br>
&gt; &gt; &gt;&gt;&gt;&gt; this document.<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; This would be outside the scope of NACM.<br>
&gt; &gt; &gt;&gt;&gt; This is part of the RPC input validation.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; And clarify that operations outside of CRUDX are out=
side the scope of<br>
&gt; &gt; &gt;&gt;&gt; NACM. We can them move the document towards publicat=
ion.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Thanks.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; NETCONF WG has moved to redefine its charter bey=
ond NETCONF and<br>
&gt; &gt; RESTCONF.<br>
&gt; &gt; &gt;&gt;&gt;&gt; Therefore there is a real possibility of another=
 protocol being<br>
&gt; &gt; discussed<br>
&gt; &gt; &gt;&gt;&gt;&gt; in the WG. Is there something in the NACM draft =
that restricts it to<br>
&gt; &gt; &gt;&gt;&gt;&gt; NETCONF/RESTCONF that other protocols cannot ado=
pt? If so, can they be<br>
&gt; &gt; &gt;&gt;&gt;&gt; called out?<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; If NACM needs to be changed in the future because a =
new or existing<br>
&gt; &gt; &gt;&gt;&gt; protocol needs new features<br>
&gt; &gt; &gt;&gt;&gt; then the WG will have to deal with it then.<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; Thanks.<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Andy<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; On May 9, 2017, at 11:46 PM, Juergen Schoenw=
aelder &lt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; <a href=3D"mailto:j.schoenwaelder@jacobs-univers=
ity.de">j.schoenwaelder@jacobs-<wbr>university.de</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; On Tue, May 09, 2017 at 02:50:30PM +0200, Ma=
rtin Bjorklund wrote:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; Andy Bierman &lt;<a href=3D"mailto:andy@=
yumaworks.com">andy@yumaworks.com</a>&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; On Thu, May 4, 2017 at 11:21 AM, Ale=
xander Clemm &lt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; <a href=3D"mailto:alexander.clemm@huawei.com">al=
exander.clemm@huawei.com</a><br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; As mentioned in my message, I do=
n=E2=80=99t think specific access control<br>
&gt; &gt; &gt;&gt;&gt;&gt; will be<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; needed (I am not aware of specif=
ic use cases), but specifically<br>
&gt; &gt; with<br>
&gt; &gt; &gt;&gt;&gt;&gt; the<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; revised datastore architecture a=
bout to the be introduced, its<br>
&gt; &gt; &gt;&gt;&gt;&gt; impact or<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; nonimpact and interrelation with=
 NACM should be discussed.=C2=A0 This<br>
&gt; &gt; can<br>
&gt; &gt; &gt;&gt;&gt;&gt; be as<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; simple as a small paragraph or s=
ubsection =E2=80=9CRevised Datastore<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; Considerations=E2=80=9D.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; there is no text about candidate vs.=
 running vs. startup.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; The NACM rules apply to all of them =
the same.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; I could add text that says there is =
no consideration for specific<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;&gt; datastores.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; Actually, the document already says:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; 3.2.=C2=A0 Datastore Access<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 The same access control rules appl=
y to all datastores, for example,<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 the candidate configuration datast=
ore or the running configuration<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 datastore.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 Only the standard NETCONF datastor=
es (candidate, running, and<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;=C2=A0 startup) are controlled by NACM.<b=
r>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; Somehow this needs to be updated when th=
e revised datastore work is<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; done.=C2=A0 E.g., I expect read access t=
o intended to follow the same<br>
&gt; &gt; NACM<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt; rules.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; Yes. NACM likely also applies to the &lt;ope=
rational/&gt; datastore (but<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; this follows already from the text that talk=
s about &#39;state data&#39;).<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; My question, however, was about other future=
 yet to be defined<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; &#39;dynamic&#39; datastores - does NACM mak=
e a statement of the form &#39;once<br>
&gt; &gt; an<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; implementation announces NACM, NACM applies =
to all datastores - no<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; exceptions&#39; or do we leave it to the def=
inition of future datastores<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; to declare whether NACM applies to it. There=
 may be three possible<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; solutions:<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; a) Once an implementation supports NACM, NAC=
M applies to all<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 datastores (including any datastores d=
efined in the future).<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; b) Once an implementation supports NACM, NAC=
M applies to all<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 conventional datastores and the operat=
ional state datastore.=C2=A0 Other<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 datastores must define whether NACM ap=
plies to them.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 (This means, whenever a new datastore =
is introduced, the question<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 whether NACM applies has to answered f=
or the new datastore.)<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; c) Once an implementation supports NACM, NAC=
M applies to all current<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 and future datastore unless explicitel=
y stated or signaled that<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 NACM does not apply to a certain futur=
e datastore.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 (This is essentially b) but with a def=
ault that NACM applies unless<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;=C2=A0 things are explicitly regulated to be =
different.)<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; I just thought it is worth to take a moment =
to think about this<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; question.<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; /js<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; --<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0Jacobs University Bremen gGmbH<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0Campus Ring 1 | 28759 Bremen |<br>
&gt; &gt; Germany<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a href=3D"http://www.jacobs-university.de/" re=
l=3D"noreferrer" target=3D"_blank">http://www.jacobs-university.<wbr>de/</a=
>&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; ______________________________<wbr>_________=
________<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; Netconf mailing list<br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; <a href=3D"mailto:Netconf@ietf.org">Netconf@=
ietf.org</a><br>
&gt; &gt; &gt;&gt;&gt;&gt;&gt; <a href=3D"https://www.ietf.org/mailman/list=
info/netconf" rel=3D"noreferrer" target=3D"_blank">https://www.ietf.org/mai=
lman/<wbr>listinfo/netconf</a><br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt; Mahesh Jethanandani<br>
&gt; &gt; &gt;&gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjeth=
anandani@gmail.com</a><br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt; Mahesh Jethanandani<br>
&gt; &gt; &gt;&gt;&gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanan=
dani@gmail.com</a><br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt; &gt;&gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; Mahesh Jethanandani<br>
&gt; &gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.co=
m</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
</blockquote></div><br></div></div>

--f403045ec6584c9ec00550781a80--


From nobody Sat May 27 01:50:09 2017
Return-Path: <guopeipei@huawei.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A7386128A32 for <netconf@ietfa.amsl.com>; Sat, 27 May 2017 01:50:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level: 
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BYQJ9hvDvWER for <netconf@ietfa.amsl.com>; Sat, 27 May 2017 01:50:06 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6119D1279E5 for <netconf@ietf.org>; Sat, 27 May 2017 01:50:05 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml709-cah.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DNW57566; Sat, 27 May 2017 08:50:03 +0000 (GMT)
Received: from NKGEML414-HUB.china.huawei.com (10.98.56.75) by lhreml709-cah.china.huawei.com (10.201.108.32) with Microsoft SMTP Server (TLS) id 14.3.301.0; Sat, 27 May 2017 09:50:01 +0100
Received: from NKGEML513-MBX.china.huawei.com ([169.254.1.160]) by nkgeml414-hub.china.huawei.com ([10.98.56.75]) with mapi id 14.03.0235.001; Sat, 27 May 2017 16:49:59 +0800
From: "Guopeipei (Peipei Guo)" <guopeipei@huawei.com>
To: Per Hedeland <per@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Two questions about the usage of confirmed commit and confirming commit in RFC6241
Thread-Index: AdLVOyY5mf3xlBIJSJeD+ovOaEu+uwACqn+AADnJ2DA=
Date: Sat, 27 May 2017 08:49:58 +0000
Message-ID: <9FC7EF52C614284C896188640F8C655FB6F1CC11@nkgeml513-mbx.china.huawei.com>
References: <9FC7EF52C614284C896188640F8C655FB6F1C097@nkgeml513-mbx.china.huawei.com> <d70320bd-8fbe-99e9-3635-56f1f3b270df@tail-f.com>
In-Reply-To: <d70320bd-8fbe-99e9-3635-56f1f3b270df@tail-f.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.137.162]
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.59293DBB.0055, ss=1, re=0.000, recu=0.000, reip=0.000,  cl=1, cld=1, fgs=0, ip=169.254.1.160, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 8d2d7cf7501d5f39056b25b978c03cd5
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/AhnBLsR6U5gIk5v7U5J5diK0xoU>
Subject: [Netconf] =?gb2312?b?tPC4tDogIFR3byBxdWVzdGlvbnMgYWJvdXQgdGhlIHVz?= =?gb2312?b?YWdlIG9mIGNvbmZpcm1lZCBjb21taXQgYW5kIGNvbmZpcm1pbmcgY29tbWl0?= =?gb2312?b?IGluIFJGQzYyNDE=?=
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 27 May 2017 08:50:08 -0000

SGkgUGVyLA0KDQpUaGFua3MgZm9yIHlvdXIgcmVwbHkuIEkgZ290IHRoZSBtZWFuaW5nLg0KDQot
LS0tLdPKvP7Urbz+LS0tLS0NCreivP7IyzogUGVyIEhlZGVsYW5kIFttYWlsdG86cGVyQHRhaWwt
Zi5jb21dIA0Kt6LLzcqxvOQ6IDIwMTfE6jXUwjI2yNUgMjo1OA0KytW8/sjLOiBHdW9wZWlwZWkg
KFBlaXBlaSBHdW8pIDxndW9wZWlwZWlAaHVhd2VpLmNvbT4NCrOty806IG5ldGNvbmZAaWV0Zi5v
cmcNCtb3zOI6IFJlOiBbTmV0Y29uZl0gVHdvIHF1ZXN0aW9ucyBhYm91dCB0aGUgdXNhZ2Ugb2Yg
Y29uZmlybWVkIGNvbW1pdCBhbmQgY29uZmlybWluZyBjb21taXQgaW4gUkZDNjI0MQ0KDQpPbiAy
MDE3LTA1LTI1IDExOjQ0LCBHdW9wZWlwZWkgKFBlaXBlaSBHdW8pIHdyb3RlOg0KPiBIaSBBbGws
DQo+IA0KPiBJbiBSRkM2MjQxIHNlY3Rpb24gOC40LjEsIGFib3V0IHRoZSBwZXJzaXN0IGFuZCBw
ZXJzaXN0LWlkIGRlc2NyaXB0aW9uOg0KPiAgICAgSWYgdGhlIDxwZXJzaXN0PiBlbGVtZW50IGlz
IG5vdCBnaXZlbiBpbiB0aGUgY29uZmlybWVkIGNvbW1pdA0KPiAgICAgb3BlcmF0aW9uLCBhbnkg
Zm9sbG93LXVwIGNvbW1pdCBhbmQgdGhlIGNvbmZpcm1pbmcgY29tbWl0IE1VU1QgYmUNCj4gICAg
IGlzc3VlZCBvbiB0aGUgc2FtZSBzZXNzaW9uIHRoYXQgaXNzdWVkIHRoZSBjb25maXJtZWQgY29t
bWl0LiAgSWYgdGhlDQo+ICAgICA8cGVyc2lzdD4gZWxlbWVudCBpcyBnaXZlbiBpbiB0aGUgY29u
ZmlybWVkIDxjb21taXQ+IG9wZXJhdGlvbiwgYQ0KPiAgICAgZm9sbG93LXVwIGNvbW1pdCBhbmQg
dGhlIGNvbmZpcm1pbmcgY29tbWl0IGNhbiBiZSBnaXZlbiBvbiBhbnkNCj4gICAgIHNlc3Npb24s
IGFuZCB0aGV5IE1VU1QgaW5jbHVkZSBhIDxwZXJzaXN0LWlkPiBlbGVtZW50IHdpdGggYSB2YWx1
ZQ0KPiAgICAgZXF1YWwgdG8gdGhlIGdpdmVuIHZhbHVlIG9mIHRoZSA8cGVyc2lzdD4gZWxlbWVu
dC4NCj4gICAgIElmIHRoZSBzZXJ2ZXIgYWxzbyBhZHZlcnRpc2VzIHRoZSA6c3RhcnR1cCBjYXBh
YmlsaXR5LCBhDQo+ICAgICA8Y29weS1jb25maWc+IGZyb20gcnVubmluZyB0byBzdGFydHVwIGlz
IGFsc28gbmVjZXNzYXJ5IHRvIHNhdmUgdGhlDQo+ICAgICBjaGFuZ2VzIHRvIHN0YXJ0dXAuDQo+
IA0KPiBRdWVzdGlvbiAxOiBGb3IgYmVsb3cgdHdvIG9wZXJhdGlvbnMsIHdoZXRoZXIgc3RlcDIg
cnBjIHdpbGwgY29uZmlybSBwcmV2aW91cyBzdGVwIDEgY29uZmlybWVkIGNvbW1pdD8NCg0KTm8g
LSBpdCBzZWVtcyB5b3Ugc2tpcHBlZCB0aGUgYmFzaWMgZGVzY3JpcHRpb24gaW4gOC40LjEsIHdo
aWNoIHNheXMNCg0KICAgVGhlIGNvbmZpcm1pbmcgY29tbWl0IGlzIGEgPGNvbW1pdD4gb3BlcmF0
aW9uIHdpdGhvdXQgdGhlIDxjb25maXJtZWQ+DQogICBwYXJhbWV0ZXIuDQoNClRodXMgaWYgPGNv
bmZpcm1lZD4gaXMgcHJlc2VudCwgaXQgY2Fubm90IGJlIGEgY29uZmlybWluZyBjb21taXQuIEl0
ICJjb3VsZCIgaGF2ZSBiZWVuIGEgImZvbGxvdy11cCBjb25maXJtZWQgPGNvbW1pdD4iLCBidXQg
d2hlbiA8cGVyc2lzdD4gaXMgZ2l2ZW4gaW4gdGhlIGluaXRpYWwgY29uZmlybWVkIGNvbW1pdCwg
YXMgc3RhdGVkIGluIHRoZSBzZWN0aW9uIHlvdSBxdW90ZSBhYm92ZSwgImEgZm9sbG93LXVwIGNv
bW1pdCBhbmQgdGhlIGNvbmZpcm1pbmcgY29tbWl0IGNhbiBiZSBnaXZlbiBvbiBhbnkgc2Vzc2lv
biwgYW5kIHRoZXkgTVVTVCBpbmNsdWRlIGEgPHBlcnNpc3QtaWQ+IGVsZW1lbnQiLiBTbyB0aGUN
CnN0ZXAyIHJwYyBpcyBqdXN0IGludmFsaWQuDQoNCj4gU3RlcCAxOiB1c2VyIHNlbmQgYmVsb3cg
cnBjLg0KPiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PiA8cnBjIG1lc3Nh
Z2UtaWQ9IjEwMSIgDQo+IHhtbG5zPSJ1cm46aWV0ZjpwYXJhbXM6eG1sOm5zOm5ldGNvbmY6YmFz
ZToxLjAiPg0KPiAgICA8Y29tbWl0Pg0KPiAgICAgIDxjb25maXJtZWQvPg0KPiAgICAgIDxwZXJz
aXN0PklRLGQ0NjY4PC9wZXJzaXN0Pg0KPiAgICA8L2NvbW1pdD4NCj4gPC9ycGM+DQo+IA0KPiBT
dGVwIDI6IHVzZXIgcmVzZW5kIGJlbG93IHJwYy4NCj4gPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iVVRGLTgiPz4gPHJwYyBtZXNzYWdlLWlkPSIxMDEiIA0KPiB4bWxucz0idXJuOmlldGY6
cGFyYW1zOnhtbDpuczpuZXRjb25mOmJhc2U6MS4wIj4NCj4gICAgPGNvbW1pdD4NCj4gICAgICA8
Y29uZmlybWVkLz4NCj4gICAgICA8cGVyc2lzdD5JUSxkNDY2ODwvcGVyc2lzdD4NCj4gICAgPC9j
b21taXQ+DQo+IDwvcnBjPg0KPiANCj4gUXVlc3Rpb24gMjogV2hldGhlciBiZWxvdyBycGMgaXMg
dmFsaWQgb3Igbm90PyBJIHRoaW5rIGl0IGlzIGludmFsaWQuIEl0IHNob3VsZCBub3QgaGF2ZSA8
cGVyc2lzLWlkPiBhbmQgPGNvbmZpcm1lZD4gaW4gb25lIHJwYyBhdCBzYW1lIHRpbWUuDQoNCkl0
IGRlcGVuZHMgLSBpdCBpcyB2YWxpZCBhcyBhICJmb2xsb3ctdXAgY29uZmlybWVkIDxjb21taXQ+
IiwgaWYgaXQgaGFzIGJlZW4gcHJlY2VkZWQgYnkgYW4gaW5pdGlhbCBjb25maXJtZWQgY29tbWl0
IGdpdmluZyB0aGUgc2FtZSAicGVyc2lzdCBpZCIgaW4gPHBlcnNpc3Q+LCBhbmQgbm90IHByZWNl
ZGVkIGJ5IGFub3RoZXIgImZvbGxvdy11cCBjb25maXJtZWQgPGNvbW1pdD4iIHRoYXQgY2hhbmdl
ZCB0aGUgInBlcnNpc3QgaWQiIGJ5IGdpdmluZyBib3RoIDxwZXJzaXN0LWlkPiBhbmQgPHBlcnNp
c3Q+ICh3aXRoIGEgbmV3IHZhbHVlKSAtIG90aGVyd2lzZSBub3QuDQoNCi0tUGVyDQoNCj4gPD94
bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHJwYyBtZXNzYWdlLWlkPSIxMDEi
IA0KPiB4bWxucz0idXJuOmlldGY6cGFyYW1zOnhtbDpuczpuZXRjb25mOmJhc2U6MS4wIj4NCj4g
ICAgPGNvbW1pdD4NCj4gICAgICA8Y29uZmlybWVkLz4NCj4gICAgICA8cGVyc2lzdC1pZD5JUSxk
NDY2ODwvcGVyc2lzdC1pZD4NCj4gICAgPC9jb21taXQ+DQo+IDwvcnBjPg0KPiANCj4gVGhhbmtz
IQ0K


From nobody Sat May 27 04:46:23 2017
Return-Path: <ietfc@btconnect.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AFE812896F for <netconf@ietfa.amsl.com>; Sat, 27 May 2017 04:46:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.922
X-Spam-Level: 
X-Spam-Status: No, score=-1.922 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4e3vmXHSlclP for <netconf@ietfa.amsl.com>; Sat, 27 May 2017 04:46:19 -0700 (PDT)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0130.outbound.protection.outlook.com [104.47.2.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 52C5312785F for <netconf@ietf.org>; Sat, 27 May 2017 04:46:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lIU/76RDVgwn0RY6AYI/CcdMUTO5aIc7kVUmNXprwtg=; b=Rc5aLBkFxV6k1VOc49jH6VPwTsOtoCaNDEotC2r2pxjjfW1xx9s7JxkUVMfHOiFRKagEXfOPMkWfIBGU8LcxUy1C4C2QR5frtk1uc8dSs+TDedT9/cW26jPqXKjMyczU+0A5q1jx9Xw2idlqTO4DXE6CFrhnQN+zg08AAOzLlyU=
Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com; 
Received: from pc6 (86.169.157.161) by HE1PR0701MB3003.eurprd07.prod.outlook.com (2603:10a6:3:4d::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.5; Sat, 27 May 2017 11:46:16 +0000
Message-ID: <02b101d2d6de$6cf44fc0$4001a8c0@gateway.2wire.net>
From: t.petch <ietfc@btconnect.com>
To: Andy Bierman <andy@yumaworks.com>, Martin Bjorklund <mbj@tail-f.com>
CC: Netconf <netconf@ietf.org>
References: <20170523.091519.1988324449434279102.mbj@tail-f.com> <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com> <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com> <20170524.091650.1982503698804665659.mbj@tail-f.com> <CABCOCHRk05FYXnLDw1eZyXxx=smGoLSPG83vGtUXGWojetugqg@mail.gmail.com>
Date: Sat, 27 May 2017 12:19:01 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Originating-IP: [86.169.157.161]
X-ClientProxiedBy: AM3PR07CA0105.eurprd07.prod.outlook.com (2603:10a6:207:7::15) To HE1PR0701MB3003.eurprd07.prod.outlook.com (2603:10a6:3:4d::9)
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: HE1PR0701MB3003:
X-MS-Office365-Filtering-Correlation-Id: 29688052-3518-4633-4ba0-08d4a4f5fc1c
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:HE1PR0701MB3003; 
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB3003; 3:I+cEtC/Be6cGHDeoX7lvg+aVvHbNGf5iwrEsPnOs+Hf8kNvaRhVExPVjj5380fwCgSYd71Ta1hnzhdDyJGpOI+Tn/wDpl2DLHpP27iHW/2/urv9j3Uwwch7cBuCX4vKFE2UvdQuEQE1SysUPoOWE5kNDKzmqjUv0/zoED0HARuPVyNxX3i/7SfI0Y1cGgo6PFXQj3ITBoRGDd4pXNVlRSzyHpTXWoYdoCM3w6hYp+PcwkHMNLcJxFjAPx92Fzkjkh/reWmCXW2hqG93Nox6NdvNtSzqY/FUMna61JdtcPzp9mXexM5O37mCOIA6gNGXxWpRy1p8ggBIU51UfZcPlVQ==; 25:X13RxLHatpoNgL5TRLgbuvaQXw0AINJf8yNAJGy8j+qmAfn7L2sM3yzZJoE2qoYYMAEG2pc4o1oyk/T0o/ZEpUYSNCSwfcokVPLMLob3Vfb9SR4RwglBSHarmnYSmYe969bs9XHwUrS2E0thfbV2MiokjBXXDEQ9JmqgTc/tAnWhpEA1GHik7wIIq7UdAcE2HXeT2k6E7Ucn4A4MIIIDlsfaf+t1ao8DytKThEAQhIswRmcY3MH6Ih7sNZSAB1KmHrkgOWYVD968j6jOR33PU2+ZI0yazkuxfUAIznQTwdwMp+2GU7DW/qnTFNxbuzKHqYKPBwERwqeOeK83fm9ACUBnJFXe/umkF6sLepcxry9GTMGXXgHUYzpwcqobV+A6hF/bz6CsID8lNU7WWa2c0SOMRR018LMhuvflLhBolXZHQ4GWRa6U8hH60+IECFJIZ41CkqviQw2MrWVWtVFPbVBKyzCBEQG7Y+xum2iScKo=
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB3003; 31:5epNgIr+b1L3xEVbXlxUqXGhrEo3AM1eI6eyRIJHOv8LmYRm61n0VHfyWZrWTSgZyq4bc7RMMFlFvkB7VF00V8huBqAIpmKXhQVqRK8OjeIe9GHihs7LMQ+6n3xY94al1Z6Tr92tVSUFWW+dLu+D099m1vwQWWBM+czAXXXY//YTocyDUh9yJBcrF8WLwhnkEhZV9Qui08wGsCDx5IVzRMWqco4WxxxsVaqcs5/TCvav1AE4IH7aX/ktL/KeACnQTT+8OoZ7jXOX6F3xmlU+qQ==; 20:BwKOpcgjVLSP0vbo9NZ2RepO64Mtqrr1iYczZhAgrEkiNcHmFmG2a6WSLhhvVjV0OyTqrIhtDDmR/NBqcKqT4BQ7qesb/P+95Xq7UhXYpFXKURc6QJXaXeBnBNPAPem4qEShDdPKmdZHdQoDOV0Qfdrwo9Pn4RCyKhsvadpC/sg=
X-Microsoft-Antispam-PRVS: <HE1PR0701MB30035517162AE7942A24D46BA0FD0@HE1PR0701MB3003.eurprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(166708455590820);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123564025)(20161123562025)(6072148); SRVR:HE1PR0701MB3003; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0701MB3003; 
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB3003; 4:trRNoJMOUZaGt2zKltg3LPgnkFSYCZU04tFtWRSu5ryigIdDJTeKnTCGe0KcitJRNTHOni033adM3GM9d7UgY1t3iowIwHOP9nbendTDDl1bE8mOw/njqa80lTS7/mg4imGrSSNKQKsvrnVu1PCZLTbBxGeXdFa0oImmmr1e54lkMWL6dlw9FLeBMGVdKu2y5c98v/R4uuca4ZC1lGCkMngNCcGhlTXRd+uLCvnaL1zx+pFdT1gJkOfqgOnNG7fgk4GDmb5tzbCenrhTUXBmmcurenExbHVq5OuIO9tevnsUj3BCE/UZAU3mE3F4kGZp+IwbaV8tXKi7fZC2ZVDNg9wVy4kR0Cm6DKh3J9OSBzyD8t2YKcf2QPwnh/M86/94TqW/yTqCQqrLFl7HQ4avbMLRHznkVAEEGi14C59JD4P1EQqqeREN+aA++gyib/HGCMTij5rjL2GJrh4Saf5tbtxoRM54AjbZvWnD9STWuMBiz16wWU6hLFjOI4BZvf7MwYUi+d9+vUxOHITG05CtsamvRAP+CTP8tXkfIYKbe75lr4nsTAxKj0HFjDzISKBZ9nAYMF1+Q5C1091Q7CpTwpS3JIZN6ZGwZrRQuWD5dnTecXpK3wV3CzAsQ6oSfBm1EGPte7I0wV1fQNtfevU5wb7RZgi213T0ZIBldy6NNixhskJv+6H8sfErHxBu1cLXDwQNwhR4MjEFIfhwH5h1mpjrCovBWEe/n9zxjLGbPfc6rCaq2U2LBnJmU48xukl6equOkBzRBrw4v1Km47t7xpcyHtE5bKxaRpHeJOVgAgcr/J9CFdZPWuWaHCRi6B6JiTW1yii75RxW2aFCsOckLA==
X-Forefront-PRVS: 0320B28BE1
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(979002)(6009001)(39400400002)(39450400003)(39410400002)(39840400002)(39860400002)(39850400002)(199003)(13464003)(24454002)(377454003)(54094003)(189002)(4720700003)(25786009)(53546009)(189998001)(6246003)(81166006)(14496001)(6306002)(53936002)(8676002)(6496005)(6666003)(38730400002)(44716002)(53376002)(68736007)(47776003)(62236002)(93886004)(6486002)(230783001)(1556002)(44736005)(50226002)(966005)(116806002)(50466002)(4326008)(1720100001)(66066001)(7736002)(61296003)(33646002)(305945005)(3846002)(6116002)(5660300001)(2870700001)(478600001)(9686003)(86362001)(1456003)(42186005)(229853002)(23676002)(84392002)(50986999)(2906002)(81816999)(76176999)(81686999)(74416001)(7726001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:HE1PR0701MB3003; H:pc6; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; A:0; MX:1; LANG:en; 
Received-SPF: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA3MDFNQjMwMDM7MjM6dnZWN3pUOWxFY3psMWVWcmhLb25FNkZ0?= =?utf-8?B?VWVCb2xrbDA1UktLUjczM3A2STFUSWxuWXVUK29SYml6cEh5TWFaNFhHZUxr?= =?utf-8?B?QlIvTXJyV0JDYXlVU2M4RGRPWXVpUTREaER1WGowWFltclJQV1JTdVBZVis2?= =?utf-8?B?SmpKRzBsL1ZPVUQxa21pVTNHN0ZaQ3ZyN1RzdDV1NjFxMElwcld4ZFRXakJo?= =?utf-8?B?dklQa2dybDRkQlAxZWt5VkhCendORUhYZVhlSHB0azJIVXFhWUcrZzA0cG0w?= =?utf-8?B?R1lyMGptOWdISHB5MVJnZHFXK3AzK1ZSU3FKU1l4dmYxemVtRlMwdFRCeGNl?= =?utf-8?B?bEhBSHRCQU90UDdqaGFqQ1RoVlNwRFNPYkI1V3JCODFNZ0d5ZVZIL0JEa2Fi?= =?utf-8?B?Y0dYMGlrZDRvaU83MVlZNnh1SStManM2dnREK214ZFZDK1MzTVBkeUxWTXZF?= =?utf-8?B?TURaM2MwTm5zTmFDWmpqenZPNmdvaFBGanc3eCtDejF3M2h2OGx1LzVWYnpp?= =?utf-8?B?Z1NqSVV6YityeFR3dXl3STRiTVhZeG1zYUg0R2lCTVErTjZTaUh1dWZUakhz?= =?utf-8?B?N1hDNys2d2VIbUpuV21JMmxrMDkxVHhzaFRwOVBIa1p0MmFmdS94bjFsdlEy?= =?utf-8?B?czRDWTFYQTFtQXlLSnVmdWFNQzB0Q216Z1krbnNja003SU1maXREczJTV1ZI?= =?utf-8?B?cXVQd3NMTzhhZEhsU21NblhRb01wZnJWdFd3MlVNMjB2NS9uQmhNM0xsRUpO?= =?utf-8?B?eUVsZE5VTzVPVEI0d25tN0RSOTVIU01ESFpVRUxwSGhEMmFjd2FhaFdva05q?= =?utf-8?B?ejc0RElyZVVWRk1idnl0cFdjRHdoR3JobWRYSENqL09lVnUxaXFwcTFEZjBz?= =?utf-8?B?RCtIbSt2NWVlZlJybmxCdVI0ZVZiRUJYOXoxQjNWMktNUEVVTlVsUVpiNzhY?= =?utf-8?B?QjZIUlducHVQazZPY1J3UWpqZmdEemNuU3g3V2VzdkxmckQ4NERzazN3Ynpu?= =?utf-8?B?cW5YY01mdjlCWVprbnhOeTNYUHRHajF5YnFJWHJ2RlJQRGJRMzAxVi94dzFD?= =?utf-8?B?cXlPQ05QUEJLbGRmRzZSVDc3KzhoU3BER0srRlE4NWg3OVdCL21wT1JObVZ4?= =?utf-8?B?MWFocmpWSWV1OEsvK0FoUU1RQjVWa3JBRWlYRGJQSFdyQkgvRy82RG5Nbi8v?= =?utf-8?B?ZzJXdUYxWjdoMjA0MDJ6ZFFhQllKNjQwVkZ1a241NlQvODRZbjdjenVpSGZK?= =?utf-8?B?RGVVVVBsTVFTaU1jb0N6U0pOSm5waDBIa0Q2ZnlOMGRjcG8xTDFzSnRFYzVl?= =?utf-8?B?QnR3NnpwUUZLZ1VQUVJPaXFSQkFCc0RQYjc4amlDcVk1aHRRL1hpS0Q2bGFq?= =?utf-8?B?dkkxUlgwVkgzRDRjNzJ1R0FzbkdFMjl0OTRSYk51QzIwenV0M0daRE1ZMWlO?= =?utf-8?B?bjY2eFRNR2JRMEJ2RWFPaHNOV3EwN0VCUFdBems0UjUzRDMzVzAwZmZDVjhW?= =?utf-8?B?SkNlMGRMa2tyQmRZZ25oRjVmbGk3V3pGRTZzZUoxN2luQ2ZhRlZxeTVBMVFx?= =?utf-8?B?cnptOTdaSnpRbnIrbGk0VzV4aWNGSlVKS3R6WlNaSDl5MTBCcmdSdGtONjdQ?= =?utf-8?B?bzdrbnVwV0FCRGlVSk9aZHV0YTFxbXRXcVFlUjk4eFhRZkEybXVwUGxXMHlG?= =?utf-8?B?akhuK2VDWDZxSUhDaCthODZGbk12WkVWTDZHVWRwT0xJRTlHL21iUnI2YUZy?= =?utf-8?B?eS9ObW93L2c0K1owMjZXZWZqbWZhbGF0TW4zVG4xTlY1cHUrczJBY1UvaUFM?= =?utf-8?B?MmdQMGZORUJaNC8wWnFrOVZaU2NKZmRYUXh2ZUtEV3gwZzdVbjRvWXJSb2U5?= =?utf-8?B?M3V4OFpYcVF6WnlsY1FzSlJzSW5Uc2dWWnNpYlY5OWladjE3bDlDdXRGNmh0?= =?utf-8?B?bGFxR2t2eHVFMDNwNXhRS1V6SGEzSlo2Vkx2blNMa2tGVjBhT0lJRWhpaGI5?= =?utf-8?B?ZXNCTnA3SDAzdm1uTkJFVjdTOXowSnBwOWp2UGtPbGhqS0cxV2xJSUxheER2?= =?utf-8?B?S0RjU3ErUVdpRHp6Y3pBTGQ4V3VuVkJYNS9OQytRN1dmbS9wcVJmaTlYem5F?= =?utf-8?B?bXl6ZS9Da3JvYW5OdjdHUUlDMFZYWVphTDRGOXU0VmxodElCMlN3VDVaOERk?= =?utf-8?B?TEVRMmpPelQvWkFoRmNUTXBka2lzNXJjQkMrQkRPeGcva0FvUFMxVWUzMTBZ?= =?utf-8?B?ZFp3eDdOeWhJaGNLU0hwc2E5aEc2NnlOK3VnOFVJTTJaZ2VWc1ROY2hBPT0=?=
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB3003; 6:ZMpEHirvHxBs9qW1iu8/0MDjBS0aS8zrcaGi1V2KkXlE49Ljs7a71Su5fgKzotsfaT2YIaVyVXrVO80QfPFnotBzFtylndv04vs9FY4ipw3/BxOSrQJ8bxtlvUqhvUFwzWDPktEs5cw8SEHXd3DdqDcIQWuKgeI3k0/8OHD13tA6uL2SRfjpAtkxeDUW3GXJNDHAX0plCvTxxLZ9W9L+gG6E3gANSp/bYneXOtezwQMRqb/McF2beYYAiuVj/Ck8b3UO9sgOrNCYsk/ImldxG536bVJfD4/96ckq8hcnmsKQBokFHMF6taHtLdFj1+5g9RsDUJsIYJI48sG782SIpXx4B8CQpVIH9Dmj1c1BfzMkmEKiq2wmQCFJeGQyn5wI1cgYUoV2NjjrZq8WPsPY919f1BJwnaAsosv0K8Pet0jSyU9ax7h+UvrWyl2OndC/ElwXJCvsRyPjMOL6bmBW/DC58jcQtAr+3ZxuNWHGcpStLzySwqRJkXlfLIp4SaSDB4FbxCQfYV3c3ArNjb+Niw==; 5:7o4+OuocMslcdOzBdLdvqRSyj2l07dG+YK55FsByyHk7aIsJttW5bQ33twSVi7XpDkyy6U16OhmGtqwKB8LsVPAAip0bBzQSw3Ul+WEb7Mdc/7B1Hbx2FmAZPmdYuJqpT+Do+7K3Rij6iCB9vvUhouM9bC9daC8H4yWzOgm4+kY=; 24:jkRR2rtME5ZN14nvDRQ601tPFJk3L9f1TVOC3G0DDaTaviY1/L26nzb5k709pDKPsCkB6uL8E9ObjYaYh7IsjYr2n0ORTp4yhUe1N98OkWA=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0701MB3003; 7:AWQzceQCPphf0oA1yzWbvSiw9pcuUGJvQcgNTh8CQEKT3oXXXEP4fjgzn3XpdrDwSEPb0AXptdWgL2jFD+7HnZPvauVc7bUjsVzXDnNEbwUYmsARBHHP/cbhOjawQvk+7Jdk7dfoklHpgfbJ6OVqNEWkejpMHmbxVrZkS2+dQUh3EOntgsq1DIpjOwh+k+wiijwc0tBz+2zJcfiONodw0i73qMJMk7aoZBfUxF8cz7CyWrV36K2Bf9iXox4Gk5EQTsFIZCiB6raPkZUsQaqlBIxH3yhDw7kmbYEyZ2n1QTh9D5zQCsYHsCaF5jtR7GXQtT02iRZDRdcOlVP3k8qjrw==
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2017 11:46:16.5675 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB3003
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/nZWMXOKDuHZnRe8rnamy7XIIZ38>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 27 May 2017 11:46:22 -0000

----- Original Message -----
From: "Andy Bierman" <andy@yumaworks.com>
Sent: Saturday, May 27, 2017 3:20 AM

On Wed, May 24, 2017 at 12:16 AM, Martin Bjorklund <mbj@tail-f.com>
wrote:

> Andy Bierman <andy@yumaworks.com> wrote:
> > On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani <
> > mjethanandani@gmail.com> wrote:
> >
> > >
> > > > On May 23, 2017, at 12:15 AM, Martin Bjorklund <mbj@tail-f.com>
> wrote:
> > > >
> > > > Andy Bierman <andy@yumaworks.com> wrote:
> > > >> Hi,
> > > >>
> > > >> The update is on github.
> > > >> http://github.com/netconf-wg/rfc6536bis
> > > >>
> > > >> I would like Martin to look it over before it is posted.
> > > >
> > > > Done, and the new text looks good.  I moved the new subsection
to be
> > > > the first in 3.2, and I also fixed some minor terminology
issues.
> > > >
> > > > But, I wonder if we shouldn't make the document even less
NETCONF
> > > > specific, and align the terminology to revised-datastores.  For
> > > > example, currently the document talks about access to "NETCONF
> > > > datastores".   With the new less protocol-specific terminology
this
> > > > would simply be "datastoreâ€.
> > >
> > > I would prefer this.
> > >
> >
> > OK, but the operations are somewhat NETCONF specific.
> > We will try to make sure we do not create more inconsistencies than
we
> > remove ;-)
>
> Yes.  But I think what we should do is not any technical changes, just
> align terminology.
>
>

OK -- the term NETCONF datastore was used twice, now just datastore.
(pushed to github)

The term datastore appears a lot.  There are 3 variants:

    - datastore
    - configuration datastore
    - target datastore

With revised datastores these are not all the same anymore.
We probably need to go through the entire document and check if the
correct variant is used in each instance.

Are there other terms that are needed for alignment?

Does NACM need to reference the revised-datastores draft to import
terminology?

<tp>

Yes, Normative Reference please.

Tom Petch

> /martin

Andy
> >
> > Andy


From nobody Sun May 28 10:17:06 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 26183129412 for <netconf@ietfa.amsl.com>; Sun, 28 May 2017 10:17:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level: 
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EnC3kWP0GHtQ for <netconf@ietfa.amsl.com>; Sun, 28 May 2017 10:17:02 -0700 (PDT)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9A6A412940B for <netconf@ietf.org>; Sun, 28 May 2017 10:17:01 -0700 (PDT)
Received: by mail-wm0-x22c.google.com with SMTP id d127so32186654wmf.0 for <netconf@ietf.org>; Sun, 28 May 2017 10:17:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=A/W4MziB/JU0dsXN9ca6SMC3fgaKKAO2oMi9gOg1FG0=; b=pjOjKUy6hORZTHi31z+/WwhiDLnFc8/jz5FY2Z7rWoZXEZZQlIkeO341FuNEvzwT8Y M+kn1z9gYNL5Zjnf6ACXWbByZx3kukbSRXrTdrGzaM5ijdh50uG1cr6BU8ugRJMSoXl7 0xftazy6eTxMUkXsrlaI52dUGe8vQkTax3fDPlDKB5Uc7gmMPuxdAxRBfBfhltSKYia0 o41jv1jhyzRkhy0sSsyO82A0C47Ug+hsopGrCCc6RdtTjxie7uMjaSX4AfQSgNALf9Uh w3t7YF4ISBXEt93dHYjhLgbV+sSxC41YE0A1h1JJ3gRE2nHdjwaoD29542ztpXmeWOGg mauw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=A/W4MziB/JU0dsXN9ca6SMC3fgaKKAO2oMi9gOg1FG0=; b=Zv4qmtMhgbXwX1ygn3j+FcbJq9cTV7s96Ne01NT+UyPrY9lxnmhI38uLL2RlC1OJkQ 5WypzLU8SGco4IsRGUYC5PXhFfvZnNnfuSQYdDVDd+FIGIIdqH8OR5wTblEeGWwYLh+X shcwgX1t/UyyrtKTiYxz8LuDat4mW89zBH/ND68qzpa8zRZ/cvhISHHLH/NtMI3YprMT Exfqsuqp3U4tL4FDa9gfpfUk3Z1ARnXt/z+gqSREQexJbwxhdtR+l+vftcFznglb36Xe Qq1iMuu8MIn8tpkIWT6d0xO6Y3Y65k/yxUT24/KNx5E78G0/h9RHZ7pGVJXVJDDUuVv2 KvAw==
X-Gm-Message-State: AODbwcC2ZIVtyrLMZxgN1eAkf7Rfgh6JFdQBZQIQb56BmlnAPLLvekh9 fWAPRJdZwPnHgznvqkjy/CHFZRjijQFn
X-Received: by 10.223.134.80 with SMTP id 16mr9273491wrw.62.1495991820082; Sun, 28 May 2017 10:17:00 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Sun, 28 May 2017 10:16:59 -0700 (PDT)
In-Reply-To: <02b101d2d6de$6cf44fc0$4001a8c0@gateway.2wire.net>
References: <20170523.091519.1988324449434279102.mbj@tail-f.com> <D13AF5F3-1AE1-4A43-866F-10984114BF2C@gmail.com> <CABCOCHTjLL7bFCVYHwUYEx-gKG=JaiWiftx2wJSce=LjjrbyNQ@mail.gmail.com> <20170524.091650.1982503698804665659.mbj@tail-f.com> <CABCOCHRk05FYXnLDw1eZyXxx=smGoLSPG83vGtUXGWojetugqg@mail.gmail.com> <02b101d2d6de$6cf44fc0$4001a8c0@gateway.2wire.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Sun, 28 May 2017 10:16:59 -0700
Message-ID: <CABCOCHT-Xu5gnrZ2MU1LHq8CTXSEdsweQsf8qCeqqQ-j9=N5Mg@mail.gmail.com>
To: "t.petch" <ietfc@btconnect.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a11491e7e05f558055098bd77"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ZCa_cKnvHsU3b-L5EI3_cmazU60>
Subject: Re: [Netconf] WG LC for draft-ietf-netconf-rfc6536bis
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 28 May 2017 17:17:04 -0000

--001a11491e7e05f558055098bd77
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

Just be clear -- we will add explicit support for revised datastores, not
just a
normative reference for terminology.  The NACM CRUDX mappings for the
intended, applied, and operational datastores will be in this draft.

Are there any objections to adding revised datastore support to NACM?
This might be an expansion of scope for the charter item.


Andy


On Sat, May 27, 2017 at 4:19 AM, t.petch <ietfc@btconnect.com> wrote:

> ----- Original Message -----
> From: "Andy Bierman" <andy@yumaworks.com>
> Sent: Saturday, May 27, 2017 3:20 AM
>
> On Wed, May 24, 2017 at 12:16 AM, Martin Bjorklund <mbj@tail-f.com>
> wrote:
>
> > Andy Bierman <andy@yumaworks.com> wrote:
> > > On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani <
> > > mjethanandani@gmail.com> wrote:
> > >
> > > >
> > > > > On May 23, 2017, at 12:15 AM, Martin Bjorklund <mbj@tail-f.com>
> > wrote:
> > > > >
> > > > > Andy Bierman <andy@yumaworks.com> wrote:
> > > > >> Hi,
> > > > >>
> > > > >> The update is on github.
> > > > >> http://github.com/netconf-wg/rfc6536bis
> > > > >>
> > > > >> I would like Martin to look it over before it is posted.
> > > > >
> > > > > Done, and the new text looks good.  I moved the new subsection
> to be
> > > > > the first in 3.2, and I also fixed some minor terminology
> issues.
> > > > >
> > > > > But, I wonder if we shouldn't make the document even less
> NETCONF
> > > > > specific, and align the terminology to revised-datastores.  For
> > > > > example, currently the document talks about access to "NETCONF
> > > > > datastores".   With the new less protocol-specific terminology
> this
> > > > > would simply be "datastore=E2=80=9D.
> > > >
> > > > I would prefer this.
> > > >
> > >
> > > OK, but the operations are somewhat NETCONF specific.
> > > We will try to make sure we do not create more inconsistencies than
> we
> > > remove ;-)
> >
> > Yes.  But I think what we should do is not any technical changes, just
> > align terminology.
> >
> >
>
> OK -- the term NETCONF datastore was used twice, now just datastore.
> (pushed to github)
>
> The term datastore appears a lot.  There are 3 variants:
>
>     - datastore
>     - configuration datastore
>     - target datastore
>
> With revised datastores these are not all the same anymore.
> We probably need to go through the entire document and check if the
> correct variant is used in each instance.
>
> Are there other terms that are needed for alignment?
>
> Does NACM need to reference the revised-datastores draft to import
> terminology?
>
> <tp>
>
> Yes, Normative Reference please.
>
> Tom Petch
>
> > /martin
>
> Andy
> > >
> > > Andy
>
>

--001a11491e7e05f558055098bd77
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>Just be clear -- we will add explic=
it support for revised datastores, not just a</div><div>normative reference=
 for terminology.=C2=A0 The NACM CRUDX mappings for the</div><div>intended,=
 applied, and operational datastores will be in this draft.</div><div><br><=
/div><div>Are there any objections to adding revised datastore support to N=
ACM?</div><div>This might be an expansion of scope for the charter item.</d=
iv><div><br></div><div><br></div><div>Andy</div><div><br><div class=3D"gmai=
l_extra"><br><div class=3D"gmail_quote">On Sat, May 27, 2017 at 4:19 AM, t.=
petch <span dir=3D"ltr">&lt;<a href=3D"mailto:ietfc@btconnect.com" target=
=3D"_blank">ietfc@btconnect.com</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">----- Original Message -----<br>
From: &quot;Andy Bierman&quot; &lt;<a href=3D"mailto:andy@yumaworks.com">an=
dy@yumaworks.com</a>&gt;<br>
Sent: Saturday, May 27, 2017 3:20 AM<br>
<br>
On Wed, May 24, 2017 at 12:16 AM, Martin Bjorklund &lt;<a href=3D"mailto:mb=
j@tail-f.com">mbj@tail-f.com</a>&gt;<br>
wrote:<br>
<br>
&gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.=
com</a>&gt; wrote:<br>
&gt; &gt; On Tue, May 23, 2017 at 12:41 PM, Mahesh Jethanandani &lt;<br>
&gt; &gt; <a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.co=
m</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On May 23, 2017, at 12:15 AM, Martin Bjorklund &lt;<a h=
ref=3D"mailto:mbj@tail-f.com">mbj@tail-f.com</a>&gt;<br>
&gt; wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">=
andy@yumaworks.com</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt;&gt; Hi,<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; The update is on github.<br>
&gt; &gt; &gt; &gt;&gt; <a href=3D"http://github.com/netconf-wg/rfc6536bis"=
 rel=3D"noreferrer" target=3D"_blank">http://github.com/netconf-wg/<wbr>rfc=
6536bis</a><br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt; I would like Martin to look it over before it is po=
sted.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; Done, and the new text looks good.=C2=A0 I moved the ne=
w subsection<br>
to be<br>
&gt; &gt; &gt; &gt; the first in 3.2, and I also fixed some minor terminolo=
gy<br>
issues.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; But, I wonder if we shouldn&#39;t make the document eve=
n less<br>
NETCONF<br>
&gt; &gt; &gt; &gt; specific, and align the terminology to revised-datastor=
es.=C2=A0 For<br>
&gt; &gt; &gt; &gt; example, currently the document talks about access to &=
quot;NETCONF<br>
&gt; &gt; &gt; &gt; datastores&quot;.=C2=A0 =C2=A0With the new less protoco=
l-specific terminology<br>
this<br>
&gt; &gt; &gt; &gt; would simply be &quot;datastore=E2=80=9D.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I would prefer this.<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; OK, but the operations are somewhat NETCONF specific.<br>
&gt; &gt; We will try to make sure we do not create more inconsistencies th=
an<br>
we<br>
&gt; &gt; remove ;-)<br>
&gt;<br>
&gt; Yes.=C2=A0 But I think what we should do is not any technical changes,=
 just<br>
&gt; align terminology.<br>
&gt;<br>
&gt;<br>
<br>
OK -- the term NETCONF datastore was used twice, now just datastore.<br>
(pushed to github)<br>
<br>
The term datastore appears a lot.=C2=A0 There are 3 variants:<br>
<br>
=C2=A0 =C2=A0 - datastore<br>
=C2=A0 =C2=A0 - configuration datastore<br>
=C2=A0 =C2=A0 - target datastore<br>
<br>
With revised datastores these are not all the same anymore.<br>
We probably need to go through the entire document and check if the<br>
correct variant is used in each instance.<br>
<br>
Are there other terms that are needed for alignment?<br>
<br>
Does NACM need to reference the revised-datastores draft to import<br>
terminology?<br>
<br>
&lt;tp&gt;<br>
<br>
Yes, Normative Reference please.<br>
<br>
Tom Petch<br>
<br>
&gt; /martin<br>
<br>
Andy<br>
&gt; &gt;<br>
&gt; &gt; Andy<br>
<br>
</blockquote></div><br></div></div></div>

--001a11491e7e05f558055098bd77--


From nobody Mon May 29 04:57:24 2017
Return-Path: <bart.bogaert@nokia.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 525DC129530 for <netconf@ietfa.amsl.com>; Mon, 29 May 2017 04:57:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.701
X-Spam-Level: 
X-Spam-Status: No, score=-4.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RvXttUNGvaQ2 for <netconf@ietfa.amsl.com>; Mon, 29 May 2017 04:57:21 -0700 (PDT)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0093.outbound.protection.outlook.com [104.47.0.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 94FA8129527 for <netconf@ietf.org>; Mon, 29 May 2017 04:57:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com;  s=selector1-nokia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+rQplz5SoVQbnOhzwliVBs87xJDPlJ6lRjTjR2ljnPU=; b=MJmsihcw4P4wpHMzHTy6ZinL13s8OQVHmN2CKnC7aqXJ+J/37ZXyEk+OAabEFlT9Yvylh+mVyRBB8ugqRmNqOynU1rdmpkTh2mFyAhe+Kme6fiF6Y43COQNoT72tVbsLcKNxDBa7jFZMKienFIvP5EKFoDqVlILt3aIMOjPIhz0=
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com (10.160.54.154) by AM2PR07MB0628.eurprd07.prod.outlook.com (10.160.54.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Mon, 29 May 2017 11:57:17 +0000
Received: from AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49]) by AM2PR07MB0627.eurprd07.prod.outlook.com ([fe80::155e:40cf:d1e8:f49%18]) with mapi id 15.01.1143.006; Mon, 29 May 2017 11:57:17 +0000
From: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>
To: Andy Bierman <andy@yumaworks.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
Thread-Index: AdLUaEoEu1dDTJJ0SYCv+ahQaN03rAAO11JUAPLBSeA=
Date: Mon, 29 May 2017 11:57:17 +0000
Message-ID: <AM2PR07MB0627B3DFABABBA608E3CB6A294F30@AM2PR07MB0627.eurprd07.prod.outlook.com>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com> <20170524084358.GA7074@elstar.local> <CABCOCHQqwx9_6PVM_YrAFbpn4LwmpKkvzet2rQPKgQnth1aRYQ@mail.gmail.com>
In-Reply-To: <CABCOCHQqwx9_6PVM_YrAFbpn4LwmpKkvzet2rQPKgQnth1aRYQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=nokia.com;
x-originating-ip: [135.245.212.7]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM2PR07MB0628; 7:ntBEDYE98OPBVm9bPZGEmOfZB9yTyIXMxCvIazFh9BoUcTPeVgJUWnemOfzC/dSZCiWs9/eRhseNGVaqh/h8tG986rZfrG9UNBqnUlOqCtHUM3SiSCrdYPmzRFluTrjmS2JPUlU8OM2bXq4ldg4mfXXC/b4WLmhABbjigbfYOc3E+x/4qvn/esZe2q+SwflFrYNQuJb2QPRgvhEQ0qA65Mr41TXqOPh05JKBhvqFe7ne9dP9vhdLdnWan1vC5ZHk4OGk1UyH+xfern3IoYqNiNozQdO/mo03VjrgWgyqq/4/V0hKRrnK3q7ucY0UZUmED6BYynoX7w65q+9tN4o5VA==
x-ms-traffictypediagnostic: AM2PR07MB0628:
x-ms-office365-filtering-correlation-id: af9b10aa-1aae-46c8-fa26-08d4a689daab
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:AM2PR07MB0628; 
x-microsoft-antispam-prvs: <AM2PR07MB062895F96A57FEA5D78C982694F30@AM2PR07MB0628.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(82608151540597)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(102415395)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123562025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(6072148); SRVR:AM2PR07MB0628; BCL:0; PCL:0; RULEID:; SRVR:AM2PR07MB0628; 
x-forefront-prvs: 0322B4EDE1
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39450400003)(39400400002)(39850400002)(39860400002)(39410400002)(39840400002)(377454003)(24454002)(966005)(25786009)(66066001)(2900100001)(74316002)(14454004)(53546009)(478600001)(189998001)(86362001)(7906003)(7736002)(6436002)(6506006)(606005)(8676002)(81166006)(33656002)(2501003)(5250100002)(50986999)(76176999)(99936001)(54356999)(53936002)(3660700001)(229853002)(55016002)(54896002)(236005)(38730400002)(9686003)(6306002)(6116002)(3846002)(102836003)(99286003)(790700001)(2906002)(2950100002)(6246003)(5660300001)(7696004)(3280700002)(8936002)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM2PR07MB0628; H:AM2PR07MB0627.eurprd07.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=SHA1; boundary="----=_NextPart_000_0256_01D2D883.7A1CF840"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2017 11:57:17.5047 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0628
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/yPjrKeaYU4m0vDuhi-toY8WsCl4>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 29 May 2017 11:57:23 -0000

------=_NextPart_000_0256_01D2D883.7A1CF840
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0257_01D2D883.7A1CF840"


------=_NextPart_001_0257_01D2D883.7A1CF840
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: 7bit

Andy,



Thanks for this input.  Your response seems to suggest that an implementation 
may choose to queue the new request (even when coming in via another NETCONF 
session) until the previous request was fully handled.  The side effect of 
this could be that a long-running get may block any other action for quite 
some time (and may lead to possible timeouts).

Do I have to conclude that this behavior will be dependent on the NC server 
implementation?  This does not seem to be in favor of predictability.  I think 
the RFC should be clearer on this to avoid any ambiguity.



Regards, Bart



From: Andy Bierman [mailto:andy@yumaworks.com]
Sent: 24 May 2017 17:37
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>; Bogaert, 
Bart (Nokia - BE/Antwerp) <bart.bogaert@nokia.com>; netconf@ietf.org
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining







On Wed, May 24, 2017 at 1:43 AM, Juergen Schoenwaelder 
<j.schoenwaelder@jacobs-university.de 
<mailto:j.schoenwaelder@jacobs-university.de> > wrote:

On Wed, May 24, 2017 at 08:33:03AM +0000, Bogaert, Bart (Nokia - BE/Antwerp) 
wrote:
> Hi,
>
> We have a question about the following text about pipelining:
>
> "NETCONF <rpc> requests MUST be processed serially by the managed device.
> Additional <rpc> requests MAY be sent before previous ones have been
> completed. The managed device MUST send responses only in the order the
> requests were received."

[...]

> The text in the RFC is not very explicit whether this pipelining is per
> NETCONF session of over all the NETCONF sessions served by that NETCONF
> server.  In the latter case the response to the first get-config would only
> return once the edit-config has been completed (and hence the pending change
> would not be visible).  What is the correct interpretation of this text and
> what is the expected behavior in the above sequence?

I believe the pipelining is per session. To coordinate requests coming
in over multiple session, you have to use locks. So that text should
really say:

OLD:

   NETCONF <rpc> requests MUST be processed serially by the managed
   device.

NEW:

   NETCONF <rpc> requests received over the same session MUST be
   processed serially by the managed device.

This is pretty much inline with pipelining in other protocols such as
SMTP or HTTP.





I agree with your changes but I think the original intent was that the input 
packets need to be buffered

if the server allows multiple concurrent sessions. i.e. -- is it OK for a 
server that has accepted

multiple concurrent sessions to simply reject all requests on session 2 
because a request is in progress

on session 1?





/js





Andy




--
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

_______________________________________________
Netconf mailing list
Netconf@ietf.org <mailto:Netconf@ietf.org>
https://www.ietf.org/mailman/listinfo/netconf




------=_NextPart_001_0257_01D2D883.7A1CF840
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8"><meta =
name=3DGenerator content=3D"Microsoft Word 15 (filtered =
medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.hoenzb
	{mso-style-name:hoenzb;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Andy,<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Thanks for this input.=C2=A0 Your response seems to =
suggest that an implementation may choose to queue the new request (even =
when coming in via another NETCONF session) until the previous request =
was fully handled.=C2=A0 The side effect of this could be that a =
long-running get may block any other action for quite some time (and may =
lead to possible timeouts).<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Do I have to conclude that this behavior will be dependent =
on the NC server implementation?=C2=A0 This does not seem to be in favor =
of predictability.=C2=A0 I think the RFC should be clearer on this to =
avoid any ambiguity.<o:p></o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'>Regards, Bart<o:p></o:p></span></p><p =
class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif;mso-fareast-la=
nguage:EN-US'><o:p>&nbsp;</o:p></span></p><p class=3DMsoNormal><b><span =
lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span><=
/b><span lang=3DEN-US =
style=3D'font-size:11.0pt;font-family:"Calibri",sans-serif'> Andy =
Bierman [mailto:andy@yumaworks.com] <br><b>Sent:</b> 24 May 2017 =
17:37<br><b>To:</b> Juergen Schoenwaelder =
&lt;j.schoenwaelder@jacobs-university.de&gt;; Bogaert, Bart (Nokia - =
BE/Antwerp) &lt;bart.bogaert@nokia.com&gt;; =
netconf@ietf.org<br><b>Subject:</b> Re: [Netconf] Question about NETCONF =
RFC 6241 section 4.5 pipelining<o:p></o:p></span></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><div><p class=3DMsoNormal>On Wed, =
May 24, 2017 at 1:43 AM, Juergen Schoenwaelder &lt;<a =
href=3D"mailto:j.schoenwaelder@jacobs-university.de" =
target=3D"_blank">j.schoenwaelder@jacobs-university.de</a>&gt; =
wrote:<o:p></o:p></p><blockquote style=3D'border:none;border-left:solid =
#CCCCCC 1.0pt;padding:0cm 0cm 0cm =
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5=
.0pt'><p class=3DMsoNormal style=3D'margin-bottom:12.0pt'>On Wed, May =
24, 2017 at 08:33:03AM +0000, Bogaert, Bart (Nokia - BE/Antwerp) =
wrote:<br>&gt; Hi,<br>&gt;<br>&gt; We have a question about the =
following text about pipelining:<br>&gt;<br>&gt; &quot;NETCONF =
&lt;rpc&gt; requests MUST be processed serially by the managed =
device.<br>&gt; Additional &lt;rpc&gt; requests MAY be sent before =
previous ones have been<br>&gt; completed. The managed device MUST send =
responses only in the order the<br>&gt; requests were =
received.&quot;<br><br>[...]<br><br>&gt; The text in the RFC is not very =
explicit whether this pipelining is per<br>&gt; NETCONF session of over =
all the NETCONF sessions served by that NETCONF<br>&gt; server.&nbsp; In =
the latter case the response to the first get-config would only<br>&gt; =
return once the edit-config has been completed (and hence the pending =
change<br>&gt; would not be visible).&nbsp; What is the correct =
interpretation of this text and<br>&gt; what is the expected behavior in =
the above sequence?<br><br>I believe the pipelining is per session. To =
coordinate requests coming<br>in over multiple session, you have to use =
locks. So that text should<br>really say:<br><br>OLD:<br><br>&nbsp; =
&nbsp;NETCONF &lt;rpc&gt; requests MUST be processed serially by the =
managed<br>&nbsp; &nbsp;device.<br><br>NEW:<br><br>&nbsp; &nbsp;NETCONF =
&lt;rpc&gt; requests received over the same session MUST be<br>&nbsp; =
&nbsp;processed serially by the managed device.<br><br>This is pretty =
much inline with pipelining in other protocols such as<br>SMTP or =
HTTP.<o:p></o:p></p></blockquote><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p class=3DMsoNormal>I =
agree with your changes but I think the original intent was that the =
input packets need to be buffered<o:p></o:p></p></div><div><p =
class=3DMsoNormal>if the server allows multiple concurrent sessions. =
i.e. -- is it OK for a server that has =
accepted<o:p></o:p></p></div><div><p class=3DMsoNormal>multiple =
concurrent sessions to simply reject all requests on session 2 because a =
request is in progress<o:p></o:p></p></div><div><p class=3DMsoNormal>on =
session 1?<o:p></o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p =
class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><blockquote =
style=3D'border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm =
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5=
.0pt'><p class=3DMsoNormal><span class=3Dhoenzb><span =
style=3D'color:#888888'>/js</span></span><o:p></o:p></p></blockquote><div=
><p class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div><div><p =
class=3DMsoNormal>Andy<o:p></o:p></p></div><div><p =
class=3DMsoNormal>&nbsp;<o:p></o:p></p></div><blockquote =
style=3D'border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm =
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5=
.0pt'><p class=3DMsoNormal><span style=3D'color:#888888'><br><span =
class=3Dhoenzb>--</span><br><span class=3Dhoenzb>Juergen =
Schoenwaelder&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Jacobs University =
Bremen gGmbH</span><br><span class=3Dhoenzb>Phone: +49 421 200 =
3587&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Campus Ring 1 | 28759 Bremen | =
Germany</span><br><span class=3Dhoenzb>Fax:&nbsp; &nbsp;+49 421 200 =
3103&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;</span></span><a =
href=3D"http://www.jacobs-university.de/" =
target=3D"_blank">http://www.jacobs-university.de/</a><span =
class=3Dhoenzb><span style=3D'color:#888888'>&gt;</span></span><span =
style=3D'color:#888888'><br><br><span =
class=3Dhoenzb>_______________________________________________</span><br>=
<span class=3Dhoenzb>Netconf mailing list</span><br></span><a =
href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><span =
style=3D'color:#888888'><br></span><a =
href=3D"https://www.ietf.org/mailman/listinfo/netconf" =
target=3D"_blank">https://www.ietf.org/mailman/listinfo/netconf</a><o:p><=
/o:p></p></blockquote></div><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>
------=_NextPart_001_0257_01D2D883.7A1CF840--

------=_NextPart_000_0256_01D2D883.7A1CF840
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIQ8TCCBTkw
ggQhoAMCAQICE2kAAL3F0weq80nDargAAAAAvcUwDQYJKoZIhvcNAQELBQAwZDETMBEGCgmSJomT
8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixkARkWBHJlczEx
HzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwHhcNMTcwMjE0MDgxMzAyWhcNMTkwMjE0
MDgxMzAyWjA6MREwDwYDVQQDEwhib2dhZXJ0YjElMCMGCSqGSIb3DQEJARYWYmFydC5ib2dhZXJ0
QG5va2lhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKR2q9tW6UNuzHCUu6Jm
cua8esn6Cw3rhbOYWpnxUKrHO/CEOh0gl1qjHRerRs9/GK6VI95VI5WyW6LeXvIpIj/2FbBMWQgK
AgZ1KJTm0zpeXLT3tE9gc9A7eSGy4mvJxnBgKw04zWQVRAnJgQQNvhntQocuiQGFmE8X+lQK97p7
GfgzMiiPz6CQRmYPhFZK1tlvd3pD0yFP82jKsLV7F5fRgdTdEAlmElMrXdTvKDdGjbjumi0+X9dI
gxRHBmZS09oPm8Ne0pqPaeXsRmIY6Th0aZmQ5b/DCEVI7LUpkYw9lP57lC76u9w/0yjpdnaO2nMn
wbsSOFfHAN3JJodmxMUCAwEAAaOCAgwwggIIMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcVCIW9
xVmD47E5h6WBKoa/w0KFlJgZgQv55kyE/bVaAgFkAgEFMB8GA1UdJQQYMBYGCisGAQQBgjcKAwQG
CCsGAQUFBwMEMAsGA1UdDwQEAwIFoDApBgkrBgEEAYI3FQoEHDAaMAwGCisGAQQBgjcKAwQwCgYI
KwYBBQUHAwQwRAYJKoZIhvcNAQkPBDcwNTAOBggqhkiG9w0DAgICAIAwDgYIKoZIhvcNAwQCAgCA
MAcGBSsOAwIHMAoGCCqGSIb3DQMHMCEGA1UdEQQaMBiBFmJhcnQuYm9nYWVydEBub2tpYS5jb20w
HQYDVR0OBBYEFO9rKrBQsC+Cxx24dqpXeDSebD28MB8GA1UdIwQYMBaAFKFIHrb0lRfLkvqL6aCt
tK+kaoByMEYGA1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9r
aWFJbnRlcm5hbFN1YkNBMDEuY3JsMH0GCCsGAQUFBwEBBHEwbzBBBggrBgEFBQcwAoY1aHR0cDov
L3BraS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsU3ViQ0EwMS5jcnQwKgYIKwYBBQUH
MAGGHmh0dHA6Ly9vY3NwLm5ldC5ub2tpYS5jb20vb2NzcDANBgkqhkiG9w0BAQsFAAOCAQEAKPRZ
HIDzMzfDRd5n62yU/+ao8sEBsDsxWpN0B91/3xHfSnGaCnbOJMJbYyj98MBYJIFbpnhiz2142K4K
eL6F1iNxbjTZmjHpCaEQVosNGfvHr2yrKVZE9Dy/Un7psxx78ZGjxg7U4VA+NYhahlVABhEyACZJ
hxwtnwC1hwoDFG1RdS57RzsY0bbniWp+2Yi7hjW61X1twLNtXVipEXPLqj3tBg+/4ot2sZ5EB7aE
7ExN5Gg7WH4kna6cf+vtqt1qu08DzJh2rv9H0i3WxzeGPcxC280IYadqaKSVOKpNta+/iqdcdvs/
PR2F+gqG9YrOwtLb/H3TJ26NDoBHQzNF4jCCBZIwggN6oAMCAQICExcAAAAF0Ly0uh0kOr4AAAAA
AAUwDQYJKoZIhvcNAQELBQAwdDEaMBgGA1UEChMRTm9raWEgQ29ycG9yYXRpb24xNTAzBgNVBAsT
LENvcHlyaWdodCAoQykgTm9raWEgMjAxNiBBbGwgcmlnaHRzIHJlc2VydmVkMR8wHQYDVQQDExZO
b2tpYSBJbnRlcm5hbCBSb290IENBMB4XDTE2MDQzMDExNDA1NloXDTIyMDQzMDExNTA1NlowZDET
MBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBmx1Y2VudDEUMBIGCgmSJomT8ixk
ARkWBHJlczExHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFN1YkNBMDEwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQDIMhMWn4oR+AXTckn1i4i0Svej5B4KueXls+KErSvld+pSFTHy0pAZ
88+X7jLWQYMs6OmZ/JOLIwy6mZWcPVLZtN/k+1pzA0JHf8AD/QjYQbYefh/Es1Cpfdg5lMG6gfKY
IsuU5qTeZ3+AgkSrNaC/Lzr3wVqrmBXuAX72SvgB4zMcWvdxPjuke5Mj7UMPFgmuUNM/B7CNQbvo
+lxDDQa9oE4mOSWQIOn3R3RGNw2qf7YIadV8M/YEnDMF/jyNaP3CeA3upCf3HNyng0peQ5EGb9B5
JOAPQZxLrHRSAxvptCc8YKZUpJG1+qA8CGZ8rvakN1ict7kk+wQKB2lYZKJpAgMBAAGjggErMIIB
JzAOBgNVHQ8BAf8EBAMCAQYwEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYEFKFIHrb0lRfLkvqL
6aCttK+kaoByMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMA8GA1UdEwEB/wQFMAMBAf8wHwYD
VR0jBBgwFoAUmUW7Vznwh7mBSTDZPld5X/xQnuEwRQYDVR0fBD4wPDA6oDigNoY0aHR0cDovL3Br
aS5uZXQubm9raWEuY29tL1BLSS9Ob2tpYUludGVybmFsUm9vdENBLmNybDBQBggrBgEFBQcBAQRE
MEIwQAYIKwYBBQUHMAKGNGh0dHA6Ly9wa2kubmV0Lm5va2lhLmNvbS9QS0kvTm9raWFJbnRlcm5h
bFJvb3RDQS5jcnQwDQYJKoZIhvcNAQELBQADggIBAM1oAhXOiiZacE4Getv/pUT9heOFOGLl4/45
qmG8x1DB0QLsYKAifjfyfG1ykge9zV6yd8VI++tSlcpkv2RjIJV1pks9Pik4KtkP7Bd4F5PCs1Jv
ON9tX+iBmWy6PZf+eQDDhJpHTvW8xzxyWQIVf25PD0Rp78+A39zawfxVWoNQ80NCDQF9AxajUN7F
cgja/Qo0F7vz/Tp29c0YrEmcaXHEYhua9JdR4WPv7M38wFkWhSvaucXxqTeo7sRXHq/roU7+gYJ6
eblHY+BOrb3MyB/rTGECsTvmKyRdNBdWQlZcp4LhP+t/6H6BtajbbzAyQFGJi95v3XncN0ZH6r5m
NUW2GMCiw39UjTsJW2P7FoIK12xamNO+aroGy+Bkv4eELzA8ZNx+WPNVCFANHxv6JwyEdaTS8S7f
n0OzjVMWH6hCn4W9SdxgqKC8/8qmgmOrQvCfZsha53fiO2mXyTA7qVnSKuqZOZ2EayEe17J+X4PO
5MIKB+kTfKayZoxxVYebCDxS36OMBDMohKJ7d1SVtw8ZtkmrqUj2lL7WKKG64itWfU1iB8RvQg1g
MvUgvzLAPVAORlrzgbMW/2KX9v6UlCz10wFf1dn/ieYxYygmopnuqllXfo5k3MEA+PDJCai/ftAs
cBubPPWaAuKq4smuMtqTKt9juzNvROLfh9PJlHZPMIIGGjCCBAKgAwIBAgIQe5pN0EOlOKxAGx74
4RskETANBgkqhkiG9w0BAQsFADB0MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UE
CxMsQ29weXJpZ2h0IChDKSBOb2tpYSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMT
Fk5va2lhIEludGVybmFsIFJvb3QgQ0EwHhcNMTYwNDMwMTA1OTQ2WhcNMzYwNDMwMTEwNDM2WjB0
MRowGAYDVQQKExFOb2tpYSBDb3Jwb3JhdGlvbjE1MDMGA1UECxMsQ29weXJpZ2h0IChDKSBOb2tp
YSAyMDE2IEFsbCByaWdodHMgcmVzZXJ2ZWQxHzAdBgNVBAMTFk5va2lhIEludGVybmFsIFJvb3Qg
Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXs/D67CdVEMZFkfSjSvrZWiCrXwaB
0ycsUFRaUdBsXn7VVdbo/qd54BkU2+d6J6SmfABWU2ulFwQoWsUg34MURpP7HS+vtlkj4odiQrht
KC34+KK8E3Jba4dQDc5sBQAHG3d6lMUsuDIwKnIEg9/rGM9ATvqBub9SOXA8CCjBo5P8CVwynJxM
uzIZxMRNRH6ccDMQ9wqK/5s72ZZodGl30366y6M69Xgs+2NlYuO6bpDe52+wpJRqWFzTZJiBvwtA
J23dDexZiL+tCDK+Rq33lmdHcX8nt5AhydHKNFyzhPt4pWFA2ptHht9zYORHSp839HxLCRYh/THi
nt+TziJzfKJGoCPgvAAWULWUvtHZE6sUeiwEB0obTK+MW7w0lIngAyG0/8KvG3v9nUmS63P1fDoN
YMAoLa54wCjZVH/5V3qKIFKtww67TB5KTHDdjStMbMPJqGT84mvdZT9N/+4PG8/wBO2sTgX3WX6F
c7tg2WR0nXgtejseSlW2Usg8BaZ7heRnf1557yM1Nqum6aBF2qTKDggbQ6TZaBMUs+wTA+gy2JDt
9dyzcd0isVsVVbcsPeTXKXFLZm9c7m8UPMMHihrgSRrmw1IIPStiHIAZgd/sIgEy+h3JQ71/GybH
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

------=_NextPart_000_0256_01D2D883.7A1CF840--


From nobody Mon May 29 07:02:07 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E6331274D2 for <netconf@ietfa.amsl.com>; Mon, 29 May 2017 07:02:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m_hBiEhnPvc9 for <netconf@ietfa.amsl.com>; Mon, 29 May 2017 07:02:03 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 427AC1201FA for <netconf@ietf.org>; Mon, 29 May 2017 07:02:03 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 61EE31AE0335; Mon, 29 May 2017 16:02:00 +0200 (CEST)
Date: Mon, 29 May 2017 16:02:16 +0200 (CEST)
Message-Id: <20170529.160216.1504359864308776259.mbj@tail-f.com>
To: evoit@cisco.com
Cc: netconf@ietf.org, alexander.clemm@huawei.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <7618ac2330394709ac9a9389e1f933cc@XCH-RTP-013.cisco.com>
References: <20170526.162230.279705680178245042.mbj@tail-f.com> <20170526.172936.41395960352343450.mbj@tail-f.com> <7618ac2330394709ac9a9389e1f933cc@XCH-RTP-013.cisco.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/rWedhHsXYSHtPF-zNQQkmtJISiY>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 29 May 2017 14:02:05 -0000

Hi Eric,

See comments inline.

"Eric Voit (evoit)" <evoit@cisco.com> wrote:
> Hi Martin,
> 
> Good discussion.  Some thoughts in-line...
> 
> > From: Martin Bjorklund, May 26, 2017 11:30 AM
> > 
> > Hi,
> > 
> > See below for a correction.
> > 
> > Martin Bjorklund <mbj@tail-f.com> wrote:
> > > Hi,
> > >
> > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > Hi Martin,
> > > >
> > > > There are two differences in what we are describing:
> > > > (#1) Do we have a parent identity which spans both the test filter
> > > > types and the selection filter types
> > > > (#2) Should we expose additional filter parameters within the YANG
> > > > model
> > > >
> > > > For (#1), I see no harm in providing a parent identity.
> > >
> > > I do, since there is no benefit in a common parent identity.  It just
> > > adds complexity to what's really a simple model.
> 
> There are three options for traversing the filter criteria subtyping:
> (a) filter sub-typing defined by a multi-tier identity hierarchy
> (b) explicit subtyping for selection vs. test, with independent
> identity sets
> (c) explicit subtyping for all current and future types of filters

It would help if you could provide valid YANG snippets of these three
options.  I *think* I know what you mean with (a) and (b), but not
(c).

> If we ever use (a) in any form, there is value in a parent identity.

What does this mean?

> As the current working draft is based (b), I will pull it out.

Hmm, are you saying that you will _not_ use (b)?

> We can
> always re-add in parallel with (b) if someone expresses a business
> need.

What does this mean?


> > > > Perhaps your
> > > > concern is documentation compatibility with what was previously
> > > > driven by 5277?
> > >
> > > No.
> > >
> > > > If that is the case, we could rename the top level filter to
> > > > "evaluation-criteria".  This would free up "test-filter" to be
> > > > renamed to "filter".  If this is ok, below is what is in the might
> > > > be included in subscribed-notifications.  I believe matches to what
> > > > you are suggesting, with the exception of the top level
> > > > evaluation-criteria identity.
> > > >
> > > >   identity evaluation-criteria {
> > > >     description
> > > >       "Base identity for representing types of filtering or selection
> > > >       syntaxes which may be applied against some target.";
> > > >   }
> > > >   identity filter {
> > > >     base evaluation-criteria;
> > > >     description
> > > >       "Evaluation criteria used as a pass/fail test against events.  A
> > > >       boolean true, or a non-null result of a node
> > > >        selection will allow events to traverse the filter.";
> > > >   }
> > > >   identity subtree-filter {
> > > >     base filter;
> > > >     description
> > > >       "A RFC-6241 based filter which attempts to select nodes within an
> > > >       event.  A successful
> > > >        selection of any nodes results in a positive test result.";
> > > >     reference "RFC-6241, #5.1";
> > > >   }
> > > >   identity xpath-filter {
> > > >     base filter;
> > > >     description
> > > >       "A filter applied to an event which follows the syntax specified
> > > >       in
> > > >       yang:xpath1.0. Success
> > > >        is indicated by either a positive boolean result, or a non-null
> > > >        node
> > > >        selection.";
> > > >     reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-19991116";
> > > >   }
> > > >
> > > >
> > > > For (#2), within the YANG model we expose a target for the
> > > > evaluation-criteria (i.e., a stream or datastore) and the anydata.
> > > > I don't think we should try for more.  The subscription
> > > > specifications are complex enough already.
> > > >
> > > > If we try to break out additional parameters from the opaque anydata
> > > > (either selector or filter), there is going to be a desire to break
> > > > out even more parameters.  And then there will be attempts to codify
> > > > valid interplays with these parameters.
> > >
> > > I don't understand what this means.  Maybe you can provide an example
> > > by using my proposal below?
> 
> Looking at your regexp example, I now see that by 'parameters', you
> also meant that you wanted a different yang object type for each type
> of supported filter.  I.e., you want (c).  My earlier interpretation
> was that you wanted (b) with additional parameters to break down the
> contents and interworkings of a common anydata event filter object.

Hmmm.  I now realize that I probably do not understand what (a) and
(b) are.  I thought my proposal was (b)...

> The explicit subtyping with different object types that you have below
> close to what we had up through yang-push draft -v04 (minus your
> addition of the case regexp & dialect parameter).  Draft -v05 went the
> other way to (a) by minimizing the number and potential growth of
> filter object types via the addition of the filter-type.  Working
> draft -v06 is of (b), and is attempting to balance these needs.  The
> cost of both (a) and (b) is that we have a new object type, and the
> application must validate the filter-type syntax -- foregoing datatype
> enforcement by the model.

Can you explain what this last sentence means?

> But as the application will need to do its
> own syntax checks for the enforcement for platform specific filtering
> capabilities anyway, this doesn't seem to be a bad tradeoff.
> 
> BTW: I also would have also leaned towards explicit subtyping of
> option (c) if it were definitively possible to know whether a platform
> could support a specific filter back at the subscriber.

Can you explain the problem in more details?  There might be a
solution to this.


/martin


> But all
> filters will still need publisher validation, so yang data-type
> enforcement provides only minimal protections.
> 
> So with (b) vs (c), it feels like we are coming a model style
> preference.  I have a preference for (b): the one with fewer object
> types, and the one where it is the identities which might grow over
> time.  If we remain with (b), the interface specification should be
> less verbose.
> 
> > > > There are many lifetimes of
> > > > complexity here.  Your example of regexp is an excellent one, look at:
> > > > https://en.wikipedia.org/wiki/Comparison_of_regular_expression_engin
> > > > es it is hard for even a wiki page to maintain links to the
> > > > variations.
> > >
> > > This is completely missing my point, which has to do with how filter
> > > parameters are specified for new filters; not that there are many
> > > regexp dialects.
> > >
> > > > If someone has a proposal for how to parameterize these filtering
> > > > criteria simply, I would love to listen.  Note: Such a proposal may
> > > > not disrupt other vendor syntaxes which can be transparently
> > > > supported via the anyxml.  Absent such a proposal, we should leave
> > > > the specifics up to implementations for now.
> > >
> > > [...]
> > >
> > > > Vendors will have to specify valid examples of what will be
> > > > formatted within their anyxml.
> > >
> > > Specification by example is not very appealing IMO.   Ok, here's a
> > > proposal for how to do this:
> 
> This is helpful.  I now understand what you are proposing.
> 
> > >   leaf filter-type {
> > >     mandatory true;
> > >     type identityref {
> > >       base filter;
> > >     }
> > >   }
> > >   choice filter-parameters {
> > >     mandatory true;
> > >     case subtree-parameters {
> > >       when 'derived-from-or-self(../filter-type,
> > >                                  "sn:subtree-filter")';
> > >       anydata subtree {
> > >         description "<copy text from 5277>";
> > >       }
> > >     }
> > >     case xpath-parameters {
> > >       when 'derived-from-or-self(../filter-type,
> > >                                  "sn:xpath-filter")';
> > >       leaf xpath {
> > >         type yang:xpath1.0;
> > >         description
> > >           "<explain the XPath context, copy text from 5277>";
> > >       }
> > >     }
> > >   }
> > >
> > > Now, if a vendor/sdo wants to add a new filter type, it can be done
> > > like this:
> > >
> > >   identity regexp-filter {
> > >     base "sn:filter";
> > >     description
> > >       "...";
> > >   }
> > >   augment "/sn:filters/sn:filter/sn:filter-parameters" {
> > >     when 'derived-from-or-self(../filter-type,
> > >                                "rx:xpath-filter")';
> > 
> > Here there should be a case:
> > 
> >   case regexp-parameters {
> > 
> > >     leaf regexp-dialect {
> > >       type enumeration {
> > >         enum "xsd";
> > >         enum "posix";
> > >         ...
> > >       }
> > >     }
> > >     leaf regexp-expression {
> > >       type string;
> > >     }
> > 
> >   }
> 
> I like this augmentation structure.  With this, it is possible for
> vendor specific augmented objects to be added the model, versus
> parameters being embedded in the anydata.  Augmentations like this can
> be done with (b) too should people agree on filter parameters needing
> to be exposed.  Hopefully type of augmentation this can hold us until
> the time someone picks up filters holistically.
> 
> Eric  
> 
> > >   }
> > >
> > 
> > 
> > /martin
> > 
> > 
> > 
> > >
> > > Once we have this, we can simplify by removing the identity; it isn't
> > > really necessary.  (IIRC this was suggested by Juergen earlier in this
> > > thread.)
> > >
> > >
> > >
> > > /martin
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Netconf mailing list
> > > Netconf@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netconf
> > >
> 


From nobody Tue May 30 09:37:46 2017
Return-Path: <evoit@cisco.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8140126CD6 for <netconf@ietfa.amsl.com>; Tue, 30 May 2017 09:37:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level: 
X-Spam-Status: No, score=-14.522 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b2at9WIF89Uz for <netconf@ietfa.amsl.com>; Tue, 30 May 2017 09:37:43 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62ED6129AA4 for <netconf@ietf.org>; Tue, 30 May 2017 09:37:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12110; q=dns/txt; s=iport; t=1496162263; x=1497371863; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=8rGo7NXWtE0yDRyENUM26hUn0mcU4uIgwEq5p8TGSmo=; b=kQAJMPRyPljKsOPV8ttv/5zLodpEQZ9x+qiBXO5ghJ1soc74zrwhgzFv kRcims0PmQg1EUTGRQeY6d4vOO3ZnEC4WMBt8gyEnvEgPPJjQuVtG1rXJ ECNgMLiqMXs13hBPQwOkbtEdSrsc+I8GOum0jufPi+Nk12qYpj+fJr1lx Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CYAADJni1Z/5NdJa1TCRkBAQEBAQEBA?= =?us-ascii?q?QEBAQcBAQEBAYNVYoENB44DkWlylQeCDyENhSxKAoJTPxgBAgEBAQEBAQFrKIU?= =?us-ascii?q?YAQEBAQIBAQEMLCsJCwULAgEIDgcDDREQJwslAgQOBQgTigcIEK8bi0wBAQEBA?= =?us-ascii?q?QEBAQEBAQEBAQEBAQEBAQEdhmGBXwGCazSEQk2FTAWWeYcqAYcfi3+CD49xiQG?= =?us-ascii?q?LTAEfOIEKdBVGhwJ2hxgrgQOBDQEBAQ?=
X-IronPort-AV: E=Sophos;i="5.38,418,1491264000"; d="scan'208";a="33540614"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2017 16:37:42 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by rcdn-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id v4UGbfjT012472 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 30 May 2017 16:37:42 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Tue, 30 May 2017 12:37:41 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1210.000; Tue, 30 May 2017 12:37:41 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>, "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>
Thread-Topic: [Netconf] In an update, when is a delete a delete?
Thread-Index: AdLPVDqN5ppCqKOrQVCrK5qvBNQM2AAiVy4AANCNThAADN/oAAAg/5SAAA4QmwAAAGPesAAcMVmAAB8SZAAAFoFiAAAA+6UAAC9AgYAAAM0O4AAMLNwAAAJX7AAAAeCXIACR8mYAACztU7A=
Date: Tue, 30 May 2017 16:37:41 +0000
Message-ID: <fd975b82b35f4b20af25a645ff2112bf@XCH-RTP-013.cisco.com>
References: <20170526.162230.279705680178245042.mbj@tail-f.com> <20170526.172936.41395960352343450.mbj@tail-f.com> <7618ac2330394709ac9a9389e1f933cc@XCH-RTP-013.cisco.com> <20170529.160216.1504359864308776259.mbj@tail-f.com>
In-Reply-To: <20170529.160216.1504359864308776259.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/H6Nmllma8VHH-u7jPZn88R1pOwk>
Subject: Re: [Netconf] In an update, when is a delete a delete?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 May 2017 16:37:46 -0000

Hi Martin,

I have updated the yang models for:

Subscribed notifications:
https://github.com/netconf-wg/rfc5277bis/blob/master/ietf-subscribed-notifi=
cations%402017-05-25.yang
Yang-push:=20
https://github.com/netconf-wg/yang-push/blob/master/ietf-yang-push%402017-0=
5-26.yang

To provide details.  Some more thoughts in-line.

> From: Martin Bjorklund, May 29, 2017 10:02 AM
>=20
> Hi Eric,
>=20
> See comments inline.
>=20
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > Hi Martin,
> >
> > Good discussion.  Some thoughts in-line...
> >
> > > From: Martin Bjorklund, May 26, 2017 11:30 AM
> > >
> > > Hi,
> > >
> > > See below for a correction.
> > >
> > > Martin Bjorklund <mbj@tail-f.com> wrote:
> > > > Hi,
> > > >
> > > > "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > > Hi Martin,
> > > > >
> > > > > There are two differences in what we are describing:
> > > > > (#1) Do we have a parent identity which spans both the test
> > > > > filter types and the selection filter types
> > > > > (#2) Should we expose additional filter parameters within the
> > > > > YANG model
> > > > >
> > > > > For (#1), I see no harm in providing a parent identity.
> > > >
> > > > I do, since there is no benefit in a common parent identity.  It
> > > > just adds complexity to what's really a simple model.
> >
> > There are three options for traversing the filter criteria subtyping:
> > (a) filter sub-typing defined by a multi-tier identity hierarchy
> > (b) explicit subtyping for selection vs. test, with independent
> > identity sets
> > (c) explicit subtyping for all current and future types of filters
>=20
> It would help if you could provide valid YANG snippets of these three opt=
ions.  I
> *think* I know what you mean with (a) and (b), but not (c).
>=20
> > If we ever use (a) in any form, there is value in a parent identity.
>=20
> What does this mean?

See two comments below.
=20
> > As the current working draft is based (b), I will pull it out.
>=20
> Hmm, are you saying that you will _not_ use (b)?

No, the current models embody (b).  =20
=20
> > We can
> > always re-add in parallel with (b) if someone expresses a business
> > need.
>=20
> What does this mean?

We could have a common identity spanning the set of event and datastore fil=
ter identities.  This could be useful if anyone wanted to use this abstract=
ion.  But this is not in the current models.  So we can ignore this for now=
.

> > > > > Perhaps your
> > > > > concern is documentation compatibility with what was previously
> > > > > driven by 5277?
> > > >
> > > > No.
> > > >
> > > > > If that is the case, we could rename the top level filter to
> > > > > "evaluation-criteria".  This would free up "test-filter" to be
> > > > > renamed to "filter".  If this is ok, below is what is in the
> > > > > might be included in subscribed-notifications.  I believe
> > > > > matches to what you are suggesting, with the exception of the
> > > > > top level evaluation-criteria identity.
> > > > >
> > > > >   identity evaluation-criteria {
> > > > >     description
> > > > >       "Base identity for representing types of filtering or selec=
tion
> > > > >       syntaxes which may be applied against some target.";
> > > > >   }
> > > > >   identity filter {
> > > > >     base evaluation-criteria;
> > > > >     description
> > > > >       "Evaluation criteria used as a pass/fail test against event=
s.  A
> > > > >       boolean true, or a non-null result of a node
> > > > >        selection will allow events to traverse the filter.";
> > > > >   }
> > > > >   identity subtree-filter {
> > > > >     base filter;
> > > > >     description
> > > > >       "A RFC-6241 based filter which attempts to select nodes wit=
hin an
> > > > >       event.  A successful
> > > > >        selection of any nodes results in a positive test result."=
;
> > > > >     reference "RFC-6241, #5.1";
> > > > >   }
> > > > >   identity xpath-filter {
> > > > >     base filter;
> > > > >     description
> > > > >       "A filter applied to an event which follows the syntax spec=
ified
> > > > >       in
> > > > >       yang:xpath1.0. Success
> > > > >        is indicated by either a positive boolean result, or a non=
-null
> > > > >        node
> > > > >        selection.";
> > > > >     reference "XPATH: http://www.w3.org/TR/1999/REC-xpath-
> 19991116";
> > > > >   }
> > > > >
> > > > >
> > > > > For (#2), within the YANG model we expose a target for the
> > > > > evaluation-criteria (i.e., a stream or datastore) and the anydata=
.
> > > > > I don't think we should try for more.  The subscription
> > > > > specifications are complex enough already.
> > > > >
> > > > > If we try to break out additional parameters from the opaque
> > > > > anydata (either selector or filter), there is going to be a
> > > > > desire to break out even more parameters.  And then there will
> > > > > be attempts to codify valid interplays with these parameters.
> > > >
> > > > I don't understand what this means.  Maybe you can provide an
> > > > example by using my proposal below?
> >
> > Looking at your regexp example, I now see that by 'parameters', you
> > also meant that you wanted a different yang object type for each type
> > of supported filter.  I.e., you want (c).  My earlier interpretation
> > was that you wanted (b) with additional parameters to break down the
> > contents and interworkings of a common anydata event filter object.
>=20
> Hmmm.  I now realize that I probably do not understand what (a) and
> (b) are.  I thought my proposal was (b)...

Your proposal looked like (c) to me.  This is because you have explicit sub=
typing for different types of event filters: i.e., anydata subtree and leaf=
 xpath (xpath1.0).  See linked yang files above for an example of (b).

> > The explicit subtyping with different object types that you have below
> > close to what we had up through yang-push draft -v04 (minus your
> > addition of the case regexp & dialect parameter).  Draft -v05 went the
> > other way to (a) by minimizing the number and potential growth of
> > filter object types via the addition of the filter-type.  Working
> > draft -v06 is of (b), and is attempting to balance these needs.  The
> > cost of both (a) and (b) is that we have a new object type, and the
> > application must validate the filter-type syntax -- foregoing datatype
> > enforcement by the model.
>=20
> Can you explain what this last sentence means?

The yang model itself won't constrain to things like "type yang:xpath1.0" f=
or individual filter types.

> > But as the application will need to do its own syntax checks for the
> > enforcement for platform specific filtering capabilities anyway, this
> > doesn't seem to be a bad tradeoff.
> >
> > BTW: I also would have also leaned towards explicit subtyping of
> > option (c) if it were definitively possible to know whether a platform
> > could support a specific filter back at the subscriber.
>=20
> Can you explain the problem in more details?  There might be a solution t=
o this.

There are many checks which need to be made on a subscription filter before=
 it is known to be acceptable.  For example: does it match the overall synt=
ax of the filter type, does it match to the subset of the syntax supported =
by a platform, is the nesting, or number of parameters too complex to be su=
pported by a platform, is the result of a selection filter too large to be =
handled by a platform, are the total resources taken by the filter too high=
 relative to available capacity, etc.   Only the first of these can be addr=
essed by strong yang typing.

Eric

> /martin
>=20
>=20
> > But all
> > filters will still need publisher validation, so yang data-type
> > enforcement provides only minimal protections.
> >
> > So with (b) vs (c), it feels like we are coming a model style
> > preference.  I have a preference for (b): the one with fewer object
> > types, and the one where it is the identities which might grow over
> > time.  If we remain with (b), the interface specification should be
> > less verbose.
> >
> > > > > There are many lifetimes of
> > > > > complexity here.  Your example of regexp is an excellent one, loo=
k at:
> > > > > https://en.wikipedia.org/wiki/Comparison_of_regular_expression_e
> > > > > ngin es it is hard for even a wiki page to maintain links to the
> > > > > variations.
> > > >
> > > > This is completely missing my point, which has to do with how
> > > > filter parameters are specified for new filters; not that there
> > > > are many regexp dialects.
> > > >
> > > > > If someone has a proposal for how to parameterize these
> > > > > filtering criteria simply, I would love to listen.  Note: Such a
> > > > > proposal may not disrupt other vendor syntaxes which can be
> > > > > transparently supported via the anyxml.  Absent such a proposal,
> > > > > we should leave the specifics up to implementations for now.
> > > >
> > > > [...]
> > > >
> > > > > Vendors will have to specify valid examples of what will be
> > > > > formatted within their anyxml.
> > > >
> > > > Specification by example is not very appealing IMO.   Ok, here's a
> > > > proposal for how to do this:
> >
> > This is helpful.  I now understand what you are proposing.
> >
> > > >   leaf filter-type {
> > > >     mandatory true;
> > > >     type identityref {
> > > >       base filter;
> > > >     }
> > > >   }
> > > >   choice filter-parameters {
> > > >     mandatory true;
> > > >     case subtree-parameters {
> > > >       when 'derived-from-or-self(../filter-type,
> > > >                                  "sn:subtree-filter")';
> > > >       anydata subtree {
> > > >         description "<copy text from 5277>";
> > > >       }
> > > >     }
> > > >     case xpath-parameters {
> > > >       when 'derived-from-or-self(../filter-type,
> > > >                                  "sn:xpath-filter")';
> > > >       leaf xpath {
> > > >         type yang:xpath1.0;
> > > >         description
> > > >           "<explain the XPath context, copy text from 5277>";
> > > >       }
> > > >     }
> > > >   }
> > > >
> > > > Now, if a vendor/sdo wants to add a new filter type, it can be
> > > > done like this:
> > > >
> > > >   identity regexp-filter {
> > > >     base "sn:filter";
> > > >     description
> > > >       "...";
> > > >   }
> > > >   augment "/sn:filters/sn:filter/sn:filter-parameters" {
> > > >     when 'derived-from-or-self(../filter-type,
> > > >                                "rx:xpath-filter")';
> > >
> > > Here there should be a case:
> > >
> > >   case regexp-parameters {
> > >
> > > >     leaf regexp-dialect {
> > > >       type enumeration {
> > > >         enum "xsd";
> > > >         enum "posix";
> > > >         ...
> > > >       }
> > > >     }
> > > >     leaf regexp-expression {
> > > >       type string;
> > > >     }
> > >
> > >   }
> >
> > I like this augmentation structure.  With this, it is possible for
> > vendor specific augmented objects to be added the model, versus
> > parameters being embedded in the anydata.  Augmentations like this can
> > be done with (b) too should people agree on filter parameters needing
> > to be exposed.  Hopefully type of augmentation this can hold us until
> > the time someone picks up filters holistically.
> >
> > Eric
> >
> > > >   }
> > > >
> > >
> > >
> > > /martin
> > >
> > >
> > >
> > > >
> > > > Once we have this, we can simplify by removing the identity; it
> > > > isn't really necessary.  (IIRC this was suggested by Juergen
> > > > earlier in this
> > > > thread.)
> > > >
> > > >
> > > >
> > > > /martin
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Netconf mailing list
> > > > Netconf@ietf.org
> > > > https://www.ietf.org/mailman/listinfo/netconf
> > > >
> >


From nobody Tue May 30 16:01:26 2017
Return-Path: <internet-drafts@ietf.org>
X-Original-To: netconf@ietf.org
Delivered-To: netconf@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 31CE91201F2; Tue, 30 May 2017 16:01:25 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: netconf@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.52.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <149618528516.19781.5472216745211323813@ietfa.amsl.com>
Date: Tue, 30 May 2017 16:01:25 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/azjBlNiObKlypPeL0GHh08ZAKSI>
Subject: [Netconf] I-D Action: draft-ietf-netconf-rfc6536bis-02.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 May 2017 23:01:25 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Configuration of the IETF.

        Title           : Network Configuration Protocol (NETCONF) Access Control Model
        Authors         : Andy Bierman
                          Martin Bjorklund
	Filename        : draft-ietf-netconf-rfc6536bis-02.txt
	Pages           : 54
	Date            : 2017-05-30

Abstract:
   The standardization of network configuration interfaces for use with
   the Network Configuration Protocol (NETCONF) or RESTCONF protocol
   requires a structured and secure operating environment that promotes
   human usability and multi-vendor interoperability.  There is a need
   for standard mechanisms to restrict NETCONF or RESTCONF protocol
   access for particular users to a pre-configured subset of all
   available NETCONF or RESTCONF protocol operations and content.  This
   document defines such an access control model.

   This document obsoletes RFC 6536.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netconf-rfc6536bis/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-netconf-rfc6536bis-02
https://datatracker.ietf.org/doc/html/draft-ietf-netconf-rfc6536bis-02

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-netconf-rfc6536bis-02


Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/


From nobody Tue May 30 16:14:11 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59BC1124281 for <netconf@ietfa.amsl.com>; Tue, 30 May 2017 16:14:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level: 
X-Spam-Status: No, score=-2.02 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3CscG_WrOJR5 for <netconf@ietfa.amsl.com>; Tue, 30 May 2017 16:14:06 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0099.outbound.protection.outlook.com [104.47.37.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7828D1201F8 for <netconf@ietf.org>; Tue, 30 May 2017 16:14:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LTRavBM8kThio87cBS9lC71y+RWLN+vljammbSKGmww=; b=WgBz+uSCTMPkIaIJZOopHNrya76MCuv79oljFY+EEkle9gaBoFotZsImi+C6RpO86bhvjhFw414GqydOhrKi9i2w2YMhOLsLRigzkMPRPXZ3tMdBN9syGZvY60x9TBwOFsqzTUOI5bZVA7DNy11Nh1p1FeaFqLrmn9sIfiOCKRs=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Tue, 30 May 2017 23:14:04 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1143.009; Tue, 30 May 2017 23:14:04 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "Bogaert, Bart (Nokia - BE/Antwerp)" <bart.bogaert@nokia.com>, "Andy Bierman" <andy@yumaworks.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
Thread-Index: AdLUaEoEu1dDTJJ0SYCv+ahQaN03rAAAZhAAAA5wiIAA88TfgABBi5qA
Date: Tue, 30 May 2017 23:14:04 +0000
Message-ID: <4E3676DA-EB02-4908-A899-50A15DEA2554@juniper.net>
References: <AM2PR07MB062720A0401182C01723F40894FE0@AM2PR07MB0627.eurprd07.prod.outlook.com> <20170524084358.GA7074@elstar.local> <CABCOCHQqwx9_6PVM_YrAFbpn4LwmpKkvzet2rQPKgQnth1aRYQ@mail.gmail.com> <AM2PR07MB0627B3DFABABBA608E3CB6A294F30@AM2PR07MB0627.eurprd07.prod.outlook.com>
In-Reply-To: <AM2PR07MB0627B3DFABABBA608E3CB6A294F30@AM2PR07MB0627.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: nokia.com; dkim=none (message not signed) header.d=none;nokia.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1442; 7:W9LC7EPv2qa/Jo8MpkvQhJRyWFJbqQF7azgrVqyZdVYrpZ4vT7gHHSn3nQNruTnK5xBedUV+CWpRi6WY86E+azL5aoKDjYEcWF6O5LbMdIJjnmvOO0Tl6NSuk6QnJX8mgtuQ+E6cjAA/YRQKRr9B1Z0gC+2GBKQ0aTr97/lIYbpB1cDKIFF7o1kw/nHGklwtVADsbrnAoA1QL+3w47DgoaIRD40lHzh2jLFiaYkppDq4gkO7VCbr0/uv7UGKoxb8r52KMokBg1v6T1aw88UmwBZr5LM9iWz9KFOL2CuUHCdy6JFRUwmSbQzzwv8EzyN1vTk6x6ll/j+caFMrwMIZrQ==
x-ms-traffictypediagnostic: BN3PR0501MB1442:
x-ms-office365-filtering-correlation-id: a72c45fa-f343-4c29-a7c1-08d4a7b190dc
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0501MB1442; 
x-microsoft-antispam-prvs: <BN3PR0501MB144288ECC93E45BB98E2CD44A5F00@BN3PR0501MB1442.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(82608151540597)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(6072148); SRVR:BN3PR0501MB1442; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1442; 
x-forefront-prvs: 032334F434
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(39400400002)(39410400002)(39850400002)(39840400002)(39450400003)(24454002)(377454003)(76176999)(54356999)(25786009)(50986999)(236005)(99286003)(478600001)(36756003)(8936002)(6486002)(6506006)(77096006)(54896002)(4001350100001)(2501003)(6306002)(6436002)(6512007)(33656002)(189998001)(53546009)(53936002)(606005)(3660700001)(8676002)(81166006)(6246003)(86362001)(2906002)(38730400002)(2900100001)(122556002)(82746002)(2950100002)(83506001)(229853002)(7736002)(83716003)(102836003)(66066001)(3846002)(7906003)(14454004)(3280700002)(6116002)(93886004)(5660300001)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1442; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_4E3676DAEB024908A89950A15DEA2554junipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2017 23:14:04.6574 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1442
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/UnYfnKR0RgNLPJLb1DJLo1Uca7Y>
Subject: Re: [Netconf] Question about NETCONF RFC 6241 section 4.5 pipelining
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 30 May 2017 23:14:09 -0000

--_000_4E3676DAEB024908A89950A15DEA2554junipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQpUaGUgaW50ZW50aW9uIGlzIHRoYXQgdGhlIHZhcmlvdXMgc2Vzc2lvbnMgYXJlIHByb2Nlc3Nl
ZCBpbiBwYXJhbGxlbC4NCkZvciBpbnN0YW5jZSwgdGhlIHRleHQgZm9yIDxraWxsLXNlc3Npb24+
IHNheXM6DQoNCiAgICAgIFdoZW4gYSBORVRDT05GIGVudGl0eSByZWNlaXZlcyBhIDxraWxsLXNl
c3Npb24+IHJlcXVlc3QgZm9yIGFuDQogICAgICBvcGVuIHNlc3Npb24sIGl0IHdpbGwgKmFib3J0
IGFueSBvcGVyYXRpb25zIGN1cnJlbnRseSBpbiBwcm9jZXNzKiwNCiAgICAgIHJlbGVhc2UgYW55
IGxvY2tzIGFuZCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzZXNzaW9uLCBhbmQNCiAg
ICAgIGNsb3NlIGFueSBhc3NvY2lhdGVkIGNvbm5lY3Rpb25zLg0KDQpXaGljaCBpcyBvbmx5IGJl
IHBvc3NpYmxlIGlmIHRoZSBzZXJ2ZXIgcHJvY2Vzc2VkIHRoZSBzZXNzaW9ucyBpbiBwYXJhbGxl
bC4NCg0KRldJVywgdGhpcyBpcyBub3QgYW4gaXNzdWUgZm9yIFJFU1RDT05GLCBzaW5jZSBpdCBk
b2Vzbid0IGhhdmUgc2Vzc2lvbnMsDQpzaW5jZSBvbmUgb2YgdGhlIGhhbGxtYXJrcyBvZiBSRVNU
IGlzIHRoYXQgaXQgaXMgc3RhdGVsZXNzLg0KDQpLZW50DQoNCg0KT24gNS8yOS8xNywgNzo1NyBB
TSwgIk5ldGNvbmYgb24gYmVoYWxmIG9mIEJvZ2FlcnQsIEJhcnQgKE5va2lhIC0gQkUvQW50d2Vy
cCkiIDxuZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldGNvbmYtYm91bmNlc0BpZXRm
Lm9yZz4gb24gYmVoYWxmIG9mIGJhcnQuYm9nYWVydEBub2tpYS5jb208bWFpbHRvOmJhcnQuYm9n
YWVydEBub2tpYS5jb20+PiB3cm90ZToNCg0KQW5keSwNCg0KVGhhbmtzIGZvciB0aGlzIGlucHV0
LiAgWW91ciByZXNwb25zZSBzZWVtcyB0byBzdWdnZXN0IHRoYXQgYW4gaW1wbGVtZW50YXRpb24g
bWF5IGNob29zZSB0byBxdWV1ZSB0aGUgbmV3IHJlcXVlc3QgKGV2ZW4gd2hlbiBjb21pbmcgaW4g
dmlhIGFub3RoZXIgTkVUQ09ORiBzZXNzaW9uKSB1bnRpbCB0aGUgcHJldmlvdXMgcmVxdWVzdCB3
YXMgZnVsbHkgaGFuZGxlZC4gIFRoZSBzaWRlIGVmZmVjdCBvZiB0aGlzIGNvdWxkIGJlIHRoYXQg
YSBsb25nLXJ1bm5pbmcgZ2V0IG1heSBibG9jayBhbnkgb3RoZXIgYWN0aW9uIGZvciBxdWl0ZSBz
b21lIHRpbWUgKGFuZCBtYXkgbGVhZCB0byBwb3NzaWJsZSB0aW1lb3V0cykuDQpEbyBJIGhhdmUg
dG8gY29uY2x1ZGUgdGhhdCB0aGlzIGJlaGF2aW9yIHdpbGwgYmUgZGVwZW5kZW50IG9uIHRoZSBO
QyBzZXJ2ZXIgaW1wbGVtZW50YXRpb24/ICBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgaW4gZmF2
b3Igb2YgcHJlZGljdGFiaWxpdHkuICBJIHRoaW5rIHRoZSBSRkMgc2hvdWxkIGJlIGNsZWFyZXIg
b24gdGhpcyB0byBhdm9pZCBhbnkgYW1iaWd1aXR5Lg0KDQpSZWdhcmRzLCBCYXJ0DQoNCkZyb206
IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NClNlbnQ6IDI0IE1heSAy
MDE3IDE3OjM3DQpUbzogSnVlcmdlbiBTY2hvZW53YWVsZGVyIDxqLnNjaG9lbndhZWxkZXJAamFj
b2JzLXVuaXZlcnNpdHkuZGU+OyBCb2dhZXJ0LCBCYXJ0IChOb2tpYSAtIEJFL0FudHdlcnApIDxi
YXJ0LmJvZ2FlcnRAbm9raWEuY29tPjsgbmV0Y29uZkBpZXRmLm9yZw0KU3ViamVjdDogUmU6IFtO
ZXRjb25mXSBRdWVzdGlvbiBhYm91dCBORVRDT05GIFJGQyA2MjQxIHNlY3Rpb24gNC41IHBpcGVs
aW5pbmcNCg0KDQoNCk9uIFdlZCwgTWF5IDI0LCAyMDE3IGF0IDE6NDMgQU0sIEp1ZXJnZW4gU2No
b2Vud2FlbGRlciA8ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPG1haWx0bzpq
LnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+PiB3cm90ZToNCk9uIFdlZCwgTWF5
IDI0LCAyMDE3IGF0IDA4OjMzOjAzQU0gKzAwMDAsIEJvZ2FlcnQsIEJhcnQgKE5va2lhIC0gQkUv
QW50d2VycCkgd3JvdGU6DQo+IEhpLA0KPg0KPiBXZSBoYXZlIGEgcXVlc3Rpb24gYWJvdXQgdGhl
IGZvbGxvd2luZyB0ZXh0IGFib3V0IHBpcGVsaW5pbmc6DQo+DQo+ICJORVRDT05GIDxycGM+IHJl
cXVlc3RzIE1VU1QgYmUgcHJvY2Vzc2VkIHNlcmlhbGx5IGJ5IHRoZSBtYW5hZ2VkIGRldmljZS4N
Cj4gQWRkaXRpb25hbCA8cnBjPiByZXF1ZXN0cyBNQVkgYmUgc2VudCBiZWZvcmUgcHJldmlvdXMg
b25lcyBoYXZlIGJlZW4NCj4gY29tcGxldGVkLiBUaGUgbWFuYWdlZCBkZXZpY2UgTVVTVCBzZW5k
IHJlc3BvbnNlcyBvbmx5IGluIHRoZSBvcmRlciB0aGUNCj4gcmVxdWVzdHMgd2VyZSByZWNlaXZl
ZC4iDQoNClsuLi5dDQoNCj4gVGhlIHRleHQgaW4gdGhlIFJGQyBpcyBub3QgdmVyeSBleHBsaWNp
dCB3aGV0aGVyIHRoaXMgcGlwZWxpbmluZyBpcyBwZXINCj4gTkVUQ09ORiBzZXNzaW9uIG9mIG92
ZXIgYWxsIHRoZSBORVRDT05GIHNlc3Npb25zIHNlcnZlZCBieSB0aGF0IE5FVENPTkYNCj4gc2Vy
dmVyLiAgSW4gdGhlIGxhdHRlciBjYXNlIHRoZSByZXNwb25zZSB0byB0aGUgZmlyc3QgZ2V0LWNv
bmZpZyB3b3VsZCBvbmx5DQo+IHJldHVybiBvbmNlIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBj
b21wbGV0ZWQgKGFuZCBoZW5jZSB0aGUgcGVuZGluZyBjaGFuZ2UNCj4gd291bGQgbm90IGJlIHZp
c2libGUpLiAgV2hhdCBpcyB0aGUgY29ycmVjdCBpbnRlcnByZXRhdGlvbiBvZiB0aGlzIHRleHQg
YW5kDQo+IHdoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGluIHRoZSBhYm92ZSBzZXF1ZW5j
ZT8NCg0KSSBiZWxpZXZlIHRoZSBwaXBlbGluaW5nIGlzIHBlciBzZXNzaW9uLiBUbyBjb29yZGlu
YXRlIHJlcXVlc3RzIGNvbWluZw0KaW4gb3ZlciBtdWx0aXBsZSBzZXNzaW9uLCB5b3UgaGF2ZSB0
byB1c2UgbG9ja3MuIFNvIHRoYXQgdGV4dCBzaG91bGQNCnJlYWxseSBzYXk6DQoNCk9MRDoNCg0K
ICAgTkVUQ09ORiA8cnBjPiByZXF1ZXN0cyBNVVNUIGJlIHByb2Nlc3NlZCBzZXJpYWxseSBieSB0
aGUgbWFuYWdlZA0KICAgZGV2aWNlLg0KDQpORVc6DQoNCiAgIE5FVENPTkYgPHJwYz4gcmVxdWVz
dHMgcmVjZWl2ZWQgb3ZlciB0aGUgc2FtZSBzZXNzaW9uIE1VU1QgYmUNCiAgIHByb2Nlc3NlZCBz
ZXJpYWxseSBieSB0aGUgbWFuYWdlZCBkZXZpY2UuDQoNClRoaXMgaXMgcHJldHR5IG11Y2ggaW5s
aW5lIHdpdGggcGlwZWxpbmluZyBpbiBvdGhlciBwcm90b2NvbHMgc3VjaCBhcw0KU01UUCBvciBI
VFRQLg0KDQoNCkkgYWdyZWUgd2l0aCB5b3VyIGNoYW5nZXMgYnV0IEkgdGhpbmsgdGhlIG9yaWdp
bmFsIGludGVudCB3YXMgdGhhdCB0aGUgaW5wdXQgcGFja2V0cyBuZWVkIHRvIGJlIGJ1ZmZlcmVk
DQppZiB0aGUgc2VydmVyIGFsbG93cyBtdWx0aXBsZSBjb25jdXJyZW50IHNlc3Npb25zLiBpLmUu
IC0tIGlzIGl0IE9LIGZvciBhIHNlcnZlciB0aGF0IGhhcyBhY2NlcHRlZA0KbXVsdGlwbGUgY29u
Y3VycmVudCBzZXNzaW9ucyB0byBzaW1wbHkgcmVqZWN0IGFsbCByZXF1ZXN0cyBvbiBzZXNzaW9u
IDIgYmVjYXVzZSBhIHJlcXVlc3QgaXMgaW4gcHJvZ3Jlc3MNCm9uIHNlc3Npb24gMT8NCg0KDQov
anMNCg0KDQpBbmR5DQoNCg0KLS0NCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciAgICAgICAgICAgSmFj
b2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5IDQyMSAyMDAgMzU4NyAgICAg
ICAgIENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQpGYXg6ICAgKzQ5IDQy
MSAyMDAgMzEwMyAgICAgICAgIDxodHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4NCg0K
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNvbmYg
bWFpbGluZyBsaXN0DQpOZXRjb25mQGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3JnPg0K
aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_4E3676DAEB024908A89950A15DEA2554junipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <4FB29FA4456B254A8B5614B47D58ABAD@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8N
CnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsN
CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWls
eToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9u
OnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNv
LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5k
ZXJsaW5lO30NCnAubXNvbm9ybWFsMCwgbGkubXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDANCgl7
bXNvLXN0eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOw0KCW1h
cmdpbi1yaWdodDowaW47DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJbWFyZ2luLWxl
ZnQ6MGluOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21h
biIsInNlcmlmIjt9DQpzcGFuLmhvZW56Yg0KCXttc28tc3R5bGUtbmFtZTpob2VuemI7fQ0Kc3Bh
bi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6
Q2FsaWJyaTsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCnNwYW4uRW1haWxTdHlsZTIwDQoJe21zby1z
dHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OkNhbGlicmk7DQoJZm9udC12
YXJpYW50Om5vcm1hbCAhaW1wb3J0YW50Ow0KCWNvbG9yOndpbmRvd3RleHQ7DQoJdGV4dC10cmFu
c2Zvcm06bm9uZTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZSBub25lOw0KCXZlcnRpY2FsLWFsaWdu
OmJhc2VsaW5lO30NCnNwYW4ubXNvSW5zDQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0K
CW1zby1zdHlsZS1uYW1lOiIiOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7DQoJY29sb3I6
dGVhbDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglm
b250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBp
bjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0K
CXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgYmdjb2xv
cj0id2hpdGUiIGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYg
Y2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmkiPlRoZSBpbnRl
bnRpb24gaXMgdGhhdCB0aGUgdmFyaW91cyBzZXNzaW9ucyBhcmUgcHJvY2Vzc2VkIGluIHBhcmFs
bGVsLiZuYnNwOyZuYnNwOw0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmkiPkZvciBpbnN0YW5jZSwgdGhl
IHRleHQgZm9yICZsdDtraWxsLXNlc3Npb24mZ3Q7IHNheXM6PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmki
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj4mbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5i
c3A7V2hlbiBhIE5FVENPTkYgZW50aXR5IHJlY2VpdmVzIGEgJmx0O2tpbGwtc2Vzc2lvbiZndDsg
cmVxdWVzdCBmb3IgYW48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IG9wZW4gc2Vzc2lvbiwgaXQgd2lsbCAqYWJvcnQgYW55IG9wZXJhdGlvbnMgY3Vy
cmVudGx5IGluIHByb2Nlc3MqLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgcmVsZWFzZSBhbnkgbG9ja3MgYW5kIHJlc291cmNlcyBhc3NvY2lhdGVk
IHdpdGggdGhlIHNlc3Npb24sIGFuZDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgY2xvc2UgYW55IGFzc29jaWF0ZWQgY29ubmVjdGlvbnMuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
ZmFtaWx5OkNhbGlicmkiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj5XaGljaCBpcyBvbmx5
IGJlIHBvc3NpYmxlIGlmIHRoZSBzZXJ2ZXIgcHJvY2Vzc2VkIHRoZSBzZXNzaW9ucyBpbiBwYXJh
bGxlbC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmkiPkZX
SVcsIHRoaXMgaXMgbm90IGFuIGlzc3VlIGZvciBSRVNUQ09ORiwgc2luY2UgaXQgZG9lc24ndCBo
YXZlIHNlc3Npb25zLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj5zaW5jZSBvbmUgb2YgdGhlIGhhbGxt
YXJrcyBvZiBSRVNUIGlzIHRoYXQgaXQgaXMgc3RhdGVsZXNzLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJp
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+S2VudDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiA1LzI5LzE3LCA3OjU3IEFNLCAm
cXVvdDtOZXRjb25mIG9uIGJlaGFsZiBvZiBCb2dhZXJ0LCBCYXJ0IChOb2tpYSAtIEJFL0FudHdl
cnApJnF1b3Q7ICZsdDs8YSBocmVmPSJtYWlsdG86bmV0Y29uZi1ib3VuY2VzQGlldGYub3JnIj5u
ZXRjb25mLWJvdW5jZXNAaWV0Zi5vcmc8L2E+IG9uIGJlaGFsZiBvZg0KPGEgaHJlZj0ibWFpbHRv
OmJhcnQuYm9nYWVydEBub2tpYS5jb20iPmJhcnQuYm9nYWVydEBub2tpYS5jb208L2E+Jmd0OyB3
cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPkFu
ZHksPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+Jm5ic3A7PC9zcGFuPjxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+VGhhbmtzIGZvciB0aGlzIGlucHV0LiZuYnNw
OyBZb3VyIHJlc3BvbnNlIHNlZW1zIHRvIHN1Z2dlc3QgdGhhdCBhbiBpbXBsZW1lbnRhdGlvbiBt
YXkgY2hvb3NlIHRvIHF1ZXVlIHRoZSBuZXcgcmVxdWVzdCAoZXZlbiB3aGVuIGNvbWluZyBpbiB2
aWEgYW5vdGhlciBORVRDT05GIHNlc3Npb24pIHVudGlsIHRoZSBwcmV2aW91cyByZXF1ZXN0DQog
d2FzIGZ1bGx5IGhhbmRsZWQuJm5ic3A7IFRoZSBzaWRlIGVmZmVjdCBvZiB0aGlzIGNvdWxkIGJl
IHRoYXQgYSBsb25nLXJ1bm5pbmcgZ2V0IG1heSBibG9jayBhbnkgb3RoZXIgYWN0aW9uIGZvciBx
dWl0ZSBzb21lIHRpbWUgKGFuZCBtYXkgbGVhZCB0byBwb3NzaWJsZSB0aW1lb3V0cykuPC9zcGFu
PjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+RG8gSSBoYXZlIHRvIGNvbmNsdWRlIHRo
YXQgdGhpcyBiZWhhdmlvciB3aWxsIGJlIGRlcGVuZGVudCBvbiB0aGUgTkMgc2VydmVyIGltcGxl
bWVudGF0aW9uPyZuYnNwOyBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgaW4gZmF2b3Igb2YgcHJl
ZGljdGFiaWxpdHkuJm5ic3A7IEkgdGhpbmsgdGhlIFJGQyBzaG91bGQgYmUgY2xlYXJlciBvbiB0
aGlzDQogdG8gYXZvaWQgYW55IGFtYmlndWl0eS48L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTpDYWxpYnJpIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTpDYWxpYnJpIj5S
ZWdhcmRzLCBCYXJ0PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+Jm5ic3A7
PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6Q2FsaWJyaSI+RnJvbTo8L3NwYW4+PC9i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OkNhbGlicmkiPiBBbmR5
IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb21dDQo8YnI+DQo8Yj5TZW50OjwvYj4g
MjQgTWF5IDIwMTcgMTc6Mzc8YnI+DQo8Yj5Ubzo8L2I+IEp1ZXJnZW4gU2Nob2Vud2FlbGRlciAm
bHQ7ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlJmd0OzsgQm9nYWVydCwgQmFy
dCAoTm9raWEgLSBCRS9BbnR3ZXJwKSAmbHQ7YmFydC5ib2dhZXJ0QG5va2lhLmNvbSZndDs7IG5l
dGNvbmZAaWV0Zi5vcmc8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtOZXRjb25mXSBRdWVzdGlv
biBhYm91dCBORVRDT05GIFJGQyA2MjQxIHNlY3Rpb24gNC41IHBpcGVsaW5pbmc8L3NwYW4+PG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5PbiBXZWQsIE1heSAyNCwgMjAxNyBhdCAxOjQzIEFNLCBKdWVyZ2Vu
IFNjaG9lbndhZWxkZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2Jz
LXVuaXZlcnNpdHkuZGUiIHRhcmdldD0iX2JsYW5rIj5qLnNjaG9lbndhZWxkZXJAamFjb2JzLXVu
aXZlcnNpdHkuZGU8L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0
eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6
MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJn
aW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij5PbiBXZWQsIE1heSAyNCwgMjAxNyBhdCAwODoz
MzowM0FNICYjNDM7MDAwMCwgQm9nYWVydCwgQmFydCAoTm9raWEgLSBCRS9BbnR3ZXJwKSB3cm90
ZTo8YnI+DQomZ3Q7IEhpLDxicj4NCiZndDs8YnI+DQomZ3Q7IFdlIGhhdmUgYSBxdWVzdGlvbiBh
Ym91dCB0aGUgZm9sbG93aW5nIHRleHQgYWJvdXQgcGlwZWxpbmluZzo8YnI+DQomZ3Q7PGJyPg0K
Jmd0OyAmcXVvdDtORVRDT05GICZsdDtycGMmZ3Q7IHJlcXVlc3RzIE1VU1QgYmUgcHJvY2Vzc2Vk
IHNlcmlhbGx5IGJ5IHRoZSBtYW5hZ2VkIGRldmljZS48YnI+DQomZ3Q7IEFkZGl0aW9uYWwgJmx0
O3JwYyZndDsgcmVxdWVzdHMgTUFZIGJlIHNlbnQgYmVmb3JlIHByZXZpb3VzIG9uZXMgaGF2ZSBi
ZWVuPGJyPg0KJmd0OyBjb21wbGV0ZWQuIFRoZSBtYW5hZ2VkIGRldmljZSBNVVNUIHNlbmQgcmVz
cG9uc2VzIG9ubHkgaW4gdGhlIG9yZGVyIHRoZTxicj4NCiZndDsgcmVxdWVzdHMgd2VyZSByZWNl
aXZlZC4mcXVvdDs8YnI+DQo8YnI+DQpbLi4uXTxicj4NCjxicj4NCiZndDsgVGhlIHRleHQgaW4g
dGhlIFJGQyBpcyBub3QgdmVyeSBleHBsaWNpdCB3aGV0aGVyIHRoaXMgcGlwZWxpbmluZyBpcyBw
ZXI8YnI+DQomZ3Q7IE5FVENPTkYgc2Vzc2lvbiBvZiBvdmVyIGFsbCB0aGUgTkVUQ09ORiBzZXNz
aW9ucyBzZXJ2ZWQgYnkgdGhhdCBORVRDT05GPGJyPg0KJmd0OyBzZXJ2ZXIuJm5ic3A7IEluIHRo
ZSBsYXR0ZXIgY2FzZSB0aGUgcmVzcG9uc2UgdG8gdGhlIGZpcnN0IGdldC1jb25maWcgd291bGQg
b25seTxicj4NCiZndDsgcmV0dXJuIG9uY2UgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGNvbXBs
ZXRlZCAoYW5kIGhlbmNlIHRoZSBwZW5kaW5nIGNoYW5nZTxicj4NCiZndDsgd291bGQgbm90IGJl
IHZpc2libGUpLiZuYnNwOyBXaGF0IGlzIHRoZSBjb3JyZWN0IGludGVycHJldGF0aW9uIG9mIHRo
aXMgdGV4dCBhbmQ8YnI+DQomZ3Q7IHdoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGluIHRo
ZSBhYm92ZSBzZXF1ZW5jZT88YnI+DQo8YnI+DQpJIGJlbGlldmUgdGhlIHBpcGVsaW5pbmcgaXMg
cGVyIHNlc3Npb24uIFRvIGNvb3JkaW5hdGUgcmVxdWVzdHMgY29taW5nPGJyPg0KaW4gb3ZlciBt
dWx0aXBsZSBzZXNzaW9uLCB5b3UgaGF2ZSB0byB1c2UgbG9ja3MuIFNvIHRoYXQgdGV4dCBzaG91
bGQ8YnI+DQpyZWFsbHkgc2F5Ojxicj4NCjxicj4NCk9MRDo8YnI+DQo8YnI+DQombmJzcDsgJm5i
c3A7TkVUQ09ORiAmbHQ7cnBjJmd0OyByZXF1ZXN0cyBNVVNUIGJlIHByb2Nlc3NlZCBzZXJpYWxs
eSBieSB0aGUgbWFuYWdlZDxicj4NCiZuYnNwOyAmbmJzcDtkZXZpY2UuPGJyPg0KPGJyPg0KTkVX
Ojxicj4NCjxicj4NCiZuYnNwOyAmbmJzcDtORVRDT05GICZsdDtycGMmZ3Q7IHJlcXVlc3RzIHJl
Y2VpdmVkIG92ZXIgdGhlIHNhbWUgc2Vzc2lvbiBNVVNUIGJlPGJyPg0KJm5ic3A7ICZuYnNwO3By
b2Nlc3NlZCBzZXJpYWxseSBieSB0aGUgbWFuYWdlZCBkZXZpY2UuPGJyPg0KPGJyPg0KVGhpcyBp
cyBwcmV0dHkgbXVjaCBpbmxpbmUgd2l0aCBwaXBlbGluaW5nIGluIG90aGVyIHByb3RvY29scyBz
dWNoIGFzPGJyPg0KU01UUCBvciBIVFRQLjxvOnA+PC9vOnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGFncmVlIHdpdGggeW91ciBjaGFuZ2Vz
IGJ1dCBJIHRoaW5rIHRoZSBvcmlnaW5hbCBpbnRlbnQgd2FzIHRoYXQgdGhlIGlucHV0IHBhY2tl
dHMgbmVlZCB0byBiZSBidWZmZXJlZDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+aWYgdGhlIHNlcnZlciBhbGxvd3MgbXVsdGlwbGUgY29uY3VycmVu
dCBzZXNzaW9ucy4gaS5lLiAtLSBpcyBpdCBPSyBmb3IgYSBzZXJ2ZXIgdGhhdCBoYXMgYWNjZXB0
ZWQ8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPm11
bHRpcGxlIGNvbmN1cnJlbnQgc2Vzc2lvbnMgdG8gc2ltcGx5IHJlamVjdCBhbGwgcmVxdWVzdHMg
b24gc2Vzc2lvbiAyIGJlY2F1c2UgYSByZXF1ZXN0IGlzIGluIHByb2dyZXNzPG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5vbiBzZXNzaW9uIDE/PG86
cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7
Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0
O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJn
aW4tYm90dG9tOjUuMHB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGNsYXNzPSJob2Vu
emIiPjxzcGFuIHN0eWxlPSJjb2xvcjojODg4ODg4Ij4vanM8L3NwYW4+PC9zcGFuPjxvOnA+PC9v
OnA+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNw
OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5i
c3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5B
bmR5PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4m
bmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpu
b25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2
LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47
bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Y29sb3I6Izg4ODg4OCI+PGJyPg0KPHNwYW4gY2xhc3M9ImhvZW56YiI+LS08L3NwYW4+PGJyPg0K
PHNwYW4gY2xhc3M9ImhvZW56YiI+SnVlcmdlbiBTY2hvZW53YWVsZGVyJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtKYWNvYnMgVW5pdmVyc2l0eSBCcmVtZW4gZ0dtYkg8
L3NwYW4+PGJyPg0KPHNwYW4gY2xhc3M9ImhvZW56YiI+UGhvbmU6ICYjNDM7NDkgNDIxIDIwMCAz
NTg3Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0NhbXB1cyBSaW5nIDEgfCAyODc1
OSBCcmVtZW4gfCBHZXJtYW55PC9zcGFuPjxicj4NCjxzcGFuIGNsYXNzPSJob2VuemIiPkZheDom
bmJzcDsgJm5ic3A7JiM0Mzs0OSA0MjEgMjAwIDMxMDMmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7Jmx0Ozwvc3Bhbj48L3NwYW4+PGEgaHJlZj0iaHR0cDovL3d3dy5qYWNvYnMtdW5p
dmVyc2l0eS5kZS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5
LmRlLzwvYT48c3BhbiBjbGFzcz0iaG9lbnpiIj48c3BhbiBzdHlsZT0iY29sb3I6Izg4ODg4OCI+
Jmd0Ozwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiM4ODg4ODgiPjxicj4NCjxicj4N
CjxzcGFuIGNsYXNzPSJob2VuemIiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fPC9zcGFuPjxicj4NCjxzcGFuIGNsYXNzPSJob2VuemIiPk5ldGNvbmYgbWFp
bGluZyBsaXN0PC9zcGFuPjxicj4NCjwvc3Bhbj48YSBocmVmPSJtYWlsdG86TmV0Y29uZkBpZXRm
Lm9yZyI+TmV0Y29uZkBpZXRmLm9yZzwvYT48c3BhbiBzdHlsZT0iY29sb3I6Izg4ODg4OCI+PGJy
Pg0KPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8v
bmV0Y29uZiIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlz
dGluZm8vbmV0Y29uZjwvYT48bzpwPjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2
Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_4E3676DAEB024908A89950A15DEA2554junipernet_--


From nobody Wed May 31 00:40:27 2017
Return-Path: <balazs.kovacs@ericsson.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EDE0129B61 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 00:40:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level: 
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AgHPWa49lerQ for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 00:40:24 -0700 (PDT)
Received: from sessmg22.ericsson.net (sessmg22.ericsson.net [193.180.251.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0244129B3C for <netconf@ietf.org>; Wed, 31 May 2017 00:40:23 -0700 (PDT)
X-AuditID: c1b4fb3a-6e3519a000004a6a-71-592e7365bfd0
Received: from ESESSHC013.ericsson.se (Unknown_Domain [153.88.183.57]) by sessmg22.ericsson.net (Symantec Mail Security) with SMTP id 0B.E1.19050.5637E295; Wed, 31 May 2017 09:40:21 +0200 (CEST)
Received: from EUR03-AM5-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.57) with Microsoft SMTP Server (TLS) id 14.3.339.0; Wed, 31 May 2017 09:40:18 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.onmicrosoft.com; s=selector1-ericsson-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=9j6DTa1xrKNsFI9enJaNmatV1KWY0VWZatcHmsiMq7c=; b=ZZQmfXb+TIcnz623C5sToxJzQ62Kjfi81y9y6VdlyVbMLaVAAacLzjzdH1I9Z8vNZkn/Vezis8rD5Cl78qgs138g/wI6Gr6VyF+0o+jFDOZEdRdpDOsJoBtsD0BX5kXJw4qMEyXF39yiwSOez+MFH1b3scuUCyITDoElNUOzfr0=
Received: from DB4PR07MB0509.eurprd07.prod.outlook.com (10.242.195.146) by DB4PR07MB0510.eurprd07.prod.outlook.com (10.242.195.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 07:40:16 +0000
Received: from DB4PR07MB0509.eurprd07.prod.outlook.com ([fe80::d455:885b:d33a:76f9]) by DB4PR07MB0509.eurprd07.prod.outlook.com ([fe80::d455:885b:d33a:76f9%15]) with mapi id 15.01.1143.009; Wed, 31 May 2017 07:40:16 +0000
From: =?utf-8?B?QmFsw6F6cyBLb3bDoWNz?= <balazs.kovacs@ericsson.com>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: ietf-tls-client@2017-03-13, some questions and comments
Thread-Index: AdLZJHoqvQcGrWQQSX2+6K8ptz0IxQAKK0AAACS6YcA=
Date: Wed, 31 May 2017 07:40:16 +0000
Message-ID: <DB4PR07MB050923311EA3BDCB717FBEB683F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
References: <DB4PR07MB05096FEFED88764EA3DBC21783F00@DB4PR07MB0509.eurprd07.prod.outlook.com> <97423DDE-A852-476C-AC87-7115043D3E34@juniper.net>
In-Reply-To: <97423DDE-A852-476C-AC87-7115043D3E34@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [91.82.100.59]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DB4PR07MB0510; 7:3+oDCK21ljI+qI0HwlWFEis9vxGMHrLDmTJORicUZaaMFcYHQER6MjRyvkUJyzIsxh8AFEcY7GuImO5DWkRZLlossEZEGomHBZ3g7fpaI0GdRXGZBwiopkd5K9CG/WL3m1R1oH8vQZGGqil0RS2qwQbJ5XKpJn5xwSxzXBf8/Mzuu5AHVnjMCq97UZLvhbKkefxKFCMb4ZDRNXXg0rOFPVYOpXnGaIpOe3hMbl/P+dNvrAk2M1ec/IgT5U6mz/uQVoHN6+RKSY9PFXfmtXuEwq/sehU8JglmqZjOiVdQyzfsdeSLqP6xrqniP+d7iUKj8atSG+OQ5wjd7PI+9lQzLw==
x-ms-traffictypediagnostic: DB4PR07MB0510:
x-ms-office365-filtering-correlation-id: 67030071-3c3f-4c23-3cc1-08d4a7f847cd
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:DB4PR07MB0510; 
x-microsoft-antispam-prvs: <DB4PR07MB0510B94319E27F74B7870BFA83F10@DB4PR07MB0510.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(158342451672863)(138986009662008)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(100000703073)(100105400095)(10201501046)(6041248)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(6072148)(100000704073)(100105200095)(100000705073)(100105500095); SRVR:DB4PR07MB0510; BCL:0; PCL:0; RULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(100000804073)(100110200095)(100000805073)(100110500095); SRVR:DB4PR07MB0510; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39840400002)(39450400003)(39850400002)(39400400002)(39410400002)(5423002)(24454002)(377454003)(25584004)(54094003)(377424004)(53936002)(2906002)(5660300001)(2351001)(236005)(9686003)(8936002)(230783001)(74316002)(189998001)(14454004)(8676002)(38730400002)(54356999)(85202003)(50986999)(66066001)(76176999)(5250100002)(478600001)(1730700003)(81166006)(110136004)(2501003)(6436002)(85182001)(6916009)(5640700003)(2900100001)(2950100002)(6506006)(53546009)(25786009)(3280700002)(54896002)(55016002)(99286003)(86362001)(7696004)(102836003)(790700001)(3846002)(33656002)(7736002)(6116002)(3660700001)(6306002)(5630700001)(68540200001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB0510; H:DB4PR07MB0509.eurprd07.prod.outlook.com; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_DB4PR07MB050923311EA3BDCB717FBEB683F10DB4PR07MB0509eurp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 07:40:16.3349 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB0510
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA01SbUiTURjl7t3Hu9HqNjUfVkIOKnU4P6g0lTLKiEBUitSIcuiLG87N9prM DJmmfbj5UVroWCq5oqKSZqDmyByVZpChqejyh0ydGaKRJmJY214D/517znnOvefhkoSokSMm lep8SquWqyRcAbshrf1QKEXL0sPnPsii71odnHh00mJZZSWjc4K4LEqlLKC0YYczBIqSmXtE nk2je+uaQXrUoapAfBLwfng80ktUIAEpwu8QmPUvOR5BhPsQVHfyPQIbVxJg+jzKY1z1LFir m+cwByeCR6MzPM8IFx+DgVkny4N9cTCUmBa9UT44HkqtTwiGTwBbl8HtJ904Bp6/F3toNt4D v5fNXosQnwdHlYnL5N9GMF02wvUIfHwERktrvCaEd8BK/zPvXQT2h/GpJhbTB4PFNkAw2A++ O9e9D0XYgGCxcWTDtBuszQs8BgfAYJMBeUyAjQR0dX7bmA6BtpKFjYFEmKvr2+CLYbL7IdfT AHAOjPVjhlbBr5smgsmxc2CwpQkxwi6out7IZYQ2LrQuzLOYtYhh4ustVIOCTZtamNy5BNZA 5fhxk3cb2+FjwxSboYOh9XUY4w6EOsMkj8FBUG6+z9vMNyPeU+RHUzSdmx0ZKaO0ykya1qhl airfity/pufVWkwH6nEdtSNMIskW4QWFLF3EkRfQhbl2BCQh8RXOXnJTwix54RVKq7movayi aDvaSbIl/sL4N1/SRDhbnk/lUFQepf2vski+WI+KqrszAkPP1sYaHX9WZFFFxUP1SWW61RNl Ph2ZUYUHYq/2SacbjDd69AnDUetJqVJbb8SD5dzTZ5zTQVbdj2FWQl70qTHLOnpRfnAiRcBJ yVpJFJa3GxWOVsW1yZ/Jd8K3Bkjhk2toKZW/L65Kaqv5u82ljKnd26IzL/GnxM0SNq2QR4QQ Wlr+Dx0qkEIxAwAA
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/yFdsqFuplcgan1GIf3JI535gHG8>
Subject: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 07:40:26 -0000

--_000_DB4PR07MB050923311EA3BDCB717FBEB683F10DB4PR07MB0509eurp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

ZnlpDQoNCkZyb206IEtlbnQgV2F0c2VuIFttYWlsdG86a3dhdHNlbkBqdW5pcGVyLm5ldF0NClNl
bnQ6IFR1ZXNkYXksIE1heSAzMCwgMjAxNyA4OjAxIFBNDQpUbzogQmFsw6F6cyBLb3bDoWNzIDxi
YWxhenMua292YWNzQGVyaWNzc29uLmNvbT4NCkNjOiBCYWzDoXpzIExlbmd5ZWwgPGJhbGF6cy5s
ZW5neWVsQGVyaWNzc29uLmNvbT4NClN1YmplY3Q6IFJlOiBpZXRmLXRscy1jbGllbnRAMjAxNy0w
My0xMywgc29tZSBxdWVzdGlvbnMgYW5kIGNvbW1lbnRzDQoNClBlciB5b3VyIHF1ZXN0aW9uczoN
Cg0KMS4gSSBhbSBub3QgdHJ5aW5nIHRvIHN1cHBvcnQgbnVsbC1hdXRoZW50aWNhdGlvbiBjaXBo
ZXIgc3VpdGVzLiAgSW4gcHJhY3RpY2UsIEkgZXhwZWN0ICpvbmUqIG9yICpib3RoKiB0cnVzdGVk
LWNhLWNlcnRzIGFuZCB0cnVzdGVkLXNlcnZlci1jZXJ0cyB0byBiZSBjb25maWd1cmVkLCBidXQg
bm90ICpuZWl0aGVyKi4gICBJJ20gbm90IHN1cmUgaG93IHRvIHJlcHJlc2VudCB0aGF0IGluIFlB
TkcsIG1heWJlIGEgbXVzdCBleHByZXNzaW9uIHVzaW5nIHRoZSBjb3VudCgpIHhwYXRoIGZ1bmN0
aW9uPyAgIG11c3QgJ2NvdW50KC4vKikgPiAwJz8NCg0KMi4gc2VlICMxDQoNCjMuIEknbSBub3Qg
c3VyZSBpZiBpdCBuZWVkcyB0byBiZSBtZW50aW9uZWQgaW4gdGhpcyBkb2N1bWVudC4gIEFscmVh
ZHkgUkZDIDYxMjUgc2F5cyB0aGlzLCB5ZXM/DQoNClBTOiBJIHdpc2ggdGhhdCB5b3Ugd291bGQg
c2VuZCB0aGVzZSBxdWVzdGlvbnMgdG8gdGhlIE5FVENPTkYgbGlzdCwgYXMgaXQgaXMgZ2VuZXJh
bGx5IGdvb2QgZm9yIHRoZSBXRyB0byBzZWUgdGhlIFEmQSB0b28uDQoNClRoYW5rcywNCktlbnQN
Cg0KDQpPbiA1LzMwLzE3LCA1OjE5IEFNLCAiQmFsw6F6cyBLb3bDoWNzIiA8YmFsYXpzLmtvdmFj
c0Blcmljc3Nvbi5jb208bWFpbHRvOmJhbGF6cy5rb3ZhY3NAZXJpY3Nzb24uY29tPj4gd3JvdGU6
DQoNCkhpIEtlbnQsDQoNCknigJltIHN0dWR5aW5nIHRoZSBtb2R1bGUgaW4gc3ViamVjdCBhbmQg
aGF2ZSBhIGNvdXBsZSBvZiBxdWVzdGlvbnMuDQoNCg0KICAxLiAgdHJ1c3RlZC1jYS1jZXJ0cyBh
bmQgdHJ1c3RlZC1zZXJ2ZXItY2VydHMgYXJlIGJvdGggb3B0aW9uYWwgbGVhdmVzLiBBcmUgeW91
IHByZXBhcmluZyBmb3IgVExTIHNlcnZlcnMgd2hpY2ggYXJlIG5vdCBnb2luZyB0byBiZSBhdXRo
ZW50aWNhdGVkIChpLmUuLCB3aXRoIG51bGwgYXV0aGVudGljYXRpb24gY2lwaGVyIHN1aXRlcyk/
IEFza2luZyBiZWNhdXNlIHRoZSBpZXRmLXRscy1zZXJ2ZXIgaGFzIHRoZSBjZXJ0aWZpY2F0ZSBs
aXN0IHdpdGggbWluLWVsZW1lbnRzIDEuDQogIDIuICBJbiBjYXNlIEkgd291bGQgbGlrZSB0byBh
dm9pZCBudWxsIGF1dGhlbnRpY2F0aW9uIGFuZCByZXF1aXJlIGF0IGxlYXN0IG9uZSBpbnN0YW5j
ZSBvZiB0cnVzdGVkLWNhLWNlcnRzIG9yIHRydXN0ZWQtc2VydmVyLWNlcnRzIEnigJltIG5vdCBz
dXJlIGhvdyB0byBkbyBpdC4gSSB3b25kZXIgaWYgdGhpcyBkaXN0aW5jdGlvbiBiZXR3ZWVuIENB
IGFuZCBzZXJ2ZXIgY2VydGlmaWNhdGVzIGlzIG5lZWRlZCwgYW5kIGlmIHllcywgY291bGQgdGhl
c2UgdHdvIGJlIHdpdGhpbiBhIGxpc3Qgb2YgY2hvaWNlcyBzbyBJIGNhbiByZXF1aXJlIGF0IGxl
YXN0IG9uZSBsaXN0IGVsZW1lbnQ/IFdoYXQgZG8geW91IHN1Z2dlc3Q/DQogIDMuICBTaG91bGRu
4oCZdCBpdCBiZSBtZW50aW9uZWQgaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRydXN0ZWQtY2EtY2Vy
dHMgYW5kIHRydXN0ZWQtc2VydmVyLWNlcnRzIHRoYXQgdGhlIHN1YmplY3RhbHRuYW1lIG9yIHRo
ZSBzdWJqZWN0IGZpZWxkcyBmcm9tIHRoZSBwZWVyIGNlcnRpZmljYXRlIHJlY2VpdmVkIGF0IFRM
UyBoYW5kc2hha2UgbXVzdCBtYXRjaCB0aGUgc2VydmVyIGhvc3QgYWRkcmVzcywgYW5kIHRoYXQg
dGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCBpbiB0aGUgQ0EgY2FzZT8NCg0KQnIsDQpCYWzD
oXpzDQoNCg==

--_000_DB4PR07MB050923311EA3BDCB717FBEB683F10DB4PR07MB0509eurp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQph
OmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xv
cjojMDU2M0MxOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFu
Lk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjoj
OTU0RjcyOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcC5Nc29MaXN0UGFyYWdyYXBo
LCBsaS5Nc29MaXN0UGFyYWdyYXBoLCBkaXYuTXNvTGlzdFBhcmFncmFwaA0KCXttc28tc3R5bGUt
cHJpb3JpdHk6MzQ7DQoJbWFyZ2luLXRvcDowaW47DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJn
aW4tYm90dG9tOjBpbjsNCgltYXJnaW4tbGVmdDouNWluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw
dDsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm
O30NCnAubXNvbm9ybWFsMCwgbGkubXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDANCgl7bXNvLXN0
eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOw0KCW1hcmdpbi1y
aWdodDowaW47DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJbWFyZ2luLWxlZnQ6MGlu
Ow0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7
fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1m
YW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQpzcGFuLkVt
YWlsU3R5bGUyMA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2Fs
aWJyaSIsc2Fucy1zZXJpZjsNCglmb250LXZhcmlhbnQ6bm9ybWFsICFpbXBvcnRhbnQ7DQoJY29s
b3I6d2luZG93dGV4dDsNCgl0ZXh0LXRyYW5zZm9ybTpub25lOw0KCXRleHQtZGVjb3JhdGlvbjpu
b25lIG5vbmU7DQoJdmVydGljYWwtYWxpZ246YmFzZWxpbmU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjEN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki
LHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28t
c3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRT
ZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4g
MS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0
IERlZmluaXRpb25zICovDQpAbGlzdCBsMA0KCXttc28tbGlzdC1pZDo4MzQxNDk3NDA7DQoJbXNv
LWxpc3QtdGVtcGxhdGUtaWRzOi02NTc4MjQyODt9DQpAbGlzdCBsMQ0KCXttc28tbGlzdC1pZDox
MTk4MDAyNTk2Ow0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1zby1saXN0LXRlbXBsYXRlLWlk
czotMjM4MTU0MDEwIDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEz
IDY3Njk4NzE1IDY3Njk4NzAzIDY3Njk4NzEzIDY3Njk4NzE1O30NCkBsaXN0IGwxOmxldmVsMQ0K
CXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxl
ZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0IGwxOmxldmVsMg0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCglt
c28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBs
aXN0IGwxOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCglt
c28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0
Ow0KCXRleHQtaW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMTpsZXZlbDQNCgl7bXNvLWxldmVsLXRh
Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0uMjVpbjt9DQpAbGlzdCBsMTpsZXZlbDUNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6
YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJl
ci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjt9DQpAbGlzdCBsMTpsZXZlbDYN
Cgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVu
dDotOS4wcHQ7fQ0KQGxpc3QgbDE6bGV2ZWw3DQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0K
CW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0K
QGxpc3QgbDE6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0K
CW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3QgbDE6bGV2ZWw5DQoJe21zby1sZXZlbC1u
dW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1z
by1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30NCm9s
DQoJe21hcmdpbi1ib3R0b206MGluO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGluO30NCi0tPjwv
c3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJl
ZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNv
IDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0i
ZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwv
aGVhZD4NCjxib2R5IGJnY29sb3I9IndoaXRlIiBsYW5nPSJFTi1VUyIgbGluaz0iIzA1NjNDMSIg
dmxpbms9IiM5NTRGNzIiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPmZ5aTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRv
cDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IEtlbnQgV2F0c2VuIFttYWlsdG86a3dhdHNlbkBq
dW5pcGVyLm5ldF0gPGJyPg0KPGI+U2VudDo8L2I+IFR1ZXNkYXksIE1heSAzMCwgMjAxNyA4OjAx
IFBNPGJyPg0KPGI+VG86PC9iPiBCYWzDoXpzIEtvdsOhY3MgJmx0O2JhbGF6cy5rb3ZhY3NAZXJp
Y3Nzb24uY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gQmFsw6F6cyBMZW5neWVsICZsdDtiYWxhenMu
bGVuZ3llbEBlcmljc3Nvbi5jb20mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBpZXRmLXRs
cy1jbGllbnRAMjAxNy0wMy0xMywgc29tZSBxdWVzdGlvbnMgYW5kIGNvbW1lbnRzPG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEy
LjBwdCI+UGVyIHlvdXIgcXVlc3Rpb25zOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEyLjBwdCI+MS4gSSBhbSBub3QgdHJ5aW5nIHRvIHN1cHBvcnQgbnVsbC1hdXRoZW50aWNh
dGlvbiBjaXBoZXIgc3VpdGVzLiZuYnNwOyBJbiBwcmFjdGljZSwgSSBleHBlY3QgKm9uZSogb3Ig
KmJvdGgqIHRydXN0ZWQtY2EtY2VydHMgYW5kIHRydXN0ZWQtc2VydmVyLWNlcnRzIHRvIGJlIGNv
bmZpZ3VyZWQsIGJ1dCBub3QgKm5laXRoZXIqLiZuYnNwOyZuYnNwOyBJJ20gbm90IHN1cmUgaG93
IHRvDQogcmVwcmVzZW50IHRoYXQgaW4gWUFORywgbWF5YmUgYSBtdXN0IGV4cHJlc3Npb24gdXNp
bmcgdGhlIGNvdW50KCkgeHBhdGggZnVuY3Rpb24/Jm5ic3A7Jm5ic3A7IG11c3QgJ2NvdW50KC4v
KikgJmd0OyAwJz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjIu
IHNlZSAjMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdCI+My4gSSdt
IG5vdCBzdXJlIGlmIGl0IG5lZWRzIHRvIGJlIG1lbnRpb25lZCBpbiB0aGlzIGRvY3VtZW50LiZu
YnNwOyBBbHJlYWR5IFJGQyA2MTI1IHNheXMgdGhpcywgeWVzPzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0Ij48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEyLjBwdCI+UFM6IEkgd2lzaCB0aGF0IHlvdSB3b3VsZCBzZW5kIHRo
ZXNlIHF1ZXN0aW9ucyB0byB0aGUgTkVUQ09ORiBsaXN0LCBhcyBpdCBpcyBnZW5lcmFsbHkgZ29v
ZCBmb3IgdGhlIFdHIHRvIHNlZSB0aGUgUSZhbXA7QSB0b28uPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTIuMHB0Ij5UaGFua3MsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPktlbnQ8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEyLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+T24gNS8zMC8x
NywgNToxOSBBTSwgJnF1b3Q7QmFsw6F6cyBLb3bDoWNzJnF1b3Q7ICZsdDs8YSBocmVmPSJtYWls
dG86YmFsYXpzLmtvdmFjc0Blcmljc3Nvbi5jb20iPmJhbGF6cy5rb3ZhY3NAZXJpY3Nzb24uY29t
PC9hPiZndDsgd3JvdGU6PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkhpIEtl
bnQsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPknigJltIHN0dWR5aW5nIHRoZSBtb2R1bGUgaW4g
c3ViamVjdCBhbmQgaGF2ZSBhIGNvdXBsZSBvZiBxdWVzdGlvbnMuPG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxvbCBzdHlsZT0ibWFy
Z2luLXRvcDowaW4iIHN0YXJ0PSIxIiB0eXBlPSIxIj4NCjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibWFyZ2luLWxlZnQ6MGluO21zby1saXN0OmwxIGxldmVsMSBsZm8zIj50cnVzdGVkLWNh
LWNlcnRzIGFuZCB0cnVzdGVkLXNlcnZlci1jZXJ0cyBhcmUgYm90aCBvcHRpb25hbCBsZWF2ZXMu
IEFyZSB5b3UgcHJlcGFyaW5nIGZvciBUTFMgc2VydmVycyB3aGljaCBhcmUgbm90IGdvaW5nIHRv
IGJlIGF1dGhlbnRpY2F0ZWQgKGkuZS4sIHdpdGggbnVsbCBhdXRoZW50aWNhdGlvbiBjaXBoZXIg
c3VpdGVzKT8NCiBBc2tpbmcgYmVjYXVzZSB0aGUgaWV0Zi10bHMtc2VydmVyIGhhcyB0aGUgY2Vy
dGlmaWNhdGUgbGlzdCB3aXRoIG1pbi1lbGVtZW50cyAxLjxvOnA+PC9vOnA+PC9saT48bGkgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjttc28tbGlzdDpsMSBsZXZlbDEg
bGZvMyI+SW4gY2FzZSBJIHdvdWxkIGxpa2UgdG8gYXZvaWQgbnVsbCBhdXRoZW50aWNhdGlvbiBh
bmQgcmVxdWlyZSBhdCBsZWFzdCBvbmUgaW5zdGFuY2Ugb2YgdHJ1c3RlZC1jYS1jZXJ0cyBvciB0
cnVzdGVkLXNlcnZlci1jZXJ0cyBJ4oCZbSBub3Qgc3VyZSBob3cgdG8gZG8gaXQuIEkgd29uZGVy
IGlmIHRoaXMgZGlzdGluY3Rpb24gYmV0d2Vlbg0KIENBIGFuZCBzZXJ2ZXIgY2VydGlmaWNhdGVz
IGlzIG5lZWRlZCwgYW5kIGlmIHllcywgY291bGQgdGhlc2UgdHdvIGJlIHdpdGhpbiBhIGxpc3Qg
b2YgY2hvaWNlcyBzbyBJIGNhbiByZXF1aXJlIGF0IGxlYXN0IG9uZSBsaXN0IGVsZW1lbnQ/IFdo
YXQgZG8geW91IHN1Z2dlc3Q/PG86cD48L286cD48L2xpPjxsaSBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibWFyZ2luLWxlZnQ6MGluO21zby1saXN0OmwxIGxldmVsMSBsZm8zIj5TaG91bGRu4oCZ
dCBpdCBiZSBtZW50aW9uZWQgaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRydXN0ZWQtY2EtY2VydHMg
YW5kIHRydXN0ZWQtc2VydmVyLWNlcnRzIHRoYXQgdGhlIHN1YmplY3RhbHRuYW1lIG9yIHRoZSBz
dWJqZWN0IGZpZWxkcyBmcm9tIHRoZSBwZWVyIGNlcnRpZmljYXRlIHJlY2VpdmVkIGF0IFRMUyBo
YW5kc2hha2UNCiBtdXN0IG1hdGNoIHRoZSBzZXJ2ZXIgaG9zdCBhZGRyZXNzLCBhbmQgdGhhdCB0
aGlzIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IGluIHRoZSBDQSBjYXNlPzxvOnA+PC9vOnA+PC9s
aT48L29sPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj5Cciw8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PkJhbDxzcGFuIGxhbmc9IkhVIj7DoXpzPC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+Jm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRt
bD4NCg==

--_000_DB4PR07MB050923311EA3BDCB717FBEB683F10DB4PR07MB0509eurp_--


From nobody Wed May 31 01:07:50 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 997DD129B67 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 01:07:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level: 
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vnQAULh2dlGX for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 01:07:48 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 597F9129B66 for <netconf@ietf.org>; Wed, 31 May 2017 01:07:48 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id 85B721AE0335; Wed, 31 May 2017 10:07:47 +0200 (CEST)
Date: Wed, 31 May 2017 10:08:03 +0200 (CEST)
Message-Id: <20170531.100803.1656646185181037402.mbj@tail-f.com>
To: balazs.kovacs@ericsson.com
Cc: netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <DB4PR07MB050923311EA3BDCB717FBEB683F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
References: <DB4PR07MB05096FEFED88764EA3DBC21783F00@DB4PR07MB0509.eurprd07.prod.outlook.com> <97423DDE-A852-476C-AC87-7115043D3E34@juniper.net> <DB4PR07MB050923311EA3BDCB717FBEB683F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/jEX2Dtx_EH2bYnAPhOi4K3j4u4I>
Subject: Re: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 08:07:50 -0000

SGksDQoNCkJhbMOhenMgS292w6FjcyA8YmFsYXpzLmtvdmFjc0Blcmljc3Nvbi5jb20+IHdyb3Rl
Og0KPiBmeWkNCj4gDQo+IEZyb206IEtlbnQgV2F0c2VuIFttYWlsdG86a3dhdHNlbkBqdW5pcGVy
Lm5ldF0NCj4gU2VudDogVHVlc2RheSwgTWF5IDMwLCAyMDE3IDg6MDEgUE0NCj4gVG86IEJhbMOh
enMgS292w6FjcyA8YmFsYXpzLmtvdmFjc0Blcmljc3Nvbi5jb20+DQo+IENjOiBCYWzDoXpzIExl
bmd5ZWwgPGJhbGF6cy5sZW5neWVsQGVyaWNzc29uLmNvbT4NCj4gU3ViamVjdDogUmU6IGlldGYt
dGxzLWNsaWVudEAyMDE3LTAzLTEzLCBzb21lIHF1ZXN0aW9ucyBhbmQgY29tbWVudHMNCj4gDQo+
IFBlciB5b3VyIHF1ZXN0aW9uczoNCj4gDQo+IDEuIEkgYW0gbm90IHRyeWluZyB0byBzdXBwb3J0
IG51bGwtYXV0aGVudGljYXRpb24gY2lwaGVyIHN1aXRlcy4gIEluDQo+IHByYWN0aWNlLCBJIGV4
cGVjdCAqb25lKiBvciAqYm90aCogdHJ1c3RlZC1jYS1jZXJ0cyBhbmQNCj4gdHJ1c3RlZC1zZXJ2
ZXItY2VydHMgdG8gYmUgY29uZmlndXJlZCwgYnV0IG5vdCAqbmVpdGhlciouICBJJ20gbm90DQo+
IHN1cmUgaG93IHRvIHJlcHJlc2VudCB0aGF0IGluIFlBTkcsIG1heWJlIGEgbXVzdCBleHByZXNz
aW9uIHVzaW5nIHRoZQ0KPiBjb3VudCgpIHhwYXRoIGZ1bmN0aW9uPyAgbXVzdCAnY291bnQoLi8q
KSA+IDAnPw0KDQpJdCBjYW4gYmUgZG9uZSBsaWtlIHRoaXM6DQoNCiAgY29udGFpbmVyIHNlcnZl
ci1hdXRoIHsNCiAgICBsZWFmIHRydXN0ZWQtY2EtY2VydHMgeyAuLi4gfQ0KICAgIGxlYWYgdHJ1
c3RlZC1zZXJ2ZXItY2VydHMgeyAuLi4gfQ0KDQogICAgbXVzdCAndHJ1c3RlZC1jYS1jZXJ0cyBv
ciB0cnVzdGVkLXNlcnZlci1jZXJ0cyc7DQoNCiAgfQ0KDQoNCi9tYXJ0aW4NCg0KDQoNCg0KPiAy
LiBzZWUgIzENCj4gDQo+IDMuIEknbSBub3Qgc3VyZSBpZiBpdCBuZWVkcyB0byBiZSBtZW50aW9u
ZWQgaW4gdGhpcyBkb2N1bWVudC4gIEFscmVhZHkNCj4gUkZDIDYxMjUgc2F5cyB0aGlzLCB5ZXM/
DQo+IA0KPiBQUzogSSB3aXNoIHRoYXQgeW91IHdvdWxkIHNlbmQgdGhlc2UgcXVlc3Rpb25zIHRv
IHRoZSBORVRDT05GIGxpc3QsIGFzDQo+IGl0IGlzIGdlbmVyYWxseSBnb29kIGZvciB0aGUgV0cg
dG8gc2VlIHRoZSBRJkEgdG9vLg0KPiANCj4gVGhhbmtzLA0KPiBLZW50DQo+IA0KPiANCj4gT24g
NS8zMC8xNywgNToxOSBBTSwgIkJhbMOhenMgS292w6FjcyINCj4gPGJhbGF6cy5rb3ZhY3NAZXJp
Y3Nzb24uY29tPG1haWx0bzpiYWxhenMua292YWNzQGVyaWNzc29uLmNvbT4+IHdyb3RlOg0KPiAN
Cj4gSGkgS2VudCwNCj4gDQo+IEnigJltIHN0dWR5aW5nIHRoZSBtb2R1bGUgaW4gc3ViamVjdCBh
bmQgaGF2ZSBhIGNvdXBsZSBvZiBxdWVzdGlvbnMuDQo+IA0KPiANCj4gICAxLiAgdHJ1c3RlZC1j
YS1jZXJ0cyBhbmQgdHJ1c3RlZC1zZXJ2ZXItY2VydHMgYXJlIGJvdGggb3B0aW9uYWwNCj4gICBs
ZWF2ZXMuIEFyZSB5b3UgcHJlcGFyaW5nIGZvciBUTFMgc2VydmVycyB3aGljaCBhcmUgbm90IGdv
aW5nIHRvIGJlDQo+ICAgYXV0aGVudGljYXRlZCAoaS5lLiwgd2l0aCBudWxsIGF1dGhlbnRpY2F0
aW9uIGNpcGhlciBzdWl0ZXMpPyBBc2tpbmcNCj4gICBiZWNhdXNlIHRoZSBpZXRmLXRscy1zZXJ2
ZXIgaGFzIHRoZSBjZXJ0aWZpY2F0ZSBsaXN0IHdpdGggbWluLWVsZW1lbnRzDQo+ICAgMS4NCj4g
ICAyLiAgSW4gY2FzZSBJIHdvdWxkIGxpa2UgdG8gYXZvaWQgbnVsbCBhdXRoZW50aWNhdGlvbiBh
bmQgcmVxdWlyZSBhdA0KPiAgIGxlYXN0IG9uZSBpbnN0YW5jZSBvZiB0cnVzdGVkLWNhLWNlcnRz
IG9yIHRydXN0ZWQtc2VydmVyLWNlcnRzIEnigJltIG5vdA0KPiAgIHN1cmUgaG93IHRvIGRvIGl0
LiBJIHdvbmRlciBpZiB0aGlzIGRpc3RpbmN0aW9uIGJldHdlZW4gQ0EgYW5kIHNlcnZlcg0KPiAg
IGNlcnRpZmljYXRlcyBpcyBuZWVkZWQsIGFuZCBpZiB5ZXMsIGNvdWxkIHRoZXNlIHR3byBiZSB3
aXRoaW4gYSBsaXN0DQo+ICAgb2YgY2hvaWNlcyBzbyBJIGNhbiByZXF1aXJlIGF0IGxlYXN0IG9u
ZSBsaXN0IGVsZW1lbnQ/IFdoYXQgZG8geW91DQo+ICAgc3VnZ2VzdD8NCj4gICAzLiAgU2hvdWxk
buKAmXQgaXQgYmUgbWVudGlvbmVkIGluIHRoZSBkZXNjcmlwdGlvbiBvZiB0cnVzdGVkLWNhLWNl
cnRzDQo+ICAgYW5kIHRydXN0ZWQtc2VydmVyLWNlcnRzIHRoYXQgdGhlIHN1YmplY3RhbHRuYW1l
IG9yIHRoZSBzdWJqZWN0IGZpZWxkcw0KPiAgIGZyb20gdGhlIHBlZXIgY2VydGlmaWNhdGUgcmVj
ZWl2ZWQgYXQgVExTIGhhbmRzaGFrZSBtdXN0IG1hdGNoIHRoZQ0KPiAgIHNlcnZlciBob3N0IGFk
ZHJlc3MsIGFuZCB0aGF0IHRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgaW4gdGhlIENBDQo+
ICAgY2FzZT8NCj4gDQo+IEJyLA0KPiBCYWzDoXpzDQo+IA0K


From nobody Wed May 31 04:45:14 2017
Return-Path: <balazs.kovacs@ericsson.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9C5EC126CC7 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 04:45:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level: 
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XQP6D5xD2QNH for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 04:45:10 -0700 (PDT)
Received: from sesbmg23.ericsson.net (sesbmg23.ericsson.net [193.180.251.37]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB85712EAB3 for <netconf@ietf.org>; Wed, 31 May 2017 04:45:09 -0700 (PDT)
X-AuditID: c1b4fb25-73a9f9a0000055fe-89-592eacc3c1db
Received: from ESESSHC016.ericsson.se (Unknown_Domain [153.88.183.66]) by sesbmg23.ericsson.net (Symantec Mail Security) with SMTP id 2E.40.22014.3CCAE295; Wed, 31 May 2017 13:45:07 +0200 (CEST)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.66) with Microsoft SMTP Server (TLS) id 14.3.339.0; Wed, 31 May 2017 13:45:08 +0200
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.onmicrosoft.com; s=selector1-ericsson-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=zSeyx3zXdvtqodkxXUjkWYBV+P3l1MjXRcplxwx7Ls4=; b=Kq4ZUXqKQxrDBqkBIfcvB3Mdff2ksD/bnpa1Xpt+2HNI25a3phEM4o0xRE8p+Ac1Y2D3RzmnnX7DVx3xTl5h1nQEF0Q9XmN9brhwKJJP3QieP1k/qbks56oSIffN5pHCnXT8p7OZbaDBa/lAJpgnGQe7WkWnriGzFuhA4ow2Gmc=
Received: from DB4PR07MB0509.eurprd07.prod.outlook.com (10.242.195.146) by DB4PR07MB0509.eurprd07.prod.outlook.com (10.242.195.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 11:45:06 +0000
Received: from DB4PR07MB0509.eurprd07.prod.outlook.com ([fe80::d455:885b:d33a:76f9]) by DB4PR07MB0509.eurprd07.prod.outlook.com ([fe80::d455:885b:d33a:76f9%15]) with mapi id 15.01.1143.009; Wed, 31 May 2017 11:45:06 +0000
From: =?utf-8?B?QmFsw6F6cyBLb3bDoWNz?= <balazs.kovacs@ericsson.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
Thread-Index: AdLZJHoqvQcGrWQQSX2+6K8ptz0IxQAKK0AAACS6YcAAAT2AgAAHHiOQ
Date: Wed, 31 May 2017 11:45:06 +0000
Message-ID: <DB4PR07MB05095B7A8989B100AB78EEB583F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
References: <DB4PR07MB05096FEFED88764EA3DBC21783F00@DB4PR07MB0509.eurprd07.prod.outlook.com> <97423DDE-A852-476C-AC87-7115043D3E34@juniper.net> <DB4PR07MB050923311EA3BDCB717FBEB683F10@DB4PR07MB0509.eurprd07.prod.outlook.com> <20170531.100803.1656646185181037402.mbj@tail-f.com>
In-Reply-To: <20170531.100803.1656646185181037402.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: tail-f.com; dkim=none (message not signed) header.d=none;tail-f.com; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [91.82.100.59]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DB4PR07MB0509; 7:O45HAnmbzJXUe9ij1amm2jftSXEiam4ei/Vo84SN6RHj79RcVO7t6bFs3qeRratdbhisfz8lM0Yvi0bO/zZ8oc7P+TzhWwT/cOmB4jWb0grd39KztTAZA8YMUBpE5yVTTTA9rMBSwtB5AzEB4aeRTyHyqfU9X+jS3t3uOFy6cqB7lldLE5KPZxTpg25zh2gNxIvo3DQVa+PpR+iskQo+j4HZlcyfOLW0bBlVBCTX64XpJIxIToEw+usBLhgAo5pQ30jVKMwDhOBKqkCHhU1jFBXSzqYNboh9vNu9zQ2otwcpf8ulWS3AyrVK1myFtlOGmFWEjqKPBHJG1dCOP0uTLQ==
x-ms-traffictypediagnostic: DB4PR07MB0509:
x-ms-office365-filtering-correlation-id: 2a100d24-26a8-4888-7000-08d4a81a7bc4
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(201703131423075)(201703031133081); SRVR:DB4PR07MB0509; 
x-microsoft-antispam-prvs: <DB4PR07MB0509B7CC561E440DB13FC68183F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(158342451672863)(138986009662008); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123558100)(6072148); SRVR:DB4PR07MB0509; BCL:0; PCL:0; RULEID:; SRVR:DB4PR07MB0509; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(6009001)(39410400002)(39450400003)(39850400002)(39860400002)(39400400002)(39840400002)(24454002)(13464003)(377454003)(5423002)(25584004)(377424004)(2950100002)(305945005)(6916009)(53546009)(6116002)(6506006)(38730400002)(53936002)(3846002)(6436002)(7736002)(85202003)(25786009)(561944003)(74316002)(102836003)(110136004)(2906002)(93886004)(189998001)(55016002)(85182001)(7696004)(9686003)(230783001)(99286003)(54356999)(5250100002)(66066001)(3280700002)(81166006)(2900100001)(5660300001)(3660700001)(14454004)(8936002)(478600001)(4326008)(33656002)(86362001)(50986999)(8676002)(76176999)(229853002); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR07MB0509; H:DB4PR07MB0509.eurprd07.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 11:45:06.3451 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR07MB0509
X-OriginatorOrg: ericsson.com
X-Brightmail-Tracker: H4sIAAAAAAAAA02SXUhTYRjHe885247DxWl+PZiWDb1w4kyLMLDUhPDCwu40BFt5UNNNO8c0 K2RFSW75cWHZVjpFDTWtXJKzJHKTYUvcKJEwo3QzHEliCUuz0bazoLvf+/z/zycviYtv8CLJ UmUVzSjl5RK+kNDmjR5LNA/K8vcvL6akajRfBal3DB95GVh2T88mlj281U3kYqeFaUV0eWk1 zSQdPSMs0ayu8Cqn910ytqer0EKMGgWRQB2Ete8rPDUSkmJqEsHo83o+95hC0OsZ8ysE1YiD 6otF4EsRU/cwWO0K5lwOBPZ2B98n8KkssK04MB+HUnHgHBsifIxT8TD0Zx33cQh1Eq7ZjQHP KVj6thzg42DZMPobEN7crcfbyMciqgCsC/rAfPcxUFum/EWDqEwwtbz2mxAVDm7rIMY1i4B5 px7jlqOgZ9yGcxwGLofHXwhRzQjazb0BUwwYOtcEHEfDO70G+UxA3cZh5sEywQlSeGr+HOAT MN8wx+O4DqbMRu/6Ai+XgSuaixbAz5vmQJkfGHywzQVSo6CpvoPPCR4eLHZs81tQgu6/wXWI 9F/syYskLrwPWjWLAp3/GLvgjdZJdCJiAIWxNHtWUZxyQEYzpedYtkIpU9JVBuT9GxMjv+OM 6P1qpglRJJIEi8J7ZflinryarVWYEJC4JFR0q88bEhXJay/TTEUhc7GcZk1oN0lIIkSZr+x5 YqpYXkWX0XQlzfxTMTIoUoUUntpga+u220C+zSpwq7QV/Uk1rsTxrUeF3Y3uGGuDM4dUXdFL dSHqvLaXext2zHQYo5JzpNOK/J3Pcmfp6/jV0V/n7x5uSkB6+8RaTZ+Z7E5fOjLZNcuMtLn2 iLTudHqITjtUN7BhyWhb/xRLxvZfiJdu0M19/baHm55hCcGWyJOlOMPK/wK+hc4bFwMAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/WBA-J3kS_40aNlRlu7vvm4qjHdY>
Subject: Re: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 11:45:11 -0000

SGksDQoNClRoYW5rIHlvdSBNYXJ0aW4uIEtlbnQsIHdpbGwgeW91IGFkZCB0aGUgcHJvcG9zYWwg
b2YgTWFydGluIHRvIHRoZSBuZXh0IHZlcnNpb24/DQoNClJlZ2FyZGluZyBpc3N1ZSAjMywgeW91
J3JlIHJpZ2h0LCBSRkM2MTI1IGV4cGxhaW5zIHJlZmVyZW5jZSBpZGVudGl0aWVzIGFuZCBtYXRj
aGluZyByZXF1aXJlbWVudHM7IGhvd2V2ZXIsIEkgdGhpbmsgYSByZWZlcmVuY2UgY291bGQgYmUg
dXNlZnVsIHRvIGlkZW50aWZ5IGNlcnRpZmljYXRpb24gYXR0cmlidXRlIHJlcXVpcmVtZW50cyBm
b3Igc2VydmVyIGlkZW50aXRpZXMuIFdvdWxkIGl0IGJlIGFwcHJvcHJpYXRlIHRvIGhhdmUgc3Vj
aCBhIHJlZmVyZW5jZSBhdCBnZW5lcmF0ZS1jZXJ0aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3Qgb2Yg
aWV0Zi1rZXlzdG9yZT8NCg0KQnIsDQpCYWzDoXpzDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t
LS0tDQpGcm9tOiBNYXJ0aW4gQmpvcmtsdW5kIFttYWlsdG86bWJqQHRhaWwtZi5jb21dIA0KU2Vu
dDogV2VkbmVzZGF5LCBNYXkgMzEsIDIwMTcgMTA6MDggQU0NClRvOiBCYWzDoXpzIEtvdsOhY3Mg
PGJhbGF6cy5rb3ZhY3NAZXJpY3Nzb24uY29tPg0KQ2M6IG5ldGNvbmZAaWV0Zi5vcmcNClN1Ympl
Y3Q6IFJlOiBbTmV0Y29uZl0gaWV0Zi10bHMtY2xpZW50QDIwMTctMDMtMTMsIHNvbWUgcXVlc3Rp
b25zIGFuZCBjb21tZW50cw0KDQpIaSwNCg0KQmFsw6F6cyBLb3bDoWNzIDxiYWxhenMua292YWNz
QGVyaWNzc29uLmNvbT4gd3JvdGU6DQo+IGZ5aQ0KPiANCj4gRnJvbTogS2VudCBXYXRzZW4gW21h
aWx0bzprd2F0c2VuQGp1bmlwZXIubmV0XQ0KPiBTZW50OiBUdWVzZGF5LCBNYXkgMzAsIDIwMTcg
ODowMSBQTQ0KPiBUbzogQmFsw6F6cyBLb3bDoWNzIDxiYWxhenMua292YWNzQGVyaWNzc29uLmNv
bT4NCj4gQ2M6IEJhbMOhenMgTGVuZ3llbCA8YmFsYXpzLmxlbmd5ZWxAZXJpY3Nzb24uY29tPg0K
PiBTdWJqZWN0OiBSZTogaWV0Zi10bHMtY2xpZW50QDIwMTctMDMtMTMsIHNvbWUgcXVlc3Rpb25z
IGFuZCBjb21tZW50cw0KPiANCj4gUGVyIHlvdXIgcXVlc3Rpb25zOg0KPiANCj4gMS4gSSBhbSBu
b3QgdHJ5aW5nIHRvIHN1cHBvcnQgbnVsbC1hdXRoZW50aWNhdGlvbiBjaXBoZXIgc3VpdGVzLiAg
SW4gDQo+IHByYWN0aWNlLCBJIGV4cGVjdCAqb25lKiBvciAqYm90aCogdHJ1c3RlZC1jYS1jZXJ0
cyBhbmQgDQo+IHRydXN0ZWQtc2VydmVyLWNlcnRzIHRvIGJlIGNvbmZpZ3VyZWQsIGJ1dCBub3Qg
Km5laXRoZXIqLiAgSSdtIG5vdCANCj4gc3VyZSBob3cgdG8gcmVwcmVzZW50IHRoYXQgaW4gWUFO
RywgbWF5YmUgYSBtdXN0IGV4cHJlc3Npb24gdXNpbmcgdGhlDQo+IGNvdW50KCkgeHBhdGggZnVu
Y3Rpb24/ICBtdXN0ICdjb3VudCguLyopID4gMCc/DQoNCkl0IGNhbiBiZSBkb25lIGxpa2UgdGhp
czoNCg0KICBjb250YWluZXIgc2VydmVyLWF1dGggew0KICAgIGxlYWYgdHJ1c3RlZC1jYS1jZXJ0
cyB7IC4uLiB9DQogICAgbGVhZiB0cnVzdGVkLXNlcnZlci1jZXJ0cyB7IC4uLiB9DQoNCiAgICBt
dXN0ICd0cnVzdGVkLWNhLWNlcnRzIG9yIHRydXN0ZWQtc2VydmVyLWNlcnRzJzsNCg0KICB9DQoN
Cg0KL21hcnRpbg0KDQoNCg0KDQo+IDIuIHNlZSAjMQ0KPiANCj4gMy4gSSdtIG5vdCBzdXJlIGlm
IGl0IG5lZWRzIHRvIGJlIG1lbnRpb25lZCBpbiB0aGlzIGRvY3VtZW50LiAgQWxyZWFkeSANCj4g
UkZDIDYxMjUgc2F5cyB0aGlzLCB5ZXM/DQo+IA0KPiBQUzogSSB3aXNoIHRoYXQgeW91IHdvdWxk
IHNlbmQgdGhlc2UgcXVlc3Rpb25zIHRvIHRoZSBORVRDT05GIGxpc3QsIGFzIA0KPiBpdCBpcyBn
ZW5lcmFsbHkgZ29vZCBmb3IgdGhlIFdHIHRvIHNlZSB0aGUgUSZBIHRvby4NCj4gDQo+IFRoYW5r
cywNCj4gS2VudA0KPiANCj4gDQo+IE9uIDUvMzAvMTcsIDU6MTkgQU0sICJCYWzDoXpzIEtvdsOh
Y3MiDQo+IDxiYWxhenMua292YWNzQGVyaWNzc29uLmNvbTxtYWlsdG86YmFsYXpzLmtvdmFjc0Bl
cmljc3Nvbi5jb20+PiB3cm90ZToNCj4gDQo+IEhpIEtlbnQsDQo+IA0KPiBJ4oCZbSBzdHVkeWlu
ZyB0aGUgbW9kdWxlIGluIHN1YmplY3QgYW5kIGhhdmUgYSBjb3VwbGUgb2YgcXVlc3Rpb25zLg0K
PiANCj4gDQo+ICAgMS4gIHRydXN0ZWQtY2EtY2VydHMgYW5kIHRydXN0ZWQtc2VydmVyLWNlcnRz
IGFyZSBib3RoIG9wdGlvbmFsDQo+ICAgbGVhdmVzLiBBcmUgeW91IHByZXBhcmluZyBmb3IgVExT
IHNlcnZlcnMgd2hpY2ggYXJlIG5vdCBnb2luZyB0byBiZQ0KPiAgIGF1dGhlbnRpY2F0ZWQgKGku
ZS4sIHdpdGggbnVsbCBhdXRoZW50aWNhdGlvbiBjaXBoZXIgc3VpdGVzKT8gQXNraW5nDQo+ICAg
YmVjYXVzZSB0aGUgaWV0Zi10bHMtc2VydmVyIGhhcyB0aGUgY2VydGlmaWNhdGUgbGlzdCB3aXRo
IG1pbi1lbGVtZW50cw0KPiAgIDEuDQo+ICAgMi4gIEluIGNhc2UgSSB3b3VsZCBsaWtlIHRvIGF2
b2lkIG51bGwgYXV0aGVudGljYXRpb24gYW5kIHJlcXVpcmUgYXQNCj4gICBsZWFzdCBvbmUgaW5z
dGFuY2Ugb2YgdHJ1c3RlZC1jYS1jZXJ0cyBvciB0cnVzdGVkLXNlcnZlci1jZXJ0cyBJ4oCZbSBu
b3QNCj4gICBzdXJlIGhvdyB0byBkbyBpdC4gSSB3b25kZXIgaWYgdGhpcyBkaXN0aW5jdGlvbiBi
ZXR3ZWVuIENBIGFuZCBzZXJ2ZXINCj4gICBjZXJ0aWZpY2F0ZXMgaXMgbmVlZGVkLCBhbmQgaWYg
eWVzLCBjb3VsZCB0aGVzZSB0d28gYmUgd2l0aGluIGEgbGlzdA0KPiAgIG9mIGNob2ljZXMgc28g
SSBjYW4gcmVxdWlyZSBhdCBsZWFzdCBvbmUgbGlzdCBlbGVtZW50PyBXaGF0IGRvIHlvdQ0KPiAg
IHN1Z2dlc3Q/DQo+ICAgMy4gIFNob3VsZG7igJl0IGl0IGJlIG1lbnRpb25lZCBpbiB0aGUgZGVz
Y3JpcHRpb24gb2YgdHJ1c3RlZC1jYS1jZXJ0cw0KPiAgIGFuZCB0cnVzdGVkLXNlcnZlci1jZXJ0
cyB0aGF0IHRoZSBzdWJqZWN0YWx0bmFtZSBvciB0aGUgc3ViamVjdCBmaWVsZHMNCj4gICBmcm9t
IHRoZSBwZWVyIGNlcnRpZmljYXRlIHJlY2VpdmVkIGF0IFRMUyBoYW5kc2hha2UgbXVzdCBtYXRj
aCB0aGUNCj4gICBzZXJ2ZXIgaG9zdCBhZGRyZXNzLCBhbmQgdGhhdCB0aGlzIGlzIGVzcGVjaWFs
bHkgaW1wb3J0YW50IGluIHRoZSBDQQ0KPiAgIGNhc2U/DQo+IA0KPiBCciwNCj4gQmFsw6F6cw0K
PiANCg==


From nobody Wed May 31 07:23:20 2017
Return-Path: <akatlas@gmail.com>
X-Original-To: netconf@ietf.org
Delivered-To: netconf@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 54F4F1252BA; Wed, 31 May 2017 07:23:18 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Alia Atlas <akatlas@gmail.com>
To: "The IESG" <iesg@ietf.org>
Cc: netconf-chairs@ietf.org, netconf@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.52.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <149624059825.19896.15661453022754680750.idtracker@ietfa.amsl.com>
Date: Wed, 31 May 2017 07:23:18 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/lRFNGCLudLIP02mbQC_R_immsT4>
Subject: [Netconf] Alia Atlas' Yes on charter-ietf-netconf-18-13
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 14:23:18 -0000

Alia Atlas has entered the following ballot position for
charter-ietf-netconf-18-13: Yes

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)



The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/charter-ietf-netconf/


There are no remarks associated with this position.





From nobody Wed May 31 10:12:03 2017
Return-Path: <iesg-secretary@ietf.org>
X-Original-To: netconf@ietf.org
Delivered-To: netconf@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 1A97212426E; Wed, 31 May 2017 10:11:56 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: The IESG <iesg-secretary@ietf.org>
To: "IETF-Announce" <ietf-announce@ietf.org>
X-Test-IDTracker: no
X-IETF-IDTracker: 6.52.0
Auto-Submitted: auto-generated
Precedence: bulk
Cc: netconf@ietf.org 
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-ID: <149625071606.19771.9382857054987787714.idtracker@ietfa.amsl.com>
Date: Wed, 31 May 2017 10:11:56 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gAmMZIaJ7p59SOV_uBsVEjjwDPs>
Subject: [Netconf] WG Review: Network Configuration (netconf)
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 17:11:56 -0000

The Network Configuration (netconf) WG in the Operations and Management
Area of the IETF is undergoing rechartering. The IESG has not made any
determination yet. The following draft charter was submitted, and is
provided for informational purposes only. Please send your comments to
the IESG mailing list (iesg@ietf.org) by 2017-06-07.

Network Configuration (netconf)
-----------------------------------------------------------------------
Current status: Active WG

Chairs:
  Mahesh Jethanandani <mjethanandani@gmail.com>
  Mehmet Ersue <mersue@gmail.com>

Assigned Area Director:
  Benoit Claise <bclaise@cisco.com>

Operations and Management Area Directors:
  Warren Kumari <warren@kumari.net>
  Benoit Claise <bclaise@cisco.com>
 
Mailing list:
  Address: netconf@ietf.org
  To subscribe: https://www.ietf.org/mailman/listinfo/netconf
  Archive: https://mailarchive.ietf.org/arch/browse/netconf/

Group page: https://datatracker.ietf.org/group/netconf/

Charter: https://datatracker.ietf.org/doc/charter-ietf-netconf/

The NETCONF Working Group, previously named after the NETCONF protocol,
now renamed as the NETwork CONFiguration Working Group, is responsible
for the development and maintenance of protocols for YANG data model
driven management, for the necessary framework where these protocols run,
and for the YANG modules that formalize protocol behavior and are
required from a protocol perspective. 

The NETCONF protocol (RFC 6241) provides mechanisms to install,
manipulate, and delete the configuration of network devices. NETCONF is
based on secure transport (SSH is mandatory to implement while TLS is an
optional transport). The NETCONF protocol is data modeling language
independent, but YANG (RFC 7950) is the recommended NETCONF data modeling
language, which introduces advanced language features for configuration
management.

The NETCONF WG recently finalized the development of the RESTCONF
protocol (RFC 8040) which provides an interface over HTTPS for accessing
data defined in YANG. RESTCONF is based on the capabilities of, and uses
the datastore concept defined in, the NETCONF protocol specification. In
support of RESTCONF the YANG Patch (RFC 8072) mechanism has been provided
for applying patches to configuration datastores. The YANG Module Library
(RFC 7895) provides information about all YANG modules used by a network
management server.

Last but not least NETCONF and RESTCONF Call Home (RFC 8071) have been
developed, which enable a server to initiate a secure connection to a
NETCONF or RESTCONF client respectively.

In the current phase of NETCONF's incremental development the Working
Group will focus on following items:

1. Finalize the YANG data module for a system-level keystore mechanism,
which can be used to hold asymmetric private keys and certificates that
are trusted by the system advertising support for this module. Based on
the known dependencies this draft has the highest priority for the WG. 

2. Finalize Server and Client Configuration YANG modules for both NETCONF
and RESTCONF as well as the Client and Server Models for SSH and TLS. 

3. Finalize the Zero-touch provisioning for NETCONF or RESTCONF-based
Management as a technique to establish a secure network management
relationship between a newly delivered network device configured with
just its factory default settings, and the Network Management System. 

4. Provide a revised version of RFC 6536 (NETCONF Access Control Model)
by adding support for RESTCONF and for YANG 1.1 constructs like "action"
and the (locally-scoped) "notification" statements. 

5. Provide a set of documents enabling advanced notification/subscription
capabilities, which gracefully co-exist with deployments of RFC 5277. The
new capabilities include transport independence and multiple dynamic and
configured subscriptions in a single transport session. RFC 5277 will be
obsoleted in parallel with the publication of the new document set. The
following specifications will be published:
   - A protocol-neutral notification framework, explaining the concepts
of subscriptions, filters, subscription state notifications, replay, etc.
and defining the associated YANG data model, RPCs, etc.
   - Definition of notifications sent over NETCONF and HTTP. Examples for
the encoding of YANG notifications in XML and JSON will be given and
considerations for parallel support and implementation compatibility with
RFC 5277 will be included.
   - Definition of notifications sent over RESTCONF and HTTP2 and of how
YANG notifications are encoded in XML and JSON, including specifics of
call-home and heartbeat for subscriptions.
   - The subscription and push mechanism for YANG datastores allowing
subscriber applications to request updates from a YANG datastore.
   - Definition of transport agnostic notification headers and of a
mechanism for bundling multiple YANG notifications into a single
transport message.

6. Based on the revised datastore concept work in NETMOD, provide a
revision for the NETCONF and RESTCONF protocols and the used datastore
framework. 

7. Coordinate with I2RS to support the I2RS profile use of RESTCONF and,
optionally, NETCONF, and the I2RS dynamic datastore(s).

Based on the implementation, deployment experience and interoperability
testing, the WG aims to produce a NETCONF status report in a later stage.
The result may be clarifications for RFC6241 and RFC6242 and addressing
any reported errata.


Proposed Milestones: 

May 2017 WGLC for Zero-touch configuration mechanism

Jun 2017 Submit Zero-touch configuration to AD/IESG for consideration as
Proposed Standard

May 2017 WGLC for system-level keystore mechanism

Jun 2017 Submit keystore mechanism to AD/IESG for consideration as
Proposed Standard

May 2017 WGLC for Server and Client models for NETCONF and RESTCONF

Jun 2017 Submit Server and Client Configuration models to AD/IESG for
consideration as Proposed Standard

May 2017 WGLC for Client and Server Models for SSH and TLS

Jun 2017 Submit Client and Server Models for SSH and TLS to AD/IESG for
consideration as Proposed Standard

Jun 2017 WGLC for RFC 6536bis (NETCONF Access Control Model)

Jul 2017 Submit RFC 6536bis to AD/IESG for consideration as Proposed
Standard

Jun 2017 WGLC for advanced Notification/Subscription specifications

Jul 2017 Submit Notification/Subscription specifications to AD/IESG for
consideration as 
Proposed Standard


From nobody Wed May 31 11:07:48 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B14B3126CD6 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:07:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.022
X-Spam-Level: 
X-Spam-Status: No, score=-2.022 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FEkldhPOiUx9 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:07:44 -0700 (PDT)
Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0098.outbound.protection.outlook.com [104.47.41.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E21CB12706D for <netconf@ietf.org>; Wed, 31 May 2017 11:07:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=NVAX2BWjtJc/k8vLA6tq2Gu+ruMfdnUsVevV97INgb8=; b=QGiz7JSi4xHxaVSFhb+zGCmsF/hahXgdtMQzNZ7hcrrKUMXjG0wBEb2odnd7LHs3W+6CoTOSrCzkBTl9CuOdBOL7CEkLGcnU3RgxHa95Xj+HeeakvnK7s5Ax+D+aFyP0n9KIjNJjKXPpX9fE43fjAy9KVox5NeqNdUF9FBmhB60=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1444.namprd05.prod.outlook.com (10.160.117.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 18:07:42 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1143.010; Wed, 31 May 2017 18:07:42 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: =?utf-8?B?QmFsw6F6cyBLb3bDoWNz?= <balazs.kovacs@ericsson.com>, "Martin Bjorklund" <mbj@tail-f.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
Thread-Index: AdLZJHoqvQcGrWQQSX2+6K8ptz0IxQAKK0AAACS6YcAAAT2AgAAHHiOQAAVxPIA=
Date: Wed, 31 May 2017 18:07:42 +0000
Message-ID: <82B35800-40E5-43B2-B63A-B6F8AFD8E350@juniper.net>
References: <DB4PR07MB05096FEFED88764EA3DBC21783F00@DB4PR07MB0509.eurprd07.prod.outlook.com> <97423DDE-A852-476C-AC87-7115043D3E34@juniper.net> <DB4PR07MB050923311EA3BDCB717FBEB683F10@DB4PR07MB0509.eurprd07.prod.outlook.com> <20170531.100803.1656646185181037402.mbj@tail-f.com> <DB4PR07MB05095B7A8989B100AB78EEB583F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
In-Reply-To: <DB4PR07MB05095B7A8989B100AB78EEB583F10@DB4PR07MB0509.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: ericsson.com; dkim=none (message not signed) header.d=none;ericsson.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1444; 7:tbS6F7cGIXshhdIBdCVjcePMAzVqyQmbzoDGz7h+l0hoUV2ZK6q5NmMioKaRAzWzmon4+MauLvMLx3A+ccnv/sc+OKVKBczpA1/Koq5FK40XYNaP6QBuy+Hg99S01sYPx9IaU9j7Bp/Lr0D901HS0uQUjQl6yIeP0Hn2mZARfzbW1Ts109dQRn2BwaTbeAbWrdkiG5K/JSX/x4i5U2E/9ALFoDlnQu0GQEdGLZh/DVMTBYdy4OU1hiMMwKHAyL9dccrTNpcWqtnbBD7/m4OcMvJUDaufjceswh97P9Ib9QMduLHN90UE1ZlHr2qBG0dgP0D+TnkDF5B9Q7x01Dze+g==
x-ms-traffictypediagnostic: BN3PR0501MB1444:
x-ms-office365-filtering-correlation-id: 615ebd68-967a-48cb-2b78-08d4a84feee4
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:BN3PR0501MB1444; 
x-microsoft-antispam-prvs: <BN3PR0501MB1444AEA7A78CAE06D257F459A5F10@BN3PR0501MB1444.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(37575265505322)(158342451672863)(138986009662008); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(6072148); SRVR:BN3PR0501MB1444; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1444; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39400400002)(39410400002)(39450400003)(39840400002)(39850400002)(39860400002)(377454003)(52314003)(377424004)(13464003)(25584004)(5423002)(24454002)(99286003)(561944003)(6306002)(33656002)(36756003)(2900100001)(6246003)(3280700002)(229853002)(54356999)(478600001)(6436002)(76176999)(6512007)(93886004)(966005)(53936002)(4001350100001)(5660300001)(305945005)(14454004)(50986999)(6506006)(230783001)(3660700001)(77096006)(7736002)(6486002)(8936002)(83506001)(189998001)(81166006)(4326008)(83716003)(66066001)(122556002)(6116002)(53546009)(102836003)(3846002)(82746002)(2950100002)(8676002)(86362001)(38730400002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1444; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <CB2DA472082EDA4EADB41BA25EE07E2C@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 18:07:42.9114 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1444
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/XX1ApEVDn8llAKhv_UXixGkx22g>
Subject: Re: [Netconf] ietf-tls-client@2017-03-13, some questions and comments
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 18:07:47 -0000

DQoNCj4gVGhhbmsgeW91IE1hcnRpbi4NCg0KSW5kZWVkLCBidXQgd291bGQgdGhlIGNvdW50KCkg
YXBwcm9hY2ggbm90IHdvcms/ICBJIHdhcyB3b3JyaWVkDQphYm91dCBmdXR1cmUgdXBkYXRlcywg
YnV0IGEgcXVpY2sgbG9vayBhdCA3OTUwIHMuMTEgc2hvd3M6DQoNCiAgIG8gIEEgIm11c3QiIHN0
YXRlbWVudCBtYXkgYmUgcmVtb3ZlZCBvciBpdHMgY29uc3RyYWludCByZWxheGVkLg0KDQpBbmQg
SSBndWVzcyBnb2luZyBmcm9tIG11c3QgJ0Egb3IgQicgdG8gbXVzdCAnQSBvciBCIG9yIEMnIGNh
biBiZQ0KY29uc2lkZXJlZCBhIHJlbGF4YXRpb24gb2YgdGhlIGNvbnN0cmFpbnQuLi4NCg0KDQo+
IEtlbnQsIHdpbGwgeW91IGFkZCB0aGUgcHJvcG9zYWwgb2YgTWFydGluIHRvIHRoZSBuZXh0IHZl
cnNpb24/DQoNCkkndmUgdXBkYXRlZCBteSBsb2NhbCBjb3B5LiAgSSBhbHNvIHVwZGF0ZWQgdGhl
IHRscy1zZXJ2ZXIgbW9kdWxlLA0KYXMgd2VsbCBhcyBib3RoIHRoZSBzc2gtY2xpZW50IGFuZCBz
c2gtc2VydmVyIG1vZHVsZXMuIA0KDQoNCj4gUmVnYXJkaW5nIGlzc3VlICMzLCB5b3UncmUgcmln
aHQsIFJGQzYxMjUgZXhwbGFpbnMgcmVmZXJlbmNlIA0KPiBpZGVudGl0aWVzIGFuZCBtYXRjaGlu
ZyByZXF1aXJlbWVudHM7IGhvd2V2ZXIsIEkgdGhpbmsgYSANCj4gcmVmZXJlbmNlIGNvdWxkIGJl
IHVzZWZ1bCB0byBpZGVudGlmeSBjZXJ0aWZpY2F0aW9uIGF0dHJpYnV0ZQ0KPiByZXF1aXJlbWVu
dHMgZm9yIHNlcnZlciBpZGVudGl0aWVzLiANCg0KSSB0aGluayB0aGF0IFBLSVggaGFzIGEgZ2F6
aWxsaW9uIHJ1bGVzIHRoYXQgSSdkIHJhdGhlciBub3QgDQpyZXBlYXQuICBMb29raW5nIGF0IHRo
ZSBZQU5HLCBJIG5vdGljZWQgdGhhdCAndHJ1c3RlZC1jYS1jZXJ0cycNCmRlc2NyaXB0aW9uIHdh
cyBtaXNzaW5nIGEgc3RhdGVtZW50LCB3aGljaCBJIGp1c3QgYWRkZWQgaW4gbXkNCmxvY2FsIGNv
cHk6DQoNCiAgICAgICAgICAgQSBzZXJ2ZXIgY2VydGlmaWNhdGUgaXMNCiAgICAgICAgICAgYXV0
aGVudGljYXRlZCBpZiBpdCBoYXMgYSB2YWxpZCBjaGFpbiBvZiB0cnVzdCB0bw0KICAgICAgICAg
ICBhIGNvbmZpZ3VyZWQgdHJ1c3RlZCBDQSBjZXJ0aWZpY2F0ZS4gDQoNCkkgbWFkZSB0aGUgc2Ft
ZSBjaGFuZ2UgdG8gYm90aCB0bHMtY2xpZW50IGFuZCBzc2gtY2xpZW50LCB0aGUNCmxhdHRlciBv
ZiB3aGljaCBtYWRlIGl0IGFwcGFyZW50IHRoYXQgdGhlIHN0YXRlbWVudCB3YXMgbWlzc2luZy4N
CkFueXdheSwgaXMgdGhpcyB3aGF0IHlvdSBoYWQgaW4gbWluZD8NCg0KDQo+IFdvdWxkIGl0IGJl
IGFwcHJvcHJpYXRlDQo+IHRvIGhhdmUgc3VjaCBhIHJlZmVyZW5jZSBhdCBnZW5lcmF0ZS1jZXJ0
aWZpY2F0ZS1zaWduaW5nLXJlcXVlc3QNCj4gb2YgaWV0Zi1rZXlzdG9yZT8NCg0KZ2VuZXJhdGUt
Y2VydGlmaWNhdGUtc2lnbmluZy1yZXF1ZXN0IGhhcyB0d28gcGFyYW1zOiBzdWJqZWN0IGFuZA0K
YXR0cmlidXRlcywgYm90aCBvZiB3aGljaCB3b3VsZCBwcmVzdW1hYmx5IChkZXBlbmRpbmcgb24g
dGhlIENBKQ0KZ28gaW50byB0aGUgZmluYWwgY2VydGlmaWNhdGUgdGhhdCB3b3VsZCBiZSByZXR1
cm5lZCB0byB0aGUgZGV2aWNlLA0Kc28gdGhhdCBpdCBjYW4gcHJlc2VudCBpdCB3aGVuIGVzdGFi
bGlzaGluZyBTU0ggb3IgVExTLCBjbGllbnQgb3IgDQpzZXJ2ZXIsIGNvbm5lY3Rpb25zLiAgSGVy
ZSB5b3Ugd291bGQgbGlrZSBhIHN0YXRlbWVudCBsaWtlOg0KDQogICJUaGUgc3BlY2lmaWVkIGFz
c2VydGlvbnMgbmVlZCB0byBiZSBhcHByb3ByaWF0ZSBmb3IgdGhlDQogICBjZXJ0aWZpY2F0ZSdz
IHVzZS4gIEZvciBleGFtcGxlLCBhbiBlbnRpdHkgY2VydGlmaWNhdGUgZm9yDQogICBhIFRMUyBz
ZXJ2ZXIgc2hvdWxkIGhhdmUgc3ViamVjdCBhbmQgc3ViamVjdEFsdE5hbWUgdmFsdWVzDQogICBz
YXRpc2Z5aW5nIFJGQyA2MTI1IHByb2Nlc3NpbmcuIj8NCg0KTm90ZSwgZ2VuZXJhdGUtY2VydGlm
aWNhdGUtc2lnbmluZy1yZXF1ZXN0IG1pZ2h0IGJlIHVzZWQgdG8gDQpnZW5lcmF0ZSBjZXJ0aWZp
Y2F0ZXMgZm9yIG90aGVyIHVzZSBjYXNlcyB0b28gKGUuZy4sIGVtYWlsKS4NCg0KDQo+IEJyLA0K
PiBCYWzDoXpzDQoNCktlbnQNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTog
TWFydGluIEJqb3JrbHVuZCBbbWFpbHRvOm1iakB0YWlsLWYuY29tXSANClNlbnQ6IFdlZG5lc2Rh
eSwgTWF5IDMxLCAyMDE3IDEwOjA4IEFNDQpUbzogQmFsw6F6cyBLb3bDoWNzIDxiYWxhenMua292
YWNzQGVyaWNzc29uLmNvbT4NCkNjOiBuZXRjb25mQGlldGYub3JnDQpTdWJqZWN0OiBSZTogW05l
dGNvbmZdIGlldGYtdGxzLWNsaWVudEAyMDE3LTAzLTEzLCBzb21lIHF1ZXN0aW9ucyBhbmQgY29t
bWVudHMNCg0KSGksDQoNCkJhbMOhenMgS292w6FjcyA8YmFsYXpzLmtvdmFjc0Blcmljc3Nvbi5j
b20+IHdyb3RlOg0KPiBmeWkNCj4gDQo+IEZyb206IEtlbnQgV2F0c2VuIFttYWlsdG86a3dhdHNl
bkBqdW5pcGVyLm5ldF0NCj4gU2VudDogVHVlc2RheSwgTWF5IDMwLCAyMDE3IDg6MDEgUE0NCj4g
VG86IEJhbMOhenMgS292w6FjcyA8YmFsYXpzLmtvdmFjc0Blcmljc3Nvbi5jb20+DQo+IENjOiBC
YWzDoXpzIExlbmd5ZWwgPGJhbGF6cy5sZW5neWVsQGVyaWNzc29uLmNvbT4NCj4gU3ViamVjdDog
UmU6IGlldGYtdGxzLWNsaWVudEAyMDE3LTAzLTEzLCBzb21lIHF1ZXN0aW9ucyBhbmQgY29tbWVu
dHMNCj4gDQo+IFBlciB5b3VyIHF1ZXN0aW9uczoNCj4gDQo+IDEuIEkgYW0gbm90IHRyeWluZyB0
byBzdXBwb3J0IG51bGwtYXV0aGVudGljYXRpb24gY2lwaGVyIHN1aXRlcy4gIEluIA0KPiBwcmFj
dGljZSwgSSBleHBlY3QgKm9uZSogb3IgKmJvdGgqIHRydXN0ZWQtY2EtY2VydHMgYW5kIA0KPiB0
cnVzdGVkLXNlcnZlci1jZXJ0cyB0byBiZSBjb25maWd1cmVkLCBidXQgbm90ICpuZWl0aGVyKi4g
IEknbSBub3QgDQo+IHN1cmUgaG93IHRvIHJlcHJlc2VudCB0aGF0IGluIFlBTkcsIG1heWJlIGEg
bXVzdCBleHByZXNzaW9uIHVzaW5nIHRoZQ0KPiBjb3VudCgpIHhwYXRoIGZ1bmN0aW9uPyAgbXVz
dCAnY291bnQoLi8qKSA+IDAnPw0KDQpJdCBjYW4gYmUgZG9uZSBsaWtlIHRoaXM6DQoNCiAgY29u
dGFpbmVyIHNlcnZlci1hdXRoIHsNCiAgICBsZWFmIHRydXN0ZWQtY2EtY2VydHMgeyAuLi4gfQ0K
ICAgIGxlYWYgdHJ1c3RlZC1zZXJ2ZXItY2VydHMgeyAuLi4gfQ0KDQogICAgbXVzdCAndHJ1c3Rl
ZC1jYS1jZXJ0cyBvciB0cnVzdGVkLXNlcnZlci1jZXJ0cyc7DQoNCiAgfQ0KDQoNCi9tYXJ0aW4N
Cg0KDQoNCg0KPiAyLiBzZWUgIzENCj4gDQo+IDMuIEknbSBub3Qgc3VyZSBpZiBpdCBuZWVkcyB0
byBiZSBtZW50aW9uZWQgaW4gdGhpcyBkb2N1bWVudC4gIEFscmVhZHkgDQo+IFJGQyA2MTI1IHNh
eXMgdGhpcywgeWVzPw0KPiANCj4gUFM6IEkgd2lzaCB0aGF0IHlvdSB3b3VsZCBzZW5kIHRoZXNl
IHF1ZXN0aW9ucyB0byB0aGUgTkVUQ09ORiBsaXN0LCBhcyANCj4gaXQgaXMgZ2VuZXJhbGx5IGdv
b2QgZm9yIHRoZSBXRyB0byBzZWUgdGhlIFEmQSB0b28uDQo+IA0KPiBUaGFua3MsDQo+IEtlbnQN
Cj4gDQo+IA0KPiBPbiA1LzMwLzE3LCA1OjE5IEFNLCAiQmFsw6F6cyBLb3bDoWNzIg0KPiA8YmFs
YXpzLmtvdmFjc0Blcmljc3Nvbi5jb208bWFpbHRvOmJhbGF6cy5rb3ZhY3NAZXJpY3Nzb24uY29t
Pj4gd3JvdGU6DQo+IA0KPiBIaSBLZW50LA0KPiANCj4gSeKAmW0gc3R1ZHlpbmcgdGhlIG1vZHVs
ZSBpbiBzdWJqZWN0IGFuZCBoYXZlIGEgY291cGxlIG9mIHF1ZXN0aW9ucy4NCj4gDQo+IA0KPiAg
IDEuICB0cnVzdGVkLWNhLWNlcnRzIGFuZCB0cnVzdGVkLXNlcnZlci1jZXJ0cyBhcmUgYm90aCBv
cHRpb25hbA0KPiAgIGxlYXZlcy4gQXJlIHlvdSBwcmVwYXJpbmcgZm9yIFRMUyBzZXJ2ZXJzIHdo
aWNoIGFyZSBub3QgZ29pbmcgdG8gYmUNCj4gICBhdXRoZW50aWNhdGVkIChpLmUuLCB3aXRoIG51
bGwgYXV0aGVudGljYXRpb24gY2lwaGVyIHN1aXRlcyk/IEFza2luZw0KPiAgIGJlY2F1c2UgdGhl
IGlldGYtdGxzLXNlcnZlciBoYXMgdGhlIGNlcnRpZmljYXRlIGxpc3Qgd2l0aCBtaW4tZWxlbWVu
dHMNCj4gICAxLg0KPiAgIDIuICBJbiBjYXNlIEkgd291bGQgbGlrZSB0byBhdm9pZCBudWxsIGF1
dGhlbnRpY2F0aW9uIGFuZCByZXF1aXJlIGF0DQo+ICAgbGVhc3Qgb25lIGluc3RhbmNlIG9mIHRy
dXN0ZWQtY2EtY2VydHMgb3IgdHJ1c3RlZC1zZXJ2ZXItY2VydHMgSeKAmW0gbm90DQo+ICAgc3Vy
ZSBob3cgdG8gZG8gaXQuIEkgd29uZGVyIGlmIHRoaXMgZGlzdGluY3Rpb24gYmV0d2VlbiBDQSBh
bmQgc2VydmVyDQo+ICAgY2VydGlmaWNhdGVzIGlzIG5lZWRlZCwgYW5kIGlmIHllcywgY291bGQg
dGhlc2UgdHdvIGJlIHdpdGhpbiBhIGxpc3QNCj4gICBvZiBjaG9pY2VzIHNvIEkgY2FuIHJlcXVp
cmUgYXQgbGVhc3Qgb25lIGxpc3QgZWxlbWVudD8gV2hhdCBkbyB5b3UNCj4gICBzdWdnZXN0Pw0K
PiAgIDMuICBTaG91bGRu4oCZdCBpdCBiZSBtZW50aW9uZWQgaW4gdGhlIGRlc2NyaXB0aW9uIG9m
IHRydXN0ZWQtY2EtY2VydHMNCj4gICBhbmQgdHJ1c3RlZC1zZXJ2ZXItY2VydHMgdGhhdCB0aGUg
c3ViamVjdGFsdG5hbWUgb3IgdGhlIHN1YmplY3QgZmllbGRzDQo+ICAgZnJvbSB0aGUgcGVlciBj
ZXJ0aWZpY2F0ZSByZWNlaXZlZCBhdCBUTFMgaGFuZHNoYWtlIG11c3QgbWF0Y2ggdGhlDQo+ICAg
c2VydmVyIGhvc3QgYWRkcmVzcywgYW5kIHRoYXQgdGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFu
dCBpbiB0aGUgQ0ENCj4gICBjYXNlPw0KPiANCj4gQnIsDQo+IEJhbMOhenMNCj4gDQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KTmV0Y29uZiBtYWlsaW5n
IGxpc3QNCk5ldGNvbmZAaWV0Zi5vcmcNCmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlz
dGluZm8vbmV0Y29uZg0KDQoNCg==


From nobody Wed May 31 11:40:11 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A41DE129AB2 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:40:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.022
X-Spam-Level: 
X-Spam-Status: No, score=-2.022 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6AspFINVn86B for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:40:09 -0700 (PDT)
Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0095.outbound.protection.outlook.com [104.47.42.95]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 14762129A97 for <netconf@ietf.org>; Wed, 31 May 2017 11:39:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=20IcNYxHf3gu2UIjdwOVNyr6D8Ov3OChfOEJHASrdFs=; b=ciPu344c+xXwVUuNBMFgtx3E46fhESk6WmsjilwXQibrxrKcF/M4/zNmbAzYbI7E/F782+frGzQOkSeH7BCByfWQJ7In7XCXphnsMT/a/4e/54DuISn5J0+KynUEQs1tbxr2kIW/N0VJeUJejrIOWM6D+kCo7lrE6/5T8KY9ZZs=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1444.namprd05.prod.outlook.com (10.160.117.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 18:39:50 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1143.010; Wed, 31 May 2017 18:39:50 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
Thread-Index: AQHS2juq7T4lAeTJMEyDcLk+iEl6MaIOgwuA
Date: Wed, 31 May 2017 18:39:50 +0000
Message-ID: <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net>
References: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com>
In-Reply-To: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1444; 7:dE6/rc/bjqv1Ml4Mz5iiFExapP37gwrwIx1SUfqGAMYDhzv8V/cIEvO70mZ4Qft0jjkiFReuh+kSld+liQvraLW7oixv1nVtToSYYkdsO/Ev930afqT3jNt6KaWCqI4A4X/jIpkltdCFoLJPTLQ0i6qXGLvEN6qs+8hO5S9Lh23oiuO6bZbyLbEXilqefyqev9eSJ7GHlRRtzurRNq+ncZ6lVxK14Uw4S/KatuWdliIndeIUWcjgz8Y+jo9eISbhoff0TDcum/l4aEUXp5e/Yena4a4wWJ4LkvYzgDpXe8kVo5e9ts8eFBbCN2h9dQUv7yQg8EI0vnib0TT5HfsO7g==
x-ms-traffictypediagnostic: BN3PR0501MB1444:
x-ms-office365-filtering-correlation-id: 3b6d98d1-30db-47ca-8f58-08d4a8546bf2
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081)(201702281549075); SRVR:BN3PR0501MB1444; 
x-microsoft-antispam-prvs: <BN3PR0501MB1444F1F5D48E733C7450FB8BA5F10@BN3PR0501MB1444.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(120809045254105);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123560025)(20161123562025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(6072148); SRVR:BN3PR0501MB1444; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1444; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39410400002)(39400400002)(39850400002)(39840400002)(39860400002)(39450400003)(377424004)(99286003)(6306002)(33656002)(36756003)(2900100001)(2351001)(6246003)(3280700002)(229853002)(54356999)(478600001)(6436002)(76176999)(6512007)(53936002)(966005)(4001350100001)(5660300001)(14454004)(6506006)(50986999)(230783001)(77096006)(3660700001)(7736002)(305945005)(6486002)(2501003)(8936002)(83506001)(189998001)(81166006)(83716003)(66066001)(122556002)(6116002)(102836003)(3846002)(82746002)(2950100002)(15650500001)(8676002)(86362001)(1730700003)(110136004)(38730400002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1444; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <CEAFBF60F41686439AA070D2DA5C41EB@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 18:39:50.7391 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1444
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/LV7TfXBY7iolbseBwqwFFWbEYuw>
Subject: Re: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 18:40:11 -0000

DQpBIHByb3Bvc2VkIHJmYzc4OTViaXMgaGFzIGJlZW4gcG9zdGVkLCB0byB1cGRhdGUgWUFORyBM
aWJyYXJ5IHRvDQpzdXBwb3J0IHRoZSByZXZpc2VkLWRhdGFzdG9yZXMgZHJhZnQuDQoNCldvdWxk
IHRoZSBjaGFpcnMga2luZGx5IGNvbnNpZGVyIGluaXRpYXRpbmcgYSBwb2xsIHRvIGFkb3B0IHRo
aXMNCmRyYWZ0IGFzIGEgV0cgaXRlbT8NCg0KVGhhbmtzLA0KS2VudA0KDQoNCi0tLS0tT1JJR0lO
QUwgTUVTU0FHRS0tLS0tDQoNCkEgbmV3IHZlcnNpb24gb2YgSS1ELCBkcmFmdC1ubWRzZHQtbmV0
Y29uZi1yZmM3ODk1YmlzLTAwLnR4dA0KaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHN1Ym1pdHRlZCBi
eSBLZW50IFdhdHNlbiBhbmQgcG9zdGVkIHRvIHRoZQ0KSUVURiByZXBvc2l0b3J5Lg0KDQpOYW1l
OgkJZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcw0KUmV2aXNpb246CTAwDQpUaXRsZToJ
CVlBTkcgTW9kdWxlIExpYnJhcnkNCkRvY3VtZW50IGRhdGU6CTIwMTctMDUtMzANCkdyb3VwOgkJ
SW5kaXZpZHVhbCBTdWJtaXNzaW9uDQpQYWdlczoJCTE1DQpVUkw6ICAgICAgICAgICAgaHR0cHM6
Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LW5tZHNkdC1uZXRjb25mLXJmYzc4
OTViaXMtMDAudHh0DQpTdGF0dXM6ICAgICAgICAgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9y
Zy9kb2MvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy8NCkh0bWxpemVkOiAgICAgICBo
dHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJp
cy0wMA0KSHRtbGl6ZWQ6ICAgICAgIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0
bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy0wMA0KDQoNCkFic3RyYWN0Og0KICAg
VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgYSBZQU5HIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBpbmZv
cm1hdGlvbg0KICAgYWJvdXQgYWxsIHRoZSBZQU5HIG1vZHVsZXMgdXNlZCBieSBhIG5ldHdvcmsg
bWFuYWdlbWVudCBzZXJ2ZXIgKGUuZy4sDQogICBhIE5ldHdvcmsgQ29uZmlndXJhdGlvbiBQcm90
b2NvbCAoTkVUQ09ORikgc2VydmVyKS4gIFNpbXBsZSBjYWNoaW5nDQogICBtZWNoYW5pc21zIGFy
ZSBwcm92aWRlZCB0byBhbGxvdyBjbGllbnRzIHRvIG1pbmltaXplIHJldHJpZXZhbCBvZg0KICAg
dGhpcyBpbmZvcm1hdGlvbi4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQoNClBsZWFz
ZSBub3RlIHRoYXQgaXQgbWF5IHRha2UgYSBjb3VwbGUgb2YgbWludXRlcyBmcm9tIHRoZSB0aW1l
IG9mIHN1Ym1pc3Npb24NCnVudGlsIHRoZSBodG1saXplZCB2ZXJzaW9uIGFuZCBkaWZmIGFyZSBh
dmFpbGFibGUgYXQgdG9vbHMuaWV0Zi5vcmcuDQoNClRoZSBJRVRGIFNlY3JldGFyaWF0DQoNCg0K
DQo=


From nobody Wed May 31 11:53:18 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C161B129412 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:53:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id khQQ8pRVPQMr for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 11:53:15 -0700 (PDT)
Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5D54A126B72 for <netconf@ietf.org>; Wed, 31 May 2017 11:53:14 -0700 (PDT)
Received: by mail-wm0-x235.google.com with SMTP id 7so129724555wmo.1 for <netconf@ietf.org>; Wed, 31 May 2017 11:53:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=58pQKa4Lkb6xV2gt++6btEfy9mBIqyQup6KyQ4qwcgc=; b=Dre7EvCoNNqH+9KaPixid3K8bjRB70PVEvKkuOR3Y2H82ZY4/ZBNeTJQm7MQJpY6tt +I4pJ5cYQqsLQHLHXWJu58zaxnabux60LMfbv0gH9I4VZVTwM9f2xYXNU5PhXSIXTBFj aWyUlwDx9WurIPMgzmQWtgPVPDycIPia+bLuU7q/jaeFqoEIQzoiXVZBfCt0tzx5iu19 Rg/UaknfhOzRLUmJl98pcxigK6wKexQVbxKe1xyoj31ZySBfo1XawjilMAZTCIku7KZ6 r/UeZYopTxU0GR2fG9dL738WUcGNvFL4e1j64fpkA6yNMv0gBjIXssBgMHLAlNQ3BVFl jWIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=58pQKa4Lkb6xV2gt++6btEfy9mBIqyQup6KyQ4qwcgc=; b=PcZIRHfRrCTD3Bul4zAe7PIDWDkZmCLxSbRWUzcIU1ZIvtalOnVRdP40f/twNtzi7V +4oPu/DzVt1UIfbxlPva8FnJwNJGDEKsTg9QoEru9266Yv6HupJCrNaY89mo2qjVg/nt E6jBkkUB1LKdSObN4SB6lohUf2NO7WnJtgAvy0VTpahSRptqj05sOCV7Y1dA+//99mlj 8b9yxwCJhSCgsQUIjO6ydiU59dinBzDNp5uU1K3V1KD7O9iyQQ4OxLT1vY3P6IrG37Gm YE2YfA7ott2ofzo8eN9kDurGk4lftsCR27xX6Af/MT372LZqvx1N5n/rxhv+/m01Ftsi 0rkA==
X-Gm-Message-State: AODbwcBUn8mBoc6byi4PTzWNiEu1VIPN809AiIjCwZjFJpoxAdWKPRs/ xl1vLkLUq+TxReDv/JfNi0WodQo0TrIvZVA=
X-Received: by 10.28.211.85 with SMTP id k82mr6714226wmg.48.1496256792880; Wed, 31 May 2017 11:53:12 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 31 May 2017 11:53:12 -0700 (PDT)
In-Reply-To: <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net>
References: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com> <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 31 May 2017 11:53:12 -0700
Message-ID: <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a11471318a212850550d66e5f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/kExFPp8HcifY0SeGeJHUvC27unQ>
Subject: Re: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 18:53:18 -0000

--001a11471318a212850550d66e5f
Content-Type: text/plain; charset="UTF-8"

Hi,

This appears to add 1 top-level container to the YANG Module Library
This new container can be in its own module, in another RFC.

    container datastores {
       config false;
       description
         "Identifies which datastores are supported by this server.";
       leaf-list datastore {
         type identityref {
           base ds:datastore;
         }
         description
           "A datastore supported by this server.";
       }
     }



I do not see why this top-level YANG subtree is related to the YANG module
library.
It is not linked in any way to the /modules-state subtree.

IMO this will confuse people since it is not obvious that something
called the YANG module library would contain a list of datastores.

One might expect to find the datastore list in /netconf-state/datastores
since that's where its been for 7 years.

Also the text says "supported by this server".  What protocol is "this
server"?
What if there are multiple protocols and not all datastores are accessible
in all protocols?


Andy




On Wed, May 31, 2017 at 11:39 AM, Kent Watsen <kwatsen@juniper.net> wrote:

>
> A proposed rfc7895bis has been posted, to update YANG Library to
> support the revised-datastores draft.
>
> Would the chairs kindly consider initiating a poll to adopt this
> draft as a WG item?
>
> Thanks,
> Kent
>
>
> -----ORIGINAL MESSAGE-----
>
> A new version of I-D, draft-nmdsdt-netconf-rfc7895bis-00.txt
> has been successfully submitted by Kent Watsen and posted to the
> IETF repository.
>
> Name:           draft-nmdsdt-netconf-rfc7895bis
> Revision:       00
> Title:          YANG Module Library
> Document date:  2017-05-30
> Group:          Individual Submission
> Pages:          15
> URL:            https://www.ietf.org/internet-drafts/draft-nmdsdt-netconf-
> rfc7895bis-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-nmdsdt-netconf-
> rfc7895bis/
> Htmlized:       https://tools.ietf.org/html/draft-nmdsdt-netconf-
> rfc7895bis-00
> Htmlized:       https://datatracker.ietf.org/
> doc/html/draft-nmdsdt-netconf-rfc7895bis-00
>
>
> Abstract:
>    This document describes a YANG library that provides information
>    about all the YANG modules used by a network management server (e.g.,
>    a Network Configuration Protocol (NETCONF) server).  Simple caching
>    mechanisms are provided to allow clients to minimize retrieval of
>    this information.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--001a11471318a212850550d66e5f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>This appears to add 1 top-level con=
tainer to the YANG Module Library</div><div>This new container can be in it=
s own module, in another RFC.<br></div><div><br></div><div><pre style=3D"co=
lor:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">    container dat=
astores {
       config false;
       description
         &quot;Identifies which datastores are supported by this server.&qu=
ot;;
       leaf-list datastore {
         type identityref {
           base ds:datastore;
         }
         description
           &quot;A datastore supported by this server.&quot;;
       }
     }
</pre></div><div><br></div><div><br></div><div>I do not see why this top-le=
vel YANG subtree is related to the YANG module library.</div><div>It is not=
 linked in any way to the /modules-state subtree.</div><div><br></div><div>=
IMO this will confuse people since it is not obvious that something</div><d=
iv>called the YANG module library would contain a list of datastores.</div>=
<div><br></div><div>One might expect to find the datastore list in /netconf=
-state/datastores</div><div>since that&#39;s where its been for 7 years.</d=
iv><div><br></div><div>Also the text says &quot;supported by this server&qu=
ot;.=C2=A0 What protocol is &quot;this server&quot;?</div><div>What if ther=
e are multiple protocols and not all datastores are accessible</div><div>in=
 all protocols?</div><div><br></div><div><br></div><div>Andy</div><div><br>=
</div><div><br></div><div><br></div></div><div class=3D"gmail_extra"><br><d=
iv class=3D"gmail_quote">On Wed, May 31, 2017 at 11:39 AM, Kent Watsen <spa=
n dir=3D"ltr">&lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">=
kwatsen@juniper.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
><br>
A proposed rfc7895bis has been posted, to update YANG Library to<br>
support the revised-datastores draft.<br>
<br>
Would the chairs kindly consider initiating a poll to adopt this<br>
draft as a WG item?<br>
<br>
Thanks,<br>
Kent<br>
<br>
<br>
-----ORIGINAL MESSAGE-----<br>
<br>
A new version of I-D, draft-nmdsdt-netconf-<wbr>rfc7895bis-00.txt<br>
has been successfully submitted by Kent Watsen and posted to the<br>
IETF repository.<br>
<br>
Name:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0draft-nmdsdt-netconf-<wbr>rfc=
7895bis<br>
Revision:=C2=A0 =C2=A0 =C2=A0 =C2=A000<br>
Title:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 YANG Module Library<br>
Document date:=C2=A0 2017-05-30<br>
Group:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Individual Submission<br>
Pages:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 15<br>
URL:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"https://www.ietf.o=
rg/internet-drafts/draft-nmdsdt-netconf-rfc7895bis-00.txt" rel=3D"noreferre=
r" target=3D"_blank">https://www.ietf.org/internet-<wbr>drafts/draft-nmdsdt=
-netconf-<wbr>rfc7895bis-00.txt</a><br>
Status:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://datatracker.iet=
f.org/doc/draft-nmdsdt-netconf-rfc7895bis/" rel=3D"noreferrer" target=3D"_b=
lank">https://datatracker.ietf.org/<wbr>doc/draft-nmdsdt-netconf-<wbr>rfc78=
95bis/</a><br>
Htmlized:=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://tools.ietf.org/html/=
draft-nmdsdt-netconf-rfc7895bis-00" rel=3D"noreferrer" target=3D"_blank">ht=
tps://tools.ietf.org/html/<wbr>draft-nmdsdt-netconf-<wbr>rfc7895bis-00</a><=
br>
Htmlized:=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://datatracker.ietf.org=
/doc/html/draft-nmdsdt-netconf-rfc7895bis-00" rel=3D"noreferrer" target=3D"=
_blank">https://datatracker.ietf.org/<wbr>doc/html/draft-nmdsdt-netconf-<wb=
r>rfc7895bis-00</a><br>
<br>
<br>
Abstract:<br>
=C2=A0 =C2=A0This document describes a YANG library that provides informati=
on<br>
=C2=A0 =C2=A0about all the YANG modules used by a network management server=
 (e.g.,<br>
=C2=A0 =C2=A0a Network Configuration Protocol (NETCONF) server).=C2=A0 Simp=
le caching<br>
=C2=A0 =C2=A0mechanisms are provided to allow clients to minimize retrieval=
 of<br>
=C2=A0 =C2=A0this information.<br>
<br>
<br>
<br>
<br>
Please note that it may take a couple of minutes from the time of submissio=
n<br>
until the htmlized version and diff are available at <a href=3D"http://tool=
s.ietf.org" rel=3D"noreferrer" target=3D"_blank">tools.ietf.org</a>.<br>
<br>
The IETF Secretariat<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</blockquote></div><br></div>

--001a11471318a212850550d66e5f--


From nobody Wed May 31 12:04:18 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 10C50129412 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 12:04:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.022
X-Spam-Level: 
X-Spam-Status: No, score=-2.022 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pcXoSCRwLepQ for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 12:04:15 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0109.outbound.protection.outlook.com [104.47.37.109]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6DC79129353 for <netconf@ietf.org>; Wed, 31 May 2017 12:04:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=xq0S9vtaBUUXjd+CpWySWRtwR9snLTQsdVAzzgRFlLc=; b=RWbXxwDWOplSGWoGEO/OD4VGKyZBUP93dsKaWzcxTUhaYpXispduG2UcK7oy+WoZMImV5XIyFyGKc4Oan9s7VdgJ91y/fiw5GfFusV4Pqxn5PuWdhdfb3k58QQTiorg7XMWWTnivRGAuxk50xdyCCotCKoffRe5UQYS43c6GzIg=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1441.namprd05.prod.outlook.com (10.160.117.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 19:04:14 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1143.010; Wed, 31 May 2017 19:04:14 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: restconf default handling
Thread-Index: AQHS2kCxZQDzMf7NLU6qHXA6aqrlDg==
Date: Wed, 31 May 2017 19:04:14 +0000
Message-ID: <8B937B7A-B151-45CE-A234-6A9601C23F3A@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: ietf.org; dkim=none (message not signed) header.d=none;ietf.org; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1441; 7:oVAUyAKp92fi9et6UFIhNeMMD+gScsNrv8HCm72ezwHsTq2HQxzhfrywWLGj/ldvVuWmVjVVkM7eVecTaH/GMbwAkQlCx1dSfUWdCmjq2a9/RIUQLdnOStnBj+C4WGCaRbuk2xYBSITjlng6W8s5Sj30wJ/2RWgkWy1kjm+MB5Mws+4z2MMJlpDyynZ5v3S2E8JCiJ7A8Esk6Oxs2BeFqNb0ZEjsKqZDwFRu3tGojRsO6nlcjsGonxjCV1ya6/i7Rkh9fvYOwkHRXwDlM/gfgqiRp0zVnnomZ5XMOzZ6mtgYnRg+euY0Y7e+EwGOykkJEpVN5oG3Pj7wrQCLgDh1QA==
x-ms-traffictypediagnostic: BN3PR0501MB1441:
x-ms-office365-filtering-correlation-id: 39d1acc1-16c2-4912-8394-08d4a857d456
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:BN3PR0501MB1441; 
x-microsoft-antispam-prvs: <BN3PR0501MB144151A5C41E36CBC098110BA5F10@BN3PR0501MB1441.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148); SRVR:BN3PR0501MB1441; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1441; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(39450400003)(39410400002)(39840400002)(39400400002)(39850400002)(39860400002)(83506001)(4001350100001)(478600001)(305945005)(7116003)(82746002)(6512007)(99286003)(7736002)(2501003)(2900100001)(122556002)(3280700002)(3480700004)(36756003)(83716003)(189998001)(14454004)(5660300001)(33656002)(86362001)(66066001)(8936002)(6486002)(2351001)(77096006)(6506006)(6116002)(102836003)(6436002)(3660700001)(3846002)(54356999)(50986999)(8676002)(53936002)(38730400002)(110136004)(81166006)(1730700003)(133083001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1441; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:sfv; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-ID: <B157085BC350DA49A85806402D428510@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 19:04:14.2737 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1441
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ZjWX1o2wsWo6fpORkW371CJu6XA>
Subject: [Netconf] restconf default handling
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 19:04:17 -0000

czMuNS40LCBwLjMgc2F5czoNCg0KIElmIHRoZSB0YXJnZXQgb2YgYSBHRVQgbWV0aG9kIGlzIGEg
ZGF0YSBub2RlIHRoYXQgcmVwcmVzZW50cyBhIGxlYWYNCiBvciBsZWFmLWxpc3QgdGhhdCBoYXMg
YSBkZWZhdWx0IHZhbHVlIGFuZCB0aGUgbGVhZiBvciBsZWFmLWxpc3QgaGFzDQogbm90IGJlZW4g
aW5zdGFudGlhdGVkIHlldCwgdGhlIHNlcnZlciBNVVNUIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1
ZQ0KIG9yIHZhbHVlcyB0aGF0IGFyZSBpbiB1c2UgYnkgdGhlIHNlcnZlci4gIEluIHRoaXMgY2Fz
ZSwgdGhlIHNlcnZlcg0KIE1VU1QgaWdub3JlIGl0cyAiYmFzaWMtbW9kZSIsIGRlc2NyaWJlZCBp
biBTZWN0aW9uIDQuOC45LCBhbmQgcmV0dXJuDQogdGhlIGRlZmF1bHQgdmFsdWUuDQoNCklzIHRo
aXMgcmVhbGx5IHdoYXQgd2Ugd2FudD8gIFdoYXQgaGFwcGVuZWQgdG8gdHJ1c3RpbmcgdGhhdCBj
bGllbnRzDQphcmUgWUFORy1hd2FyZT8gIEhvdyBjYW4gYSBjbGllbnQgb3RoZXJ3aXNlIHRlc3Qg
aWYgYSBsZWFmIGlzIHNldCANCihlLmcuLCBnZXQgYSA0MDQpIHdpdGhvdXQgR0VULWluZyB0aGUg
cGFyZW50IGNvbnRhaW5lciBhbmQgdGhlbiANCmNoZWNraW5nIGlmIHRoZSBsZWFmIGlzIHByZXNl
bnQ/DQoNCkkgYXNrIGJlY2F1c2UgdGhpcyBkb2Vzbid0IHNlZW0gcmlnaHQsIGFuZCB0aGVyZSBt
YXkgYmUgYSB3YXkgdG8gbm90DQpjYXJyeSB0aGlzIGludG8gdGhlIHN1cHBvcnQgZm9yIHJldmlz
ZWQtZGF0YXN0b3Jlcy4uLg0KDQpLLg0KDQoNCg==


From nobody Wed May 31 12:09:27 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B76C6127869 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 12:09:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RCruOnPHXaxU for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 12:09:24 -0700 (PDT)
Received: from mail-wm0-x235.google.com (mail-wm0-x235.google.com [IPv6:2a00:1450:400c:c09::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DABC31275C5 for <netconf@ietf.org>; Wed, 31 May 2017 12:09:23 -0700 (PDT)
Received: by mail-wm0-x235.google.com with SMTP id d127so31907703wmf.0 for <netconf@ietf.org>; Wed, 31 May 2017 12:09:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=zvUSpwRtOBsAaG3tMv3Z2ObLQyQL8/DBpsiaRR/DeN4=; b=QkZSdUWsXTKMI6X2edQIGBzgFYaSo5HKEmuo7kdIemcStVOgw70/TM80bJksflt1Ib Mu2umqdoQlJFCPnsf3NljY8boLWSpZnmuY9ljXfvjM0rduQXmuA3wXvG48lnrI2C+3V9 ZwuW6aZRmpe6fN4k/ft9rpFElsufykHxR0m5WjVga1gBHFtl1oqeuNrulQASkzmcvscv 0LCKfZ+Xrx2kQ32zoFHBTGOXtLmnbwa+Z65t4b/hZj37FbqLn693Fcad9CQe3m+tFCwA mVBkOs9sqTr1XG8KK7zoVjcCg//13rNN4O/OfXTjm5DFBDavmAgMH7sbNZGqiibJ0Tli I1Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=zvUSpwRtOBsAaG3tMv3Z2ObLQyQL8/DBpsiaRR/DeN4=; b=E+8Jfv66mnMS8YR0bygCaLehtc9WcNz7Azb4RkIi2/5HlGfdn6cAWtgg7RWUcIPeuv 12c3nAAgvLMDAwM94g7q+ZCkkLxP/weeBzyVbg0sjq7buq3bvhl5uSv4n8xn24MyVOwe 4FaFGH0HTlmyWy2uBCjMIapR4is+l7vWBQQL4IwjB2nDSjjP0uBfvGf9FXJdAlNgsAff fjCX6NKjA54RSBTY7z2E69NPwwIXH+vcyN7lcsDJHjywRha104Ezr8g661VmYwlpAsM+ CxgICyVrYh8mxD+YhzLLvbzv9Fa3Q56F1JFpWNo0Vnt0C0UHuqa9H54xrovWZd0wfZil OxbA==
X-Gm-Message-State: AODbwcBlBvR0CxBds9T8LCkIJkpN3yt/qSQbrkprVp6k9ysM56jL5aru PdZyVfBLYRmNod3FYPOLcoh2VEADLlTA
X-Received: by 10.223.161.70 with SMTP id r6mr18711552wrr.65.1496257762351; Wed, 31 May 2017 12:09:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 31 May 2017 12:09:21 -0700 (PDT)
In-Reply-To: <8B937B7A-B151-45CE-A234-6A9601C23F3A@juniper.net>
References: <8B937B7A-B151-45CE-A234-6A9601C23F3A@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 31 May 2017 12:09:21 -0700
Message-ID: <CABCOCHRFh5A68qjd4S_Wf076kKrY2bqQzktb7TmwDVeRddewSQ@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="f403045e274a6af4810550d6a808"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/_zU17g4zwItfd0AiWuXfquBagT8>
Subject: Re: [Netconf] restconf default handling
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 19:09:26 -0000

--f403045e274a6af4810550d6a808
Content-Type: text/plain; charset="UTF-8"

On Wed, May 31, 2017 at 12:04 PM, Kent Watsen <kwatsen@juniper.net> wrote:

> s3.5.4, p.3 says:
>
>  If the target of a GET method is a data node that represents a leaf
>  or leaf-list that has a default value and the leaf or leaf-list has
>  not been instantiated yet, the server MUST return the default value
>  or values that are in use by the server.  In this case, the server
>  MUST ignore its "basic-mode", described in Section 4.8.9, and return
>  the default value.
>
> Is this really what we want?  What happened to trusting that clients
> are YANG-aware?  How can a client otherwise test if a leaf is set
> (e.g., get a 404) without GET-ing the parent container and then
> checking if the leaf is present?
>
> I ask because this doesn't seem right, and there may be a way to not
> carry this into the support for revised-datastores...
>
>
I think this is right.
If the target resource is a leaf or leaf-list and the YANG default is
returned.
If the target resource is an ancestor of the same leaf or leaf-list then
the with-defaults mode determines if the default is added to the response.

If the client asks for a specific terminal node, then why not just return
it?
This is simpler for the client.


K.
>
>
Andy


>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>

--f403045e274a6af4810550d6a808
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 31, 2017 at 12:04 PM, Kent Watsen <span dir=3D"ltr">&lt;<a =
href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net</=
a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">s3.5.4, p.3 says:<br=
>
<br>
=C2=A0If the target of a GET method is a data node that represents a leaf<b=
r>
=C2=A0or leaf-list that has a default value and the leaf or leaf-list has<b=
r>
=C2=A0not been instantiated yet, the server MUST return the default value<b=
r>
=C2=A0or values that are in use by the server.=C2=A0 In this case, the serv=
er<br>
=C2=A0MUST ignore its &quot;basic-mode&quot;, described in Section 4.8.9, a=
nd return<br>
=C2=A0the default value.<br>
<br>
Is this really what we want?=C2=A0 What happened to trusting that clients<b=
r>
are YANG-aware?=C2=A0 How can a client otherwise test if a leaf is set<br>
(e.g., get a 404) without GET-ing the parent container and then<br>
checking if the leaf is present?<br>
<br>
I ask because this doesn&#39;t seem right, and there may be a way to not<br=
>
carry this into the support for revised-datastores...<br>
<br></blockquote><div><br></div><div>I think this is right.</div><div>If th=
e target resource is a leaf or leaf-list and the YANG default is returned.<=
/div><div>If the target resource is an ancestor of the same leaf or leaf-li=
st then</div><div>the with-defaults mode determines if the default is added=
 to the response.</div><div><br></div><div>If the client asks for a specifi=
c terminal node, then why not just return it?</div><div>This is simpler for=
 the client.</div><div><br></div><div><br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">
K.<br>
<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc soli=
d;padding-left:1ex">
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org">Netconf@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" rel=3D"noreferrer=
" target=3D"_blank">https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><=
br>
</blockquote></div><br></div></div>

--f403045e274a6af4810550d6a808--


From nobody Wed May 31 14:28:37 2017
Return-Path: <kwatsen@juniper.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 659A4124234 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 14:28:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.801
X-Spam-Level: 
X-Spam-Status: No, score=-4.801 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=juniper.net
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LHRLLbpJHfO5 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 14:28:33 -0700 (PDT)
Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0096.outbound.protection.outlook.com [104.47.37.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D6B3B128DF6 for <netconf@ietf.org>; Wed, 31 May 2017 14:28:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=juniper.net; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=4IGy3AWQYcVy9IF59NO7T+galar8Shdzp+aiKxPrbAQ=; b=WvKaTOCGkm6Nc9fo7/bVsqkRivHKvLBdCFDnR5144Y3dO1qz5EokuUq5iWLIkTuvEE9KaB5iHlIXJ1xRQLgM+N7qLErAq1Vhf5bnA39/BNwhO6OrXj2K6rsKe4zaSghktJE7SKwEMkLYVOBWzzAlcQtL1FvYUxg/gVLeJlCjr+8=
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com (10.160.117.151) by BN3PR0501MB1441.namprd05.prod.outlook.com (10.160.117.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1143.6; Wed, 31 May 2017 21:28:31 +0000
Received: from BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) by BN3PR0501MB1442.namprd05.prod.outlook.com ([10.160.117.151]) with mapi id 15.01.1143.010; Wed, 31 May 2017 21:28:31 +0000
From: Kent Watsen <kwatsen@juniper.net>
To: Andy Bierman <andy@yumaworks.com>
CC: "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
Thread-Index: AQHS2juq7T4lAeTJMEyDcLk+iEl6MaIOgwuAgABGywD//+hWAA==
Date: Wed, 31 May 2017 21:28:31 +0000
Message-ID: <A1E74ABD-23F3-489F-9CEE-407E1729850C@juniper.net>
References: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com> <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net> <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com>
In-Reply-To: <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/f.20.0.170309
authentication-results: yumaworks.com; dkim=none (message not signed) header.d=none;yumaworks.com; dmarc=none action=none header.from=juniper.net;
x-originating-ip: [66.129.241.14]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; BN3PR0501MB1441; 7:Pnc6DqdB1BPTRdSRFrQEN0itpeTtgcfjWvvOw0w3FhpKaaK5tUYyh2RWEOcBqM/oX1Uvx4OkaVO4/KhkTWN55C/FS+EhB4ki80h9wZ7FNExpdHDXVZLTbfivNV63eaJGqD4zZyB8yBshGFji3CQHilfF+bDDdGZR9FFNM9QG8Yyh3gZHLStvAr5MHvWk5RkNwlYW30hpu/dd3UUipMvxUo8k36jN1pwtZJNvKFHnQdvdHU34HMYsL41SaGQUMmKI9eDQmfZj9wVfde1vQ051ClBF/2trNrFbF5vRrCwepSkXqj2h2asxGA1dpotEEnzVygzpCpN10q6jO+OV5RvU9Q==
x-ms-traffictypediagnostic: BN3PR0501MB1441:
x-ms-office365-filtering-correlation-id: d870be42-8de8-4505-d03a-08d4a86bfc38
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);  SRVR:BN3PR0501MB1441; 
x-microsoft-antispam-prvs: <BN3PR0501MB14412DC7806552BEE5538719A5F10@BN3PR0501MB1441.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(120809045254105)(138986009662008)(21748063052155); 
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(6055026)(6041248)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123562025)(20161123555025)(6072148); SRVR:BN3PR0501MB1441; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0501MB1441; 
x-forefront-prvs: 0324C2C0E2
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(979002)(39860400002)(39850400002)(39400400002)(39840400002)(39450400003)(39410400002)(199003)(24454002)(377454003)(189002)(377424004)(6486002)(229853002)(7110500001)(2906002)(77096006)(966005)(33656002)(6246003)(66066001)(8936002)(68736007)(86362001)(6506006)(38730400002)(110136004)(8676002)(9326002)(53936002)(53386004)(81166006)(6436002)(2950100002)(6116002)(230783001)(10710500007)(102836003)(606005)(15650500001)(3846002)(54356999)(76176999)(50986999)(6916009)(3660700001)(53546009)(99286003)(54896002)(6306002)(6512007)(45080400002)(7906003)(2900100001)(25786009)(7736002)(2420400007)(4001350100001)(83506001)(236005)(82746002)(478600001)(36756003)(189998001)(83716003)(14454004)(5660300001)(122556002)(3280700002)(4326008)(14971765001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0501MB1441; H:BN3PR0501MB1442.namprd05.prod.outlook.com; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; A:1; MX:1; LANG:en; 
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_A1E74ABD23F3489F9CEE407E1729850Cjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 31 May 2017 21:28:31.1693 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0501MB1441
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/8HZoi3cdzA87Sr9OZIX51g_FNAQ>
Subject: Re: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 21:28:35 -0000

--_000_A1E74ABD23F3489F9CEE407E1729850Cjunipernet_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgQW5keSwNCg0KDQo+IFRoaXMgYXBwZWFycyB0byBhZGQgMSB0b3AtbGV2ZWwgY29udGFpbmVy
IHRvIHRoZSBZQU5HIE1vZHVsZSBMaWJyYXJ5DQoNCkluIGFkZGl0aW9uIHRvIHRoZSB0b3AtbGV2
ZWwgJ2RhdGFzdG9yZXMnIGNvbnRhaW5lciwgdGhlIHVwZGF0ZSBhbHNvIGFkZHMgYSAnZGF0YXN0
b3JlJyBsZWFmLWxpc3QgdW5kZXIgdGhlICdtb2R1bGUnIG5vZGUuLi4NCg0KDQo+IFRoaXMgbmV3
IGNvbnRhaW5lciBjYW4gYmUgaW4gaXRzIG93biBtb2R1bGUsIGluIGFub3RoZXIgUkZDLg0KDQpC
dXQgYWxyZWFkeSBpZXRmLXlhbmctbGlicmFyeSBNVVNUIGJlIGltcGxlbWVudGVkLCBhbmQgd2Ug
aGF2ZSB0byBtYWtlIHRoZSBvdGhlciBjaGFuZ2UgbWVudGlvbmVkIGFib3ZlLiAgIEhvdyBhYm91
dCB3ZSBjaGFuZ2UgdGhlIGRyYWZ0IHRpdGxlIGZyb20gIllBTkcgTW9kdWxlIExpYnJhcnkiIHRv
ICJZQU5HIExpYnJhcnkiICh3aGljaCBiZXR0ZXJzIG1hdGNoZXMgdGhlIG1vZHVsZSBuYW1lICJp
ZXRmLXlhbmctbGlicmFyeSIpIGFuZCBkZWNsYXJlIHRoaXMgbW9kdWxlIGlzIGJlaW5nIHdoZXJl
IG1ldGEtaW5mb3JtYXRpb24gZ29lcy4gIEl0J3Mgbm90IHRoZSBiZXN0IG5hbWUsIGJ1dCBJIGNh
biBsaXZlIHdpdGggaXQuDQoNCg0KPiBJIGRvIG5vdCBzZWUgd2h5IHRoaXMgdG9wLWxldmVsIFlB
Tkcgc3VidHJlZSBpcyByZWxhdGVkIHRvIHRoZSBZQU5HIG1vZHVsZSBsaWJyYXJ5Lg0KPiBJdCBp
cyBub3QgbGlua2VkIGluIGFueSB3YXkgdG8gdGhlIC9tb2R1bGVzLXN0YXRlIHN1YnRyZWUuDQo+
DQo+IElNTyB0aGlzIHdpbGwgY29uZnVzZSBwZW9wbGUgc2luY2UgaXQgaXMgbm90IG9idmlvdXMg
dGhhdCBzb21ldGhpbmcNCj4gY2FsbGVkIHRoZSBZQU5HIG1vZHVsZSBsaWJyYXJ5IHdvdWxkIGNv
bnRhaW4gYSBsaXN0IG9mIGRhdGFzdG9yZXMuDQoNClNlZSBhYm92ZS4NCg0KDQo+IE9uZSBtaWdo
dCBleHBlY3QgdG8gZmluZCB0aGUgZGF0YXN0b3JlIGxpc3QgaW4gL25ldGNvbmYtc3RhdGUvZGF0
YXN0b3Jlcw0KPiBzaW5jZSB0aGF0J3Mgd2hlcmUgaXRzIGJlZW4gZm9yIDcgeWVhcnMuDQoNClNl
cmlvdXNseT8gIFBlcmhhcHMgaWYgIm5ldGNvbmYiIHdlcmVuJ3QgaW4gaXRzIG5hbWUsIGJ1dCBl
dmVuIHRoZW4sIHdlJ2QgaGF2ZQ0KdG8gcmV3b3JrIHRoZSBkcmFmdCBzb21lIG1vcmUuICAgV2Ug
Y291bGQgc3RhcnQgbmV3IGRyYWZ0IHRvIGRlZmluZSBzb21ldGhpbmcNCmxpa2UgL3Jlc3Rjb25m
LXN0YXRlLCBidXQgcmVwdXJwb3NpbmcgeWFuZy1saWJyYXJ5IHNlZW1zIGVhc2llciBhbmQgKGhv
cGVmdWxseSkNCmNvdWxkIGJlIGRvbmUgaW4gYSBwcm90b2NvbC1pbmRlcGVuZGVudCBtYW5uZXIu
DQoNCg0KPiBBbHNvIHRoZSB0ZXh0IHNheXMgInN1cHBvcnRlZCBieSB0aGlzIHNlcnZlciIuICBX
aGF0IHByb3RvY29sIGlzICJ0aGlzIHNlcnZlciI/DQoNCkl0IHdhcyBtZWFudCB0byBiZSB0aGUg
cHJvdG9jb2wtYWdub3N0aWMgc28sIGZvciBpbnN0YW5jZSwgTkMgYW5kIFJDIHNlcnZlcnMNCnJ1
bm5pbmcgb24gdGhlIHNhbWUgZGV2aWNlIGNvdWxkIGhhdmUgZGlmZmVyZW50IHJlc3BvbnNlcy4N
Cg0KDQo+IFdoYXQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIHByb3RvY29scyBhbmQgbm90IGFsbCBk
YXRhc3RvcmVzIGFyZSBhY2Nlc3NpYmxlDQo+IGluIGFsbCBwcm90b2NvbHM/DQoNCkV4YWN0bHku
DQoNCg0KPiBBbmR5DQoNCktlbnQNCg0KDQoNCg0KT24gV2VkLCBNYXkgMzEsIDIwMTcgYXQgMTE6
MzkgQU0sIEtlbnQgV2F0c2VuIDxrd2F0c2VuQGp1bmlwZXIubmV0PG1haWx0bzprd2F0c2VuQGp1
bmlwZXIubmV0Pj4gd3JvdGU6DQoNCkEgcHJvcG9zZWQgcmZjNzg5NWJpcyBoYXMgYmVlbiBwb3N0
ZWQsIHRvIHVwZGF0ZSBZQU5HIExpYnJhcnkgdG8NCnN1cHBvcnQgdGhlIHJldmlzZWQtZGF0YXN0
b3JlcyBkcmFmdC4NCg0KV291bGQgdGhlIGNoYWlycyBraW5kbHkgY29uc2lkZXIgaW5pdGlhdGlu
ZyBhIHBvbGwgdG8gYWRvcHQgdGhpcw0KZHJhZnQgYXMgYSBXRyBpdGVtPw0KDQpUaGFua3MsDQpL
ZW50DQoNCg0KLS0tLS1PUklHSU5BTCBNRVNTQUdFLS0tLS0NCg0KQSBuZXcgdmVyc2lvbiBvZiBJ
LUQsIGRyYWZ0LW5tZHNkdC1uZXRjb25mLXJmYzc4OTViaXMtMDAudHh0DQpoYXMgYmVlbiBzdWNj
ZXNzZnVsbHkgc3VibWl0dGVkIGJ5IEtlbnQgV2F0c2VuIGFuZCBwb3N0ZWQgdG8gdGhlDQpJRVRG
IHJlcG9zaXRvcnkuDQoNCk5hbWU6ICAgICAgICAgICBkcmFmdC1ubWRzZHQtbmV0Y29uZi1yZmM3
ODk1YmlzDQpSZXZpc2lvbjogICAgICAgMDANClRpdGxlOiAgICAgICAgICBZQU5HIE1vZHVsZSBM
aWJyYXJ5DQpEb2N1bWVudCBkYXRlOiAgMjAxNy0wNS0zMA0KR3JvdXA6ICAgICAgICAgIEluZGl2
aWR1YWwgU3VibWlzc2lvbg0KUGFnZXM6ICAgICAgICAgIDE1DQpVUkw6ICAgICAgICAgICAgaHR0
cHM6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LW5tZHNkdC1uZXRjb25mLXJm
Yzc4OTViaXMtMDAudHh0DQpTdGF0dXM6ICAgICAgICAgaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRm
Lm9yZy9kb2MvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy8NCkh0bWxpemVkOiAgICAg
ICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5
NWJpcy0wMA0KSHRtbGl6ZWQ6ICAgICAgIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9j
L2h0bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy0wMA0KDQoNCkFic3RyYWN0Og0K
ICAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgYSBZQU5HIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBp
bmZvcm1hdGlvbg0KICAgYWJvdXQgYWxsIHRoZSBZQU5HIG1vZHVsZXMgdXNlZCBieSBhIG5ldHdv
cmsgbWFuYWdlbWVudCBzZXJ2ZXIgKGUuZy4sDQogICBhIE5ldHdvcmsgQ29uZmlndXJhdGlvbiBQ
cm90b2NvbCAoTkVUQ09ORikgc2VydmVyKS4gIFNpbXBsZSBjYWNoaW5nDQogICBtZWNoYW5pc21z
IGFyZSBwcm92aWRlZCB0byBhbGxvdyBjbGllbnRzIHRvIG1pbmltaXplIHJldHJpZXZhbCBvZg0K
ICAgdGhpcyBpbmZvcm1hdGlvbi4NCg0KDQoNCg0KUGxlYXNlIG5vdGUgdGhhdCBpdCBtYXkgdGFr
ZSBhIGNvdXBsZSBvZiBtaW51dGVzIGZyb20gdGhlIHRpbWUgb2Ygc3VibWlzc2lvbg0KdW50aWwg
dGhlIGh0bWxpemVkIHZlcnNpb24gYW5kIGRpZmYgYXJlIGF2YWlsYWJsZSBhdCB0b29scy5pZXRm
Lm9yZzxodHRwOi8vdG9vbHMuaWV0Zi5vcmc+Lg0KDQpUaGUgSUVURiBTZWNyZXRhcmlhdA0KDQoN
Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCk5ldGNv
bmYgbWFpbGluZyBsaXN0DQpOZXRjb25mQGlldGYub3JnPG1haWx0bzpOZXRjb25mQGlldGYub3Jn
Pg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mDQoNCg==

--_000_A1E74ABD23F3489F9CEE407E1729850Cjunipernet_
Content-Type: text/html; charset="utf-8"
Content-ID: <47A6148E4644DE4780B6B117E674EC94@namprd05.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6bz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiB4
bWxuczp3PSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiB4bWxuczptPSJo
dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1l
dGEgbmFtZT0iVGl0bGUiIGNvbnRlbnQ9IiI+DQo8bWV0YSBuYW1lPSJLZXl3b3JkcyIgY29udGVu
dD0iIj4NCjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUg
KGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxlPjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3IjsNCglwYW5vc2UtMToyIDcg
MyA5IDIgMiA1IDIgNCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0
aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt
ZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KLyogU3R5
bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3Jt
YWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEy
LjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIiwic2VyaWYiO30NCmE6bGluaywg
c3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7
DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJs
aW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0
ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7
DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1hcmdpbjowaW47
DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1mYW1p
bHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFyDQoJe21zby1zdHls
ZS1uYW1lOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7
DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIjsNCglmb250LWZhbWlseTpDb3Vy
aWVyO30NCnNwYW4uRW1haWxTdHlsZTE5DQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZv
bnQtZmFtaWx5OkNhbGlicmk7DQoJZm9udC12YXJpYW50Om5vcm1hbCAhaW1wb3J0YW50Ow0KCWNv
bG9yOndpbmRvd3RleHQ7DQoJdGV4dC10cmFuc2Zvcm06bm9uZTsNCgl0ZXh0LWRlY29yYXRpb246
bm9uZSBub25lOw0KCXZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO30NCnNwYW4ubXNvSW5zDQoJe21z
by1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCW1zby1zdHlsZS1uYW1lOiIiOw0KCXRleHQtZGVj
b3JhdGlvbjp1bmRlcmxpbmU7DQoJY29sb3I6dGVhbDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28t
c3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRT
ZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4g
MS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0
eWxlPg0KPC9oZWFkPg0KPGJvZHkgYmdjb2xvcj0id2hpdGUiIGxhbmc9IkVOLVVTIiBsaW5rPSJi
bHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6Q2FsaWJyaSI+SGkgQW5keSw8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6Q2FsaWJyaSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgVGhpcyBhcHBlYXJzIHRvIGFkZCAx
IHRvcC1sZXZlbCBjb250YWluZXIgdG8gdGhlIFlBTkcgTW9kdWxlIExpYnJhcnk8bzpwPjwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SW4gYWRkaXRpb24gdG8gdGhlIHRvcC1sZXZl
bCAnZGF0YXN0b3JlcycgY29udGFpbmVyLCB0aGUgdXBkYXRlIGFsc28gYWRkcyBhICdkYXRhc3Rv
cmUnIGxlYWYtbGlzdCB1bmRlciB0aGUgJ21vZHVsZScgbm9kZS4uLjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
VGhpcyBuZXcgY29udGFpbmVyIGNhbiBiZSBpbiBpdHMgb3duIG1vZHVsZSwgaW4gYW5vdGhlciBS
RkMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkJ1dCBhbHJlYWR5IGll
dGYteWFuZy1saWJyYXJ5IE1VU1QgYmUgaW1wbGVtZW50ZWQsIGFuZCB3ZSBoYXZlIHRvIG1ha2Ug
dGhlIG90aGVyIGNoYW5nZSBtZW50aW9uZWQgYWJvdmUuJm5ic3A7Jm5ic3A7IEhvdyBhYm91dCB3
ZSBjaGFuZ2UgdGhlIGRyYWZ0IHRpdGxlIGZyb20gJnF1b3Q7WUFORyBNb2R1bGUgTGlicmFyeSZx
dW90OyB0byAmcXVvdDtZQU5HIExpYnJhcnkmcXVvdDsgKHdoaWNoIGJldHRlcnMgbWF0Y2hlcyB0
aGUgbW9kdWxlIG5hbWUgJnF1b3Q7aWV0Zi15YW5nLWxpYnJhcnkmcXVvdDspDQogYW5kIGRlY2xh
cmUgdGhpcyBtb2R1bGUgaXMgYmVpbmcgd2hlcmUgbWV0YS1pbmZvcm1hdGlvbiBnb2VzLiZuYnNw
OyBJdCdzIG5vdCB0aGUgYmVzdCBuYW1lLCBidXQgSSBjYW4gbGl2ZSB3aXRoIGl0LjxvOnA+PC9v
OnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgSSBkbyBub3Qgc2VlIHdoeSB0
aGlzIHRvcC1sZXZlbCBZQU5HIHN1YnRyZWUgaXMgcmVsYXRlZCB0byB0aGUgWUFORyBtb2R1bGUg
bGlicmFyeS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPiZndDsgSXQgaXMgbm90IGxpbmtlZCBpbiBhbnkgd2F5IHRvIHRoZSAvbW9kdWxlcy1zdGF0
ZSBzdWJ0cmVlLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+Jmd0OyA8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPiZndDsgSU1PIHRoaXMgd2lsbCBjb25mdXNlIHBlb3BsZSBzaW5jZSBpdCBpcyBub3Qg
b2J2aW91cyB0aGF0IHNvbWV0aGluZzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBjYWxsZWQgdGhlIFlBTkcgbW9kdWxlIGxpYnJhcnkgd291
bGQgY29udGFpbiBhIGxpc3Qgb2YgZGF0YXN0b3Jlcy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+U2VlIGFib3ZlLjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu
YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsg
T25lIG1pZ2h0IGV4cGVjdCB0byBmaW5kIHRoZSBkYXRhc3RvcmUgbGlzdCBpbiAvbmV0Y29uZi1z
dGF0ZS9kYXRhc3RvcmVzPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj4mZ3Q7IHNpbmNlIHRoYXQncyB3aGVyZSBpdHMgYmVlbiBmb3IgNyB5ZWFycy48
bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U2VyaW91c2x5PyZuYnNwOyBQ
ZXJoYXBzIGlmICZxdW90O25ldGNvbmYmcXVvdDsgd2VyZW4ndCBpbiBpdHMgbmFtZSwgYnV0IGV2
ZW4gdGhlbiwgd2UnZCBoYXZlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj50
byByZXdvcmsgdGhlIGRyYWZ0IHNvbWUgbW9yZS4mbmJzcDsmbmJzcDsgV2UgY291bGQgc3RhcnQg
bmV3IGRyYWZ0IHRvIGRlZmluZSBzb21ldGhpbmc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPmxpa2UgL3Jlc3Rjb25mLXN0YXRlLCBidXQgcmVwdXJwb3NpbmcgeWFuZy1saWJy
YXJ5IHNlZW1zIGVhc2llciBhbmQgKGhvcGVmdWxseSk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPmNvdWxkIGJlIGRvbmUgaW4gYSBwcm90b2NvbC1pbmRlcGVuZGVudCBtYW5u
ZXIuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBBbHNvIHRoZSB0ZXh0IHNheXMgJnF1
b3Q7c3VwcG9ydGVkIGJ5IHRoaXMgc2VydmVyJnF1b3Q7LiZuYnNwOyBXaGF0IHByb3RvY29sIGlz
ICZxdW90O3RoaXMgc2VydmVyJnF1b3Q7PzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JdCB3YXMg
bWVhbnQgdG8gYmUgdGhlIHByb3RvY29sLWFnbm9zdGljIHNvLCBmb3IgaW5zdGFuY2UsIE5DIGFu
ZCBSQyBzZXJ2ZXJzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5ydW5uaW5n
IG9uIHRoZSBzYW1lIGRldmljZSBjb3VsZCBoYXZlIGRpZmZlcmVudCByZXNwb25zZXMuPG86cD48
L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBXaGF0IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBwcm90
b2NvbHMgYW5kIG5vdCBhbGwgZGF0YXN0b3JlcyBhcmUgYWNjZXNzaWJsZTxvOnA+PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jmd0OyBpbiBhbGwgcHJvdG9j
b2xzPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5FeGFjdGx5LjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZndDsgQW5keTxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5LZW50PG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFdlZCwgTWF5IDMxLCAyMDE3IGF0IDExOjM5IEFNLCBL
ZW50IFdhdHNlbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOmt3YXRzZW5AanVuaXBlci5uZXQiIHRhcmdl
dD0iX2JsYW5rIj5rd2F0c2VuQGp1bmlwZXIubmV0PC9hPiZndDsgd3JvdGU6PG86cD48L286cD48
L3A+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND
Q0NDQyAxLjBwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h
cmdpbi1yaWdodDowaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGJyPg0KQSBwcm9wb3NlZCBy
ZmM3ODk1YmlzIGhhcyBiZWVuIHBvc3RlZCwgdG8gdXBkYXRlIFlBTkcgTGlicmFyeSB0bzxicj4N
CnN1cHBvcnQgdGhlIHJldmlzZWQtZGF0YXN0b3JlcyBkcmFmdC48YnI+DQo8YnI+DQpXb3VsZCB0
aGUgY2hhaXJzIGtpbmRseSBjb25zaWRlciBpbml0aWF0aW5nIGEgcG9sbCB0byBhZG9wdCB0aGlz
PGJyPg0KZHJhZnQgYXMgYSBXRyBpdGVtPzxicj4NCjxicj4NClRoYW5rcyw8YnI+DQpLZW50PGJy
Pg0KPGJyPg0KPGJyPg0KLS0tLS1PUklHSU5BTCBNRVNTQUdFLS0tLS08YnI+DQo8YnI+DQpBIG5l
dyB2ZXJzaW9uIG9mIEktRCwgZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy0wMC50eHQ8
YnI+DQpoYXMgYmVlbiBzdWNjZXNzZnVsbHkgc3VibWl0dGVkIGJ5IEtlbnQgV2F0c2VuIGFuZCBw
b3N0ZWQgdG8gdGhlPGJyPg0KSUVURiByZXBvc2l0b3J5Ljxicj4NCjxicj4NCk5hbWU6Jm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtkcmFmdC1ubWRzZHQtbmV0Y29uZi1y
ZmM3ODk1YmlzPGJyPg0KUmV2aXNpb246Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7MDA8YnI+
DQpUaXRsZTombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFlBTkcgTW9kdWxlIExp
YnJhcnk8YnI+DQpEb2N1bWVudCBkYXRlOiZuYnNwOyAyMDE3LTA1LTMwPGJyPg0KR3JvdXA6Jm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBJbmRpdmlkdWFsIFN1Ym1pc3Npb248YnI+
DQpQYWdlczombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDE1PGJyPg0KVVJMOiZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9Imh0dHBzOi8v
d3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1ubWRzZHQtbmV0Y29uZi1yZmM3ODk1
YmlzLTAwLnR4dCIgdGFyZ2V0PSJfYmxhbmsiPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvaW50ZXJu
ZXQtZHJhZnRzL2RyYWZ0LW5tZHNkdC1uZXRjb25mLXJmYzc4OTViaXMtMDAudHh0PC9hPjxicj4N
ClN0YXR1czombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7PGEgaHJlZj0iaHR0cHM6
Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJp
cy8iIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9kcmFm
dC1ubWRzZHQtbmV0Y29uZi1yZmM3ODk1YmlzLzwvYT48YnI+DQpIdG1saXplZDombmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDs8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJh
ZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy0wMCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8v
dG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1ubWRzZHQtbmV0Y29uZi1yZmM3ODk1YmlzLTAwPC9h
Pjxicj4NCkh0bWxpemVkOiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzxhIGhyZWY9Imh0dHBz
Oi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZj
Nzg5NWJpcy0wMCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcv
ZG9jL2h0bWwvZHJhZnQtbm1kc2R0LW5ldGNvbmYtcmZjNzg5NWJpcy0wMDwvYT48YnI+DQo8YnI+
DQo8YnI+DQpBYnN0cmFjdDo8YnI+DQombmJzcDsgJm5ic3A7VGhpcyBkb2N1bWVudCBkZXNjcmli
ZXMgYSBZQU5HIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbjxicj4NCiZuYnNwOyAm
bmJzcDthYm91dCBhbGwgdGhlIFlBTkcgbW9kdWxlcyB1c2VkIGJ5IGEgbmV0d29yayBtYW5hZ2Vt
ZW50IHNlcnZlciAoZS5nLiw8YnI+DQombmJzcDsgJm5ic3A7YSBOZXR3b3JrIENvbmZpZ3VyYXRp
b24gUHJvdG9jb2wgKE5FVENPTkYpIHNlcnZlcikuJm5ic3A7IFNpbXBsZSBjYWNoaW5nPGJyPg0K
Jm5ic3A7ICZuYnNwO21lY2hhbmlzbXMgYXJlIHByb3ZpZGVkIHRvIGFsbG93IGNsaWVudHMgdG8g
bWluaW1pemUgcmV0cmlldmFsIG9mPGJyPg0KJm5ic3A7ICZuYnNwO3RoaXMgaW5mb3JtYXRpb24u
PGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KUGxlYXNlIG5vdGUgdGhhdCBpdCBtYXkgdGFr
ZSBhIGNvdXBsZSBvZiBtaW51dGVzIGZyb20gdGhlIHRpbWUgb2Ygc3VibWlzc2lvbjxicj4NCnVu
dGlsIHRoZSBodG1saXplZCB2ZXJzaW9uIGFuZCBkaWZmIGFyZSBhdmFpbGFibGUgYXQgPGEgaHJl
Zj0iaHR0cDovL3Rvb2xzLmlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+DQp0b29scy5pZXRmLm9y
ZzwvYT4uPGJyPg0KPGJyPg0KVGhlIElFVEYgU2VjcmV0YXJpYXQ8YnI+DQo8YnI+DQo8YnI+DQo8
YnI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4N
Ck5ldGNvbmYgbWFpbGluZyBsaXN0PGJyPg0KPGEgaHJlZj0ibWFpbHRvOk5ldGNvbmZAaWV0Zi5v
cmciPk5ldGNvbmZAaWV0Zi5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cu
aWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRjb25mPC9hPjxvOnA+PC9vOnA+PC9wPg0KPC9i
bG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_A1E74ABD23F3489F9CEE407E1729850Cjunipernet_--


From nobody Wed May 31 14:38:08 2017
Return-Path: <andy@yumaworks.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A589D124234 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 14:38:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level: 
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id k_Ua9BtXlYAi for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 14:38:03 -0700 (PDT)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BA62124D6C for <netconf@ietf.org>; Wed, 31 May 2017 14:38:03 -0700 (PDT)
Received: by mail-wm0-x22c.google.com with SMTP id b84so135074760wmh.0 for <netconf@ietf.org>; Wed, 31 May 2017 14:38:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=fHAxpE/IhC75kZkjLqEC5sBS1hSPqFsgjyWr23ACEuc=; b=lXJqLZ37QHDHy0DmqhAbawXPs1tCWaXyMQeTQSI/vQM7JS+1KiJPjXjEs91aYmyyQI QDMEKzc1yApksyq59qNnrRdAqcqJW/CMYxDS+MA0X4QBCzxndgoDUve+jCORxZlZW5jJ G+IpnfkMYTB8HXKIryCyAnqOzzuDgPF8juQ6aZsP1J+iAZFR83I4fciMz5zlPqMY2RmH 4jY9FLF1fuRM25kRks1pM6NaidrFQp5xeD9AWwFpXtldYXvW5FE2H3WI6wNpVfhqL96t CdSkT2Muu4YF1tOKcJ9KR9d9xgML8i/H7S1XyZem+TowIGQVkIYDyF9HI4sSh6KPP5Gm Safg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=fHAxpE/IhC75kZkjLqEC5sBS1hSPqFsgjyWr23ACEuc=; b=g70ws81Lg6d8iOlqVNitw9QCgwREAuvo29m2QbYUm5SmTZtmRO3SeCuJKE2mst5pYb K+7/hAv6x/quHRx+zR7n7Yoge7GqVnW8uKcD5rVvajmX/cfzJ4lS7oxj4B9yj31k6RxJ yfi6a40v1YEl/M7yFUS0pBumHuUaDhnth/9fYLWipm034p7gQaFD3wk8qvV3Rox5IUt0 HxMN0jWGTMLB46w8sNfP1EkWBee7Wg7T3QI3nKe6EOlDem0kvTKEoSGslt3n0DbWAxCJ oBwo8ZhRW9T87rvUHfZK7XzP5EF6GDEFbmnfeKu1UMxwyRSgrjDRT+elvDFyZI38tFyJ Fnkw==
X-Gm-Message-State: AODbwcDdTjBA94jdrcPqmRksh+xC+stNnBWtr/el1bYEz3n9OSO/oc81 urCMaI1S54w81off9nz0EFTJxxY3i63U
X-Received: by 10.28.185.200 with SMTP id j191mr7117850wmf.48.1496266681574; Wed, 31 May 2017 14:38:01 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.155.2 with HTTP; Wed, 31 May 2017 14:38:00 -0700 (PDT)
In-Reply-To: <A1E74ABD-23F3-489F-9CEE-407E1729850C@juniper.net>
References: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com> <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net> <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com> <A1E74ABD-23F3-489F-9CEE-407E1729850C@juniper.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 31 May 2017 14:38:00 -0700
Message-ID: <CABCOCHTPfeqS5ATSsq=Xir8pheGveA1-ne0btPiEgj5Lo=U=sg@mail.gmail.com>
To: Kent Watsen <kwatsen@juniper.net>
Cc: "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="001a1148e4c20b83410550d8bccc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/THbguNHkyf4pDjXiY_mUn-LzW5Y>
Subject: Re: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 31 May 2017 21:38:07 -0000

--001a1148e4c20b83410550d8bccc
Content-Type: text/plain; charset="UTF-8"

Hi,

IMO the datastores info should be in the ietf-datastores module in the RD
draft.


Andy


On Wed, May 31, 2017 at 2:28 PM, Kent Watsen <kwatsen@juniper.net> wrote:

> Hi Andy,
>
>
>
>
>
> > This appears to add 1 top-level container to the YANG Module Library
>
>
>
> In addition to the top-level 'datastores' container, the update also adds
> a 'datastore' leaf-list under the 'module' node...
>
>
>
>
>
> > This new container can be in its own module, in another RFC.
>
>
>
> But already ietf-yang-library MUST be implemented, and we have to make the
> other change mentioned above.   How about we change the draft title from
> "YANG Module Library" to "YANG Library" (which betters matches the module
> name "ietf-yang-library") and declare this module is being where
> meta-information goes.  It's not the best name, but I can live with it.
>
>
>
>
>
> > I do not see why this top-level YANG subtree is related to the YANG
> module library.
>
> > It is not linked in any way to the /modules-state subtree.
>
> >
>
> > IMO this will confuse people since it is not obvious that something
>
> > called the YANG module library would contain a list of datastores.
>
>
>
> See above.
>
>
>
>
>
> > One might expect to find the datastore list in /netconf-state/datastores
>
> > since that's where its been for 7 years.
>
>
>
> Seriously?  Perhaps if "netconf" weren't in its name, but even then, we'd
> have
>
> to rework the draft some more.   We could start new draft to define
> something
>
> like /restconf-state, but repurposing yang-library seems easier and
> (hopefully)
>
> could be done in a protocol-independent manner.
>
>
>
>
>
> > Also the text says "supported by this server".  What protocol is "this
> server"?
>
>
>
> It was meant to be the protocol-agnostic so, for instance, NC and RC
> servers
>
> running on the same device could have different responses.
>
>
>
>
>
> > What if there are multiple protocols and not all datastores are
> accessible
>
> > in all protocols?
>
>
>
> Exactly.
>
>
>
>
>
> > Andy
>
>
>
> Kent
>
>
>
>
>
>
>
>
>
> On Wed, May 31, 2017 at 11:39 AM, Kent Watsen <kwatsen@juniper.net> wrote:
>
>
> A proposed rfc7895bis has been posted, to update YANG Library to
> support the revised-datastores draft.
>
> Would the chairs kindly consider initiating a poll to adopt this
> draft as a WG item?
>
> Thanks,
> Kent
>
>
> -----ORIGINAL MESSAGE-----
>
> A new version of I-D, draft-nmdsdt-netconf-rfc7895bis-00.txt
> has been successfully submitted by Kent Watsen and posted to the
> IETF repository.
>
> Name:           draft-nmdsdt-netconf-rfc7895bis
> Revision:       00
> Title:          YANG Module Library
> Document date:  2017-05-30
> Group:          Individual Submission
> Pages:          15
> URL:            https://www.ietf.org/internet-drafts/draft-nmdsdt-netconf-
> rfc7895bis-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-nmdsdt-netconf-
> rfc7895bis/
> Htmlized:       https://tools.ietf.org/html/draft-nmdsdt-netconf-
> rfc7895bis-00
> Htmlized:       https://datatracker.ietf.org/
> doc/html/draft-nmdsdt-netconf-rfc7895bis-00
>
>
> Abstract:
>    This document describes a YANG library that provides information
>    about all the YANG modules used by a network management server (e.g.,
>    a Network Configuration Protocol (NETCONF) server).  Simple caching
>    mechanisms are provided to allow clients to minimize retrieval of
>    this information.
>
>
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> The IETF Secretariat
>
>
>
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
>
>
>

--001a1148e4c20b83410550d8bccc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>IMO the datastores info should be i=
n the ietf-datastores module in the RD draft.</div><div><br></div><div><br>=
</div><div>Andy</div><div><br></div></div><div class=3D"gmail_extra"><br><d=
iv class=3D"gmail_quote">On Wed, May 31, 2017 at 2:28 PM, Kent Watsen <span=
 dir=3D"ltr">&lt;<a href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">k=
watsen@juniper.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quot=
e" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div bgcolor=3D"white" lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"m_6868891438483809593WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri">Hi Andy,<u></u><=
u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-family:Calibri"><u></u>=C2=A0<u>=
</u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; This appears to add 1 top-level container to th=
e YANG Module Library<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">In addition to the top-level &#39;datastores&#39; co=
ntainer, the update also adds a &#39;datastore&#39; leaf-list under the &#3=
9;module&#39; node...<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">&gt; This new container can be in its own module, in=
 another RFC.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">But already ietf-yang-library MUST be implemented, a=
nd we have to make the other change mentioned above.=C2=A0=C2=A0 How about =
we change the draft title from &quot;YANG Module Library&quot; to &quot;YAN=
G Library&quot; (which betters matches the module name &quot;ietf-yang-libr=
ary&quot;)
 and declare this module is being where meta-information goes.=C2=A0 It&#39=
;s not the best name, but I can live with it.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; I do not see why this top-level YANG subtree is=
 related to the YANG module library.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; It is not linked in any way to the /modules-sta=
te subtree.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; <u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; IMO this will confuse people since it is not ob=
vious that something<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; called the YANG module library would contain a =
list of datastores.<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">See above.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; One might expect to find the datastore list in =
/netconf-state/datastores<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; since that&#39;s where its been for 7 years.<u>=
</u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Seriously?=C2=A0 Perhaps if &quot;netconf&quot; were=
n&#39;t in its name, but even then, we&#39;d have<u></u><u></u></p>
<p class=3D"MsoNormal">to rework the draft some more.=C2=A0=C2=A0 We could =
start new draft to define something<u></u><u></u></p>
<p class=3D"MsoNormal">like /restconf-state, but repurposing yang-library s=
eems easier and (hopefully)<u></u><u></u></p>
<p class=3D"MsoNormal">could be done in a protocol-independent manner.<u></=
u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Also the text says &quot;supported by this serv=
er&quot;.=C2=A0 What protocol is &quot;this server&quot;?<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">It was meant to be the protocol-agnostic so, for ins=
tance, NC and RC servers<u></u><u></u></p>
<p class=3D"MsoNormal">running on the same device could have different resp=
onses.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; What if there are multiple protocols and not al=
l datastores are accessible<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; in all protocols?<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Exactly.<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">&gt; Andy<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Kent<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Wed, May 31, 2017 at 11:39 AM, Kent Watsen &lt;<a=
 href=3D"mailto:kwatsen@juniper.net" target=3D"_blank">kwatsen@juniper.net<=
/a>&gt; wrote:<u></u><u></u></p>
<blockquote style=3D"border:none;border-left:solid #cccccc 1.0pt;padding:0i=
n 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class=3D"MsoNormal"><br>
A proposed rfc7895bis has been posted, to update YANG Library to<br>
support the revised-datastores draft.<br>
<br>
Would the chairs kindly consider initiating a poll to adopt this<br>
draft as a WG item?<br>
<br>
Thanks,<br>
Kent<br>
<br>
<br>
-----ORIGINAL MESSAGE-----<br>
<br>
A new version of I-D, draft-nmdsdt-netconf-<wbr>rfc7895bis-00.txt<br>
has been successfully submitted by Kent Watsen and posted to the<br>
IETF repository.<br>
<br>
Name:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0draft-nmdsdt-netconf-<wbr>rfc=
7895bis<br>
Revision:=C2=A0 =C2=A0 =C2=A0 =C2=A000<br>
Title:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 YANG Module Library<br>
Document date:=C2=A0 2017-05-30<br>
Group:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Individual Submission<br>
Pages:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 15<br>
URL:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 <a href=3D"https://www.ietf.o=
rg/internet-drafts/draft-nmdsdt-netconf-rfc7895bis-00.txt" target=3D"_blank=
">
https://www.ietf.org/internet-<wbr>drafts/draft-nmdsdt-netconf-<wbr>rfc7895=
bis-00.txt</a><br>
Status:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://datatracker.iet=
f.org/doc/draft-nmdsdt-netconf-rfc7895bis/" target=3D"_blank">https://datat=
racker.ietf.org/<wbr>doc/draft-nmdsdt-netconf-<wbr>rfc7895bis/</a><br>
Htmlized:=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://tools.ietf.org/html/=
draft-nmdsdt-netconf-rfc7895bis-00" target=3D"_blank">https://tools.ietf.or=
g/html/<wbr>draft-nmdsdt-netconf-<wbr>rfc7895bis-00</a><br>
Htmlized:=C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://datatracker.ietf.org=
/doc/html/draft-nmdsdt-netconf-rfc7895bis-00" target=3D"_blank">https://dat=
atracker.ietf.org/<wbr>doc/html/draft-nmdsdt-netconf-<wbr>rfc7895bis-00</a>=
<br>
<br>
<br>
Abstract:<br>
=C2=A0 =C2=A0This document describes a YANG library that provides informati=
on<br>
=C2=A0 =C2=A0about all the YANG modules used by a network management server=
 (e.g.,<br>
=C2=A0 =C2=A0a Network Configuration Protocol (NETCONF) server).=C2=A0 Simp=
le caching<br>
=C2=A0 =C2=A0mechanisms are provided to allow clients to minimize retrieval=
 of<br>
=C2=A0 =C2=A0this information.<br>
<br>
<br>
<br>
<br>
Please note that it may take a couple of minutes from the time of submissio=
n<br>
until the htmlized version and diff are available at <a href=3D"http://tool=
s.ietf.org" target=3D"_blank">
tools.ietf.org</a>.<br>
<br>
The IETF Secretariat<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Netconf mailing list<br>
<a href=3D"mailto:Netconf@ietf.org" target=3D"_blank">Netconf@ietf.org</a><=
br>
<a href=3D"https://www.ietf.org/mailman/listinfo/netconf" target=3D"_blank"=
>https://www.ietf.org/mailman/<wbr>listinfo/netconf</a><u></u><u></u></p>
</blockquote>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>

</blockquote></div><br></div>

--001a1148e4c20b83410550d8bccc--


From nobody Wed May 31 23:56:02 2017
Return-Path: <mbj@tail-f.com>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 977D31294D8 for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 23:55:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bukkuKcE4tif for <netconf@ietfa.amsl.com>; Wed, 31 May 2017 23:55:51 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 876A9129B52 for <netconf@ietf.org>; Wed, 31 May 2017 23:55:51 -0700 (PDT)
Received: from localhost (unknown [173.38.220.40]) by mail.tail-f.com (Postfix) with ESMTPSA id D34761AE0141; Thu,  1 Jun 2017 08:55:49 +0200 (CEST)
Date: Thu, 01 Jun 2017 08:56:06 +0200 (CEST)
Message-Id: <20170601.085606.1439041441422723123.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: kwatsen@juniper.net, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com>
References: <149625529249.19877.12941939705676397123.idtracker@ietfa.amsl.com> <0F6BE5A4-8AB8-47DF-BC8B-3FB717A747D3@juniper.net> <CABCOCHRbV0sKODX7WnR0kA4O2Zf=-T+hzSHjRT3M3ZXuYkf6ew@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/bRlGGZY-T5wApzSZKVDSZ6wZzHs>
Subject: Re: [Netconf] New Version Notification for draft-nmdsdt-netconf-rfc7895bis-00.txt
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Jun 2017 06:55:54 -0000

Hi,

Andy Bierman <andy@yumaworks.com> wrote:
> Hi,
> 
> This appears to add 1 top-level container to the YANG Module Library
> This new container can be in its own module, in another RFC.

The main addition, which requires a new revision of YANG library, is
the leaf-list datastore which is specified on a per-module basis.
This allows the server to inform the client which modules are
implemented in the different datastores.  This addition has been
discussed in the previous versions of revised-datastores (most recent
is section D.2 in draft-ietf-netmod-revised-datastores-01).


/martin

> 
>     container datastores {
>        config false;
>        description
>          "Identifies which datastores are supported by this server.";
>        leaf-list datastore {
>          type identityref {
>            base ds:datastore;
>          }
>          description
>            "A datastore supported by this server.";
>        }
>      }
> 
> 
> 
> I do not see why this top-level YANG subtree is related to the YANG module
> library.
> It is not linked in any way to the /modules-state subtree.
> 
> IMO this will confuse people since it is not obvious that something
> called the YANG module library would contain a list of datastores.
> 
> One might expect to find the datastore list in /netconf-state/datastores
> since that's where its been for 7 years.
> 
> Also the text says "supported by this server".  What protocol is "this
> server"?
> What if there are multiple protocols and not all datastores are accessible
> in all protocols?
> 
> 
> Andy
> 
> 
> 
> 
> On Wed, May 31, 2017 at 11:39 AM, Kent Watsen <kwatsen@juniper.net> wrote:
> 
> >
> > A proposed rfc7895bis has been posted, to update YANG Library to
> > support the revised-datastores draft.
> >
> > Would the chairs kindly consider initiating a poll to adopt this
> > draft as a WG item?
> >
> > Thanks,
> > Kent
> >
> >
> > -----ORIGINAL MESSAGE-----
> >
> > A new version of I-D, draft-nmdsdt-netconf-rfc7895bis-00.txt
> > has been successfully submitted by Kent Watsen and posted to the
> > IETF repository.
> >
> > Name:           draft-nmdsdt-netconf-rfc7895bis
> > Revision:       00
> > Title:          YANG Module Library
> > Document date:  2017-05-30
> > Group:          Individual Submission
> > Pages:          15
> > URL:            https://www.ietf.org/internet-drafts/draft-nmdsdt-netconf-
> > rfc7895bis-00.txt
> > Status:         https://datatracker.ietf.org/doc/draft-nmdsdt-netconf-
> > rfc7895bis/
> > Htmlized:       https://tools.ietf.org/html/draft-nmdsdt-netconf-
> > rfc7895bis-00
> > Htmlized:       https://datatracker.ietf.org/
> > doc/html/draft-nmdsdt-netconf-rfc7895bis-00
> >
> >
> > Abstract:
> >    This document describes a YANG library that provides information
> >    about all the YANG modules used by a network management server (e.g.,
> >    a Network Configuration Protocol (NETCONF) server).  Simple caching
> >    mechanisms are provided to allow clients to minimize retrieval of
> >    this information.
> >
> >
> >
> >
> > Please note that it may take a couple of minutes from the time of
> > submission
> > until the htmlized version and diff are available at tools.ietf.org.
> >
> > The IETF Secretariat
> >
> >
> >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> >

