
From nobody Tue May 12 13:56:16 2015
Return-Path: <xufeng.liu@ericsson.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 129101A1B6C for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 13:56:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 5hFSkLHhmLOf for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 13:56:11 -0700 (PDT)
Received: from usevmg20.ericsson.net (usevmg20.ericsson.net [198.24.6.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04CC61A8A85 for <Rtg-yang-coord@ietf.org>; Tue, 12 May 2015 13:56:10 -0700 (PDT)
X-AuditID: c618062d-f79a96d000007fb1-50-555210a17521
Received: from EUSAAHC007.ericsson.se (Unknown_Domain [147.117.188.93]) by usevmg20.ericsson.net (Symantec Mail Security) with SMTP id 55.40.32689.1A012555; Tue, 12 May 2015 16:39:29 +0200 (CEST)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC007.ericsson.se ([147.117.188.93]) with mapi id 14.03.0210.002; Tue, 12 May 2015 16:56:04 -0400
From: Xufeng Liu <xufeng.liu@ericsson.com>
To: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Thread-Topic: Operational State Modeling
Thread-Index: AdCM9felkKpDh+jYTPGkN01wChYhCQ==
Date: Tue, 12 May 2015 20:56:04 +0000
Message-ID: <AAB1CC9C17CBA440BDFA169056B93B9EBE8260@eusaamb107.ericsson.se>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [147.117.188.10]
Content-Type: multipart/alternative; boundary="_000_AAB1CC9C17CBA440BDFA169056B93B9EBE8260eusaamb107ericsso_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrDLMWRmVeSWpSXmKPExsUyuXRPrO5CgaBQg7XnpC1+P7/N7MDosWTJ T6YAxigum5TUnMyy1CJ9uwSujB0NnSwFP3YxV7Q0dTE3MD5vYu5i5OSQEDCRuLT9DBuELSZx 4d56IJuLQ0jgKKPE9KO/oJzljBLr+qawdzFycLAJaElcfuoI0iAiYC7RPPsM2CBhAWWJ299X skDENSSu34SIiwjoSVz//pAJxGYRUJXY+2wRWJxXwFtiSeM+sHpGoMXfT60Bq2EWEJe49WQ+ E8RBAhJL9pyHOlRU4uXjf6wQtpLEpKXnWCHq8yU23bnJDjFTUOLkzCcsExiFZiEZNQtJ2Swk ZRBxHYkFuz+xQdjaEssWvmaGsc8ceMyELL6AkX0VI0dpcWpZbrqRwSZGYPAfk2DT3cG456Xl IUYBDkYlHt4H0wJDhVgTy4orcw8xSnOwKInzLnpwMERIID2xJDU7NbUgtSi+qDQntfgQIxMH p1QD44QDWevijzQEetdvEnS+lMllVx6t/UdaTPRx4X8XBmVbDpewl2Kz/v+TlxUwnZf1qDmg U+h0QFvB6qqZcz9srbP+/exwmZzXOtkjEad1bD23hVaF8t8Kf39ryfs1ymkmvIp7BVaXaHpE FAWnrFETO9f9ZtmX58tk/4rxzkn+afR/m8jX890PlViKMxINtZiLihMBXUvOXV8CAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/FZWh1LuEzaYT028jUq0MfAdDRQU>
Subject: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 May 2015 20:56:16 -0000

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

During the YANG MPLS/TE design team discussions, the topic of operational s=
tate modeling was brought up. We discussed the proposal presented in http:/=
/www.ietf.org/id/draft-openconfig-netmod-opstate-00.txt and some various ap=
proaches. Here are some thoughts and questions.
1.    Requirements
We agree with the requirements presented in draft-openconfig-netmod-opstate=
. These requirements are summarized as followings.
1.1.Performance Requirement

*            Operational state access is much more frequent than configurat=
ion

*            State data is generally higher volume than configuration data

1.2.Data Type Requirements

*            Representing intended configuration (actual vs. configured)

*            Derived, negotiated, and system assigned data

*            Counters or statistics

1.3.Operation Requirements

*            Separate configuration and operational state data

*            Retrieve configuration and operational state data independentl=
y

*            Retrieve derived state and statistics state independently

*            Consistent schema locations for configuration and correspondin=
g operational state data

2.    Some Options
2.1.Option 1



/routing/routing-instance:

   +--rw te!

      +--rw globals

      +--rw interfaces

      |  +--rw interface* [interface]

      |     +--rw interface                 if:interface-ref

            +--rw config

      |        +--rw switching-capabilities* [switching-capability]

                  +--rw config

      |           |  +--rw capability?   identityref

      |          |  +--rw encoding?     identityref

                  +--ro state

      |              +--ro capability?   identityref

      |             +--ro encoding?     identityref

      |        +--rw te-metric?                ietf-te-types:te-metric

            +--ro state

      |        +--ro te-metric?                ietf-te-types:te-metric

               +--ro oper-status?            enumeration

               +--ro counters

                     +--ro pkts-sent?              yang:counter32

      +--rw tunnels

         +--rw tunnel* [name type]

            +--rw name                    string

            +--rw config

               |  +--rw admin-status?           identityref

            |  +--rw forwarding

                  +--rw config

            |        +--rw load-share?   uint32

                  +--ro state

            |        +--ro load-share?   uint32

            +--ro state

                  +--ro admin-status?           identityref

               +--ro oper-status?            enumeration

               +--ro counters

                  +--ro events?              yang:counter32

2.2.Option 2



/routing/routing-instance:

   +--rw te!

      +--rw globals

      +--rw interfaces

      |  +--rw interface* [interface]

      |     +--rw interface                 if:interface-ref

      |     +--rw switching-capabilities* [switching-capability]

      |     |  +--rw capability?   identityref

      |     |  +--rw encoding?     identityref

      |     +--rw te-metric?                ietf-te-types:te-metric

      +--rw tunnels

         +--rw tunnel* [name type]

            +--rw name                    string

            +--rw admin-status?           identityref

            +--rw forwarding

               +--rw load-share?   uint32

/routing-state/routing-instance:

   +--ro te!

      +--ro globals

      +--ro interfaces

      |  +--ro interface* [interface]

      |     +--ro interface                 if:interface-ref

      |     +--ro switching-capabilities* [switching-capability]

      |     |  +--ro capability?   identityref

      |     |  +--ro encoding?     identityref

      |     +--ro te-metric?                ietf-te-types:te-metric

            +--ro oper-status?            enumeration

            +--ro counters

               +--ro pkts-sent?              yang:counter32

      +--ro tunnels

         +--ro tunnel* [name type]

            +--ro name                    string

            +--ro admin-status?           identityref

            +--ro forwarding

               +--ro load-share?   uint32

            +--ro oper-status?            enumeration

            +--ro counters

               +--ro events?              yang:counter32



2.3.Option 3


/routing/routing-instance:

   +--rw te!

      +--rw globals

      +--rw interfaces

      |  +--rw interface* [interface]

      |     +--rw interface                 if:interface-ref

            +--rw config

      |        +--rw switching-capabilities* [switching-capability]

                  +--rw config

      |           |  +--rw capability?   identityref

      |          |  +--rw encoding?     identityref

                  +--ro state

      |              +--ro capability?   identityref

      |             +--ro encoding?     identityref

      |        +--rw te-metric?                ietf-te-types:te-metric

            +--ro state

      |        +--ro te-metric?                ietf-te-types:te-metric

      +--rw tunnels

         +--rw tunnel* [name type]

            +--rw name                    string

            +--rw config

               |  +--rw admin-status?           identityref

            |  +--rw forwarding

                  +--rw config

            |        +--rw load-share?   uint32

                  +--ro state

            |        +--ro load-share?   uint32

            +--ro state

               +--ro admin-status?           identityref



/routing-state/routing-instance:

   +--ro te!

      +--ro globals

      +--ro interfaces

      |  +--ro interface* [interface]

      |     +--ro interface                 if:interface-ref

            +--ro oper-status?            enumeration

            +--ro counters

               +--ro pkts-sent?              yang:counter32

      +--ro tunnels

         +--ro tunnel* [name type]

            +--ro name                    string

            +--ro oper-status?            enumeration

            +--ro counters

               +--ro events?              yang:counter32



3.    Approach Rationales
1.1.Performance Requirement

*            Separating configuration and state branches allows implementin=
g state data through a separate fast channel to deliver high frequent and h=
igh volume data.

*            In this aspect, Option 2 has a clearer separation between conf=
iguration and state data, and easier to achieve better performance by using=
 separate channels.

1.2.Data Type Requirements

*            Duplicating all configuration attributes makes actual configur=
ation settings available

*            Derived, negotiated, and system assigned data are added to the=
 state branch

*            Counters or statistics are added to the state branch

*            All three options satisfy these requirements

1.3.Operation Requirements

*            Separating configuration and operational state data allows ret=
rieving configuration and operational state data independently.

*            Separating derived state and statistics state allows retrievin=
g them independently

*            The state branch is an exact mirror of the configuration branc=
h, so the schema locations are consistent.

*            In this aspect, all three options satisfy the requirements. Fo=
r option 1, to check the state value for a specific configuration attribute=
, the client software can simply add the "state" to the end of the schema n=
ode path. For option 2, to check the state value for a specific configurati=
on attribute, the client software can simply add the "-state" suffix to the=
 name of the top container. Option 1 seems to be easiest in this regard, bu=
t others are acceptable?

1.4.Other Requirements

*             Model system created read-only objects (e.g. TE tunnels). Whe=
n state data and config data share the same parent, they share the same key=
 for the parent list. Even though that the state branch is read-only, its p=
arent is not and the key of the parent is not. Therefore, we will have diff=
iculty to achieve this in Option 1.

*             Compatible with the existing models. The related models inclu=
de RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. In this aspect, O=
ption 2 seems to do better.

Your comments and preferences are appreciated.
Thanks,

- Xufeng


--_000_AAB1CC9C17CBA440BDFA169056B93B9EBE8260eusaamb107ericsso_
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 14 (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:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
	{font-family:Cambria;
	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";}
h1
	{mso-style-priority:9;
	mso-style-link:"Heading 1 Char";
	margin-top:24.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Cambria","serif";
	color:#365F91;}
h2
	{mso-style-priority:9;
	mso-style-link:"Heading 2 Char";
	margin-top:10.0pt;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:0in;
	margin-bottom:.0001pt;
	line-height:115%;
	page-break-after:avoid;
	font-size:13.0pt;
	font-family:"Cambria","serif";
	color:#4F81BD;}
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:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParag=
raphCxSpFirst
	{mso-style-priority:34;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListPar=
agraphCxSpMiddle
	{mso-style-priority:34;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagra=
phCxSpLast
	{mso-style-priority:34;
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	mso-add-space:auto;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.Heading1Char
	{mso-style-name:"Heading 1 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 1";
	font-family:"Cambria","serif";
	color:#365F91;
	font-weight:bold;}
span.Heading2Char
	{mso-style-name:"Heading 2 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 2";
	font-family:"Cambria","serif";
	color:#4F81BD;
	font-weight:bold;}
span.CodeChar
	{mso-style-name:"Code Char";
	mso-style-link:Code;
	font-family:"Courier New";}
p.Code, li.Code, div.Code
	{mso-style-name:Code;
	mso-style-link:"Code Char";
	margin-top:0in;
	margin-right:0in;
	margin-bottom:12.0pt;
	margin-left:0in;
	mso-add-space:auto;
	font-size:11.0pt;
	font-family:"Courier New";}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
	{mso-style-name:CodeCxSpFirst;
	mso-style-link:"Code Char";
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	font-size:11.0pt;
	font-family:"Courier New";}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
	{mso-style-name:CodeCxSpMiddle;
	mso-style-link:"Code Char";
	mso-style-type:export-only;
	margin:0in;
	margin-bottom:.0001pt;
	mso-add-space:auto;
	font-size:11.0pt;
	font-family:"Courier New";}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
	{mso-style-name:CodeCxSpLast;
	mso-style-link:"Code Char";
	mso-style-type:export-only;
	margin-top:0in;
	margin-right:0in;
	margin-bottom:12.0pt;
	margin-left:0in;
	mso-add-space:auto;
	font-size:11.0pt;
	font-family:"Courier New";}
.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;}
/* List Definitions */
@list l0
	{mso-list-id:249586775;
	mso-list-template-ids:-1058609094;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.25in;
	text-indent:-.25in;}
@list l0:level2
	{mso-level-text:"%1\.%2\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.55in;
	text-indent:-.3in;}
@list l0:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.85in;
	text-indent:-.35in;
	font-family:Symbol;}
@list l0:level4
	{mso-level-text:"%1\.%2\.%3\.%4\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.2in;
	text-indent:-.45in;}
@list l0:level5
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.55in;
	text-indent:-.55in;}
@list l0:level6
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.9in;
	text-indent:-.65in;}
@list l0:level7
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.25in;
	text-indent:-.75in;}
@list l0:level8
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.6in;
	text-indent:-.85in;}
@list l0:level9
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:3.0in;
	text-indent:-1.0in;}
@list l1
	{mso-list-id:661589757;
	mso-list-template-ids:-1058609094;}
@list l1:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.25in;
	text-indent:-.25in;}
@list l1:level2
	{mso-level-text:"%1\.%2\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.55in;
	text-indent:-.3in;}
@list l1:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.85in;
	text-indent:-.35in;
	font-family:Symbol;}
@list l1:level4
	{mso-level-text:"%1\.%2\.%3\.%4\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.2in;
	text-indent:-.45in;}
@list l1:level5
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.55in;
	text-indent:-.55in;}
@list l1:level6
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.9in;
	text-indent:-.65in;}
@list l1:level7
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.25in;
	text-indent:-.75in;}
@list l1:level8
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.6in;
	text-indent:-.85in;}
@list l1:level9
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:3.0in;
	text-indent:-1.0in;}
@list l2
	{mso-list-id:1251348592;
	mso-list-template-ids:-1058609094;}
@list l2:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.25in;
	text-indent:-.25in;}
@list l2:level2
	{mso-level-text:"%1\.%2\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.55in;
	text-indent:-.3in;}
@list l2:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.85in;
	text-indent:-.35in;
	font-family:Symbol;}
@list l2:level4
	{mso-level-text:"%1\.%2\.%3\.%4\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.2in;
	text-indent:-.45in;}
@list l2:level5
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.55in;
	text-indent:-.55in;}
@list l2:level6
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.9in;
	text-indent:-.65in;}
@list l2:level7
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.25in;
	text-indent:-.75in;}
@list l2:level8
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.6in;
	text-indent:-.85in;}
@list l2:level9
	{mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9\.";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:3.0in;
	text-indent:-1.0in;}
@list l3
	{mso-list-id:1901865581;
	mso-list-type:hybrid;
	mso-list-template-ids:-1716339060 67698689 67698691 67698693 67698689 6769=
8691 67698693 67698689 67698691 67698693;}
@list l3:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:.75in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l3:level2
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.25in;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l3:level3
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:1.75in;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l3:level4
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.25in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l3:level5
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:2.75in;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l3:level6
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:3.25in;
	text-indent:-.25in;
	font-family:Wingdings;}
@list l3:level7
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:3.75in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l3:level8
	{mso-level-number-format:bullet;
	mso-level-text:o;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:4.25in;
	text-indent:-.25in;
	font-family:"Courier New";}
@list l3:level9
	{mso-level-number-format:bullet;
	mso-level-text:\F0A7;
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:4.75in;
	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">During the YANG MPLS/TE design team discussions, the=
 topic of operational state modeling was brought up. We discussed the propo=
sal presented in
<a href=3D"http://www.ietf.org/id/draft-openconfig-netmod-opstate-00.txt"><=
span style=3D"font-size:10.5pt">http://www.ietf.org/id/draft-openconfig-net=
mod-opstate-00.txt</span></a><span style=3D"font-size:10.5pt;color:black"> =
and some various approaches. Here are
 some thoughts and questions.</span><o:p></o:p></p>
<h2 style=3D"margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo1">=
<![if !supportLists]><span style=3D"mso-list:Ignore">1.<span style=3D"font:=
7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Requirements<o:p></o:p></h2>
<p class=3D"MsoNormal">We agree with the requirements presented in draft-op=
enconfig-netmod-opstate. These requirements are summarized as followings.<o=
:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.1.</span><![endif]>Pe=
rformance Requirement<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Operational state access is much more freque=
nt than configuration<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>State data is generally higher volume than c=
onfiguration data<o:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.2.</span><![endif]>Da=
ta Type Requirements<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Representing intended configuration (actual =
vs. configured)<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Derived, negotiated, and system assigned dat=
a<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Counters or statistics<o:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.3.</span><![endif]>Op=
eration Requirements<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l1 level3 lfo1">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Separate configuration and operational state=
 data<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Retrieve configuration and operational state=
 data independently<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Retrieve derived state and statistics state =
independently<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Consistent schema locations for configuratio=
n and corresponding operational state data<o:p></o:p></p>
<h2 style=3D"margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo1">=
<![if !supportLists]><span style=3D"mso-list:Ignore">2.<span style=3D"font:=
7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Some Options<o:p></o:p></h2>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">2.1.</span><![endif]>Op=
tion 1<o:p></o:p></h2>
<p class=3D"CodeCxSpFirst"><o:p>&nbsp;</o:p></p>
<p class=3D"CodeCxSpMiddle">/routing/routing-instance:<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &#43;--rw te!<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw global=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw interf=
aces<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--r=
w interface* [interface]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--rw interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if:interface-ref<o:p></o=
:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw switching-capabilities* [switching-ca=
pability]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:=
p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--rw capability?=
&nbsp;&nbsp; identityref<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;|&nbsp; &#43;--rw encoding?&nbsp;&n=
bsp;&nbsp;&nbsp; identityref<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>&#43;--ro state<=
o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--r=
o capability?&nbsp;&nbsp; identityref<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#43;--ro enco=
ding?&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw te-metric?&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-typ=
es:te-metric<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; <b>&#43;--ro state<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro te-metric?&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-=
types:te-metric</b><o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style=3D"color:#0070C0">&#43;--=
ro oper-status?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp; enumeration<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro counters<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&#43;--ro pkts-sent?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yang:counter32&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#43;--rw t=
unnels<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; &#43;--rw tunnel* [name type]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=
tring<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; &nbsp;&nbsp;&#43;--rw config<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbs=
p;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; &#43;--rw admin-status?&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></p=
>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--rw forwarding<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:=
p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw l=
oad-share?&nbsp;&nbsp; uint32<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro state<=
o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--r=
o load-share?&nbsp;&nbsp; uint32<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; &#43;--ro state<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&=
nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#43;--ro admin-statu=
s?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<=
o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro oper-status?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp; enumeration<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro counters<o:p></o:p></span></p>
<p class=3D"CodeCxSpLast"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; &#43;--ro events?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; yang:counter32<o:p></o:p></span></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">2.2.</span><![endif]>Op=
tion 2<o:p></o:p></h2>
<p class=3D"CodeCxSpFirst"><o:p>&nbsp;</o:p></p>
<p class=3D"CodeCxSpMiddle">/routing/routing-instance:<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &#43;--rw te!<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw global=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw interf=
aces<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--r=
w interface* [interface]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--rw interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if:interface-ref<o:p></o=
:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--rw switching-capabilities* [switching-capability]<o:p></o:=
p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; |&nbsp; &#43;--rw capability?&nbsp;&nbsp; identityref<o:p></o:p><=
/p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; |&nbsp; &#43;--rw encoding?&nbsp;&nbsp;&nbsp;&nbsp; identityref<o=
:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--rw te-metric?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-types:te-metric<o:p><=
/o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw tunnel=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; &#43;--rw tunnel* [name type]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=
tring<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&#43;--rw admin-status?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw forwarding<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw load-share?&nbsp;&nbsp; uin=
t32<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">/routing-state/routing-instance:<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &#43;--ro te!<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro global=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro interf=
aces<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--r=
o interface* [interface]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &nbsp;&n=
bsp;&nbsp;&#43;--ro interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if:interface-ref<o:p></o=
:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp; &#43;--ro switching-capabilities* [switching-capability]<o:p><=
/o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp; |&nbsp; &#43;--ro capability?&nbsp;&nbsp; identityref<o:p></o:=
p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp; |&nbsp; &#43;--ro encoding?&nbsp;&nbsp;&nbsp;&nbsp; identityre=
f<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp; &#43;--ro te-metric?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-types:te-metric<o:=
p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro oper-status?&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enumeration=
<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro counters<o:p></=
o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro pkts-sent?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; yang:counter32<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro tunnel=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; &#43;--ro tunnel* [name type]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--ro name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s=
tring<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; &#43;--ro admin-status?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; &#43;--ro forwarding<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro load-share?&nbsp;&nbsp; =
uint32<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro oper-status?&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enumeration=
<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro counters<o:p></=
o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro events?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbs=
p;&nbsp;&nbsp;yang:counter32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></p>
<p class=3D"CodeCxSpLast"><o:p>&nbsp;</o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l1 level2 lfo1"><=
![if !supportLists]><span style=3D"mso-list:Ignore">2.3.</span><![endif]>Op=
tion 3<o:p></o:p></h2>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"CodeCxSpFirst">/routing/routing-instance:<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &#43;--rw te!<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw global=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw interf=
aces<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--r=
w interface* [interface]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--rw interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if:interface-ref<o:p></o=
:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &nbsp;&nbsp;&nbsp;&#43;--rw switching-capabilities* [switching-ca=
pability]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:=
p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--rw capability?=
&nbsp;&nbsp; identityref<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;|&nbsp; &#43;--rw encoding?&nbsp;&n=
bsp;&nbsp;&nbsp; identityref<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro state<=
o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--r=
o capability?&nbsp;&nbsp; identityref<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#43;--ro enco=
ding?&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw te-metric?&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-typ=
es:te-metric<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; &#43;--ro state<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro te-metric?&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ietf-te-=
types:te-metric<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw tunnel=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; &#43;--rw tunnel* [name type]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=
tring<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbs=
p;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; &#43;--rw admin-status?&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></p=
>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--rw forwarding<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw config<o:=
p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--rw l=
oad-share?&nbsp;&nbsp; uint32<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro state<=
o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--r=
o load-share?&nbsp;&nbsp; uint32<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; <b>&#43;--ro state<o:p></o:p></b></p>
<p class=3D"CodeCxSpMiddle"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro admin-status?&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; identityref<o:p></o:p></b=
></p>
<p class=3D"CodeCxSpMiddle"><o:p>&nbsp;</o:p></p>
<p class=3D"CodeCxSpMiddle">/routing-state/routing-instance:<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &#43;--ro te!<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro global=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&#43;--ro interf=
aces<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; &#43;--r=
o interface* [interface]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nb=
sp;&nbsp; &#43;--ro interface&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if:interface-ref<o:p></o=
:p></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro oper-status?&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enumeration=
<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro counters<o:p></=
o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro pkts-sent?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; yang:counter32<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro tunnel=
s<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; &#43;--ro tunnel* [name type]<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &#43;--ro name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s=
tring<o:p></o:p></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro oper-status?&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enumeration=
<o:p></o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--ro counters<o:p></=
o:p></span></p>
<p class=3D"CodeCxSpMiddle"><span style=3D"color:#0070C0">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#43;--=
ro events?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; yang:counter32
<o:p></o:p></span></p>
<p class=3D"CodeCxSpLast"><o:p>&nbsp;</o:p></p>
<h2 style=3D"margin-left:.25in;text-indent:-.25in;mso-list:l1 level1 lfo1">=
<![if !supportLists]><span style=3D"mso-list:Ignore">3.<span style=3D"font:=
7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;
</span></span><![endif]>Approach Rationales<o:p></o:p></h2>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l0 level2 lfo3"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.1.</span><![endif]>Pe=
rformance Requirement<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Separating configuration and state branches =
allows implementing state data through a separate fast channel to deliver h=
igh frequent and high volume data.<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>In this aspect, Option 2 has a clearer separ=
ation between configuration and state data, and easier to achieve better pe=
rformance by using separate channels.<o:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l0 level2 lfo3"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.2.</span><![endif]>Da=
ta Type Requirements<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Duplicating all configuration attributes mak=
es actual configuration settings available<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Derived, negotiated, and system assigned dat=
a are added to the state branch<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Counters or statistics are added to the stat=
e branch<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>All three options satisfy these requirements=
<o:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l0 level2 lfo3"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.3.</span><![endif]>Op=
eration Requirements<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:.85in;mso-add-s=
pace:auto;text-indent:-.35in;mso-list:l0 level3 lfo3">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Separating configuration and operational sta=
te data allows retrieving configuration and operational state data independ=
ently.<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Separating derived state and statistics stat=
e allows retrieving them independently<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpMiddle" style=3D"margin-left:.85in;mso-add-=
space:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>The state branch is an exact mirror of the c=
onfiguration branch, so the schema locations are consistent.
<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:.85in;mso-add-sp=
ace:auto;text-indent:-.35in;mso-list:l2 level3 lfo2">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>In this aspect, all three options satisfy th=
e requirements. For option 1, to check the state value for a specific confi=
guration attribute, the client software can simply add the &#8220;state&#82=
21; to the end of the schema node path. For
 option 2, to check the state value for a specific configuration attribute,=
 the client software can simply add the &#8220;-state&#8221; suffix to the =
name of the top container. Option 1 seems to be easiest in this regard, but=
 others are acceptable?<o:p></o:p></p>
<h2 style=3D"margin-left:.55in;text-indent:-.3in;mso-list:l0 level2 lfo3"><=
![if !supportLists]><span style=3D"mso-list:Ignore">1.4.</span><![endif]>Ot=
her Requirements<o:p></o:p></h2>
<p class=3D"MsoListParagraphCxSpFirst" style=3D"margin-left:63.0pt;mso-add-=
space:auto;text-indent:-27.0pt;mso-list:l3 level1 lfo4">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Model system created read-only objects (e.g.=
 TE tunnels). When state data and config data share the same parent, they s=
hare the same key for the parent list. Even though that the state branch is=
 read-only, its parent is not and
 the key of the parent is not. Therefore, we will have difficulty to achiev=
e this in Option 1.<o:p></o:p></p>
<p class=3D"MsoListParagraphCxSpLast" style=3D"margin-left:63.0pt;mso-add-s=
pace:auto;text-indent:-27.0pt;mso-list:l3 level1 lfo4">
<![if !supportLists]><span style=3D"font-family:Symbol"><span style=3D"mso-=
list:Ignore">&middot;<span style=3D"font:7.0pt &quot;Times New Roman&quot;"=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Compatible with the existing models. The rel=
ated models include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. =
In this aspect, Option 2 seems to do better.<o:p></o:p></p>
<p class=3D"Code">Your comments and preferences are appreciated.<o:p></o:p>=
</p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">- Xufeng<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>

--_000_AAB1CC9C17CBA440BDFA169056B93B9EBE8260eusaamb107ericsso_--


From nobody Tue May 12 14:17:31 2015
Return-Path: <russw@riw.us>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 744051A902C for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:17:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.79
X-Spam-Level: 
X-Spam-Status: No, score=0.79 tagged_above=-999 required=5 tests=[BAYES_50=0.8, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 dPTkH8sngKxF for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:17:28 -0700 (PDT)
Received: from server.riw.us (server.riw.us [162.144.32.236]) (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 5D08A1A901D for <Rtg-yang-coord@ietf.org>; Tue, 12 May 2015 14:17:27 -0700 (PDT)
Received: from 162-229-180-77.lightspeed.rlghnc.sbcglobal.net ([162.229.180.77]:63586 helo=RussPC) by server.riw.us with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.85) (envelope-from <russw@riw.us>) id 1YsHYL-0007wV-3I; Tue, 12 May 2015 21:17:25 +0000
From: "Russ White" <russw@riw.us>
To: "'Xufeng Liu'" <xufeng.liu@ericsson.com>, <Rtg-yang-coord@ietf.org>
References: <AAB1CC9C17CBA440BDFA169056B93B9EBE8260@eusaamb107.ericsson.se>
In-Reply-To: <AAB1CC9C17CBA440BDFA169056B93B9EBE8260@eusaamb107.ericsson.se>
Date: Tue, 12 May 2015 17:17:22 -0400
Message-ID: <003901d08cf9$09cc8c90$1d65a5b0$@riw.us>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQHL9QK19n8XDxLtLL9w/thfSdrdSJ2CB4Wg
Content-Language: en-us
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server.riw.us
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - riw.us
X-Get-Message-Sender-Via: server.riw.us: authenticated_id: russw@riw.us
X-Source: 
X-Source-Args: 
X-Source-Dir: 
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/aa2eSRHeIg7UYAnChKlPPulbUTQ>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 May 2015 21:17:29 -0000

> 2.1.Option 1

This is my least preferred option, because it seems to tie the existence of
any tunnels to their configuration in some way. There may well be TE tunnels
not configured by a local process, and yet you want to be able to see their
state (?). Given this, I would prefer one of the options that separates rw
from ro more cleanly.

:-)

Russ 



From nobody Tue May 12 14:23:51 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C26941AD1D5 for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:23:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 BRx1C5rcqjep for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:23:48 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E6BA1AD1C3 for <Rtg-yang-coord@ietf.org>; Tue, 12 May 2015 14:23:48 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id E299B763; Tue, 12 May 2015 23:23:46 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id ybMGiVCGhy7i; Tue, 12 May 2015 23:23:41 +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 atlas3.jacobs-university.de (Postfix) with ESMTPS; Tue, 12 May 2015 23:23:46 +0200 (CEST)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id E79B020035; Tue, 12 May 2015 23:23:45 +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 Uk0ZTkr3Ad2Y; Tue, 12 May 2015 23:23:45 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id D842020036; Tue, 12 May 2015 23:23:44 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id D7A623332061; Tue, 12 May 2015 23:23:42 +0200 (CEST)
Date: Tue, 12 May 2015 23:23:42 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Xufeng Liu <xufeng.liu@ericsson.com>
Message-ID: <20150512212342.GA58293@elstar.local>
Mail-Followup-To: Xufeng Liu <xufeng.liu@ericsson.com>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
References: <AAB1CC9C17CBA440BDFA169056B93B9EBE8260@eusaamb107.ericsson.se>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <AAB1CC9C17CBA440BDFA169056B93B9EBE8260@eusaamb107.ericsson.se>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/yGRMCENs-741wgITQIht2Cxp1to>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 May 2015 21:23:50 -0000

On Tue, May 12, 2015 at 08:56:04PM +0000, Xufeng Liu wrote:
 
> *            The state branch is an exact mirror of the configuration branch, so the schema locations are consistent.

There are sometimes slight differences in the value sets of objects
and in the constraints that apply. A valid configuration may have to
follow certain constraints but the operational state must report the
truth (and that might include violations of constraints).
 
> *            In this aspect, all three options satisfy the requirements. For option 1, to check the state value for a specific configuration attribute, the client software can simply add the "state" to the end of the schema node path. For option 2, to check the state value for a specific configuration attribute, the client software can simply add the "-state" suffix to the name of the top container. Option 1 seems to be easiest in this regard, but others are acceptable?

Several of data models published in RFCs use the

/foo
/foo-state

approach and unless someone finds a serious flaw or limitation, I
suggest to stick with this approach. I do not think it helps operators
if data models developed in different parts of the IETF use different
approaches unless there is a strong reason to do so.

> 1.4.Other Requirements
> 
> *             Model system created read-only objects (e.g. TE tunnels). When state data and config data share the same parent, they share the same key for the parent list. Even though that the state branch is read-only, its parent is not and the key of the parent is not. Therefore, we will have difficulty to achieve this in Option 1.

Yes, branching in the middle is a bad idea. People seem to rediscover
this. ;-)

> *             Compatible with the existing models. The related models include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. In this aspect, Option 2 seems to do better.

Yep. It is as simple as 'follow the existing pattern'. ;-)

/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 Tue May 12 14:26:41 2015
Return-Path: <acee@cisco.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 183811A902C for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:26:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level: 
X-Spam-Status: No, score=-14.51 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 LHWidKWHr6sg for <rtg-yang-coord@ietfa.amsl.com>; Tue, 12 May 2015 14:26:36 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 941F51A8AE2 for <Rtg-yang-coord@ietf.org>; Tue, 12 May 2015 14:26:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=80321; q=dns/txt; s=iport; t=1431465995; x=1432675595; h=from:to:subject:date:message-id:mime-version; bh=0BslqZyQXnZ9QnSRgydNAGTYLQMBjdTn5QkWNXOk9tU=; b=YPrJ9fkH8A8/UcIPUVq2RN46sus+2TCbD+/ukG+1kI3B/Rn2Bde9c8pK xNQosJUAaOI8hjFrgXJDTpZroHl6ogSdITTiqncdm9UroVsxtmQz8oHlu Wdn//CRzzXcQsN+/pDE3Gc27EWR7nmMLB/KWS25jhcn5Tdki+oPIql5Vj 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CPBAD1blJV/5ldJa1cgkVKVF4GgxjCDAmBWIYFAhyBJDgUAQEBAQEBAYEKhCABAgQjCl4BCBEDAQIhAQYDAgQwFAkKBAESCYgjDbZBk3ABAQEBBgEBAQEBAQEbizmEdBeCaYFFBYs4hxaKa4Ekhl2LF4NVI4N3bwGBRIEBAQEB
X-IronPort-AV: E=Sophos;i="5.13,417,1427760000";  d="scan'208,217";a="149444648"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by alln-iport-3.cisco.com with ESMTP; 12 May 2015 21:26:34 +0000
Received: from xhc-rcd-x06.cisco.com (xhc-rcd-x06.cisco.com [173.37.183.80]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t4CLQYCW008899 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 12 May 2015 21:26:34 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.23]) by xhc-rcd-x06.cisco.com ([173.37.183.80]) with mapi id 14.03.0195.001; Tue, 12 May 2015 16:26:34 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Xufeng Liu <xufeng.liu@ericsson.com>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Thread-Topic: [Rtg-yang-coord] Operational State Modeling
Thread-Index: AQHQjPpRkKpDh+jYTPGkN01wChYhCQ==
Date: Tue, 12 May 2015 21:26:33 +0000
Message-ID: <D177E7E1.1AC4C%acee@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.116.152.202]
Content-Type: multipart/alternative; boundary="_000_D177E7E11AC4Caceeciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/4_s7kzNo2ZHmCeG1HBV4mvWvTXg>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 12 May 2015 21:26:39 -0000

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

SGkgWHVmZW5nLA0KDQpNeSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgT3BlbkNvbmZpZyBkcmFmdCBp
cyB0aGF0IGl0IHJlY29tbWVuZHMgb3B0aW9uIDEuIEFjdHVhbGx5LCBvcHRpb24gMyBzZWVtcyBs
aWtlIGEgdmFyaWF0aW9uIG9mIDEgd2l0aCBzb21lIHN1cGVyZmx1b3VzIGxldmVscy4NCg0KVGhh
bmtzLA0KQWNlZQ0KDQpGcm9tOiBYdWZlbmcgTGl1IDx4dWZlbmcubGl1QGVyaWNzc29uLmNvbTxt
YWlsdG86eHVmZW5nLmxpdUBlcmljc3Nvbi5jb20+Pg0KRGF0ZTogVHVlc2RheSwgTWF5IDEyLCAy
MDE1IGF0IDQ6NTYgUE0NClRvOiBSb3V0aW5nIFlBTkcgPHJ0Zy15YW5nLWNvb3JkQGlldGYub3Jn
PG1haWx0bzpydGcteWFuZy1jb29yZEBpZXRmLm9yZz4+DQpTdWJqZWN0OiBbUnRnLXlhbmctY29v
cmRdIE9wZXJhdGlvbmFsIFN0YXRlIE1vZGVsaW5nDQoNCkR1cmluZyB0aGUgWUFORyBNUExTL1RF
IGRlc2lnbiB0ZWFtIGRpc2N1c3Npb25zLCB0aGUgdG9waWMgb2Ygb3BlcmF0aW9uYWwgc3RhdGUg
bW9kZWxpbmcgd2FzIGJyb3VnaHQgdXAuIFdlIGRpc2N1c3NlZCB0aGUgcHJvcG9zYWwgcHJlc2Vu
dGVkIGluIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaWQvZHJhZnQtb3BlbmNvbmZpZy1uZXRtb2Qtb3Bz
dGF0ZS0wMC50eHQgYW5kIHNvbWUgdmFyaW91cyBhcHByb2FjaGVzLiBIZXJlIGFyZSBzb21lIHRo
b3VnaHRzIGFuZCBxdWVzdGlvbnMuDQoxLiAgICBSZXF1aXJlbWVudHMNCldlIGFncmVlIHdpdGgg
dGhlIHJlcXVpcmVtZW50cyBwcmVzZW50ZWQgaW4gZHJhZnQtb3BlbmNvbmZpZy1uZXRtb2Qtb3Bz
dGF0ZS4gVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBzdW1tYXJpemVkIGFzIGZvbGxvd2luZ3MuDQox
LjEuUGVyZm9ybWFuY2UgUmVxdWlyZW1lbnQNCg0KwrcgICAgICAgICAgICBPcGVyYXRpb25hbCBz
dGF0ZSBhY2Nlc3MgaXMgbXVjaCBtb3JlIGZyZXF1ZW50IHRoYW4gY29uZmlndXJhdGlvbg0KDQrC
tyAgICAgICAgICAgIFN0YXRlIGRhdGEgaXMgZ2VuZXJhbGx5IGhpZ2hlciB2b2x1bWUgdGhhbiBj
b25maWd1cmF0aW9uIGRhdGENCg0KMS4yLkRhdGEgVHlwZSBSZXF1aXJlbWVudHMNCg0KwrcgICAg
ICAgICAgICBSZXByZXNlbnRpbmcgaW50ZW5kZWQgY29uZmlndXJhdGlvbiAoYWN0dWFsIHZzLiBj
b25maWd1cmVkKQ0KDQrCtyAgICAgICAgICAgIERlcml2ZWQsIG5lZ290aWF0ZWQsIGFuZCBzeXN0
ZW0gYXNzaWduZWQgZGF0YQ0KDQrCtyAgICAgICAgICAgIENvdW50ZXJzIG9yIHN0YXRpc3RpY3MN
Cg0KMS4zLk9wZXJhdGlvbiBSZXF1aXJlbWVudHMNCg0KwrcgICAgICAgICAgICBTZXBhcmF0ZSBj
b25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBzdGF0ZSBkYXRhDQoNCsK3ICAgICAgICAgICAg
UmV0cmlldmUgY29uZmlndXJhdGlvbiBhbmQgb3BlcmF0aW9uYWwgc3RhdGUgZGF0YSBpbmRlcGVu
ZGVudGx5DQoNCsK3ICAgICAgICAgICAgUmV0cmlldmUgZGVyaXZlZCBzdGF0ZSBhbmQgc3RhdGlz
dGljcyBzdGF0ZSBpbmRlcGVuZGVudGx5DQoNCsK3ICAgICAgICAgICAgQ29uc2lzdGVudCBzY2hl
bWEgbG9jYXRpb25zIGZvciBjb25maWd1cmF0aW9uIGFuZCBjb3JyZXNwb25kaW5nIG9wZXJhdGlv
bmFsIHN0YXRlIGRhdGENCg0KMi4gICAgU29tZSBPcHRpb25zDQoyLjEuT3B0aW9uIDENCg0KDQoN
Ci9yb3V0aW5nL3JvdXRpbmctaW5zdGFuY2U6DQoNCiAgICstLXJ3IHRlIQ0KDQogICAgICArLS1y
dyBnbG9iYWxzDQoNCiAgICAgICstLXJ3IGludGVyZmFjZXMNCg0KICAgICAgfCAgKy0tcncgaW50
ZXJmYWNlKiBbaW50ZXJmYWNlXQ0KDQogICAgICB8ICAgICArLS1ydyBpbnRlcmZhY2UgICAgICAg
ICAgICAgICAgIGlmOmludGVyZmFjZS1yZWYNCg0KICAgICAgICAgICAgKy0tcncgY29uZmlnDQoN
CiAgICAgIHwgICAgICAgICstLXJ3IHN3aXRjaGluZy1jYXBhYmlsaXRpZXMqIFtzd2l0Y2hpbmct
Y2FwYWJpbGl0eV0NCg0KICAgICAgICAgICAgICAgICAgKy0tcncgY29uZmlnDQoNCiAgICAgIHwg
ICAgICAgICAgIHwgICstLXJ3IGNhcGFiaWxpdHk/ICAgaWRlbnRpdHlyZWYNCg0KICAgICAgfCAg
ICAgICAgICB8ICArLS1ydyBlbmNvZGluZz8gICAgIGlkZW50aXR5cmVmDQoNCiAgICAgICAgICAg
ICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgIHwgICAgICAgICAgICAgICstLXJvIGNhcGFiaWxp
dHk/ICAgaWRlbnRpdHlyZWYNCg0KICAgICAgfCAgICAgICAgICAgICArLS1ybyBlbmNvZGluZz8g
ICAgIGlkZW50aXR5cmVmDQoNCiAgICAgIHwgICAgICAgICstLXJ3IHRlLW1ldHJpYz8gICAgICAg
ICAgICAgICAgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWMNCg0KICAgICAgICAgICAgKy0tcm8gc3Rh
dGUNCg0KICAgICAgfCAgICAgICAgKy0tcm8gdGUtbWV0cmljPyAgICAgICAgICAgICAgICBpZXRm
LXRlLXR5cGVzOnRlLW1ldHJpYw0KDQogICAgICAgICAgICAgICArLS1ybyBvcGVyLXN0YXR1cz8g
ICAgICAgICAgICBlbnVtZXJhdGlvbg0KDQogICAgICAgICAgICAgICArLS1ybyBjb3VudGVycw0K
DQogICAgICAgICAgICAgICAgICAgICArLS1ybyBwa3RzLXNlbnQ/ICAgICAgICAgICAgICB5YW5n
OmNvdW50ZXIzMg0KDQogICAgICArLS1ydyB0dW5uZWxzDQoNCiAgICAgICAgICstLXJ3IHR1bm5l
bCogW25hbWUgdHlwZV0NCg0KICAgICAgICAgICAgKy0tcncgbmFtZSAgICAgICAgICAgICAgICAg
ICAgc3RyaW5nDQoNCiAgICAgICAgICAgICstLXJ3IGNvbmZpZw0KDQogICAgICAgICAgICAgICB8
ICArLS1ydyBhZG1pbi1zdGF0dXM/ICAgICAgICAgICBpZGVudGl0eXJlZg0KDQogICAgICAgICAg
ICB8ICArLS1ydyBmb3J3YXJkaW5nDQoNCiAgICAgICAgICAgICAgICAgICstLXJ3IGNvbmZpZw0K
DQogICAgICAgICAgICB8ICAgICAgICArLS1ydyBsb2FkLXNoYXJlPyAgIHVpbnQzMg0KDQogICAg
ICAgICAgICAgICAgICArLS1ybyBzdGF0ZQ0KDQogICAgICAgICAgICB8ICAgICAgICArLS1ybyBs
b2FkLXNoYXJlPyAgIHVpbnQzMg0KDQogICAgICAgICAgICArLS1ybyBzdGF0ZQ0KDQogICAgICAg
ICAgICAgICAgICArLS1ybyBhZG1pbi1zdGF0dXM/ICAgICAgICAgICBpZGVudGl0eXJlZg0KDQog
ICAgICAgICAgICAgICArLS1ybyBvcGVyLXN0YXR1cz8gICAgICAgICAgICBlbnVtZXJhdGlvbg0K
DQogICAgICAgICAgICAgICArLS1ybyBjb3VudGVycw0KDQogICAgICAgICAgICAgICAgICArLS1y
byBldmVudHM/ICAgICAgICAgICAgICB5YW5nOmNvdW50ZXIzMg0KDQoyLjIuT3B0aW9uIDINCg0K
DQoNCi9yb3V0aW5nL3JvdXRpbmctaW5zdGFuY2U6DQoNCiAgICstLXJ3IHRlIQ0KDQogICAgICAr
LS1ydyBnbG9iYWxzDQoNCiAgICAgICstLXJ3IGludGVyZmFjZXMNCg0KICAgICAgfCAgKy0tcncg
aW50ZXJmYWNlKiBbaW50ZXJmYWNlXQ0KDQogICAgICB8ICAgICArLS1ydyBpbnRlcmZhY2UgICAg
ICAgICAgICAgICAgIGlmOmludGVyZmFjZS1yZWYNCg0KICAgICAgfCAgICAgKy0tcncgc3dpdGNo
aW5nLWNhcGFiaWxpdGllcyogW3N3aXRjaGluZy1jYXBhYmlsaXR5XQ0KDQogICAgICB8ICAgICB8
ICArLS1ydyBjYXBhYmlsaXR5PyAgIGlkZW50aXR5cmVmDQoNCiAgICAgIHwgICAgIHwgICstLXJ3
IGVuY29kaW5nPyAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgfCAgICAgKy0tcncgdGUtbWV0cmlj
PyAgICAgICAgICAgICAgICBpZXRmLXRlLXR5cGVzOnRlLW1ldHJpYw0KDQogICAgICArLS1ydyB0
dW5uZWxzDQoNCiAgICAgICAgICstLXJ3IHR1bm5lbCogW25hbWUgdHlwZV0NCg0KICAgICAgICAg
ICAgKy0tcncgbmFtZSAgICAgICAgICAgICAgICAgICAgc3RyaW5nDQoNCiAgICAgICAgICAgICst
LXJ3IGFkbWluLXN0YXR1cz8gICAgICAgICAgIGlkZW50aXR5cmVmDQoNCiAgICAgICAgICAgICst
LXJ3IGZvcndhcmRpbmcNCg0KICAgICAgICAgICAgICAgKy0tcncgbG9hZC1zaGFyZT8gICB1aW50
MzINCg0KL3JvdXRpbmctc3RhdGUvcm91dGluZy1pbnN0YW5jZToNCg0KICAgKy0tcm8gdGUhDQoN
CiAgICAgICstLXJvIGdsb2JhbHMNCg0KICAgICAgKy0tcm8gaW50ZXJmYWNlcw0KDQogICAgICB8
ICArLS1ybyBpbnRlcmZhY2UqIFtpbnRlcmZhY2VdDQoNCiAgICAgIHwgICAgICstLXJvIGludGVy
ZmFjZSAgICAgICAgICAgICAgICAgaWY6aW50ZXJmYWNlLXJlZg0KDQogICAgICB8ICAgICArLS1y
byBzd2l0Y2hpbmctY2FwYWJpbGl0aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldDQoNCiAgICAg
IHwgICAgIHwgICstLXJvIGNhcGFiaWxpdHk/ICAgaWRlbnRpdHlyZWYNCg0KICAgICAgfCAgICAg
fCAgKy0tcm8gZW5jb2Rpbmc/ICAgICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICArLS1ybyB0
ZS1tZXRyaWM/ICAgICAgICAgICAgICAgIGlldGYtdGUtdHlwZXM6dGUtbWV0cmljDQoNCiAgICAg
ICAgICAgICstLXJvIG9wZXItc3RhdHVzPyAgICAgICAgICAgIGVudW1lcmF0aW9uDQoNCiAgICAg
ICAgICAgICstLXJvIGNvdW50ZXJzDQoNCiAgICAgICAgICAgICAgICstLXJvIHBrdHMtc2VudD8g
ICAgICAgICAgICAgIHlhbmc6Y291bnRlcjMyDQoNCiAgICAgICstLXJvIHR1bm5lbHMNCg0KICAg
ICAgICAgKy0tcm8gdHVubmVsKiBbbmFtZSB0eXBlXQ0KDQogICAgICAgICAgICArLS1ybyBuYW1l
ICAgICAgICAgICAgICAgICAgICBzdHJpbmcNCg0KICAgICAgICAgICAgKy0tcm8gYWRtaW4tc3Rh
dHVzPyAgICAgICAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgICAgICAgKy0tcm8gZm9yd2FyZGlu
Zw0KDQogICAgICAgICAgICAgICArLS1ybyBsb2FkLXNoYXJlPyAgIHVpbnQzMg0KDQogICAgICAg
ICAgICArLS1ybyBvcGVyLXN0YXR1cz8gICAgICAgICAgICBlbnVtZXJhdGlvbg0KDQogICAgICAg
ICAgICArLS1ybyBjb3VudGVycw0KDQogICAgICAgICAgICAgICArLS1ybyBldmVudHM/ICAgICAg
ICAgICAgICB5YW5nOmNvdW50ZXIzMg0KDQoNCg0KMi4zLk9wdGlvbiAzDQoNCg0KL3JvdXRpbmcv
cm91dGluZy1pbnN0YW5jZToNCg0KICAgKy0tcncgdGUhDQoNCiAgICAgICstLXJ3IGdsb2JhbHMN
Cg0KICAgICAgKy0tcncgaW50ZXJmYWNlcw0KDQogICAgICB8ICArLS1ydyBpbnRlcmZhY2UqIFtp
bnRlcmZhY2VdDQoNCiAgICAgIHwgICAgICstLXJ3IGludGVyZmFjZSAgICAgICAgICAgICAgICAg
aWY6aW50ZXJmYWNlLXJlZg0KDQogICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAgICAgfCAg
ICAgICAgKy0tcncgc3dpdGNoaW5nLWNhcGFiaWxpdGllcyogW3N3aXRjaGluZy1jYXBhYmlsaXR5
XQ0KDQogICAgICAgICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAgICAgfCAgICAgICAgICAg
fCAgKy0tcncgY2FwYWJpbGl0eT8gICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICAgICAgIHwg
ICstLXJ3IGVuY29kaW5nPyAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgICAgICAgICAgICAgKy0t
cm8gc3RhdGUNCg0KICAgICAgfCAgICAgICAgICAgICAgKy0tcm8gY2FwYWJpbGl0eT8gICBpZGVu
dGl0eXJlZg0KDQogICAgICB8ICAgICAgICAgICAgICstLXJvIGVuY29kaW5nPyAgICAgaWRlbnRp
dHlyZWYNCg0KICAgICAgfCAgICAgICAgKy0tcncgdGUtbWV0cmljPyAgICAgICAgICAgICAgICBp
ZXRmLXRlLXR5cGVzOnRlLW1ldHJpYw0KDQogICAgICAgICAgICArLS1ybyBzdGF0ZQ0KDQogICAg
ICB8ICAgICAgICArLS1ybyB0ZS1tZXRyaWM/ICAgICAgICAgICAgICAgIGlldGYtdGUtdHlwZXM6
dGUtbWV0cmljDQoNCiAgICAgICstLXJ3IHR1bm5lbHMNCg0KICAgICAgICAgKy0tcncgdHVubmVs
KiBbbmFtZSB0eXBlXQ0KDQogICAgICAgICAgICArLS1ydyBuYW1lICAgICAgICAgICAgICAgICAg
ICBzdHJpbmcNCg0KICAgICAgICAgICAgKy0tcncgY29uZmlnDQoNCiAgICAgICAgICAgICAgIHwg
ICstLXJ3IGFkbWluLXN0YXR1cz8gICAgICAgICAgIGlkZW50aXR5cmVmDQoNCiAgICAgICAgICAg
IHwgICstLXJ3IGZvcndhcmRpbmcNCg0KICAgICAgICAgICAgICAgICAgKy0tcncgY29uZmlnDQoN
CiAgICAgICAgICAgIHwgICAgICAgICstLXJ3IGxvYWQtc2hhcmU/ICAgdWludDMyDQoNCiAgICAg
ICAgICAgICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgICAgICAgIHwgICAgICAgICstLXJvIGxv
YWQtc2hhcmU/ICAgdWludDMyDQoNCiAgICAgICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgICAg
ICAgICAgICstLXJvIGFkbWluLXN0YXR1cz8gICAgICAgICAgIGlkZW50aXR5cmVmDQoNCg0KDQov
cm91dGluZy1zdGF0ZS9yb3V0aW5nLWluc3RhbmNlOg0KDQogICArLS1ybyB0ZSENCg0KICAgICAg
Ky0tcm8gZ2xvYmFscw0KDQogICAgICArLS1ybyBpbnRlcmZhY2VzDQoNCiAgICAgIHwgICstLXJv
IGludGVyZmFjZSogW2ludGVyZmFjZV0NCg0KICAgICAgfCAgICAgKy0tcm8gaW50ZXJmYWNlICAg
ICAgICAgICAgICAgICBpZjppbnRlcmZhY2UtcmVmDQoNCiAgICAgICAgICAgICstLXJvIG9wZXIt
c3RhdHVzPyAgICAgICAgICAgIGVudW1lcmF0aW9uDQoNCiAgICAgICAgICAgICstLXJvIGNvdW50
ZXJzDQoNCiAgICAgICAgICAgICAgICstLXJvIHBrdHMtc2VudD8gICAgICAgICAgICAgIHlhbmc6
Y291bnRlcjMyDQoNCiAgICAgICstLXJvIHR1bm5lbHMNCg0KICAgICAgICAgKy0tcm8gdHVubmVs
KiBbbmFtZSB0eXBlXQ0KDQogICAgICAgICAgICArLS1ybyBuYW1lICAgICAgICAgICAgICAgICAg
ICBzdHJpbmcNCg0KICAgICAgICAgICAgKy0tcm8gb3Blci1zdGF0dXM/ICAgICAgICAgICAgZW51
bWVyYXRpb24NCg0KICAgICAgICAgICAgKy0tcm8gY291bnRlcnMNCg0KICAgICAgICAgICAgICAg
Ky0tcm8gZXZlbnRzPyAgICAgICAgICAgICAgeWFuZzpjb3VudGVyMzINCg0KDQoNCjMuICAgIEFw
cHJvYWNoIFJhdGlvbmFsZXMNCjEuMS5QZXJmb3JtYW5jZSBSZXF1aXJlbWVudA0KDQrCtyAgICAg
ICAgICAgIFNlcGFyYXRpbmcgY29uZmlndXJhdGlvbiBhbmQgc3RhdGUgYnJhbmNoZXMgYWxsb3dz
IGltcGxlbWVudGluZyBzdGF0ZSBkYXRhIHRocm91Z2ggYSBzZXBhcmF0ZSBmYXN0IGNoYW5uZWwg
dG8gZGVsaXZlciBoaWdoIGZyZXF1ZW50IGFuZCBoaWdoIHZvbHVtZSBkYXRhLg0KDQrCtyAgICAg
ICAgICAgIEluIHRoaXMgYXNwZWN0LCBPcHRpb24gMiBoYXMgYSBjbGVhcmVyIHNlcGFyYXRpb24g
YmV0d2VlbiBjb25maWd1cmF0aW9uIGFuZCBzdGF0ZSBkYXRhLCBhbmQgZWFzaWVyIHRvIGFjaGll
dmUgYmV0dGVyIHBlcmZvcm1hbmNlIGJ5IHVzaW5nIHNlcGFyYXRlIGNoYW5uZWxzLg0KDQoxLjIu
RGF0YSBUeXBlIFJlcXVpcmVtZW50cw0KDQrCtyAgICAgICAgICAgIER1cGxpY2F0aW5nIGFsbCBj
b25maWd1cmF0aW9uIGF0dHJpYnV0ZXMgbWFrZXMgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGlu
Z3MgYXZhaWxhYmxlDQoNCsK3ICAgICAgICAgICAgRGVyaXZlZCwgbmVnb3RpYXRlZCwgYW5kIHN5
c3RlbSBhc3NpZ25lZCBkYXRhIGFyZSBhZGRlZCB0byB0aGUgc3RhdGUgYnJhbmNoDQoNCsK3ICAg
ICAgICAgICAgQ291bnRlcnMgb3Igc3RhdGlzdGljcyBhcmUgYWRkZWQgdG8gdGhlIHN0YXRlIGJy
YW5jaA0KDQrCtyAgICAgICAgICAgIEFsbCB0aHJlZSBvcHRpb25zIHNhdGlzZnkgdGhlc2UgcmVx
dWlyZW1lbnRzDQoNCjEuMy5PcGVyYXRpb24gUmVxdWlyZW1lbnRzDQoNCsK3ICAgICAgICAgICAg
U2VwYXJhdGluZyBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBzdGF0ZSBkYXRhIGFsbG93
cyByZXRyaWV2aW5nIGNvbmZpZ3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0YXRlIGRhdGEgaW5k
ZXBlbmRlbnRseS4NCg0KwrcgICAgICAgICAgICBTZXBhcmF0aW5nIGRlcml2ZWQgc3RhdGUgYW5k
IHN0YXRpc3RpY3Mgc3RhdGUgYWxsb3dzIHJldHJpZXZpbmcgdGhlbSBpbmRlcGVuZGVudGx5DQoN
CsK3ICAgICAgICAgICAgVGhlIHN0YXRlIGJyYW5jaCBpcyBhbiBleGFjdCBtaXJyb3Igb2YgdGhl
IGNvbmZpZ3VyYXRpb24gYnJhbmNoLCBzbyB0aGUgc2NoZW1hIGxvY2F0aW9ucyBhcmUgY29uc2lz
dGVudC4NCg0KwrcgICAgICAgICAgICBJbiB0aGlzIGFzcGVjdCwgYWxsIHRocmVlIG9wdGlvbnMg
c2F0aXNmeSB0aGUgcmVxdWlyZW1lbnRzLiBGb3Igb3B0aW9uIDEsIHRvIGNoZWNrIHRoZSBzdGF0
ZSB2YWx1ZSBmb3IgYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZSwgdGhlIGNsaWVu
dCBzb2Z0d2FyZSBjYW4gc2ltcGx5IGFkZCB0aGUg4oCcc3RhdGXigJ0gdG8gdGhlIGVuZCBvZiB0
aGUgc2NoZW1hIG5vZGUgcGF0aC4gRm9yIG9wdGlvbiAyLCB0byBjaGVjayB0aGUgc3RhdGUgdmFs
dWUgZm9yIGEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGUsIHRoZSBjbGllbnQgc29m
dHdhcmUgY2FuIHNpbXBseSBhZGQgdGhlIOKAnC1zdGF0ZeKAnSBzdWZmaXggdG8gdGhlIG5hbWUg
b2YgdGhlIHRvcCBjb250YWluZXIuIE9wdGlvbiAxIHNlZW1zIHRvIGJlIGVhc2llc3QgaW4gdGhp
cyByZWdhcmQsIGJ1dCBvdGhlcnMgYXJlIGFjY2VwdGFibGU/DQoNCjEuNC5PdGhlciBSZXF1aXJl
bWVudHMNCg0KwrcgICAgICAgICAgICAgTW9kZWwgc3lzdGVtIGNyZWF0ZWQgcmVhZC1vbmx5IG9i
amVjdHMgKGUuZy4gVEUgdHVubmVscykuIFdoZW4gc3RhdGUgZGF0YSBhbmQgY29uZmlnIGRhdGEg
c2hhcmUgdGhlIHNhbWUgcGFyZW50LCB0aGV5IHNoYXJlIHRoZSBzYW1lIGtleSBmb3IgdGhlIHBh
cmVudCBsaXN0LiBFdmVuIHRob3VnaCB0aGF0IHRoZSBzdGF0ZSBicmFuY2ggaXMgcmVhZC1vbmx5
LCBpdHMgcGFyZW50IGlzIG5vdCBhbmQgdGhlIGtleSBvZiB0aGUgcGFyZW50IGlzIG5vdC4gVGhl
cmVmb3JlLCB3ZSB3aWxsIGhhdmUgZGlmZmljdWx0eSB0byBhY2hpZXZlIHRoaXMgaW4gT3B0aW9u
IDEuDQoNCsK3ICAgICAgICAgICAgIENvbXBhdGlibGUgd2l0aCB0aGUgZXhpc3RpbmcgbW9kZWxz
LiBUaGUgcmVsYXRlZCBtb2RlbHMgaW5jbHVkZSBSRkM3MjIzLCBSRkM3Mjc3IGFuZCBkcmFmdC1p
ZXRmLW5ldG1vZC1yb3V0aW5nLWNmZy0xOC4gSW4gdGhpcyBhc3BlY3QsIE9wdGlvbiAyIHNlZW1z
IHRvIGRvIGJldHRlci4NCg0KWW91ciBjb21tZW50cyBhbmQgcHJlZmVyZW5jZXMgYXJlIGFwcHJl
Y2lhdGVkLg0KVGhhbmtzLA0KDQotIFh1ZmVuZw0KDQo=

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

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy
ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx
NHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGRpdj5IaSBYdWZlbmcs
Jm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5NeSBpbnRlcnByZXRhdGlvbiBv
ZiB0aGUgT3BlbkNvbmZpZyBkcmFmdCBpcyB0aGF0IGl0IHJlY29tbWVuZHMgb3B0aW9uIDEuIEFj
dHVhbGx5LCBvcHRpb24gMyBzZWVtcyBsaWtlIGEgdmFyaWF0aW9uIG9mIDEgd2l0aCBzb21lIHN1
cGVyZmx1b3VzIGxldmVscy4mbmJzcDs8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PlRo
YW5rcyw8L2Rpdj4NCjxkaXY+QWNlZSZuYnNwOzwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxz
cGFuIGlkPSJPTEtfU1JDX0JPRFlfU0VDVElPTiI+DQo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpD
YWxpYnJpOyBmb250LXNpemU6MTFwdDsgdGV4dC1hbGlnbjpsZWZ0OyBjb2xvcjpibGFjazsgQk9S
REVSLUJPVFRPTTogbWVkaXVtIG5vbmU7IEJPUkRFUi1MRUZUOiBtZWRpdW0gbm9uZTsgUEFERElO
Ry1CT1RUT006IDBpbjsgUEFERElORy1MRUZUOiAwaW47IFBBRERJTkctUklHSFQ6IDBpbjsgQk9S
REVSLVRPUDogI2I1YzRkZiAxcHQgc29saWQ7IEJPUkRFUi1SSUdIVDogbWVkaXVtIG5vbmU7IFBB
RERJTkctVE9QOiAzcHQiPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPkZyb206IDwv
c3Bhbj5YdWZlbmcgTGl1ICZsdDs8YSBocmVmPSJtYWlsdG86eHVmZW5nLmxpdUBlcmljc3Nvbi5j
b20iPnh1ZmVuZy5saXVAZXJpY3Nzb24uY29tPC9hPiZndDs8YnI+DQo8c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6Ym9sZCI+RGF0ZTogPC9zcGFuPlR1ZXNkYXksIE1heSAxMiwgMjAxNSBhdCA0OjU2
IFBNPGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlRvOiA8L3NwYW4+Um91dGlu
ZyBZQU5HICZsdDs8YSBocmVmPSJtYWlsdG86cnRnLXlhbmctY29vcmRAaWV0Zi5vcmciPnJ0Zy15
YW5nLWNvb3JkQGlldGYub3JnPC9hPiZndDs8YnI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6
Ym9sZCI+U3ViamVjdDogPC9zcGFuPltSdGcteWFuZy1jb29yZF0gT3BlcmF0aW9uYWwgU3RhdGUg
TW9kZWxpbmc8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBpZD0i
TUFDX09VVExPT0tfQVRUUklCVVRJT05fQkxPQ0tRVU9URSIgc3R5bGU9IkJPUkRFUi1MRUZUOiAj
YjVjNGRmIDUgc29saWQ7IFBBRERJTkc6MCAwIDAgNTsgTUFSR0lOOjAgMCAwIDU7Ij4NCjxkaXYg
eG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVybjpzY2hl
bWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVtYXMtbWlj
cm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0
LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVD
LWh0bWw0MCI+DQo8bWV0YSBuYW1lPSJHZW5lcmF0b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3Jk
IDE0IChmaWx0ZXJlZCBtZWRpdW0pIj4NCjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25z
ICovDQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OldpbmdkaW5nczsNCglwYW5vc2UtMTo1IDAg
MCAwIDAgMCAwIDAgMCAwO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6V2luZ2RpbmdzOw0K
CXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTpDYW1icmlhOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0K
CXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30N
Ci8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYu
TXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQt
c2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9DQpoMQ0K
CXttc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoiSGVhZGluZyAxIENoYXIi
Ow0KCW1hcmdpbi10b3A6MjQuMHB0Ow0KCW1hcmdpbi1yaWdodDowaW47DQoJbWFyZ2luLWJvdHRv
bTowaW47DQoJbWFyZ2luLWxlZnQ6MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglsaW5l
LWhlaWdodDoxMTUlOw0KCXBhZ2UtYnJlYWstYWZ0ZXI6YXZvaWQ7DQoJZm9udC1zaXplOjE0LjBw
dDsNCglmb250LWZhbWlseToiQ2FtYnJpYSIsInNlcmlmIjsNCgljb2xvcjojMzY1RjkxO30NCmgy
DQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiJIZWFkaW5nIDIgQ2hh
ciI7DQoJbWFyZ2luLXRvcDoxMC4wcHQ7DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJnaW4tYm90
dG9tOjBpbjsNCgltYXJnaW4tbGVmdDowaW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWxp
bmUtaGVpZ2h0OjExNSU7DQoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsNCglmb250LXNpemU6MTMu
MHB0Ow0KCWZvbnQtZmFtaWx5OiJDYW1icmlhIiwic2VyaWYiOw0KCWNvbG9yOiM0RjgxQkQ7fQ0K
YTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29s
b3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5N
c29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVy
cGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcC5Nc29MaXN0UGFyYWdyYXBoLCBs
aS5Nc29MaXN0UGFyYWdyYXBoLCBkaXYuTXNvTGlzdFBhcmFncmFwaA0KCXttc28tc3R5bGUtcHJp
b3JpdHk6MzQ7DQoJbWFyZ2luLXRvcDowaW47DQoJbWFyZ2luLXJpZ2h0OjBpbjsNCgltYXJnaW4t
Ym90dG9tOjEwLjBwdDsNCgltYXJnaW4tbGVmdDouNWluOw0KCW1zby1hZGQtc3BhY2U6YXV0bzsN
CglsaW5lLWhlaWdodDoxMTUlOw0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLCJzYW5zLXNlcmlmIjt9DQpwLk1zb0xpc3RQYXJhZ3JhcGhDeFNwRmlyc3QsIGxpLk1z
b0xpc3RQYXJhZ3JhcGhDeFNwRmlyc3QsIGRpdi5Nc29MaXN0UGFyYWdyYXBoQ3hTcEZpcnN0DQoJ
e21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglt
YXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206MGluOw0K
CW1hcmdpbi1sZWZ0Oi41aW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCW1zby1hZGQtc3Bh
Y2U6YXV0bzsNCglsaW5lLWhlaWdodDoxMTUlOw0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1m
YW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9DQpwLk1zb0xpc3RQYXJhZ3JhcGhDeFNwTWlk
ZGxlLCBsaS5Nc29MaXN0UGFyYWdyYXBoQ3hTcE1pZGRsZSwgZGl2Lk1zb0xpc3RQYXJhZ3JhcGhD
eFNwTWlkZGxlDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltc28tc3R5bGUtdHlwZTpleHBv
cnQtb25seTsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1i
b3R0b206MGluOw0KCW1hcmdpbi1sZWZ0Oi41aW47DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0K
CW1zby1hZGQtc3BhY2U6YXV0bzsNCglsaW5lLWhlaWdodDoxMTUlOw0KCWZvbnQtc2l6ZToxMS4w
cHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9DQpwLk1zb0xpc3RQYXJh
Z3JhcGhDeFNwTGFzdCwgbGkuTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0LCBkaXYuTXNvTGlzdFBh
cmFncmFwaEN4U3BMYXN0DQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltc28tc3R5bGUtdHlw
ZTpleHBvcnQtb25seTsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1h
cmdpbi1ib3R0b206MTAuMHB0Ow0KCW1hcmdpbi1sZWZ0Oi41aW47DQoJbXNvLWFkZC1zcGFjZTph
dXRvOw0KCWxpbmUtaGVpZ2h0OjExNSU7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWls
eToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO30NCnNwYW4uRW1haWxTdHlsZTE3DQoJe21zby1zdHls
ZS10eXBlOnBlcnNvbmFsLWNvbXBvc2U7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl
cmlmIjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCnNwYW4uSGVhZGluZzFDaGFyDQoJe21zby1zdHls
ZS1uYW1lOiJIZWFkaW5nIDEgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0
eWxlLWxpbms6IkhlYWRpbmcgMSI7DQoJZm9udC1mYW1pbHk6IkNhbWJyaWEiLCJzZXJpZiI7DQoJ
Y29sb3I6IzM2NUY5MTsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4uSGVhZGluZzJDaGFyDQoJ
e21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDIgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7
DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiI7DQoJZm9udC1mYW1pbHk6IkNhbWJyaWEiLCJz
ZXJpZiI7DQoJY29sb3I6IzRGODFCRDsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4uQ29kZUNo
YXINCgl7bXNvLXN0eWxlLW5hbWU6IkNvZGUgQ2hhciI7DQoJbXNvLXN0eWxlLWxpbms6Q29kZTsN
Cglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCnAuQ29kZSwgbGkuQ29kZSwgZGl2LkNvZGUN
Cgl7bXNvLXN0eWxlLW5hbWU6Q29kZTsNCgltc28tc3R5bGUtbGluazoiQ29kZSBDaGFyIjsNCglt
YXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1hcmdpbi1ib3R0b206MTIuMHB0
Ow0KCW1hcmdpbi1sZWZ0OjBpbjsNCgltc28tYWRkLXNwYWNlOmF1dG87DQoJZm9udC1zaXplOjEx
LjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCnAuQ29kZUN4U3BGaXJzdCwgbGku
Q29kZUN4U3BGaXJzdCwgZGl2LkNvZGVDeFNwRmlyc3QNCgl7bXNvLXN0eWxlLW5hbWU6Q29kZUN4
U3BGaXJzdDsNCgltc28tc3R5bGUtbGluazoiQ29kZSBDaGFyIjsNCgltc28tc3R5bGUtdHlwZTpl
eHBvcnQtb25seTsNCgltYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCgltc28t
YWRkLXNwYWNlOmF1dG87DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ291cmll
ciBOZXciO30NCnAuQ29kZUN4U3BNaWRkbGUsIGxpLkNvZGVDeFNwTWlkZGxlLCBkaXYuQ29kZUN4
U3BNaWRkbGUNCgl7bXNvLXN0eWxlLW5hbWU6Q29kZUN4U3BNaWRkbGU7DQoJbXNvLXN0eWxlLWxp
bms6IkNvZGUgQ2hhciI7DQoJbXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJbWFyZ2luOjBp
bjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJbXNvLWFkZC1zcGFjZTphdXRvOw0KCWZvbnQt
c2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpwLkNvZGVDeFNwTGFz
dCwgbGkuQ29kZUN4U3BMYXN0LCBkaXYuQ29kZUN4U3BMYXN0DQoJe21zby1zdHlsZS1uYW1lOkNv
ZGVDeFNwTGFzdDsNCgltc28tc3R5bGUtbGluazoiQ29kZSBDaGFyIjsNCgltc28tc3R5bGUtdHlw
ZTpleHBvcnQtb25seTsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1h
cmdpbi1ib3R0b206MTIuMHB0Ow0KCW1hcmdpbi1sZWZ0OjBpbjsNCgltc28tYWRkLXNwYWNlOmF1
dG87DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCi5N
c29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5
OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41
aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNl
Y3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi8qIExpc3QgRGVmaW5pdGlvbnMgKi8NCkBs
aXN0IGwwDQoJe21zby1saXN0LWlkOjI0OTU4Njc3NTsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6
LTEwNTg2MDkwOTQ7fQ0KQGxpc3QgbDA6bGV2ZWwxDQoJe21zby1sZXZlbC10YWItc3RvcDpub25l
Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDouMjVpbjsN
Cgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3QgbDA6bGV2ZWwyDQoJe21zby1sZXZlbC10ZXh0
OiIlMVwuJTJcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJl
ci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0Oi41NWluOw0KCXRleHQtaW5kZW50Oi0uM2lu
O30NCkBsaXN0IGwwOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJ
bXNvLWxldmVsLXRleHQ6XEYwQjc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxl
dmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0Oi44NWluOw0KCXRleHQtaW5k
ZW50Oi0uMzVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJe21z
by1sZXZlbC10ZXh0OiIlMVwuJTJcLiUzXC4lNFwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MS4yaW47
DQoJdGV4dC1pbmRlbnQ6LS40NWluO30NCkBsaXN0IGwwOmxldmVsNQ0KCXttc28tbGV2ZWwtdGV4
dDoiJTFcLiUyXC4lM1wuJTRcLiU1XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1z
by1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoxLjU1aW47DQoJdGV4
dC1pbmRlbnQ6LS41NWluO30NCkBsaXN0IGwwOmxldmVsNg0KCXttc28tbGV2ZWwtdGV4dDoiJTFc
LiUyXC4lM1wuJTRcLiU1XC4lNlwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MS45aW47DQoJdGV4dC1p
bmRlbnQ6LS42NWluO30NCkBsaXN0IGwwOmxldmVsNw0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUy
XC4lM1wuJTRcLiU1XC4lNlwuJTdcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjIuMjVpbjsNCgl0ZXh0
LWluZGVudDotLjc1aW47fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1sZXZlbC10ZXh0OiIlMVwu
JTJcLiUzXC4lNFwuJTVcLiU2XC4lN1wuJThcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7
DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjIuNmluOw0K
CXRleHQtaW5kZW50Oi0uODVpbjt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxldmVsLXRleHQ6
IiUxXC4lMlwuJTNcLiU0XC4lNVwuJTZcLiU3XC4lOFwuJTlcLiI7DQoJbXNvLWxldmVsLXRhYi1z
dG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0
OjMuMGluOw0KCXRleHQtaW5kZW50Oi0xLjBpbjt9DQpAbGlzdCBsMQ0KCXttc28tbGlzdC1pZDo2
NjE1ODk3NTc7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOi0xMDU4NjA5MDk0O30NCkBsaXN0IGwx
OmxldmVsMQ0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBv
c2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6LjI1aW47DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30N
CkBsaXN0IGwxOmxldmVsMg0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXC4iOw0KCW1zby1sZXZl
bC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJn
aW4tbGVmdDouNTVpbjsNCgl0ZXh0LWluZGVudDotLjNpbjt9DQpAbGlzdCBsMTpsZXZlbDMNCgl7
bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0OlxGMEI3Ow0K
CW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVm
dDsNCgltYXJnaW4tbGVmdDouODVpbjsNCgl0ZXh0LWluZGVudDotLjM1aW47DQoJZm9udC1mYW1p
bHk6U3ltYm9sO30NCkBsaXN0IGwxOmxldmVsNA0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXC4l
M1wuJTRcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1w
b3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjEuMmluOw0KCXRleHQtaW5kZW50Oi0uNDVpbjt9
DQpAbGlzdCBsMTpsZXZlbDUNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwuJTNcLiU0XC4lNVwu
IjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9u
OmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MS41NWluOw0KCXRleHQtaW5kZW50Oi0uNTVpbjt9DQpAbGlz
dCBsMTpsZXZlbDYNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwuJTNcLiU0XC4lNVwuJTZcLiI7
DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjps
ZWZ0Ow0KCW1hcmdpbi1sZWZ0OjEuOWluOw0KCXRleHQtaW5kZW50Oi0uNjVpbjt9DQpAbGlzdCBs
MTpsZXZlbDcNCgl7bXNvLWxldmVsLXRleHQ6IiUxXC4lMlwuJTNcLiU0XC4lNVwuJTZcLiU3XC4i
Ow0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246
bGVmdDsNCgltYXJnaW4tbGVmdDoyLjI1aW47DQoJdGV4dC1pbmRlbnQ6LS43NWluO30NCkBsaXN0
IGwxOmxldmVsOA0KCXttc28tbGV2ZWwtdGV4dDoiJTFcLiUyXC4lM1wuJTRcLiU1XC4lNlwuJTdc
LiU4XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9z
aXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoyLjZpbjsNCgl0ZXh0LWluZGVudDotLjg1aW47fQ0K
QGxpc3QgbDE6bGV2ZWw5DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcLiUzXC4lNFwuJTVcLiU2
XC4lN1wuJThcLiU5XC4iOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1u
dW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDozLjBpbjsNCgl0ZXh0LWluZGVudDot
MS4waW47fQ0KQGxpc3QgbDINCgl7bXNvLWxpc3QtaWQ6MTI1MTM0ODU5MjsNCgltc28tbGlzdC10
ZW1wbGF0ZS1pZHM6LTEwNTg2MDkwOTQ7fQ0KQGxpc3QgbDI6bGV2ZWwxDQoJe21zby1sZXZlbC10
YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4t
bGVmdDouMjVpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3QgbDI6bGV2ZWwyDQoJe21z
by1sZXZlbC10ZXh0OiIlMVwuJTJcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0Oi41NWluOw0KCXRleHQt
aW5kZW50Oi0uM2luO30NCkBsaXN0IGwyOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1h
dDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6XEYwQjc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5v
bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0Oi44NWlu
Ow0KCXRleHQtaW5kZW50Oi0uMzVpbjsNCglmb250LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDI6
bGV2ZWw0DQoJe21zby1sZXZlbC10ZXh0OiIlMVwuJTJcLiUzXC4lNFwuIjsNCgltc28tbGV2ZWwt
dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2lu
LWxlZnQ6MS4yaW47DQoJdGV4dC1pbmRlbnQ6LS40NWluO30NCkBsaXN0IGwyOmxldmVsNQ0KCXtt
c28tbGV2ZWwtdGV4dDoiJTFcLiUyXC4lM1wuJTRcLiU1XC4iOw0KCW1zby1sZXZlbC10YWItc3Rv
cDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDox
LjU1aW47DQoJdGV4dC1pbmRlbnQ6LS41NWluO30NCkBsaXN0IGwyOmxldmVsNg0KCXttc28tbGV2
ZWwtdGV4dDoiJTFcLiUyXC4lM1wuJTRcLiU1XC4lNlwuIjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6
bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MS45
aW47DQoJdGV4dC1pbmRlbnQ6LS42NWluO30NCkBsaXN0IGwyOmxldmVsNw0KCXttc28tbGV2ZWwt
dGV4dDoiJTFcLiUyXC4lM1wuJTRcLiU1XC4lNlwuJTdcLiI7DQoJbXNvLWxldmVsLXRhYi1zdG9w
Om5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjIu
MjVpbjsNCgl0ZXh0LWluZGVudDotLjc1aW47fQ0KQGxpc3QgbDI6bGV2ZWw4DQoJe21zby1sZXZl
bC10ZXh0OiIlMVwuJTJcLiUzXC4lNFwuJTVcLiU2XC4lN1wuJThcLiI7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1s
ZWZ0OjIuNmluOw0KCXRleHQtaW5kZW50Oi0uODVpbjt9DQpAbGlzdCBsMjpsZXZlbDkNCgl7bXNv
LWxldmVsLXRleHQ6IiUxXC4lMlwuJTNcLiU0XC4lNVwuJTZcLiU3XC4lOFwuJTlcLiI7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CW1hcmdpbi1sZWZ0OjMuMGluOw0KCXRleHQtaW5kZW50Oi0xLjBpbjt9DQpAbGlzdCBsMw0KCXtt
c28tbGlzdC1pZDoxOTAxODY1NTgxOw0KCW1zby1saXN0LXR5cGU6aHlicmlkOw0KCW1zby1saXN0
LXRlbXBsYXRlLWlkczotMTcxNjMzOTA2MCA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5
ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5Mzt9DQpAbGlz
dCBsMzpsZXZlbDENCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZl
bC10ZXh0OlxGMEI3Ow0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1i
ZXItcG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDouNzVpbjsNCgl0ZXh0LWluZGVudDotLjI1
aW47DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwzOmxldmVsMg0KCXttc28tbGV2ZWwt
bnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFi
LXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxl
ZnQ6MS4yNWluOw0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBO
ZXciO30NCkBsaXN0IGwzOmxldmVsMw0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7
DQoJbXNvLWxldmVsLXRleHQ6XEYwQTc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNv
LWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjEuNzVpbjsNCgl0ZXh0
LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwzOmxldmVs
NA0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6XEYw
Qjc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv
bjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjIuMjVpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9u
dC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwzOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZv
cm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9u
ZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6Mi43NWlu
Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCkBs
aXN0IGwzOmxldmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxl
dmVsLXRleHQ6XEYwQTc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51
bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjMuMjVpbjsNCgl0ZXh0LWluZGVudDot
LjI1aW47DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCkBsaXN0IGwzOmxldmVsNw0KCXttc28t
bGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6XEYwQjc7DQoJbXNv
LWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K
CW1hcmdpbi1sZWZ0OjMuNzVpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJZm9udC1mYW1pbHk6
U3ltYm9sO30NCkBsaXN0IGwzOmxldmVsOA0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxs
ZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJbWFyZ2luLWxlZnQ6NC4yNWluOw0KCXRleHQt
aW5kZW50Oi0uMjVpbjsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCkBsaXN0IGwzOmxl
dmVsOQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6
XEYwQTc7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3Np
dGlvbjpsZWZ0Ow0KCW1hcmdpbi1sZWZ0OjQuNzVpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47DQoJ
Zm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCm9sDQoJe21hcmdpbi1ib3R0b206MGluO30NCnVsDQoJ
e21hcmdpbi1ib3R0b206MGluO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+
PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4
dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxh
eW91dD48L3htbD48IVtlbmRpZl0tLT4NCjxkaXYgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZs
aW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkR1cmluZyB0aGUgWUFORyBNUExTL1RFIGRlc2lnbiB0ZWFtIGRpc2N1c3Npb25zLCB0
aGUgdG9waWMgb2Ygb3BlcmF0aW9uYWwgc3RhdGUgbW9kZWxpbmcgd2FzIGJyb3VnaHQgdXAuIFdl
IGRpc2N1c3NlZCB0aGUgcHJvcG9zYWwgcHJlc2VudGVkIGluDQo8YSBocmVmPSJodHRwOi8vd3d3
LmlldGYub3JnL2lkL2RyYWZ0LW9wZW5jb25maWctbmV0bW9kLW9wc3RhdGUtMDAudHh0Ij48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdCI+aHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1v
cGVuY29uZmlnLW5ldG1vZC1vcHN0YXRlLTAwLnR4dDwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Y29sb3I6YmxhY2siPiBhbmQgc29tZSB2YXJpb3VzIGFwcHJvYWNoZXMu
IEhlcmUgYXJlDQogc29tZSB0aG91Z2h0cyBhbmQgcXVlc3Rpb25zLjwvc3Bhbj48bzpwPjwvbzpw
PjwvcD4NCjxoMiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjI1aW47dGV4dC1pbmRlbnQ6LS4yNWluO21z
by1saXN0OmwxIGxldmVsMSBsZm8xIj48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5
bGU9Im1zby1saXN0Oklnbm9yZSI+MS48c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBm
b250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3cHQ7
IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiPiZu
YnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0tPlJlcXVpcmVtZW50
czxvOnA+PC9vOnA+PC9oMj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPldlIGFncmVlIHdpdGggdGhl
IHJlcXVpcmVtZW50cyBwcmVzZW50ZWQgaW4gZHJhZnQtb3BlbmNvbmZpZy1uZXRtb2Qtb3BzdGF0
ZS4gVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBzdW1tYXJpemVkIGFzIGZvbGxvd2luZ3MuPG86cD48
L286cD48L3A+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41NWluO3RleHQtaW5kZW50Oi0uM2lu
O21zby1saXN0OmwxIGxldmVsMiBsZm8xIj48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4g
c3R5bGU9Im1zby1saXN0Oklnbm9yZSI+MS4xLjwvc3Bhbj48IS0tW2VuZGlmXS0tPlBlcmZvcm1h
bmNlIFJlcXVpcmVtZW50PG86cD48L286cD48L2gyPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3Jh
cGhDeFNwRmlyc3QiIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28tYWRkLXNwYWNlOmF1dG87
dGV4dC1pbmRlbnQ6LS4zNWluO21zby1saXN0OmwxIGxldmVsMyBsZm8xIj4NCjwhLS1baWYgIXN1
cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3Jl
Ij7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFs
OyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1h
bDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9z
cGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0tPk9wZXJhdGlvbmFsIHN0YXRlIGFjY2VzcyBpcyBtdWNo
IG1vcmUgZnJlcXVlbnQgdGhhbiBjb25maWd1cmF0aW9uPG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW47bXNv
LWFkZC1zcGFjZTphdXRvO3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMSBsZXZlbDMgbGZv
MSI+DQo8IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNwYW4gc3R5bGU9
Im1zby1saXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250
LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3cHQ7IGxp
bmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5TdGF0ZSBkYXRhIGlzIGdl
bmVyYWxseSBoaWdoZXIgdm9sdW1lIHRoYW4gY29uZmlndXJhdGlvbiBkYXRhPG86cD48L286cD48
L3A+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41NWluO3RleHQtaW5kZW50Oi0uM2luO21zby1s
aXN0OmwxIGxldmVsMiBsZm8xIj48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9
Im1zby1saXN0Oklnbm9yZSI+MS4yLjwvc3Bhbj48IS0tW2VuZGlmXS0tPkRhdGEgVHlwZSBSZXF1
aXJlbWVudHM8bzpwPjwvbzpwPjwvaDI+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4U3BG
aXJzdCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0LWlu
ZGVudDotLjM1aW47bXNvLWxpc3Q6bDEgbGV2ZWwzIGxmbzEiPg0KPCEtLVtpZiAhc3VwcG9ydExp
c3RzXS0tPjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPsK3PHNw
YW4gc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQt
d2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250
LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+PC9z
cGFuPjwhLS1bZW5kaWZdLS0+UmVwcmVzZW50aW5nIGludGVuZGVkIGNvbmZpZ3VyYXRpb24gKGFj
dHVhbCB2cy4gY29uZmlndXJlZCk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFy
YWdyYXBoQ3hTcE1pZGRsZSIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1hZGQtc3BhY2U6
YXV0bzt0ZXh0LWluZGVudDotLjM1aW47bXNvLWxpc3Q6bDEgbGV2ZWwzIGxmbzEiPg0KPCEtLVtp
ZiAhc3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJ
Z25vcmUiPsK3PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBu
b3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5lLWhlaWdodDog
bm9ybWFsOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bh
bj48L3NwYW4+PC9zcGFuPjwhLS1bZW5kaWZdLS0+RGVyaXZlZCwgbmVnb3RpYXRlZCwgYW5kIHN5
c3RlbSBhc3NpZ25lZCBkYXRhPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFn
cmFwaEN4U3BMYXN0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW47bXNvLWFkZC1zcGFjZTphdXRv
O3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMSBsZXZlbDMgbGZvMSI+DQo8IS0tW2lmICFz
dXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9y
ZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1h
bDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3cHQ7IGxpbmUtaGVpZ2h0OiBub3Jt
YWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwv
c3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5Db3VudGVycyBvciBzdGF0aXN0aWNzPG86cD48L286
cD48L3A+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41NWluO3RleHQtaW5kZW50Oi0uM2luO21z
by1saXN0OmwxIGxldmVsMiBsZm8xIj48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5
bGU9Im1zby1saXN0Oklnbm9yZSI+MS4zLjwvc3Bhbj48IS0tW2VuZGlmXS0tPk9wZXJhdGlvbiBS
ZXF1aXJlbWVudHM8bzpwPjwvbzpwPjwvaDI+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4
U3BGaXJzdCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0
LWluZGVudDotLjM1aW47bXNvLWxpc3Q6bDEgbGV2ZWwzIGxmbzEiPg0KPCEtLVtpZiAhc3VwcG9y
dExpc3RzXS0tPjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPsK3
PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZv
bnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBm
b250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+
PC9zcGFuPjwhLS1bZW5kaWZdLS0+U2VwYXJhdGUgY29uZmlndXJhdGlvbiBhbmQgb3BlcmF0aW9u
YWwgc3RhdGUgZGF0YTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGhD
eFNwTWlkZGxlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW47bXNvLWFkZC1zcGFjZTphdXRvO3Rl
eHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMiBsZXZlbDMgbGZvMiI+DQo8IS0tW2lmICFzdXBw
b3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+
wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsg
Zm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7
IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bh
bj48L3NwYW4+PCEtLVtlbmRpZl0tLT5SZXRyaWV2ZSBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRp
b25hbCBzdGF0ZSBkYXRhIGluZGVwZW5kZW50bHk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN
c29MaXN0UGFyYWdyYXBoQ3hTcE1pZGRsZSIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1h
ZGQtc3BhY2U6YXV0bzt0ZXh0LWluZGVudDotLjM1aW47bXNvLWxpc3Q6bDIgbGV2ZWwzIGxmbzIi
Pg0KPCEtLVtpZiAhc3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJt
c28tbGlzdDpJZ25vcmUiPsK3PHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5l
LWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsNCjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwhLS1bZW5kaWZdLS0+UmV0cmlldmUgZGVyaXZlZCBz
dGF0ZSBhbmQgc3RhdGlzdGljcyBzdGF0ZSBpbmRlcGVuZGVudGx5PG86cD48L286cD48L3A+DQo8
cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1
aW47bXNvLWFkZC1zcGFjZTphdXRvO3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMiBsZXZl
bDMgbGZvMiI+DQo8IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNwYW4g
c3R5bGU9Im1zby1saXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFs
OyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3
cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5Db25zaXN0ZW50
IHNjaGVtYSBsb2NhdGlvbnMgZm9yIGNvbmZpZ3VyYXRpb24gYW5kIGNvcnJlc3BvbmRpbmcgb3Bl
cmF0aW9uYWwgc3RhdGUgZGF0YTxvOnA+PC9vOnA+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVm
dDouMjVpbjt0ZXh0LWluZGVudDotLjI1aW47bXNvLWxpc3Q6bDEgbGV2ZWwxIGxmbzEiPjwhLS1b
aWYgIXN1cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj4yLjxzcGFu
IHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdl
aWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1m
YW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9z
cGFuPjwhLS1bZW5kaWZdLS0+U29tZSBPcHRpb25zPG86cD48L286cD48L2gyPg0KPGgyIHN0eWxl
PSJtYXJnaW4tbGVmdDouNTVpbjt0ZXh0LWluZGVudDotLjNpbjttc28tbGlzdDpsMSBsZXZlbDIg
bGZvMSI+PCEtLVtpZiAhc3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25v
cmUiPjIuMS48L3NwYW4+PCEtLVtlbmRpZl0tLT5PcHRpb24gMTxvOnA+PC9vOnA+PC9oMj4NCjxw
IGNsYXNzPSJDb2RlQ3hTcEZpcnN0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJD
b2RlQ3hTcE1pZGRsZSI+L3JvdXRpbmcvcm91dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0ZSE8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBnbG9iYWxzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
Q29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncg
aW50ZXJmYWNlczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNlKiBb
aW50ZXJmYWNlXTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQz
Oy0tcncgaW50ZXJmYWNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlm
OmludGVyZmFjZS1yZWY8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICYjNDM7LS1ydyBjb25maWc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2Rl
Q3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHN3aXRjaGluZy1jYXBhYmls
aXRpZXMqIFtzd2l0Y2hpbmctY2FwYWJpbGl0eV08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJD
b2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7ICYjNDM7LS1ydyBjb25maWc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1p
ZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0t
cncgY2FwYWJpbGl0eT8mbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7fCZu
YnNwOyAmIzQzOy0tcncgZW5jb2Rpbmc/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlkZW50aXR5
cmVmPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8Yj4mIzQzOy0tcm8gc3RhdGU8bzpw
PjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjYXBh
YmlsaXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNs
YXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJvIGVuY29kaW5nPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRs
ZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHRlLW1ldHJpYz8mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWM8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxiPiYjNDM7LS1ybyBzdGF0ZTxv
OnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJiM0MzstLXJvIHRlLW1ldHJpYz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWM8L2I+PG86cD48L286cD48L3A+DQo8cCBjbGFz
cz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8c3BhbiBzdHls
ZT0iY29sb3I6IzAwNzBDMCI+JiM0MzstLXJvIG9wZXItc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtZXJh
dGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNw
YW4gc3R5bGU9ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQz
Oy0tcm8gY291bnRlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BN
aWRkbGUiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ybyBwa3RzLXNlbnQ/
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHlhbmc6Y291bnRlcjMyJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4
U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ydyB0
dW5uZWxzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgdHVubmVs
KiBbbmFtZSB0eXBlXTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJiM0MzstLXJ3IG5hbWUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgc3RyaW5nPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
Q29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmIzQzOy0tcncgY29uZmlnPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNw
OyAmIzQzOy0tcncgYWRtaW4tc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgZm9y
d2FyZGluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGNvbmZpZzxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgbG9hZC1zaGFy
ZT8mbmJzcDsmbmJzcDsgdWludDMyPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BN
aWRkbGUiPjxiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm
IzQzOy0tcm8gc3RhdGU8bzpwPjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRk
bGUiPjxiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7ICYjNDM7LS1ybyBsb2FkLXNoYXJlPyZuYnNwOyZuYnNwOyB1aW50MzI8bzpwPjwvbzpwPjwv
Yj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8g
c3RhdGU8bzpwPjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsgJm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJvIGFkbWluLXN0
YXR1cz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4
U3BNaWRkbGUiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJiM0MzstLXJvIG9wZXItc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtZXJhdGlvbjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4gc3R5bGU9
ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gY291
bnRlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BMYXN0Ij48c3Bh
biBzdHlsZT0iY29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBldmVudHM/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHlhbmc6
Y291bnRlcjMyPG86cD48L286cD48L3NwYW4+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDou
NTVpbjt0ZXh0LWluZGVudDotLjNpbjttc28tbGlzdDpsMSBsZXZlbDIgbGZvMSI+PCEtLVtpZiAh
c3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPjIuMi48L3NwYW4+
PCEtLVtlbmRpZl0tLT5PcHRpb24gMjxvOnA+PC9vOnA+PC9oMj4NCjxwIGNsYXNzPSJDb2RlQ3hT
cEZpcnN0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+
L3JvdXRpbmcvcm91dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2Rl
Q3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0ZSE8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYj
NDM7LS1ydyBnbG9iYWxzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNlczxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNlKiBbaW50ZXJmYWNlXTxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNl
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmOmludGVyZmFjZS1yZWY8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHN3aXRj
aGluZy1jYXBhYmlsaXRpZXMqIFtzd2l0Y2hpbmctY2FwYWJpbGl0eV08bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgY2FwYWJpbGl0eT8m
bmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hT
cE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgZW5jb2Rpbmc/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IGlkZW50aXR5cmVmPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICYjNDM7LS1ydyB0ZS1tZXRyaWM/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGll
dGYtdGUtdHlwZXM6dGUtbWV0cmljPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BN
aWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgdHVubmVsczxv
OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHR1bm5lbCogW25hbWUg
dHlwZV08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICYjNDM7LS1ydyBuYW1lJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHN0cmluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNw
TWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJ3IGFkbWluLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7
LS1ydyBmb3J3YXJkaW5nPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgbG9hZC1zaGFyZT8mbmJzcDsm
bmJzcDsgdWludDMyPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPi9y
b3V0aW5nLXN0YXRlL3JvdXRpbmctaW5zdGFuY2U6PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
Q29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gdGUhPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmIzQzOy0tcm8gZ2xvYmFsczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlk
ZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGludGVyZmFjZXM8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJiM0MzstLXJvIGludGVyZmFjZSogW2ludGVyZmFjZV08
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJvIGludGVy
ZmFjZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZjppbnRlcmZhY2Ut
cmVmPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1y
byBzd2l0Y2hpbmctY2FwYWJpbGl0aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldPG86cD48L286
cD48L2I+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48Yj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7LS1y
byBjYXBhYmlsaXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4N
CjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcm8gZW5jb2Rpbmc/
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlkZW50aXR5cmVmPG86cD48L286cD48L2I+PC9wPg0K
PHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48Yj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gdGUtbWV0cmljPyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZXRmLXRlLXR5cGVzOnRlLW1ldHJpYzxvOnA+PC9v
OnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4gc3R5bGU9ImNvbG9y
OiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gb3Blci1zdGF0dXM/Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVudW1l
cmF0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48
c3BhbiBzdHlsZT0iY29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjb3VudGVyczxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4gc3R5
bGU9ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8g
cGt0cy1zZW50PyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB5YW5nOmNvdW50ZXIzMjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0dW5uZWxzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0i
Q29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmIzQzOy0tcm8gdHVubmVsKiBbbmFtZSB0eXBlXTxvOnA+PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIG5hbWUmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RyaW5nPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQz
Oy0tcm8gYWRtaW4tc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxw
IGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBmb3J3YXJkaW5n
PG86cD48L286cD48L2I+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48Yj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGxvYWQtc2hhcmU/Jm5ic3A7Jm5ic3A7IHVp
bnQzMjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4g
c3R5bGU9ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gb3Blci1zdGF0dXM/Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IGVudW1lcmF0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVD
eFNwTWlkZGxlIj48c3BhbiBzdHlsZT0iY29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1y
byBjb3VudGVyczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRs
ZSI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmIzQzOy0tcm8gZXZlbnRzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt5YW5nOmNvdW50ZXIzMiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9IkNvZGVDeFNwTGFzdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8aDIgc3R5
bGU9Im1hcmdpbi1sZWZ0Oi41NWluO3RleHQtaW5kZW50Oi0uM2luO21zby1saXN0OmwxIGxldmVs
MiBsZm8xIj48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9Im1zby1saXN0Okln
bm9yZSI+Mi4zLjwvc3Bhbj48IS0tW2VuZGlmXS0tPk9wdGlvbiAzPG86cD48L286cD48L2gyPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iQ29k
ZUN4U3BGaXJzdCI+L3JvdXRpbmcvcm91dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0ZSE8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICYjNDM7LS1ydyBnbG9iYWxzPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29k
ZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgaW50
ZXJmYWNlczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNlKiBbaW50
ZXJmYWNlXTxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0t
cncgaW50ZXJmYWNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmOmlu
dGVyZmFjZS1yZWY8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICYjNDM7LS1ydyBjb25maWc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hT
cE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJ3IHN3aXRjaGluZy1jYXBhYmlsaXRp
ZXMqIFtzd2l0Y2hpbmctY2FwYWJpbGl0eV08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2Rl
Q3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICYjNDM7LS1ydyBjb25maWc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRs
ZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncg
Y2FwYWJpbGl0eT8mbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvcD4NCjxwIGNs
YXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7fCZuYnNw
OyAmIzQzOy0tcncgZW5jb2Rpbmc/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlkZW50aXR5cmVm
PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gc3RhdGU8bzpwPjwv
bzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjYXBhYmls
aXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNz
PSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7JiM0MzstLXJvIGVuY29kaW5nPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBp
ZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHRlLW1ldHJpYz8mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWM8bzpwPjwvbzpwPjwvcD4NCjxw
IGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBzdGF0ZTxvOnA+
PC9vOnA+PC9iPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PGI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgJiM0MzstLXJvIHRlLW1ldHJpYz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWM8bzpwPjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0i
Q29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncg
dHVubmVsczxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHR1bm5l
bCogW25hbWUgdHlwZV08bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICYjNDM7LS1ydyBuYW1lJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHN0cmluZzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9
IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGNvbmZpZzxvOnA+PC9vOnA+PC9w
Pg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3wmbmJz
cDsgJiM0MzstLXJ3IGFkbWluLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvcD4N
CjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJiM0MzstLXJ3IGZv
cndhcmRpbmc8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBjb25maWc8
bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGxvYWQtc2hh
cmU/Jm5ic3A7Jm5ic3A7IHVpbnQzMjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNw
TWlkZGxlIj48Yj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
JiM0MzstLXJvIHN0YXRlPG86cD48L286cD48L2I+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlk
ZGxlIj48Yj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAmIzQzOy0tcm8gbG9hZC1zaGFyZT8mbmJzcDsmbmJzcDsgdWludDMyPG86cD48L286cD48
L2I+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGI+JiM0MzstLXJv
IHN0YXRlPG86cD48L286cD48L2I+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48Yj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGFkbWluLXN0YXR1cz8mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRl
bnRpdHlyZWY8bzpwPjwvbzpwPjwvYj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4vcm91dGluZy1z
dGF0ZS9yb3V0aW5nLWluc3RhbmNlOjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNw
TWlkZGxlIj4mbmJzcDsmbmJzcDsgJiM0MzstLXJvIHRlITxvOnA+PC9vOnA+PC9wPg0KPHAgY2xh
c3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0Mzst
LXJvIGdsb2JhbHM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+Jm5i
c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ybyBpbnRlcmZhY2VzPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8Jm5ic3A7ICYjNDM7LS1ybyBpbnRlcmZhY2UqIFtpbnRlcmZhY2VdPG86cD48L286
cD48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBpbnRlcmZhY2UmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWY6aW50ZXJmYWNlLXJlZjxvOnA+
PC9vOnA+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48c3BhbiBzdHlsZT0iY29sb3I6
IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBvcGVyLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bWVy
YXRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iQ29kZUN4U3BNaWRkbGUiPjxz
cGFuIHN0eWxlPSJjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGNvdW50ZXJzPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48c3BhbiBzdHls
ZT0iY29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBw
a3RzLXNlbnQ/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHlhbmc6Y291bnRlcjMyPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJiM0MzstLXJvIHR1bm5lbHM8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJD
b2RlQ3hTcE1pZGRsZSI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICYjNDM7LS1ybyB0dW5uZWwqIFtuYW1lIHR5cGVdPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iQ29kZUN4U3BNaWRkbGUiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gbmFtZSZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJpbmc8bzpw
PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4gc3R5bGU9ImNvbG9y
OiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gb3Blci1zdGF0dXM/Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVudW1l
cmF0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTWlkZGxlIj48
c3BhbiBzdHlsZT0iY29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjb3VudGVyczxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJDb2RlQ3hTcE1pZGRsZSI+PHNwYW4gc3R5
bGU9ImNvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8g
ZXZlbnRzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB5YW5nOmNvdW50ZXIzMg0KPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9IkNvZGVDeFNwTGFzdCI+PG86cD4mbmJzcDs8L286cD48L3A+
DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi4yNWluO3RleHQtaW5kZW50Oi0uMjVpbjttc28tbGlz
dDpsMSBsZXZlbDEgbGZvMSI+PCEtLVtpZiAhc3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSJt
c28tbGlzdDpJZ25vcmUiPjMuPHNwYW4gc3R5bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12
YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5l
LWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsm
bmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5BcHByb2FjaCBSYXRpb25h
bGVzPG86cD48L286cD48L2gyPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbjt0ZXh0LWlu
ZGVudDotLjNpbjttc28tbGlzdDpsMCBsZXZlbDIgbGZvMyI+PCEtLVtpZiAhc3VwcG9ydExpc3Rz
XS0tPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPjEuMS48L3NwYW4+PCEtLVtlbmRpZl0t
LT5QZXJmb3JtYW5jZSBSZXF1aXJlbWVudDxvOnA+PC9vOnA+PC9oMj4NCjxwIGNsYXNzPSJNc29M
aXN0UGFyYWdyYXBoQ3hTcEZpcnN0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW47bXNvLWFkZC1z
cGFjZTphdXRvO3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMCBsZXZlbDMgbGZvMyI+DQo8
IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNwYW4gc3R5bGU9Im1zby1s
aXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlh
bnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXplOiA3cHQ7IGxpbmUtaGVp
Z2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K
PC9zcGFuPjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5TZXBhcmF0aW5nIGNvbmZpZ3VyYXRp
b24gYW5kIHN0YXRlIGJyYW5jaGVzIGFsbG93cyBpbXBsZW1lbnRpbmcgc3RhdGUgZGF0YSB0aHJv
dWdoIGEgc2VwYXJhdGUgZmFzdCBjaGFubmVsIHRvIGRlbGl2ZXIgaGlnaCBmcmVxdWVudCBhbmQg
aGlnaCB2b2x1bWUgZGF0YS48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdy
YXBoQ3hTcExhc3QiIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28tYWRkLXNwYWNlOmF1dG87
dGV4dC1pbmRlbnQ6LS4zNWluO21zby1saXN0OmwwIGxldmVsMyBsZm8zIj4NCjwhLS1baWYgIXN1
cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3Jl
Ij7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFs
OyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1h
bDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9z
cGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0tPkluIHRoaXMgYXNwZWN0LCBPcHRpb24gMiBoYXMgYSBj
bGVhcmVyIHNlcGFyYXRpb24gYmV0d2VlbiBjb25maWd1cmF0aW9uIGFuZCBzdGF0ZSBkYXRhLCBh
bmQgZWFzaWVyIHRvIGFjaGlldmUgYmV0dGVyIHBlcmZvcm1hbmNlIGJ5IHVzaW5nIHNlcGFyYXRl
IGNoYW5uZWxzLjxvOnA+PC9vOnA+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbjt0
ZXh0LWluZGVudDotLjNpbjttc28tbGlzdDpsMCBsZXZlbDIgbGZvMyI+PCEtLVtpZiAhc3VwcG9y
dExpc3RzXS0tPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPjEuMi48L3NwYW4+PCEtLVtl
bmRpZl0tLT5EYXRhIFR5cGUgUmVxdWlyZW1lbnRzPG86cD48L286cD48L2gyPg0KPHAgY2xhc3M9
Ik1zb0xpc3RQYXJhZ3JhcGhDeFNwRmlyc3QiIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28t
YWRkLXNwYWNlOmF1dG87dGV4dC1pbmRlbnQ6LS4zNWluO21zby1saXN0OmwwIGxldmVsMyBsZm8z
Ij4NCjwhLS1baWYgIXN1cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0i
bXNvLWxpc3Q6SWdub3JlIj7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQt
dmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGlu
ZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0tPkR1cGxpY2F0aW5nIGFsbCBj
b25maWd1cmF0aW9uIGF0dHJpYnV0ZXMgbWFrZXMgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGlu
Z3MgYXZhaWxhYmxlPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4
U3BNaWRkbGUiIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28tYWRkLXNwYWNlOmF1dG87dGV4
dC1pbmRlbnQ6LS4zNWluO21zby1saXN0OmwwIGxldmVsMyBsZm8zIj4NCjwhLS1baWYgIXN1cHBv
cnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj7C
tzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBm
b250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg
Zm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFu
Pjwvc3Bhbj48IS0tW2VuZGlmXS0tPkRlcml2ZWQsIG5lZ290aWF0ZWQsIGFuZCBzeXN0ZW0gYXNz
aWduZWQgZGF0YSBhcmUgYWRkZWQgdG8gdGhlIHN0YXRlIGJyYW5jaDxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGhDeFNwTWlkZGxlIiBzdHlsZT0ibWFyZ2luLWxlZnQ6
Ljg1aW47bXNvLWFkZC1zcGFjZTphdXRvO3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDpsMCBs
ZXZlbDMgbGZvMyI+DQo8IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+PHNw
YW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTogbm9y
bWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1zaXpl
OiA3cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFu
JzsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5Db3VudGVy
cyBvciBzdGF0aXN0aWNzIGFyZSBhZGRlZCB0byB0aGUgc3RhdGUgYnJhbmNoPG86cD48L286cD48
L3A+DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0IiBzdHlsZT0ibWFyZ2luLWxl
ZnQ6Ljg1aW47bXNvLWFkZC1zcGFjZTphdXRvO3RleHQtaW5kZW50Oi0uMzVpbjttc28tbGlzdDps
MCBsZXZlbDMgbGZvMyI+DQo8IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9IiI+
PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+wrc8c3BhbiBzdHlsZT0iZm9udC1zdHlsZTog
bm9ybWFsOyBmb250LXZhcmlhbnQ6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgZm9udC1z
aXplOiA3cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJv
bWFuJzsiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjwvc3Bhbj48L3NwYW4+PCEtLVtlbmRpZl0tLT5BbGwg
dGhyZWUgb3B0aW9ucyBzYXRpc2Z5IHRoZXNlIHJlcXVpcmVtZW50czxvOnA+PC9vOnA+PC9wPg0K
PGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbjt0ZXh0LWluZGVudDotLjNpbjttc28tbGlzdDps
MCBsZXZlbDIgbGZvMyI+PCEtLVtpZiAhc3VwcG9ydExpc3RzXS0tPjxzcGFuIHN0eWxlPSJtc28t
bGlzdDpJZ25vcmUiPjEuMy48L3NwYW4+PCEtLVtlbmRpZl0tLT5PcGVyYXRpb24gUmVxdWlyZW1l
bnRzPG86cD48L286cD48L2gyPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGhDeFNwRmlyc3Qi
IHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28tYWRkLXNwYWNlOmF1dG87dGV4dC1pbmRlbnQ6
LS4zNWluO21zby1saXN0OmwwIGxldmVsMyBsZm8zIj4NCjwhLS1baWYgIXN1cHBvcnRMaXN0c10t
LT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj7CtzxzcGFuIHN0
eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdo
dDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p
bHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48
IS0tW2VuZGlmXS0tPlNlcGFyYXRpbmcgY29uZmlndXJhdGlvbiBhbmQgb3BlcmF0aW9uYWwgc3Rh
dGUgZGF0YSBhbGxvd3MgcmV0cmlldmluZyBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBz
dGF0ZSBkYXRhIGluZGVwZW5kZW50bHkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTGlz
dFBhcmFncmFwaEN4U3BNaWRkbGUiIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbjttc28tYWRkLXNw
YWNlOmF1dG87dGV4dC1pbmRlbnQ6LS4zNWluO21zby1saXN0OmwyIGxldmVsMyBsZm8yIj4NCjwh
LS1baWYgIXN1cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48c3BhbiBzdHlsZT0ibXNvLWxp
c3Q6SWdub3JlIj7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFu
dDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDdwdDsgbGluZS1oZWln
aHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8
L3NwYW4+PC9zcGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0tPlNlcGFyYXRpbmcgZGVyaXZlZCBzdGF0
ZSBhbmQgc3RhdGlzdGljcyBzdGF0ZSBhbGxvd3MgcmV0cmlldmluZyB0aGVtIGluZGVwZW5kZW50
bHk8bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoQ3hTcE1pZGRsZSIg
c3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0LWluZGVudDot
LjM1aW47bXNvLWxpc3Q6bDIgbGV2ZWwzIGxmbzIiPg0KPCEtLVtpZiAhc3VwcG9ydExpc3RzXS0t
PjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPsK3PHNwYW4gc3R5
bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls
eTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwh
LS1bZW5kaWZdLS0+VGhlIHN0YXRlIGJyYW5jaCBpcyBhbiBleGFjdCBtaXJyb3Igb2YgdGhlIGNv
bmZpZ3VyYXRpb24gYnJhbmNoLCBzbyB0aGUgc2NoZW1hIGxvY2F0aW9ucyBhcmUgY29uc2lzdGVu
dC4NCjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGhDeFNwTGFzdCIg
c3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluO21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0LWluZGVudDot
LjM1aW47bXNvLWxpc3Q6bDIgbGV2ZWwzIGxmbzIiPg0KPCEtLVtpZiAhc3VwcG9ydExpc3RzXS0t
PjxzcGFuIHN0eWxlPSIiPjxzcGFuIHN0eWxlPSJtc28tbGlzdDpJZ25vcmUiPsK3PHNwYW4gc3R5
bGU9ImZvbnQtc3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50OiBub3JtYWw7IGZvbnQtd2VpZ2h0
OiBub3JtYWw7IGZvbnQtc2l6ZTogN3B0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls
eTogJ1RpbWVzIE5ldyBSb21hbic7Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwh
LS1bZW5kaWZdLS0+SW4gdGhpcyBhc3BlY3QsIGFsbCB0aHJlZSBvcHRpb25zIHNhdGlzZnkgdGhl
IHJlcXVpcmVtZW50cy4gRm9yIG9wdGlvbiAxLCB0byBjaGVjayB0aGUgc3RhdGUgdmFsdWUgZm9y
IGEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGUsIHRoZSBjbGllbnQgc29mdHdhcmUg
Y2FuIHNpbXBseSBhZGQgdGhlIOKAnHN0YXRl4oCdIHRvIHRoZSBlbmQgb2YgdGhlIHNjaGVtYSBu
b2RlIHBhdGguDQogRm9yIG9wdGlvbiAyLCB0byBjaGVjayB0aGUgc3RhdGUgdmFsdWUgZm9yIGEg
c3BlY2lmaWMgY29uZmlndXJhdGlvbiBhdHRyaWJ1dGUsIHRoZSBjbGllbnQgc29mdHdhcmUgY2Fu
IHNpbXBseSBhZGQgdGhlIOKAnC1zdGF0ZeKAnSBzdWZmaXggdG8gdGhlIG5hbWUgb2YgdGhlIHRv
cCBjb250YWluZXIuIE9wdGlvbiAxIHNlZW1zIHRvIGJlIGVhc2llc3QgaW4gdGhpcyByZWdhcmQs
IGJ1dCBvdGhlcnMgYXJlIGFjY2VwdGFibGU/PG86cD48L286cD48L3A+DQo8aDIgc3R5bGU9Im1h
cmdpbi1sZWZ0Oi41NWluO3RleHQtaW5kZW50Oi0uM2luO21zby1saXN0OmwwIGxldmVsMiBsZm8z
Ij48IS0tW2lmICFzdXBwb3J0TGlzdHNdLS0+PHNwYW4gc3R5bGU9Im1zby1saXN0Oklnbm9yZSI+
MS40Ljwvc3Bhbj48IS0tW2VuZGlmXS0tPk90aGVyIFJlcXVpcmVtZW50czxvOnA+PC9vOnA+PC9o
Mj4NCjxwIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoQ3hTcEZpcnN0IiBzdHlsZT0ibWFyZ2luLWxl
ZnQ6NjMuMHB0O21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0LWluZGVudDotMjcuMHB0O21zby1saXN0
OmwzIGxldmVsMSBsZm80Ij4NCjwhLS1baWYgIXN1cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0i
Ij48c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxl
OiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250
LXNpemU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcg
Um9tYW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IS0tW2VuZGlm
XS0tPk1vZGVsIHN5c3RlbSBjcmVhdGVkIHJlYWQtb25seSBvYmplY3RzIChlLmcuIFRFIHR1bm5l
bHMpLiBXaGVuIHN0YXRlIGRhdGEgYW5kIGNvbmZpZyBkYXRhIHNoYXJlIHRoZSBzYW1lIHBhcmVu
dCwgdGhleSBzaGFyZSB0aGUgc2FtZSBrZXkgZm9yIHRoZSBwYXJlbnQgbGlzdC4gRXZlbiB0aG91
Z2ggdGhhdCB0aGUgc3RhdGUgYnJhbmNoIGlzIHJlYWQtb25seSwgaXRzIHBhcmVudCBpcyBub3QN
CiBhbmQgdGhlIGtleSBvZiB0aGUgcGFyZW50IGlzIG5vdC4gVGhlcmVmb3JlLCB3ZSB3aWxsIGhh
dmUgZGlmZmljdWx0eSB0byBhY2hpZXZlIHRoaXMgaW4gT3B0aW9uIDEuPG86cD48L286cD48L3A+
DQo8cCBjbGFzcz0iTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0IiBzdHlsZT0ibWFyZ2luLWxlZnQ6
NjMuMHB0O21zby1hZGQtc3BhY2U6YXV0bzt0ZXh0LWluZGVudDotMjcuMHB0O21zby1saXN0Omwz
IGxldmVsMSBsZm80Ij4NCjwhLS1baWYgIXN1cHBvcnRMaXN0c10tLT48c3BhbiBzdHlsZT0iIj48
c3BhbiBzdHlsZT0ibXNvLWxpc3Q6SWdub3JlIj7CtzxzcGFuIHN0eWxlPSJmb250LXN0eWxlOiBu
b3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNp
emU6IDdwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9t
YW4nOyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9zcGFuPjwvc3Bhbj48IS0tW2VuZGlmXS0t
PkNvbXBhdGlibGUgd2l0aCB0aGUgZXhpc3RpbmcgbW9kZWxzLiBUaGUgcmVsYXRlZCBtb2RlbHMg
aW5jbHVkZSBSRkM3MjIzLCBSRkM3Mjc3IGFuZCBkcmFmdC1pZXRmLW5ldG1vZC1yb3V0aW5nLWNm
Zy0xOC4gSW4gdGhpcyBhc3BlY3QsIE9wdGlvbiAyIHNlZW1zIHRvIGRvIGJldHRlci48bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJDb2RlIj5Zb3VyIGNvbW1lbnRzIGFuZCBwcmVmZXJlbmNlcyBh
cmUgYXBwcmVjaWF0ZWQuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGFu
a3MsPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0gWHVmZW5nPG86cD48L286cD48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvc3Bhbj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_D177E7E11AC4Caceeciscocom_--


From nobody Wed May 13 00:51:48 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C3FD11A1A76 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 00:51:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level: 
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 ywHnajv69QiD for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 00:51:42 -0700 (PDT)
Received: from mail-ob0-x236.google.com (mail-ob0-x236.google.com [IPv6:2607:f8b0:4003:c01::236]) (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 3312C1A1A6E for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 00:51:42 -0700 (PDT)
Received: by obblk2 with SMTP id lk2so23911645obb.0 for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 00:51:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=jJGAfsgMtwrHuMaJ2YDlb3gdoujTchM0VrzIKKtCvZs=; b=ptuja1voFRpOJPaQq7mQ211GMq1Tlv6bVPd7fC40Fn/HjPokn9TnZz2hBMde4v1kFR AI8I6MAaAq+tBcmaMGEUgNESbzZMtXOOom8zRvbWWFTeQz81GpoJ9q7TdprL67RnZKWh /oMP5D+PwkqzEF8YDvSRU0VdgaPCD+aRFNGFbcGVpBQ6aHU5QUJ94S6PMOBEiUYbj1qJ htK4BQqwSFF0F+ubQKa0MOq0hWhABDfH3Kjuho6yk5l37hw4qeLXRa64ukOHrKknzOgF rsVIZjJCGFRmgyxhwDg3QY6OZIh57alPU7dzO+IfcZy1p0Gt9Q8HoJ98cBsjn0SyW+Mg yrCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=jJGAfsgMtwrHuMaJ2YDlb3gdoujTchM0VrzIKKtCvZs=; b=CKL9C73q+NIdPMyXKmcTjENvYLuB7sYXxxEJTrw8n47Bahb2KORq9hTl9lVf1Zs7Va yxQHQppQd1LCZYByDTAcEdykKxJl0jQv6eHjD5T44rrpxZz2nhEcp4SAar5YXSDIKnlj yBNSPCxEBbjM6kFuc3AvIYNgqFInBEnTKZH6Ll8YcDVhBXXWAg0gJ8e5endFdAEV3H+3 CK3/8omLo0o5fWfCUgREVYGRK+KiLjccjhH+DunglHdcUzBxu98aHUmCcoBm6xndCKz5 6rQu22V9sSlOPWKhnLsKdmr+5gVf7M29c/QxMyihZFuEPQ9Qw+03lRydaTLDhIDkTU0/ GA3Q==
X-Gm-Message-State: ALoCoQl1CfHbSjqzsld28m1yAAu4Exn6Cw0Umm4Thqgxp6dL4U2IVI65ui5zc5wsGjAH6AJ11h/l
MIME-Version: 1.0
X-Received: by 10.202.201.3 with SMTP id z3mr14282385oif.130.1431503501558; Wed, 13 May 2015 00:51:41 -0700 (PDT)
Received: by 10.182.220.200 with HTTP; Wed, 13 May 2015 00:51:41 -0700 (PDT)
In-Reply-To: <D177E7E1.1AC4C%acee@cisco.com>
References: <D177E7E1.1AC4C%acee@cisco.com>
Date: Wed, 13 May 2015 00:51:41 -0700
Message-ID: <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com>
From: Anees Shaikh <aashaikh@google.com>
To: "Acee Lindem (acee)" <acee@cisco.com>
Content-Type: multipart/alternative; boundary=001a1134e9a0b4bd780515f1e1d6
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/vPvY7aahBu-cW6H55ieoHGwK7c8>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 07:51:47 -0000

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

Xufeng, thanks very much for taking the time to do this systematic analysis
-- much appreciated.   We've also talked to a subset of the MPLS/TE DT just
today about opstate to reiterate the reasons for the OpenConfig proposal.
I will just comment on your rationale section.

1.1 Performance requirements

Implementations today already support the retrieval of operational state
and configuration data together.  In fact, platforms that support NETCONF
would need to handle both simultaneously in a <get> request.  The
<get-config> request does not return opstate at all.  There is no option
today for <get-operational> to retrieve only state (though our draft
proposes, or more accurately, re-proposes it).  The performance
implications may be due to the datastore design for the different types of
data, but where the data lives in the *schema* should not have a major
impact on the performance to read it.  In other words, if you accept the
requirement that configuration needs to be part of state (which you seem to
in the beginning of the note), then the location in the schema really
shouldn't matter.  It does matter for other reasons (see below).

1.2 Data type requirements -- agree with your conclusions

1.3 Operation requirements

You mention, "*For option 2, to check the state value for a specific
configuration attribute, the client software can simply add the =E2=80=9C-s=
tate=E2=80=9D
suffix to the name of the top container*"

The question that this doesn't answer is what is the top container?  It may
be clear in an individual model, but I don't manage a device using just
routing, or just interfaces.  I want to compose a set of models into a
coherent whole and be able to access config and corresponding state in a
consistent way.  When I compose the models, what I thought was the "top"
container is no longer top -- it shows up somewhere in the middle, and my
paths are now totally dependent on how modelers have decided to combine or
separate their individual models and modules.  From our perspective, option
2 doesn't meet this requirement.  Rather than debate what the real top of a
usable model is, we take the approach of pushing the separation to leaves
of the tree, which works no matter how models are composed structurally.

1.4 Other requirements

Regarding system-created tunnels, why is it necessary to consider them part
of read-only state?  I can just as well consider them as configured, only
they are configured by some agent on the system -- they should in fact be
configured using the same mechanism as a tunnel configured by an operator.
  If they are not writable, *and you want to enforce this in the model*,
they could show up in only the state part of the tree -- I agree this does
raise the issue with list keys that you mention.  But list keys (and lists
in general) are a bit broken in YANG 1.0/1.1 as we explain briefly in the
draft.  We can discuss the issues with lists in a separate thread given
more time.

Regarding compatibility with existing models, I really don't agree at all
that the existing RFC models should constrain what we do when trying to
meet the requirements of people trying to build real systems that use YANG
models.    With all respect to the authors of those few models (which we
leverage considerably in our models), YANG models are software code, and
should be treated as such IMO.  We don't say that software is "done" and
can't change -- it evolves and improves over time, sometimes in
non-backward-compatible ways.  And we don't issue a final version of
software without considerable experience using and testing it in production=
.

thanks.
-- Anees


On Tue, May 12, 2015 at 2:26 PM, Acee Lindem (acee) <acee@cisco.com> wrote:

>  Hi Xufeng,
>
>  My interpretation of the OpenConfig draft is that it recommends option
> 1. Actually, option 3 seems like a variation of 1 with some superfluous
> levels.
>
>  Thanks,
> Acee
>
>   From: Xufeng Liu <xufeng.liu@ericsson.com>
> Date: Tuesday, May 12, 2015 at 4:56 PM
> To: Routing YANG <rtg-yang-coord@ietf.org>
> Subject: [Rtg-yang-coord] Operational State Modeling
>
>    During the YANG MPLS/TE design team discussions, the topic of
> operational state modeling was brought up. We discussed the proposal
> presented in http://www.ietf.org/id/draft-openconfig-netmod-opstate-00.tx=
t
> and some various approaches. Here are some thoughts and questions.
> 1.    Requirements
>
> We agree with the requirements presented in
> draft-openconfig-netmod-opstate. These requirements are summarized as
> followings.
> 1.1.Performance Requirement
>
> =C2=B7            Operational state access is much more frequent than
> configuration
>
> =C2=B7            State data is generally higher volume than configuratio=
n data
> 1.2.Data Type Requirements
>
> =C2=B7            Representing intended configuration (actual vs. configu=
red)
>
> =C2=B7            Derived, negotiated, and system assigned data
>
> =C2=B7            Counters or statistics
> 1.3.Operation Requirements
>
> =C2=B7            Separate configuration and operational state data
>
> =C2=B7            Retrieve configuration and operational state data
> independently
>
> =C2=B7            Retrieve derived state and statistics state independent=
ly
>
> =C2=B7            Consistent schema locations for configuration and
> corresponding operational state data
> 2.    Some Options 2.1.Option 1
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>             +--rw config
>
>       |        +--rw switching-capabilities* [switching-capability]
>
>                   +--rw config
>
>       |           |  +--rw capability?   identityref
>
>       |          |  +--rw encoding?     identityref
>
>                   *+--ro state*
>
> *      |              +--ro capability?   identityref*
>
> *      |             +--ro encoding?     identityref*
>
>       |        +--rw te-metric?                ietf-te-types:te-metric
>
>             *+--ro state*
>
> *      |        +--ro te-metric?                ietf-te-types:te-metric*
>
>                +--ro oper-status?            enumeration
>
>                +--ro counters
>
>                      +--ro pkts-sent?              yang:counter32
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw config
>
>                |  +--rw admin-status?           identityref
>
>             |  +--rw forwarding
>
>                   +--rw config
>
>             |        +--rw load-share?   uint32
>
> *                  +--ro state*
>
> *            |        +--ro load-share?   uint32*
>
> *            +--ro state*
>
> *                  +--ro admin-status?           identityref*
>
>                +--ro oper-status?            enumeration
>
>                +--ro counters
>
>                   +--ro events?              yang:counter32
> 2.2.Option 2
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>       |     +--rw switching-capabilities* [switching-capability]
>
>       |     |  +--rw capability?   identityref
>
>       |     |  +--rw encoding?     identityref
>
>       |     +--rw te-metric?                ietf-te-types:te-metric
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw admin-status?           identityref
>
>             +--rw forwarding
>
>                +--rw load-share?   uint32
>
> /routing-state/routing-instance:
>
>    +--ro te!
>
>       +--ro globals
>
>       +--ro interfaces
>
>       |  +--ro interface* [interface]
>
>       |     +--ro interface                 if:interface-ref
>
> *      |     +--ro switching-capabilities* [switching-capability]*
>
> *      |     |  +--ro capability?   identityref*
>
> *      |     |  +--ro encoding?     identityref*
>
> *      |     +--ro te-metric?                ietf-te-types:te-metric*
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro pkts-sent?              yang:counter32
>
>       +--ro tunnels
>
>          +--ro tunnel* [name type]
>
>             +--ro name                    string
>
> *            +--ro admin-status?           identityref*
>
> *            +--ro forwarding*
>
> *               +--ro load-share?   uint32*
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro events?              yang:counter32
>
>
> 2.3.Option 3
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>             +--rw config
>
>       |        +--rw switching-capabilities* [switching-capability]
>
>                   +--rw config
>
>       |           |  +--rw capability?   identityref
>
>       |          |  +--rw encoding?     identityref
>
> *                  +--ro state*
>
> *      |              +--ro capability?   identityref*
>
> *      |             +--ro encoding?     identityref*
>
>       |        +--rw te-metric?                ietf-te-types:te-metric
>
> *            +--ro state*
>
> *      |        +--ro te-metric?                ietf-te-types:te-metric*
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw config
>
>                |  +--rw admin-status?           identityref
>
>             |  +--rw forwarding
>
>                   +--rw config
>
>             |        +--rw load-share?   uint32
>
> *                  +--ro state*
>
> *            |        +--ro load-share?   uint32*
>
>             *+--ro state*
>
> *               +--ro admin-status?           identityref*
>
>
>
> /routing-state/routing-instance:
>
>    +--ro te!
>
>       +--ro globals
>
>       +--ro interfaces
>
>       |  +--ro interface* [interface]
>
>       |     +--ro interface                 if:interface-ref
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro pkts-sent?              yang:counter32
>
>       +--ro tunnels
>
>          +--ro tunnel* [name type]
>
>             +--ro name                    string
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro events?              yang:counter32
>
>
> 3.    Approach Rationales 1.1.Performance Requirement
>
> =C2=B7            Separating configuration and state branches allows
> implementing state data through a separate fast channel to deliver high
> frequent and high volume data.
>
> =C2=B7            In this aspect, Option 2 has a clearer separation betwe=
en
> configuration and state data, and easier to achieve better performance by
> using separate channels.
> 1.2.Data Type Requirements
>
> =C2=B7            Duplicating all configuration attributes makes actual
> configuration settings available
>
> =C2=B7            Derived, negotiated, and system assigned data are added=
 to
> the state branch
>
> =C2=B7            Counters or statistics are added to the state branch
>
> =C2=B7            All three options satisfy these requirements
> 1.3.Operation Requirements
>
> =C2=B7            Separating configuration and operational state data all=
ows
> retrieving configuration and operational state data independently.
>
> =C2=B7            Separating derived state and statistics state allows
> retrieving them independently
>
> =C2=B7            The state branch is an exact mirror of the configuratio=
n
> branch, so the schema locations are consistent.
>
> =C2=B7            In this aspect, all three options satisfy the requireme=
nts.
> For option 1, to check the state value for a specific configuration
> attribute, the client software can simply add the =E2=80=9Cstate=E2=80=9D=
 to the end of the
> schema node path. For option 2, to check the state value for a specific
> configuration attribute, the client software can simply add the =E2=80=9C=
-state=E2=80=9D
> suffix to the name of the top container. Option 1 seems to be easiest in
> this regard, but others are acceptable?
> 1.4.Other Requirements
>
> =C2=B7             Model system created read-only objects (e.g. TE tunnel=
s).
> When state data and config data share the same parent, they share the sam=
e
> key for the parent list. Even though that the state branch is read-only,
> its parent is not and the key of the parent is not. Therefore, we will ha=
ve
> difficulty to achieve this in Option 1.
>
> =C2=B7             Compatible with the existing models. The related model=
s
> include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. In this
> aspect, Option 2 seems to do better.
>
> Your comments and preferences are appreciated.
>
> Thanks,
>
>
>
> - Xufeng
>
>
>
>
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
>

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

<div dir=3D"ltr">Xufeng, thanks very much for taking the time to do this sy=
stematic analysis -- much appreciated. =C2=A0 We&#39;ve also talked to a su=
bset of the MPLS/TE DT just today about opstate to reiterate the reasons fo=
r the OpenConfig proposal.=C2=A0 I will just comment on your rationale sect=
ion.<div><br></div><div>1.1 Performance requirements</div><div><br></div><d=
iv>Implementations today already support the retrieval of operational state=
 and configuration data together.=C2=A0 In fact, platforms that support NET=
CONF would need to handle both simultaneously in a &lt;get&gt; request.=C2=
=A0 The &lt;get-config&gt; request does not return opstate at all.=C2=A0 Th=
ere is no option today for &lt;get-operational&gt; to retrieve only state (=
though our draft proposes, or more accurately, re-proposes it).=C2=A0 The p=
erformance implications may be due to the datastore design for the differen=
t types of data, but where the data lives in the *schema* should not have a=
 major impact on the performance to read it.=C2=A0 In other words, if you a=
ccept the requirement that configuration needs to be part of state (which y=
ou seem to in the beginning of the note), then the location in the schema r=
eally shouldn&#39;t matter.=C2=A0 It does matter for other reasons (see bel=
ow).</div><div><br></div><div>1.2 Data type requirements -- agree with your=
 conclusions</div><div><br></div><div>1.3 Operation requirements</div><div>=
<br></div><div>You mention, &quot;<span style=3D"font-size:12.8000001907349=
px"><i>For option 2, to check the state value for a specific configuration =
attribute, the client software can simply add the =E2=80=9C-state=E2=80=9D =
suffix to the name of the top container</i>&quot;</span></div><div><span st=
yle=3D"font-size:12.8000001907349px"><br></span></div><div><span style=3D"f=
ont-size:12.8000001907349px">The question that this doesn&#39;t answer is w=
hat is the top container?=C2=A0 It may be clear in an individual model, but=
 I don&#39;t manage a device using just routing, or just interfaces.=C2=A0 =
I want to compose a set of models into a coherent whole and be able to acce=
ss config and corresponding state in a consistent way.=C2=A0 When I compose=
 the models, what I thought was the &quot;top&quot; container is no longer =
top -- it shows up somewhere in the middle, and my paths are now totally de=
pendent on how modelers have decided to combine or separate their individua=
l models and modules.=C2=A0 From our perspective, option 2 doesn&#39;t meet=
 this requirement.=C2=A0 Rather than debate what the real top of a usable m=
odel is, we take the approach of pushing the separation to leaves of the tr=
ee, which works no matter how models are composed structurally.</span></div=
><div><span style=3D"font-size:12.8000001907349px"><br></span></div><div><s=
pan style=3D"font-size:12.8000001907349px">1.4 Other requirements</span></d=
iv><div><span style=3D"font-size:12.8000001907349px"><br></span></div><div>=
<span style=3D"font-size:12.8000001907349px">Regarding system-created tunne=
ls, why is it necessary to consider them part of read-only state?=C2=A0 I c=
an just as well consider them as configured, only they are configured by so=
me agent on the system -- they should in fact be configured using the same =
mechanism as a tunnel configured by an operator. =C2=A0 If they are not wri=
table, *and you want to enforce this in the model*, they could show up in o=
nly the state part of the tree -- I agree this does raise the issue with li=
st keys that you mention.=C2=A0 But list keys (and lists in general) are a =
bit broken in YANG 1.0/1.1 as we explain briefly in the draft.=C2=A0 We can=
 discuss the issues with lists in a separate thread given more time.</span>=
</div><div><span style=3D"font-size:12.8000001907349px"><br></span></div><d=
iv><span style=3D"font-size:12.8000001907349px">Regarding compatibility wit=
h existing models, I really don&#39;t agree at all that the existing RFC mo=
dels should constrain what we do when trying to meet the requirements of pe=
ople trying to build real systems that use YANG models. =C2=A0 =C2=A0With a=
ll respect to the authors of those few models (which we leverage considerab=
ly in our models), YANG models are software code, and should be treated as =
such IMO.=C2=A0 We don&#39;t say that software is &quot;done&quot; and can&=
#39;t change -- it evolves and improves over time, sometimes in non-backwar=
d-compatible ways.=C2=A0 And we don&#39;t issue a final version of software=
 without considerable experience using and testing it in production.</span>=
</div><div><span style=3D"font-size:12.8000001907349px"><br></span></div><d=
iv><span style=3D"font-size:12.8000001907349px">thanks.</span></div><div><s=
pan style=3D"font-size:12.8000001907349px">-- Anees</span></div><div><br></=
div></div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Tue,=
 May 12, 2015 at 2:26 PM, Acee Lindem (acee) <span dir=3D"ltr">&lt;<a href=
=3D"mailto:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&gt;</span> =
wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex">



<div style=3D"word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-fam=
ily:Calibri,sans-serif">
<div>Hi Xufeng,=C2=A0</div>
<div><br>
</div>
<div>My interpretation of the OpenConfig draft is that it recommends option=
 1. Actually, option 3 seems like a variation of 1 with some superfluous le=
vels.=C2=A0</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Acee=C2=A0</div>
<div><br>
</div>
<span>
<div style=3D"font-family:Calibri;font-size:11pt;text-align:left;color:blac=
k;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADD=
ING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:me=
dium none;PADDING-TOP:3pt">
<span style=3D"font-weight:bold">From: </span>Xufeng Liu &lt;<a href=3D"mai=
lto:xufeng.liu@ericsson.com" target=3D"_blank">xufeng.liu@ericsson.com</a>&=
gt;<br>
<span style=3D"font-weight:bold">Date: </span>Tuesday, May 12, 2015 at 4:56=
 PM<br>
<span style=3D"font-weight:bold">To: </span>Routing YANG &lt;<a href=3D"mai=
lto:rtg-yang-coord@ietf.org" target=3D"_blank">rtg-yang-coord@ietf.org</a>&=
gt;<br>
<span style=3D"font-weight:bold">Subject: </span>[Rtg-yang-coord] Operation=
al State Modeling<br>
</div><div><div class=3D"h5">
<div><br>
</div>
<blockquote style=3D"BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0=
 0 5">
<div>


<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div>
<p class=3D"MsoNormal">During the YANG MPLS/TE design team discussions, the=
 topic of operational state modeling was brought up. We discussed the propo=
sal presented in
<a href=3D"http://www.ietf.org/id/draft-openconfig-netmod-opstate-00.txt" t=
arget=3D"_blank"><span style=3D"font-size:10.5pt">http://www.ietf.org/id/dr=
aft-openconfig-netmod-opstate-00.txt</span></a><span style=3D"font-size:10.=
5pt;color:black"> and some various approaches. Here are
 some thoughts and questions.</span><u></u><u></u></p>
<h2 style=3D"margin-left:.25in"><span>1.<span style=3D"font-style:normal;fo=
nt-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-=
family:&#39;Times New Roman&#39;">=C2=A0=C2=A0=C2=A0
</span></span>Requirements<u></u><u></u></h2>
<p class=3D"MsoNormal">We agree with the requirements presented in draft-op=
enconfig-netmod-opstate. These requirements are summarized as followings.<u=
></u><u></u></p>
<h2 style=3D"margin-left:.55in"><span>1.1.</span>Performance Requirement<u>=
</u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Operational state access is much more frequent than co=
nfiguration<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>State data is generally higher volume than configurati=
on data<u></u><u></u></p>
<h2 style=3D"margin-left:.55in"><span>1.2.</span>Data Type Requirements<u><=
/u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Representing intended configuration (actual vs. config=
ured)<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Derived, negotiated, and system assigned data<u></u><u=
></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Counters or statistics<u></u><u></u></p>
<h2 style=3D"margin-left:.55in"><span>1.3.</span>Operation Requirements<u><=
/u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Separate configuration and operational state data<u></=
u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Retrieve configuration and operational state data inde=
pendently<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Retrieve derived state and statistics state independen=
tly<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Consistent schema locations for configuration and corr=
esponding operational state data<u></u><u></u></p>
<h2 style=3D"margin-left:.25in"><span>2.<span style=3D"font-style:normal;fo=
nt-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-=
family:&#39;Times New Roman&#39;">=C2=A0=C2=A0=C2=A0
</span></span>Some Options<u></u><u></u></h2>
<h2 style=3D"margin-left:.55in"><span>2.1.</span>Option 1<u></u><u></u></h2=
>
<p><u></u>=C2=A0<u></u></p>
<p>/routing/routing-instance:<u></u><u></u></p>
<p>=C2=A0=C2=A0 +--rw te!<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw interface* [interface]<u></=
u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interface=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw switching-capabilities* [switching-capability]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw capability?=C2=A0=C2=A0 identityref<u><=
/u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =C2=A0=C2=A0|=C2=A0 +--rw encoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref=
<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <b>+--ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro capability?=C2=A0=C2=A0 id=
entityref<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro encoding?=C2=A0=C2=A0=C2=A0=C2=
=A0 identityref<u></u><u></u></b></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u></u><=
/p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <b>+-=
-ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 +--ro te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric</b><u></u><=
u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 <span style=3D"color:#0070c0">+--ro oper-status?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u=
></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></sp=
an></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=
=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0+--ro pkts-sent?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 yang:counter32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
<u></u><u></u></span></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw tunnels<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnel* [name typ=
e]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0+--rw=
 config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=
=A0=C2=A0|=C2=A0 +--rw admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0 +--rw forwarding<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw load-share?=C2=A0=C2=A0 uint3=
2<u></u><u></u></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro load-share?=C2=A0=C2=A0 ui=
nt32<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +-=
-ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></b></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u=
></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></sp=
an></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 yang:counter32<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span>2.2.</span>Option 2<u></u><u></u></h2=
>
<p><u></u>=C2=A0<u></u></p>
<p>/routing/routing-instance:<u></u><u></u></p>
<p>=C2=A0=C2=A0 +--rw te!<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw interface* [interface]<u></=
u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interface=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--rw switching=
-capabilities* [switching-capability]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw c=
apability?=C2=A0=C2=A0 identityref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw e=
ncoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--rw te-metric=
?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnels<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnel* [name typ=
e]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw=
 admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
identityref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 forwarding<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 +--rw load-share?=C2=A0=C2=A0 uint32<u></u><u></u></p>
<p>/routing-state/routing-instance:<u></u><u></u></p>
<p>=C2=A0=C2=A0 +--ro te!<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro globals<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro interfaces<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--ro interface* [interface]<u></=
u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 =C2=A0=C2=A0=C2=A0+--ro interface=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u></u></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--ro switch=
ing-capabilities* [switching-capability]<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--r=
o capability?=C2=A0=C2=A0 identityref<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--r=
o encoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--ro te-met=
ric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u></u></b></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro pkts-sent?=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counte=
r32<u></u><u></u></span></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnels<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnel* [name typ=
e]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro=
 name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0string<u></u><u></u></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +-=
-ro admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 identityref<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +-=
-ro forwarding<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 +--ro load-share?=C2=A0=C2=A0 uint32<u></u><u></u></b></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0yang:counter32=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
<u></u><u></u></span></p>
<p><u></u>=C2=A0<u></u></p>
<h2 style=3D"margin-left:.55in"><span>2.3.</span>Option 3<u></u><u></u></h2=
>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p>/routing/routing-instance:<u></u><u></u></p>
<p>=C2=A0=C2=A0 +--rw te!<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw interface* [interface]<u></=
u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interface=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=
=A0+--rw switching-capabilities* [switching-capability]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw capability?=C2=A0=C2=A0 identityref<u><=
/u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 =C2=A0=C2=A0|=C2=A0 +--rw encoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref=
<u></u><u></u></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro capability?=C2=A0=C2=A0 id=
entityref<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro encoding?=C2=A0=C2=A0=C2=A0=C2=
=A0 identityref<u></u><u></u></b></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u></u><=
/p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +-=
-ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 +--ro te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u></=
u></b></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnels<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnel* [name typ=
e]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=
=A0=C2=A0|=C2=A0 +--rw admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0 +--rw forwarding<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw load-share?=C2=A0=C2=A0 uint3=
2<u></u><u></u></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro load-share?=C2=A0=C2=A0 ui=
nt32<u></u><u></u></b></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 <b>+-=
-ro state<u></u><u></u></b></p>
<p><b>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 +--ro admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></b></p>
<p><u></u>=C2=A0<u></u></p>
<p>/routing-state/routing-instance:<u></u><u></u></p>
<p>=C2=A0=C2=A0 +--ro te!<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro globals<u></u><u></u></p>
<p>=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0+--ro interfaces<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--ro interface* [interface]<u></=
u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0 +--ro interface=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u></u></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro pkts-sent?=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counte=
r32<u></u><u></u></span></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnels<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnel* [name typ=
e]<u></u><u></u></p>
<p>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro=
 name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string<u></u><u></u></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters<u></u><u></u></span></p>
<p><span style=3D"color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counter32
<u></u><u></u></span></p>
<p><u></u>=C2=A0<u></u></p>
<h2 style=3D"margin-left:.25in"><span>3.<span style=3D"font-style:normal;fo=
nt-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-=
family:&#39;Times New Roman&#39;">=C2=A0=C2=A0=C2=A0
</span></span>Approach Rationales<u></u><u></u></h2>
<h2 style=3D"margin-left:.55in"><span>1.1.</span>Performance Requirement<u>=
</u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Separating configuration and state branches allows imp=
lementing state data through a separate fast channel to deliver high freque=
nt and high volume data.<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>In this aspect, Option 2 has a clearer separation betw=
een configuration and state data, and easier to achieve better performance =
by using separate channels.<u></u><u></u></p>
<h2 style=3D"margin-left:.55in"><span>1.2.</span>Data Type Requirements<u><=
/u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Duplicating all configuration attributes makes actual =
configuration settings available<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Derived, negotiated, and system assigned data are adde=
d to the state branch<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Counters or statistics are added to the state branch<u=
></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>All three options satisfy these requirements<u></u><u>=
</u></p>
<h2 style=3D"margin-left:.55in"><span>1.3.</span>Operation Requirements<u><=
/u><u></u></h2>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Separating configuration and operational state data al=
lows retrieving configuration and operational state data independently.<u><=
/u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>Separating derived state and statistics state allows r=
etrieving them independently<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>The state branch is an exact mirror of the configurati=
on branch, so the schema locations are consistent.
<u></u><u></u></p>
<p style=3D"margin-left:.85in">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0
</span></span></span>In this aspect, all three options satisfy the requirem=
ents. For option 1, to check the state value for a specific configuration a=
ttribute, the client software can simply add the =E2=80=9Cstate=E2=80=9D to=
 the end of the schema node path.
 For option 2, to check the state value for a specific configuration attrib=
ute, the client software can simply add the =E2=80=9C-state=E2=80=9D suffix=
 to the name of the top container. Option 1 seems to be easiest in this reg=
ard, but others are acceptable?<u></u><u></u></p>
<h2 style=3D"margin-left:.55in"><span>1.4.</span>Other Requirements<u></u><=
u></u></h2>
<p style=3D"margin-left:63.0pt">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0
</span></span></span>Model system created read-only objects (e.g. TE tunnel=
s). When state data and config data share the same parent, they share the s=
ame key for the parent list. Even though that the state branch is read-only=
, its parent is not
 and the key of the parent is not. Therefore, we will have difficulty to ac=
hieve this in Option 1.<u></u><u></u></p>
<p style=3D"margin-left:63.0pt">
<span><span>=C2=B7<span style=3D"font-style:normal;font-variant:normal;font=
-weight:normal;font-size:7pt;line-height:normal;font-family:&#39;Times New =
Roman&#39;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0
</span></span></span>Compatible with the existing models. The related model=
s include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. In this as=
pect, Option 2 seems to do better.<u></u><u></u></p>
<p>Your comments and preferences are appreciated.<u></u><u></u></p>
<p class=3D"MsoNormal">Thanks,<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">- Xufeng<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div>
</div>
</blockquote>
</div></div></span>
</div>

<br>_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org">Rtg-yang-coord@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
<br></blockquote></div><br></div>

--001a1134e9a0b4bd780515f1e1d6--


From nobody Wed May 13 03:35:23 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 549C61B2AB6 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 03:35:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 WWS565MrMGx9 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 03:35:17 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2146C1B2ABA for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 03:35:17 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id E1485765; Wed, 13 May 2015 12:35:15 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id zUXaZP_KscPz; Wed, 13 May 2015 12:35: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 atlas3.jacobs-university.de (Postfix) with ESMTPS; Wed, 13 May 2015 12:35:15 +0200 (CEST)
Received: from localhost (demetrius4.jacobs-university.de [212.201.44.49]) by hermes.jacobs-university.de (Postfix) with ESMTP id 00C7F2002B; Wed, 13 May 2015 12:35: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 66TKMIuFnbQ8; Wed, 13 May 2015 12:35:13 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 6C92020013; Wed, 13 May 2015 12:35:13 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 105C23332684; Wed, 13 May 2015 12:35:11 +0200 (CEST)
Date: Wed, 13 May 2015 12:35:11 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Anees Shaikh <aashaikh@google.com>
Message-ID: <20150513103509.GA59689@elstar.local>
Mail-Followup-To: Anees Shaikh <aashaikh@google.com>, "Acee Lindem (acee)" <acee@cisco.com>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Xufeng Liu <xufeng.liu@ericsson.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/AQhyLTRSp9e6eVLBSXSxE5FHe7o>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 10:35:22 -0000

On Wed, May 13, 2015 at 12:51:41AM -0700, Anees Shaikh wrote:
> 
> Regarding compatibility with existing models, I really don't agree at all
> that the existing RFC models should constrain what we do when trying to
> meet the requirements of people trying to build real systems that use YANG
> models.    With all respect to the authors of those few models (which we
> leverage considerably in our models), YANG models are software code, and
> should be treated as such IMO.  We don't say that software is "done" and
> can't change -- it evolves and improves over time, sometimes in
> non-backward-compatible ways.  And we don't issue a final version of
> software without considerable experience using and testing it in production.
>

Standards and software are not the same. The value of standards is
that they provide a stable basis. In other words, the value of
standards is that they do not change every other day. Yes, you can
rewrite standardized data models but the cost of doing so is high and
hence the benefit of rewriting something must be high. I do not see
this here - not even remotely.

/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 13 06:13:41 2015
Return-Path: <tnadeau@lucidvision.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7786F1A9170 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 06:13:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.895
X-Spam-Level: 
X-Spam-Status: No, score=0.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.793, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=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 i4YN1YtDDGWF for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 06:13:38 -0700 (PDT)
Received: from lucidvision.com (unknown [50.255.148.178]) by ietfa.amsl.com (Postfix) with ESMTP id 453ED1A876E for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 06:13:38 -0700 (PDT)
Received: from [192.168.1.108] (unknown [50.255.148.181]) by lucidvision.com (Postfix) with ESMTP id B1D1534922D4; Wed, 13 May 2015 09:13:37 -0400 (EDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: "Thomas D. Nadeau" <tnadeau@lucidvision.com>
In-Reply-To: <20150513103509.GA59689@elstar.local>
Date: Wed, 13 May 2015 09:13:37 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/E1PciUQfvfWiItkd3qYeJaHZdDY>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Xufeng Liu <xufeng.liu@ericsson.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 13:13:39 -0000

	Speaking as an individual, while what Juergen says is true, that =
does not mean that existing models can never be refactored.=20

	=E2=80=94Tom


> On May 13, 2015:6:35 AM, at 6:35 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>=20
> On Wed, May 13, 2015 at 12:51:41AM -0700, Anees Shaikh wrote:
>>=20
>> Regarding compatibility with existing models, I really don't agree at =
all
>> that the existing RFC models should constrain what we do when trying =
to
>> meet the requirements of people trying to build real systems that use =
YANG
>> models.    With all respect to the authors of those few models (which =
we
>> leverage considerably in our models), YANG models are software code, =
and
>> should be treated as such IMO.  We don't say that software is "done" =
and
>> can't change -- it evolves and improves over time, sometimes in
>> non-backward-compatible ways.  And we don't issue a final version of
>> software without considerable experience using and testing it in =
production.
>>=20
>=20
> Standards and software are not the same. The value of standards is
> that they provide a stable basis. In other words, the value of
> standards is that they do not change every other day. Yes, you can
> rewrite standardized data models but the cost of doing so is high and
> hence the benefit of rewriting something must be high. I do not see
> this here - not even remotely.
>=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
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>=20


From nobody Wed May 13 09:04:14 2015
Return-Path: <andy@yumaworks.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 49E9A1A8A6B for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 09:04:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.979
X-Spam-Level: 
X-Spam-Status: No, score=-1.979 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 LJlXpgwgS_XZ for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 09:04:11 -0700 (PDT)
Received: from mail-lb0-f169.google.com (mail-lb0-f169.google.com [209.85.217.169]) (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 9657E1A8A58 for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 09:04:11 -0700 (PDT)
Received: by lbbqq2 with SMTP id qq2so33081162lbb.3 for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 09:04:10 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=nutx3qUU4HeX/jF/AbqH2eE++0CY9Muuv8gHr4K4mA4=; b=WHKki2f4KdA/57K2ZOyh3sBlEd69khbdVxEcJdv2JEstuluHsaNYfu+O5pnfeee/ru I+Ik6HCqNrEZvfbsDPdJnNBC1UdWgqPDhaVhWEej1SDQPwU+El38ppfFCcxuaVrpyFUP tbbTWCg6wZjq/b4JqKq4mJEMs5liIRIQNdElRAgQOvIJzXkSoTuLe9snJQ3Ay/w/LG+D /8XFXk9Nmbz1cFD1XZS2o53L761JXRvuQDTPyViZcgIVdDtIlkGc8aU+Eq4eNVPefTC5 ssXeraqwX2tQQWzUWd/TljKETEzqe+sKH7K+aHipYvYICyrEzD8qEgM8yhIPyZbAboxz w0Gg==
X-Gm-Message-State: ALoCoQngd0ucix5LVTjEaFMIBq3jUfhXH6Brr1a3Kjpxx7IT84+vif6XCh/3dR2zQCnDFHmtUM1Q
MIME-Version: 1.0
X-Received: by 10.112.199.195 with SMTP id jm3mr16614975lbc.38.1431533050086;  Wed, 13 May 2015 09:04:10 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Wed, 13 May 2015 09:04:09 -0700 (PDT)
In-Reply-To: <20150513103509.GA59689@elstar.local>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local>
Date: Wed, 13 May 2015 09:04:09 -0700
Message-ID: <CABCOCHSw=8UeJhp-6pk_c5-gdhKrgYMTi1+Ox=D_iCOkRnQANQ@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>,  Anees Shaikh <aashaikh@google.com>, "Acee Lindem (acee)" <acee@cisco.com>,  "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Xufeng Liu <xufeng.liu@ericsson.com>
Content-Type: text/plain; charset=UTF-8
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/2Hqdt-9fxbJiZpILt-eCy40n2sM>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 16:04:13 -0000

On Wed, May 13, 2015 at 3:35 AM, Juergen Schoenwaelder
<j.schoenwaelder@jacobs-university.de> wrote:
> On Wed, May 13, 2015 at 12:51:41AM -0700, Anees Shaikh wrote:
>>
>> Regarding compatibility with existing models, I really don't agree at all
>> that the existing RFC models should constrain what we do when trying to
>> meet the requirements of people trying to build real systems that use YANG
>> models.    With all respect to the authors of those few models (which we
>> leverage considerably in our models), YANG models are software code, and
>> should be treated as such IMO.  We don't say that software is "done" and
>> can't change -- it evolves and improves over time, sometimes in
>> non-backward-compatible ways.  And we don't issue a final version of
>> software without considerable experience using and testing it in production.
>>
>
> Standards and software are not the same. The value of standards is
> that they provide a stable basis. In other words, the value of
> standards is that they do not change every other day. Yes, you can
> rewrite standardized data models but the cost of doing so is high and
> hence the benefit of rewriting something must be high. I do not see
> this here - not even remotely.
>

+1

YANG already has a config-stmt to identify configuration nodes.
Extra non-presence containers throughout the data model
for "config" and "state" adds clutter and extra complexity.

Replication of data nodes increases implementation costs.
The association between "turn a config knob here" and
"observe a state change there" is usually more complex than
this draft supports.

> /js

Andy

> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Wed May 13 14:39:21 2015
Return-Path: <xufeng.liu@ericsson.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 536381A90DB for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 14:39:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level: 
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 jo9kIrketbTy for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 14:39:14 -0700 (PDT)
Received: from usevmg21.ericsson.net (usevmg21.ericsson.net [198.24.6.65]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B15BA1AD0C9 for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 14:39:13 -0700 (PDT)
X-AuditID: c6180641-f79086d000001909-b4-55536007085c
Received: from EUSAAHC006.ericsson.se (Unknown_Domain [147.117.188.90]) by usevmg21.ericsson.net (Symantec Mail Security) with SMTP id 66.5F.06409.70063555; Wed, 13 May 2015 16:30:32 +0200 (CEST)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC006.ericsson.se ([147.117.188.90]) with mapi id 14.03.0210.002; Wed, 13 May 2015 17:39:11 -0400
From: Xufeng Liu <xufeng.liu@ericsson.com>
To: Anees Shaikh <aashaikh@google.com>, "Acee Lindem (acee)" <acee@cisco.com>
Thread-Topic: [Rtg-yang-coord] Operational State Modeling
Thread-Index: AQHQjPpRkKpDh+jYTPGkN01wChYhCZ15zGWAgAB9IvA=
Date: Wed, 13 May 2015 21:39:11 +0000
Message-ID: <AAB1CC9C17CBA440BDFA169056B93B9EBE92D4@eusaamb107.ericsson.se>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com>
In-Reply-To: <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [147.117.188.9]
Content-Type: multipart/alternative; boundary="_000_AAB1CC9C17CBA440BDFA169056B93B9EBE92D4eusaamb107ericsso_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPLMWRmVeSWpSXmKPExsUyuXRPlC5HQnCowfEuIYuNOxUtJr+dx2zx +/ltZgdmjym/N7J6LNhU6rFkyU+mAOYoLpuU1JzMstQifbsEroybO1YxF0zaxlZx4Pw0tgbG LwvYuhg5OSQETCSuzv7HDmGLSVy4tx4ozsUhJHCUUeL66qdQznJGiRNXH7B0MXJwsAloSVx+ 6ghiigj4ShztrgDpZRYwl1izaB0jiC0sYCFx7ehaNogSS4ne/4UgYREBK4mPB/8xgdgsAqoS XzYeYwGxeQW8JW7POgt2jpBAkcS9XxfBbE6BQIk9d3aC1TMCnfb91BomiFXiEreezGeCOFlA Ysme88wQtqjEy8f/WCFsRYl9/dPZIerzJU4ea4XaJShxcuYTlgmMorOQjJqFpGwWkrJZQB8w C2hKrN+lD1GiKDGl+yE7hK0h0TpnLjuy+AJG9lWMHKXFqWW56UaGmxiBMXZMgs1xB+OCT5aH GAU4GJV4eB+UB4UKsSaWFVfmHmKU5mBREuctu3IwREggPbEkNTs1tSC1KL6oNCe1+BAjEwen VANjygIl6QBt5++MWgvDn4hzMZ94OePJWUc5D2Fed8v1E/jNDV6HOnuunlH/VmzRBJfJx4Q0 ZYO+3WqL3yK355v2fCOrCpaFtkkFRiIsE9j2C272eqpSuTTDRuWRhnumaJvEgcmb71Ve2xB4 ZdtVr5LjV/2WlwovPnr8boLC96On2azdBP5lnXumxFKckWioxVxUnAgAl2YHvpICAAA=
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/5XA_rDkD8MXWVsikD8CHJI5a974>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 21:39:19 -0000

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

SGkgQW5lZXMsDQoNClRoYW5rcyBmb3IgdGhlIHJlcGxpZXMuIEhhdmUgYSBjb3VwbGUgb2YgY29t
bWVudHMgYmVsb3cuDQoNCkJlc3QsDQoNCi0gWHVmZW5nDQoNCkZyb206IEFuZWVzIFNoYWlraCBb
bWFpbHRvOmFhc2hhaWtoQGdvb2dsZS5jb21dDQpTZW50OiBXZWRuZXNkYXksIE1heSAxMywgMjAx
NSAzOjUyIEFNDQpUbzogQWNlZSBMaW5kZW0gKGFjZWUpDQpDYzogWHVmZW5nIExpdTsgUnRnLXlh
bmctY29vcmRAaWV0Zi5vcmcNClN1YmplY3Q6IFJlOiBbUnRnLXlhbmctY29vcmRdIE9wZXJhdGlv
bmFsIFN0YXRlIE1vZGVsaW5nDQoNClh1ZmVuZywgdGhhbmtzIHZlcnkgbXVjaCBmb3IgdGFraW5n
IHRoZSB0aW1lIHRvIGRvIHRoaXMgc3lzdGVtYXRpYyBhbmFseXNpcyAtLSBtdWNoIGFwcHJlY2lh
dGVkLiAgIFdlJ3ZlIGFsc28gdGFsa2VkIHRvIGEgc3Vic2V0IG9mIHRoZSBNUExTL1RFIERUIGp1
c3QgdG9kYXkgYWJvdXQgb3BzdGF0ZSB0byByZWl0ZXJhdGUgdGhlIHJlYXNvbnMgZm9yIHRoZSBP
cGVuQ29uZmlnIHByb3Bvc2FsLiAgSSB3aWxsIGp1c3QgY29tbWVudCBvbiB5b3VyIHJhdGlvbmFs
ZSBzZWN0aW9uLg0KDQoxLjEgUGVyZm9ybWFuY2UgcmVxdWlyZW1lbnRzDQoNCkltcGxlbWVudGF0
aW9ucyB0b2RheSBhbHJlYWR5IHN1cHBvcnQgdGhlIHJldHJpZXZhbCBvZiBvcGVyYXRpb25hbCBz
dGF0ZSBhbmQgY29uZmlndXJhdGlvbiBkYXRhIHRvZ2V0aGVyLiAgSW4gZmFjdCwgcGxhdGZvcm1z
IHRoYXQgc3VwcG9ydCBORVRDT05GIHdvdWxkIG5lZWQgdG8gaGFuZGxlIGJvdGggc2ltdWx0YW5l
b3VzbHkgaW4gYSA8Z2V0PiByZXF1ZXN0LiAgVGhlIDxnZXQtY29uZmlnPiByZXF1ZXN0IGRvZXMg
bm90IHJldHVybiBvcHN0YXRlIGF0IGFsbC4gIFRoZXJlIGlzIG5vIG9wdGlvbiB0b2RheSBmb3Ig
PGdldC1vcGVyYXRpb25hbD4gdG8gcmV0cmlldmUgb25seSBzdGF0ZSAodGhvdWdoIG91ciBkcmFm
dCBwcm9wb3Nlcywgb3IgbW9yZSBhY2N1cmF0ZWx5LCByZS1wcm9wb3NlcyBpdCkuICBUaGUgcGVy
Zm9ybWFuY2UgaW1wbGljYXRpb25zIG1heSBiZSBkdWUgdG8gdGhlIGRhdGFzdG9yZSBkZXNpZ24g
Zm9yIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2YgZGF0YSwgYnV0IHdoZXJlIHRoZSBkYXRhIGxpdmVz
IGluIHRoZSAqc2NoZW1hKiBzaG91bGQgbm90IGhhdmUgYSBtYWpvciBpbXBhY3Qgb24gdGhlIHBl
cmZvcm1hbmNlIHRvIHJlYWQgaXQuICBJbiBvdGhlciB3b3JkcywgaWYgeW91IGFjY2VwdCB0aGUg
cmVxdWlyZW1lbnQgdGhhdCBjb25maWd1cmF0aW9uIG5lZWRzIHRvIGJlIHBhcnQgb2Ygc3RhdGUg
KHdoaWNoIHlvdSBzZWVtIHRvIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5vdGUpLA0KW1h1ZmVu
Z10gRXZlbiB0aG91Z2ggdGhlIHNhbWUgY29uZmlnIGF0dHJpYnV0ZXMgYXBwZWFyIGluIHRoZSBz
dGF0ZSBicmFuY2gsIHRoZXkgbWF5IG5vdCBiZSB0YWtlbiBmcm9tIHRoZSBjb25maWd1cmF0aW9u
IGRhdGFiYXNlLCBidXQgdGFrZW4gZnJvbSBpbnRlcm5hbCBtZW1vcnkgc28gYXMgdG8gcmV0cmll
dmUgdGhlIGFwcGxpZWQgb3IgbmVnb3RpYXRlZCB2YWx1ZXMuDQp0aGVuIHRoZSBsb2NhdGlvbiBp
biB0aGUgc2NoZW1hIHJlYWxseSBzaG91bGRuJ3QgbWF0dGVyLiAgSXQgZG9lcyBtYXR0ZXIgZm9y
IG90aGVyIHJlYXNvbnMgKHNlZSBiZWxvdykuDQoNCjEuMiBEYXRhIHR5cGUgcmVxdWlyZW1lbnRz
IC0tIGFncmVlIHdpdGggeW91ciBjb25jbHVzaW9ucw0KDQoxLjMgT3BlcmF0aW9uIHJlcXVpcmVt
ZW50cw0KDQpZb3UgbWVudGlvbiwgIkZvciBvcHRpb24gMiwgdG8gY2hlY2sgdGhlIHN0YXRlIHZh
bHVlIGZvciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlLCB0aGUgY2xpZW50IHNv
ZnR3YXJlIGNhbiBzaW1wbHkgYWRkIHRoZSDigJwtc3RhdGXigJ0gc3VmZml4IHRvIHRoZSBuYW1l
IG9mIHRoZSB0b3AgY29udGFpbmVyIg0KDQpUaGUgcXVlc3Rpb24gdGhhdCB0aGlzIGRvZXNuJ3Qg
YW5zd2VyIGlzIHdoYXQgaXMgdGhlIHRvcCBjb250YWluZXI/ICBJdCBtYXkgYmUgY2xlYXIgaW4g
YW4gaW5kaXZpZHVhbCBtb2RlbCwgYnV0IEkgZG9uJ3QgbWFuYWdlIGEgZGV2aWNlIHVzaW5nIGp1
c3Qgcm91dGluZywgb3IganVzdCBpbnRlcmZhY2VzLiAgSSB3YW50IHRvIGNvbXBvc2UgYSBzZXQg
b2YgbW9kZWxzIGludG8gYSBjb2hlcmVudCB3aG9sZSBhbmQgYmUgYWJsZSB0byBhY2Nlc3MgY29u
ZmlnIGFuZCBjb3JyZXNwb25kaW5nIHN0YXRlIGluIGEgY29uc2lzdGVudCB3YXkuICBXaGVuIEkg
Y29tcG9zZSB0aGUgbW9kZWxzLCB3aGF0IEkgdGhvdWdodCB3YXMgdGhlICJ0b3AiIGNvbnRhaW5l
ciBpcyBubyBsb25nZXIgdG9wIC0tIGl0IHNob3dzIHVwIHNvbWV3aGVyZSBpbiB0aGUgbWlkZGxl
LCBhbmQgbXkgcGF0aHMgYXJlIG5vdyB0b3RhbGx5IGRlcGVuZGVudCBvbiBob3cgbW9kZWxlcnMg
aGF2ZSBkZWNpZGVkIHRvIGNvbWJpbmUgb3Igc2VwYXJhdGUgdGhlaXIgaW5kaXZpZHVhbCBtb2Rl
bHMgYW5kIG1vZHVsZXMuICBGcm9tIG91ciBwZXJzcGVjdGl2ZSwgb3B0aW9uIDIgZG9lc24ndCBt
ZWV0IHRoaXMgcmVxdWlyZW1lbnQuICBSYXRoZXIgdGhhbiBkZWJhdGUgd2hhdCB0aGUgcmVhbCB0
b3Agb2YgYSB1c2FibGUgbW9kZWwgaXMsIHdlIHRha2UgdGhlIGFwcHJvYWNoIG9mIHB1c2hpbmcg
dGhlIHNlcGFyYXRpb24gdG8gbGVhdmVzIG9mIHRoZSB0cmVlLCB3aGljaCB3b3JrcyBubyBtYXR0
ZXIgaG93IG1vZGVscyBhcmUgY29tcG9zZWQgc3RydWN0dXJhbGx5Lg0KW1h1ZmVuZ10gSeKAmWQg
bGlrZSB0byBzZWUgYW4gZXhhbXBsZSBvZiB5b3VyIGNvbXBvc2VkIHN0cnVjdHVyZS4gQ3VycmVu
dGx5IFlBTkcgZG9lcyBub3QgYWxsb3cgeW91IHRvIG1vdW50IGEgc2NoZW1hIHRyZWUgdG8gYW5v
dGhlciBsb2NhdGlvbi4gSWYgaXQgd2VyZSBhbGxvd2VkLCB0aGUgbW91bnRpbmcgcHJvY2VzcyB3
b3VsZCBiZSBwb3NzaWJsZSB0byBwcm9jZXNzIHRoZSBzcGxpdCBwb2ludCBhbmQgcmVsb2NhdGUg
aXQgdG8gdGhlIHRvcC4NCg0KMS40IE90aGVyIHJlcXVpcmVtZW50cw0KDQpSZWdhcmRpbmcgc3lz
dGVtLWNyZWF0ZWQgdHVubmVscywgd2h5IGlzIGl0IG5lY2Vzc2FyeSB0byBjb25zaWRlciB0aGVt
IHBhcnQgb2YgcmVhZC1vbmx5IHN0YXRlPyAgSSBjYW4ganVzdCBhcyB3ZWxsIGNvbnNpZGVyIHRo
ZW0gYXMgY29uZmlndXJlZCwgb25seSB0aGV5IGFyZSBjb25maWd1cmVkIGJ5IHNvbWUgYWdlbnQg
b24gdGhlIHN5c3RlbSAtLSB0aGV5IHNob3VsZCBpbiBmYWN0IGJlIGNvbmZpZ3VyZWQgdXNpbmcg
dGhlIHNhbWUgbWVjaGFuaXNtIGFzIGEgdHVubmVsIGNvbmZpZ3VyZWQgYnkgYW4gb3BlcmF0b3Iu
ICAgSWYgdGhleSBhcmUgbm90IHdyaXRhYmxlLCAqYW5kIHlvdSB3YW50IHRvIGVuZm9yY2UgdGhp
cyBpbiB0aGUgbW9kZWwqLCB0aGV5IGNvdWxkIHNob3cgdXAgaW4gb25seSB0aGUgc3RhdGUgcGFy
dCBvZiB0aGUgdHJlZSAtLSBJIGFncmVlIHRoaXMgZG9lcyByYWlzZSB0aGUgaXNzdWUgd2l0aCBs
aXN0IGtleXMgdGhhdCB5b3UgbWVudGlvbi4gIEJ1dCBsaXN0IGtleXMgKGFuZCBsaXN0cyBpbiBn
ZW5lcmFsKSBhcmUgYSBiaXQgYnJva2VuIGluIFlBTkcgMS4wLzEuMSBhcyB3ZSBleHBsYWluIGJy
aWVmbHkgaW4gdGhlIGRyYWZ0LiAgV2UgY2FuIGRpc2N1c3MgdGhlIGlzc3VlcyB3aXRoIGxpc3Rz
IGluIGEgc2VwYXJhdGUgdGhyZWFkIGdpdmVuIG1vcmUgdGltZS4NCltYdWZlbmddIEkgdGhpbmsg
dGhhdCB0aGUgcHJvcG9zZWQgbGlzdCBrZXkgY2hhbmdlIGlzIHJhdGhlciBkcmFtYXRpYy4gT3Vy
IG1vZGVsIHdvdWxkIGJldHRlciBiZSBiYXNlZCBvbiB0aGUgY3VycmVudCBZQU5HIHZlcnNpb24u
IEnigJlkIG5vdCB3YW50IHRvIHdhbnQgdG8gaGF2ZSBhIG1vZGVsIGJhc2Ugb24gYSBub24tZXhp
c3RpbmcgZmVhdHVyZS4NCg0KUmVnYXJkaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBt
b2RlbHMsIEkgcmVhbGx5IGRvbid0IGFncmVlIGF0IGFsbCB0aGF0IHRoZSBleGlzdGluZyBSRkMg
bW9kZWxzIHNob3VsZCBjb25zdHJhaW4gd2hhdCB3ZSBkbyB3aGVuIHRyeWluZyB0byBtZWV0IHRo
ZSByZXF1aXJlbWVudHMgb2YgcGVvcGxlIHRyeWluZyB0byBidWlsZCByZWFsIHN5c3RlbXMgdGhh
dCB1c2UgWUFORyBtb2RlbHMuICAgIFdpdGggYWxsIHJlc3BlY3QgdG8gdGhlIGF1dGhvcnMgb2Yg
dGhvc2UgZmV3IG1vZGVscyAod2hpY2ggd2UgbGV2ZXJhZ2UgY29uc2lkZXJhYmx5IGluIG91ciBt
b2RlbHMpLCBZQU5HIG1vZGVscyBhcmUgc29mdHdhcmUgY29kZSwgYW5kIHNob3VsZCBiZSB0cmVh
dGVkIGFzIHN1Y2ggSU1PLiAgV2UgZG9uJ3Qgc2F5IHRoYXQgc29mdHdhcmUgaXMgImRvbmUiIGFu
ZCBjYW4ndCBjaGFuZ2UgLS0gaXQgZXZvbHZlcyBhbmQgaW1wcm92ZXMgb3ZlciB0aW1lLCBzb21l
dGltZXMgaW4gbm9uLWJhY2t3YXJkLWNvbXBhdGlibGUgd2F5cy4gIEFuZCB3ZSBkb24ndCBpc3N1
ZSBhIGZpbmFsIHZlcnNpb24gb2Ygc29mdHdhcmUgd2l0aG91dCBjb25zaWRlcmFibGUgZXhwZXJp
ZW5jZSB1c2luZyBhbmQgdGVzdGluZyBpdCBpbiBwcm9kdWN0aW9uLg0KDQp0aGFua3MuDQotLSBB
bmVlcw0KDQoNCk9uIFR1ZSwgTWF5IDEyLCAyMDE1IGF0IDI6MjYgUE0sIEFjZWUgTGluZGVtIChh
Y2VlKSA8YWNlZUBjaXNjby5jb208bWFpbHRvOmFjZWVAY2lzY28uY29tPj4gd3JvdGU6DQpIaSBY
dWZlbmcsDQoNCk15IGludGVycHJldGF0aW9uIG9mIHRoZSBPcGVuQ29uZmlnIGRyYWZ0IGlzIHRo
YXQgaXQgcmVjb21tZW5kcyBvcHRpb24gMS4gQWN0dWFsbHksIG9wdGlvbiAzIHNlZW1zIGxpa2Ug
YSB2YXJpYXRpb24gb2YgMSB3aXRoIHNvbWUgc3VwZXJmbHVvdXMgbGV2ZWxzLg0KDQpUaGFua3Ms
DQpBY2VlDQoNCkZyb206IFh1ZmVuZyBMaXUgPHh1ZmVuZy5saXVAZXJpY3Nzb24uY29tPG1haWx0
bzp4dWZlbmcubGl1QGVyaWNzc29uLmNvbT4+DQpEYXRlOiBUdWVzZGF5LCBNYXkgMTIsIDIwMTUg
YXQgNDo1NiBQTQ0KVG86IFJvdXRpbmcgWUFORyA8cnRnLXlhbmctY29vcmRAaWV0Zi5vcmc8bWFp
bHRvOnJ0Zy15YW5nLWNvb3JkQGlldGYub3JnPj4NClN1YmplY3Q6IFtSdGcteWFuZy1jb29yZF0g
T3BlcmF0aW9uYWwgU3RhdGUgTW9kZWxpbmcNCg0KRHVyaW5nIHRoZSBZQU5HIE1QTFMvVEUgZGVz
aWduIHRlYW0gZGlzY3Vzc2lvbnMsIHRoZSB0b3BpYyBvZiBvcGVyYXRpb25hbCBzdGF0ZSBtb2Rl
bGluZyB3YXMgYnJvdWdodCB1cC4gV2UgZGlzY3Vzc2VkIHRoZSBwcm9wb3NhbCBwcmVzZW50ZWQg
aW4gaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1vcGVuY29uZmlnLW5ldG1vZC1vcHN0YXRl
LTAwLnR4dCBhbmQgc29tZSB2YXJpb3VzIGFwcHJvYWNoZXMuIEhlcmUgYXJlIHNvbWUgdGhvdWdo
dHMgYW5kIHF1ZXN0aW9ucy4NCjEuICAgIFJlcXVpcmVtZW50cw0KV2UgYWdyZWUgd2l0aCB0aGUg
cmVxdWlyZW1lbnRzIHByZXNlbnRlZCBpbiBkcmFmdC1vcGVuY29uZmlnLW5ldG1vZC1vcHN0YXRl
LiBUaGVzZSByZXF1aXJlbWVudHMgYXJlIHN1bW1hcml6ZWQgYXMgZm9sbG93aW5ncy4NCjEuMS5Q
ZXJmb3JtYW5jZSBSZXF1aXJlbWVudA0KDQrCtyAgICAgICAgICAgIE9wZXJhdGlvbmFsIHN0YXRl
IGFjY2VzcyBpcyBtdWNoIG1vcmUgZnJlcXVlbnQgdGhhbiBjb25maWd1cmF0aW9uDQoNCsK3ICAg
ICAgICAgICAgU3RhdGUgZGF0YSBpcyBnZW5lcmFsbHkgaGlnaGVyIHZvbHVtZSB0aGFuIGNvbmZp
Z3VyYXRpb24gZGF0YQ0KDQoxLjIuRGF0YSBUeXBlIFJlcXVpcmVtZW50cw0KDQrCtyAgICAgICAg
ICAgIFJlcHJlc2VudGluZyBpbnRlbmRlZCBjb25maWd1cmF0aW9uIChhY3R1YWwgdnMuIGNvbmZp
Z3VyZWQpDQoNCsK3ICAgICAgICAgICAgRGVyaXZlZCwgbmVnb3RpYXRlZCwgYW5kIHN5c3RlbSBh
c3NpZ25lZCBkYXRhDQoNCsK3ICAgICAgICAgICAgQ291bnRlcnMgb3Igc3RhdGlzdGljcw0KDQox
LjMuT3BlcmF0aW9uIFJlcXVpcmVtZW50cw0KDQrCtyAgICAgICAgICAgIFNlcGFyYXRlIGNvbmZp
Z3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0YXRlIGRhdGENCg0KwrcgICAgICAgICAgICBSZXRy
aWV2ZSBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBzdGF0ZSBkYXRhIGluZGVwZW5kZW50
bHkNCg0KwrcgICAgICAgICAgICBSZXRyaWV2ZSBkZXJpdmVkIHN0YXRlIGFuZCBzdGF0aXN0aWNz
IHN0YXRlIGluZGVwZW5kZW50bHkNCg0KwrcgICAgICAgICAgICBDb25zaXN0ZW50IHNjaGVtYSBs
b2NhdGlvbnMgZm9yIGNvbmZpZ3VyYXRpb24gYW5kIGNvcnJlc3BvbmRpbmcgb3BlcmF0aW9uYWwg
c3RhdGUgZGF0YQ0KDQoyLiAgICBTb21lIE9wdGlvbnMNCjIuMS5PcHRpb24gMQ0KDQoNCg0KL3Jv
dXRpbmcvcm91dGluZy1pbnN0YW5jZToNCg0KICAgKy0tcncgdGUhDQoNCiAgICAgICstLXJ3IGds
b2JhbHMNCg0KICAgICAgKy0tcncgaW50ZXJmYWNlcw0KDQogICAgICB8ICArLS1ydyBpbnRlcmZh
Y2UqIFtpbnRlcmZhY2VdDQoNCiAgICAgIHwgICAgICstLXJ3IGludGVyZmFjZSAgICAgICAgICAg
ICAgICAgaWY6aW50ZXJmYWNlLXJlZg0KDQogICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAg
ICAgfCAgICAgICAgKy0tcncgc3dpdGNoaW5nLWNhcGFiaWxpdGllcyogW3N3aXRjaGluZy1jYXBh
YmlsaXR5XQ0KDQogICAgICAgICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAgICAgfCAgICAg
ICAgICAgfCAgKy0tcncgY2FwYWJpbGl0eT8gICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICAg
ICAgIHwgICstLXJ3IGVuY29kaW5nPyAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgICAgICAgICAg
ICAgKy0tcm8gc3RhdGUNCg0KICAgICAgfCAgICAgICAgICAgICAgKy0tcm8gY2FwYWJpbGl0eT8g
ICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICAgICAgICAgICstLXJvIGVuY29kaW5nPyAgICAg
aWRlbnRpdHlyZWYNCg0KICAgICAgfCAgICAgICAgKy0tcncgdGUtbWV0cmljPyAgICAgICAgICAg
ICAgICBpZXRmLXRlLXR5cGVzOnRlLW1ldHJpYw0KDQogICAgICAgICAgICArLS1ybyBzdGF0ZQ0K
DQogICAgICB8ICAgICAgICArLS1ybyB0ZS1tZXRyaWM/ICAgICAgICAgICAgICAgIGlldGYtdGUt
dHlwZXM6dGUtbWV0cmljDQoNCiAgICAgICAgICAgICAgICstLXJvIG9wZXItc3RhdHVzPyAgICAg
ICAgICAgIGVudW1lcmF0aW9uDQoNCiAgICAgICAgICAgICAgICstLXJvIGNvdW50ZXJzDQoNCiAg
ICAgICAgICAgICAgICAgICAgICstLXJvIHBrdHMtc2VudD8gICAgICAgICAgICAgIHlhbmc6Y291
bnRlcjMyDQoNCiAgICAgICstLXJ3IHR1bm5lbHMNCg0KICAgICAgICAgKy0tcncgdHVubmVsKiBb
bmFtZSB0eXBlXQ0KDQogICAgICAgICAgICArLS1ydyBuYW1lICAgICAgICAgICAgICAgICAgICBz
dHJpbmcNCg0KICAgICAgICAgICAgKy0tcncgY29uZmlnDQoNCiAgICAgICAgICAgICAgIHwgICst
LXJ3IGFkbWluLXN0YXR1cz8gICAgICAgICAgIGlkZW50aXR5cmVmDQoNCiAgICAgICAgICAgIHwg
ICstLXJ3IGZvcndhcmRpbmcNCg0KICAgICAgICAgICAgICAgICAgKy0tcncgY29uZmlnDQoNCiAg
ICAgICAgICAgIHwgICAgICAgICstLXJ3IGxvYWQtc2hhcmU/ICAgdWludDMyDQoNCiAgICAgICAg
ICAgICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgICAgICAgIHwgICAgICAgICstLXJvIGxvYWQt
c2hhcmU/ICAgdWludDMyDQoNCiAgICAgICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgICAgICAg
ICAgICAgICstLXJvIGFkbWluLXN0YXR1cz8gICAgICAgICAgIGlkZW50aXR5cmVmDQoNCiAgICAg
ICAgICAgICAgICstLXJvIG9wZXItc3RhdHVzPyAgICAgICAgICAgIGVudW1lcmF0aW9uDQoNCiAg
ICAgICAgICAgICAgICstLXJvIGNvdW50ZXJzDQoNCiAgICAgICAgICAgICAgICAgICstLXJvIGV2
ZW50cz8gICAgICAgICAgICAgIHlhbmc6Y291bnRlcjMyDQoNCjIuMi5PcHRpb24gMg0KDQoNCg0K
L3JvdXRpbmcvcm91dGluZy1pbnN0YW5jZToNCg0KICAgKy0tcncgdGUhDQoNCiAgICAgICstLXJ3
IGdsb2JhbHMNCg0KICAgICAgKy0tcncgaW50ZXJmYWNlcw0KDQogICAgICB8ICArLS1ydyBpbnRl
cmZhY2UqIFtpbnRlcmZhY2VdDQoNCiAgICAgIHwgICAgICstLXJ3IGludGVyZmFjZSAgICAgICAg
ICAgICAgICAgaWY6aW50ZXJmYWNlLXJlZg0KDQogICAgICB8ICAgICArLS1ydyBzd2l0Y2hpbmct
Y2FwYWJpbGl0aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldDQoNCiAgICAgIHwgICAgIHwgICst
LXJ3IGNhcGFiaWxpdHk/ICAgaWRlbnRpdHlyZWYNCg0KICAgICAgfCAgICAgfCAgKy0tcncgZW5j
b2Rpbmc/ICAgICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICArLS1ydyB0ZS1tZXRyaWM/ICAg
ICAgICAgICAgICAgIGlldGYtdGUtdHlwZXM6dGUtbWV0cmljDQoNCiAgICAgICstLXJ3IHR1bm5l
bHMNCg0KICAgICAgICAgKy0tcncgdHVubmVsKiBbbmFtZSB0eXBlXQ0KDQogICAgICAgICAgICAr
LS1ydyBuYW1lICAgICAgICAgICAgICAgICAgICBzdHJpbmcNCg0KICAgICAgICAgICAgKy0tcncg
YWRtaW4tc3RhdHVzPyAgICAgICAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgICAgICAgKy0tcncg
Zm9yd2FyZGluZw0KDQogICAgICAgICAgICAgICArLS1ydyBsb2FkLXNoYXJlPyAgIHVpbnQzMg0K
DQovcm91dGluZy1zdGF0ZS9yb3V0aW5nLWluc3RhbmNlOg0KDQogICArLS1ybyB0ZSENCg0KICAg
ICAgKy0tcm8gZ2xvYmFscw0KDQogICAgICArLS1ybyBpbnRlcmZhY2VzDQoNCiAgICAgIHwgICst
LXJvIGludGVyZmFjZSogW2ludGVyZmFjZV0NCg0KICAgICAgfCAgICAgKy0tcm8gaW50ZXJmYWNl
ICAgICAgICAgICAgICAgICBpZjppbnRlcmZhY2UtcmVmDQoNCiAgICAgIHwgICAgICstLXJvIHN3
aXRjaGluZy1jYXBhYmlsaXRpZXMqIFtzd2l0Y2hpbmctY2FwYWJpbGl0eV0NCg0KICAgICAgfCAg
ICAgfCAgKy0tcm8gY2FwYWJpbGl0eT8gICBpZGVudGl0eXJlZg0KDQogICAgICB8ICAgICB8ICAr
LS1ybyBlbmNvZGluZz8gICAgIGlkZW50aXR5cmVmDQoNCiAgICAgIHwgICAgICstLXJvIHRlLW1l
dHJpYz8gICAgICAgICAgICAgICAgaWV0Zi10ZS10eXBlczp0ZS1tZXRyaWMNCg0KICAgICAgICAg
ICAgKy0tcm8gb3Blci1zdGF0dXM/ICAgICAgICAgICAgZW51bWVyYXRpb24NCg0KICAgICAgICAg
ICAgKy0tcm8gY291bnRlcnMNCg0KICAgICAgICAgICAgICAgKy0tcm8gcGt0cy1zZW50PyAgICAg
ICAgICAgICAgeWFuZzpjb3VudGVyMzINCg0KICAgICAgKy0tcm8gdHVubmVscw0KDQogICAgICAg
ICArLS1ybyB0dW5uZWwqIFtuYW1lIHR5cGVdDQoNCiAgICAgICAgICAgICstLXJvIG5hbWUgICAg
ICAgICAgICAgICAgICAgIHN0cmluZw0KDQogICAgICAgICAgICArLS1ybyBhZG1pbi1zdGF0dXM/
ICAgICAgICAgICBpZGVudGl0eXJlZg0KDQogICAgICAgICAgICArLS1ybyBmb3J3YXJkaW5nDQoN
CiAgICAgICAgICAgICAgICstLXJvIGxvYWQtc2hhcmU/ICAgdWludDMyDQoNCiAgICAgICAgICAg
ICstLXJvIG9wZXItc3RhdHVzPyAgICAgICAgICAgIGVudW1lcmF0aW9uDQoNCiAgICAgICAgICAg
ICstLXJvIGNvdW50ZXJzDQoNCiAgICAgICAgICAgICAgICstLXJvIGV2ZW50cz8gICAgICAgICAg
ICAgIHlhbmc6Y291bnRlcjMyDQoNCg0KDQoyLjMuT3B0aW9uIDMNCg0KDQovcm91dGluZy9yb3V0
aW5nLWluc3RhbmNlOg0KDQogICArLS1ydyB0ZSENCg0KICAgICAgKy0tcncgZ2xvYmFscw0KDQog
ICAgICArLS1ydyBpbnRlcmZhY2VzDQoNCiAgICAgIHwgICstLXJ3IGludGVyZmFjZSogW2ludGVy
ZmFjZV0NCg0KICAgICAgfCAgICAgKy0tcncgaW50ZXJmYWNlICAgICAgICAgICAgICAgICBpZjpp
bnRlcmZhY2UtcmVmDQoNCiAgICAgICAgICAgICstLXJ3IGNvbmZpZw0KDQogICAgICB8ICAgICAg
ICArLS1ydyBzd2l0Y2hpbmctY2FwYWJpbGl0aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldDQoN
CiAgICAgICAgICAgICAgICAgICstLXJ3IGNvbmZpZw0KDQogICAgICB8ICAgICAgICAgICB8ICAr
LS1ydyBjYXBhYmlsaXR5PyAgIGlkZW50aXR5cmVmDQoNCiAgICAgIHwgICAgICAgICAgfCAgKy0t
cncgZW5jb2Rpbmc/ICAgICBpZGVudGl0eXJlZg0KDQogICAgICAgICAgICAgICAgICArLS1ybyBz
dGF0ZQ0KDQogICAgICB8ICAgICAgICAgICAgICArLS1ybyBjYXBhYmlsaXR5PyAgIGlkZW50aXR5
cmVmDQoNCiAgICAgIHwgICAgICAgICAgICAgKy0tcm8gZW5jb2Rpbmc/ICAgICBpZGVudGl0eXJl
Zg0KDQogICAgICB8ICAgICAgICArLS1ydyB0ZS1tZXRyaWM/ICAgICAgICAgICAgICAgIGlldGYt
dGUtdHlwZXM6dGUtbWV0cmljDQoNCiAgICAgICAgICAgICstLXJvIHN0YXRlDQoNCiAgICAgIHwg
ICAgICAgICstLXJvIHRlLW1ldHJpYz8gICAgICAgICAgICAgICAgaWV0Zi10ZS10eXBlczp0ZS1t
ZXRyaWMNCg0KICAgICAgKy0tcncgdHVubmVscw0KDQogICAgICAgICArLS1ydyB0dW5uZWwqIFtu
YW1lIHR5cGVdDQoNCiAgICAgICAgICAgICstLXJ3IG5hbWUgICAgICAgICAgICAgICAgICAgIHN0
cmluZw0KDQogICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAgICAgICAgICAgICAgfCAgKy0t
cncgYWRtaW4tc3RhdHVzPyAgICAgICAgICAgaWRlbnRpdHlyZWYNCg0KICAgICAgICAgICAgfCAg
Ky0tcncgZm9yd2FyZGluZw0KDQogICAgICAgICAgICAgICAgICArLS1ydyBjb25maWcNCg0KICAg
ICAgICAgICAgfCAgICAgICAgKy0tcncgbG9hZC1zaGFyZT8gICB1aW50MzINCg0KICAgICAgICAg
ICAgICAgICAgKy0tcm8gc3RhdGUNCg0KICAgICAgICAgICAgfCAgICAgICAgKy0tcm8gbG9hZC1z
aGFyZT8gICB1aW50MzINCg0KICAgICAgICAgICAgKy0tcm8gc3RhdGUNCg0KICAgICAgICAgICAg
ICAgKy0tcm8gYWRtaW4tc3RhdHVzPyAgICAgICAgICAgaWRlbnRpdHlyZWYNCg0KDQoNCi9yb3V0
aW5nLXN0YXRlL3JvdXRpbmctaW5zdGFuY2U6DQoNCiAgICstLXJvIHRlIQ0KDQogICAgICArLS1y
byBnbG9iYWxzDQoNCiAgICAgICstLXJvIGludGVyZmFjZXMNCg0KICAgICAgfCAgKy0tcm8gaW50
ZXJmYWNlKiBbaW50ZXJmYWNlXQ0KDQogICAgICB8ICAgICArLS1ybyBpbnRlcmZhY2UgICAgICAg
ICAgICAgICAgIGlmOmludGVyZmFjZS1yZWYNCg0KICAgICAgICAgICAgKy0tcm8gb3Blci1zdGF0
dXM/ICAgICAgICAgICAgZW51bWVyYXRpb24NCg0KICAgICAgICAgICAgKy0tcm8gY291bnRlcnMN
Cg0KICAgICAgICAgICAgICAgKy0tcm8gcGt0cy1zZW50PyAgICAgICAgICAgICAgeWFuZzpjb3Vu
dGVyMzINCg0KICAgICAgKy0tcm8gdHVubmVscw0KDQogICAgICAgICArLS1ybyB0dW5uZWwqIFtu
YW1lIHR5cGVdDQoNCiAgICAgICAgICAgICstLXJvIG5hbWUgICAgICAgICAgICAgICAgICAgIHN0
cmluZw0KDQogICAgICAgICAgICArLS1ybyBvcGVyLXN0YXR1cz8gICAgICAgICAgICBlbnVtZXJh
dGlvbg0KDQogICAgICAgICAgICArLS1ybyBjb3VudGVycw0KDQogICAgICAgICAgICAgICArLS1y
byBldmVudHM/ICAgICAgICAgICAgICB5YW5nOmNvdW50ZXIzMg0KDQoNCg0KMy4gICAgQXBwcm9h
Y2ggUmF0aW9uYWxlcw0KMS4xLlBlcmZvcm1hbmNlIFJlcXVpcmVtZW50DQoNCsK3ICAgICAgICAg
ICAgU2VwYXJhdGluZyBjb25maWd1cmF0aW9uIGFuZCBzdGF0ZSBicmFuY2hlcyBhbGxvd3MgaW1w
bGVtZW50aW5nIHN0YXRlIGRhdGEgdGhyb3VnaCBhIHNlcGFyYXRlIGZhc3QgY2hhbm5lbCB0byBk
ZWxpdmVyIGhpZ2ggZnJlcXVlbnQgYW5kIGhpZ2ggdm9sdW1lIGRhdGEuDQoNCsK3ICAgICAgICAg
ICAgSW4gdGhpcyBhc3BlY3QsIE9wdGlvbiAyIGhhcyBhIGNsZWFyZXIgc2VwYXJhdGlvbiBiZXR3
ZWVuIGNvbmZpZ3VyYXRpb24gYW5kIHN0YXRlIGRhdGEsIGFuZCBlYXNpZXIgdG8gYWNoaWV2ZSBi
ZXR0ZXIgcGVyZm9ybWFuY2UgYnkgdXNpbmcgc2VwYXJhdGUgY2hhbm5lbHMuDQoNCjEuMi5EYXRh
IFR5cGUgUmVxdWlyZW1lbnRzDQoNCsK3ICAgICAgICAgICAgRHVwbGljYXRpbmcgYWxsIGNvbmZp
Z3VyYXRpb24gYXR0cmlidXRlcyBtYWtlcyBhY3R1YWwgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBh
dmFpbGFibGUNCg0KwrcgICAgICAgICAgICBEZXJpdmVkLCBuZWdvdGlhdGVkLCBhbmQgc3lzdGVt
IGFzc2lnbmVkIGRhdGEgYXJlIGFkZGVkIHRvIHRoZSBzdGF0ZSBicmFuY2gNCg0KwrcgICAgICAg
ICAgICBDb3VudGVycyBvciBzdGF0aXN0aWNzIGFyZSBhZGRlZCB0byB0aGUgc3RhdGUgYnJhbmNo
DQoNCsK3ICAgICAgICAgICAgQWxsIHRocmVlIG9wdGlvbnMgc2F0aXNmeSB0aGVzZSByZXF1aXJl
bWVudHMNCg0KMS4zLk9wZXJhdGlvbiBSZXF1aXJlbWVudHMNCg0KwrcgICAgICAgICAgICBTZXBh
cmF0aW5nIGNvbmZpZ3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0YXRlIGRhdGEgYWxsb3dzIHJl
dHJpZXZpbmcgY29uZmlndXJhdGlvbiBhbmQgb3BlcmF0aW9uYWwgc3RhdGUgZGF0YSBpbmRlcGVu
ZGVudGx5Lg0KDQrCtyAgICAgICAgICAgIFNlcGFyYXRpbmcgZGVyaXZlZCBzdGF0ZSBhbmQgc3Rh
dGlzdGljcyBzdGF0ZSBhbGxvd3MgcmV0cmlldmluZyB0aGVtIGluZGVwZW5kZW50bHkNCg0Kwrcg
ICAgICAgICAgICBUaGUgc3RhdGUgYnJhbmNoIGlzIGFuIGV4YWN0IG1pcnJvciBvZiB0aGUgY29u
ZmlndXJhdGlvbiBicmFuY2gsIHNvIHRoZSBzY2hlbWEgbG9jYXRpb25zIGFyZSBjb25zaXN0ZW50
Lg0KDQrCtyAgICAgICAgICAgIEluIHRoaXMgYXNwZWN0LCBhbGwgdGhyZWUgb3B0aW9ucyBzYXRp
c2Z5IHRoZSByZXF1aXJlbWVudHMuIEZvciBvcHRpb24gMSwgdG8gY2hlY2sgdGhlIHN0YXRlIHZh
bHVlIGZvciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlLCB0aGUgY2xpZW50IHNv
ZnR3YXJlIGNhbiBzaW1wbHkgYWRkIHRoZSDigJxzdGF0ZeKAnSB0byB0aGUgZW5kIG9mIHRoZSBz
Y2hlbWEgbm9kZSBwYXRoLiBGb3Igb3B0aW9uIDIsIHRvIGNoZWNrIHRoZSBzdGF0ZSB2YWx1ZSBm
b3IgYSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGF0dHJpYnV0ZSwgdGhlIGNsaWVudCBzb2Z0d2Fy
ZSBjYW4gc2ltcGx5IGFkZCB0aGUg4oCcLXN0YXRl4oCdIHN1ZmZpeCB0byB0aGUgbmFtZSBvZiB0
aGUgdG9wIGNvbnRhaW5lci4gT3B0aW9uIDEgc2VlbXMgdG8gYmUgZWFzaWVzdCBpbiB0aGlzIHJl
Z2FyZCwgYnV0IG90aGVycyBhcmUgYWNjZXB0YWJsZT8NCg0KMS40Lk90aGVyIFJlcXVpcmVtZW50
cw0KDQrCtyAgICAgICAgICAgICBNb2RlbCBzeXN0ZW0gY3JlYXRlZCByZWFkLW9ubHkgb2JqZWN0
cyAoZS5nLiBURSB0dW5uZWxzKS4gV2hlbiBzdGF0ZSBkYXRhIGFuZCBjb25maWcgZGF0YSBzaGFy
ZSB0aGUgc2FtZSBwYXJlbnQsIHRoZXkgc2hhcmUgdGhlIHNhbWUga2V5IGZvciB0aGUgcGFyZW50
IGxpc3QuIEV2ZW4gdGhvdWdoIHRoYXQgdGhlIHN0YXRlIGJyYW5jaCBpcyByZWFkLW9ubHksIGl0
cyBwYXJlbnQgaXMgbm90IGFuZCB0aGUga2V5IG9mIHRoZSBwYXJlbnQgaXMgbm90LiBUaGVyZWZv
cmUsIHdlIHdpbGwgaGF2ZSBkaWZmaWN1bHR5IHRvIGFjaGlldmUgdGhpcyBpbiBPcHRpb24gMS4N
Cg0KwrcgICAgICAgICAgICAgQ29tcGF0aWJsZSB3aXRoIHRoZSBleGlzdGluZyBtb2RlbHMuIFRo
ZSByZWxhdGVkIG1vZGVscyBpbmNsdWRlIFJGQzcyMjMsIFJGQzcyNzcgYW5kIGRyYWZ0LWlldGYt
bmV0bW9kLXJvdXRpbmctY2ZnLTE4LiBJbiB0aGlzIGFzcGVjdCwgT3B0aW9uIDIgc2VlbXMgdG8g
ZG8gYmV0dGVyLg0KDQpZb3VyIGNvbW1lbnRzIGFuZCBwcmVmZXJlbmNlcyBhcmUgYXBwcmVjaWF0
ZWQuDQpUaGFua3MsDQoNCi0gWHVmZW5nDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NClJ0Zy15YW5nLWNvb3JkIG1haWxpbmcgbGlzdA0KUnRnLXlh
bmctY29vcmRAaWV0Zi5vcmc8bWFpbHRvOlJ0Zy15YW5nLWNvb3JkQGlldGYub3JnPg0KaHR0cHM6
Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9ydGcteWFuZy1jb29yZA0KDQo=

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

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTQgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJ
e2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglwYW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDt9DQov
KiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1z
b05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNp
emU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7fQ0KaDIN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiBDaGFy
IjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTgu
MHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJpZiI7DQoJZm9udC13ZWln
aHQ6Ym9sZDt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0
eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNp
dGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsN
Cgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwDQoJe21zby1z
dHlsZS1wcmlvcml0eTo5OTsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmln
aHQ6MGluOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsN
Cglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4iLCJzZXJp
ZiI7fQ0KcC5Nc29BY2V0YXRlLCBsaS5Nc29BY2V0YXRlLCBkaXYuTXNvQWNldGF0ZQ0KCXttc28t
c3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCBDaGFyIjsN
CgltYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6OC4wcHQ7
DQoJZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiO30NCnNwYW4uSGVhZGluZzJDaGFy
DQoJe21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDIgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5
Ojk7DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMiI7DQoJZm9udC1mYW1pbHk6IkNhbWJyaWEi
LCJzZXJpZiI7DQoJY29sb3I6IzRGODFCRDsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4uQmFs
bG9vblRleHRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJCYWxsb29uIFRleHQgQ2hhciI7DQoJbXNv
LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQiOw0KCWZv
bnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXtt
c28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsInNh
bnMtc2VyaWYiOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxl
LXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9
DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGlu
IDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlv
bjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVs
dHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0t
W2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlk
bWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2Vu
ZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJw
dXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj5IaSBBbmVlcyw8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMx
RjQ5N0QiPlRoYW5rcyBmb3IgdGhlIHJlcGxpZXMuIEhhdmUgYSBjb3VwbGUgb2YgY29tbWVudHMg
YmVsb3cuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjojMUY0OTdEIj5CZXN0LDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+LSBYdWZlbmc8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0i
Ym9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4g
MGluIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNv
bGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTom
cXVvdDtUYWhvbWEmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90OyI+RnJvbTo8L3NwYW4+PC9i
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7Ij4gQW5lZXMgU2hhaWtoIFttYWlsdG86YWFzaGFp
a2hAZ29vZ2xlLmNvbV0NCjxicj4NCjxiPlNlbnQ6PC9iPiBXZWRuZXNkYXksIE1heSAxMywgMjAx
NSAzOjUyIEFNPGJyPg0KPGI+VG86PC9iPiBBY2VlIExpbmRlbSAoYWNlZSk8YnI+DQo8Yj5DYzo8
L2I+IFh1ZmVuZyBMaXU7IFJ0Zy15YW5nLWNvb3JkQGlldGYub3JnPGJyPg0KPGI+U3ViamVjdDo8
L2I+IFJlOiBbUnRnLXlhbmctY29vcmRdIE9wZXJhdGlvbmFsIFN0YXRlIE1vZGVsaW5nPG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlh1ZmVuZywg
dGhhbmtzIHZlcnkgbXVjaCBmb3IgdGFraW5nIHRoZSB0aW1lIHRvIGRvIHRoaXMgc3lzdGVtYXRp
YyBhbmFseXNpcyAtLSBtdWNoIGFwcHJlY2lhdGVkLiAmbmJzcDsgV2UndmUgYWxzbyB0YWxrZWQg
dG8gYSBzdWJzZXQgb2YgdGhlIE1QTFMvVEUgRFQganVzdCB0b2RheSBhYm91dCBvcHN0YXRlIHRv
IHJlaXRlcmF0ZSB0aGUgcmVhc29ucyBmb3IgdGhlIE9wZW5Db25maWcgcHJvcG9zYWwuJm5ic3A7
IEkgd2lsbCBqdXN0DQogY29tbWVudCBvbiB5b3VyIHJhdGlvbmFsZSBzZWN0aW9uLjxvOnA+PC9v
OnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4xIFBlcmZvcm1hbmNlIHJl
cXVpcmVtZW50czxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj5JbXBsZW1lbnRhdGlvbnMgdG9kYXkgYWxyZWFkeSBzdXBwb3J0IHRoZSByZXRyaWV2
YWwgb2Ygb3BlcmF0aW9uYWwgc3RhdGUgYW5kIGNvbmZpZ3VyYXRpb24gZGF0YSB0b2dldGhlci4m
bmJzcDsgSW4gZmFjdCwgcGxhdGZvcm1zIHRoYXQgc3VwcG9ydCBORVRDT05GIHdvdWxkIG5lZWQg
dG8gaGFuZGxlIGJvdGggc2ltdWx0YW5lb3VzbHkgaW4gYSAmbHQ7Z2V0Jmd0OyByZXF1ZXN0LiZu
YnNwOyBUaGUgJmx0O2dldC1jb25maWcmZ3Q7IHJlcXVlc3QgZG9lcw0KIG5vdCByZXR1cm4gb3Bz
dGF0ZSBhdCBhbGwuJm5ic3A7IFRoZXJlIGlzIG5vIG9wdGlvbiB0b2RheSBmb3IgJmx0O2dldC1v
cGVyYXRpb25hbCZndDsgdG8gcmV0cmlldmUgb25seSBzdGF0ZSAodGhvdWdoIG91ciBkcmFmdCBw
cm9wb3Nlcywgb3IgbW9yZSBhY2N1cmF0ZWx5LCByZS1wcm9wb3NlcyBpdCkuJm5ic3A7IFRoZSBw
ZXJmb3JtYW5jZSBpbXBsaWNhdGlvbnMgbWF5IGJlIGR1ZSB0byB0aGUgZGF0YXN0b3JlIGRlc2ln
biBmb3IgdGhlIGRpZmZlcmVudCB0eXBlcyBvZiBkYXRhLA0KIGJ1dCB3aGVyZSB0aGUgZGF0YSBs
aXZlcyBpbiB0aGUgKnNjaGVtYSogc2hvdWxkIG5vdCBoYXZlIGEgbWFqb3IgaW1wYWN0IG9uIHRo
ZSBwZXJmb3JtYW5jZSB0byByZWFkIGl0LiZuYnNwOyBJbiBvdGhlciB3b3JkcywgaWYgeW91IGFj
Y2VwdCB0aGUgcmVxdWlyZW1lbnQgdGhhdCBjb25maWd1cmF0aW9uIG5lZWRzIHRvIGJlIHBhcnQg
b2Ygc3RhdGUgKHdoaWNoIHlvdSBzZWVtIHRvIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5vdGUp
LA0KPHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMUY0OTdEIj5bWHVmZW5nXSBFdmVuIHRob3VnaCB0aGUgc2FtZSBjb25maWcgYXR0cmlidXRl
cyBhcHBlYXIgaW4gdGhlIHN0YXRlIGJyYW5jaCwgdGhleSBtYXkgbm90IGJlIHRha2VuIGZyb20g
dGhlIGNvbmZpZ3VyYXRpb24gZGF0YWJhc2UsIGJ1dCB0YWtlbiBmcm9tIGludGVybmFsDQogbWVt
b3J5IHNvIGFzIHRvIHJldHJpZXZlIHRoZSBhcHBsaWVkIG9yIG5lZ290aWF0ZWQgdmFsdWVzLiA8
bzpwPjwvbzpwPjwvc3Bhbj48L2k+PC9iPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnRoZW4g
dGhlIGxvY2F0aW9uIGluIHRoZSBzY2hlbWEgcmVhbGx5IHNob3VsZG4ndCBtYXR0ZXIuJm5ic3A7
IEl0IGRvZXMgbWF0dGVyIGZvciBvdGhlciByZWFzb25zIChzZWUgYmVsb3cpLjxvOnA+PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286
cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4xLjIgRGF0YSB0eXBl
IHJlcXVpcmVtZW50cyAtLSBhZ3JlZSB3aXRoIHlvdXIgY29uY2x1c2lvbnM8bzpwPjwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4zIE9wZXJhdGlvbiBy
ZXF1aXJlbWVudHM8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+WW91IG1lbnRpb24sICZxdW90OzxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS41
cHQiPkZvciBvcHRpb24gMiwgdG8gY2hlY2sgdGhlIHN0YXRlIHZhbHVlIGZvciBhIHNwZWNpZmlj
IGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlLCB0aGUgY2xpZW50IHNvZnR3YXJlIGNhbiBzaW1wbHkg
YWRkIHRoZSDigJwtc3RhdGXigJ0gc3VmZml4IHRvIHRoZSBuYW1lIG9mIHRoZSB0b3AgY29udGFp
bmVyPC9zcGFuPjwvaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuNXB0Ij4mcXVvdDs8L3NwYW4+
PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpw
PiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6OS41cHQiPlRoZSBxdWVzdGlvbiB0aGF0IHRoaXMgZG9lc24n
dCBhbnN3ZXIgaXMgd2hhdCBpcyB0aGUgdG9wIGNvbnRhaW5lcj8mbmJzcDsgSXQgbWF5IGJlIGNs
ZWFyIGluIGFuIGluZGl2aWR1YWwgbW9kZWwsIGJ1dCBJIGRvbid0IG1hbmFnZSBhIGRldmljZSB1
c2luZyBqdXN0IHJvdXRpbmcsIG9yIGp1c3QgaW50ZXJmYWNlcy4mbmJzcDsgSSB3YW50IHRvIGNv
bXBvc2UgYSBzZXQgb2YgbW9kZWxzDQogaW50byBhIGNvaGVyZW50IHdob2xlIGFuZCBiZSBhYmxl
IHRvIGFjY2VzcyBjb25maWcgYW5kIGNvcnJlc3BvbmRpbmcgc3RhdGUgaW4gYSBjb25zaXN0ZW50
IHdheS4mbmJzcDsgV2hlbiBJIGNvbXBvc2UgdGhlIG1vZGVscywgd2hhdCBJIHRob3VnaHQgd2Fz
IHRoZSAmcXVvdDt0b3AmcXVvdDsgY29udGFpbmVyIGlzIG5vIGxvbmdlciB0b3AgLS0gaXQgc2hv
d3MgdXAgc29tZXdoZXJlIGluIHRoZSBtaWRkbGUsIGFuZCBteSBwYXRocyBhcmUgbm93IHRvdGFs
bHkgZGVwZW5kZW50DQogb24gaG93IG1vZGVsZXJzIGhhdmUgZGVjaWRlZCB0byBjb21iaW5lIG9y
IHNlcGFyYXRlIHRoZWlyIGluZGl2aWR1YWwgbW9kZWxzIGFuZCBtb2R1bGVzLiZuYnNwOyBGcm9t
IG91ciBwZXJzcGVjdGl2ZSwgb3B0aW9uIDIgZG9lc24ndCBtZWV0IHRoaXMgcmVxdWlyZW1lbnQu
Jm5ic3A7IFJhdGhlciB0aGFuIGRlYmF0ZSB3aGF0IHRoZSByZWFsIHRvcCBvZiBhIHVzYWJsZSBt
b2RlbCBpcywgd2UgdGFrZSB0aGUgYXBwcm9hY2ggb2YgcHVzaGluZyB0aGUgc2VwYXJhdGlvbg0K
IHRvIGxlYXZlcyBvZiB0aGUgdHJlZSwgd2hpY2ggd29ya3Mgbm8gbWF0dGVyIGhvdyBtb2RlbHMg
YXJlIGNvbXBvc2VkIHN0cnVjdHVyYWxseS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48Yj48aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFG
NDk3RCI+W1h1ZmVuZ10gSeKAmWQgbGlrZSB0byBzZWUgYW4gZXhhbXBsZSBvZiB5b3VyIGNvbXBv
c2VkIHN0cnVjdHVyZS4gQ3VycmVudGx5IFlBTkcgZG9lcyBub3QgYWxsb3cgeW91IHRvIG1vdW50
IGEgc2NoZW1hIHRyZWUgdG8gYW5vdGhlciBsb2NhdGlvbi4gSWYgaXQgd2VyZQ0KIGFsbG93ZWQs
IHRoZSBtb3VudGluZyBwcm9jZXNzIHdvdWxkIGJlIHBvc3NpYmxlIHRvIHByb2Nlc3MgdGhlIHNw
bGl0IHBvaW50IGFuZCByZWxvY2F0ZSBpdCB0byB0aGUgdG9wLjwvc3Bhbj48L2k+PC9iPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6OS41cHQiPjEuNCBPdGhlciByZXF1aXJlbWVudHM8L3NwYW4+PG86cD48L286cD48
L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpw
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6OS41cHQiPlJlZ2FyZGluZyBzeXN0ZW0tY3JlYXRlZCB0dW5uZWxzLCB3aHkgaXMg
aXQgbmVjZXNzYXJ5IHRvIGNvbnNpZGVyIHRoZW0gcGFydCBvZiByZWFkLW9ubHkgc3RhdGU/Jm5i
c3A7IEkgY2FuIGp1c3QgYXMgd2VsbCBjb25zaWRlciB0aGVtIGFzIGNvbmZpZ3VyZWQsIG9ubHkg
dGhleSBhcmUgY29uZmlndXJlZCBieSBzb21lIGFnZW50IG9uIHRoZSBzeXN0ZW0gLS0gdGhleQ0K
IHNob3VsZCBpbiBmYWN0IGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlIHNhbWUgbWVjaGFuaXNtIGFz
IGEgdHVubmVsIGNvbmZpZ3VyZWQgYnkgYW4gb3BlcmF0b3IuICZuYnNwOyBJZiB0aGV5IGFyZSBu
b3Qgd3JpdGFibGUsICphbmQgeW91IHdhbnQgdG8gZW5mb3JjZSB0aGlzIGluIHRoZSBtb2RlbCos
IHRoZXkgY291bGQgc2hvdyB1cCBpbiBvbmx5IHRoZSBzdGF0ZSBwYXJ0IG9mIHRoZSB0cmVlIC0t
IEkgYWdyZWUgdGhpcyBkb2VzIHJhaXNlIHRoZSBpc3N1ZQ0KIHdpdGggbGlzdCBrZXlzIHRoYXQg
eW91IG1lbnRpb24uJm5ic3A7IEJ1dCBsaXN0IGtleXMgKGFuZCBsaXN0cyBpbiBnZW5lcmFsKSBh
cmUgYSBiaXQgYnJva2VuIGluIFlBTkcgMS4wLzEuMSBhcyB3ZSBleHBsYWluIGJyaWVmbHkgaW4g
dGhlIGRyYWZ0LiZuYnNwOyBXZSBjYW4gZGlzY3VzcyB0aGUgaXNzdWVzIHdpdGggbGlzdHMgaW4g
YSBzZXBhcmF0ZSB0aHJlYWQgZ2l2ZW4gbW9yZSB0aW1lLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjojMUY0OTdEIj5bWHVmZW5nXSBJIHRoaW5rIHRoYXQgdGhlIHByb3Bvc2VkIGxpc3Qga2V5
IGNoYW5nZSBpcyByYXRoZXIgZHJhbWF0aWMuIE91ciBtb2RlbCB3b3VsZCBiZXR0ZXIgYmUgYmFz
ZWQgb24gdGhlIGN1cnJlbnQgWUFORyB2ZXJzaW9uLiBJ4oCZZCBub3Qgd2FudCB0byB3YW50DQog
dG8gaGF2ZSBhIG1vZGVsIGJhc2Ugb24gYSBub24tZXhpc3RpbmcgZmVhdHVyZS48L3NwYW4+PC9p
PjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzFGNDk3RCI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m
bmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjkuNXB0Ij5SZWdhcmRpbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4
aXN0aW5nIG1vZGVscywgSSByZWFsbHkgZG9uJ3QgYWdyZWUgYXQgYWxsIHRoYXQgdGhlIGV4aXN0
aW5nIFJGQyBtb2RlbHMgc2hvdWxkIGNvbnN0cmFpbiB3aGF0IHdlIGRvIHdoZW4gdHJ5aW5nIHRv
IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiBwZW9wbGUgdHJ5aW5nIHRvIGJ1aWxkIHJlYWwgc3lz
dGVtcw0KIHRoYXQgdXNlIFlBTkcgbW9kZWxzLiAmbmJzcDsgJm5ic3A7V2l0aCBhbGwgcmVzcGVj
dCB0byB0aGUgYXV0aG9ycyBvZiB0aG9zZSBmZXcgbW9kZWxzICh3aGljaCB3ZSBsZXZlcmFnZSBj
b25zaWRlcmFibHkgaW4gb3VyIG1vZGVscyksIFlBTkcgbW9kZWxzIGFyZSBzb2Z0d2FyZSBjb2Rl
LCBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc3VjaCBJTU8uJm5ic3A7IFdlIGRvbid0IHNheSB0
aGF0IHNvZnR3YXJlIGlzICZxdW90O2RvbmUmcXVvdDsgYW5kIGNhbid0IGNoYW5nZSAtLSBpdCBl
dm9sdmVzDQogYW5kIGltcHJvdmVzIG92ZXIgdGltZSwgc29tZXRpbWVzIGluIG5vbi1iYWNrd2Fy
ZC1jb21wYXRpYmxlIHdheXMuJm5ic3A7IEFuZCB3ZSBkb24ndCBpc3N1ZSBhIGZpbmFsIHZlcnNp
b24gb2Ygc29mdHdhcmUgd2l0aG91dCBjb25zaWRlcmFibGUgZXhwZXJpZW5jZSB1c2luZyBhbmQg
dGVzdGluZyBpdCBpbiBwcm9kdWN0aW9uLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo5LjVw
dCI+dGhhbmtzLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS41cHQiPi0tIEFuZWVzPC9zcGFu
PjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86
cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
Pk9uIFR1ZSwgTWF5IDEyLCAyMDE1IGF0IDI6MjYgUE0sIEFjZWUgTGluZGVtIChhY2VlKSAmbHQ7
PGEgaHJlZj0ibWFpbHRvOmFjZWVAY2lzY28uY29tIiB0YXJnZXQ9Il9ibGFuayI+YWNlZUBjaXNj
by5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5I
aSBYdWZlbmcsJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNr
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPk15IGlu
dGVycHJldGF0aW9uIG9mIHRoZSBPcGVuQ29uZmlnIGRyYWZ0IGlzIHRoYXQgaXQgcmVjb21tZW5k
cyBvcHRpb24gMS4gQWN0dWFsbHksIG9wdGlvbiAzIHNlZW1zIGxpa2UgYSB2YXJpYXRpb24gb2Yg
MSB3aXRoIHNvbWUgc3VwZXJmbHVvdXMgbGV2ZWxzLiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj5UaGFua3MsPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOmJsYWNrIj5BY2VlJm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXYgc3R5bGU9
ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0
IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjpibGFjayI+RnJvbToNCjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5YdWZlbmcgTGl1ICZsdDs8YSBocmVmPSJtYWlsdG86
eHVmZW5nLmxpdUBlcmljc3Nvbi5jb20iIHRhcmdldD0iX2JsYW5rIj54dWZlbmcubGl1QGVyaWNz
c29uLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+RGF0ZTogPC9iPlR1ZXNkYXksIE1heSAxMiwgMjAxNSBh
dCA0OjU2IFBNPGJyPg0KPGI+VG86IDwvYj5Sb3V0aW5nIFlBTkcgJmx0OzxhIGhyZWY9Im1haWx0
bzpydGcteWFuZy1jb29yZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnJ0Zy15YW5nLWNvb3Jk
QGlldGYub3JnPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OiA8L2I+W1J0Zy15YW5nLWNvb3JkXSBP
cGVyYXRpb25hbCBTdGF0ZSBNb2RlbGluZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAj
QjVDNERGIDQuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQ7bWFyZ2luLWxlZnQ6My43NXB0
O21hcmdpbi1yaWdodDowaW4iPg0KPGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPkR1cmluZyB0aGUgWUFORyBNUExTL1RF
IGRlc2lnbiB0ZWFtIGRpc2N1c3Npb25zLCB0aGUgdG9waWMgb2Ygb3BlcmF0aW9uYWwgc3RhdGUg
bW9kZWxpbmcgd2FzIGJyb3VnaHQgdXAuIFdlIGRpc2N1c3NlZCB0aGUgcHJvcG9zYWwgcHJlc2Vu
dGVkIGluDQo8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2lkL2RyYWZ0LW9wZW5jb25maWct
bmV0bW9kLW9wc3RhdGUtMDAudHh0IiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdCI+aHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1vcGVuY29uZmlnLW5l
dG1vZC1vcHN0YXRlLTAwLnR4dDwvc3Bhbj48L2E+PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2NvbG9yOmJsYWNrIj4gYW5kIHNvbWUgdmFyaW91cyBhcHByb2FjaGVzLiBIZXJl
IGFyZSBzb21lIHRob3VnaHRzIGFuZCBxdWVzdGlvbnMuPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xv
cjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDou
MjVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+MS48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZTo3LjBwdDtjb2xvcjpibGFjaztmb250LXdlaWdodDpub3JtYWwiPiZuYnNwOyZuYnNwOyZu
YnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPlJlcXVpcmVtZW50czxvOnA+PC9v
OnA+PC9zcGFuPjwvaDI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xv
cjpibGFjayI+V2UgYWdyZWUgd2l0aCB0aGUgcmVxdWlyZW1lbnRzIHByZXNlbnRlZCBpbiBkcmFm
dC1vcGVuY29uZmlnLW5ldG1vZC1vcHN0YXRlLiBUaGVzZSByZXF1aXJlbWVudHMgYXJlIHN1bW1h
cml6ZWQgYXMgZm9sbG93aW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDIgc3R5bGU9Im1h
cmdpbi1sZWZ0Oi41NWluIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4xLjEuUGVyZm9ybWFuY2Ug
UmVxdWlyZW1lbnQ8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0KPHAgc3R5bGU9Im1hcmdpbi1sZWZ0
Oi44NWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPsK3PC9zcGFu
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+T3BlcmF0aW9uYWwg
c3RhdGUgYWNjZXNzIGlzIG11Y2ggbW9yZSBmcmVxdWVudCB0aGFuIGNvbmZpZ3VyYXRpb248bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW4iPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+wrc8L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZTo3LjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5TdGF0ZSBkYXRhIGlzIGdlbmVyYWxseSBoaWdo
ZXIgdm9sdW1lIHRoYW4gY29uZmlndXJhdGlvbiBkYXRhPG86cD48L286cD48L3NwYW4+PC9wPg0K
PGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+MS4y
LkRhdGEgVHlwZSBSZXF1aXJlbWVudHM8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0KPHAgc3R5bGU9
Im1hcmdpbi1sZWZ0Oi44NWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6Ymxh
Y2siPsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+
UmVwcmVzZW50aW5nIGludGVuZGVkIGNvbmZpZ3VyYXRpb24gKGFjdHVhbCB2cy4gY29uZmlndXJl
ZCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6Ljg1aW4iPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+wrc8L3NwYW4+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZTo3LjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5EZXJpdmVkLCBuZWdvdGlhdGVkLCBh
bmQgc3lzdGVtIGFzc2lnbmVkIGRhdGE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0i
bWFyZ2luLWxlZnQ6Ljg1aW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFj
ayI+wrc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDtjb2xvcjpibGFjayI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5D
b3VudGVycyBvciBzdGF0aXN0aWNzPG86cD48L286cD48L3NwYW4+PC9wPg0KPGgyIHN0eWxlPSJt
YXJnaW4tbGVmdDouNTVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+MS4zLk9wZXJhdGlvbiBS
ZXF1aXJlbWVudHM8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0KPHAgc3R5bGU9Im1hcmdpbi1sZWZ0
Oi44NWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPsK3PC9zcGFu
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+U2VwYXJhdGUgY29u
ZmlndXJhdGlvbiBhbmQgb3BlcmF0aW9uYWwgc3RhdGUgZGF0YTxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2Nv
bG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPlJldHJpZXZlIGNvbmZpZ3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0YXRl
IGRhdGEgaW5kZXBlbmRlbnRseTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJn
aW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj7C
tzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPlJldHJp
ZXZlIGRlcml2ZWQgc3RhdGUgYW5kIHN0YXRpc3RpY3Mgc3RhdGUgaW5kZXBlbmRlbnRseTxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPkNvbnNpc3RlbnQgc2NoZW1hIGxvY2F0aW9ucyBm
b3IgY29uZmlndXJhdGlvbiBhbmQgY29ycmVzcG9uZGluZyBvcGVyYXRpb25hbCBzdGF0ZSBkYXRh
PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouMjVpbiI+PHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJp
ZiZxdW90Oztjb2xvcjpibGFjayI+Mi48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjBw
dDtjb2xvcjpibGFjaztmb250LXdlaWdodDpub3JtYWwiPiZuYnNwOyZuYnNwOyZuYnNwOw0KPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPlNvbWUgT3B0aW9uczxvOnA+PC9vOnA+PC9zcGFu
PjwvaDI+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41NWluIj48c3BhbiBzdHlsZT0iZm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJs
YWNrIj4yLjEuT3B0aW9uIDE8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0KPHA+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPi9yb3V0aW5nL3Jv
dXRpbmctaW5zdGFuY2U6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHRlITxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpi
bGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBnbG9iYWxzPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGludGVyZmFj
ZXM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7
LS1ydyBpbnRlcmZhY2UqIFtpbnRlcmZhY2VdPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgaW50ZXJmYWNl
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmOmludGVyZmFjZS1yZWY8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgY29uZmlnPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmIzQzOy0tcncgc3dpdGNoaW5nLWNhcGFiaWxpdGllcyogW3N3aXRjaGluZy1jYXBh
YmlsaXR5XTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICYjNDM7LS1ydyBjb25maWc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJiM0MzstLXJ3IGNhcGFiaWxpdHk/Jm5ic3A7Jm5ic3A7IGlk
ZW50aXR5cmVmPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDt8Jm5ic3A7
ICYjNDM7LS1ydyBlbmNvZGluZz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0K
PGI+JiM0MzstLXJvIHN0YXRlPC9iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGNhcGFiaWxpdHk/Jm5i
c3A7Jm5ic3A7IGlkZW50aXR5cmVmPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEw
LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7JiM0MzstLXJvIGVuY29kaW5nPyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBpZGVudGl0eXJlZjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0ZS1t
ZXRyaWM/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlldGYtdGUtdHlwZXM6dGUt
bWV0cmljPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjxiPiYjNDM7LS1ybyBzdGF0ZTwvYj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0ZS1tZXRyaWM/Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlldGYtdGUtdHlwZXM6dGUtbWV0cmljPC9zcGFuPjwvYj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMwMDcwQzAiPiYjNDM7LS1ybyBvcGVyLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bWVyYXRp
b248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzAw
NzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjb3VudGVyczwvc3Bh
bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMDA3MEMwIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyYjNDM7LS1ybyBwa3RzLXNlbnQ/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHlhbmc6Y291bnRlcjMy
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ydyB0dW5uZWxzPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHR1bm5lbCog
W25hbWUgdHlwZV08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgbmFtZSZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJpbmc8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAmbmJzcDsmbmJzcDsmIzQzOy0tcncgY29uZmlnPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwO3wmbmJzcDsgJiM0MzstLXJ3IGFkbWluLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7LS1ydyBmb3J3YXJkaW5nPG86cD48L286
cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNr
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3
IGNvbmZpZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGxvYWQtc2hhcmU/Jm5ic3A7Jm5ic3A7IHVpbnQzMjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICYjNDM7LS1ybyBzdGF0ZTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBsb2FkLXNoYXJlPyZuYnNwOyZuYnNwOyB1
aW50MzI8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIHN0YXRlPC9zcGFuPjwvYj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmIzQzOy0tcm8gYWRtaW4tc3RhdHVzPyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyBpZGVudGl0eXJlZjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1y
byBvcGVyLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bWVyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICYjNDM7LS1ybyBjb3VudGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGV2ZW50cz8mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgeWFuZzpjb3VudGVyMzI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41
NWluIj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtz
YW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4yLjIuT3B0aW9uIDI8bzpwPjwvbzpwPjwvc3Bh
bj48L2gyPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPi9yb3V0aW5nL3JvdXRpbmctaW5zdGFuY2U6PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsgJiM0MzstLXJ3IHRlITxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7ICYjNDM7LS1ydyBnbG9iYWxzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgJiM0MzstLXJ3IGludGVyZmFjZXM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7LS1ydyBpbnRlcmZhY2UqIFtpbnRlcmZhY2VdPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJs
YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyAmIzQzOy0tcncgaW50ZXJmYWNlJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IGlmOmludGVyZmFjZS1yZWY8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBzd2l0Y2hpbmctY2Fw
YWJpbGl0aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7
LS1ydyBjYXBhYmlsaXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNw
OyAmIzQzOy0tcncgZW5jb2Rpbmc/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlkZW50aXR5cmVm
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAmIzQzOy0tcncgdGUtbWV0cmljPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBpZXRmLXRlLXR5cGVzOnRlLW1ldHJpYzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0dW5uZWxzPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHR1bm5lbCogW25h
bWUgdHlwZV08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgbmFtZSZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJpbmc8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6Ymxh
Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmIzQzOy0tcncgYWRtaW4tc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpi
bGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBmb3J3YXJkaW5nPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGxvYWQtc2hhcmU/Jm5ic3A7Jm5ic3A7IHVpbnQz
MjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjpibGFjayI+L3JvdXRpbmctc3RhdGUvcm91dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZu
YnNwOyZuYnNwOyAmIzQzOy0tcm8gdGUhPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJiM0MzstLXJvIGdsb2JhbHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAmIzQzOy0tcm8gaW50ZXJmYWNlczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJiM0MzstLXJvIGludGVyZmFjZSogW2ludGVyZmFjZV08
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICZuYnNwOyZu
YnNwOyZuYnNwOyYjNDM7LS1ybyBpbnRlcmZhY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgaWY6aW50ZXJmYWNlLXJlZjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIHN3aXRj
aGluZy1jYXBhYmlsaXRpZXMqIFtzd2l0Y2hpbmctY2FwYWJpbGl0eV08L3NwYW4+PC9iPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
JnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHA+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7
ICYjNDM7LS1ybyBjYXBhYmlsaXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjwvc3Bhbj48L2I+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwm
bmJzcDsgJiM0MzstLXJvIGVuY29kaW5nPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZGVudGl0
eXJlZjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0ZS1tZXRyaWM/Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGlldGYtdGUtdHlwZXM6dGUtbWV0cmljPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0Mzst
LXJvIG9wZXItc3RhdHVzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVtZXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0Mzst
LXJvIGNvdW50ZXJzPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFj
ayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7
O2NvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gcGt0
cy1zZW50PyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB5YW5nOmNvdW50ZXIzMjwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0dW5uZWxzPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIHR1bm5lbCog
W25hbWUgdHlwZV08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gbmFtZSZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJpbmc8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gYWRtaW4tc3RhdHVzPyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZGVudGl0eXJl
Zjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gZm9yd2FyZGluZzwvc3Bhbj48L2I+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gbG9hZC1zaGFyZT8mbmJzcDsmbmJzcDsgdWlu
dDMyPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIG9wZXItc3RhdHVzPyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVt
ZXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGNvdW50ZXJzPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gZXZlbnRzPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt5YW5n
OmNvdW50ZXIzMiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41NWluIj48c3Bh
biBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlm
JnF1b3Q7O2NvbG9yOmJsYWNrIj4yLjMuT3B0aW9uIDM8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPiZuYnNwOzxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjpibGFjayI+L3JvdXRpbmcvcm91dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNw
OyAmIzQzOy0tcncgdGUhPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
JiM0MzstLXJ3IGdsb2JhbHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmIzQzOy0tcncgaW50ZXJmYWNlczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHwmbmJzcDsgJiM0MzstLXJ3IGludGVyZmFjZSogW2ludGVyZmFjZV08bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICYjNDM7LS1ydyBpbnRlcmZhY2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgaWY6aW50ZXJmYWNlLXJlZjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyBjb25maWc8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ydyBzd2l0Y2hpbmctY2FwYWJpbGl0
aWVzKiBbc3dpdGNoaW5nLWNhcGFiaWxpdHldPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGNvbmZpZzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfCZuYnNwOyAmIzQzOy0tcncgY2FwYWJp
bGl0eT8mbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICZuYnNwOyZuYnNwO3wmbmJzcDsgJiM0MzstLXJ3IGVuY29kaW5nPyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyBpZGVudGl0eXJlZjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBzdGF0ZTwvc3Bhbj48L2I+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBjYXBh
YmlsaXR5PyZuYnNwOyZuYnNwOyBpZGVudGl0eXJlZjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyYjNDM7LS1ybyBlbmNvZGluZz8mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRpdHlyZWY8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oywm
cXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgfCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQz
Oy0tcncgdGUtbWV0cmljPyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZXRmLXRl
LXR5cGVzOnRlLW1ldHJpYzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBzdGF0ZTwv
c3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0ZS1tZXRyaWM/Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlldGYtdGUtdHlwZXM6dGUtbWV0cmljPC9zcGFuPjwvYj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ydyB0dW5uZWxzPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IHR1
bm5lbCogW25hbWUgdHlwZV08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgbmFtZSZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzdHJp
bmc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcncgY29uZmlnPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7ICZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwO3wmbmJzcDsgJiM0MzstLXJ3IGFkbWluLXN0YXR1cz8mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWRlbnRp
dHlyZWY8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEw
LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7ICYjNDM7LS1ydyBmb3J3YXJkaW5nPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0
MzstLXJ3IGNvbmZpZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1z
ZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJ3IGxvYWQtc2hhcmU/Jm5ic3A7Jm5ic3A7IHVp
bnQzMjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZx
dW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICYjNDM7LS1ybyBzdGF0ZTwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBsb2FkLXNoYXJlPyZuYnNwOyZu
YnNwOyB1aW50MzI8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpi
bGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjxiPiYjNDM7LS1ybyBzdGF0ZTwvYj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cD48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gYWRtaW4tc3RhdHVz
PyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBpZGVudGl0eXJlZjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2Nv
bG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+L3JvdXRpbmctc3RhdGUvcm91
dGluZy1pbnN0YW5jZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gdGUhPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJs
YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGdsb2JhbHM8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmIzQzOy0tcm8gaW50ZXJmYWNl
czxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztj
b2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgJiM0Mzst
LXJvIGludGVyZmFjZSogW2ludGVyZmFjZV08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyB8Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBpbnRlcmZhY2Um
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWY6aW50ZXJmYWNlLXJlZjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIG9wZXItc3RhdHVzPyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbnVt
ZXJhdGlvbjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGNvdW50ZXJzPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOiMwMDcwQzAiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyAmIzQzOy0tcm8gcGt0cy1zZW50PyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB5
YW5nOmNvdW50ZXIzMjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6Ymxh
Y2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90
Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyB0
dW5uZWxzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1
b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgJiM0MzstLXJvIHR1bm5lbCogW25hbWUgdHlwZV08bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmIzQzOy0tcm8gbmFtZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyBzdHJpbmc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBv
cGVyLXN0YXR1cz8mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgZW51bWVyYXRpb248L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cD48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZx
dW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6IzAwNzBDMCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICYjNDM7LS1ybyBj
b3VudGVyczwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjojMDA3MEMwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJiM0MzstLXJvIGV2ZW50cz8m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgeWFuZzpjb3VudGVyMzINCjwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7PG86cD48L286cD48
L3NwYW4+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouMjVpbiI+PHNwYW4gc3R5bGU9ImZv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjpibGFjayI+My48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDtjb2xvcjpibGFj
aztmb250LXdlaWdodDpub3JtYWwiPiZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0
eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVv
dDs7Y29sb3I6YmxhY2siPkFwcHJvYWNoIFJhdGlvbmFsZXM8bzpwPjwvbzpwPjwvc3Bhbj48L2gy
Pg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+
MS4xLlBlcmZvcm1hbmNlIFJlcXVpcmVtZW50PG86cD48L286cD48L3NwYW4+PC9oMj4NCjxwIHN0
eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9y
OmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOmJsYWNr
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6Ymxh
Y2siPlNlcGFyYXRpbmcgY29uZmlndXJhdGlvbiBhbmQgc3RhdGUgYnJhbmNoZXMgYWxsb3dzIGlt
cGxlbWVudGluZyBzdGF0ZSBkYXRhIHRocm91Z2ggYSBzZXBhcmF0ZSBmYXN0IGNoYW5uZWwgdG8g
ZGVsaXZlciBoaWdoIGZyZXF1ZW50IGFuZCBoaWdoIHZvbHVtZSBkYXRhLjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNl
cmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcu
MHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYm
cXVvdDs7Y29sb3I6YmxhY2siPkluIHRoaXMgYXNwZWN0LCBPcHRpb24gMiBoYXMgYSBjbGVhcmVy
IHNlcGFyYXRpb24gYmV0d2VlbiBjb25maWd1cmF0aW9uIGFuZCBzdGF0ZSBkYXRhLCBhbmQgZWFz
aWVyIHRvIGFjaGlldmUgYmV0dGVyIHBlcmZvcm1hbmNlIGJ5IHVzaW5nIHNlcGFyYXRlIGNoYW5u
ZWxzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjU1aW4i
PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMt
c2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPjEuMi5EYXRhIFR5cGUgUmVxdWlyZW1lbnRzPG86cD48
L286cD48L3NwYW4+PC9oMj4NCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVv
dDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPkR1cGxpY2F0aW5nIGFsbCBjb25maWd1cmF0aW9u
IGF0dHJpYnV0ZXMgbWFrZXMgYWN0dWFsIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3MgYXZhaWxhYmxl
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPsK3PC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+RGVyaXZlZCwgbmVnb3RpYXRlZCwgYW5k
IHN5c3RlbSBhc3NpZ25lZCBkYXRhIGFyZSBhZGRlZCB0byB0aGUgc3RhdGUgYnJhbmNoPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90
O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fu
cy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Q291bnRlcnMgb3Igc3RhdGlzdGljcyBhcmUgYWRk
ZWQgdG8gdGhlIHN0YXRlIGJyYW5jaDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJt
YXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNr
Ij7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuMHB0O2NvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPkFs
bCB0aHJlZSBvcHRpb25zIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbiI+PHNwYW4gc3R5bGU9ImZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpi
bGFjayI+MS4zLk9wZXJhdGlvbiBSZXF1aXJlbWVudHM8bzpwPjwvbzpwPjwvc3Bhbj48L2gyPg0K
PHAgc3R5bGU9Im1hcmdpbi1sZWZ0Oi44NWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7
Y29sb3I6YmxhY2siPsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjpibGFjayI+U2VwYXJhdGluZyBjb25maWd1cmF0aW9uIGFuZCBvcGVyYXRpb25hbCBzdGF0ZSBk
YXRhIGFsbG93cyByZXRyaWV2aW5nIGNvbmZpZ3VyYXRpb24gYW5kIG9wZXJhdGlvbmFsIHN0YXRl
IGRhdGEgaW5kZXBlbmRlbnRseS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFy
Z2luLWxlZnQ6Ljg1aW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+
wrc8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj5TZXBh
cmF0aW5nIGRlcml2ZWQgc3RhdGUgYW5kIHN0YXRpc3RpY3Mgc3RhdGUgYWxsb3dzIHJldHJpZXZp
bmcgdGhlbSBpbmRlcGVuZGVudGx5PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1h
cmdpbi1sZWZ0Oi44NWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2si
PsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+VGhl
IHN0YXRlIGJyYW5jaCBpcyBhbiBleGFjdCBtaXJyb3Igb2YgdGhlIGNvbmZpZ3VyYXRpb24gYnJh
bmNoLCBzbyB0aGUgc2NoZW1hIGxvY2F0aW9ucyBhcmUgY29uc2lzdGVudC4NCjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDouODVpbiI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OywmcXVvdDtzYW5z
LXNlcmlmJnF1b3Q7O2NvbG9yOmJsYWNrIj7Ctzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjcuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2Vy
aWYmcXVvdDs7Y29sb3I6YmxhY2siPkluIHRoaXMgYXNwZWN0LCBhbGwgdGhyZWUgb3B0aW9ucyBz
YXRpc2Z5IHRoZSByZXF1aXJlbWVudHMuIEZvciBvcHRpb24gMSwgdG8gY2hlY2sgdGhlIHN0YXRl
IHZhbHVlIGZvciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlLCB0aGUgY2xpZW50
IHNvZnR3YXJlIGNhbiBzaW1wbHkgYWRkDQogdGhlIOKAnHN0YXRl4oCdIHRvIHRoZSBlbmQgb2Yg
dGhlIHNjaGVtYSBub2RlIHBhdGguIEZvciBvcHRpb24gMiwgdG8gY2hlY2sgdGhlIHN0YXRlIHZh
bHVlIGZvciBhIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlLCB0aGUgY2xpZW50IHNv
ZnR3YXJlIGNhbiBzaW1wbHkgYWRkIHRoZSDigJwtc3RhdGXigJ0gc3VmZml4IHRvIHRoZSBuYW1l
IG9mIHRoZSB0b3AgY29udGFpbmVyLiBPcHRpb24gMSBzZWVtcyB0byBiZSBlYXNpZXN0IGluIHRo
aXMgcmVnYXJkLA0KIGJ1dCBvdGhlcnMgYXJlIGFjY2VwdGFibGU/PG86cD48L286cD48L3NwYW4+
PC9wPg0KPGgyIHN0eWxlPSJtYXJnaW4tbGVmdDouNTVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFj
ayI+MS40Lk90aGVyIFJlcXVpcmVtZW50czxvOnA+PC9vOnA+PC9zcGFuPjwvaDI+DQo8cCBzdHls
ZT0ibWFyZ2luLWxlZnQ6NjMuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7Y29sb3I6
YmxhY2siPsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny4wcHQ7Y29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xv
cjpibGFjayI+TW9kZWwgc3lzdGVtIGNyZWF0ZWQgcmVhZC1vbmx5IG9iamVjdHMgKGUuZy4gVEUg
dHVubmVscykuIFdoZW4gc3RhdGUgZGF0YSBhbmQgY29uZmlnIGRhdGEgc2hhcmUgdGhlIHNhbWUg
cGFyZW50LCB0aGV5IHNoYXJlIHRoZSBzYW1lIGtleSBmb3IgdGhlIHBhcmVudCBsaXN0LiBFdmVu
IHRob3VnaCB0aGF0DQogdGhlIHN0YXRlIGJyYW5jaCBpcyByZWFkLW9ubHksIGl0cyBwYXJlbnQg
aXMgbm90IGFuZCB0aGUga2V5IG9mIHRoZSBwYXJlbnQgaXMgbm90LiBUaGVyZWZvcmUsIHdlIHdp
bGwgaGF2ZSBkaWZmaWN1bHR5IHRvIGFjaGlldmUgdGhpcyBpbiBPcHRpb24gMS48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6NjMuMHB0Ij48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LCZxdW90O3Nh
bnMtc2VyaWYmcXVvdDs7Y29sb3I6YmxhY2siPsK3PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6Ny4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOw0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1b3Q7
c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+Q29tcGF0aWJsZSB3aXRoIHRoZSBleGlzdGlu
ZyBtb2RlbHMuIFRoZSByZWxhdGVkIG1vZGVscyBpbmNsdWRlIFJGQzcyMjMsIFJGQzcyNzcgYW5k
IGRyYWZ0LWlldGYtbmV0bW9kLXJvdXRpbmctY2ZnLTE4LiBJbiB0aGlzIGFzcGVjdCwgT3B0aW9u
IDIgc2VlbXMgdG8gZG8gYmV0dGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssJnF1
b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjpibGFjayI+WW91ciBjb21tZW50cyBhbmQgcHJlZmVy
ZW5jZXMgYXJlIGFwcHJlY2lhdGVkLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5UaGFua3MsPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6Ymxh
Y2siPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4tIFh1ZmVuZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj4mbmJzcDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVv
dGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bWFyZ2luLWJvdHRvbToxMi4wcHQiPjxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fPGJyPg0KUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0PGJyPg0K
PGEgaHJlZj0ibWFpbHRvOlJ0Zy15YW5nLWNvb3JkQGlldGYub3JnIj5SdGcteWFuZy1jb29yZEBp
ZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xp
c3RpbmZvL3J0Zy15YW5nLWNvb3JkIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9ydGcteWFuZy1jb29yZDwvYT48bzpwPjwvbzpwPjwvcD4NCjwv
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_AAB1CC9C17CBA440BDFA169056B93B9EBE92D4eusaamb107ericsso_--


From nobody Wed May 13 15:01:13 2015
Return-Path: <xufeng.liu@ericsson.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C44BD1B315E for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 15:01:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level: 
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 Rk5qXgY_d64H for <rtg-yang-coord@ietfa.amsl.com>; Wed, 13 May 2015 15:01:09 -0700 (PDT)
Received: from usevmg20.ericsson.net (usevmg20.ericsson.net [198.24.6.45]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D735A1B2F2D for <Rtg-yang-coord@ietf.org>; Wed, 13 May 2015 15:01:08 -0700 (PDT)
X-AuditID: c618062d-f79a96d000007fb1-20-55537151e6a3
Received: from EUSAAHC001.ericsson.se (Unknown_Domain [147.117.188.75]) by usevmg20.ericsson.net (Symantec Mail Security) with SMTP id 70.6B.32689.15173555; Wed, 13 May 2015 17:44:18 +0200 (CEST)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC001.ericsson.se ([147.117.188.75]) with mapi id 14.03.0210.002; Wed, 13 May 2015 18:01:07 -0400
From: Xufeng Liu <xufeng.liu@ericsson.com>
To: "Thomas D. Nadeau" <tnadeau@lucidvision.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Thread-Topic: [Rtg-yang-coord] Operational State Modeling
Thread-Index: AQHQjPpRkKpDh+jYTPGkN01wChYhCZ15zGWAgAAtroCAACxEgIAAS2qQ
Date: Wed, 13 May 2015 22:01:06 +0000
Message-ID: <AAB1CC9C17CBA440BDFA169056B93B9EBE9372@eusaamb107.ericsson.se>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
In-Reply-To: <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [147.117.188.9]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBLMWRmVeSWpSXmKPExsUyuXSPt25QYXCowb4fzBYbdypaTH47j9ni 6safjBa/n99mtng4+RK7A6vHlN8bWT0WbCr1WLLkJ5PHhgOeHlufLGEPYI3isklJzcksSy3S t0vgyli2YyVrwRqpiom3JjM1MF6R7GLk5JAQMJG4e+0MI4QtJnHh3nq2LkYuDiGBo4wSR07d YANJCAksZ5SYuIavi5GDg01AS+LyU0eQsIhAgcS73j3MIPXMAi2MEq0vpjCDJIQFLCSuHV3L BlIvImAp0fu/EKLeTeL9ypXsIDaLgKrExMVbmEFKeAW8JWZPCoBYe5lR4tzGjywgNZwCzhIX /xwGu40R6Lbvp9YwgdjMAuISt57MZ4K4WUBiyZ7zzBC2qMTLx/9YIWxFiX3909lB5jMLaEqs 36UP0aooMaX7IdgJvAKCEidnPmGZwCg2C8nUWQgds5B0zELSsYCRZRUjR2lxalluupHBJkZg VB2TYNPdwbjnpeUhRgEORiUe3gflQaFCrIllxZW5hxilOViUxHkXPTgYIiSQnliSmp2aWpBa FF9UmpNafIiRiYNTqoGRdcsMcQftPQc4dQ484llyYfIExVLVDs/PJ7on3bRa96jfI2LOpOJv MxKeN1d+arq7s3zr493VZh9D5xxP1rWPucreONW9SS3qcsbi+vW6pp2aF1pe8Z1wu3h7A0fZ PoaHfBuv33r6T2LCkUX17/sWaFv8bV+x1d06svzBDdYL8Ud3HDp5bJNigBJLcUaioRZzUXEi AHgh1paLAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/Qte0wDg2-0FR-wDyrYwOh3MqZcE>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 May 2015 22:01:10 -0000

QWdyZWUgdGhhdCBzdGFuZGFyZHMgbmVlZCB0byBiZSBzdGFibGUsIGFuZCBjYW4gYmUgcmVmYWN0
b3JlZCBpZiBuZWNlc3NhcnkuDQoNCkZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIHRoZXNlIG1vZGVs
cywgaW1wbGVtZW50YXRpb25zIG5lZWQgdG8gcHV0IHRoZW0gdG9nZXRoZXIgaW4gYSBjb21wYXRp
YmxlIHdheS4gSWYgaXQgaXMgbmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGVtLCB0aGV5IG5lZWQgdG8g
YmUgY2hhbmdlZCBjb29yZGluYXRlbHkuDQoNCi0gWHVmZW5nDQoNCj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCj4gRnJvbTogVGhvbWFzIEQuIE5hZGVhdSBbbWFpbHRvOnRuYWRlYXVAbHVj
aWR2aXNpb24uY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIE1heSAxMywgMjAxNSA5OjE0IEFNDQo+
IFRvOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXINCj4gQ2M6IEFuZWVzIFNoYWlraDsgUnRnLXlhbmct
Y29vcmRAaWV0Zi5vcmc7IEFjZWUgTGluZGVtIChhY2VlKTsgWHVmZW5nIExpdQ0KPiBTdWJqZWN0
OiBSZTogW1J0Zy15YW5nLWNvb3JkXSBPcGVyYXRpb25hbCBTdGF0ZSBNb2RlbGluZw0KPiANCj4g
DQo+IAlTcGVha2luZyBhcyBhbiBpbmRpdmlkdWFsLCB3aGlsZSB3aGF0IEp1ZXJnZW4gc2F5cyBp
cyB0cnVlLCB0aGF0IGRvZXMgbm90DQo+IG1lYW4gdGhhdCBleGlzdGluZyBtb2RlbHMgY2FuIG5l
dmVyIGJlIHJlZmFjdG9yZWQuDQo+IA0KPiAJ4oCUVG9tDQo+IA0KPiANCj4gPiBPbiBNYXkgMTMs
IDIwMTU6NjozNSBBTSwgYXQgNjozNSBBTSwgSnVlcmdlbiBTY2hvZW53YWVsZGVyDQo+IDxqLnNj
aG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+IHdyb3RlOg0KPiA+DQo+ID4gT24gV2Vk
LCBNYXkgMTMsIDIwMTUgYXQgMTI6NTE6NDFBTSAtMDcwMCwgQW5lZXMgU2hhaWtoIHdyb3RlOg0K
PiA+Pg0KPiA+PiBSZWdhcmRpbmcgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIG1vZGVscywg
SSByZWFsbHkgZG9uJ3QgYWdyZWUgYXQNCj4gPj4gYWxsIHRoYXQgdGhlIGV4aXN0aW5nIFJGQyBt
b2RlbHMgc2hvdWxkIGNvbnN0cmFpbiB3aGF0IHdlIGRvIHdoZW4NCj4gPj4gdHJ5aW5nIHRvIG1l
ZXQgdGhlIHJlcXVpcmVtZW50cyBvZiBwZW9wbGUgdHJ5aW5nIHRvIGJ1aWxkIHJlYWwgc3lzdGVt
cyB0aGF0DQo+IHVzZSBZQU5HDQo+ID4+IG1vZGVscy4gICAgV2l0aCBhbGwgcmVzcGVjdCB0byB0
aGUgYXV0aG9ycyBvZiB0aG9zZSBmZXcgbW9kZWxzICh3aGljaCB3ZQ0KPiA+PiBsZXZlcmFnZSBj
b25zaWRlcmFibHkgaW4gb3VyIG1vZGVscyksIFlBTkcgbW9kZWxzIGFyZSBzb2Z0d2FyZSBjb2Rl
LA0KPiA+PiBhbmQgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgc3VjaCBJTU8uICBXZSBkb24ndCBzYXkg
dGhhdCBzb2Z0d2FyZSBpcw0KPiA+PiAiZG9uZSIgYW5kIGNhbid0IGNoYW5nZSAtLSBpdCBldm9s
dmVzIGFuZCBpbXByb3ZlcyBvdmVyIHRpbWUsDQo+ID4+IHNvbWV0aW1lcyBpbiBub24tYmFja3dh
cmQtY29tcGF0aWJsZSB3YXlzLiAgQW5kIHdlIGRvbid0IGlzc3VlIGENCj4gPj4gZmluYWwgdmVy
c2lvbiBvZiBzb2Z0d2FyZSB3aXRob3V0IGNvbnNpZGVyYWJsZSBleHBlcmllbmNlIHVzaW5nIGFu
ZCB0ZXN0aW5nIGl0DQo+IGluIHByb2R1Y3Rpb24uDQo+ID4+DQo+ID4NCj4gPiBTdGFuZGFyZHMg
YW5kIHNvZnR3YXJlIGFyZSBub3QgdGhlIHNhbWUuIFRoZSB2YWx1ZSBvZiBzdGFuZGFyZHMgaXMN
Cj4gPiB0aGF0IHRoZXkgcHJvdmlkZSBhIHN0YWJsZSBiYXNpcy4gSW4gb3RoZXIgd29yZHMsIHRo
ZSB2YWx1ZSBvZg0KPiA+IHN0YW5kYXJkcyBpcyB0aGF0IHRoZXkgZG8gbm90IGNoYW5nZSBldmVy
eSBvdGhlciBkYXkuIFllcywgeW91IGNhbg0KPiA+IHJld3JpdGUgc3RhbmRhcmRpemVkIGRhdGEg
bW9kZWxzIGJ1dCB0aGUgY29zdCBvZiBkb2luZyBzbyBpcyBoaWdoIGFuZA0KPiA+IGhlbmNlIHRo
ZSBiZW5lZml0IG9mIHJld3JpdGluZyBzb21ldGhpbmcgbXVzdCBiZSBoaWdoLiBJIGRvIG5vdCBz
ZWUNCj4gPiB0aGlzIGhlcmUgLSBub3QgZXZlbiByZW1vdGVseS4NCj4gPg0KPiA+IC9qcw0KPiA+
DQo+ID4gLS0NCj4gPiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgICAgICAgICAgIEphY29icyBVbml2
ZXJzaXR5IEJyZW1lbiBnR21iSA0KPiA+IFBob25lOiArNDkgNDIxIDIwMCAzNTg3ICAgICAgICAg
Q2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1lbiB8IEdlcm1hbnkNCj4gPiBGYXg6ICAgKzQ5IDQy
MSAyMDAgMzEwMyAgICAgICAgIDxodHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4NCj4g
Pg0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+
ID4gUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0DQo+ID4gUnRnLXlhbmctY29vcmRAaWV0Zi5v
cmcNCj4gPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J0Zy15YW5nLWNv
b3JkDQo+ID4NCg0K


From nobody Thu May 14 11:07:39 2015
Return-Path: <aldrin.ietf@gmail.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BA6EB1A902B for <rtg-yang-coord@ietfa.amsl.com>; Thu, 14 May 2015 11:07:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] autolearn=ham
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 JPeARajVWcnm for <rtg-yang-coord@ietfa.amsl.com>; Thu, 14 May 2015 11:07:37 -0700 (PDT)
Received: from mail-ig0-x236.google.com (mail-ig0-x236.google.com [IPv6:2607:f8b0:4001:c05::236]) (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 D326C1A8ACC for <Rtg-yang-coord@ietf.org>; Thu, 14 May 2015 11:07:36 -0700 (PDT)
Received: by igbyr2 with SMTP id yr2so174146495igb.0 for <Rtg-yang-coord@ietf.org>; Thu, 14 May 2015 11:07:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/2j+pJPteqAb8NeQ/H7irP045/t4o2omlQHB3BepKAA=; b=E81PU+pQKDA/UxnHy9a2FdL9Aefry8N3xw0PyuUtDThQym+eCFRGJ0fBHFNJaigcva UT8u6EObmeGieJ9BKMqgxzjhhuDAJ7Xnt2iyrD4orxNzemMbaLV/atTegGUL0XHtJnBp ptABSTHCcf2gnhYcl9fCAtab/woYHNFEg++ub447lrgXSb61cUoDYs9aplEsVHM0csmt +PrbE/fX6BXCM0UowT2OFWmekZGWuUQU8kjcI15ojGHsE941Zb5x/fZY/0auUNUKOIAQ Q8/tPVtF4u82Ep0cdM6kfei4aUNKsN7lZ8G5Z6bk4Ker/bCt1sb02SW4xTOI/ng8m9Ky 0BRA==
X-Received: by 10.43.39.1 with SMTP id tk1mr14399508icb.26.1431626856345; Thu, 14 May 2015 11:07:36 -0700 (PDT)
Received: from ?IPv6:2620::1000:3202:94a5:c8:2f94:7c5d? ([2620:0:1000:3202:94a5:c8:2f94:7c5d]) by mx.google.com with ESMTPSA id p74sm16980534ioe.27.2015.05.14.11.07.35 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 14 May 2015 11:07:35 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: aldrin ietf <aldrin.ietf@gmail.com>
In-Reply-To: <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
Date: Thu, 14 May 2015 11:07:34 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <E2C72B0F-C0EE-4700-B89D-F895EBAE9A4F@gmail.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
To: "Thomas D. Nadeau" <tnadeau@lucidvision.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/-TvPIpNPRC40cmJfb9RSdtsoAIk>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 May 2015 18:07:38 -0000

That is the case we are making with openconfig model.
Details are in the draft on why it is helpful from operational =
perspective.
One do not want to create standards which are not operationally =
effective.

-sam
> On May 13, 2015, at 6:13 AM, Thomas D. Nadeau =
<tnadeau@lucidvision.com> wrote:
>=20
>=20
> 	Speaking as an individual, while what Juergen says is true, that =
does not mean that existing models can never be refactored.=20
>=20
> 	=E2=80=94Tom
>=20
>=20
>> On May 13, 2015:6:35 AM, at 6:35 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>>=20
>> On Wed, May 13, 2015 at 12:51:41AM -0700, Anees Shaikh wrote:
>>>=20
>>> Regarding compatibility with existing models, I really don't agree =
at all
>>> that the existing RFC models should constrain what we do when trying =
to
>>> meet the requirements of people trying to build real systems that =
use YANG
>>> models.    With all respect to the authors of those few models =
(which we
>>> leverage considerably in our models), YANG models are software code, =
and
>>> should be treated as such IMO.  We don't say that software is "done" =
and
>>> can't change -- it evolves and improves over time, sometimes in
>>> non-backward-compatible ways.  And we don't issue a final version of
>>> software without considerable experience using and testing it in =
production.
>>>=20
>>=20
>> Standards and software are not the same. The value of standards is
>> that they provide a stable basis. In other words, the value of
>> standards is that they do not change every other day. Yes, you can
>> rewrite standardized data models but the cost of doing so is high and
>> hence the benefit of rewriting something must be high. I do not see
>> this here - not even remotely.
>>=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
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>=20
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Thu May 14 16:51:19 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53D5C1ACEEB for <rtg-yang-coord@ietfa.amsl.com>; Thu, 14 May 2015 16:51:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level: 
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 J7pcwgo7V67s for <rtg-yang-coord@ietfa.amsl.com>; Thu, 14 May 2015 16:51:12 -0700 (PDT)
Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::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 528791B2D55 for <Rtg-yang-coord@ietf.org>; Thu, 14 May 2015 16:51:11 -0700 (PDT)
Received: by oign205 with SMTP id n205so68576840oig.2 for <Rtg-yang-coord@ietf.org>; Thu, 14 May 2015 16:51:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=NFsoNALcOT9+a6OhQQ7Ovg6kIf/5MXj4a04ZxR76KBA=; b=cJtID49fLyzglyXY6KSmaP06U3nwmf2jpjbYJEzkozAsNszquqqe3WcqMVs7pgLKQu sTmxRF+mzbVnUdKK6bijnQKIHol4IdoNoAgbuEF3bYkGa+FC07E4Fx3uw2WxCkxv4/u4 2+p+SnpTycpqV4BPurFFLVbKtIMlb1WLNt3V9pEFKdsVI19y1zMZ+8t9Yp86VI/1Ri4N bRaBU4EO6BoDCAZnfVGY5Glu3bgVzN/+UPPIk/0fPqK1z4qmdMz9+98hV1ohm7QUwHNh 8eH4Q9i8QEad0eC9n+H31Sqdv0xzhKU5WCQnEoyo8y2VO+bp4PLCpU6rBDiBrVqLZq2X dBmA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=NFsoNALcOT9+a6OhQQ7Ovg6kIf/5MXj4a04ZxR76KBA=; b=Hs7tk1613yeYGal8K+dj1foHbeCjEqXqsdAIjXFaO4KS4/4qU5WVC4wsm8SetrPBdD AC6AJS7wPW+X64PpbTWoAuMsgJTx7sP8gFIr8n53zporDVczvHqal+4FqmklVnfQV7N6 fZJ1oCbhrgaVjlLYoAJTYNYfI2H+D1gbBmdGWRjvHPAwYUXZhVxIzVffepJI1LYmGhkA DOJy50XdnKmVGnfutj7sR9JF9GRG/j1wHeAOR2nJMGqZLOezfWIBJ7nSSvwb6Xf+DsKa RU5k2DJynXFt8ilTjdINvdbEuYFHzoufT4tpqVJlIF6ZI7qeqabkLCxN7Q9Z20jpvPl5 xXpA==
X-Gm-Message-State: ALoCoQm1tac2Ny0WzWX7hrStfxjRGor1MQvd6RdxiLQ3bQs/jLU4ZXUZNQ7mLzGN204SOCThix2C
MIME-Version: 1.0
X-Received: by 10.202.187.138 with SMTP id l132mr5432196oif.31.1431647470460;  Thu, 14 May 2015 16:51:10 -0700 (PDT)
Received: by 10.182.220.200 with HTTP; Thu, 14 May 2015 16:51:10 -0700 (PDT)
In-Reply-To: <AAB1CC9C17CBA440BDFA169056B93B9EBE92D4@eusaamb107.ericsson.se>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <AAB1CC9C17CBA440BDFA169056B93B9EBE92D4@eusaamb107.ericsson.se>
Date: Thu, 14 May 2015 16:51:10 -0700
Message-ID: <CAJK7ZqJkBN_Bts8tf6m+ZH66-7ymR+T3ng1mU2X=MxN1O2ZSGQ@mail.gmail.com>
From: Anees Shaikh <aashaikh@google.com>
To: Xufeng Liu <xufeng.liu@ericsson.com>
Content-Type: multipart/alternative; boundary=001a113ccf4aebe1ea0516136603
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/VjZJNOWorVdFRl0qg217Y-f6HY4>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 May 2015 23:51:17 -0000

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

Xufeng, thanks -- my responses below.

On Wed, May 13, 2015 at 2:39 PM, Xufeng Liu <xufeng.liu@ericsson.com> wrote=
:

>  Hi Anees,
>
>
>
> Thanks for the replies. Have a couple of comments below.
>
>
>
> Best,
>
>
>
> - Xufeng
>
>
>
> *From:* Anees Shaikh [mailto:aashaikh@google.com]
> *Sent:* Wednesday, May 13, 2015 3:52 AM
> *To:* Acee Lindem (acee)
> *Cc:* Xufeng Liu; Rtg-yang-coord@ietf.org
> *Subject:* Re: [Rtg-yang-coord] Operational State Modeling
>
>
>
> Xufeng, thanks very much for taking the time to do this systematic
> analysis -- much appreciated.   We've also talked to a subset of the
> MPLS/TE DT just today about opstate to reiterate the reasons for the
> OpenConfig proposal.  I will just comment on your rationale section.
>
>
>
> 1.1 Performance requirements
>
>
>
> Implementations today already support the retrieval of operational state
> and configuration data together.  In fact, platforms that support NETCONF
> would need to handle both simultaneously in a <get> request.  The
> <get-config> request does not return opstate at all.  There is no option
> today for <get-operational> to retrieve only state (though our draft
> proposes, or more accurately, re-proposes it).  The performance
> implications may be due to the datastore design for the different types o=
f
> data, but where the data lives in the *schema* should not have a major
> impact on the performance to read it.  In other words, if you accept the
> requirement that configuration needs to be part of state (which you seem =
to
> in the beginning of the note),
>
> *[Xufeng] Even though the same config attributes appear in the state
> branch, they may not be taken from the configuration database, but taken
> from internal memory so as to retrieve the applied or negotiated values. =
*
>
> then the location in the schema really shouldn't matter.  It does matter
> for other reasons (see below).
>

I agree that config-related state values may come from some alternate data
store but I'm not sure this changes the main point, i.e., that which
datastore the data comes from is separable from where it lies in the
schema.  And with NETCONF, assuming you'd want to support that model, there
is already the requirement to be able to return both configuration and
state.


>
>
> 1.2 Data type requirements -- agree with your conclusions
>
>
>
> 1.3 Operation requirements
>
>
>
> You mention, "*For option 2, to check the state value for a specific
> configuration attribute, the client software can simply add the =E2=80=9C=
-state=E2=80=9D
> suffix to the name of the top container*"
>
>
>
> The question that this doesn't answer is what is the top container?  It
> may be clear in an individual model, but I don't manage a device using ju=
st
> routing, or just interfaces.  I want to compose a set of models into a
> coherent whole and be able to access config and corresponding state in a
> consistent way.  When I compose the models, what I thought was the "top"
> container is no longer top -- it shows up somewhere in the middle, and my
> paths are now totally dependent on how modelers have decided to combine o=
r
> separate their individual models and modules.  From our perspective, opti=
on
> 2 doesn't meet this requirement.  Rather than debate what the real top of=
 a
> usable model is, we take the approach of pushing the separation to leaves
> of the tree, which works no matter how models are composed structurally.
>
> *[Xufeng] I=E2=80=99d like to see an example of your composed structure. =
Currently
> YANG does not allow you to mount a schema tree to another location. If it
> were allowed, the mounting process would be possible to process the split
> point and relocate it to the top.*
>

Have a look at draft-openconfig-netmod-model-structure -- that doc
motivates the need for a composed model to represent an entire device, for
example, and a couple of options for doing the composition.  We don't need
to use mount points or anything special, just imports and/or augments.
Again, placing the config/state separation at the leaves of the tree avoids
the need to relocate anything when composing models.


>
> 1.4 Other requirements
>
>
>
> Regarding system-created tunnels, why is it necessary to consider them
> part of read-only state?  I can just as well consider them as configured,
> only they are configured by some agent on the system -- they should in fa=
ct
> be configured using the same mechanism as a tunnel configured by an
> operator.   If they are not writable, *and you want to enforce this in th=
e
> model*, they could show up in only the state part of the tree -- I agree
> this does raise the issue with list keys that you mention.  But list keys
> (and lists in general) are a bit broken in YANG 1.0/1.1 as we explain
> briefly in the draft.  We can discuss the issues with lists in a separate
> thread given more time.
>
> *[Xufeng] I think that the proposed list key change is rather dramatic.
> Our model would better be based on the current YANG version. I=E2=80=99d =
not want
> to want to have a model base on a non-existing feature.*
>

Yes, agree that fixing YANG lists will take a while, but I would reiterate
that distinguishing elements that are configured by users vs. configured by
the system is a bit artificial.  And I'm not sure we want to be so
prescriptive in models so as to require system-configured items to be
read-only.  Some implementations may allow a user to reconfigure them.  I
would rather perhaps add a leaf that indicates the source of the config.




>
>
>
> On Tue, May 12, 2015 at 2:26 PM, Acee Lindem (acee) <acee@cisco.com>
> wrote:
>
> Hi Xufeng,
>
>
>
> My interpretation of the OpenConfig draft is that it recommends option 1.
> Actually, option 3 seems like a variation of 1 with some superfluous
> levels.
>
>
>
> Thanks,
>
> Acee
>
>
>
> *From: *Xufeng Liu <xufeng.liu@ericsson.com>
> *Date: *Tuesday, May 12, 2015 at 4:56 PM
> *To: *Routing YANG <rtg-yang-coord@ietf.org>
> *Subject: *[Rtg-yang-coord] Operational State Modeling
>
>
>
>   During the YANG MPLS/TE design team discussions, the topic of
> operational state modeling was brought up. We discussed the proposal
> presented in http://www.ietf.org/id/draft-openconfig-netmod-opstate-00.tx=
t
> and some various approaches. Here are some thoughts and questions.
> 1.    Requirements
>
> We agree with the requirements presented in
> draft-openconfig-netmod-opstate. These requirements are summarized as
> followings.
> 1.1.Performance Requirement
>
> =C2=B7            Operational state access is much more frequent than
> configuration
>
> =C2=B7            State data is generally higher volume than configuratio=
n data
> 1.2.Data Type Requirements
>
> =C2=B7            Representing intended configuration (actual vs. configu=
red)
>
> =C2=B7            Derived, negotiated, and system assigned data
>
> =C2=B7            Counters or statistics
> 1.3.Operation Requirements
>
> =C2=B7            Separate configuration and operational state data
>
> =C2=B7            Retrieve configuration and operational state data
> independently
>
> =C2=B7            Retrieve derived state and statistics state independent=
ly
>
> =C2=B7            Consistent schema locations for configuration and
> corresponding operational state data
> 2.    Some Options 2.1.Option 1
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>             +--rw config
>
>       |        +--rw switching-capabilities* [switching-capability]
>
>                   +--rw config
>
>       |           |  +--rw capability?   identityref
>
>       |          |  +--rw encoding?     identityref
>
>                   *+--ro state*
>
> *      |              +--ro capability?   identityref*
>
> *      |             +--ro encoding?     identityref*
>
>       |        +--rw te-metric?                ietf-te-types:te-metric
>
>             *+--ro state*
>
> *      |        +--ro te-metric?                ietf-te-types:te-metric*
>
>                +--ro oper-status?            enumeration
>
>                +--ro counters
>
>                      +--ro pkts-sent?              yang:counter32
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw config
>
>                |  +--rw admin-status?           identityref
>
>             |  +--rw forwarding
>
>                   +--rw config
>
>             |        +--rw load-share?   uint32
>
> *                  +--ro state*
>
> *            |        +--ro load-share?   uint32*
>
> *            +--ro state*
>
> *                  +--ro admin-status?           identityref*
>
>                +--ro oper-status?            enumeration
>
>                +--ro counters
>
>                   +--ro events?              yang:counter32
> 2.2.Option 2
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>       |     +--rw switching-capabilities* [switching-capability]
>
>       |     |  +--rw capability?   identityref
>
>       |     |  +--rw encoding?     identityref
>
>       |     +--rw te-metric?                ietf-te-types:te-metric
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw admin-status?           identityref
>
>             +--rw forwarding
>
>                +--rw load-share?   uint32
>
> /routing-state/routing-instance:
>
>    +--ro te!
>
>       +--ro globals
>
>       +--ro interfaces
>
>       |  +--ro interface* [interface]
>
>       |     +--ro interface                 if:interface-ref
>
> *      |     +--ro switching-capabilities* [switching-capability]*
>
> *      |     |  +--ro capability?   identityref*
>
> *      |     |  +--ro encoding?     identityref*
>
> *      |     +--ro te-metric?                ietf-te-types:te-metric*
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro pkts-sent?              yang:counter32
>
>       +--ro tunnels
>
>          +--ro tunnel* [name type]
>
>             +--ro name                    string
>
> *            +--ro admin-status?           identityref*
>
> *            +--ro forwarding*
>
> *               +--ro load-share?   uint32*
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro events?              yang:counter32
>
>
> 2.3.Option 3
>
>
>
> /routing/routing-instance:
>
>    +--rw te!
>
>       +--rw globals
>
>       +--rw interfaces
>
>       |  +--rw interface* [interface]
>
>       |     +--rw interface                 if:interface-ref
>
>             +--rw config
>
>       |        +--rw switching-capabilities* [switching-capability]
>
>                   +--rw config
>
>       |           |  +--rw capability?   identityref
>
>       |          |  +--rw encoding?     identityref
>
> *                  +--ro state*
>
> *      |              +--ro capability?   identityref*
>
> *      |             +--ro encoding?     identityref*
>
>       |        +--rw te-metric?                ietf-te-types:te-metric
>
> *            +--ro state*
>
> *      |        +--ro te-metric?                ietf-te-types:te-metric*
>
>       +--rw tunnels
>
>          +--rw tunnel* [name type]
>
>             +--rw name                    string
>
>             +--rw config
>
>                |  +--rw admin-status?           identityref
>
>             |  +--rw forwarding
>
>                   +--rw config
>
>             |        +--rw load-share?   uint32
>
> *                  +--ro state*
>
> *            |        +--ro load-share?   uint32*
>
>             *+--ro state*
>
> *               +--ro admin-status?           identityref*
>
>
>
> /routing-state/routing-instance:
>
>    +--ro te!
>
>       +--ro globals
>
>       +--ro interfaces
>
>       |  +--ro interface* [interface]
>
>       |     +--ro interface                 if:interface-ref
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro pkts-sent?              yang:counter32
>
>       +--ro tunnels
>
>          +--ro tunnel* [name type]
>
>             +--ro name                    string
>
>             +--ro oper-status?            enumeration
>
>             +--ro counters
>
>                +--ro events?              yang:counter32
>
>
> 3.    Approach Rationales 1.1.Performance Requirement
>
> =C2=B7            Separating configuration and state branches allows
> implementing state data through a separate fast channel to deliver high
> frequent and high volume data.
>
> =C2=B7            In this aspect, Option 2 has a clearer separation betwe=
en
> configuration and state data, and easier to achieve better performance by
> using separate channels.
> 1.2.Data Type Requirements
>
> =C2=B7            Duplicating all configuration attributes makes actual
> configuration settings available
>
> =C2=B7            Derived, negotiated, and system assigned data are added=
 to
> the state branch
>
> =C2=B7            Counters or statistics are added to the state branch
>
> =C2=B7            All three options satisfy these requirements
> 1.3.Operation Requirements
>
> =C2=B7            Separating configuration and operational state data all=
ows
> retrieving configuration and operational state data independently.
>
> =C2=B7            Separating derived state and statistics state allows
> retrieving them independently
>
> =C2=B7            The state branch is an exact mirror of the configuratio=
n
> branch, so the schema locations are consistent.
>
> =C2=B7            In this aspect, all three options satisfy the requireme=
nts.
> For option 1, to check the state value for a specific configuration
> attribute, the client software can simply add the =E2=80=9Cstate=E2=80=9D=
 to the end of the
> schema node path. For option 2, to check the state value for a specific
> configuration attribute, the client software can simply add the =E2=80=9C=
-state=E2=80=9D
> suffix to the name of the top container. Option 1 seems to be easiest in
> this regard, but others are acceptable?
> 1.4.Other Requirements
>
> =C2=B7             Model system created read-only objects (e.g. TE tunnel=
s).
> When state data and config data share the same parent, they share the sam=
e
> key for the parent list. Even though that the state branch is read-only,
> its parent is not and the key of the parent is not. Therefore, we will ha=
ve
> difficulty to achieve this in Option 1.
>
> =C2=B7             Compatible with the existing models. The related model=
s
> include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18. In this
> aspect, Option 2 seems to do better.
>
> Your comments and preferences are appreciated.
>
> Thanks,
>
>
>
> - Xufeng
>
>
>
>
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
>
>

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

<div dir=3D"ltr">Xufeng, thanks -- my responses below.<br><div class=3D"gma=
il_extra"><br><div class=3D"gmail_quote">On Wed, May 13, 2015 at 2:39 PM, X=
ufeng Liu <span dir=3D"ltr">&lt;<a href=3D"mailto:xufeng.liu@ericsson.com" =
target=3D"_blank">xufeng.liu@ericsson.com</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">





<div lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">Hi Anees,<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=C2=A0<u></u></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">Thanks for the replies. H=
ave a couple of comments below.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=C2=A0<u></u></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">Best,<u></u><u></u></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=C2=A0<u></u></spa=
n></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d">- Xufeng<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1f497d"><u></u>=C2=A0<u></u></spa=
n></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 #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;"> Anees Sh=
aikh [mailto:<a href=3D"mailto:aashaikh@google.com" target=3D"_blank">aasha=
ikh@google.com</a>]
<br>
<b>Sent:</b> Wednesday, May 13, 2015 3:52 AM<br>
<b>To:</b> Acee Lindem (acee)<br>
<b>Cc:</b> Xufeng Liu; <a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D=
"_blank">Rtg-yang-coord@ietf.org</a><br>
<b>Subject:</b> Re: [Rtg-yang-coord] Operational State Modeling<u></u><u></=
u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div><span>
<p class=3D"MsoNormal">Xufeng, thanks very much for taking the time to do t=
his systematic analysis -- much appreciated. =C2=A0 We&#39;ve also talked t=
o a subset of the MPLS/TE DT just today about opstate to reiterate the reas=
ons for the OpenConfig proposal.=C2=A0 I will just
 comment on your rationale section.<u></u><u></u></p>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">1.1 Performance requirements<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</span><div><span>
<p class=3D"MsoNormal">Implementations today already support the retrieval =
of operational state and configuration data together.=C2=A0 In fact, platfo=
rms that support NETCONF would need to handle both simultaneously in a &lt;=
get&gt; request.=C2=A0 The &lt;get-config&gt; request does
 not return opstate at all.=C2=A0 There is no option today for &lt;get-oper=
ational&gt; to retrieve only state (though our draft proposes, or more accu=
rately, re-proposes it).=C2=A0 The performance implications may be due to t=
he datastore design for the different types of data,
 but where the data lives in the *schema* should not have a major impact on=
 the performance to read it.=C2=A0 In other words, if you accept the requir=
ement that configuration needs to be part of state (which you seem to in th=
e beginning of the note),
<span style=3D"color:#1f497d"><u></u><u></u></span></p>
</span><p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-fa=
mily:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">[Xufeng] Eve=
n though the same config attributes appear in the state branch, they may no=
t be taken from the configuration database, but taken from internal
 memory so as to retrieve the applied or negotiated values. <u></u><u></u><=
/span></i></b></p><span>
<p class=3D"MsoNormal">then the location in the schema really shouldn&#39;t=
 matter.=C2=A0 It does matter for other reasons (see below).</p></span></di=
v></div></div></div></div></blockquote><div><br></div><div>I agree that con=
fig-related state values may come from some alternate data store but I&#39;=
m not sure this changes the main point, i.e., that which datastore the data=
 comes from is separable from where it lies in the schema.=C2=A0 And with N=
ETCONF, assuming you&#39;d want to support that model, there is already the=
 requirement to be able to return both configuration and state.</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><div style=3D"border:none;border-left:solid blue 1.=
5pt;padding:0in 0in 0in 4.0pt"><div><div><span><p class=3D"MsoNormal"><u></=
u><u></u></p>
</span></div><span>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">1.2 Data type requirements -- agree with your conclu=
sions<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">1.3 Operation requirements<u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div>
<p class=3D"MsoNormal">You mention, &quot;<i><span style=3D"font-size:9.5pt=
">For option 2, to check the state value for a specific configuration attri=
bute, the client software can simply add the =E2=80=9C-state=E2=80=9D suffi=
x to the name of the top container</span></i><span style=3D"font-size:9.5pt=
">&quot;</span><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</span><div><span>
<p class=3D"MsoNormal"><span style=3D"font-size:9.5pt">The question that th=
is doesn&#39;t answer is what is the top container?=C2=A0 It may be clear i=
n an individual model, but I don&#39;t manage a device using just routing, =
or just interfaces.=C2=A0 I want to compose a set of models
 into a coherent whole and be able to access config and corresponding state=
 in a consistent way.=C2=A0 When I compose the models, what I thought was t=
he &quot;top&quot; container is no longer top -- it shows up somewhere in t=
he middle, and my paths are now totally dependent
 on how modelers have decided to combine or separate their individual model=
s and modules.=C2=A0 From our perspective, option 2 doesn&#39;t meet this r=
equirement.=C2=A0 Rather than debate what the real top of a usable model is=
, we take the approach of pushing the separation
 to leaves of the tree, which works no matter how models are composed struc=
turally.<u></u><u></u></span></p>
</span><p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-fa=
mily:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">[Xufeng] I=
=E2=80=99d like to see an example of your composed structure. Currently YAN=
G does not allow you to mount a schema tree to another location. If it were
 allowed, the mounting process would be possible to process the split point=
 and relocate it to the top.</span></i></b></p></div></div></div></div></di=
v></blockquote><div><br></div><div>Have a look at draft-openconfig-netmod-m=
odel-structure -- that doc motivates the need for a composed model to repre=
sent an entire device, for example, and a couple of options for doing the c=
omposition.=C2=A0 We don&#39;t need to use mount points or anything special=
, just imports and/or augments.=C2=A0 Again, placing the config/state separ=
ation at the leaves of the tree avoids the need to relocate anything when c=
omposing models.</div><div><br></div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div la=
ng=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><div style=3D"border:none;=
border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt"><div><div><p class=
=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:#1f497d"><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"><span style=3D"font-size:9.5pt">1.4 Other requiremen=
ts</span><u></u><u></u></p>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
<div><span>
<p class=3D"MsoNormal"><span style=3D"font-size:9.5pt">Regarding system-cre=
ated tunnels, why is it necessary to consider them part of read-only state?=
=C2=A0 I can just as well consider them as configured, only they are config=
ured by some agent on the system -- they
 should in fact be configured using the same mechanism as a tunnel configur=
ed by an operator. =C2=A0 If they are not writable, *and you want to enforc=
e this in the model*, they could show up in only the state part of the tree=
 -- I agree this does raise the issue
 with list keys that you mention.=C2=A0 But list keys (and lists in general=
) are a bit broken in YANG 1.0/1.1 as we explain briefly in the draft.=C2=
=A0 We can discuss the issues with lists in a separate thread given more ti=
me.<u></u><u></u></span></p>
</span><p class=3D"MsoNormal"><b><i><span style=3D"font-size:11.0pt;font-fa=
mily:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1f497d">[Xufeng] I t=
hink that the proposed list key change is rather dramatic. Our model would =
better be based on the current YANG version. I=E2=80=99d not want to want
 to have a model base on a non-existing feature.</span></i></b></p></div></=
div></div></div></div></blockquote><div><br></div><div>Yes, agree that fixi=
ng YANG lists will take a while, but I would reiterate that distinguishing =
elements that are configured by users vs. configured by the system is a bit=
 artificial.=C2=A0 And I&#39;m not sure we want to be so prescriptive in mo=
dels so as to require system-configured items to be read-only.=C2=A0 Some i=
mplementations may allow a user to reconfigure them.=C2=A0 I would rather p=
erhaps add a leaf that indicates the source of the config.</div><div><br></=
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 lan=
g=3D"EN-US" link=3D"blue" vlink=3D"purple"><div><div style=3D"border:none;b=
order-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt"><div><div>
</div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div><div><div>
<div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<div>
<p class=3D"MsoNormal">On Tue, May 12, 2015 at 2:26 PM, Acee Lindem (acee) =
&lt;<a href=3D"mailto:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&=
gt; wrote:<u></u><u></u></p>
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black">Hi Xufeng,=C2=A0<u></u><u><=
/u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=C2=A0<u></u></span>=
</p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black">My interpretation of the Op=
enConfig draft is that it recommends option 1. Actually, option 3 seems lik=
e a variation of 1 with some superfluous levels.=C2=A0<u></u><u></u></span>=
</p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=C2=A0<u></u></span>=
</p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black">Thanks,<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black">Acee=C2=A0<u></u><u></u></s=
pan></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=C2=A0<u></u></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:11.0pt;font-family:&quot=
;Calibri&quot;,&quot;sans-serif&quot;;color:black">From:
</span></b><span style=3D"font-size:11.0pt;font-family:&quot;Calibri&quot;,=
&quot;sans-serif&quot;;color:black">Xufeng Liu &lt;<a href=3D"mailto:xufeng=
.liu@ericsson.com" target=3D"_blank">xufeng.liu@ericsson.com</a>&gt;<br>
<b>Date: </b>Tuesday, May 12, 2015 at 4:56 PM<br>
<b>To: </b>Routing YANG &lt;<a href=3D"mailto:rtg-yang-coord@ietf.org" targ=
et=3D"_blank">rtg-yang-coord@ietf.org</a>&gt;<br>
<b>Subject: </b>[Rtg-yang-coord] Operational State Modeling<u></u><u></u></=
span></p>
</div>
<div>
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=C2=A0<u></u></span>=
</p>
</div>
<blockquote style=3D"border:none;border-left:solid #b5c4df 4.5pt;padding:0i=
n 0in 0in 4.0pt;margin-left:3.75pt;margin-right:0in">
<div>
<div>
<div>
<p class=3D"MsoNormal"><span style=3D"color:black">During the YANG MPLS/TE =
design team discussions, the topic of operational state modeling was brough=
t up. We discussed the proposal presented in
<a href=3D"http://www.ietf.org/id/draft-openconfig-netmod-opstate-00.txt" t=
arget=3D"_blank">
<span style=3D"font-size:10.5pt">http://www.ietf.org/id/draft-openconfig-ne=
tmod-opstate-00.txt</span></a></span><span style=3D"font-size:10.5pt;color:=
black"> and some various approaches. Here are some thoughts and questions.<=
/span><span style=3D"color:black"><u></u><u></u></span></p>
<h2 style=3D"margin-left:.25in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.</span><span style=3D"font-size:7=
.0pt;color:black;font-weight:normal">=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot=
;;color:black">Requirements<u></u><u></u></span></h2>
<p class=3D"MsoNormal"><span style=3D"color:black">We agree with the requir=
ements presented in draft-openconfig-netmod-opstate. These requirements are=
 summarized as followings.<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.1.Performance Requirement<u></u><=
u></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Operational state access is much more frequ=
ent than configuration<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">State data is generally higher volume than =
configuration data<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.2.Data Type Requirements<u></u><u=
></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Representing intended configuration (actual=
 vs. configured)<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Derived, negotiated, and system assigned da=
ta<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Counters or statistics<u></u><u></u></span>=
</p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.3.Operation Requirements<u></u><u=
></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Separate configuration and operational stat=
e data<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Retrieve configuration and operational stat=
e data independently<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Retrieve derived state and statistics state=
 independently<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Consistent schema locations for configurati=
on and corresponding operational state data<u></u><u></u></span></p>
<h2 style=3D"margin-left:.25in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">2.</span><span style=3D"font-size:7=
.0pt;color:black;font-weight:normal">=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot=
;;color:black">Some Options<u></u><u></u></span></h2>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">2.1.Option 1<u></u><u></u></span></=
h2>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">/routing/routing-instance:<u></u><u></u></span>=
</p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 +--rw te!<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces=
<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw in=
terface* [interface]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--rw interface=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u>=
</u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw switching-capabilities* [switching-capabi=
lity]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></=
u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw capability?=C2=
=A0=C2=A0 identityref<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0|=C2=A0 +--rw encoding?=C2=A0=C2=A0=
=C2=A0=C2=A0 identityref<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
<b>+--ro state</b><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro ca=
pability?=C2=A0=C2=A0 identityref</span></b><span style=3D"font-size:10.5pt=
;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u=
><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro encoding=
?=C2=A0=C2=A0=C2=A0=C2=A0 identityref</span></b><span style=3D"font-size:10=
.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u=
></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:=
te-metric<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0
<b>+--ro state</b><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-typ=
es:te-metric</span></b><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:#0070c0">+--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span style=
=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;=
;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D=
"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;co=
lor:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+-=
-ro pkts-sent?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 yang:counter32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw tunne=
ls<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw tunnel* [name type]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 st=
ring<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 =C2=A0=C2=A0+--rw config<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0 +--rw admin-status?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u><=
/span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw forwarding<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></=
u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw loa=
d-share?=C2=A0=C2=A0 uint32<u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state</s=
pan></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro =
load-share?=C2=A0=C2=A0 uint32</span></b><span style=3D"font-size:10.5pt;fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u><u=
></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state</span></b><span style=3D"font-size:10.=
5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u>=
</u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro admin-status?=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref</s=
pan></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span=
 style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif=
&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D=
"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;co=
lor:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 yang:counter32</span><span style=3D"font-size:10.5pt;font-family:&quot;Cal=
ibri&quot;,&quot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">2.2.Option 2<u></u><u></u></span></=
h2>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">/routing/routing-instance:<u></u><u></u></span>=
</p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 +--rw te!<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces=
<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw in=
terface* [interface]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--rw interface=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u>=
</u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--rw switching-capabilities* [switching-capability]<u></u><u></u=
></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0 +--rw capability?=C2=A0=C2=A0 identityref<u></u><u></u></=
span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 |=C2=A0 +--rw encoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u=
><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--rw te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric<u></u><u=
></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnels<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw tunnel* [name type]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 st=
ring<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0+--rw admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw forwarding<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw load-share?=C2=A0=C2=A0 uint3=
2<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">/routing-state/routing-instance:<u></u><u></u><=
/span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 +--ro te!<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro globals<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro interfaces=
<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--ro in=
terface* [interface]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 =C2=A0=
=C2=A0=C2=A0+--ro interface=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u>=
</u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0 +--ro switching-capabilities* [switching-capability]</span></b=
><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans=
-serif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0 +--ro capability?=C2=A0=C2=A0 identityref</span></b><s=
pan style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-se=
rif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0 |=C2=A0 +--ro encoding?=C2=A0=C2=A0=C2=A0=C2=A0 identityref</s=
pan></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0 +--ro te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:te-metric</span=
></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;=
sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black=
"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D"font-size:10.5pt;=
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=
<u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro pkts-sent?=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counter32=
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnels<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--ro tunnel* [name type]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0st=
ring<u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro admin-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref</span></b><span style=3D"font-si=
ze:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:blac=
k"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro forwarding</span></b><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black=
"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro load-share?=C2=A0=C2=A0 ui=
nt32</span></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black=
"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D"font-size:10.5pt;=
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=
<u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0yang:counter32=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">2.3.Option 3<u></u><u></u></span></=
h2>
<p class=3D"MsoNormal"><span style=3D"color:black">=C2=A0<u></u><u></u></sp=
an></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">/routing/routing-instance:<u></u><u></u></span>=
</p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 +--rw te!<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw globals<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw interfaces=
<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw in=
terface* [interface]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--rw interface=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u>=
</u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 =C2=A0=C2=A0=C2=A0+--rw switching-capabilities* [switching-capabi=
lity]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></=
u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw capability?=C2=
=A0=C2=A0 identityref<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0|=C2=A0 +--rw encoding?=C2=A0=C2=A0=
=C2=A0=C2=A0 identityref<u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state</s=
pan></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro ca=
pability?=C2=A0=C2=A0 identityref</span></b><span style=3D"font-size:10.5pt=
;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u=
><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--ro encoding=
?=C2=A0=C2=A0=C2=A0=C2=A0 identityref</span></b><span style=3D"font-size:10=
.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u=
></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-types:=
te-metric<u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state</span></b><span style=3D"font-size:10.=
5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u>=
</u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro te-metric?=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ietf-te-typ=
es:te-metric</span></b><span style=3D"font-size:10.5pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw tunnels<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--rw tunnel* [name type]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 st=
ring<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=
=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0|=C2=A0 +--rw admin-status?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref<u></u><u></u><=
/span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw forwarding<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw config<u></=
u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw loa=
d-share?=C2=A0=C2=A0 uint32<u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro state</s=
pan></b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&qu=
ot;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro =
load-share?=C2=A0=C2=A0 uint32</span></b><span style=3D"font-size:10.5pt;fo=
nt-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u><u=
></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0
<b>+--ro state</b><u></u><u></u></span></p>
<p><b><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot=
;sans-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro admin-status?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 identityref</span></b><spa=
n style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-seri=
f&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">/routing-state/routing-instance:<u></u><u></u><=
/span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 +--ro te!<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro globals<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0+--ro interfaces=
<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--ro in=
terface* [interface]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=
=A0=C2=A0 +--ro interface=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if:interface-ref<u></u><u>=
</u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black=
"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D"font-size:10.5pt;=
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=
<u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro pkts-sent?=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counter32=
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro tunnels<u>=
</u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 +--ro tunnel* [name type]<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro name=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 st=
ring<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro oper-status?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enumeration</span><span style=3D"font-siz=
e:10.5pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black=
"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 +--ro counters</span><span style=3D"font-size:10.5pt;=
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black"><u></u>=
<u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:#0070c0">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--ro events?=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 yang:counter32
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black"><u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">=C2=A0<u></u><u></u></span></p>
<h2 style=3D"margin-left:.25in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">3.</span><span style=3D"font-size:7=
.0pt;color:black;font-weight:normal">=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-family:&quot;Calibri&quot;,&quot;sans-serif&quot=
;;color:black">Approach Rationales<u></u><u></u></span></h2>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.1.Performance Requirement<u></u><=
u></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Separating configuration and state branches=
 allows implementing state data through a separate fast channel to deliver =
high frequent and high volume data.<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">In this aspect, Option 2 has a clearer sepa=
ration between configuration and state data, and easier to achieve better p=
erformance by using separate channels.<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.2.Data Type Requirements<u></u><u=
></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Duplicating all configuration attributes ma=
kes actual configuration settings available<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Derived, negotiated, and system assigned da=
ta are added to the state branch<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Counters or statistics are added to the sta=
te branch<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">All three options satisfy these requirement=
s<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.3.Operation Requirements<u></u><u=
></u></span></h2>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Separating configuration and operational st=
ate data allows retrieving configuration and operational state data indepen=
dently.<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Separating derived state and statistics sta=
te allows retrieving them independently<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">The state branch is an exact mirror of the =
configuration branch, so the schema locations are consistent.
<u></u><u></u></span></p>
<p style=3D"margin-left:.85in"><span style=3D"font-size:10.5pt;font-family:=
&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span =
style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">In this aspect, all three options satisfy t=
he requirements. For option 1, to check the state value for a specific conf=
iguration attribute, the client software can simply add
 the =E2=80=9Cstate=E2=80=9D to the end of the schema node path. For option=
 2, to check the state value for a specific configuration attribute, the cl=
ient software can simply add the =E2=80=9C-state=E2=80=9D suffix to the nam=
e of the top container. Option 1 seems to be easiest in this regard,
 but others are acceptable?<u></u><u></u></span></p>
<h2 style=3D"margin-left:.55in"><span style=3D"font-family:&quot;Calibri&qu=
ot;,&quot;sans-serif&quot;;color:black">1.4.Other Requirements<u></u><u></u=
></span></h2>
<p style=3D"margin-left:63.0pt"><span style=3D"font-size:10.5pt;font-family=
:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span=
 style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Model system created read-only objects (e.g=
. TE tunnels). When state data and config data share the same parent, they =
share the same key for the parent list. Even though that
 the state branch is read-only, its parent is not and the key of the parent=
 is not. Therefore, we will have difficulty to achieve this in Option 1.<u>=
</u><u></u></span></p>
<p style=3D"margin-left:63.0pt"><span style=3D"font-size:10.5pt;font-family=
:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:black">=C2=B7</span><span=
 style=3D"font-size:7.0pt;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
</span><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quo=
t;sans-serif&quot;;color:black">Compatible with the existing models. The re=
lated models include RFC7223, RFC7277 and draft-ietf-netmod-routing-cfg-18.=
 In this aspect, Option 2 seems to do better.<u></u><u></u></span></p>
<p><span style=3D"font-size:10.5pt;font-family:&quot;Calibri&quot;,&quot;sa=
ns-serif&quot;;color:black">Your comments and preferences are appreciated.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:black">Thanks,<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"color:black">=C2=A0<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"color:black">- Xufeng<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span style=3D"color:black">=C2=A0<u></u><u></u></sp=
an></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><u></u><u><=
/u></p>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
</div>
</div></div></div>
</div>
</div>

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

--001a113ccf4aebe1ea0516136603--


From nobody Fri May 15 01:53:01 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 822B51B2F29 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 01:53:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 RDtk89-Jx-9b for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 01:52:58 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C7F51ABD3B for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 01:52:34 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 6D3E8150B; Fri, 15 May 2015 10:52:32 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id BHM3LyEkHwP3; Fri, 15 May 2015 10:52:31 +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 atlas3.jacobs-university.de (Postfix) with ESMTPS; Fri, 15 May 2015 10:52:31 +0200 (CEST)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 6EB062002C; Fri, 15 May 2015 10:52:31 +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 yB8KtWDMf8X9; Fri, 15 May 2015 10:52:30 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 877452002B; Fri, 15 May 2015 10:52:29 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id E37103333F44; Fri, 15 May 2015 10:52:28 +0200 (CEST)
Date: Fri, 15 May 2015 10:52:28 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Thomas D. Nadeau" <tnadeau@lucidvision.com>
Message-ID: <20150515085228.GA4024@elstar.local>
Mail-Followup-To: "Thomas D. Nadeau" <tnadeau@lucidvision.com>, Anees Shaikh <aashaikh@google.com>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem (acee)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/T-HE0PsdYKEVGhzq3bxGdTt-1CI>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Xufeng Liu <xufeng.liu@ericsson.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 08:53:00 -0000

On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
> 
> 	Speaking as an individual, while what Juergen says is true, that does not mean that existing models can never be refactored. 
>

Refactoring for the sake of 'it looks nicer' (for some definition of
nice) likely does not meet the bar. We are talking about APIs here
with multiple independent implementations and applications sitting on
top of these APIs.

/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 Fri May 15 06:35:33 2015
Return-Path: <chopps@chopps.org>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 033521A8991 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 06:35:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level: 
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 Y_JXz0fZxCam for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 06:35:29 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id C8B4C1A893B for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 06:34:12 -0700 (PDT)
Received: from dex.local.chopps.org (c-68-61-203-90.hsd1.mi.comcast.net [68.61.203.90]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id 62BA66003C; Fri, 15 May 2015 13:34:11 +0000 (UTC)
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local>
From: Christian Hopps <chopps@chopps.org>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
In-reply-to: <20150515085228.GA4024@elstar.local>
Date: Fri, 15 May 2015 09:34:10 -0400
Message-ID: <87h9revub1.fsf@chopps.org>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/eUSCqnlg8Tyhpjguf75I4WVNx0o>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Thomas D. Nadeau" <tnadeau@lucidvision.com>, Anees Shaikh <aashaikh@google.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 13:35:31 -0000

Juergen Schoenwaelder writes:

> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>> 
>> 	Speaking as an individual, while what Juergen says is true, that does not mean that existing models can never be refactored. 
>>
>
> Refactoring for the sake of 'it looks nicer' (for some definition of
> nice) likely does not meet the bar. We are talking about APIs here
> with multiple independent implementations and applications sitting on
> top of these APIs.


Isn't the idea to create a common standard way to access state and
config? If so I don't think that qualifies as "it looks nicer", rather
it allows for creating generic code one time that works on any model
including as yet unwritten ones vs. custom code for each model.

Thanks,
Chris.


>
> /js


From nobody Fri May 15 06:56:35 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 464B01A90A5 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 06:56:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.661
X-Spam-Level: 
X-Spam-Status: No, score=-0.661 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, T_RP_MATCHES_RCVD=-0.01] autolearn=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 PmeMW8n797Ie for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 06:56:32 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B6131A8F48 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 06:56:31 -0700 (PDT)
Received: from birdie.labs.nic.cz (unknown [195.113.220.110]) by mail.nic.cz (Postfix) with ESMTPSA id EC37B140AE0; Fri, 15 May 2015 15:56:28 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1431698189; bh=Nwzb/zZwVkrjwuOpw+uHP0Dkh0MS+q/4WbfaxjhYSEU=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=jm36THhPQ5KlXaBkCBpKZQa5S6Ttwubbf+etc/656DYgFFSX2Rm1syssR6cXs2Utr bvjNKet3ZMx/rMjPF08a5UYpfHPSnIQgbUoTx9zjeL5i0PL3aQbc8FP7W6NkEvvAfL 2R3/0Mspt4Fp+xchwooD/X8UMYNNt9dbqVnqHeic=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <87h9revub1.fsf@chopps.org>
Date: Fri, 15 May 2015 15:56:28 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <6E69983B-7B42-4F35-B46E-832E7576DBA9@nic.cz>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <87h9revub1.fsf@chopps.org>
To: Christian Hopps <chopps@chopps.org>
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/MZ6ooyygwAvVXw4ys3dA_ze36Gk>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Thomas Nadeau <tnadeau@lucidvision.com>, Anees Shaikh <aashaikh@google.com>, =?utf-8?Q?J=C3=BCrgen_Sch=C3=B6nw=C3=A4lder?= <j.schoenwaelder@jacobs-university.de>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 13:56:34 -0000

> On 15 May 2015, at 15:34, Christian Hopps <chopps@chopps.org> wrote:
>=20
>=20
> Juergen Schoenwaelder writes:
>=20
>> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>>=20
>>> 	Speaking as an individual, while what Juergen says is true, that =
does not mean that existing models can never be refactored.=20
>>>=20
>>=20
>> Refactoring for the sake of 'it looks nicer' (for some definition of
>> nice) likely does not meet the bar. We are talking about APIs here
>> with multiple independent implementations and applications sitting on
>> top of these APIs.
>=20
>=20
> Isn't the idea to create a common standard way to access state and
> config? If so I don't think that qualifies as "it looks nicer", rather
> it allows for creating generic code one time that works on any model
> including as yet unwritten ones vs. custom code for each model.

Well, the existing modules do propose a way to access state and config. =
It=E2=80=99s not perfect and perhaps some changes in YANG are needed as =
well in order to better support the interaction of config and state.

However, I agree with Juergen that the arguments presented so far in =
favour of leaf-level duplication aren=E2=80=99t very convincing.=20

Lada

>=20
> Thanks,
> Chris.
>=20
>=20
>>=20
>> /js
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord

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





From nobody Fri May 15 07:31:00 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AB90F1A8711 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 07:30:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 O99HukRd8Lli for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 07:30:56 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 023FA1A016C for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 07:30:56 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id C741614BF; Fri, 15 May 2015 16:30:54 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id q0KQzQFEG9Z6; Fri, 15 May 2015 16:30:53 +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 atlas3.jacobs-university.de (Postfix) with ESMTPS; Fri, 15 May 2015 16:30:54 +0200 (CEST)
Received: from localhost (demetrius2.jacobs-university.de [212.201.44.47]) by hermes.jacobs-university.de (Postfix) with ESMTP id 665E820039; Fri, 15 May 2015 16:30:53 +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 BKO2oBCQcde4; Fri, 15 May 2015 16:30:52 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id DA49520013; Fri, 15 May 2015 16:30:51 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id A559C33343D3; Fri, 15 May 2015 16:30:50 +0200 (CEST)
Date: Fri, 15 May 2015 16:30:50 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Christian Hopps <chopps@chopps.org>
Message-ID: <20150515143048.GB4853@elstar.local>
Mail-Followup-To: Christian Hopps <chopps@chopps.org>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Thomas D. Nadeau" <tnadeau@lucidvision.com>, Anees Shaikh <aashaikh@google.com>, "Acee Lindem (acee)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <87h9revub1.fsf@chopps.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <87h9revub1.fsf@chopps.org>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/xJKdmnX2naOgNDDXvlL8hExEIlM>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Thomas D. Nadeau" <tnadeau@lucidvision.com>, Xufeng Liu <xufeng.liu@ericsson.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 14:30:58 -0000

On Fri, May 15, 2015 at 09:34:10AM -0400, Christian Hopps wrote:
> 
> Juergen Schoenwaelder writes:
> 
> > On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
> >> 
> >> 	Speaking as an individual, while what Juergen says is true, that does not mean that existing models can never be refactored. 
> >>
> >
> > Refactoring for the sake of 'it looks nicer' (for some definition of
> > nice) likely does not meet the bar. We are talking about APIs here
> > with multiple independent implementations and applications sitting on
> > top of these APIs.
> 
> 
> Isn't the idea to create a common standard way to access state and
> config? If so I don't think that qualifies as "it looks nicer", rather
> it allows for creating generic code one time that works on any model
> including as yet unwritten ones vs. custom code for each model.
>

If someone things get-state is needed, write an I-D for it. This is
not a big deal since NETCONF operations are extensible. Note that this
is not refactoring and fine.

That said, it is fairly easy to find out where the state data is
rooted in a YANG data model. Writing a script to find the state
root(s) of a data model is not a big deal.

/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 Fri May 15 07:37:45 2015
Return-Path: <acee@cisco.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5F4C61A916C for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 07:37:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.511
X-Spam-Level: 
X-Spam-Status: No, score=-14.511 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 GMfpNy-nxs73 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 07:37:41 -0700 (PDT)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A24A21A90C1 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 07:37:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2640; q=dns/txt; s=iport; t=1431700661; x=1432910261; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=iuBO899J7Z7DpJTaKcI7KQl8fBAXY3GAOvYU32Pj63s=; b=TLFszQxWNguBfP5j8jeC7GGBWX5viK4dv3ZLQrzWJYSchq+KcOOjmBs2 4As7PGtfrvHW7YKVWplkGHTG/AxmOpVHZzp4OA95YANaAm6uqhh2czutM LRqKrspYev+0CMdtlLV2BcGStxMdidv2dtd7X8jfmye9QFQ1Dr5/CW+Ro g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BXBAAFBFZV/5NdJa1cgw9UXgaDGMFHCYFPCoV2AhyBHTgUAQEBAQEBAYEKhCIBAQEDAQEBASAROgsQAgEIGAICJgICAiULFRACBAENBYgkCA2yPqRDAQEBAQEBAQEBAQEBAQEBAQEBAQEBEwSBIYkXgQKEUjMHgmiBRQWSYYZzhACWfyODeG+BRYEBAQEB
X-IronPort-AV: E=Sophos;i="5.13,434,1427760000"; d="scan'208";a="150455365"
Received: from rcdn-core-11.cisco.com ([173.37.93.147]) by alln-iport-5.cisco.com with ESMTP; 15 May 2015 14:37:40 +0000
Received: from xhc-aln-x14.cisco.com (xhc-aln-x14.cisco.com [173.36.12.88]) by rcdn-core-11.cisco.com (8.14.5/8.14.5) with ESMTP id t4FEbeNE012419 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Fri, 15 May 2015 14:37:40 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.23]) by xhc-aln-x14.cisco.com ([173.36.12.88]) with mapi id 14.03.0195.001; Fri, 15 May 2015 09:37:40 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Ladislav Lhotka <lhotka@nic.cz>, Christian Hopps <chopps@chopps.org>
Thread-Topic: [Rtg-yang-coord] Operational State Modeling
Thread-Index: AQHQjPpRkKpDh+jYTPGkN01wChYhCZ18v+m7gAChmQCAAAY7AP//yICA
Date: Fri, 15 May 2015 14:37:40 +0000
Message-ID: <D17B7AFC.1DC55%acee@cisco.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <87h9revub1.fsf@chopps.org> <6E69983B-7B42-4F35-B46E-832E7576DBA9@nic.cz>
In-Reply-To: <6E69983B-7B42-4F35-B46E-832E7576DBA9@nic.cz>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.116.152.202]
Content-Type: text/plain; charset="utf-8"
Content-ID: <15A0894DDD70D64D894528D764B77196@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/BpubGwKS9K7Z_n24MG_NRQi5fQw>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Thomas Nadeau <tnadeau@lucidvision.com>, Xufeng Liu <xufeng.liu@ericsson.com>, =?utf-8?B?SsO8cmdlbiBTY2jDtm53w6RsZGVy?= <j.schoenwaelder@jacobs-university.de>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 14:37:44 -0000

DQoNCk9uIDUvMTUvMTUsIDk6NTYgQU0sICJMYWRpc2xhdiBMaG90a2EiIDxsaG90a2FAbmljLmN6
PiB3cm90ZToNCg0KPg0KPj4gT24gMTUgTWF5IDIwMTUsIGF0IDE1OjM0LCBDaHJpc3RpYW4gSG9w
cHMgPGNob3Bwc0BjaG9wcHMub3JnPiB3cm90ZToNCj4+IA0KPj4gDQo+PiBKdWVyZ2VuIFNjaG9l
bndhZWxkZXIgd3JpdGVzOg0KPj4gDQo+Pj4gT24gV2VkLCBNYXkgMTMsIDIwMTUgYXQgMDk6MTM6
MzdBTSAtMDQwMCwgVGhvbWFzIEQuIE5hZGVhdSB3cm90ZToNCj4+Pj4gDQo+Pj4+IAlTcGVha2lu
ZyBhcyBhbiBpbmRpdmlkdWFsLCB3aGlsZSB3aGF0IEp1ZXJnZW4gc2F5cyBpcyB0cnVlLCB0aGF0
DQo+Pj4+ZG9lcyBub3QgbWVhbiB0aGF0IGV4aXN0aW5nIG1vZGVscyBjYW4gbmV2ZXIgYmUgcmVm
YWN0b3JlZC4NCj4+Pj4gDQo+Pj4gDQo+Pj4gUmVmYWN0b3JpbmcgZm9yIHRoZSBzYWtlIG9mICdp
dCBsb29rcyBuaWNlcicgKGZvciBzb21lIGRlZmluaXRpb24gb2YNCj4+PiBuaWNlKSBsaWtlbHkg
ZG9lcyBub3QgbWVldCB0aGUgYmFyLiBXZSBhcmUgdGFsa2luZyBhYm91dCBBUElzIGhlcmUNCj4+
PiB3aXRoIG11bHRpcGxlIGluZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBhbmQgYXBwbGljYXRp
b25zIHNpdHRpbmcgb24NCj4+PiB0b3Agb2YgdGhlc2UgQVBJcy4NCj4+IA0KPj4gDQo+PiBJc24n
dCB0aGUgaWRlYSB0byBjcmVhdGUgYSBjb21tb24gc3RhbmRhcmQgd2F5IHRvIGFjY2VzcyBzdGF0
ZSBhbmQNCj4+IGNvbmZpZz8gSWYgc28gSSBkb24ndCB0aGluayB0aGF0IHF1YWxpZmllcyBhcyAi
aXQgbG9va3MgbmljZXIiLCByYXRoZXINCj4+IGl0IGFsbG93cyBmb3IgY3JlYXRpbmcgZ2VuZXJp
YyBjb2RlIG9uZSB0aW1lIHRoYXQgd29ya3Mgb24gYW55IG1vZGVsDQo+PiBpbmNsdWRpbmcgYXMg
eWV0IHVud3JpdHRlbiBvbmVzIHZzLiBjdXN0b20gY29kZSBmb3IgZWFjaCBtb2RlbC4NCj4NCj5X
ZWxsLCB0aGUgZXhpc3RpbmcgbW9kdWxlcyBkbyBwcm9wb3NlIGEgd2F5IHRvIGFjY2VzcyBzdGF0
ZSBhbmQgY29uZmlnLg0KPkl04oCZcyBub3QgcGVyZmVjdCBhbmQgcGVyaGFwcyBzb21lIGNoYW5n
ZXMgaW4gWUFORyBhcmUgbmVlZGVkIGFzIHdlbGwgaW4NCj5vcmRlciB0byBiZXR0ZXIgc3VwcG9y
dCB0aGUgaW50ZXJhY3Rpb24gb2YgY29uZmlnIGFuZCBzdGF0ZS4NCj4NCj5Ib3dldmVyLCBJIGFn
cmVlIHdpdGggSnVlcmdlbiB0aGF0IHRoZSBhcmd1bWVudHMgcHJlc2VudGVkIHNvIGZhciBpbg0K
PmZhdm91ciBvZiBsZWFmLWxldmVsIGR1cGxpY2F0aW9uIGFyZW7igJl0IHZlcnkgY29udmluY2lu
Zy4NCg0KSWYgeW91IGxvb2sgYXQgdGhlIGV4aXN0aW5nIElHUCBkcmFmdCBtb2RlbHMsIHRoZSBj
b25maWcgc3RhdGUgaXMgYWxzbw0KcHJlc2VudCBpbiB0aGUgb3BlcmF0aW9uYWwgc3RhdGUgc28g
dGhpcyBwcm9wb3NhbCBkb2VzbuKAmXQgcmVwcmVzZW50DQphZGRpdGlvbmFsIGxlYWYgbm9kZXMg
LSBqdXN0IGEgY2hhbmdlIHRvIHRoZSBvcmdhbml6YXRpb24gdG8gcGxhY2UgdGhlDQpjb25maWcg
YW5kIG9wZXJhdGlvbmFsIHN0YXRlIGFkamFjZW50IHRvIG9uZSBhbm90aGVyIGluIHRoZSB0cmVl
Lg0KDQoNCg0KDQo+IA0KPg0KPkxhZGENCj4NCj4+IA0KPj4gVGhhbmtzLA0KPj4gQ2hyaXMuDQo+
PiANCj4+IA0KPj4+IA0KPj4+IC9qcw0KPj4gDQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXw0KPj4gUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0DQo+
PiBSdGcteWFuZy1jb29yZEBpZXRmLm9yZw0KPj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9ydGcteWFuZy1jb29yZA0KPg0KPi0tDQo+TGFkaXNsYXYgTGhvdGthLCBDWi5O
SUMgTGFicw0KPlBHUCBLZXkgSUQ6IEU3NEU4QzBDDQo+DQo+DQo+DQo+DQoNCg==


From nobody Fri May 15 09:14:37 2015
Return-Path: <tnadeau@lucidvision.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B28A91A1B25 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:14:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level: 
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 1nMmcPldEBsE for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:14:35 -0700 (PDT)
Received: from lucidvision.com (lucidab1.miniserver.com [64.71.170.115]) (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 4FFE61A1B17 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 09:14:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lucidvision.com; s=default; t=1431706427; bh=9vmRrjEBRq0aH8q49F8rjmqtpQT4l9T7F+ogeC07SrM=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=eu3R1YSelT7KNEUc4T1SMAhDe2+IFUNmSVDW89+s04DOExZQ2tJTqBL9IAf1EJcQX IJZnuJl/BreFlMWWrbZCAP+c5eSSDNwP2GPxd62AnYy+HynZ9p8blc1l59ulXESqEx 9mLugRkVkztA9aUqOg/YubG7KJ1yKP7glBSS8FF4=
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=50.255.148.181; 
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Nadeau Thomas <tnadeau@lucidvision.com>
In-Reply-To: <20150515085228.GA4024@elstar.local>
Date: Fri, 15 May 2015 12:14:17 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
X-Mailer: Apple Mail (2.2098)
X-Authenticated-User: tnadeau@lucidvision.com 
X-Info: aspam skipped due to (g_smite_skip_relay)
X-MyRbl: Color=Yellow Age=0 Spam=0 Notspam=21 Stars=0 Good=0 Friend=0 Surbl=0 Catch=0 r=0 ip=50.255.148.181
X-IP-stats: Notspam Incoming Last 0, First 0, in=29, out=0, spam=0 Known=true ip=50.255.148.181
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/OU9bfSzguplOSb9-VV5oUqhsIEo>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Anees Shaikh <aashaikh@google.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 16:14:36 -0000

	I don=E2=80=99t think the open config guys are asking for =
refactoring for purely aesthetic reasons. These guys operate some of the =
world=E2=80=99s largest networks with tens of thousands of devices, so =
I=E2=80=99d hope that their asking to move things around is in order to =
make interacting with those things at that scale better.

	=E2=80=94Tom


> On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>=20
> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>=20
>> 	Speaking as an individual, while what Juergen says is true, that =
does not mean that existing models can never be refactored.=20
>>=20
>=20
> Refactoring for the sake of 'it looks nicer' (for some definition of
> nice) likely does not meet the bar. We are talking about APIs here
> with multiple independent implementations and applications sitting on
> top of these APIs.
>=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
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Fri May 15 09:28:49 2015
Return-Path: <andy@yumaworks.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4FA5B1A1B65 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:28:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.979
X-Spam-Level: 
X-Spam-Status: No, score=-1.979 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 6hfc1XHexSu0 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:28:45 -0700 (PDT)
Received: from mail-la0-f54.google.com (mail-la0-f54.google.com [209.85.215.54]) (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 718B51A1BC8 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 09:28:45 -0700 (PDT)
Received: by lagv1 with SMTP id v1so127425077lag.3 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 09:28:44 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=M/Ztv8ybH1RKglQ7TzrOjOr6aRhMEv/C7+G1NlFWeh8=; b=DQ/Ybm1lt0ISuaJ6XIgDbd1CVyZ/pF7Lj7cR8nKypOWD2PMc9Qb1uXnHBR4nNK11wU SJQGQOLkzOA7N8wxqnlG0dLYDYiBVqVAdjdp19IApweomdLyF9QBe4RfHfPAKc3U9s6V 6xbh3XsCJgobKX6ct+6Cn73hWxmI4PuwHDJfAW2AN40J+iO1k/28yCO/zQygAavz62F6 JEmMvaZx6361Rg84gzIoAu6hQNVsRqrRXZA6He4QCmQ/uEMUTrJpuQk6lcr1mjLz9RJG QKZ038D9F5rZ0FY8Me4UoWIgm6ApJTVtb3UXOWTDzmkzRGf4tomXs11AX/HCoqfGsXJ5 fVSQ==
X-Gm-Message-State: ALoCoQlKfnb2Gi9GekJ/xSLwgCeX4Z0R5gunH5qiZyTXXrhrjjrahzEBNI5L1bfnSJEmbNDrC/ES
MIME-Version: 1.0
X-Received: by 10.152.8.231 with SMTP id u7mr4252496laa.37.1431707323943; Fri, 15 May 2015 09:28:43 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Fri, 15 May 2015 09:28:43 -0700 (PDT)
In-Reply-To: <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com>
Date: Fri, 15 May 2015 09:28:43 -0700
Message-ID: <CABCOCHQYr=-MV=5Mwsj1puDYU24pEnpmF-EcdYb-w-dj0=qTVw@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Nadeau Thomas <tnadeau@lucidvision.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/fg2sN9M3drbpqPYvP4-5ERlJXNA>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 16:28:47 -0000

On Fri, May 15, 2015 at 9:14 AM, Nadeau Thomas <tnadeau@lucidvision.com> wr=
ote:
>
>         I don=E2=80=99t think the open config guys are asking for refacto=
ring for purely aesthetic reasons. These guys operate some of the world=E2=
=80=99s largest networks with tens of thousands of devices, so I=E2=80=99d =
hope that their asking to move things around is in order to make interactin=
g with those things at that scale better.
>


I think Juergen and I and others are pointing out that it
would be better to solve this problem by adding an
operation to NETCONF.  RESTCONF already has the
ability to retrieve just "content=3Dnonconfig".

Replicating config as operational state in all the data models
is not a good idea.  Using arbitrary NP containers called
"config" and "state" (instead of the YANG config-stmt)
is not a good idea.


>         =E2=80=94Tom

Andy

>
>
>> On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder <j.schoenwael=
der@jacobs-university.de> wrote:
>>
>> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>>
>>>      Speaking as an individual, while what Juergen says is true, that d=
oes not mean that existing models can never be refactored.
>>>
>>
>> Refactoring for the sake of 'it looks nicer' (for some definition of
>> nice) likely does not meet the bar. We are talking about APIs here
>> with multiple independent implementations and applications sitting on
>> top of these APIs.
>>
>> /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/>
>>
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Fri May 15 09:53:25 2015
Return-Path: <aldrin.ietf@gmail.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9E2921A7013 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:53:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 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, SPF_PASS=-0.001] autolearn=ham
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 KS_50COJ9HIj for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 09:53:22 -0700 (PDT)
Received: from mail-ie0-x230.google.com (mail-ie0-x230.google.com [IPv6:2607:f8b0:4001:c03::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 D55251A702B for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 09:53:20 -0700 (PDT)
Received: by ieczm2 with SMTP id zm2so47635852iec.1 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 09:53:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=odhSLaSY8e/IzjQgJWSe5r+8qybg/pQjkdwqETL7EYQ=; b=yEkyi+tr773QSi3Tn6ZTHdmpgeStYSJp82eSVxARRKnGtYF6ZcGIXMG8XoT+wIxKw7 TvCOTjk7Zvo8SpYnqxdKkLyQ3JugDkOUU5jHrNfW3tySDQyixx2tjeu84lrvjyT6dgFI 4lQXPkeDstp4I5A74Axc+ya8j9ZOLM59uhlVFFp7UtlRs/u+FeVxU9d97agyYcPVFrf7 XULiIczQkjK9dd7x72UptMKCenOe7TbXOZqV2IZVEE/3eHLQQgeOCp19cX/tIO2ptV19 YinB877LsKsEWkDPJNLp5GkPvQHvECxZJwGnxJ3HtXz5xzvqO0YBgcSVDPEZUTpzirKY D+VQ==
X-Received: by 10.50.6.37 with SMTP id x5mr7247580igx.45.1431708800240; Fri, 15 May 2015 09:53:20 -0700 (PDT)
Received: from dhcp-172-17-94-207.mtv.corp.google.com ([172.17.94.207]) by mx.google.com with ESMTPSA id fm3sm1513500igb.1.2015.05.15.09.53.18 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 15 May 2015 09:53:19 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_73D86574-35B0-462B-B485-8F0FE229CE16"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: aldrin ietf <aldrin.ietf@gmail.com>
In-Reply-To: <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com>
Date: Fri, 15 May 2015 09:53:17 -0700
Message-Id: <9F69B95B-0873-43F2-BED5-5C49DEB2AC70@gmail.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com>
To: Nadeau Thomas <tnadeau@lucidvision.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/454i_BlIFlnZtx8Vue-OxEN99iU>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 16:53:23 -0000

--Apple-Mail=_73D86574-35B0-462B-B485-8F0FE229CE16
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

It is totally misconstrued and wrong to think it is being done for the =
looks. It is clearly outlined in the draft on =
=E2=80=98why?'(<http://datatracker.ietf.org/doc/draft-openconfig-netmod-op=
state/?include_text=3D1 =
<http://datatracker.ietf.org/doc/draft-openconfig-netmod-opstate/?include_=
text=3D1>>.=20

We, the operator community, are requesting for a reason as outlined in =
the draft, to make it operationally efficient, when managing network =
@scale.

-sam
=20
> On May 15, 2015, at 9:14 AM, Nadeau Thomas <tnadeau@lucidvision.com> =
wrote:
>=20
>=20
> 	I don=E2=80=99t think the open config guys are asking for =
refactoring for purely aesthetic reasons. These guys operate some of the =
world=E2=80=99s largest networks with tens of thousands of devices, so =
I=E2=80=99d hope that their asking to move things around is in order to =
make interacting with those things at that scale better.
>=20
> 	=E2=80=94Tom
>=20
>=20
>> On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>>=20
>> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>>=20
>>> 	Speaking as an individual, while what Juergen says is true, that =
does not mean that existing models can never be refactored.=20
>>>=20
>>=20
>> Refactoring for the sake of 'it looks nicer' (for some definition of
>> nice) likely does not meet the bar. We are talking about APIs here
>> with multiple independent implementations and applications sitting on
>> top of these APIs.
>>=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
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


--Apple-Mail=_73D86574-35B0-462B-B485-8F0FE229CE16
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"">It is totally misconstrued and wrong to think it is being =
done for the looks. It is clearly outlined in the draft on =
=E2=80=98why?'(&lt;<a =
href=3D"http://datatracker.ietf.org/doc/draft-openconfig-netmod-opstate/?i=
nclude_text=3D1" =
class=3D"">http://datatracker.ietf.org/doc/draft-openconfig-netmod-opstate=
/?include_text=3D1</a>&gt;.&nbsp;<div class=3D""><br class=3D""></div><div=
 class=3D"">We, the operator community, are requesting for a reason as =
outlined in the draft, to make it operationally efficient, when managing =
network @scale.</div><div class=3D""><br class=3D""></div><div =
class=3D"">-sam</div><div class=3D"">&nbsp;</div><div =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
May 15, 2015, at 9:14 AM, Nadeau Thomas &lt;<a =
href=3D"mailto:tnadeau@lucidvision.com" =
class=3D"">tnadeau@lucidvision.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><br class=3D""><span =
class=3D"Apple-tab-span" style=3D"white-space:pre">	</span>I don=E2=80=
=99t think the open config guys are asking for refactoring for purely =
aesthetic reasons. These guys operate some of the world=E2=80=99s =
largest networks with tens of thousands of devices, so I=E2=80=99d hope =
that their asking to move things around is in order to make interacting =
with those things at that scale better.<br class=3D""><br class=3D""><span=
 class=3D"Apple-tab-span" style=3D"white-space:pre">	</span>=E2=80=94To=
m<br class=3D""><br class=3D""><br class=3D""><blockquote type=3D"cite" =
class=3D"">On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder =
&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" =
class=3D"">j.schoenwaelder@jacobs-university.de</a>&gt; wrote:<br =
class=3D""><br class=3D"">On Wed, May 13, 2015 at 09:13:37AM -0400, =
Thomas D. Nadeau wrote:<br class=3D""><blockquote type=3D"cite" =
class=3D""><br class=3D""><span class=3D"Apple-tab-span" =
style=3D"white-space:pre">	</span>Speaking as an individual, while =
what Juergen says is true, that does not mean that existing models can =
never be refactored. <br class=3D""><br class=3D""></blockquote><br =
class=3D"">Refactoring for the sake of 'it looks nicer' (for some =
definition of<br class=3D"">nice) likely does not meet the bar. We are =
talking about APIs here<br class=3D"">with multiple independent =
implementations and applications sitting on<br class=3D"">top of these =
APIs.<br class=3D""><br class=3D"">/js<br class=3D""><br class=3D"">-- =
<br class=3D"">Juergen Schoenwaelder =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jacobs =
University Bremen gGmbH<br class=3D"">Phone: +49 421 200 3587 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Campus Ring 1 | 28759 =
Bremen | Germany<br class=3D"">Fax: &nbsp;&nbsp;+49 421 200 3103 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a =
href=3D"http://www.jacobs-university.de/" =
class=3D"">http://www.jacobs-university.de/</a>&gt;<br class=3D""><br =
class=3D"">_______________________________________________<br =
class=3D"">Rtg-yang-coord mailing list<br class=3D""><a =
href=3D"mailto:Rtg-yang-coord@ietf.org" =
class=3D"">Rtg-yang-coord@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/rtg-yang-coord<br =
class=3D""></blockquote><br =
class=3D"">_______________________________________________<br =
class=3D"">Rtg-yang-coord mailing list<br class=3D""><a =
href=3D"mailto:Rtg-yang-coord@ietf.org" =
class=3D"">Rtg-yang-coord@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/rtg-yang-coord<br =
class=3D""></div></blockquote></div><br class=3D""></div></body></html>=

--Apple-Mail=_73D86574-35B0-462B-B485-8F0FE229CE16--


From nobody Fri May 15 10:10:47 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 232E41A8768 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 10:10:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 9VtREz6fOQOj for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 10:10:44 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5F3761A8728 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 10:10:44 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id F1DEA1254; Fri, 15 May 2015 19:10:42 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id EHvydZpdzH15; Fri, 15 May 2015 19:10:41 +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 atlas3.jacobs-university.de (Postfix) with ESMTPS; Fri, 15 May 2015 19:10:42 +0200 (CEST)
Received: from localhost (demetrius3.jacobs-university.de [212.201.44.48]) by hermes.jacobs-university.de (Postfix) with ESMTP id 282112002C; Fri, 15 May 2015 19:10:42 +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 L7WB3o3587Gy; Fri, 15 May 2015 19:10:41 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 3652B2002B; Fri, 15 May 2015 19:10:39 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 168C933345E8; Fri, 15 May 2015 19:10:37 +0200 (CEST)
Date: Fri, 15 May 2015 19:10:37 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: aldrin ietf <aldrin.ietf@gmail.com>
Message-ID: <20150515171037.GA5229@elstar.local>
Mail-Followup-To: aldrin ietf <aldrin.ietf@gmail.com>, Nadeau Thomas <tnadeau@lucidvision.com>, "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Anees Shaikh <aashaikh@google.com>, "Acee Lindem (acee)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com> <9F69B95B-0873-43F2-BED5-5C49DEB2AC70@gmail.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: <9F69B95B-0873-43F2-BED5-5C49DEB2AC70@gmail.com>
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/wmBVaCa3qz6NctHd6RRlmJN4txM>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Nadeau Thomas <tnadeau@lucidvision.com>, Xufeng Liu <xufeng.liu@ericsson.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 17:10:46 -0000

On Fri, May 15, 2015 at 09:53:17AM -0700, aldrin ietf wrote:
> It is totally misconstrued and wrong to think it is being done for the looks. It is clearly outlined in the draft on ‘why?'(<http://datatracker.ietf.org/doc/draft-openconfig-netmod-opstate/?include_text=1 <http://datatracker.ietf.org/doc/draft-openconfig-netmod-opstate/?include_text=1>>. 
> 
> We, the operator community, are requesting for a reason as outlined in the draft, to make it operationally efficient, when managing network @scale.
>

I read this I-D and I agree to some what it says. To some of what it
says I tend to disagree. My main concern is that trying to infer
semantics from structure is

- brittle, and

- it is for me more than unlikely that all YANG models will follow a
  common structure.

I also do not see anything wrong with the approach taken by RFC 7223
and on the other hand I do see problems with the example shown in
section 4 of the I-D (interface/name points to config and hence state
is bound to the lifetime of config, a limitation RFC 7223 does not
have - you can actually see unconfigured interfaces).

The bottom line is that I do not subscribe to all requirements stated
in the I-D and I do not subscribe to the solutions proposed. Nor have
I seen something that clearly tells me the structure we used in RFC
7223 is broken.

/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 Fri May 15 10:11:40 2015
Return-Path: <tnadeau@lucidvision.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 841001A8773 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 10:11:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level: 
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 xhpW7psOm9Ym for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 10:11:37 -0700 (PDT)
Received: from lucidvision.com (lucidab1.miniserver.com [64.71.170.115]) (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 E5D201A8768 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 10:11:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lucidvision.com; s=default; t=1431709849; bh=KoXzyiVVl/za8VfwKO+kP+zjabBKak8Pw654vYfpZkU=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=MFFGVv39fNQk/rPI6/WCT/nV0DhgtGtcAvXTHzRlPzRPROyVll//y0hJCzVeIIy8o dr01CygmYw9rHmNqpeL2aVxHd7TqFKvMvatKhJgcuWWTLWW/nezBbzljJyFLL2qTET 4ONJYA8JAr0//LYY2xUUADnX+Lqf9QPTWP2lF4i4=
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=50.255.148.181; 
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Nadeau Thomas <tnadeau@lucidvision.com>
In-Reply-To: <CABCOCHQYr=-MV=5Mwsj1puDYU24pEnpmF-EcdYb-w-dj0=qTVw@mail.gmail.com>
Date: Fri, 15 May 2015 13:11:22 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <C2C3C9E7-3D50-4866-A359-CA08CB23922E@lucidvision.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com> <CABCOCHQYr=-MV=5Mwsj1puDYU24pEnpmF-EcdYb-w-dj0=qTVw@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.2098)
X-Authenticated-User: tnadeau@lucidvision.com 
X-Info: aspam skipped due to (g_smite_skip_relay)
X-MyRbl: Color=Yellow Age=0 Spam=0 Notspam=23 Stars=0 Good=0 Friend=0 Surbl=0 Catch=0 r=0 ip=50.255.148.181
X-IP-stats: Notspam Incoming Last 0, First 0, in=31, out=0, spam=0 Known=true ip=50.255.148.181
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/MsdfQtCW8ty1SzIQgVJbbtNfsgE>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Anees Shaikh <aashaikh@google.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 17:11:39 -0000

> On May 15, 2015:12:28 PM, at 12:28 PM, Andy Bierman =
<andy@yumaworks.com> wrote:
>=20
> On Fri, May 15, 2015 at 9:14 AM, Nadeau Thomas =
<tnadeau@lucidvision.com> wrote:
>>=20
>>        I don=E2=80=99t think the open config guys are asking for =
refactoring for purely aesthetic reasons. These guys operate some of the =
world=E2=80=99s largest networks with tens of thousands of devices, so =
I=E2=80=99d hope that their asking to move things around is in order to =
make interacting with those things at that scale better.
>>=20
>=20
>=20
> I think Juergen and I and others are pointing out that it
> would be better to solve this problem by adding an
> operation to NETCONF.  RESTCONF already has the
> ability to retrieve just "content=3Dnonconfig=E2=80=9D.


	This is reasonable option/solution.  What do the open config =
folks think?

> Replicating config as operational state in all the data models
> is not a good idea.  Using arbitrary NP containers called
> "config" and "state" (instead of the YANG config-stmt)
> is not a good idea.

	I think you are saying that, but the others are clearly not, so =
we need to listen to their reasons before discounting them as less =
efficient. Remember that the operators are users not implementing these =
models so they need to understand if the boxes/servers they are using =
can do this and what the costs are. If after they weigh the relative =
costs, they feel the return on that investment in say RAM on those =
servers is ok, then we need to think carefully about why we would not =
want to support that.  Remember, even though you as a server/compiler =
vendor might think its not a great idea, they might be willing to pay =
the price for say memory, to store the operational state.

	=E2=80=94Tom



>=20
>=20
>>        =E2=80=94Tom
>=20
> Andy
>=20
>>=20
>>=20
>>> On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>>>=20
>>> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>>>=20
>>>>     Speaking as an individual, while what Juergen says is true, =
that does not mean that existing models can never be refactored.
>>>>=20
>>>=20
>>> Refactoring for the sake of 'it looks nicer' (for some definition of
>>> nice) likely does not meet the bar. We are talking about APIs here
>>> with multiple independent implementations and applications sitting =
on
>>> top of these APIs.
>>>=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
>>> _______________________________________________
>>> Rtg-yang-coord mailing list
>>> Rtg-yang-coord@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>=20
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Fri May 15 15:48:06 2015
Return-Path: <aldrin.ietf@gmail.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAEC31A89F9 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 15:48:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 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, SPF_PASS=-0.001] autolearn=ham
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 a8ZyqsSbg0tr for <rtg-yang-coord@ietfa.amsl.com>; Fri, 15 May 2015 15:48:02 -0700 (PDT)
Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::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 2787D1A89F6 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 15:48:02 -0700 (PDT)
Received: by igbpi8 with SMTP id pi8so50403531igb.0 for <Rtg-yang-coord@ietf.org>; Fri, 15 May 2015 15:48:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=viIchAeOYNn1ebWT0OVHJi1sY4YVy73YMVJaBPjGjAw=; b=EoF08h9mKwuSQOBzzdDMf836dhMm5M9+jtH3Pw0ri6s7KdI9hcDSP98iPmYA498mjq x33cuCynLfAoyXjS8In5L+XC2RpHcsypdHx7NTVupgjForDAwIbQGe3c8qEez/aNHDAx FphsV2c14WAex9KFZAV7YgfrdCIEnbtQBLi58iKxBDfmT7YhcuI5ts6YS7nzVwpKkzK0 zIaiydc7YoBC8vV2ZLxsrTvUIa2Xal50EX49i5OEYR1WTzle26Qlv4xRh+b0FJjZdfAk +tPVd8o3ZHFU23SYOhx/gAgPfkERjNp5kNfARz86SgNmDuldCBUa0y3YLVLOiTGeAHMx jqtw==
X-Received: by 10.107.150.14 with SMTP id y14mr13537502iod.55.1431730081551; Fri, 15 May 2015 15:48:01 -0700 (PDT)
Received: from ?IPv6:2620::1000:3202:8858:f013:bd64:d7c? ([2620:0:1000:3202:8858:f013:bd64:d7c]) by mx.google.com with ESMTPSA id rr5sm97697igb.7.2015.05.15.15.48.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 15 May 2015 15:48:00 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_29D62597-0140-4F36-9279-DBABFF227633"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: aldrin ietf <aldrin.ietf@gmail.com>
In-Reply-To: <C2C3C9E7-3D50-4866-A359-CA08CB23922E@lucidvision.com>
Date: Fri, 15 May 2015 15:47:58 -0700
Message-Id: <91F7EF33-5D5F-41B1-A397-9176A49056A6@gmail.com>
References: <D177E7E1.1AC4C%acee@cisco.com> <CAJK7ZqLp4_dOVMcSMXP3juZHHeQJ6iLGkryJ8t6gs2Mcn=Ez5Q@mail.gmail.com> <20150513103509.GA59689@elstar.local> <D481ED34-84C4-455D-8CE5-36D01A5264CC@lucidvision.com> <20150515085228.GA4024@elstar.local> <0EDEDDB6-40EA-47AF-AA5A-E7212445CCF8@lucidvision.com> <CABCOCHQYr=-MV=5Mwsj1puDYU24pEnpmF-EcdYb-w-dj0=qTVw@mail.gmail.com> <C2C3C9E7-3D50-4866-A359-CA08CB23922E@lucidvision.com>
To: Nadeau Thomas <tnadeau@lucidvision.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/4wbfl8EfifR4AJczSzSaqLSahBs>
Cc: "Rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Anees Shaikh <aashaikh@google.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>, "Acee Lindem \(acee\)" <acee@cisco.com>, Xufeng Liu <xufeng.liu@ericsson.com>
Subject: Re: [Rtg-yang-coord] Operational State Modeling
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 May 2015 22:48:04 -0000

--Apple-Mail=_29D62597-0140-4F36-9279-DBABFF227633
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> On May 15, 2015, at 10:11 AM, Nadeau Thomas <tnadeau@lucidvision.com> =
wrote:
>=20
>=20
>=20
>> On May 15, 2015:12:28 PM, at 12:28 PM, Andy Bierman =
<andy@yumaworks.com> wrote:
>>=20
>> On Fri, May 15, 2015 at 9:14 AM, Nadeau Thomas =
<tnadeau@lucidvision.com> wrote:
>>>=20
>>>       I don=E2=80=99t think the open config guys are asking for =
refactoring for purely aesthetic reasons. These guys operate some of the =
world=E2=80=99s largest networks with tens of thousands of devices, so =
I=E2=80=99d hope that their asking to move things around is in order to =
make interacting with those things at that scale better.
>>>=20
>>=20
>>=20
>> I think Juergen and I and others are pointing out that it
>> would be better to solve this problem by adding an
>> operation to NETCONF.  RESTCONF already has the
>> ability to retrieve just "content=3Dnonconfig=E2=80=9D.
>=20
>=20
> 	This is reasonable option/solution.  What do the open config =
folks think?
>=20
>> Replicating config as operational state in all the data models
>> is not a good idea.  Using arbitrary NP containers called
>> "config" and "state" (instead of the YANG config-stmt)
>> is not a good idea.
>=20
> 	I think you are saying that, but the others are clearly not, so =
we need to listen to their reasons before discounting them as less =
efficient. Remember that the operators are users not implementing these =
models so they need to understand if the boxes/servers they are using =
can do this and what the costs are. If after they weigh the relative =
costs, they feel the return on that investment in say RAM on those =
servers is ok, then we need to think carefully about why we would not =
want to support that.  Remember, even though you as a server/compiler =
vendor might think its not a great idea, they might be willing to pay =
the price for say memory, to store the operational state.
Tom,

We are in continual discussions with various vendors. If there exists, =
issues related to this, I am sure they will be brought forth by them for =
discussion with the community at large.=20

-sam

>=20
> 	=E2=80=94Tom
>=20
>=20
>=20
>>=20
>>=20
>>>       =E2=80=94Tom
>>=20
>> Andy
>>=20
>>>=20
>>>=20
>>>> On May 15, 2015:4:52 AM, at 4:52 AM, Juergen Schoenwaelder =
<j.schoenwaelder@jacobs-university.de> wrote:
>>>>=20
>>>> On Wed, May 13, 2015 at 09:13:37AM -0400, Thomas D. Nadeau wrote:
>>>>>=20
>>>>>    Speaking as an individual, while what Juergen says is true, =
that does not mean that existing models can never be refactored.
>>>>>=20
>>>>=20
>>>> Refactoring for the sake of 'it looks nicer' (for some definition =
of
>>>> nice) likely does not meet the bar. We are talking about APIs here
>>>> with multiple independent implementations and applications sitting =
on
>>>> top of these APIs.
>>>>=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
>>>> _______________________________________________
>>>> Rtg-yang-coord mailing list
>>>> Rtg-yang-coord@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>>=20
>>> _______________________________________________
>>> Rtg-yang-coord mailing list
>>> Rtg-yang-coord@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


--Apple-Mail=_29D62597-0140-4F36-9279-DBABFF227633
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""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div =
class=3D"">On May 15, 2015, at 10:11 AM, Nadeau Thomas &lt;<a =
href=3D"mailto:tnadeau@lucidvision.com" =
class=3D"">tnadeau@lucidvision.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><br style=3D"font-family:=
 Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><blockquote type=3D"cite" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D"">On May 15, 2015:12:28 =
PM, at 12:28 PM, Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" =
class=3D"">andy@yumaworks.com</a>&gt; wrote:<br class=3D""><br =
class=3D"">On Fri, May 15, 2015 at 9:14 AM, Nadeau Thomas &lt;<a =
href=3D"mailto:tnadeau@lucidvision.com" =
class=3D"">tnadeau@lucidvision.com</a>&gt; wrote:<br =
class=3D""><blockquote type=3D"cite" class=3D""><br =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I don=E2=80=99t think the =
open config guys are asking for refactoring for purely aesthetic =
reasons. These guys operate some of the world=E2=80=99s largest networks =
with tens of thousands of devices, so I=E2=80=99d hope that their asking =
to move things around is in order to make interacting with those things =
at that scale better.<br class=3D""><br class=3D""></blockquote><br =
class=3D""><br class=3D"">I think Juergen and I and others are pointing =
out that it<br class=3D"">would be better to solve this problem by =
adding an<br class=3D"">operation to NETCONF. &nbsp;RESTCONF already has =
the<br class=3D"">ability to retrieve just "content=3Dnonconfig=E2=80=9D.<=
br class=3D""></blockquote><br style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
normal; letter-spacing: normal; line-height: 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;" class=3D""><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: 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;" =
class=3D""><span class=3D"Apple-tab-span" style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: normal; =
orphans: auto; text-align: start; text-indent: 0px; text-transform: =
none; white-space: pre; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;">	</span><span style=3D"font-family:=
 Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline =
!important;" class=3D"">This is reasonable option/solution. &nbsp;What =
do the open config folks think?</span><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><blockquote type=3D"cite" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D"">Replicating config as =
operational state in all the data models<br class=3D"">is not a good =
idea. &nbsp;Using arbitrary NP containers called<br class=3D"">"config" =
and "state" (instead of the YANG config-stmt)<br class=3D"">is not a =
good idea.<br class=3D""></blockquote><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><span class=3D"Apple-tab-span"=
 style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: pre; widows: auto; word-spacing: 0px; =
-webkit-text-stroke-width: 0px;">	</span><span style=3D"font-family:=
 Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline =
!important;" class=3D"">I think you are saying that, but the others are =
clearly not, so we need to listen to their reasons before discounting =
them as less efficient. Remember that the operators are users not =
implementing these models so they need to understand if the =
boxes/servers they are using can do this and what the costs are. If =
after they weigh the relative costs, they feel the return on that =
investment in say RAM on those servers is ok, then we need to think =
carefully about why we would not want to support that. &nbsp;Remember, =
even though you as a server/compiler vendor might think its not a great =
idea, they might be willing to pay the price for say memory, to store =
the operational state.</span><br style=3D"font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
normal; letter-spacing: normal; line-height: 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;" class=3D""></div></blockquote>Tom,</div><div><br =
class=3D""></div><div>We are in continual discussions with various =
vendors. If there exists, issues related to this, I am sure they will be =
brought forth by them for discussion with the community at =
large.&nbsp;</div><div><br class=3D""></div><div>-sam</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><span =
class=3D"Apple-tab-span" style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: pre; widows: =
auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">	=
</span><span style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: 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; float: =
none; display: inline !important;" class=3D"">=E2=80=94Tom</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><br style=3D"font-family:=
 Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><blockquote type=3D"cite" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><br class=3D""><br =
class=3D""><blockquote type=3D"cite" =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=E2=80=94Tom<br =
class=3D""></blockquote><br class=3D"">Andy<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D""><br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D"">On May 15, 2015:4:52 AM, =
at 4:52 AM, Juergen Schoenwaelder &lt;<a =
href=3D"mailto:j.schoenwaelder@jacobs-university.de" =
class=3D"">j.schoenwaelder@jacobs-university.de</a>&gt; wrote:<br =
class=3D""><br class=3D"">On Wed, May 13, 2015 at 09:13:37AM -0400, =
Thomas D. Nadeau wrote:<br class=3D""><blockquote type=3D"cite" =
class=3D""><br class=3D"">&nbsp;&nbsp;&nbsp;Speaking as an individual, =
while what Juergen says is true, that does not mean that existing models =
can never be refactored.<br class=3D""><br class=3D""></blockquote><br =
class=3D"">Refactoring for the sake of 'it looks nicer' (for some =
definition of<br class=3D"">nice) likely does not meet the bar. We are =
talking about APIs here<br class=3D"">with multiple independent =
implementations and applications sitting on<br class=3D"">top of these =
APIs.<br class=3D""><br class=3D"">/js<br class=3D""><br class=3D"">--<br =
class=3D"">Juergen Schoenwaelder =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jacobs =
University Bremen gGmbH<br class=3D"">Phone: +49 421 200 3587 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Campus Ring 1 | 28759 =
Bremen | Germany<br class=3D"">Fax: &nbsp;&nbsp;+49 421 200 3103 =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;<a =
href=3D"http://www.jacobs-university.de/" =
class=3D"">http://www.jacobs-university.de/</a>&gt;<br class=3D""><br =
class=3D"">_______________________________________________<br =
class=3D"">Rtg-yang-coord mailing list<br class=3D""><a =
href=3D"mailto:Rtg-yang-coord@ietf.org" =
class=3D"">Rtg-yang-coord@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/rtg-yang-coord<br =
class=3D""></blockquote><br =
class=3D"">_______________________________________________<br =
class=3D"">Rtg-yang-coord mailing list<br class=3D""><a =
href=3D"mailto:Rtg-yang-coord@ietf.org" =
class=3D"">Rtg-yang-coord@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/rtg-yang-coord<br =
class=3D""></blockquote></blockquote><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><span style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline =
!important;" =
class=3D"">_______________________________________________</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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; float: none; display: inline =
!important;" class=3D"">Rtg-yang-coord mailing list</span><br =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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;" class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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; float: none; display: inline =
!important;" class=3D""><a href=3D"mailto:Rtg-yang-coord@ietf.org" =
class=3D"">Rtg-yang-coord@ietf.org</a></span><br style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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;" class=3D""><span style=3D"font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant: normal; =
font-weight: normal; letter-spacing: normal; line-height: 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; float: none; display: inline =
!important;" class=3D""><a =
href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" =
class=3D"">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a></span>=
</div></blockquote></div><br class=3D""></body></html>=

--Apple-Mail=_29D62597-0140-4F36-9279-DBABFF227633--


From nobody Wed May 27 05:25:08 2015
Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5AF5D1ACEED for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 05:25:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.86
X-Spam-Level: 
X-Spam-Status: No, score=-3.86 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 zjVN1RPulK2l for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 05:25:03 -0700 (PDT)
Received: from atlas3.jacobs-university.de (atlas3.jacobs-university.de [212.201.44.18]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4D4681ACEEC for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 05:25:03 -0700 (PDT)
Received: from localhost (demetrius5.irc-it.jacobs-university.de [10.70.0.222]) by atlas3.jacobs-university.de (Postfix) with ESMTP id 1F98DF71 for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 14:25:02 +0200 (CEST)
X-Virus-Scanned: amavisd-new at jacobs-university.de
Received: from atlas3.jacobs-university.de ([10.70.0.220]) by localhost (demetrius5.jacobs-university.de [10.70.0.222]) (amavisd-new, port 10030) with ESMTP id kdFT-aQWUjMZ for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 14:24:54 +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 atlas3.jacobs-university.de (Postfix) with ESMTPS for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 14:25:01 +0200 (CEST)
Received: from localhost (demetrius1.jacobs-university.de [212.201.44.46]) by hermes.jacobs-university.de (Postfix) with ESMTP id 489892002B for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 14:25:01 +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 rgMEBDeg30aN; Wed, 27 May 2015 14:25:00 +0200 (CEST)
Received: from elstar.local (elstar.jacobs.jacobs-university.de [10.50.231.133]) by hermes.jacobs-university.de (Postfix) with ESMTP id 2C2FA20013; Wed, 27 May 2015 14:25:00 +0200 (CEST)
Received: by elstar.local (Postfix, from userid 501) id 312FF33A6EE4; Wed, 27 May 2015 14:24:57 +0200 (CEST)
Date: Wed, 27 May 2015 14:24:56 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Rtg-yang-coord@ietf.org
Message-ID: <20150527122452.GC41087@elstar.local>
Mail-Followup-To: Rtg-yang-coord@ietf.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.4.2.3i
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/XcMQUNrWJMoiRgLd1_WaL-GgyIQ>
Subject: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 May 2015 12:25:05 -0000

Hi,

I have read the document and I have a small comment.

- You define a list 'prefix' in the list 'prefix-set' which is keyed
  by three leafs. As a result, all three leafs are mandatory. Your XML
  instance snipped in section 10 does not validate because it is
  missing mandatory key elements. I wonder (a) why did you not use
  inet:ip-prefix instead of the pair inet:ip-address and a unit8
  masklength. And given the desire to represent a prefix range, would
  a special syntax not make sense, e.g. an extension of ip-prefix,
  lets call it ip-prefix-range, that allows to express a range of
  prefixes:

  10.3.192.0/21-24 -> 10.3.192.0/21
  		      10.3.192.0/22
		      10.3.192.0/23
		      10.3.192.0/24

  If the '-24' part is made optional, your prefix list will be
  collapsed to a simple

  list prefix {
      key prefix-range;

      leaf prefix-range {
          type ip-prefix-range;
      }
  }

  Such an ip-prefix-range type may even be a useful addition to
  ietf-inet-types.

- The XML snippets are nice but it would be cool if they were using
  proper namespaces and validate against the data model. Perhaps
  something to consider for -01. The pyang tutorial provides examples
  how to validate XML snippets against YANG definitions.

/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 27 09:09:41 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A76311A1ABC for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:09:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level: 
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 qvxLtY_vs3SV for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:09:38 -0700 (PDT)
Received: from mail-ob0-x236.google.com (mail-ob0-x236.google.com [IPv6:2607:f8b0:4003:c01::236]) (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 991841A03A1 for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 09:09:38 -0700 (PDT)
Received: by obbea2 with SMTP id ea2so11264660obb.3 for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 09:09:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=lQxKzkgSHuAEo/W4s34BlmyxS2rpR3TpLk1jEg5jaTs=; b=oVUq3o3XyQK8LV/Q9KItixPOT0dkm2KPIOoZWbBVHQTZPLUg17m+KWH/eXkgHVK5U9 +uU8CtMc+bDgtPf5zOeqTQIHRx0ehXtyaLthhaFLaupSm/Q1InqM6TgMY81zRjMeW8Xq h1WZvmnNz6QBVMbS60Lu/a3KobahcpVXJKu6jvvPTQPUDuyPOsmbJ39pae99kDMw3PyX Lhf5jF2N+9rNfqeDQArFYP+qylkUcFbYyGaIod9m1a+EluVYVneAQdEULMeywJpttVf9 vqFl1BwSlF2JkEnFjExqVnxs48iMxvNdGAxi4Dv6OWX01pfIJ3yKgI1BsrJfwOJ3FXe9 svFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:content-type; bh=lQxKzkgSHuAEo/W4s34BlmyxS2rpR3TpLk1jEg5jaTs=; b=ITJUoTsSm92RwXCbj+tHv6w/XxVfE7J3DthqzrwX2ja0/dqjj0sTBfi04Aa4xLNsCH Pa2KsBI2fwYqzDMZNwHeJH43jOii30/h3fh7+siXlVDVpZrmqCgr57Y8jHpW7Z48lblx k6prTWWcgFEBslHkvuADJSq0Pwq7H23IfEfZ7TpHI8u9mquMZ0RF47Lc5FeMKzHzo91R BBlILG01UQC/uI38uJ1UMLzjk2E3d3X9lLUu8GKKnuxLIPJzwejOSIOoJHsltbckIoXz SIrNP5oWY1hf+GbQhqqm1nONLqEybnvYUqCoJNBSnvc+NNstrqRpymRk4tostGrvS73g E7Ew==
X-Gm-Message-State: ALoCoQlYwOOgNLG7SIMuna2jNKiAjITW6YRnQ4JkkXfOISL7fh9Qb9qx3trL0Nu5RtYdlOR2mA+u
MIME-Version: 1.0
X-Received: by 10.182.246.197 with SMTP id xy5mr26151106obc.51.1432742977927;  Wed, 27 May 2015 09:09:37 -0700 (PDT)
Received: by 10.182.144.228 with HTTP; Wed, 27 May 2015 09:09:37 -0700 (PDT)
In-Reply-To: <20150527122452.GC41087@elstar.local>
References: <20150527122452.GC41087@elstar.local>
Date: Wed, 27 May 2015 09:09:37 -0700
Message-ID: <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com>
From: Anees Shaikh <aashaikh@google.com>
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>,  "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Content-Type: multipart/alternative; boundary=001a11c1bcc64126ca05171278f0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/dbyPpr1268WGF-ck_n5QqXAVFDQ>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 May 2015 16:09:40 -0000

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

Juergen, you're right that prefix-lists in the model turned out to be a bit
problematic as currently defined.  We've updated the model in the most
recent revision after going through some translations of our configs to the
OpenConfig model and running into some issues.  The updated version looks
more like the following:

list prefix {
          key "address masklength masklength-range";

          leaf address {
            type inet:ip-address;
          }

          leaf masklength {
            type uint8;
          }

          leaf masklength-range {
            type string {
              pattern '^([0-9]+\.\.[0-9]+)|exact$';
            }
         }
}

The model used address and a separate masklength so that range checking
could be performed on the mask.   We've since removed the range-checking in
favor of simplifying to keep a single prefix list for both address types,
ipv4 and ipv6.

The original model had the problem you mention, which is that all keys must
be mandatory, including masklength-range, which meant there was no simple
way to express an exact prefix other than, e.g., 21..21 which we didn't
think was desirable.  Changing the masklength-range to a string allows a
more flexible pattern (including an 'exact' setting).  The masklength-range
is included in the keys to make the list have unique members.

I think we could also consider your suggestion to use a inet:ip-prefix
instead of address since we're not doing range-checking on the masklength
in the current approach -- will discuss with the co-authors.

Agree with your suggestion to make the XML examples more conformant (they
should certainly validate), though we've only been using ad-hoc namespaces
for models that are not IETF WG models so far.  My understanding is that
this is the recommended practice.

thanks.
-- Anees


On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder <
j.schoenwaelder@jacobs-university.de> wrote:

> Hi,
>
> I have read the document and I have a small comment.
>
> - You define a list 'prefix' in the list 'prefix-set' which is keyed
>   by three leafs. As a result, all three leafs are mandatory. Your XML
>   instance snipped in section 10 does not validate because it is
>   missing mandatory key elements. I wonder (a) why did you not use
>   inet:ip-prefix instead of the pair inet:ip-address and a unit8
>   masklength. And given the desire to represent a prefix range, would
>   a special syntax not make sense, e.g. an extension of ip-prefix,
>   lets call it ip-prefix-range, that allows to express a range of
>   prefixes:
>
>   10.3.192.0/21-24 -> 10.3.192.0/21
>                       10.3.192.0/22
>                       10.3.192.0/23
>                       10.3.192.0/24
>
>   If the '-24' part is made optional, your prefix list will be
>   collapsed to a simple
>
>   list prefix {
>       key prefix-range;
>
>       leaf prefix-range {
>           type ip-prefix-range;
>       }
>   }
>
>   Such an ip-prefix-range type may even be a useful addition to
>   ietf-inet-types.
>
> - The XML snippets are nice but it would be cool if they were using
>   proper namespaces and validate against the data model. Perhaps
>   something to consider for -01. The pyang tutorial provides examples
>   how to validate XML snippets against YANG definitions.
>
> /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/>
>
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>

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

<div dir=3D"ltr">Juergen, you&#39;re right that prefix-lists in the model t=
urned out to be a bit problematic as currently defined.=C2=A0 We&#39;ve upd=
ated the model in the most recent revision after going through some transla=
tions of our configs to the OpenConfig model and running into some issues.=
=C2=A0 The updated version looks more like the following:<div><br></div><di=
v><div>list prefix {</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 key &quot=
;address masklength masklength-range&quot;;</div><div><br></div><div>=C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf address {</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 type inet:ip-address;</div><div>=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 }</div><div><br></div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 leaf masklength {</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type=
 uint8;</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div><div><br></div>=
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf masklength-range {</div><div>=
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type string {</div><div>=C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 pattern &#39;^([0-9]+\.\.[0-9]+)|=
exact$&#39;;</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div><di=
v>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}</div><div>}</div><div><br></div><div>=
The model used address and a separate masklength so that range checking cou=
ld be performed on the mask. =C2=A0 We&#39;ve since removed the range-check=
ing in favor of simplifying to keep a single prefix list for both address t=
ypes, ipv4 and ipv6.</div><div><br></div><div>The original model had the pr=
oblem you mention, which is that all keys must be mandatory, including mask=
length-range, which meant there was no simple way to express an exact prefi=
x other than, e.g., 21..21 which we didn&#39;t think was desirable.=C2=A0 C=
hanging the masklength-range to a string allows a more flexible pattern (in=
cluding an &#39;exact&#39; setting).=C2=A0 The masklength-range is included=
 in the keys to make the list have unique members.=C2=A0</div><div><br></di=
v><div>I think we could also consider your suggestion to use a inet:ip-pref=
ix instead of address since we&#39;re not doing range-checking on the maskl=
ength in the current approach -- will discuss with the co-authors.</div><di=
v><br></div><div>Agree with your suggestion to make the XML examples more c=
onformant (they should certainly validate), though we&#39;ve only been usin=
g ad-hoc namespaces for models that are not IETF WG models so far.=C2=A0 My=
 understanding is that this is the recommended practice.</div><div><br></di=
v><div>thanks.</div><div>-- Anees</div><div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0=C2=A0<br></div></div></div><div class=3D"gmail_extra"><br><div c=
lass=3D"gmail_quote">On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.=
de" target=3D"_blank">j.schoenwaelder@jacobs-university.de</a>&gt;</span> w=
rote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I have read the document and I have a small comment.<br>
<br>
- You define a list &#39;prefix&#39; in the list &#39;prefix-set&#39; which=
 is keyed<br>
=C2=A0 by three leafs. As a result, all three leafs are mandatory. Your XML=
<br>
=C2=A0 instance snipped in section 10 does not validate because it is<br>
=C2=A0 missing mandatory key elements. I wonder (a) why did you not use<br>
=C2=A0 inet:ip-prefix instead of the pair inet:ip-address and a unit8<br>
=C2=A0 masklength. And given the desire to represent a prefix range, would<=
br>
=C2=A0 a special syntax not make sense, e.g. an extension of ip-prefix,<br>
=C2=A0 lets call it ip-prefix-range, that allows to express a range of<br>
=C2=A0 prefixes:<br>
<br>
=C2=A0 <a href=3D"http://10.3.192.0/21-24" target=3D"_blank">10.3.192.0/21-=
24</a> -&gt; <a href=3D"http://10.3.192.0/21" target=3D"_blank">10.3.192.0/=
21</a><br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/22" target=3D"_blank">10.3.192.0/22</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/23" target=3D"_blank">10.3.192.0/23</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/24" target=3D"_blank">10.3.192.0/24</a><br=
>
<br>
=C2=A0 If the &#39;-24&#39; part is made optional, your prefix list will be=
<br>
=C2=A0 collapsed to a simple<br>
<br>
=C2=A0 list prefix {<br>
=C2=A0 =C2=A0 =C2=A0 key prefix-range;<br>
<br>
=C2=A0 =C2=A0 =C2=A0 leaf prefix-range {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type ip-prefix-range;<br>
=C2=A0 =C2=A0 =C2=A0 }<br>
=C2=A0 }<br>
<br>
=C2=A0 Such an ip-prefix-range type may even be a useful addition to<br>
=C2=A0 ietf-inet-types.<br>
<br>
- The XML snippets are nice but it would be cool if they were using<br>
=C2=A0 proper namespaces and validate against the data model. Perhaps<br>
=C2=A0 something to consider for -01. The pyang tutorial provides examples<=
br>
=C2=A0 how to validate XML snippets against YANG definitions.<br>
<span class=3D"HOEnZb"><font color=3D"#888888"><br>
/js<br>
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: <a href=3D"tel:%2B49%20421%20200%203587" value=3D"+494212003587">+49=
 421 200 3587</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28759 Br=
emen | Germany<br>
Fax:=C2=A0 =C2=A0<a href=3D"tel:%2B49%20421%20200%203103" value=3D"+4942120=
03103">+49 421 200 3103</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a href=3D=
"http://www.jacobs-university.de/" target=3D"_blank">http://www.jacobs-univ=
ersity.de/</a>&gt;<br>
<br>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org">Rtg-yang-coord@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</font></span></blockquote></div><br></div>

--001a11c1bcc64126ca05171278f0--


From nobody Wed May 27 09:47:20 2015
Return-Path: <acee@cisco.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CBD2E1A86F6 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:47:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level: 
X-Spam-Status: No, score=-14.51 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 7WAVdaHT2owV for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:47:16 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 25CFC1A86EA for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 09:47:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=18853; q=dns/txt; s=iport; t=1432745236; x=1433954836; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=tZhbhcOMz9sUt0muhFLSw4YYdbhoUjWDaJAcvSd19+M=; b=j2KVrfjESPMy8YOI/THUzXVIOcGjMiugkHKX2o9ezrWkIx/qY4yg88tU ZCtob8gVWDQIT0JieQ64ONVKMj9+CImplf+KwTKvmlQabnEb4HBKsj+AG Y7ybgBaJK+8PL5MGQhDDrEXSWeKdt086XroHhUJcXrw0ytK00dPqkfs+Q g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BoBADc9GVV/49dJa1ZA4JFS1ReBoMZsAOOFyoJgU8BCYV3AhyBIjgUAQEBAQEBAYEKhCIBAQEEAQEBIAQlIhkCAgEIDgIBAgEBAigDAgICGQoCCxQJCAIEARKIKAUNrUaFap48AQEBAQEBAQEBAQEBAQEBAQEBAQEBFwSLNoQtPQoBDAsRgleBRQWQTII8hDWGWoEphnCIHIMhg1kjggocgVJvAYEDAR4HHIEBAQEB
X-IronPort-AV: E=Sophos;i="5.13,506,1427760000"; d="scan'208,217";a="2237120"
Received: from rcdn-core-7.cisco.com ([173.37.93.143]) by rcdn-iport-3.cisco.com with ESMTP; 27 May 2015 16:47:02 +0000
Received: from xhc-aln-x11.cisco.com (xhc-aln-x11.cisco.com [173.36.12.85]) by rcdn-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id t4RGl2O7012525 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 27 May 2015 16:47:02 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.97]) by xhc-aln-x11.cisco.com ([173.36.12.85]) with mapi id 14.03.0195.001; Wed, 27 May 2015 11:47:02 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Anees Shaikh <aashaikh@google.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Thread-Topic: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Thread-Index: AQHQmJeOz/AOLj/BaE+NpkVfLOeIoJ2QGTMA
Date: Wed, 27 May 2015 16:47:01 +0000
Message-ID: <D18B6A36.1F437%acee@cisco.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com>
In-Reply-To: <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.116.152.202]
Content-Type: multipart/alternative; boundary="_000_D18B6A361F437aceeciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/MxfC75a17PnxxMWPGx64hPJU8Zk>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 May 2015 16:47:19 -0000

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

SGkgQW5lZXMsDQpJIGhhZCBub3RlZCBwcm9ibGVtcyB3aXRoIHRoZSBwcmVmaXgtbGlzdHMgaW4g
dGhlIGRyYWZ0IGFzIHdlbGwgYnV0IGhhZG7igJl0IGdvdCBhcm91bmQgdG8gcmFpc2luZyB0aGVt
LiBPbmUgdGhpbmcgYWJvdXQgdGhlIG1hc2tsZW5ndGggYW5kIG1hc2tsZW5ndGgtcmFuZ2UgaXMg
dGhhdCB0aGVyZSBpcyBubyB2YWxpZGF0aW9uIGluIHRoZSBtb2RlbCBzbmlwcGV0IGJlbG93LiBJ
biBvdGhlciB3b3JkcywgdGhlcmUgaXMgbm90aGluZyB0byBleHByZXNzIHRoYXQgdGhlIG1hc2ts
ZW5ndGggbXVzdCBiZXR3ZWVuIDAuLjMyIGZvciBJUHY0IGFkZHJlc3NlcyBhbmQgMC4uMTI4IGZv
ciBJUHY2IGFkZHJlc3NlcyAgKHRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIGlwLXByZWZpeCB0eXBl
IGZyb20gUkZDIDY5OTEpLiBTaW1pbGFybHksIGFzIGEgc3RyaW5nIHRoZXJlIGluIG5vIGluaGVy
ZW50IHZhbGlkYXRpb24gb2YgdGhlIG1hc2tsZW5ndGgtcmFuZ2UgKGUuZy4sIGJvdGggdmFsdWVz
IG11c3QgYmUgPj0gbWFza2xlbmd0aCwgc2Vjb25kIHZhbHVlIG11c3QgYmUgPj0gZmlyc3QtdmFs
dWUsIGFuZCBib3RoIHZhbHVlcyBtdXN0IGJlID49IEFGIHNwZWNpZmljIGxpbWl0KS4gQWxzbywg
dGhlcmUgaXMgbm90aGluZyB0byBwcmV2ZW50IG9uZSBmcm9tIG1peGluZyBJUHY0IGFuZCBJUHY2
IHByZWZpeGVzIGluIHRoZSBzYW1lIGxlbmd0aCB3aGljaCBpcyBkZWZpbml0ZWx5IG5vdCBhbGxv
d2VkIGZvciB0aGUgcHJlZml4LWxpc3RzIHdlIGFsbCBrbm93IGFuZCBsb3ZlLg0KVGhhbmtzLA0K
QWNlZQ0KDQpGcm9tOiBBbmVlcyBTaGFpa2ggPGFhc2hhaWtoQGdvb2dsZS5jb208bWFpbHRvOmFh
c2hhaWtoQGdvb2dsZS5jb20+Pg0KRGF0ZTogV2VkbmVzZGF5LCBNYXkgMjcsIDIwMTUgYXQgMTI6
MDkgUE0NClRvOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgPGouc2Nob2Vud2FlbGRlckBqYWNvYnMt
dW5pdmVyc2l0eS5kZTxtYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRl
Pj4sIFJvdXRpbmcgWUFORyA8cnRnLXlhbmctY29vcmRAaWV0Zi5vcmc8bWFpbHRvOnJ0Zy15YW5n
LWNvb3JkQGlldGYub3JnPj4NClN1YmplY3Q6IFJlOiBbUnRnLXlhbmctY29vcmRdIGNvbW1lbnQg
Y29uY2VybmluZyBkcmFmdC1zaGFpa2gtcnRnd2ctcG9saWN5LW1vZGVsLTAwDQoNCkp1ZXJnZW4s
IHlvdSdyZSByaWdodCB0aGF0IHByZWZpeC1saXN0cyBpbiB0aGUgbW9kZWwgdHVybmVkIG91dCB0
byBiZSBhIGJpdCBwcm9ibGVtYXRpYyBhcyBjdXJyZW50bHkgZGVmaW5lZC4gIFdlJ3ZlIHVwZGF0
ZWQgdGhlIG1vZGVsIGluIHRoZSBtb3N0IHJlY2VudCByZXZpc2lvbiBhZnRlciBnb2luZyB0aHJv
dWdoIHNvbWUgdHJhbnNsYXRpb25zIG9mIG91ciBjb25maWdzIHRvIHRoZSBPcGVuQ29uZmlnIG1v
ZGVsIGFuZCBydW5uaW5nIGludG8gc29tZSBpc3N1ZXMuICBUaGUgdXBkYXRlZCB2ZXJzaW9uIGxv
b2tzIG1vcmUgbGlrZSB0aGUgZm9sbG93aW5nOg0KDQpsaXN0IHByZWZpeCB7DQogICAgICAgICAg
a2V5ICJhZGRyZXNzIG1hc2tsZW5ndGggbWFza2xlbmd0aC1yYW5nZSI7DQoNCiAgICAgICAgICBs
ZWFmIGFkZHJlc3Mgew0KICAgICAgICAgICAgdHlwZSBpbmV0OmlwLWFkZHJlc3M7DQogICAgICAg
ICAgfQ0KDQogICAgICAgICAgbGVhZiBtYXNrbGVuZ3RoIHsNCiAgICAgICAgICAgIHR5cGUgdWlu
dDg7DQogICAgICAgICAgfQ0KDQogICAgICAgICAgbGVhZiBtYXNrbGVuZ3RoLXJhbmdlIHsNCiAg
ICAgICAgICAgIHR5cGUgc3RyaW5nIHsNCiAgICAgICAgICAgICAgcGF0dGVybiAnXihbMC05XStc
LlwuWzAtOV0rKXxleGFjdCQnOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KfQ0KDQpUaGUg
bW9kZWwgdXNlZCBhZGRyZXNzIGFuZCBhIHNlcGFyYXRlIG1hc2tsZW5ndGggc28gdGhhdCByYW5n
ZSBjaGVja2luZyBjb3VsZCBiZSBwZXJmb3JtZWQgb24gdGhlIG1hc2suICAgV2UndmUgc2luY2Ug
cmVtb3ZlZCB0aGUgcmFuZ2UtY2hlY2tpbmcgaW4gZmF2b3Igb2Ygc2ltcGxpZnlpbmcgdG8ga2Vl
cCBhIHNpbmdsZSBwcmVmaXggbGlzdCBmb3IgYm90aCBhZGRyZXNzIHR5cGVzLCBpcHY0IGFuZCBp
cHY2Lg0KDQpUaGUgb3JpZ2luYWwgbW9kZWwgaGFkIHRoZSBwcm9ibGVtIHlvdSBtZW50aW9uLCB3
aGljaCBpcyB0aGF0IGFsbCBrZXlzIG11c3QgYmUgbWFuZGF0b3J5LCBpbmNsdWRpbmcgbWFza2xl
bmd0aC1yYW5nZSwgd2hpY2ggbWVhbnQgdGhlcmUgd2FzIG5vIHNpbXBsZSB3YXkgdG8gZXhwcmVz
cyBhbiBleGFjdCBwcmVmaXggb3RoZXIgdGhhbiwgZS5nLiwgMjEuLjIxIHdoaWNoIHdlIGRpZG4n
dCB0aGluayB3YXMgZGVzaXJhYmxlLiAgQ2hhbmdpbmcgdGhlIG1hc2tsZW5ndGgtcmFuZ2UgdG8g
YSBzdHJpbmcgYWxsb3dzIGEgbW9yZSBmbGV4aWJsZSBwYXR0ZXJuIChpbmNsdWRpbmcgYW4gJ2V4
YWN0JyBzZXR0aW5nKS4gIFRoZSBtYXNrbGVuZ3RoLXJhbmdlIGlzIGluY2x1ZGVkIGluIHRoZSBr
ZXlzIHRvIG1ha2UgdGhlIGxpc3QgaGF2ZSB1bmlxdWUgbWVtYmVycy4NCg0KSSB0aGluayB3ZSBj
b3VsZCBhbHNvIGNvbnNpZGVyIHlvdXIgc3VnZ2VzdGlvbiB0byB1c2UgYSBpbmV0OmlwLXByZWZp
eCBpbnN0ZWFkIG9mIGFkZHJlc3Mgc2luY2Ugd2UncmUgbm90IGRvaW5nIHJhbmdlLWNoZWNraW5n
IG9uIHRoZSBtYXNrbGVuZ3RoIGluIHRoZSBjdXJyZW50IGFwcHJvYWNoIC0tIHdpbGwgZGlzY3Vz
cyB3aXRoIHRoZSBjby1hdXRob3JzLg0KDQpBZ3JlZSB3aXRoIHlvdXIgc3VnZ2VzdGlvbiB0byBt
YWtlIHRoZSBYTUwgZXhhbXBsZXMgbW9yZSBjb25mb3JtYW50ICh0aGV5IHNob3VsZCBjZXJ0YWlu
bHkgdmFsaWRhdGUpLCB0aG91Z2ggd2UndmUgb25seSBiZWVuIHVzaW5nIGFkLWhvYyBuYW1lc3Bh
Y2VzIGZvciBtb2RlbHMgdGhhdCBhcmUgbm90IElFVEYgV0cgbW9kZWxzIHNvIGZhci4gIE15IHVu
ZGVyc3RhbmRpbmcgaXMgdGhhdCB0aGlzIGlzIHRoZSByZWNvbW1lbmRlZCBwcmFjdGljZS4NCg0K
dGhhbmtzLg0KLS0gQW5lZXMNCg0KDQpPbiBXZWQsIE1heSAyNywgMjAxNSBhdCA1OjI0IEFNLCBK
dWVyZ2VuIFNjaG9lbndhZWxkZXIgPGouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5k
ZTxtYWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPj4gd3JvdGU6DQpI
aSwNCg0KSSBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBJIGhhdmUgYSBzbWFsbCBjb21tZW50
Lg0KDQotIFlvdSBkZWZpbmUgYSBsaXN0ICdwcmVmaXgnIGluIHRoZSBsaXN0ICdwcmVmaXgtc2V0
JyB3aGljaCBpcyBrZXllZA0KICBieSB0aHJlZSBsZWFmcy4gQXMgYSByZXN1bHQsIGFsbCB0aHJl
ZSBsZWFmcyBhcmUgbWFuZGF0b3J5LiBZb3VyIFhNTA0KICBpbnN0YW5jZSBzbmlwcGVkIGluIHNl
Y3Rpb24gMTAgZG9lcyBub3QgdmFsaWRhdGUgYmVjYXVzZSBpdCBpcw0KICBtaXNzaW5nIG1hbmRh
dG9yeSBrZXkgZWxlbWVudHMuIEkgd29uZGVyIChhKSB3aHkgZGlkIHlvdSBub3QgdXNlDQogIGlu
ZXQ6aXAtcHJlZml4IGluc3RlYWQgb2YgdGhlIHBhaXIgaW5ldDppcC1hZGRyZXNzIGFuZCBhIHVu
aXQ4DQogIG1hc2tsZW5ndGguIEFuZCBnaXZlbiB0aGUgZGVzaXJlIHRvIHJlcHJlc2VudCBhIHBy
ZWZpeCByYW5nZSwgd291bGQNCiAgYSBzcGVjaWFsIHN5bnRheCBub3QgbWFrZSBzZW5zZSwgZS5n
LiBhbiBleHRlbnNpb24gb2YgaXAtcHJlZml4LA0KICBsZXRzIGNhbGwgaXQgaXAtcHJlZml4LXJh
bmdlLCB0aGF0IGFsbG93cyB0byBleHByZXNzIGEgcmFuZ2Ugb2YNCiAgcHJlZml4ZXM6DQoNCiAg
MTAuMy4xOTIuMC8yMS0yNDxodHRwOi8vMTAuMy4xOTIuMC8yMS0yND4gLT4gMTAuMy4xOTIuMC8y
MTxodHRwOi8vMTAuMy4xOTIuMC8yMT4NCiAgICAgICAgICAgICAgICAgICAgICAxMC4zLjE5Mi4w
LzIyPGh0dHA6Ly8xMC4zLjE5Mi4wLzIyPg0KICAgICAgICAgICAgICAgICAgICAgIDEwLjMuMTky
LjAvMjM8aHR0cDovLzEwLjMuMTkyLjAvMjM+DQogICAgICAgICAgICAgICAgICAgICAgMTAuMy4x
OTIuMC8yNDxodHRwOi8vMTAuMy4xOTIuMC8yND4NCg0KICBJZiB0aGUgJy0yNCcgcGFydCBpcyBt
YWRlIG9wdGlvbmFsLCB5b3VyIHByZWZpeCBsaXN0IHdpbGwgYmUNCiAgY29sbGFwc2VkIHRvIGEg
c2ltcGxlDQoNCiAgbGlzdCBwcmVmaXggew0KICAgICAga2V5IHByZWZpeC1yYW5nZTsNCg0KICAg
ICAgbGVhZiBwcmVmaXgtcmFuZ2Ugew0KICAgICAgICAgIHR5cGUgaXAtcHJlZml4LXJhbmdlOw0K
ICAgICAgfQ0KICB9DQoNCiAgU3VjaCBhbiBpcC1wcmVmaXgtcmFuZ2UgdHlwZSBtYXkgZXZlbiBi
ZSBhIHVzZWZ1bCBhZGRpdGlvbiB0bw0KICBpZXRmLWluZXQtdHlwZXMuDQoNCi0gVGhlIFhNTCBz
bmlwcGV0cyBhcmUgbmljZSBidXQgaXQgd291bGQgYmUgY29vbCBpZiB0aGV5IHdlcmUgdXNpbmcN
CiAgcHJvcGVyIG5hbWVzcGFjZXMgYW5kIHZhbGlkYXRlIGFnYWluc3QgdGhlIGRhdGEgbW9kZWwu
IFBlcmhhcHMNCiAgc29tZXRoaW5nIHRvIGNvbnNpZGVyIGZvciAtMDEuIFRoZSBweWFuZyB0dXRv
cmlhbCBwcm92aWRlcyBleGFtcGxlcw0KICBob3cgdG8gdmFsaWRhdGUgWE1MIHNuaXBwZXRzIGFn
YWluc3QgWUFORyBkZWZpbml0aW9ucy4NCg0KL2pzDQoNCi0tDQpKdWVyZ2VuIFNjaG9lbndhZWxk
ZXIgICAgICAgICAgIEphY29icyBVbml2ZXJzaXR5IEJyZW1lbiBnR21iSA0KUGhvbmU6ICs0OSA0
MjEgMjAwIDM1ODc8dGVsOiUyQjQ5JTIwNDIxJTIwMjAwJTIwMzU4Nz4gICAgICAgICBDYW1wdXMg
UmluZyAxIHwgMjg3NTkgQnJlbWVuIHwgR2VybWFueQ0KRmF4OiAgICs0OSA0MjEgMjAwIDMxMDM8
dGVsOiUyQjQ5JTIwNDIxJTIwMjAwJTIwMzEwMz4gICAgICAgICA8aHR0cDovL3d3dy5qYWNvYnMt
dW5pdmVyc2l0eS5kZS8+DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fDQpSdGcteWFuZy1jb29yZCBtYWlsaW5nIGxpc3QNClJ0Zy15YW5nLWNvb3JkQGll
dGYub3JnPG1haWx0bzpSdGcteWFuZy1jb29yZEBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3LmlldGYu
b3JnL21haWxtYW4vbGlzdGluZm8vcnRnLXlhbmctY29vcmQNCg0K

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

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy
ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx
NHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGRpdj5IaSBBbmVlcywm
bmJzcDs8L2Rpdj4NCjxkaXY+SSBoYWQgbm90ZWQgcHJvYmxlbXMgd2l0aCB0aGUgcHJlZml4LWxp
c3RzIGluIHRoZSBkcmFmdCBhcyB3ZWxsIGJ1dCBoYWRu4oCZdCBnb3QgYXJvdW5kIHRvIHJhaXNp
bmcgdGhlbS4gT25lIHRoaW5nIGFib3V0IHRoZSBtYXNrbGVuZ3RoIGFuZCBtYXNrbGVuZ3RoLXJh
bmdlIGlzIHRoYXQgdGhlcmUgaXMgbm8gdmFsaWRhdGlvbiBpbiB0aGUgbW9kZWwgc25pcHBldCBi
ZWxvdy4gSW4gb3RoZXIgd29yZHMsIHRoZXJlIGlzIG5vdGhpbmcgdG8gZXhwcmVzcw0KIHRoYXQg
dGhlIG1hc2tsZW5ndGggbXVzdCBiZXR3ZWVuIDAuLjMyIGZvciBJUHY0IGFkZHJlc3NlcyBhbmQg
MC4uMTI4IGZvciBJUHY2IGFkZHJlc3NlcyAmbmJzcDsodGhpcyBpcyBlbmZvcmNlZCBieSB0aGUg
aXAtcHJlZml4IHR5cGUgZnJvbSBSRkMgNjk5MSkuIFNpbWlsYXJseSwgYXMgYSBzdHJpbmcgdGhl
cmUgaW4gbm8gaW5oZXJlbnQgdmFsaWRhdGlvbiBvZiB0aGUgbWFza2xlbmd0aC1yYW5nZSAoZS5n
LiwgYm90aCB2YWx1ZXMgbXVzdCBiZSAmZ3Q7PSBtYXNrbGVuZ3RoLA0KIHNlY29uZCB2YWx1ZSBt
dXN0IGJlICZndDs9IGZpcnN0LXZhbHVlLCBhbmQgYm90aCB2YWx1ZXMgbXVzdCBiZSAmZ3Q7PSBB
RiBzcGVjaWZpYyBsaW1pdCkuIEFsc28sIHRoZXJlIGlzIG5vdGhpbmcgdG8gcHJldmVudCBvbmUg
ZnJvbSBtaXhpbmcgSVB2NCBhbmQgSVB2NiBwcmVmaXhlcyBpbiB0aGUgc2FtZSBsZW5ndGggd2hp
Y2ggaXMgZGVmaW5pdGVseSBub3QgYWxsb3dlZCBmb3IgdGhlIHByZWZpeC1saXN0cyB3ZSBhbGwg
a25vdyBhbmQgbG92ZS4mbmJzcDs8L2Rpdj4NCjxkaXY+VGhhbmtzLDwvZGl2Pg0KPGRpdj5BY2Vl
Jm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPHNwYW4gaWQ9Ik9MS19TUkNfQk9EWV9T
RUNUSU9OIj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7IGZvbnQtc2l6ZToxMXB0
OyB0ZXh0LWFsaWduOmxlZnQ7IGNvbG9yOmJsYWNrOyBCT1JERVItQk9UVE9NOiBtZWRpdW0gbm9u
ZTsgQk9SREVSLUxFRlQ6IG1lZGl1bSBub25lOyBQQURESU5HLUJPVFRPTTogMGluOyBQQURESU5H
LUxFRlQ6IDBpbjsgUEFERElORy1SSUdIVDogMGluOyBCT1JERVItVE9QOiAjYjVjNGRmIDFwdCBz
b2xpZDsgQk9SREVSLVJJR0hUOiBtZWRpdW0gbm9uZTsgUEFERElORy1UT1A6IDNwdCI+DQo8c3Bh
biBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RnJvbTogPC9zcGFuPkFuZWVzIFNoYWlraCAmbHQ7
PGEgaHJlZj0ibWFpbHRvOmFhc2hhaWtoQGdvb2dsZS5jb20iPmFhc2hhaWtoQGdvb2dsZS5jb208
L2E+Jmd0Ozxicj4NCjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EYXRlOiA8L3NwYW4+
V2VkbmVzZGF5LCBNYXkgMjcsIDIwMTUgYXQgMTI6MDkgUE08YnI+DQo8c3BhbiBzdHlsZT0iZm9u
dC13ZWlnaHQ6Ym9sZCI+VG86IDwvc3Bhbj5KdWVyZ2VuIFNjaG9lbndhZWxkZXIgJmx0OzxhIGhy
ZWY9Im1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGUiPmouc2Nob2Vu
d2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZTwvYT4mZ3Q7LCBSb3V0aW5nIFlBTkcgJmx0Ozxh
IGhyZWY9Im1haWx0bzpydGcteWFuZy1jb29yZEBpZXRmLm9yZyI+cnRnLXlhbmctY29vcmRAaWV0
Zi5vcmc8L2E+Jmd0Ozxicj4NCjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5TdWJqZWN0
OiA8L3NwYW4+UmU6IFtSdGcteWFuZy1jb29yZF0gY29tbWVudCBjb25jZXJuaW5nIGRyYWZ0LXNo
YWlraC1ydGd3Zy1wb2xpY3ktbW9kZWwtMDA8YnI+DQo8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+
DQo8YmxvY2txdW90ZSBpZD0iTUFDX09VVExPT0tfQVRUUklCVVRJT05fQkxPQ0tRVU9URSIgc3R5
bGU9IkJPUkRFUi1MRUZUOiAjYjVjNGRmIDUgc29saWQ7IFBBRERJTkc6MCAwIDAgNTsgTUFSR0lO
OjAgMCAwIDU7Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdiBkaXI9Imx0ciI+SnVlcmdlbiwgeW91J3Jl
IHJpZ2h0IHRoYXQgcHJlZml4LWxpc3RzIGluIHRoZSBtb2RlbCB0dXJuZWQgb3V0IHRvIGJlIGEg
Yml0IHByb2JsZW1hdGljIGFzIGN1cnJlbnRseSBkZWZpbmVkLiZuYnNwOyBXZSd2ZSB1cGRhdGVk
IHRoZSBtb2RlbCBpbiB0aGUgbW9zdCByZWNlbnQgcmV2aXNpb24gYWZ0ZXIgZ29pbmcgdGhyb3Vn
aCBzb21lIHRyYW5zbGF0aW9ucyBvZiBvdXIgY29uZmlncyB0byB0aGUgT3BlbkNvbmZpZyBtb2Rl
bCBhbmQNCiBydW5uaW5nIGludG8gc29tZSBpc3N1ZXMuJm5ic3A7IFRoZSB1cGRhdGVkIHZlcnNp
b24gbG9va3MgbW9yZSBsaWtlIHRoZSBmb2xsb3dpbmc6DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRp
dj4NCjxkaXY+bGlzdCBwcmVmaXggezwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IGtleSAmcXVvdDthZGRyZXNzIG1hc2tsZW5ndGggbWFza2xlbmd0aC1yYW5n
ZSZxdW90Ozs8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgbGVhZiBhZGRyZXNzIHs8L2Rpdj4NCjxkaXY+Jm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlwZSBpbmV0OmlwLWFkZHJlc3M7PC9kaXY+
DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgfTwvZGl2Pg0KPGRpdj48
YnI+DQo8L2Rpdj4NCjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBsZWFm
IG1hc2tsZW5ndGggezwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyB0eXBlIHVpbnQ4OzwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IH08L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PiZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbGVhZiBtYXNrbGVuZ3RoLXJhbmdlIHs8L2Rpdj4NCjxk
aXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlwZSBzdHJpbmcg
ezwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgcGF0dGVybiAnXihbMC05XSYjNDM7XC5cLlswLTldJiM0MzspfGV4YWN0JCc7PC9kaXY+
DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj4N
CjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO308L2Rpdj4NCjxkaXY+fTwv
ZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+VGhlIG1vZGVsIHVzZWQgYWRkcmVzcyBhbmQg
YSBzZXBhcmF0ZSBtYXNrbGVuZ3RoIHNvIHRoYXQgcmFuZ2UgY2hlY2tpbmcgY291bGQgYmUgcGVy
Zm9ybWVkIG9uIHRoZSBtYXNrLiAmbmJzcDsgV2UndmUgc2luY2UgcmVtb3ZlZCB0aGUgcmFuZ2Ut
Y2hlY2tpbmcgaW4gZmF2b3Igb2Ygc2ltcGxpZnlpbmcgdG8ga2VlcCBhIHNpbmdsZSBwcmVmaXgg
bGlzdCBmb3IgYm90aCBhZGRyZXNzIHR5cGVzLCBpcHY0IGFuZCBpcHY2LjwvZGl2Pg0KPGRpdj48
YnI+DQo8L2Rpdj4NCjxkaXY+VGhlIG9yaWdpbmFsIG1vZGVsIGhhZCB0aGUgcHJvYmxlbSB5b3Ug
bWVudGlvbiwgd2hpY2ggaXMgdGhhdCBhbGwga2V5cyBtdXN0IGJlIG1hbmRhdG9yeSwgaW5jbHVk
aW5nIG1hc2tsZW5ndGgtcmFuZ2UsIHdoaWNoIG1lYW50IHRoZXJlIHdhcyBubyBzaW1wbGUgd2F5
IHRvIGV4cHJlc3MgYW4gZXhhY3QgcHJlZml4IG90aGVyIHRoYW4sIGUuZy4sIDIxLi4yMSB3aGlj
aCB3ZSBkaWRuJ3QgdGhpbmsgd2FzIGRlc2lyYWJsZS4mbmJzcDsgQ2hhbmdpbmcNCiB0aGUgbWFz
a2xlbmd0aC1yYW5nZSB0byBhIHN0cmluZyBhbGxvd3MgYSBtb3JlIGZsZXhpYmxlIHBhdHRlcm4g
KGluY2x1ZGluZyBhbiAnZXhhY3QnIHNldHRpbmcpLiZuYnNwOyBUaGUgbWFza2xlbmd0aC1yYW5n
ZSBpcyBpbmNsdWRlZCBpbiB0aGUga2V5cyB0byBtYWtlIHRoZSBsaXN0IGhhdmUgdW5pcXVlIG1l
bWJlcnMuJm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5JIHRoaW5rIHdlIGNv
dWxkIGFsc28gY29uc2lkZXIgeW91ciBzdWdnZXN0aW9uIHRvIHVzZSBhIGluZXQ6aXAtcHJlZml4
IGluc3RlYWQgb2YgYWRkcmVzcyBzaW5jZSB3ZSdyZSBub3QgZG9pbmcgcmFuZ2UtY2hlY2tpbmcg
b24gdGhlIG1hc2tsZW5ndGggaW4gdGhlIGN1cnJlbnQgYXBwcm9hY2ggLS0gd2lsbCBkaXNjdXNz
IHdpdGggdGhlIGNvLWF1dGhvcnMuPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5BZ3Jl
ZSB3aXRoIHlvdXIgc3VnZ2VzdGlvbiB0byBtYWtlIHRoZSBYTUwgZXhhbXBsZXMgbW9yZSBjb25m
b3JtYW50ICh0aGV5IHNob3VsZCBjZXJ0YWlubHkgdmFsaWRhdGUpLCB0aG91Z2ggd2UndmUgb25s
eSBiZWVuIHVzaW5nIGFkLWhvYyBuYW1lc3BhY2VzIGZvciBtb2RlbHMgdGhhdCBhcmUgbm90IElF
VEYgV0cgbW9kZWxzIHNvIGZhci4mbmJzcDsgTXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHRoaXMg
aXMgdGhlIHJlY29tbWVuZGVkIHByYWN0aWNlLjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxk
aXY+dGhhbmtzLjwvZGl2Pg0KPGRpdj4tLSBBbmVlczwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+DQo8ZGl2IGNsYXNzPSJnbWFpbF9x
dW90ZSI+T24gV2VkLCBNYXkgMjcsIDIwMTUgYXQgNToyNCBBTSwgSnVlcmdlbiBTY2hvZW53YWVs
ZGVyIDxzcGFuIGRpcj0ibHRyIj4NCiZsdDs8YSBocmVmPSJtYWlsdG86ai5zY2hvZW53YWVsZGVy
QGphY29icy11bml2ZXJzaXR5LmRlIiB0YXJnZXQ9Il9ibGFuayI+ai5zY2hvZW53YWVsZGVyQGph
Y29icy11bml2ZXJzaXR5LmRlPC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4NCjxibG9ja3F1b3Rl
IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0
OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPg0KSGksPGJyPg0KPGJyPg0KSSBoYXZl
IHJlYWQgdGhlIGRvY3VtZW50IGFuZCBJIGhhdmUgYSBzbWFsbCBjb21tZW50Ljxicj4NCjxicj4N
Ci0gWW91IGRlZmluZSBhIGxpc3QgJ3ByZWZpeCcgaW4gdGhlIGxpc3QgJ3ByZWZpeC1zZXQnIHdo
aWNoIGlzIGtleWVkPGJyPg0KJm5ic3A7IGJ5IHRocmVlIGxlYWZzLiBBcyBhIHJlc3VsdCwgYWxs
IHRocmVlIGxlYWZzIGFyZSBtYW5kYXRvcnkuIFlvdXIgWE1MPGJyPg0KJm5ic3A7IGluc3RhbmNl
IHNuaXBwZWQgaW4gc2VjdGlvbiAxMCBkb2VzIG5vdCB2YWxpZGF0ZSBiZWNhdXNlIGl0IGlzPGJy
Pg0KJm5ic3A7IG1pc3NpbmcgbWFuZGF0b3J5IGtleSBlbGVtZW50cy4gSSB3b25kZXIgKGEpIHdo
eSBkaWQgeW91IG5vdCB1c2U8YnI+DQombmJzcDsgaW5ldDppcC1wcmVmaXggaW5zdGVhZCBvZiB0
aGUgcGFpciBpbmV0OmlwLWFkZHJlc3MgYW5kIGEgdW5pdDg8YnI+DQombmJzcDsgbWFza2xlbmd0
aC4gQW5kIGdpdmVuIHRoZSBkZXNpcmUgdG8gcmVwcmVzZW50IGEgcHJlZml4IHJhbmdlLCB3b3Vs
ZDxicj4NCiZuYnNwOyBhIHNwZWNpYWwgc3ludGF4IG5vdCBtYWtlIHNlbnNlLCBlLmcuIGFuIGV4
dGVuc2lvbiBvZiBpcC1wcmVmaXgsPGJyPg0KJm5ic3A7IGxldHMgY2FsbCBpdCBpcC1wcmVmaXgt
cmFuZ2UsIHRoYXQgYWxsb3dzIHRvIGV4cHJlc3MgYSByYW5nZSBvZjxicj4NCiZuYnNwOyBwcmVm
aXhlczo8YnI+DQo8YnI+DQombmJzcDsgPGEgaHJlZj0iaHR0cDovLzEwLjMuMTkyLjAvMjEtMjQi
IHRhcmdldD0iX2JsYW5rIj4xMC4zLjE5Mi4wLzIxLTI0PC9hPiAtJmd0OyA8YSBocmVmPSJodHRw
Oi8vMTAuMy4xOTIuMC8yMSIgdGFyZ2V0PSJfYmxhbmsiPg0KMTAuMy4xOTIuMC8yMTwvYT48YnI+
DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly8xMC4zLjE5Mi4wLzIyIiB0YXJn
ZXQ9Il9ibGFuayI+MTAuMy4xOTIuMC8yMjwvYT48YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxh
IGhyZWY9Imh0dHA6Ly8xMC4zLjE5Mi4wLzIzIiB0YXJnZXQ9Il9ibGFuayI+MTAuMy4xOTIuMC8y
MzwvYT48YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly8xMC4zLjE5Mi4w
LzI0IiB0YXJnZXQ9Il9ibGFuayI+MTAuMy4xOTIuMC8yNDwvYT48YnI+DQo8YnI+DQombmJzcDsg
SWYgdGhlICctMjQnIHBhcnQgaXMgbWFkZSBvcHRpb25hbCwgeW91ciBwcmVmaXggbGlzdCB3aWxs
IGJlPGJyPg0KJm5ic3A7IGNvbGxhcHNlZCB0byBhIHNpbXBsZTxicj4NCjxicj4NCiZuYnNwOyBs
aXN0IHByZWZpeCB7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsga2V5IHByZWZpeC1yYW5nZTs8
YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyBsZWFmIHByZWZpeC1yYW5nZSB7PGJyPg0K
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0eXBlIGlwLXByZWZpeC1yYW5nZTs8
YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyB9PGJyPg0KJm5ic3A7IH08YnI+DQo8YnI+DQombmJz
cDsgU3VjaCBhbiBpcC1wcmVmaXgtcmFuZ2UgdHlwZSBtYXkgZXZlbiBiZSBhIHVzZWZ1bCBhZGRp
dGlvbiB0bzxicj4NCiZuYnNwOyBpZXRmLWluZXQtdHlwZXMuPGJyPg0KPGJyPg0KLSBUaGUgWE1M
IHNuaXBwZXRzIGFyZSBuaWNlIGJ1dCBpdCB3b3VsZCBiZSBjb29sIGlmIHRoZXkgd2VyZSB1c2lu
Zzxicj4NCiZuYnNwOyBwcm9wZXIgbmFtZXNwYWNlcyBhbmQgdmFsaWRhdGUgYWdhaW5zdCB0aGUg
ZGF0YSBtb2RlbC4gUGVyaGFwczxicj4NCiZuYnNwOyBzb21ldGhpbmcgdG8gY29uc2lkZXIgZm9y
IC0wMS4gVGhlIHB5YW5nIHR1dG9yaWFsIHByb3ZpZGVzIGV4YW1wbGVzPGJyPg0KJm5ic3A7IGhv
dyB0byB2YWxpZGF0ZSBYTUwgc25pcHBldHMgYWdhaW5zdCBZQU5HIGRlZmluaXRpb25zLjxicj4N
CjxzcGFuIGNsYXNzPSJIT0VuWmIiPjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+DQovanM8YnI+
DQo8YnI+DQotLTxicj4NCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7SmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIPGJyPg0K
UGhvbmU6IDxhIGhyZWY9InRlbDolMkI0OSUyMDQyMSUyMDIwMCUyMDM1ODciIHZhbHVlPSImIzQz
OzQ5NDIxMjAwMzU4NyI+JiM0Mzs0OSA0MjEgMjAwIDM1ODc8L2E+Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwO0NhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55PGJy
Pg0KRmF4OiZuYnNwOyAmbmJzcDs8YSBocmVmPSJ0ZWw6JTJCNDklMjA0MjElMjAyMDAlMjAzMTAz
IiB2YWx1ZT0iJiM0Mzs0OTQyMTIwMDMxMDMiPiYjNDM7NDkgNDIxIDIwMCAzMTAzPC9hPiZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbHQ7PGEgaHJlZj0iaHR0cDovL3d3dy5qYWNv
YnMtdW5pdmVyc2l0eS5kZS8iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmphY29icy11bml2
ZXJzaXR5LmRlLzwvYT4mZ3Q7PGJyPg0KPGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX188YnI+DQpSdGcteWFuZy1jb29yZCBtYWlsaW5nIGxpc3Q8YnI+
DQo8YSBocmVmPSJtYWlsdG86UnRnLXlhbmctY29vcmRAaWV0Zi5vcmciPlJ0Zy15YW5nLWNvb3Jk
QGlldGYub3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4v
bGlzdGluZm8vcnRnLXlhbmctY29vcmQiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J0Zy15YW5nLWNvb3JkPC9hPjxicj4NCjwvZm9udD48L3Nw
YW4+PC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Jsb2NrcXVvdGU+DQo8L3NwYW4+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_D18B6A361F437aceeciscocom_--


From nobody Wed May 27 09:57:55 2015
Return-Path: <acee@cisco.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 030A21A8743 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:57:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level: 
X-Spam-Status: No, score=-14.51 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 I9TRdvyVbbyT for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 09:57:51 -0700 (PDT)
Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 168C11A8742 for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 09:57:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=22488; q=dns/txt; s=iport; t=1432745871; x=1433955471; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=2dks9yfNif8nkP/NWOtD6ZLdg6O4ZMnXLIEPCfqdXR8=; b=E9+x0FbPO+LA2TltJFISHUQ306K3LcXT/C8TdBxykCtoeG+wr/c8WJ6Z YYc5xItbEi0AwabHOmGuGfiB7WIoxFuQB7KwH6YbQEvBl6Xvuul1rRou+ dmP5XO60nigNhFTm5Os6kVx9IayHCuyDx5Ul0ZFPwxhAt68WlxdiwMAb8 c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CUBQD/9mVV/4cNJK1ZA4JFS1ReBoMZsASOF4ICAQmFdwIcgSJMAQEBAQEBgQuEIgEBAQQBAQEgBCUiGQICAQgOAgECAQECKAMCAgIZCgILFAkIAgQBEogoBQ2tTIVqnjkBAQEBAQEBAQEBAQEBAQEBAQEBAQEXBIs2hC09CgEMCxGCVy+BFgWQTII8hDWGWoEphnCIHIMhg1kjggocgVJvAYEDAR4HHIEBAQEB
X-IronPort-AV: E=Sophos;i="5.13,506,1427760000";  d="scan'208,217";a="419941957"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-9.cisco.com with ESMTP; 27 May 2015 16:57:35 +0000
Received: from xhc-aln-x05.cisco.com (xhc-aln-x05.cisco.com [173.36.12.79]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t4RGvZPb025994 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 27 May 2015 16:57:35 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.97]) by xhc-aln-x05.cisco.com ([173.36.12.79]) with mapi id 14.03.0195.001; Wed, 27 May 2015 11:57:34 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Anees Shaikh <aashaikh@google.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Thread-Topic: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Thread-Index: AQHQmJeOz/AOLj/BaE+NpkVfLOeIoJ2QGTMAgABF4wA=
Date: Wed, 27 May 2015 16:57:34 +0000
Message-ID: <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com>
In-Reply-To: <D18B6A36.1F437%acee@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.116.152.203]
Content-Type: multipart/alternative; boundary="_000_15B43214AE8449C0A83B9E4DB6184CC6ciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/DhoxOPis2dQ_Zft5DWODr0buC_k>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 May 2015 16:57:54 -0000

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

DQpPbiBNYXkgMjcsIDIwMTUsIGF0IDEyOjQ3IFBNLCBBY2VlIExpbmRlbSAoYWNlZSkgPGFjZWVA
Y2lzY28uY29tPG1haWx0bzphY2VlQGNpc2NvLmNvbT4+IHdyb3RlOg0KDQpIaSBBbmVlcywNCkkg
aGFkIG5vdGVkIHByb2JsZW1zIHdpdGggdGhlIHByZWZpeC1saXN0cyBpbiB0aGUgZHJhZnQgYXMg
d2VsbCBidXQgaGFkbuKAmXQgZ290IGFyb3VuZCB0byByYWlzaW5nIHRoZW0uIE9uZSB0aGluZyBh
Ym91dCB0aGUgbWFza2xlbmd0aCBhbmQgbWFza2xlbmd0aC1yYW5nZSBpcyB0aGF0IHRoZXJlIGlz
IG5vIHZhbGlkYXRpb24gaW4gdGhlIG1vZGVsIHNuaXBwZXQgYmVsb3cuIEluIG90aGVyIHdvcmRz
LCB0aGVyZSBpcyBub3RoaW5nIHRvIGV4cHJlc3MgdGhhdCB0aGUgbWFza2xlbmd0aCBtdXN0IGJl
dHdlZW4gMC4uMzIgZm9yIElQdjQgYWRkcmVzc2VzIGFuZCAwLi4xMjggZm9yIElQdjYgYWRkcmVz
c2VzICAodGhpcyBpcyBlbmZvcmNlZCBieSB0aGUgaXAtcHJlZml4IHR5cGUgZnJvbSBSRkMgNjk5
MSkuIFNpbWlsYXJseSwgYXMgYSBzdHJpbmcgdGhlcmUgaW4gbm8gaW5oZXJlbnQgdmFsaWRhdGlv
biBvZiB0aGUgbWFza2xlbmd0aC1yYW5nZSAoZS5nLiwgYm90aCB2YWx1ZXMgbXVzdCBiZSA+PSBt
YXNrbGVuZ3RoLCBzZWNvbmQgdmFsdWUgbXVzdCBiZSA+PSBmaXJzdC12YWx1ZSwgYW5kIGJvdGgg
dmFsdWVzIG11c3QgYmUgPj0gQUYgc3BlY2lmaWMgbGltaXQpLg0KDQpPZiBjb3Vyc2UgSSBtZWFu
dCAiPD0gQUYgc3BlY2lmaWMgbGltaXTigJ0uDQoNClRoYW5rcywNCkFjZWUNCg0KDQpBbHNvLCB0
aGVyZSBpcyBub3RoaW5nIHRvIHByZXZlbnQgb25lIGZyb20gbWl4aW5nIElQdjQgYW5kIElQdjYg
cHJlZml4ZXMgaW4gdGhlIHNhbWUgbGVuZ3RoIHdoaWNoIGlzIGRlZmluaXRlbHkgbm90IGFsbG93
ZWQgZm9yIHRoZSBwcmVmaXgtbGlzdHMgd2UgYWxsIGtub3cgYW5kIGxvdmUuDQpUaGFua3MsDQpB
Y2VlDQoNCkZyb206IEFuZWVzIFNoYWlraCA8YWFzaGFpa2hAZ29vZ2xlLmNvbTxtYWlsdG86YWFz
aGFpa2hAZ29vZ2xlLmNvbT4+DQpEYXRlOiBXZWRuZXNkYXksIE1heSAyNywgMjAxNSBhdCAxMjow
OSBQTQ0KVG86IEp1ZXJnZW4gU2Nob2Vud2FlbGRlciA8ai5zY2hvZW53YWVsZGVyQGphY29icy11
bml2ZXJzaXR5LmRlPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+
PiwgUm91dGluZyBZQU5HIDxydGcteWFuZy1jb29yZEBpZXRmLm9yZzxtYWlsdG86cnRnLXlhbmct
Y29vcmRAaWV0Zi5vcmc+Pg0KU3ViamVjdDogUmU6IFtSdGcteWFuZy1jb29yZF0gY29tbWVudCBj
b25jZXJuaW5nIGRyYWZ0LXNoYWlraC1ydGd3Zy1wb2xpY3ktbW9kZWwtMDANCg0KSnVlcmdlbiwg
eW91J3JlIHJpZ2h0IHRoYXQgcHJlZml4LWxpc3RzIGluIHRoZSBtb2RlbCB0dXJuZWQgb3V0IHRv
IGJlIGEgYml0IHByb2JsZW1hdGljIGFzIGN1cnJlbnRseSBkZWZpbmVkLiAgV2UndmUgdXBkYXRl
ZCB0aGUgbW9kZWwgaW4gdGhlIG1vc3QgcmVjZW50IHJldmlzaW9uIGFmdGVyIGdvaW5nIHRocm91
Z2ggc29tZSB0cmFuc2xhdGlvbnMgb2Ygb3VyIGNvbmZpZ3MgdG8gdGhlIE9wZW5Db25maWcgbW9k
ZWwgYW5kIHJ1bm5pbmcgaW50byBzb21lIGlzc3Vlcy4gIFRoZSB1cGRhdGVkIHZlcnNpb24gbG9v
a3MgbW9yZSBsaWtlIHRoZSBmb2xsb3dpbmc6DQoNCmxpc3QgcHJlZml4IHsNCiAgICAgICAgICBr
ZXkgImFkZHJlc3MgbWFza2xlbmd0aCBtYXNrbGVuZ3RoLXJhbmdlIjsNCg0KICAgICAgICAgIGxl
YWYgYWRkcmVzcyB7DQogICAgICAgICAgICB0eXBlIGluZXQ6aXAtYWRkcmVzczsNCiAgICAgICAg
ICB9DQoNCiAgICAgICAgICBsZWFmIG1hc2tsZW5ndGggew0KICAgICAgICAgICAgdHlwZSB1aW50
ODsNCiAgICAgICAgICB9DQoNCiAgICAgICAgICBsZWFmIG1hc2tsZW5ndGgtcmFuZ2Ugew0KICAg
ICAgICAgICAgdHlwZSBzdHJpbmcgew0KICAgICAgICAgICAgICBwYXR0ZXJuICdeKFswLTldK1wu
XC5bMC05XSspfGV4YWN0JCc7DQogICAgICAgICAgICB9DQogICAgICAgICB9DQp9DQoNClRoZSBt
b2RlbCB1c2VkIGFkZHJlc3MgYW5kIGEgc2VwYXJhdGUgbWFza2xlbmd0aCBzbyB0aGF0IHJhbmdl
IGNoZWNraW5nIGNvdWxkIGJlIHBlcmZvcm1lZCBvbiB0aGUgbWFzay4gICBXZSd2ZSBzaW5jZSBy
ZW1vdmVkIHRoZSByYW5nZS1jaGVja2luZyBpbiBmYXZvciBvZiBzaW1wbGlmeWluZyB0byBrZWVw
IGEgc2luZ2xlIHByZWZpeCBsaXN0IGZvciBib3RoIGFkZHJlc3MgdHlwZXMsIGlwdjQgYW5kIGlw
djYuDQoNClRoZSBvcmlnaW5hbCBtb2RlbCBoYWQgdGhlIHByb2JsZW0geW91IG1lbnRpb24sIHdo
aWNoIGlzIHRoYXQgYWxsIGtleXMgbXVzdCBiZSBtYW5kYXRvcnksIGluY2x1ZGluZyBtYXNrbGVu
Z3RoLXJhbmdlLCB3aGljaCBtZWFudCB0aGVyZSB3YXMgbm8gc2ltcGxlIHdheSB0byBleHByZXNz
IGFuIGV4YWN0IHByZWZpeCBvdGhlciB0aGFuLCBlLmcuLCAyMS4uMjEgd2hpY2ggd2UgZGlkbid0
IHRoaW5rIHdhcyBkZXNpcmFibGUuICBDaGFuZ2luZyB0aGUgbWFza2xlbmd0aC1yYW5nZSB0byBh
IHN0cmluZyBhbGxvd3MgYSBtb3JlIGZsZXhpYmxlIHBhdHRlcm4gKGluY2x1ZGluZyBhbiAnZXhh
Y3QnIHNldHRpbmcpLiAgVGhlIG1hc2tsZW5ndGgtcmFuZ2UgaXMgaW5jbHVkZWQgaW4gdGhlIGtl
eXMgdG8gbWFrZSB0aGUgbGlzdCBoYXZlIHVuaXF1ZSBtZW1iZXJzLg0KDQpJIHRoaW5rIHdlIGNv
dWxkIGFsc28gY29uc2lkZXIgeW91ciBzdWdnZXN0aW9uIHRvIHVzZSBhIGluZXQ6aXAtcHJlZml4
IGluc3RlYWQgb2YgYWRkcmVzcyBzaW5jZSB3ZSdyZSBub3QgZG9pbmcgcmFuZ2UtY2hlY2tpbmcg
b24gdGhlIG1hc2tsZW5ndGggaW4gdGhlIGN1cnJlbnQgYXBwcm9hY2ggLS0gd2lsbCBkaXNjdXNz
IHdpdGggdGhlIGNvLWF1dGhvcnMuDQoNCkFncmVlIHdpdGggeW91ciBzdWdnZXN0aW9uIHRvIG1h
a2UgdGhlIFhNTCBleGFtcGxlcyBtb3JlIGNvbmZvcm1hbnQgKHRoZXkgc2hvdWxkIGNlcnRhaW5s
eSB2YWxpZGF0ZSksIHRob3VnaCB3ZSd2ZSBvbmx5IGJlZW4gdXNpbmcgYWQtaG9jIG5hbWVzcGFj
ZXMgZm9yIG1vZGVscyB0aGF0IGFyZSBub3QgSUVURiBXRyBtb2RlbHMgc28gZmFyLiAgTXkgdW5k
ZXJzdGFuZGluZyBpcyB0aGF0IHRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIHByYWN0aWNlLg0KDQp0
aGFua3MuDQotLSBBbmVlcw0KDQoNCk9uIFdlZCwgTWF5IDI3LCAyMDE1IGF0IDU6MjQgQU0sIEp1
ZXJnZW4gU2Nob2Vud2FlbGRlciA8ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRl
PG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+PiB3cm90ZToNCkhp
LA0KDQpJIGhhdmUgcmVhZCB0aGUgZG9jdW1lbnQgYW5kIEkgaGF2ZSBhIHNtYWxsIGNvbW1lbnQu
DQoNCi0gWW91IGRlZmluZSBhIGxpc3QgJ3ByZWZpeCcgaW4gdGhlIGxpc3QgJ3ByZWZpeC1zZXQn
IHdoaWNoIGlzIGtleWVkDQogIGJ5IHRocmVlIGxlYWZzLiBBcyBhIHJlc3VsdCwgYWxsIHRocmVl
IGxlYWZzIGFyZSBtYW5kYXRvcnkuIFlvdXIgWE1MDQogIGluc3RhbmNlIHNuaXBwZWQgaW4gc2Vj
dGlvbiAxMCBkb2VzIG5vdCB2YWxpZGF0ZSBiZWNhdXNlIGl0IGlzDQogIG1pc3NpbmcgbWFuZGF0
b3J5IGtleSBlbGVtZW50cy4gSSB3b25kZXIgKGEpIHdoeSBkaWQgeW91IG5vdCB1c2UNCiAgaW5l
dDppcC1wcmVmaXggaW5zdGVhZCBvZiB0aGUgcGFpciBpbmV0OmlwLWFkZHJlc3MgYW5kIGEgdW5p
dDgNCiAgbWFza2xlbmd0aC4gQW5kIGdpdmVuIHRoZSBkZXNpcmUgdG8gcmVwcmVzZW50IGEgcHJl
Zml4IHJhbmdlLCB3b3VsZA0KICBhIHNwZWNpYWwgc3ludGF4IG5vdCBtYWtlIHNlbnNlLCBlLmcu
IGFuIGV4dGVuc2lvbiBvZiBpcC1wcmVmaXgsDQogIGxldHMgY2FsbCBpdCBpcC1wcmVmaXgtcmFu
Z2UsIHRoYXQgYWxsb3dzIHRvIGV4cHJlc3MgYSByYW5nZSBvZg0KICBwcmVmaXhlczoNCg0KICAx
MC4zLjE5Mi4wLzIxLTI0PGh0dHA6Ly8xMC4zLjE5Mi4wLzIxLTI0PiAtPiAxMC4zLjE5Mi4wLzIx
PGh0dHA6Ly8xMC4zLjE5Mi4wLzIxPg0KICAgICAgICAgICAgICAgICAgICAgIDEwLjMuMTkyLjAv
MjI8aHR0cDovLzEwLjMuMTkyLjAvMjI+DQogICAgICAgICAgICAgICAgICAgICAgMTAuMy4xOTIu
MC8yMzxodHRwOi8vMTAuMy4xOTIuMC8yMz4NCiAgICAgICAgICAgICAgICAgICAgICAxMC4zLjE5
Mi4wLzI0PGh0dHA6Ly8xMC4zLjE5Mi4wLzI0Pg0KDQogIElmIHRoZSAnLTI0JyBwYXJ0IGlzIG1h
ZGUgb3B0aW9uYWwsIHlvdXIgcHJlZml4IGxpc3Qgd2lsbCBiZQ0KICBjb2xsYXBzZWQgdG8gYSBz
aW1wbGUNCg0KICBsaXN0IHByZWZpeCB7DQogICAgICBrZXkgcHJlZml4LXJhbmdlOw0KDQogICAg
ICBsZWFmIHByZWZpeC1yYW5nZSB7DQogICAgICAgICAgdHlwZSBpcC1wcmVmaXgtcmFuZ2U7DQog
ICAgICB9DQogIH0NCg0KICBTdWNoIGFuIGlwLXByZWZpeC1yYW5nZSB0eXBlIG1heSBldmVuIGJl
IGEgdXNlZnVsIGFkZGl0aW9uIHRvDQogIGlldGYtaW5ldC10eXBlcy4NCg0KLSBUaGUgWE1MIHNu
aXBwZXRzIGFyZSBuaWNlIGJ1dCBpdCB3b3VsZCBiZSBjb29sIGlmIHRoZXkgd2VyZSB1c2luZw0K
ICBwcm9wZXIgbmFtZXNwYWNlcyBhbmQgdmFsaWRhdGUgYWdhaW5zdCB0aGUgZGF0YSBtb2RlbC4g
UGVyaGFwcw0KICBzb21ldGhpbmcgdG8gY29uc2lkZXIgZm9yIC0wMS4gVGhlIHB5YW5nIHR1dG9y
aWFsIHByb3ZpZGVzIGV4YW1wbGVzDQogIGhvdyB0byB2YWxpZGF0ZSBYTUwgc25pcHBldHMgYWdh
aW5zdCBZQU5HIGRlZmluaXRpb25zLg0KDQovanMNCg0KLS0NCkp1ZXJnZW4gU2Nob2Vud2FlbGRl
ciAgICAgICAgICAgSmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5IDQy
MSAyMDAgMzU4Nzx0ZWw6JTJCNDklMjA0MjElMjAyMDAlMjAzNTg3PiAgICAgICAgIENhbXB1cyBS
aW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAgMzEwMzx0
ZWw6JTJCNDklMjA0MjElMjAyMDAlMjAzMTAzPiAgICAgICAgIDxodHRwOi8vd3d3LmphY29icy11
bml2ZXJzaXR5LmRlLz4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NClJ0Zy15YW5nLWNvb3JkIG1haWxpbmcgbGlzdA0KUnRnLXlhbmctY29vcmRAaWV0
Zi5vcmc8bWFpbHRvOlJ0Zy15YW5nLWNvb3JkQGlldGYub3JnPg0KaHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9ydGcteWFuZy1jb29yZA0KDQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0
DQpSdGcteWFuZy1jb29yZEBpZXRmLm9yZzxtYWlsdG86UnRnLXlhbmctY29vcmRAaWV0Zi5vcmc+
DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J0Zy15YW5nLWNvb3JkDQoN
Cg==

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

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy
ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPGRpdj4N
CjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj5PbiBNYXkg
MjcsIDIwMTUsIGF0IDEyOjQ3IFBNLCBBY2VlIExpbmRlbSAoYWNlZSkgJmx0OzxhIGhyZWY9Im1h
aWx0bzphY2VlQGNpc2NvLmNvbSIgY2xhc3M9IiI+YWNlZUBjaXNjby5jb208L2E+Jmd0OyB3cm90
ZTo8L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+DQo8ZGl2IGNs
YXNzPSIiPg0KPGRpdiBzdHlsZT0id29yZC13cmFwOiBicmVhay13b3JkOyAtd2Via2l0LW5ic3At
bW9kZTogc3BhY2U7IC13ZWJraXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IGZvbnQt
c2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IENhbGlicmksIHNhbnMtc2VyaWY7IiBjbGFzcz0iIj4N
CjxkaXYgY2xhc3M9IiI+SGkgQW5lZXMsJm5ic3A7PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPkkgaGFk
IG5vdGVkIHByb2JsZW1zIHdpdGggdGhlIHByZWZpeC1saXN0cyBpbiB0aGUgZHJhZnQgYXMgd2Vs
bCBidXQgaGFkbuKAmXQgZ290IGFyb3VuZCB0byByYWlzaW5nIHRoZW0uIE9uZSB0aGluZyBhYm91
dCB0aGUgbWFza2xlbmd0aCBhbmQgbWFza2xlbmd0aC1yYW5nZSBpcyB0aGF0IHRoZXJlIGlzIG5v
IHZhbGlkYXRpb24gaW4gdGhlIG1vZGVsIHNuaXBwZXQgYmVsb3cuIEluIG90aGVyIHdvcmRzLCB0
aGVyZSBpcyBub3RoaW5nDQogdG8gZXhwcmVzcyB0aGF0IHRoZSBtYXNrbGVuZ3RoIG11c3QgYmV0
d2VlbiAwLi4zMiBmb3IgSVB2NCBhZGRyZXNzZXMgYW5kIDAuLjEyOCBmb3IgSVB2NiBhZGRyZXNz
ZXMgJm5ic3A7KHRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIGlwLXByZWZpeCB0eXBlIGZyb20gUkZD
IDY5OTEpLiBTaW1pbGFybHksIGFzIGEgc3RyaW5nIHRoZXJlIGluIG5vIGluaGVyZW50IHZhbGlk
YXRpb24gb2YgdGhlIG1hc2tsZW5ndGgtcmFuZ2UgKGUuZy4sIGJvdGggdmFsdWVzIG11c3QNCiBi
ZSAmZ3Q7PSBtYXNrbGVuZ3RoLCBzZWNvbmQgdmFsdWUgbXVzdCBiZSAmZ3Q7PSBmaXJzdC12YWx1
ZSwgYW5kIGJvdGggdmFsdWVzIG11c3QgYmUgJmd0Oz0gQUYgc3BlY2lmaWMgbGltaXQpLg0KPC9k
aXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj48YnIgY2xhc3M9IiI+DQo8
L2Rpdj4NCjxkaXY+T2YgY291cnNlIEkgbWVhbnQgJnF1b3Q7Jmx0Oz0gQUYgc3BlY2lmaWMgbGlt
aXTigJ0uJm5ic3A7PC9kaXY+DQo8ZGl2PjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdj5UaGFu
a3MsPC9kaXY+DQo8ZGl2PkFjZWUmbmJzcDs8L2Rpdj4NCjxkaXY+PGJyIGNsYXNzPSIiPg0KPC9k
aXY+DQo8YnIgY2xhc3M9IiI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjbGFzcz0iIj4NCjxk
aXYgY2xhc3M9IiI+DQo8ZGl2IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQt
bmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsg
Zm9udC1zaXplOiAxNHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiIGNsYXNz
PSIiPg0KPGRpdiBjbGFzcz0iIj5BbHNvLCB0aGVyZSBpcyBub3RoaW5nIHRvIHByZXZlbnQgb25l
IGZyb20gbWl4aW5nIElQdjQgYW5kIElQdjYgcHJlZml4ZXMgaW4gdGhlIHNhbWUgbGVuZ3RoIHdo
aWNoIGlzIGRlZmluaXRlbHkgbm90IGFsbG93ZWQgZm9yIHRoZSBwcmVmaXgtbGlzdHMgd2UgYWxs
IGtub3cgYW5kIGxvdmUuJm5ic3A7PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlRoYW5rcyw8L2Rpdj4N
CjxkaXYgY2xhc3M9IiI+QWNlZSZuYnNwOzwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9
IiI+DQo8L2Rpdj4NCjxzcGFuIGlkPSJPTEtfU1JDX0JPRFlfU0VDVElPTiIgY2xhc3M9IiI+DQo8
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQ2FsaWJyaTsgZm9udC1zaXplOiAxMXB0OyB0ZXh0LWFs
aWduOiBsZWZ0OyBib3JkZXItd2lkdGg6IDFwdCBtZWRpdW0gbWVkaXVtOyBib3JkZXItc3R5bGU6
IHNvbGlkIG5vbmUgbm9uZTsgcGFkZGluZzogM3B0IDBpbiAwaW47IGJvcmRlci10b3AtY29sb3I6
IHJnYigxODEsIDE5NiwgMjIzKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OmJvbGQiIGNsYXNzPSIiPkZyb206IDwvc3Bhbj5BbmVlcyBTaGFpa2ggJmx0OzxhIGhyZWY9Im1h
aWx0bzphYXNoYWlraEBnb29nbGUuY29tIiBjbGFzcz0iIj5hYXNoYWlraEBnb29nbGUuY29tPC9h
PiZndDs8YnIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgY2xhc3M9
IiI+RGF0ZTogPC9zcGFuPldlZG5lc2RheSwgTWF5IDI3LCAyMDE1IGF0IDEyOjA5IFBNPGJyIGNs
YXNzPSIiPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiIGNsYXNzPSIiPlRvOiA8L3Nw
YW4+SnVlcmdlbiBTY2hvZW53YWVsZGVyICZsdDs8YSBocmVmPSJtYWlsdG86ai5zY2hvZW53YWVs
ZGVyQGphY29icy11bml2ZXJzaXR5LmRlIiBjbGFzcz0iIj5qLnNjaG9lbndhZWxkZXJAamFjb2Jz
LXVuaXZlcnNpdHkuZGU8L2E+Jmd0OywgUm91dGluZyBZQU5HICZsdDs8YSBocmVmPSJtYWlsdG86
cnRnLXlhbmctY29vcmRAaWV0Zi5vcmciIGNsYXNzPSIiPnJ0Zy15YW5nLWNvb3JkQGlldGYub3Jn
PC9hPiZndDs8YnIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCIgY2xh
c3M9IiI+U3ViamVjdDogPC9zcGFuPlJlOiBbUnRnLXlhbmctY29vcmRdIGNvbW1lbnQgY29uY2Vy
bmluZyBkcmFmdC1zaGFpa2gtcnRnd2ctcG9saWN5LW1vZGVsLTAwPGJyIGNsYXNzPSIiPg0KPC9k
aXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgaWQ9
Ik1BQ19PVVRMT09LX0FUVFJJQlVUSU9OX0JMT0NLUVVPVEUiIHN0eWxlPSJCT1JERVItTEVGVDog
I2I1YzRkZiA1IHNvbGlkOyBQQURESU5HOjAgMCAwIDU7IE1BUkdJTjowIDAgMCA1OyIgY2xhc3M9
IiI+DQo8ZGl2IGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj4NCjxkaXYgZGlyPSJsdHIiIGNsYXNz
PSIiPkp1ZXJnZW4sIHlvdSdyZSByaWdodCB0aGF0IHByZWZpeC1saXN0cyBpbiB0aGUgbW9kZWwg
dHVybmVkIG91dCB0byBiZSBhIGJpdCBwcm9ibGVtYXRpYyBhcyBjdXJyZW50bHkgZGVmaW5lZC4m
bmJzcDsgV2UndmUgdXBkYXRlZCB0aGUgbW9kZWwgaW4gdGhlIG1vc3QgcmVjZW50IHJldmlzaW9u
IGFmdGVyIGdvaW5nIHRocm91Z2ggc29tZSB0cmFuc2xhdGlvbnMgb2Ygb3VyIGNvbmZpZ3MgdG8g
dGhlIE9wZW5Db25maWcNCiBtb2RlbCBhbmQgcnVubmluZyBpbnRvIHNvbWUgaXNzdWVzLiZuYnNw
OyBUaGUgdXBkYXRlZCB2ZXJzaW9uIGxvb2tzIG1vcmUgbGlrZSB0aGUgZm9sbG93aW5nOg0KPGRp
diBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNs
YXNzPSIiPmxpc3QgcHJlZml4IHs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyBrZXkgJnF1b3Q7YWRkcmVzcyBtYXNrbGVuZ3RoIG1hc2tsZW5n
dGgtcmFuZ2UmcXVvdDs7PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2
Pg0KPGRpdiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGxlYWYg
YWRkcmVzcyB7PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7IHR5cGUgaW5ldDppcC1hZGRyZXNzOzwvZGl2Pg0KPGRpdiBjbGFzcz0i
Ij4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj4NCjxkaXYgY2xhc3M9
IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgbGVhZiBtYXNrbGVuZ3RoIHs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlwZSB1aW50ODs8L2Rp
dj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB9PC9k
aXY+DQo8ZGl2IGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGxlYWYgbWFza2xlbmd0aC1yYW5nZSB7
PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg
Jm5ic3A7IHR5cGUgc3RyaW5nIHs8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHBhdHRlcm4gJ14oWzAtOV0mIzQzO1wu
XC5bMC05XSYjNDM7KXxleGFjdCQnOzwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB9PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPiZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDt9PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPn08L2Rp
dj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSIiPlRo
ZSBtb2RlbCB1c2VkIGFkZHJlc3MgYW5kIGEgc2VwYXJhdGUgbWFza2xlbmd0aCBzbyB0aGF0IHJh
bmdlIGNoZWNraW5nIGNvdWxkIGJlIHBlcmZvcm1lZCBvbiB0aGUgbWFzay4gJm5ic3A7IFdlJ3Zl
IHNpbmNlIHJlbW92ZWQgdGhlIHJhbmdlLWNoZWNraW5nIGluIGZhdm9yIG9mIHNpbXBsaWZ5aW5n
IHRvIGtlZXAgYSBzaW5nbGUgcHJlZml4IGxpc3QgZm9yIGJvdGggYWRkcmVzcyB0eXBlcywgaXB2
NCBhbmQgaXB2Ni48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9kaXY+DQo8
ZGl2IGNsYXNzPSIiPlRoZSBvcmlnaW5hbCBtb2RlbCBoYWQgdGhlIHByb2JsZW0geW91IG1lbnRp
b24sIHdoaWNoIGlzIHRoYXQgYWxsIGtleXMgbXVzdCBiZSBtYW5kYXRvcnksIGluY2x1ZGluZyBt
YXNrbGVuZ3RoLXJhbmdlLCB3aGljaCBtZWFudCB0aGVyZSB3YXMgbm8gc2ltcGxlIHdheSB0byBl
eHByZXNzIGFuIGV4YWN0IHByZWZpeCBvdGhlciB0aGFuLCBlLmcuLCAyMS4uMjEgd2hpY2ggd2Ug
ZGlkbid0IHRoaW5rIHdhcyBkZXNpcmFibGUuJm5ic3A7DQogQ2hhbmdpbmcgdGhlIG1hc2tsZW5n
dGgtcmFuZ2UgdG8gYSBzdHJpbmcgYWxsb3dzIGEgbW9yZSBmbGV4aWJsZSBwYXR0ZXJuIChpbmNs
dWRpbmcgYW4gJ2V4YWN0JyBzZXR0aW5nKS4mbmJzcDsgVGhlIG1hc2tsZW5ndGgtcmFuZ2UgaXMg
aW5jbHVkZWQgaW4gdGhlIGtleXMgdG8gbWFrZSB0aGUgbGlzdCBoYXZlIHVuaXF1ZSBtZW1iZXJz
LiZuYnNwOzwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYg
Y2xhc3M9IiI+SSB0aGluayB3ZSBjb3VsZCBhbHNvIGNvbnNpZGVyIHlvdXIgc3VnZ2VzdGlvbiB0
byB1c2UgYSBpbmV0OmlwLXByZWZpeCBpbnN0ZWFkIG9mIGFkZHJlc3Mgc2luY2Ugd2UncmUgbm90
IGRvaW5nIHJhbmdlLWNoZWNraW5nIG9uIHRoZSBtYXNrbGVuZ3RoIGluIHRoZSBjdXJyZW50IGFw
cHJvYWNoIC0tIHdpbGwgZGlzY3VzcyB3aXRoIHRoZSBjby1hdXRob3JzLjwvZGl2Pg0KPGRpdiBj
bGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+QWdyZWUgd2l0aCB5
b3VyIHN1Z2dlc3Rpb24gdG8gbWFrZSB0aGUgWE1MIGV4YW1wbGVzIG1vcmUgY29uZm9ybWFudCAo
dGhleSBzaG91bGQgY2VydGFpbmx5IHZhbGlkYXRlKSwgdGhvdWdoIHdlJ3ZlIG9ubHkgYmVlbiB1
c2luZyBhZC1ob2MgbmFtZXNwYWNlcyBmb3IgbW9kZWxzIHRoYXQgYXJlIG5vdCBJRVRGIFdHIG1v
ZGVscyBzbyBmYXIuJm5ic3A7IE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCB0aGlzIGlzIHRoZSBy
ZWNvbW1lbmRlZA0KIHByYWN0aWNlLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+
DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+dGhhbmtzLjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4tLSBB
bmVlczwvZGl2Pg0KPGRpdiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyZuYnNwOzxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxk
aXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSJnbWFpbF9x
dW90ZSI+T24gV2VkLCBNYXkgMjcsIDIwMTUgYXQgNToyNCBBTSwgSnVlcmdlbiBTY2hvZW53YWVs
ZGVyIDxzcGFuIGRpcj0ibHRyIiBjbGFzcz0iIj4NCiZsdDs8YSBocmVmPSJtYWlsdG86ai5zY2hv
ZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9IiI+
ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPC9hPiZndDs8L3NwYW4+IHdyb3Rl
OjxiciBjbGFzcz0iIj4NCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1h
cmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDox
ZXgiPg0KSGksPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KSSBoYXZlIHJlYWQgdGhlIGRv
Y3VtZW50IGFuZCBJIGhhdmUgYSBzbWFsbCBjb21tZW50LjxiciBjbGFzcz0iIj4NCjxiciBjbGFz
cz0iIj4NCi0gWW91IGRlZmluZSBhIGxpc3QgJ3ByZWZpeCcgaW4gdGhlIGxpc3QgJ3ByZWZpeC1z
ZXQnIHdoaWNoIGlzIGtleWVkPGJyIGNsYXNzPSIiPg0KJm5ic3A7IGJ5IHRocmVlIGxlYWZzLiBB
cyBhIHJlc3VsdCwgYWxsIHRocmVlIGxlYWZzIGFyZSBtYW5kYXRvcnkuIFlvdXIgWE1MPGJyIGNs
YXNzPSIiPg0KJm5ic3A7IGluc3RhbmNlIHNuaXBwZWQgaW4gc2VjdGlvbiAxMCBkb2VzIG5vdCB2
YWxpZGF0ZSBiZWNhdXNlIGl0IGlzPGJyIGNsYXNzPSIiPg0KJm5ic3A7IG1pc3NpbmcgbWFuZGF0
b3J5IGtleSBlbGVtZW50cy4gSSB3b25kZXIgKGEpIHdoeSBkaWQgeW91IG5vdCB1c2U8YnIgY2xh
c3M9IiI+DQombmJzcDsgaW5ldDppcC1wcmVmaXggaW5zdGVhZCBvZiB0aGUgcGFpciBpbmV0Omlw
LWFkZHJlc3MgYW5kIGEgdW5pdDg8YnIgY2xhc3M9IiI+DQombmJzcDsgbWFza2xlbmd0aC4gQW5k
IGdpdmVuIHRoZSBkZXNpcmUgdG8gcmVwcmVzZW50IGEgcHJlZml4IHJhbmdlLCB3b3VsZDxiciBj
bGFzcz0iIj4NCiZuYnNwOyBhIHNwZWNpYWwgc3ludGF4IG5vdCBtYWtlIHNlbnNlLCBlLmcuIGFu
IGV4dGVuc2lvbiBvZiBpcC1wcmVmaXgsPGJyIGNsYXNzPSIiPg0KJm5ic3A7IGxldHMgY2FsbCBp
dCBpcC1wcmVmaXgtcmFuZ2UsIHRoYXQgYWxsb3dzIHRvIGV4cHJlc3MgYSByYW5nZSBvZjxiciBj
bGFzcz0iIj4NCiZuYnNwOyBwcmVmaXhlczo8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQom
bmJzcDsgPGEgaHJlZj0iaHR0cDovLzEwLjMuMTkyLjAvMjEtMjQiIHRhcmdldD0iX2JsYW5rIiBj
bGFzcz0iIj4xMC4zLjE5Mi4wLzIxLTI0PC9hPiAtJmd0Ow0KPGEgaHJlZj0iaHR0cDovLzEwLjMu
MTkyLjAvMjEiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4xMC4zLjE5Mi4wLzIxPC9hPjxiciBj
bGFzcz0iIj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovLzEwLjMuMTkyLjAv
MjIiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iIj4xMC4zLjE5Mi4wLzIyPC9hPjxiciBjbGFzcz0i
Ij4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovLzEwLjMuMTkyLjAvMjMiIHRh
cmdldD0iX2JsYW5rIiBjbGFzcz0iIj4xMC4zLjE5Mi4wLzIzPC9hPjxiciBjbGFzcz0iIj4NCiZu
YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgPGEgaHJlZj0iaHR0cDovLzEwLjMuMTkyLjAvMjQiIHRhcmdldD0i
X2JsYW5rIiBjbGFzcz0iIj4xMC4zLjE5Mi4wLzI0PC9hPjxiciBjbGFzcz0iIj4NCjxiciBjbGFz
cz0iIj4NCiZuYnNwOyBJZiB0aGUgJy0yNCcgcGFydCBpcyBtYWRlIG9wdGlvbmFsLCB5b3VyIHBy
ZWZpeCBsaXN0IHdpbGwgYmU8YnIgY2xhc3M9IiI+DQombmJzcDsgY29sbGFwc2VkIHRvIGEgc2lt
cGxlPGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KJm5ic3A7IGxpc3QgcHJlZml4IHs8YnIg
Y2xhc3M9IiI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyBrZXkgcHJlZml4LXJhbmdlOzxiciBjbGFz
cz0iIj4NCjxiciBjbGFzcz0iIj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7IGxlYWYgcHJlZml4LXJh
bmdlIHs8YnIgY2xhc3M9IiI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHR5
cGUgaXAtcHJlZml4LXJhbmdlOzxiciBjbGFzcz0iIj4NCiZuYnNwOyAmbmJzcDsgJm5ic3A7IH08
YnIgY2xhc3M9IiI+DQombmJzcDsgfTxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCiZuYnNw
OyBTdWNoIGFuIGlwLXByZWZpeC1yYW5nZSB0eXBlIG1heSBldmVuIGJlIGEgdXNlZnVsIGFkZGl0
aW9uIHRvPGJyIGNsYXNzPSIiPg0KJm5ic3A7IGlldGYtaW5ldC10eXBlcy48YnIgY2xhc3M9IiI+
DQo8YnIgY2xhc3M9IiI+DQotIFRoZSBYTUwgc25pcHBldHMgYXJlIG5pY2UgYnV0IGl0IHdvdWxk
IGJlIGNvb2wgaWYgdGhleSB3ZXJlIHVzaW5nPGJyIGNsYXNzPSIiPg0KJm5ic3A7IHByb3BlciBu
YW1lc3BhY2VzIGFuZCB2YWxpZGF0ZSBhZ2FpbnN0IHRoZSBkYXRhIG1vZGVsLiBQZXJoYXBzPGJy
IGNsYXNzPSIiPg0KJm5ic3A7IHNvbWV0aGluZyB0byBjb25zaWRlciBmb3IgLTAxLiBUaGUgcHlh
bmcgdHV0b3JpYWwgcHJvdmlkZXMgZXhhbXBsZXM8YnIgY2xhc3M9IiI+DQombmJzcDsgaG93IHRv
IHZhbGlkYXRlIFhNTCBzbmlwcGV0cyBhZ2FpbnN0IFlBTkcgZGVmaW5pdGlvbnMuPGJyIGNsYXNz
PSIiPg0KPHNwYW4gY2xhc3M9IkhPRW5aYiI+PGZvbnQgY29sb3I9IiM4ODg4ODgiIGNsYXNzPSIi
PjxiciBjbGFzcz0iIj4NCi9qczxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCi0tPGJyIGNs
YXNzPSIiPg0KSnVlcmdlbiBTY2hvZW53YWVsZGVyJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDtKYWNvYnMgVW5pdmVyc2l0eSBCcmVtZW4gZ0dtYkg8YnIgY2xhc3M9IiI+
DQpQaG9uZTogPGEgaHJlZj0idGVsOiUyQjQ5JTIwNDIxJTIwMjAwJTIwMzU4NyIgdmFsdWU9IiYj
NDM7NDk0MjEyMDAzNTg3IiBjbGFzcz0iIj4mIzQzOzQ5IDQyMSAyMDAgMzU4NzwvYT4mbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Q2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1lbiB8
IEdlcm1hbnk8YnIgY2xhc3M9IiI+DQpGYXg6Jm5ic3A7ICZuYnNwOzxhIGhyZWY9InRlbDolMkI0
OSUyMDQyMSUyMDIwMCUyMDMxMDMiIHZhbHVlPSImIzQzOzQ5NDIxMjAwMzEwMyIgY2xhc3M9IiI+
JiM0Mzs0OSA0MjEgMjAwIDMxMDM8L2E+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyZsdDs8YSBocmVmPSJodHRwOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLyIgdGFyZ2V0PSJf
YmxhbmsiIGNsYXNzPSIiPmh0dHA6Ly93d3cuamFjb2JzLXVuaXZlcnNpdHkuZGUvPC9hPiZndDs8
YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXzxiciBjbGFzcz0iIj4NClJ0Zy15YW5nLWNvb3JkIG1haWxpbmcg
bGlzdDxiciBjbGFzcz0iIj4NCjxhIGhyZWY9Im1haWx0bzpSdGcteWFuZy1jb29yZEBpZXRmLm9y
ZyIgY2xhc3M9IiI+UnRnLXlhbmctY29vcmRAaWV0Zi5vcmc8L2E+PGJyIGNsYXNzPSIiPg0KPGEg
aHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9ydGcteWFuZy1jb29y
ZCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSIiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4v
bGlzdGluZm8vcnRnLXlhbmctY29vcmQ8L2E+PGJyIGNsYXNzPSIiPg0KPC9mb250Pjwvc3Bhbj48
L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp
dj4NCjwvYmxvY2txdW90ZT4NCjwvc3Bhbj48L2Rpdj4NCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsYXNzPSIiPg0KUnRnLXlhbmctY29vcmQgbWFp
bGluZyBsaXN0PGJyIGNsYXNzPSIiPg0KPGEgaHJlZj0ibWFpbHRvOlJ0Zy15YW5nLWNvb3JkQGll
dGYub3JnIiBjbGFzcz0iIj5SdGcteWFuZy1jb29yZEBpZXRmLm9yZzwvYT48YnIgY2xhc3M9IiI+
DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J0Zy15YW5nLWNvb3JkPGJy
IGNsYXNzPSIiPg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4N
CjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_15B43214AE8449C0A83B9E4DB6184CC6ciscocom_--


From nobody Wed May 27 22:53:35 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2B6DC1A00E0 for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 22:53:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level: 
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 CGeUqCQVT7fa for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 22:53:32 -0700 (PDT)
Received: from mail-oi0-x22d.google.com (mail-oi0-x22d.google.com [IPv6:2607:f8b0:4003:c06::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 3A7731A00DC for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 22:53:32 -0700 (PDT)
Received: by oifu123 with SMTP id u123so24599655oif.1 for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 22:53:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=fDKpwFWawAEJTx36yqEn6K9uoCkeY1dsRZt3MrNYPgc=; b=QDPLh9AHay+maL9p4j5TfSXobe2YzhvInWWSJoLar8JHGIQzmlkjI8bOksZ00s5Mmk mJd3+SvrmN2MwUjLitPXPwPbphEwEuioS9K6Cvl6Y/s5KhuDYwVmMnOb+124cC7lJwi2 HoU7NI9B1O6QJcNbYMeKZSNyO5GAznqx7OZQqoW+ARByh9uoQCOJRV8XARuJCZGXADaQ 4hiu0Ns30mEa17HDrLly/OSCy5S7oj0QSn/gpLbMNgNC0WJEGqdj0SoMuy/fB9XgU+kB 3Q4kVemRsoywdjTp1ASqGKaM+977KBzqEMoTAA471K6QD+0KIxnjl/VTZXadWhinLSw7 OE4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=fDKpwFWawAEJTx36yqEn6K9uoCkeY1dsRZt3MrNYPgc=; b=TaZnjKsNtVDHpt9LWmT9ascOvNdjyMpbfowO3Kjzyg1t598lNLZZP3EE24G3MYQy1K pQPkA5EfM2yKm2L28hWIQ9T6+bfVCXZazggImdgTG5KgZau1IZvw0rC8iQUjpp3ajILQ MQuof6Bahietl61d6vb3llS7L1U0J0MXisxwcHe0/PBZeNpRWldFv88j7jfv3bpXhmNa QuKAZxNtDlKt1S3TthEZRTvd1ns7U7+DUwPzBMIjYlzcVnyrPOkj/7+CIGG+Nr4lHuWN PwgL85ffnYk8I0IjP5JpJCGBNbV8Ms1/RotbkhBfXEqijV39AbUFrVkxwYHV6+H2O6hH CgPQ==
X-Gm-Message-State: ALoCoQnF8/T5sIPyjBwi5BNUJ2DnDm4oWf0xQZJJEN3qwlBrAGRmR5yGurlA3eUzWqUzQ+URvAzX
MIME-Version: 1.0
X-Received: by 10.182.111.231 with SMTP id il7mr961183obb.15.1432792411522; Wed, 27 May 2015 22:53:31 -0700 (PDT)
Received: by 10.182.144.228 with HTTP; Wed, 27 May 2015 22:53:31 -0700 (PDT)
In-Reply-To: <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com>
Date: Wed, 27 May 2015 22:53:31 -0700
Message-ID: <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
From: Anees Shaikh <aashaikh@google.com>
To: "Acee Lindem (acee)" <acee@cisco.com>
Content-Type: multipart/alternative; boundary=089e01536862ba1cbd05171dfa21
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/GvKa5AoLs3LIKotIBfzgiVQgG9Q>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 05:53:35 -0000

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

hi Acee, thanks for the comments -- we debated these same questions :-)

This approach was based on the wish to avoid operators having to worry
about specifying an ipv4 prefix list separately from an ipv6 -- no major
implementation has this separation today (though it could be considered).

If using inet:ip-prefix type instead of inet:ip-address + masklength buys
us some range checking in the pattern , maybe that's another reason to
switch to using that union type instead.  We will discuss making that
update.

You're right that with a string we don't do checking on the
masklength-range field.  As I mentioned earlier in the thread, this was to
accommodate a simple way to express an exact prefix (several
implementations do something similar).

Among OpenConfig operators, after some debate, we generally try to balance
the amount of validation in the model itself, with maintaining flexibility
and simplicity.  In other words, we don't believe the model needs to
prevent every conceivable error -- the implementation also has to
participate by rejecting invalid / unsupported configuration.  That said,
where it's easy to add validation, we have tried to include it, though
ranges, defaults, min/max values, etc. get harder when trying to build
something vendor-neutral.

Same applies to your correct comment that the current construct
theoretically allows one to mix address types in the prefix list.
Interestingly, some implementations allow you to create such a list, but
fail later when you try to use it in a policy.   We've chosen for now to
allow it (again for simplicity), but explicitly say in the description that
most implementations will reject a prefix-list with mixed address types.

thanks.
-- Anees



On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (acee) <acee@cisco.com> wrote:

>
>  On May 27, 2015, at 12:47 PM, Acee Lindem (acee) <acee@cisco.com> wrote:
>
>  Hi Anees,
> I had noted problems with the prefix-lists in the draft as well but hadn=
=E2=80=99t
> got around to raising them. One thing about the masklength and
> masklength-range is that there is no validation in the model snippet belo=
w.
> In other words, there is nothing to express that the masklength must
> between 0..32 for IPv4 addresses and 0..128 for IPv6 addresses  (this is
> enforced by the ip-prefix type from RFC 6991). Similarly, as a string the=
re
> in no inherent validation of the masklength-range (e.g., both values must
> be >=3D masklength, second value must be >=3D first-value, and both value=
s must
> be >=3D AF specific limit).
>
>
>  Of course I meant "<=3D AF specific limit=E2=80=9D.
>
>  Thanks,
> Acee
>
>
>   Also, there is nothing to prevent one from mixing IPv4 and IPv6
> prefixes in the same length which is definitely not allowed for the
> prefix-lists we all know and love.
> Thanks,
> Acee
>
>   From: Anees Shaikh <aashaikh@google.com>
> Date: Wednesday, May 27, 2015 at 12:09 PM
> To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Routing
> YANG <rtg-yang-coord@ietf.org>
> Subject: Re: [Rtg-yang-coord] comment concerning
> draft-shaikh-rtgwg-policy-model-00
>
>   Juergen, you're right that prefix-lists in the model turned out to be a
> bit problematic as currently defined.  We've updated the model in the mos=
t
> recent revision after going through some translations of our configs to t=
he
> OpenConfig model and running into some issues.  The updated version looks
> more like the following:
>
>  list prefix {
>           key "address masklength masklength-range";
>
>            leaf address {
>             type inet:ip-address;
>           }
>
>            leaf masklength {
>             type uint8;
>           }
>
>            leaf masklength-range {
>             type string {
>               pattern '^([0-9]+\.\.[0-9]+)|exact$';
>             }
>          }
> }
>
>  The model used address and a separate masklength so that range checking
> could be performed on the mask.   We've since removed the range-checking =
in
> favor of simplifying to keep a single prefix list for both address types,
> ipv4 and ipv6.
>
>  The original model had the problem you mention, which is that all keys
> must be mandatory, including masklength-range, which meant there was no
> simple way to express an exact prefix other than, e.g., 21..21 which we
> didn't think was desirable.  Changing the masklength-range to a string
> allows a more flexible pattern (including an 'exact' setting).  The
> masklength-range is included in the keys to make the list have unique
> members.
>
>  I think we could also consider your suggestion to use a inet:ip-prefix
> instead of address since we're not doing range-checking on the masklength
> in the current approach -- will discuss with the co-authors.
>
>  Agree with your suggestion to make the XML examples more conformant
> (they should certainly validate), though we've only been using ad-hoc
> namespaces for models that are not IETF WG models so far.  My understandi=
ng
> is that this is the recommended practice.
>
>  thanks.
> -- Anees
>
>
> On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder <
> j.schoenwaelder@jacobs-university.de> wrote:
>
>> Hi,
>>
>> I have read the document and I have a small comment.
>>
>> - You define a list 'prefix' in the list 'prefix-set' which is keyed
>>   by three leafs. As a result, all three leafs are mandatory. Your XML
>>   instance snipped in section 10 does not validate because it is
>>   missing mandatory key elements. I wonder (a) why did you not use
>>   inet:ip-prefix instead of the pair inet:ip-address and a unit8
>>   masklength. And given the desire to represent a prefix range, would
>>   a special syntax not make sense, e.g. an extension of ip-prefix,
>>   lets call it ip-prefix-range, that allows to express a range of
>>   prefixes:
>>
>>   10.3.192.0/21-24 -> 10.3.192.0/21
>>                       10.3.192.0/22
>>                       10.3.192.0/23
>>                       10.3.192.0/24
>>
>>   If the '-24' part is made optional, your prefix list will be
>>   collapsed to a simple
>>
>>   list prefix {
>>       key prefix-range;
>>
>>       leaf prefix-range {
>>           type ip-prefix-range;
>>       }
>>   }
>>
>>   Such an ip-prefix-range type may even be a useful addition to
>>   ietf-inet-types.
>>
>> - The XML snippets are nice but it would be cool if they were using
>>   proper namespaces and validate against the data model. Perhaps
>>   something to consider for -01. The pyang tutorial provides examples
>>   how to validate XML snippets against YANG definitions.
>>
>> /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/>
>>
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>
>
>    _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
>
>

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

<div dir=3D"ltr">hi Acee, thanks for the comments -- we debated these same =
questions :-) =C2=A0<div><br></div><div>This approach was based on the wish=
 to avoid operators having to worry about specifying an ipv4 prefix list se=
parately from an ipv6 -- no major implementation has this separation today =
(though it could be considered).</div><div><br></div><div>If using inet:ip-=
prefix type instead of inet:ip-address + masklength buys us some range chec=
king in the pattern , maybe that&#39;s another reason to switch to using th=
at union type instead.=C2=A0 We will discuss making that update.<div><br></=
div><div>You&#39;re right that with a string we don&#39;t do checking on th=
e masklength-range field.=C2=A0 As I mentioned earlier in the thread, this =
was to accommodate a simple way to express an exact prefix (several impleme=
ntations do something similar). =C2=A0=C2=A0</div><div><br></div><div>Among=
 OpenConfig operators, after some debate, we generally try to balance the a=
mount of validation in the model itself, with maintaining flexibility and s=
implicity.=C2=A0 In other words, we don&#39;t believe the model needs to pr=
event every conceivable error -- the implementation also has to participate=
 by rejecting invalid / unsupported configuration.=C2=A0 That said, where i=
t&#39;s easy to add validation, we have tried to include it, though ranges,=
 defaults, min/max values, etc. get harder when trying to build something v=
endor-neutral.</div></div><div><br></div><div>Same applies to your correct =
comment that the current construct theoretically allows one to mix address =
types in the prefix list.=C2=A0 Interestingly, some implementations allow y=
ou to create such a list, but fail later when you try to use it in a policy=
. =C2=A0 We&#39;ve chosen for now to allow it (again for simplicity), but e=
xplicitly say in the description that most implementations will reject a pr=
efix-list with mixed address types.</div><div><br></div><div>thanks.</div><=
div>-- Anees</div><div><br></div><div><br></div></div><div class=3D"gmail_e=
xtra"><br><div class=3D"gmail_quote">On Wed, May 27, 2015 at 9:57 AM, Acee =
Lindem (acee) <span dir=3D"ltr">&lt;<a href=3D"mailto:acee@cisco.com" targe=
t=3D"_blank">acee@cisco.com</a>&gt;</span> wrote:<br><blockquote class=3D"g=
mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
eft:1ex">



<div style=3D"word-wrap:break-word">
<br>
<div><span class=3D"">
<blockquote type=3D"cite">
<div>On May 27, 2015, at 12:47 PM, Acee Lindem (acee) &lt;<a href=3D"mailto=
:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&gt; wrote:</div>
<br>
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Hi Anees,=C2=A0</div>
<div>I had noted problems with the prefix-lists in the draft as well but ha=
dn=E2=80=99t got around to raising them. One thing about the masklength and=
 masklength-range is that there is no validation in the model snippet below=
. In other words, there is nothing
 to express that the masklength must between 0..32 for IPv4 addresses and 0=
..128 for IPv6 addresses =C2=A0(this is enforced by the ip-prefix type from=
 RFC 6991). Similarly, as a string there in no inherent validation of the m=
asklength-range (e.g., both values must
 be &gt;=3D masklength, second value must be &gt;=3D first-value, and both =
values must be &gt;=3D AF specific limit).
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</span><div>Of course I meant &quot;&lt;=3D AF specific limit=E2=80=9D.=C2=
=A0</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Acee=C2=A0</div><div><div class=3D"h5">
<div><br>
</div>
<br>
<blockquote type=3D"cite">
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Also, there is nothing to prevent one from mixing IPv4 and IPv6 prefix=
es in the same length which is definitely not allowed for the prefix-lists =
we all know and love.=C2=A0</div>
<div>Thanks,</div>
<div>Acee=C2=A0</div>
<div><br>
</div>
<span>
<div style=3D"font-family:Calibri;font-size:11pt;text-align:left;border-wid=
th:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;borde=
r-top-color:rgb(181,196,223)">
<span style=3D"font-weight:bold">From: </span>Anees Shaikh &lt;<a href=3D"m=
ailto:aashaikh@google.com" target=3D"_blank">aashaikh@google.com</a>&gt;<br=
>
<span style=3D"font-weight:bold">Date: </span>Wednesday, May 27, 2015 at 12=
:09 PM<br>
<span style=3D"font-weight:bold">To: </span>Juergen Schoenwaelder &lt;<a hr=
ef=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blank">j.scho=
enwaelder@jacobs-university.de</a>&gt;, Routing YANG &lt;<a href=3D"mailto:=
rtg-yang-coord@ietf.org" target=3D"_blank">rtg-yang-coord@ietf.org</a>&gt;<=
br>
<span style=3D"font-weight:bold">Subject: </span>Re: [Rtg-yang-coord] comme=
nt concerning draft-shaikh-rtgwg-policy-model-00<br>
</div>
<div><br>
</div>
<blockquote style=3D"BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0=
 0 5">
<div>
<div>
<div dir=3D"ltr">Juergen, you&#39;re right that prefix-lists in the model t=
urned out to be a bit problematic as currently defined.=C2=A0 We&#39;ve upd=
ated the model in the most recent revision after going through some transla=
tions of our configs to the OpenConfig
 model and running into some issues.=C2=A0 The updated version looks more l=
ike the following:
<div><br>
</div>
<div>
<div>list prefix {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 key &quot;address masklength maskle=
ngth-range&quot;;</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf address {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type inet:ip-address;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf masklength {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type uint8;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf masklength-range {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type string {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 pattern &#39;^([0-9]+=
\.\.[0-9]+)|exact$&#39;;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}</div>
<div>}</div>
<div><br>
</div>
<div>The model used address and a separate masklength so that range checkin=
g could be performed on the mask. =C2=A0 We&#39;ve since removed the range-=
checking in favor of simplifying to keep a single prefix list for both addr=
ess types, ipv4 and ipv6.</div>
<div><br>
</div>
<div>The original model had the problem you mention, which is that all keys=
 must be mandatory, including masklength-range, which meant there was no si=
mple way to express an exact prefix other than, e.g., 21..21 which we didn&=
#39;t think was desirable.=C2=A0
 Changing the masklength-range to a string allows a more flexible pattern (=
including an &#39;exact&#39; setting).=C2=A0 The masklength-range is includ=
ed in the keys to make the list have unique members.=C2=A0</div>
<div><br>
</div>
<div>I think we could also consider your suggestion to use a inet:ip-prefix=
 instead of address since we&#39;re not doing range-checking on the masklen=
gth in the current approach -- will discuss with the co-authors.</div>
<div><br>
</div>
<div>Agree with your suggestion to make the XML examples more conformant (t=
hey should certainly validate), though we&#39;ve only been using ad-hoc nam=
espaces for models that are not IETF WG models so far.=C2=A0 My understandi=
ng is that this is the recommended
 practice.</div>
<div><br>
</div>
<div>thanks.</div>
<div>-- Anees</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0<br>
</div>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenw=
aelder <span dir=3D"ltr">
&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blan=
k">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I have read the document and I have a small comment.<br>
<br>
- You define a list &#39;prefix&#39; in the list &#39;prefix-set&#39; which=
 is keyed<br>
=C2=A0 by three leafs. As a result, all three leafs are mandatory. Your XML=
<br>
=C2=A0 instance snipped in section 10 does not validate because it is<br>
=C2=A0 missing mandatory key elements. I wonder (a) why did you not use<br>
=C2=A0 inet:ip-prefix instead of the pair inet:ip-address and a unit8<br>
=C2=A0 masklength. And given the desire to represent a prefix range, would<=
br>
=C2=A0 a special syntax not make sense, e.g. an extension of ip-prefix,<br>
=C2=A0 lets call it ip-prefix-range, that allows to express a range of<br>
=C2=A0 prefixes:<br>
<br>
=C2=A0 <a href=3D"http://10.3.192.0/21-24" target=3D"_blank">10.3.192.0/21-=
24</a> -&gt;
<a href=3D"http://10.3.192.0/21" target=3D"_blank">10.3.192.0/21</a><br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/22" target=3D"_blank">10.3.192.0/22</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/23" target=3D"_blank">10.3.192.0/23</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/24" target=3D"_blank">10.3.192.0/24</a><br=
>
<br>
=C2=A0 If the &#39;-24&#39; part is made optional, your prefix list will be=
<br>
=C2=A0 collapsed to a simple<br>
<br>
=C2=A0 list prefix {<br>
=C2=A0 =C2=A0 =C2=A0 key prefix-range;<br>
<br>
=C2=A0 =C2=A0 =C2=A0 leaf prefix-range {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type ip-prefix-range;<br>
=C2=A0 =C2=A0 =C2=A0 }<br>
=C2=A0 }<br>
<br>
=C2=A0 Such an ip-prefix-range type may even be a useful addition to<br>
=C2=A0 ietf-inet-types.<br>
<br>
- The XML snippets are nice but it would be cool if they were using<br>
=C2=A0 proper namespaces and validate against the data model. Perhaps<br>
=C2=A0 something to consider for -01. The pyang tutorial provides examples<=
br>
=C2=A0 how to validate XML snippets against YANG definitions.<br>
<span><font color=3D"#888888"><br>
/js<br>
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: <a href=3D"tel:%2B49%20421%20200%203587" value=3D"+494212003587" tar=
get=3D"_blank">+49 421 200 3587</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus=
 Ring 1 | 28759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0<a href=3D"tel:%2B49%20421%20200%203103" value=3D"+4942120=
03103" target=3D"_blank">+49 421 200 3103</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0&lt;<a href=3D"http://www.jacobs-university.de/" target=3D"_blank">ht=
tp://www.jacobs-university.de/</a>&gt;<br>
<br>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</span></div>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</div>
</blockquote>
</div></div></div>
<br>
</div>

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

--089e01536862ba1cbd05171dfa21--


From nobody Wed May 27 23:51:07 2015
Return-Path: <jeff.tantsura@ericsson.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C5E391A1B7D for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 23:51:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.6
X-Spam-Level: 
X-Spam-Status: No, score=-3.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, J_CHICKENPOX_26=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 l-DIaAfDeXxZ for <rtg-yang-coord@ietfa.amsl.com>; Wed, 27 May 2015 23:51:01 -0700 (PDT)
Received: from usevmg21.ericsson.net (usevmg21.ericsson.net [198.24.6.65]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F1131A1B7A for <Rtg-yang-coord@ietf.org>; Wed, 27 May 2015 23:51:01 -0700 (PDT)
X-AuditID: c6180641-f79086d000001909-ae-5566559e9e14
Received: from EUSAAHC003.ericsson.se (Unknown_Domain [147.117.188.81]) by usevmg21.ericsson.net (Symantec Mail Security) with SMTP id 1D.5A.06409.E9556655; Thu, 28 May 2015 01:39:10 +0200 (CEST)
Received: from EUSAAMB109.ericsson.se ([147.117.188.126]) by EUSAAHC003.ericsson.se ([147.117.188.81]) with mapi id 14.03.0210.002; Thu, 28 May 2015 02:50:59 -0400
From: Jeff Tantsura <jeff.tantsura@ericsson.com>
To: Anees Shaikh <aashaikh@google.com>
Thread-Topic: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Thread-Index: AQHQmJeN5jWALvM7EUmLA5K3S0r2rJ2QS2CAgAAC8wCAANjMgP//zP/6
Date: Thu, 28 May 2015 06:50:58 +0000
Message-ID: <376DFA77-D190-4957-B842-DDB6ACAF3E1B@ericsson.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com>, <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
In-Reply-To: <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Content-Type: multipart/alternative; boundary="_000_376DFA77D1904957B842DDB6ACAF3E1Bericssoncom_"
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42KZXLonUHdeaFqowa/D1hYbdypaTH47j9ni 6safjBa/n99mdmDxmPJ7I6vHgk2lHkuW/GTy2HDAM4AlissmJTUnsyy1SN8ugSvj+/O3LAXX ljFWTDq9hKmBcVk3YxcjJ4eEgInEt4ZZrBC2mMSFe+vZuhi5OIQEjjJKLHiznAXCWc4o8bj9 JRtIFZuAgcT/b8eBEhwcIgJqEg+mhoDUMAssYJS4OvsXO0iNsECoxO+t+8GmigiESbR//MYC YbtJ3Dv0nQnEZhFQlei//B0szitgLzFv0RywuJDAJCaJswvA5nAKBErM7ZsDtpcR6Lrvp9aA 1TALiEvcejKfCeJqAYkle84zQ9iiEi8f/2OFqEmW+Hb8ONR8QYmTM5+wTGAUmYWkfRaSsllI yiDiBhLvz81nhrC1JZYtfA1l60ts/HKWEVl8ASP7KkaO0uLUstx0I8NNjMAoOybB5riDccEn y0OMAhyMSjy8CXZpoUKsiWXFlbmHGKU5WJTEeS+qhoQKCaQnlqRmp6YWpBbFF5XmpBYfYmTi 4JRqYFwsk7Jr82rDYwrxhk631yqvsWCbL85bM/OLoHPkLqaPu+8bHak97upbu6QoXPu+1lNO Vom9stWRM9M3egT+mMmmsnOnjdyM93JrZ3FOWmxuvvjEK5kLfmpCC9+8OeOerKhg8mTtZ+uf vUvK43bqKntZidsc845UWLXsv+ae1se3pZmFnZkSxJVYijMSDbWYi4oTAWSMbgOTAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/2uEBJEeUyVuDdyVYLhJq7SL21K0>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 06:51:05 -0000

--_000_376DFA77D1904957B842DDB6ACAF3E1Bericssoncom_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi Anees,

Using ip:prefix type would for sure benefit from better validation enforcem=
ent.
Saying "for now" - do you expect it to be changed later?

Thanks!

Regards,
Jeff

On May 27, 2015, at 10:53 PM, "Anees Shaikh" <aashaikh@google.com<mailto:aa=
shaikh@google.com>> wrote:

hi Acee, thanks for the comments -- we debated these same questions :-)

This approach was based on the wish to avoid operators having to worry abou=
t specifying an ipv4 prefix list separately from an ipv6 -- no major implem=
entation has this separation today (though it could be considered).

If using inet:ip-prefix type instead of inet:ip-address + masklength buys u=
s some range checking in the pattern , maybe that's another reason to switc=
h to using that union type instead.  We will discuss making that update.

You're right that with a string we don't do checking on the masklength-rang=
e field.  As I mentioned earlier in the thread, this was to accommodate a s=
imple way to express an exact prefix (several implementations do something =
similar).

Among OpenConfig operators, after some debate, we generally try to balance =
the amount of validation in the model itself, with maintaining flexibility =
and simplicity.  In other words, we don't believe the model needs to preven=
t every conceivable error -- the implementation also has to participate by =
rejecting invalid / unsupported configuration.  That said, where it's easy =
to add validation, we have tried to include it, though ranges, defaults, mi=
n/max values, etc. get harder when trying to build something vendor-neutral=
.

Same applies to your correct comment that the current construct theoretical=
ly allows one to mix address types in the prefix list.  Interestingly, some=
 implementations allow you to create such a list, but fail later when you t=
ry to use it in a policy.   We've chosen for now to allow it (again for sim=
plicity), but explicitly say in the description that most implementations w=
ill reject a prefix-list with mixed address types.

thanks.
-- Anees



On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (acee) <acee@cisco.com<mailto:=
acee@cisco.com>> wrote:

On May 27, 2015, at 12:47 PM, Acee Lindem (acee) <acee@cisco.com<mailto:ace=
e@cisco.com>> wrote:

Hi Anees,
I had noted problems with the prefix-lists in the draft as well but hadn=92=
t got around to raising them. One thing about the masklength and masklength=
-range is that there is no validation in the model snippet below. In other =
words, there is nothing to express that the masklength must between 0..32 f=
or IPv4 addresses and 0..128 for IPv6 addresses  (this is enforced by the i=
p-prefix type from RFC 6991). Similarly, as a string there in no inherent v=
alidation of the masklength-range (e.g., both values must be >=3D masklengt=
h, second value must be >=3D first-value, and both values must be >=3D AF s=
pecific limit).

Of course I meant "<=3D AF specific limit=94.

Thanks,
Acee


Also, there is nothing to prevent one from mixing IPv4 and IPv6 prefixes in=
 the same length which is definitely not allowed for the prefix-lists we al=
l know and love.
Thanks,
Acee

From: Anees Shaikh <aashaikh@google.com<mailto:aashaikh@google.com>>
Date: Wednesday, May 27, 2015 at 12:09 PM
To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de<mailto:j.sc=
hoenwaelder@jacobs-university.de>>, Routing YANG <rtg-yang-coord@ietf.org<m=
ailto:rtg-yang-coord@ietf.org>>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-=
model-00

Juergen, you're right that prefix-lists in the model turned out to be a bit=
 problematic as currently defined.  We've updated the model in the most rec=
ent revision after going through some translations of our configs to the Op=
enConfig model and running into some issues.  The updated version looks mor=
e like the following:

list prefix {
          key "address masklength masklength-range";

          leaf address {
            type inet:ip-address;
          }

          leaf masklength {
            type uint8;
          }

          leaf masklength-range {
            type string {
              pattern '^([0-9]+\.\.[0-9]+)|exact$';
            }
         }
}

The model used address and a separate masklength so that range checking cou=
ld be performed on the mask.   We've since removed the range-checking in fa=
vor of simplifying to keep a single prefix list for both address types, ipv=
4 and ipv6.

The original model had the problem you mention, which is that all keys must=
 be mandatory, including masklength-range, which meant there was no simple =
way to express an exact prefix other than, e.g., 21..21 which we didn't thi=
nk was desirable.  Changing the masklength-range to a string allows a more =
flexible pattern (including an 'exact' setting).  The masklength-range is i=
ncluded in the keys to make the list have unique members.

I think we could also consider your suggestion to use a inet:ip-prefix inst=
ead of address since we're not doing range-checking on the masklength in th=
e current approach -- will discuss with the co-authors.

Agree with your suggestion to make the XML examples more conformant (they s=
hould certainly validate), though we've only been using ad-hoc namespaces f=
or models that are not IETF WG models so far.  My understanding is that thi=
s is the recommended practice.

thanks.
-- Anees


On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder <j.schoenwaelder@jac=
obs-university.de<mailto:j.schoenwaelder@jacobs-university.de>> wrote:
Hi,

I have read the document and I have a small comment.

- You define a list 'prefix' in the list 'prefix-set' which is keyed
  by three leafs. As a result, all three leafs are mandatory. Your XML
  instance snipped in section 10 does not validate because it is
  missing mandatory key elements. I wonder (a) why did you not use
  inet:ip-prefix instead of the pair inet:ip-address and a unit8
  masklength. And given the desire to represent a prefix range, would
  a special syntax not make sense, e.g. an extension of ip-prefix,
  lets call it ip-prefix-range, that allows to express a range of
  prefixes:

  10.3.192.0/21-24<http://10.3.192.0/21-24> -> 10.3.192.0/21<http://10.3.19=
2.0/21>
                      10.3.192.0/22<http://10.3.192.0/22>
                      10.3.192.0/23<http://10.3.192.0/23>
                      10.3.192.0/24<http://10.3.192.0/24>

  If the '-24' part is made optional, your prefix list will be
  collapsed to a simple

  list prefix {
      key prefix-range;

      leaf prefix-range {
          type ip-prefix-range;
      }
  }

  Such an ip-prefix-range type may even be a useful addition to
  ietf-inet-types.

- The XML snippets are nice but it would be cool if they were using
  proper namespaces and validate against the data model. Perhaps
  something to consider for -01. The pyang tutorial provides examples
  how to validate XML snippets against YANG definitions.

/js

--
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587<tel:%2B49%20421%20200%203587>         Campus Ring 1=
 | 28759 Bremen | Germany
Fax:   +49 421 200 3103<tel:%2B49%20421%20200%203103>         <http://www.j=
acobs-university.de/>

_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord

_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord


_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org<mailto:Rtg-yang-coord@ietf.org>
https://www.ietf.org/mailman/listinfo/rtg-yang-coord

--_000_376DFA77D1904957B842DDB6ACAF3E1Bericssoncom_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
</head>
<body dir=3D"auto">
<div>Hi Anees,</div>
<div><br>
</div>
<div>Using ip:prefix type would for sure benefit from better validation enf=
orcement.</div>
<div>Saying &quot;for now&quot; - do you expect it to be changed later?</di=
v>
<div><br>
</div>
<div>Thanks!<br>
<br>
Regards,
<div>Jeff</div>
</div>
<div><br>
On May 27, 2015, at 10:53 PM, &quot;Anees Shaikh&quot; &lt;<a href=3D"mailt=
o:aashaikh@google.com">aashaikh@google.com</a>&gt; wrote:<br>
<br>
</div>
<blockquote type=3D"cite">
<div>
<div dir=3D"ltr">hi Acee, thanks for the comments -- we debated these same =
questions :-) &nbsp;
<div><br>
</div>
<div>This approach was based on the wish to avoid operators having to worry=
 about specifying an ipv4 prefix list separately from an ipv6 -- no major i=
mplementation has this separation today (though it could be considered).</d=
iv>
<div><br>
</div>
<div>If using inet:ip-prefix type instead of inet:ip-address &#43; maskleng=
th buys us some range checking in the pattern , maybe that's another reason=
 to switch to using that union type instead.&nbsp; We will discuss making t=
hat update.
<div><br>
</div>
<div>You're right that with a string we don't do checking on the masklength=
-range field.&nbsp; As I mentioned earlier in the thread, this was to accom=
modate a simple way to express an exact prefix (several implementations do =
something similar). &nbsp;&nbsp;</div>
<div><br>
</div>
<div>Among OpenConfig operators, after some debate, we generally try to bal=
ance the amount of validation in the model itself, with maintaining flexibi=
lity and simplicity.&nbsp; In other words, we don't believe the model needs=
 to prevent every conceivable error --
 the implementation also has to participate by rejecting invalid / unsuppor=
ted configuration.&nbsp; That said, where it's easy to add validation, we h=
ave tried to include it, though ranges, defaults, min/max values, etc. get =
harder when trying to build something
 vendor-neutral.</div>
</div>
<div><br>
</div>
<div>Same applies to your correct comment that the current construct theore=
tically allows one to mix address types in the prefix list.&nbsp; Interesti=
ngly, some implementations allow you to create such a list, but fail later =
when you try to use it in a policy. &nbsp;
 We've chosen for now to allow it (again for simplicity), but explicitly sa=
y in the description that most implementations will reject a prefix-list wi=
th mixed address types.</div>
<div><br>
</div>
<div>thanks.</div>
<div>-- Anees</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (ac=
ee) <span dir=3D"ltr">
&lt;<a href=3D"mailto:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&=
gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div style=3D"word-wrap:break-word"><br>
<div><span class=3D"">
<blockquote type=3D"cite">
<div>On May 27, 2015, at 12:47 PM, Acee Lindem (acee) &lt;<a href=3D"mailto=
:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&gt; wrote:</div>
<br>
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Hi Anees,&nbsp;</div>
<div>I had noted problems with the prefix-lists in the draft as well but ha=
dn=92t got around to raising them. One thing about the masklength and maskl=
ength-range is that there is no validation in the model snippet below. In o=
ther words, there is nothing to express
 that the masklength must between 0..32 for IPv4 addresses and 0..128 for I=
Pv6 addresses &nbsp;(this is enforced by the ip-prefix type from RFC 6991).=
 Similarly, as a string there in no inherent validation of the masklength-r=
ange (e.g., both values must be &gt;=3D masklength,
 second value must be &gt;=3D first-value, and both values must be &gt;=3D =
AF specific limit).
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</span>
<div>Of course I meant &quot;&lt;=3D AF specific limit=94.&nbsp;</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Acee&nbsp;</div>
<div>
<div class=3D"h5">
<div><br>
</div>
<br>
<blockquote type=3D"cite">
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Also, there is nothing to prevent one from mixing IPv4 and IPv6 prefix=
es in the same length which is definitely not allowed for the prefix-lists =
we all know and love.&nbsp;</div>
<div>Thanks,</div>
<div>Acee&nbsp;</div>
<div><br>
</div>
<span>
<div style=3D"font-family:Calibri;font-size:11pt;text-align:left;border-wid=
th:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;borde=
r-top-color:rgb(181,196,223)">
<span style=3D"font-weight:bold">From: </span>Anees Shaikh &lt;<a href=3D"m=
ailto:aashaikh@google.com" target=3D"_blank">aashaikh@google.com</a>&gt;<br=
>
<span style=3D"font-weight:bold">Date: </span>Wednesday, May 27, 2015 at 12=
:09 PM<br>
<span style=3D"font-weight:bold">To: </span>Juergen Schoenwaelder &lt;<a hr=
ef=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blank">j.scho=
enwaelder@jacobs-university.de</a>&gt;, Routing YANG &lt;<a href=3D"mailto:=
rtg-yang-coord@ietf.org" target=3D"_blank">rtg-yang-coord@ietf.org</a>&gt;<=
br>
<span style=3D"font-weight:bold">Subject: </span>Re: [Rtg-yang-coord] comme=
nt concerning draft-shaikh-rtgwg-policy-model-00<br>
</div>
<div><br>
</div>
<blockquote style=3D"BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0=
 0 5">
<div>
<div>
<div dir=3D"ltr">Juergen, you're right that prefix-lists in the model turne=
d out to be a bit problematic as currently defined.&nbsp; We've updated the=
 model in the most recent revision after going through some translations of=
 our configs to the OpenConfig model and
 running into some issues.&nbsp; The updated version looks more like the fo=
llowing:
<div><br>
</div>
<div>
<div>list prefix {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; key &quot;address masklength maskle=
ngth-range&quot;;</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leaf address {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type inet:ip-address;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leaf masklength {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type uint8;</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div><br>
</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leaf masklength-range {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type string {</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pattern '^([0-9]&#43;=
\.\.[0-9]&#43;)|exact$';</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</div>
<div>}</div>
<div><br>
</div>
<div>The model used address and a separate masklength so that range checkin=
g could be performed on the mask. &nbsp; We've since removed the range-chec=
king in favor of simplifying to keep a single prefix list for both address =
types, ipv4 and ipv6.</div>
<div><br>
</div>
<div>The original model had the problem you mention, which is that all keys=
 must be mandatory, including masklength-range, which meant there was no si=
mple way to express an exact prefix other than, e.g., 21..21 which we didn'=
t think was desirable.&nbsp; Changing
 the masklength-range to a string allows a more flexible pattern (including=
 an 'exact' setting).&nbsp; The masklength-range is included in the keys to=
 make the list have unique members.&nbsp;</div>
<div><br>
</div>
<div>I think we could also consider your suggestion to use a inet:ip-prefix=
 instead of address since we're not doing range-checking on the masklength =
in the current approach -- will discuss with the co-authors.</div>
<div><br>
</div>
<div>Agree with your suggestion to make the XML examples more conformant (t=
hey should certainly validate), though we've only been using ad-hoc namespa=
ces for models that are not IETF WG models so far.&nbsp; My understanding i=
s that this is the recommended practice.</div>
<div><br>
</div>
<div>thanks.</div>
<div>-- Anees</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br>
</div>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenw=
aelder <span dir=3D"ltr">
&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blan=
k">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I have read the document and I have a small comment.<br>
<br>
- You define a list 'prefix' in the list 'prefix-set' which is keyed<br>
&nbsp; by three leafs. As a result, all three leafs are mandatory. Your XML=
<br>
&nbsp; instance snipped in section 10 does not validate because it is<br>
&nbsp; missing mandatory key elements. I wonder (a) why did you not use<br>
&nbsp; inet:ip-prefix instead of the pair inet:ip-address and a unit8<br>
&nbsp; masklength. And given the desire to represent a prefix range, would<=
br>
&nbsp; a special syntax not make sense, e.g. an extension of ip-prefix,<br>
&nbsp; lets call it ip-prefix-range, that allows to express a range of<br>
&nbsp; prefixes:<br>
<br>
&nbsp; <a href=3D"http://10.3.192.0/21-24" target=3D"_blank">10.3.192.0/21-=
24</a> -&gt; <a href=3D"http://10.3.192.0/21" target=3D"_blank">
10.3.192.0/21</a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; <a href=3D"http://10.3.192.0/22" target=3D"_blank">10.3.192.0/22</a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; <a href=3D"http://10.3.192.0/23" target=3D"_blank">10.3.192.0/23</a><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; <a href=3D"http://10.3.192.0/24" target=3D"_blank">10.3.192.0/24</a><br>
<br>
&nbsp; If the '-24' part is made optional, your prefix list will be<br>
&nbsp; collapsed to a simple<br>
<br>
&nbsp; list prefix {<br>
&nbsp; &nbsp; &nbsp; key prefix-range;<br>
<br>
&nbsp; &nbsp; &nbsp; leaf prefix-range {<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type ip-prefix-range;<br>
&nbsp; &nbsp; &nbsp; }<br>
&nbsp; }<br>
<br>
&nbsp; Such an ip-prefix-range type may even be a useful addition to<br>
&nbsp; ietf-inet-types.<br>
<br>
- The XML snippets are nice but it would be cool if they were using<br>
&nbsp; proper namespaces and validate against the data model. Perhaps<br>
&nbsp; something to consider for -01. The pyang tutorial provides examples<=
br>
&nbsp; how to validate XML snippets against YANG definitions.<br>
<span><font color=3D"#888888"><br>
/js<br>
<br>
--<br>
Juergen Schoenwaelder&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Jacobs Univer=
sity Bremen gGmbH<br>
Phone: <a href=3D"tel:%2B49%20421%20200%203587" value=3D"&#43;494212003587"=
 target=3D"_blank">
&#43;49 421 200 3587</a>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Campus Ring 1 | 2=
8759 Bremen | Germany<br>
Fax:&nbsp; &nbsp;<a href=3D"tel:%2B49%20421%20200%203103" value=3D"&#43;494=
212003103" target=3D"_blank">&#43;49 421 200 3103</a>&nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp;&lt;<a href=3D"http://www.jacobs-university.de/" target=3D"_bla=
nk">http://www.jacobs-university.de/</a>&gt;<br>
<br>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</span></div>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<blockquote type=3D"cite">
<div><span>_______________________________________________</span><br>
<span>Rtg-yang-coord mailing list</span><br>
<span><a href=3D"mailto:Rtg-yang-coord@ietf.org">Rtg-yang-coord@ietf.org</a=
></span><br>
<span><a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord">http=
s://www.ietf.org/mailman/listinfo/rtg-yang-coord</a></span><br>
</div>
</blockquote>
</body>
</html>

--_000_376DFA77D1904957B842DDB6ACAF3E1Bericssoncom_--


From nobody Thu May 28 00:27:37 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BAF551A6F0E for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 00:27:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.788
X-Spam-Level: 
X-Spam-Status: No, score=-0.788 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_26=0.6, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 d1QFZDcdRuvd for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 00:27:32 -0700 (PDT)
Received: from mail-ob0-x231.google.com (mail-ob0-x231.google.com [IPv6:2607:f8b0:4003:c01::231]) (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 5AF021A3B9C for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 00:27:32 -0700 (PDT)
Received: by obbea2 with SMTP id ea2so26225505obb.3 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 00:27:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=93pv8Uskh/25zfFKY6BztYlx4qzj+EPLc+g7LaqJYLc=; b=hOqlXkEFD6PzptGoTGhhzsP1YOFhPT/wwRJuGqSCFOMo+GBM9N+pG/4hAtGaFmRjf6 EL3Fczf3T+rbZLqqsyumkGKDcR4tuhJMYdqvhWptpJxr9lfmNlnv5z0zC88Dh+0ZNolY OoqHkwU/HrFPHYinIYQDjfwcg37BwbE28k0feApjHOKUrXVilFPAHjUkudL3+AaHJGc+ WL+UTUyeUAZBSNMWuPTjJBURafL8kGK0LTt/LNyKoZiHCEB6p1YK8+ZlsYFt16fmH+9h G9Iy7OL5NscZSnAW51mYrtOxxksmayM65eGqrVzegE8QxEOkBxgnTzkNHfU16Zq+2SDj BSgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=93pv8Uskh/25zfFKY6BztYlx4qzj+EPLc+g7LaqJYLc=; b=OgW4O+JVoHKq5Y3ZE3MYvexd+gXElj7PsWsvZPTb8HyE9XTGJN1L99JPNmRrsX81Pt 6o+hHPufbBVmhTzZCRhNONWbYMwdhYMX7OBaB8FU5Hcr/pr5OqlM+A1yHQ+zFtCvdRgK bV+xMSfJm/Hqu9WOUktvyi8AE6vefm7hk+/1FOJV5rDh/RBTuqOq++bw7P0Rv6CbYOya 9OUQ+dbnQ22HSaxEA9QGXGrItVc6TOFNVPZq4G6KkxX3f5JQtbI/P3xUQc5cD0wIJEgZ Vj7JQbw8r9prKLvYCfOeZHUGTY8h58wUu2Ml1TLf3S0hxs2jJpLSCDofTYc4vk5ZM6hJ MlJg==
X-Gm-Message-State: ALoCoQlvXXqXRK8+fXCyERglMpkB1iP6/qLsSSpM0cuxAMN1lhTn1WNRCPvsMfctvyWPnGXf7VdB
MIME-Version: 1.0
X-Received: by 10.60.245.104 with SMTP id xn8mr1218192oec.51.1432798050674; Thu, 28 May 2015 00:27:30 -0700 (PDT)
Received: by 10.182.144.228 with HTTP; Thu, 28 May 2015 00:27:30 -0700 (PDT)
In-Reply-To: <376DFA77-D190-4957-B842-DDB6ACAF3E1B@ericsson.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com> <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com> <376DFA77-D190-4957-B842-DDB6ACAF3E1B@ericsson.com>
Date: Thu, 28 May 2015 00:27:30 -0700
Message-ID: <CAJK7ZqLMqAHOxYZBxun1KU2vZ2MAsd6eZn_rtCqueb5fE2syhQ@mail.gmail.com>
From: Anees Shaikh <aashaikh@google.com>
To: Jeff Tantsura <jeff.tantsura@ericsson.com>
Content-Type: multipart/alternative; boundary=001a11347536d8a00105171f4a4e
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/74K6aZIWjWURO6tLV9tift96swc>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 07:27:35 -0000

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

hi Jeff, agree --  we'll try to get this fix into the next published
version of the models -- which should hopefully be available very soon
(said with fingers crossed).

thanks.
-- Anees

On Wed, May 27, 2015 at 11:50 PM, Jeff Tantsura <jeff.tantsura@ericsson.com=
>
wrote:

>  Hi Anees,
>
>  Using ip:prefix type would for sure benefit from better validation
> enforcement.
> Saying "for now" - do you expect it to be changed later?
>
>  Thanks!
>
> Regards,
> Jeff
>
> On May 27, 2015, at 10:53 PM, "Anees Shaikh" <aashaikh@google.com> wrote:
>
>   hi Acee, thanks for the comments -- we debated these same questions :-)
>
>
>  This approach was based on the wish to avoid operators having to worry
> about specifying an ipv4 prefix list separately from an ipv6 -- no major
> implementation has this separation today (though it could be considered).
>
>  If using inet:ip-prefix type instead of inet:ip-address + masklength
> buys us some range checking in the pattern , maybe that's another reason =
to
> switch to using that union type instead.  We will discuss making that
> update.
>
>  You're right that with a string we don't do checking on the
> masklength-range field.  As I mentioned earlier in the thread, this was t=
o
> accommodate a simple way to express an exact prefix (several
> implementations do something similar).
>
>  Among OpenConfig operators, after some debate, we generally try to
> balance the amount of validation in the model itself, with maintaining
> flexibility and simplicity.  In other words, we don't believe the model
> needs to prevent every conceivable error -- the implementation also has t=
o
> participate by rejecting invalid / unsupported configuration.  That said,
> where it's easy to add validation, we have tried to include it, though
> ranges, defaults, min/max values, etc. get harder when trying to build
> something vendor-neutral.
>
>  Same applies to your correct comment that the current construct
> theoretically allows one to mix address types in the prefix list.
> Interestingly, some implementations allow you to create such a list, but
> fail later when you try to use it in a policy.   We've chosen for now to
> allow it (again for simplicity), but explicitly say in the description th=
at
> most implementations will reject a prefix-list with mixed address types.
>
>  thanks.
> -- Anees
>
>
>
> On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (acee) <acee@cisco.com>
> wrote:
>
>>
>>  On May 27, 2015, at 12:47 PM, Acee Lindem (acee) <acee@cisco.com> wrote=
:
>>
>>  Hi Anees,
>> I had noted problems with the prefix-lists in the draft as well but
>> hadn=E2=80=99t got around to raising them. One thing about the masklengt=
h and
>> masklength-range is that there is no validation in the model snippet bel=
ow.
>> In other words, there is nothing to express that the masklength must
>> between 0..32 for IPv4 addresses and 0..128 for IPv6 addresses  (this is
>> enforced by the ip-prefix type from RFC 6991). Similarly, as a string th=
ere
>> in no inherent validation of the masklength-range (e.g., both values mus=
t
>> be >=3D masklength, second value must be >=3D first-value, and both valu=
es must
>> be >=3D AF specific limit).
>>
>>
>>  Of course I meant "<=3D AF specific limit=E2=80=9D.
>>
>>  Thanks,
>> Acee
>>
>>
>>   Also, there is nothing to prevent one from mixing IPv4 and IPv6
>> prefixes in the same length which is definitely not allowed for the
>> prefix-lists we all know and love.
>> Thanks,
>> Acee
>>
>>   From: Anees Shaikh <aashaikh@google.com>
>> Date: Wednesday, May 27, 2015 at 12:09 PM
>> To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>,
>> Routing YANG <rtg-yang-coord@ietf.org>
>> Subject: Re: [Rtg-yang-coord] comment concerning
>> draft-shaikh-rtgwg-policy-model-00
>>
>>   Juergen, you're right that prefix-lists in the model turned out to be
>> a bit problematic as currently defined.  We've updated the model in the
>> most recent revision after going through some translations of our config=
s
>> to the OpenConfig model and running into some issues.  The updated versi=
on
>> looks more like the following:
>>
>>  list prefix {
>>           key "address masklength masklength-range";
>>
>>            leaf address {
>>             type inet:ip-address;
>>           }
>>
>>            leaf masklength {
>>             type uint8;
>>           }
>>
>>            leaf masklength-range {
>>             type string {
>>               pattern '^([0-9]+\.\.[0-9]+)|exact$';
>>             }
>>          }
>> }
>>
>>  The model used address and a separate masklength so that range checking
>> could be performed on the mask.   We've since removed the range-checking=
 in
>> favor of simplifying to keep a single prefix list for both address types=
,
>> ipv4 and ipv6.
>>
>>  The original model had the problem you mention, which is that all keys
>> must be mandatory, including masklength-range, which meant there was no
>> simple way to express an exact prefix other than, e.g., 21..21 which we
>> didn't think was desirable.  Changing the masklength-range to a string
>> allows a more flexible pattern (including an 'exact' setting).  The
>> masklength-range is included in the keys to make the list have unique
>> members.
>>
>>  I think we could also consider your suggestion to use a inet:ip-prefix
>> instead of address since we're not doing range-checking on the masklengt=
h
>> in the current approach -- will discuss with the co-authors.
>>
>>  Agree with your suggestion to make the XML examples more conformant
>> (they should certainly validate), though we've only been using ad-hoc
>> namespaces for models that are not IETF WG models so far.  My understand=
ing
>> is that this is the recommended practice.
>>
>>  thanks.
>> -- Anees
>>
>>
>> On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenwaelder <
>> j.schoenwaelder@jacobs-university.de> wrote:
>>
>>> Hi,
>>>
>>> I have read the document and I have a small comment.
>>>
>>> - You define a list 'prefix' in the list 'prefix-set' which is keyed
>>>   by three leafs. As a result, all three leafs are mandatory. Your XML
>>>   instance snipped in section 10 does not validate because it is
>>>   missing mandatory key elements. I wonder (a) why did you not use
>>>   inet:ip-prefix instead of the pair inet:ip-address and a unit8
>>>   masklength. And given the desire to represent a prefix range, would
>>>   a special syntax not make sense, e.g. an extension of ip-prefix,
>>>   lets call it ip-prefix-range, that allows to express a range of
>>>   prefixes:
>>>
>>>   10.3.192.0/21-24 -> 10.3.192.0/21
>>>                       10.3.192.0/22
>>>                       10.3.192.0/23
>>>                       10.3.192.0/24
>>>
>>>   If the '-24' part is made optional, your prefix list will be
>>>   collapsed to a simple
>>>
>>>   list prefix {
>>>       key prefix-range;
>>>
>>>       leaf prefix-range {
>>>           type ip-prefix-range;
>>>       }
>>>   }
>>>
>>>   Such an ip-prefix-range type may even be a useful addition to
>>>   ietf-inet-types.
>>>
>>> - The XML snippets are nice but it would be cool if they were using
>>>   proper namespaces and validate against the data model. Perhaps
>>>   something to consider for -01. The pyang tutorial provides examples
>>>   how to validate XML snippets against YANG definitions.
>>>
>>> /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/>
>>>
>>> _______________________________________________
>>> Rtg-yang-coord mailing list
>>> Rtg-yang-coord@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>>
>>
>>    _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>
>>
>>
>   _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
>

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

<div dir=3D"ltr">hi Jeff, agree -- =C2=A0we&#39;ll try to get this fix into=
 the next published version of the models -- which should hopefully be avai=
lable very soon (said with fingers crossed).<div><br></div><div>thanks.</di=
v><div>-- Anees</div></div><div class=3D"gmail_extra"><br><div class=3D"gma=
il_quote">On Wed, May 27, 2015 at 11:50 PM, Jeff Tantsura <span dir=3D"ltr"=
>&lt;<a href=3D"mailto:jeff.tantsura@ericsson.com" target=3D"_blank">jeff.t=
antsura@ericsson.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex=
">



<div dir=3D"auto">
<div>Hi Anees,</div>
<div><br>
</div>
<div>Using ip:prefix type would for sure benefit from better validation enf=
orcement.</div>
<div>Saying &quot;for now&quot; - do you expect it to be changed later?</di=
v>
<div><br>
</div>
<div>Thanks!<br>
<br>
Regards,
<div>Jeff</div>
</div><div><div class=3D"h5">
<div><br>
On May 27, 2015, at 10:53 PM, &quot;Anees Shaikh&quot; &lt;<a href=3D"mailt=
o:aashaikh@google.com" target=3D"_blank">aashaikh@google.com</a>&gt; wrote:=
<br>
<br>
</div>
<blockquote type=3D"cite">
<div>
<div dir=3D"ltr">hi Acee, thanks for the comments -- we debated these same =
questions :-) =C2=A0
<div><br>
</div>
<div>This approach was based on the wish to avoid operators having to worry=
 about specifying an ipv4 prefix list separately from an ipv6 -- no major i=
mplementation has this separation today (though it could be considered).</d=
iv>
<div><br>
</div>
<div>If using inet:ip-prefix type instead of inet:ip-address + masklength b=
uys us some range checking in the pattern , maybe that&#39;s another reason=
 to switch to using that union type instead.=C2=A0 We will discuss making t=
hat update.
<div><br>
</div>
<div>You&#39;re right that with a string we don&#39;t do checking on the ma=
sklength-range field.=C2=A0 As I mentioned earlier in the thread, this was =
to accommodate a simple way to express an exact prefix (several implementat=
ions do something similar). =C2=A0=C2=A0</div>
<div><br>
</div>
<div>Among OpenConfig operators, after some debate, we generally try to bal=
ance the amount of validation in the model itself, with maintaining flexibi=
lity and simplicity.=C2=A0 In other words, we don&#39;t believe the model n=
eeds to prevent every conceivable error --
 the implementation also has to participate by rejecting invalid / unsuppor=
ted configuration.=C2=A0 That said, where it&#39;s easy to add validation, =
we have tried to include it, though ranges, defaults, min/max values, etc. =
get harder when trying to build something
 vendor-neutral.</div>
</div>
<div><br>
</div>
<div>Same applies to your correct comment that the current construct theore=
tically allows one to mix address types in the prefix list.=C2=A0 Interesti=
ngly, some implementations allow you to create such a list, but fail later =
when you try to use it in a policy. =C2=A0
 We&#39;ve chosen for now to allow it (again for simplicity), but explicitl=
y say in the description that most implementations will reject a prefix-lis=
t with mixed address types.</div>
<div><br>
</div>
<div>thanks.</div>
<div>-- Anees</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Wed, May 27, 2015 at 9:57 AM, Acee Lindem (ac=
ee) <span dir=3D"ltr">
&lt;<a href=3D"mailto:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&=
gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
<div style=3D"word-wrap:break-word"><br>
<div><span>
<blockquote type=3D"cite">
<div>On May 27, 2015, at 12:47 PM, Acee Lindem (acee) &lt;<a href=3D"mailto=
:acee@cisco.com" target=3D"_blank">acee@cisco.com</a>&gt; wrote:</div>
<br>
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Hi Anees,=C2=A0</div>
<div>I had noted problems with the prefix-lists in the draft as well but ha=
dn=E2=80=99t got around to raising them. One thing about the masklength and=
 masklength-range is that there is no validation in the model snippet below=
. In other words, there is nothing to express
 that the masklength must between 0..32 for IPv4 addresses and 0..128 for I=
Pv6 addresses =C2=A0(this is enforced by the ip-prefix type from RFC 6991).=
 Similarly, as a string there in no inherent validation of the masklength-r=
ange (e.g., both values must be &gt;=3D masklength,
 second value must be &gt;=3D first-value, and both values must be &gt;=3D =
AF specific limit).
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
</span>
<div>Of course I meant &quot;&lt;=3D AF specific limit=E2=80=9D.=C2=A0</div=
>
<div><br>
</div>
<div>Thanks,</div>
<div>Acee=C2=A0</div>
<div>
<div>
<div><br>
</div>
<br>
<blockquote type=3D"cite">
<div>
<div style=3D"word-wrap:break-word;font-size:14px;font-family:Calibri,sans-=
serif">
<div>Also, there is nothing to prevent one from mixing IPv4 and IPv6 prefix=
es in the same length which is definitely not allowed for the prefix-lists =
we all know and love.=C2=A0</div>
<div>Thanks,</div>
<div>Acee=C2=A0</div>
<div><br>
</div>
<span>
<div style=3D"font-family:Calibri;font-size:11pt;text-align:left;border-wid=
th:1pt medium medium;border-style:solid none none;padding:3pt 0in 0in;borde=
r-top-color:rgb(181,196,223)">
<span style=3D"font-weight:bold">From: </span>Anees Shaikh &lt;<a href=3D"m=
ailto:aashaikh@google.com" target=3D"_blank">aashaikh@google.com</a>&gt;<br=
>
<span style=3D"font-weight:bold">Date: </span>Wednesday, May 27, 2015 at 12=
:09 PM<br>
<span style=3D"font-weight:bold">To: </span>Juergen Schoenwaelder &lt;<a hr=
ef=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blank">j.scho=
enwaelder@jacobs-university.de</a>&gt;, Routing YANG &lt;<a href=3D"mailto:=
rtg-yang-coord@ietf.org" target=3D"_blank">rtg-yang-coord@ietf.org</a>&gt;<=
br>
<span style=3D"font-weight:bold">Subject: </span>Re: [Rtg-yang-coord] comme=
nt concerning draft-shaikh-rtgwg-policy-model-00<br>
</div>
<div><br>
</div>
<blockquote style=3D"BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0=
 0 5">
<div>
<div>
<div dir=3D"ltr">Juergen, you&#39;re right that prefix-lists in the model t=
urned out to be a bit problematic as currently defined.=C2=A0 We&#39;ve upd=
ated the model in the most recent revision after going through some transla=
tions of our configs to the OpenConfig model and
 running into some issues.=C2=A0 The updated version looks more like the fo=
llowing:
<div><br>
</div>
<div>
<div>list prefix {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 key &quot;address masklength maskle=
ngth-range&quot;;</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf address {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type inet:ip-address;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf masklength {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type uint8;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div><br>
</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 leaf masklength-range {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type string {</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 pattern &#39;^([0-9]+=
\.\.[0-9]+)|exact$&#39;;</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}</div>
<div>}</div>
<div><br>
</div>
<div>The model used address and a separate masklength so that range checkin=
g could be performed on the mask. =C2=A0 We&#39;ve since removed the range-=
checking in favor of simplifying to keep a single prefix list for both addr=
ess types, ipv4 and ipv6.</div>
<div><br>
</div>
<div>The original model had the problem you mention, which is that all keys=
 must be mandatory, including masklength-range, which meant there was no si=
mple way to express an exact prefix other than, e.g., 21..21 which we didn&=
#39;t think was desirable.=C2=A0 Changing
 the masklength-range to a string allows a more flexible pattern (including=
 an &#39;exact&#39; setting).=C2=A0 The masklength-range is included in the=
 keys to make the list have unique members.=C2=A0</div>
<div><br>
</div>
<div>I think we could also consider your suggestion to use a inet:ip-prefix=
 instead of address since we&#39;re not doing range-checking on the masklen=
gth in the current approach -- will discuss with the co-authors.</div>
<div><br>
</div>
<div>Agree with your suggestion to make the XML examples more conformant (t=
hey should certainly validate), though we&#39;ve only been using ad-hoc nam=
espaces for models that are not IETF WG models so far.=C2=A0 My understandi=
ng is that this is the recommended practice.</div>
<div><br>
</div>
<div>thanks.</div>
<div>-- Anees</div>
<div>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0<br>
</div>
</div>
</div>
<div class=3D"gmail_extra"><br>
<div class=3D"gmail_quote">On Wed, May 27, 2015 at 5:24 AM, Juergen Schoenw=
aelder <span dir=3D"ltr">
&lt;<a href=3D"mailto:j.schoenwaelder@jacobs-university.de" target=3D"_blan=
k">j.schoenwaelder@jacobs-university.de</a>&gt;</span> wrote:<br>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">
Hi,<br>
<br>
I have read the document and I have a small comment.<br>
<br>
- You define a list &#39;prefix&#39; in the list &#39;prefix-set&#39; which=
 is keyed<br>
=C2=A0 by three leafs. As a result, all three leafs are mandatory. Your XML=
<br>
=C2=A0 instance snipped in section 10 does not validate because it is<br>
=C2=A0 missing mandatory key elements. I wonder (a) why did you not use<br>
=C2=A0 inet:ip-prefix instead of the pair inet:ip-address and a unit8<br>
=C2=A0 masklength. And given the desire to represent a prefix range, would<=
br>
=C2=A0 a special syntax not make sense, e.g. an extension of ip-prefix,<br>
=C2=A0 lets call it ip-prefix-range, that allows to express a range of<br>
=C2=A0 prefixes:<br>
<br>
=C2=A0 <a href=3D"http://10.3.192.0/21-24" target=3D"_blank">10.3.192.0/21-=
24</a> -&gt; <a href=3D"http://10.3.192.0/21" target=3D"_blank">
10.3.192.0/21</a><br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/22" target=3D"_blank">10.3.192.0/22</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/23" target=3D"_blank">10.3.192.0/23</a><br=
>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 <a href=3D"http://10.3.192.0/24" target=3D"_blank">10.3.192.0/24</a><br=
>
<br>
=C2=A0 If the &#39;-24&#39; part is made optional, your prefix list will be=
<br>
=C2=A0 collapsed to a simple<br>
<br>
=C2=A0 list prefix {<br>
=C2=A0 =C2=A0 =C2=A0 key prefix-range;<br>
<br>
=C2=A0 =C2=A0 =C2=A0 leaf prefix-range {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 type ip-prefix-range;<br>
=C2=A0 =C2=A0 =C2=A0 }<br>
=C2=A0 }<br>
<br>
=C2=A0 Such an ip-prefix-range type may even be a useful addition to<br>
=C2=A0 ietf-inet-types.<br>
<br>
- The XML snippets are nice but it would be cool if they were using<br>
=C2=A0 proper namespaces and validate against the data model. Perhaps<br>
=C2=A0 something to consider for -01. The pyang tutorial provides examples<=
br>
=C2=A0 how to validate XML snippets against YANG definitions.<br>
<span><font color=3D"#888888"><br>
/js<br>
<br>
--<br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: <a href=3D"tel:%2B49%20421%20200%203587" value=3D"+494212003587" tar=
get=3D"_blank">
+49 421 200 3587</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28759=
 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0<a href=3D"tel:%2B49%20421%20200%203103" value=3D"+4942120=
03103" target=3D"_blank">+49 421 200 3103</a>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0&lt;<a href=3D"http://www.jacobs-university.de/" target=3D"_blank">ht=
tp://www.jacobs-university.de/</a>&gt;<br>
<br>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</font></span></blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</span></div>
_______________________________________________<br>
Rtg-yang-coord mailing list<br>
<a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang-coord=
@ietf.org</a><br>
<a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" target=3D"=
_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a><br>
</div>
</blockquote>
</div>
</div>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
<blockquote type=3D"cite">
<div><span>_______________________________________________</span><br>
<span>Rtg-yang-coord mailing list</span><br>
<span><a href=3D"mailto:Rtg-yang-coord@ietf.org" target=3D"_blank">Rtg-yang=
-coord@ietf.org</a></span><br>
<span><a href=3D"https://www.ietf.org/mailman/listinfo/rtg-yang-coord" targ=
et=3D"_blank">https://www.ietf.org/mailman/listinfo/rtg-yang-coord</a></spa=
n><br>
</div>
</blockquote>
</div></div></div>

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

--001a11347536d8a00105171f4a4e--


From nobody Thu May 28 02:28:48 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 47B6A1A0282 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:28:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.739
X-Spam-Level: 
X-Spam-Status: No, score=0.739 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, T_RP_MATCHES_RCVD=-0.01] autolearn=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 YTLqgxh8T7fF for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:28:45 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C1FB11A0222 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 02:28:45 -0700 (PDT)
Received: from birdie.labs.nic.cz (unknown [195.113.220.110]) by mail.nic.cz (Postfix) with ESMTPSA id D310D14035B for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 11:28:43 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1432805323; bh=gN6+Z0LjtZYiTaowyr1uEPgLiXf0Mp+eBQCXCtB20fk=; h=From:Content-Type:Content-Transfer-Encoding:Subject:Message-Id: Date:To:Mime-Version; b=RNfGNmiMbvSennGjofVXbkRvt5JguhqSrfOlH/f5xC0lcPnAjqghmlz7+Ydr0LRfD nvRPKGuaA700I4g35qycexOQvjAUsrPo1D6f+75JblAOxM2cPk37WjCg5LjNXZjWuB 2Ipfdn05utYI2fB+sjJF+yQTDnsEDz2Sk9K9jirg=
From: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Message-Id: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
Date: Thu, 28 May 2015 11:28:44 +0200
To: Rtg-yang-coord@ietf.org
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/76v726HPJTJ1aaLSPPUS257cK8Y>
Subject: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 09:28:47 -0000

Hi,

I have a suggestion for the authors of all routing protocol modules: the =
container that encapsulates all configuration data for a given protocol =
should be a container with presence (see sec. 7.5.1 in RFC 6020) because =
then the configuration data may include mandatory items that are =
otherwise forbidden at the top level of an augment.

See also YANG 1.1 issue Y26:

https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27

For example, in the the ietf-isis it should look like this:

     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
         +"rt:routing-protocol" {
       when "rt:type =3D 'isis:isis'" {
         description
          "This augment is only valid when routing protocol
           instance type is isis.";
       }
       presence "IS-IS routing protocol=E2=80=9D;
       ...
     }

I am also including this recommendation in the routing-cfg draft.

Lada
--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C





From nobody Thu May 28 02:33:14 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8C491A0222 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:33:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.661
X-Spam-Level: 
X-Spam-Status: No, score=-0.661 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, T_RP_MATCHES_RCVD=-0.01] autolearn=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 sKM4RALGvWwk for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:33:11 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE4AF1A00EA for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 02:33:11 -0700 (PDT)
Received: from birdie.labs.nic.cz (unknown [195.113.220.110]) by mail.nic.cz (Postfix) with ESMTPSA id D574414035A for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 11:33:09 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1432805589; bh=0nw0ckOWyVmUwuZlWVHjzkqhJgeJuLpNt1nP7IJuBx0=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date: Content-Transfer-Encoding:Message-Id:References:To; b=UDuVxtJ/IiVuSj5vA4nQQelJZBTpIVJHOzFKzkxDBidrKvtgGj8bOCnbV8hkkk5sG nVOIYN66KdxwnyMXhoKOOp2UY+20L/k2NViA+xNwmxUv/iWTKigtV9NrSMuygYEMYM rPTghFjc1GNVfvAyXXomipu+KtR8jN/h5jN98fKA=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
Date: Thu, 28 May 2015 11:33:10 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <A7355F5E-1000-44F9-A835-24AAB08B1C22@nic.cz>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
To: Rtg-yang-coord@ietf.org
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/AyOHjXzYEzr-35jdB8KywYkwjV4>
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 09:33:12 -0000

Sorry, the example is wrong, the presence statement should of course be =
inside the container:

     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
         +"rt:routing-protocol" {
       when "rt:type =3D 'isis:isis'" {
         description
          "This augment is only valid when routing protocol
           instance type is isis.";
       }
       description
        "This augments a routing protocol instance with ISIS
         specific parameters.";
       container isis {
         presence "IS-IS routing protocol";
         ...
       }
     }

Lada

> On 28 May 2015, at 11:28, Ladislav Lhotka <lhotka@nic.cz> wrote:
>=20
> Hi,
>=20
> I have a suggestion for the authors of all routing protocol modules: =
the container that encapsulates all configuration data for a given =
protocol should be a container with presence (see sec. 7.5.1 in RFC =
6020) because then the configuration data may include mandatory items =
that are otherwise forbidden at the top level of an augment.
>=20
> See also YANG 1.1 issue Y26:
>=20
> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>=20
> For example, in the the ietf-isis it should look like this:
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'isis:isis'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is isis.";
>       }
>       presence "IS-IS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> I am also including this recommendation in the routing-cfg draft.
>=20
> Lada
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>=20
>=20
>=20
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord

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





From nobody Thu May 28 02:53:24 2015
Return-Path: <acee@cisco.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ED3A81A1BAE for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:53:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level: 
X-Spam-Status: No, score=-14.51 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, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
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 JNyec8AH_e4m for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 02:53:19 -0700 (PDT)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66EF51A1A19 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 02:53:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=29461; q=dns/txt; s=iport; t=1432806799; x=1434016399; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=ym6pKMwXVSdxaIedHWOXpoOWcdOhBzlEq4x6ezC6x1U=; b=Q/bbHCbVYpewVkBGE1N3JKkHv+RqpN3UM/uGmWL2c/Ze+f7Hy/ghna0+ hkRNRsQgaNq7M2WiADdvoOfbstjoZqv4iQlSAJ1MXBcosjEVKiswH0J5p iV/CAx0k+WUVM+e/XIaEiziRYPv70OiYGAMmvKiGxzwwrFfM95hZtOF2q A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CcBQDf5GZV/4cNJK1ZA4JFS1ReBoMYr1iOF4EYBWYBCYV3AhyBNEwBAQEBAQGBC4QiAQEBBAEBAQsVBCUZCQsOAgIBCA4CAQIBAQIoAwICAhkKAgsUCQgCBA4FiCgFDbABhWqeIQEBAQEBAQEBAQEBAQEBAQEBAQEBARcEizaELT0KAQwEBwkIgleBRQWQTII8hDWGWoEphnCHN2WDIYNZI4IKHIFSbwGBAwEeBxyBAQEBAQ
X-IronPort-AV: E=Sophos;i="5.13,512,1427760000";  d="scan'208,217";a="423244402"
Received: from alln-core-2.cisco.com ([173.36.13.135]) by rcdn-iport-7.cisco.com with ESMTP; 28 May 2015 09:53:18 +0000
Received: from xhc-aln-x11.cisco.com (xhc-aln-x11.cisco.com [173.36.12.85]) by alln-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id t4S9rIOJ004410 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Thu, 28 May 2015 09:53:18 GMT
Received: from xmb-aln-x06.cisco.com ([169.254.1.97]) by xhc-aln-x11.cisco.com ([173.36.12.85]) with mapi id 14.03.0195.001; Thu, 28 May 2015 04:53:18 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Anees Shaikh <aashaikh@google.com>
Thread-Topic: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
Thread-Index: AQHQmJeOz/AOLj/BaE+NpkVfLOeIoJ2QGTMAgABF4wCAANjMgIAAAA4A
Date: Thu, 28 May 2015 09:53:17 +0000
Message-ID: <D18C5D6D.1F518%acee@cisco.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com> <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
In-Reply-To: <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.116.152.202]
Content-Type: multipart/alternative; boundary="_000_D18C5D6D1F518aceeciscocom_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/UzboH-BEuvqf4OsZVaEQha8z_po>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 09:53:23 -0000

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

VGhhbmtzIEFuZWVzIC0gT25lIHJlYXNvbiBJIGJyb3VnaHQgdGhlc2UgdmFsaWRhdGlvbiBxdWVz
dGlvbnMgdXAgaXMgdGhhdCB3ZeKAmXJlIHN0cnVnZ2xpbmcgd2l0aCB3aGF0IHZhbGlkYXRpb24g
bmVlZHMgdG8gYmUgaW4gdGhlIG1vZGVsIGFuZCB3aGF0IGlzIGxlZnQgdG8gdGhlIGRldmljZXMg
d2l0aCBvdGhlciBtb2RlbHMuDQoNCkFjZWUNCg0KRnJvbTogQW5lZXMgU2hhaWtoIDxhYXNoYWlr
aEBnb29nbGUuY29tPG1haWx0bzphYXNoYWlraEBnb29nbGUuY29tPj4NCkRhdGU6IFRodXJzZGF5
LCBNYXkgMjgsIDIwMTUgYXQgMTo1MyBBTQ0KVG86IEFjZWUgTGluZGVtIDxhY2VlQGNpc2NvLmNv
bTxtYWlsdG86YWNlZUBjaXNjby5jb20+Pg0KQ2M6IEp1ZXJnZW4gU2Nob2Vud2FlbGRlciA8ai5z
Y2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPG1haWx0bzpqLnNjaG9lbndhZWxkZXJA
amFjb2JzLXVuaXZlcnNpdHkuZGU+PiwgUm91dGluZyBZQU5HIDxydGcteWFuZy1jb29yZEBpZXRm
Lm9yZzxtYWlsdG86cnRnLXlhbmctY29vcmRAaWV0Zi5vcmc+Pg0KU3ViamVjdDogUmU6IFtSdGct
eWFuZy1jb29yZF0gY29tbWVudCBjb25jZXJuaW5nIGRyYWZ0LXNoYWlraC1ydGd3Zy1wb2xpY3kt
bW9kZWwtMDANCg0KaGkgQWNlZSwgdGhhbmtzIGZvciB0aGUgY29tbWVudHMgLS0gd2UgZGViYXRl
ZCB0aGVzZSBzYW1lIHF1ZXN0aW9ucyA6LSkNCg0KVGhpcyBhcHByb2FjaCB3YXMgYmFzZWQgb24g
dGhlIHdpc2ggdG8gYXZvaWQgb3BlcmF0b3JzIGhhdmluZyB0byB3b3JyeSBhYm91dCBzcGVjaWZ5
aW5nIGFuIGlwdjQgcHJlZml4IGxpc3Qgc2VwYXJhdGVseSBmcm9tIGFuIGlwdjYgLS0gbm8gbWFq
b3IgaW1wbGVtZW50YXRpb24gaGFzIHRoaXMgc2VwYXJhdGlvbiB0b2RheSAodGhvdWdoIGl0IGNv
dWxkIGJlIGNvbnNpZGVyZWQpLg0KDQpJZiB1c2luZyBpbmV0OmlwLXByZWZpeCB0eXBlIGluc3Rl
YWQgb2YgaW5ldDppcC1hZGRyZXNzICsgbWFza2xlbmd0aCBidXlzIHVzIHNvbWUgcmFuZ2UgY2hl
Y2tpbmcgaW4gdGhlIHBhdHRlcm4gLCBtYXliZSB0aGF0J3MgYW5vdGhlciByZWFzb24gdG8gc3dp
dGNoIHRvIHVzaW5nIHRoYXQgdW5pb24gdHlwZSBpbnN0ZWFkLiAgV2Ugd2lsbCBkaXNjdXNzIG1h
a2luZyB0aGF0IHVwZGF0ZS4NCg0KWW91J3JlIHJpZ2h0IHRoYXQgd2l0aCBhIHN0cmluZyB3ZSBk
b24ndCBkbyBjaGVja2luZyBvbiB0aGUgbWFza2xlbmd0aC1yYW5nZSBmaWVsZC4gIEFzIEkgbWVu
dGlvbmVkIGVhcmxpZXIgaW4gdGhlIHRocmVhZCwgdGhpcyB3YXMgdG8gYWNjb21tb2RhdGUgYSBz
aW1wbGUgd2F5IHRvIGV4cHJlc3MgYW4gZXhhY3QgcHJlZml4IChzZXZlcmFsIGltcGxlbWVudGF0
aW9ucyBkbyBzb21ldGhpbmcgc2ltaWxhcikuDQoNCkFtb25nIE9wZW5Db25maWcgb3BlcmF0b3Jz
LCBhZnRlciBzb21lIGRlYmF0ZSwgd2UgZ2VuZXJhbGx5IHRyeSB0byBiYWxhbmNlIHRoZSBhbW91
bnQgb2YgdmFsaWRhdGlvbiBpbiB0aGUgbW9kZWwgaXRzZWxmLCB3aXRoIG1haW50YWluaW5nIGZs
ZXhpYmlsaXR5IGFuZCBzaW1wbGljaXR5LiAgSW4gb3RoZXIgd29yZHMsIHdlIGRvbid0IGJlbGll
dmUgdGhlIG1vZGVsIG5lZWRzIHRvIHByZXZlbnQgZXZlcnkgY29uY2VpdmFibGUgZXJyb3IgLS0g
dGhlIGltcGxlbWVudGF0aW9uIGFsc28gaGFzIHRvIHBhcnRpY2lwYXRlIGJ5IHJlamVjdGluZyBp
bnZhbGlkIC8gdW5zdXBwb3J0ZWQgY29uZmlndXJhdGlvbi4gIFRoYXQgc2FpZCwgd2hlcmUgaXQn
cyBlYXN5IHRvIGFkZCB2YWxpZGF0aW9uLCB3ZSBoYXZlIHRyaWVkIHRvIGluY2x1ZGUgaXQsIHRo
b3VnaCByYW5nZXMsIGRlZmF1bHRzLCBtaW4vbWF4IHZhbHVlcywgZXRjLiBnZXQgaGFyZGVyIHdo
ZW4gdHJ5aW5nIHRvIGJ1aWxkIHNvbWV0aGluZyB2ZW5kb3ItbmV1dHJhbC4NCg0KU2FtZSBhcHBs
aWVzIHRvIHlvdXIgY29ycmVjdCBjb21tZW50IHRoYXQgdGhlIGN1cnJlbnQgY29uc3RydWN0IHRo
ZW9yZXRpY2FsbHkgYWxsb3dzIG9uZSB0byBtaXggYWRkcmVzcyB0eXBlcyBpbiB0aGUgcHJlZml4
IGxpc3QuICBJbnRlcmVzdGluZ2x5LCBzb21lIGltcGxlbWVudGF0aW9ucyBhbGxvdyB5b3UgdG8g
Y3JlYXRlIHN1Y2ggYSBsaXN0LCBidXQgZmFpbCBsYXRlciB3aGVuIHlvdSB0cnkgdG8gdXNlIGl0
IGluIGEgcG9saWN5LiAgIFdlJ3ZlIGNob3NlbiBmb3Igbm93IHRvIGFsbG93IGl0IChhZ2FpbiBm
b3Igc2ltcGxpY2l0eSksIGJ1dCBleHBsaWNpdGx5IHNheSBpbiB0aGUgZGVzY3JpcHRpb24gdGhh
dCBtb3N0IGltcGxlbWVudGF0aW9ucyB3aWxsIHJlamVjdCBhIHByZWZpeC1saXN0IHdpdGggbWl4
ZWQgYWRkcmVzcyB0eXBlcy4NCg0KdGhhbmtzLg0KLS0gQW5lZXMNCg0KDQoNCk9uIFdlZCwgTWF5
IDI3LCAyMDE1IGF0IDk6NTcgQU0sIEFjZWUgTGluZGVtIChhY2VlKSA8YWNlZUBjaXNjby5jb208
bWFpbHRvOmFjZWVAY2lzY28uY29tPj4gd3JvdGU6DQoNCk9uIE1heSAyNywgMjAxNSwgYXQgMTI6
NDcgUE0sIEFjZWUgTGluZGVtIChhY2VlKSA8YWNlZUBjaXNjby5jb208bWFpbHRvOmFjZWVAY2lz
Y28uY29tPj4gd3JvdGU6DQoNCkhpIEFuZWVzLA0KSSBoYWQgbm90ZWQgcHJvYmxlbXMgd2l0aCB0
aGUgcHJlZml4LWxpc3RzIGluIHRoZSBkcmFmdCBhcyB3ZWxsIGJ1dCBoYWRu4oCZdCBnb3QgYXJv
dW5kIHRvIHJhaXNpbmcgdGhlbS4gT25lIHRoaW5nIGFib3V0IHRoZSBtYXNrbGVuZ3RoIGFuZCBt
YXNrbGVuZ3RoLXJhbmdlIGlzIHRoYXQgdGhlcmUgaXMgbm8gdmFsaWRhdGlvbiBpbiB0aGUgbW9k
ZWwgc25pcHBldCBiZWxvdy4gSW4gb3RoZXIgd29yZHMsIHRoZXJlIGlzIG5vdGhpbmcgdG8gZXhw
cmVzcyB0aGF0IHRoZSBtYXNrbGVuZ3RoIG11c3QgYmV0d2VlbiAwLi4zMiBmb3IgSVB2NCBhZGRy
ZXNzZXMgYW5kIDAuLjEyOCBmb3IgSVB2NiBhZGRyZXNzZXMgICh0aGlzIGlzIGVuZm9yY2VkIGJ5
IHRoZSBpcC1wcmVmaXggdHlwZSBmcm9tIFJGQyA2OTkxKS4gU2ltaWxhcmx5LCBhcyBhIHN0cmlu
ZyB0aGVyZSBpbiBubyBpbmhlcmVudCB2YWxpZGF0aW9uIG9mIHRoZSBtYXNrbGVuZ3RoLXJhbmdl
IChlLmcuLCBib3RoIHZhbHVlcyBtdXN0IGJlID49IG1hc2tsZW5ndGgsIHNlY29uZCB2YWx1ZSBt
dXN0IGJlID49IGZpcnN0LXZhbHVlLCBhbmQgYm90aCB2YWx1ZXMgbXVzdCBiZSA+PSBBRiBzcGVj
aWZpYyBsaW1pdCkuDQoNCk9mIGNvdXJzZSBJIG1lYW50ICI8PSBBRiBzcGVjaWZpYyBsaW1pdOKA
nS4NCg0KVGhhbmtzLA0KQWNlZQ0KDQoNCkFsc28sIHRoZXJlIGlzIG5vdGhpbmcgdG8gcHJldmVu
dCBvbmUgZnJvbSBtaXhpbmcgSVB2NCBhbmQgSVB2NiBwcmVmaXhlcyBpbiB0aGUgc2FtZSBsZW5n
dGggd2hpY2ggaXMgZGVmaW5pdGVseSBub3QgYWxsb3dlZCBmb3IgdGhlIHByZWZpeC1saXN0cyB3
ZSBhbGwga25vdyBhbmQgbG92ZS4NClRoYW5rcywNCkFjZWUNCg0KRnJvbTogQW5lZXMgU2hhaWto
IDxhYXNoYWlraEBnb29nbGUuY29tPG1haWx0bzphYXNoYWlraEBnb29nbGUuY29tPj4NCkRhdGU6
IFdlZG5lc2RheSwgTWF5IDI3LCAyMDE1IGF0IDEyOjA5IFBNDQpUbzogSnVlcmdlbiBTY2hvZW53
YWVsZGVyIDxqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU8bWFpbHRvOmouc2No
b2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4+LCBSb3V0aW5nIFlBTkcgPHJ0Zy15YW5n
LWNvb3JkQGlldGYub3JnPG1haWx0bzpydGcteWFuZy1jb29yZEBpZXRmLm9yZz4+DQpTdWJqZWN0
OiBSZTogW1J0Zy15YW5nLWNvb3JkXSBjb21tZW50IGNvbmNlcm5pbmcgZHJhZnQtc2hhaWtoLXJ0
Z3dnLXBvbGljeS1tb2RlbC0wMA0KDQpKdWVyZ2VuLCB5b3UncmUgcmlnaHQgdGhhdCBwcmVmaXgt
bGlzdHMgaW4gdGhlIG1vZGVsIHR1cm5lZCBvdXQgdG8gYmUgYSBiaXQgcHJvYmxlbWF0aWMgYXMg
Y3VycmVudGx5IGRlZmluZWQuICBXZSd2ZSB1cGRhdGVkIHRoZSBtb2RlbCBpbiB0aGUgbW9zdCBy
ZWNlbnQgcmV2aXNpb24gYWZ0ZXIgZ29pbmcgdGhyb3VnaCBzb21lIHRyYW5zbGF0aW9ucyBvZiBv
dXIgY29uZmlncyB0byB0aGUgT3BlbkNvbmZpZyBtb2RlbCBhbmQgcnVubmluZyBpbnRvIHNvbWUg
aXNzdWVzLiAgVGhlIHVwZGF0ZWQgdmVyc2lvbiBsb29rcyBtb3JlIGxpa2UgdGhlIGZvbGxvd2lu
ZzoNCg0KbGlzdCBwcmVmaXggew0KICAgICAgICAgIGtleSAiYWRkcmVzcyBtYXNrbGVuZ3RoIG1h
c2tsZW5ndGgtcmFuZ2UiOw0KDQogICAgICAgICAgbGVhZiBhZGRyZXNzIHsNCiAgICAgICAgICAg
IHR5cGUgaW5ldDppcC1hZGRyZXNzOw0KICAgICAgICAgIH0NCg0KICAgICAgICAgIGxlYWYgbWFz
a2xlbmd0aCB7DQogICAgICAgICAgICB0eXBlIHVpbnQ4Ow0KICAgICAgICAgIH0NCg0KICAgICAg
ICAgIGxlYWYgbWFza2xlbmd0aC1yYW5nZSB7DQogICAgICAgICAgICB0eXBlIHN0cmluZyB7DQog
ICAgICAgICAgICAgIHBhdHRlcm4gJ14oWzAtOV0rXC5cLlswLTldKyl8ZXhhY3QkJzsNCiAgICAg
ICAgICAgIH0NCiAgICAgICAgIH0NCn0NCg0KVGhlIG1vZGVsIHVzZWQgYWRkcmVzcyBhbmQgYSBz
ZXBhcmF0ZSBtYXNrbGVuZ3RoIHNvIHRoYXQgcmFuZ2UgY2hlY2tpbmcgY291bGQgYmUgcGVyZm9y
bWVkIG9uIHRoZSBtYXNrLiAgIFdlJ3ZlIHNpbmNlIHJlbW92ZWQgdGhlIHJhbmdlLWNoZWNraW5n
IGluIGZhdm9yIG9mIHNpbXBsaWZ5aW5nIHRvIGtlZXAgYSBzaW5nbGUgcHJlZml4IGxpc3QgZm9y
IGJvdGggYWRkcmVzcyB0eXBlcywgaXB2NCBhbmQgaXB2Ni4NCg0KVGhlIG9yaWdpbmFsIG1vZGVs
IGhhZCB0aGUgcHJvYmxlbSB5b3UgbWVudGlvbiwgd2hpY2ggaXMgdGhhdCBhbGwga2V5cyBtdXN0
IGJlIG1hbmRhdG9yeSwgaW5jbHVkaW5nIG1hc2tsZW5ndGgtcmFuZ2UsIHdoaWNoIG1lYW50IHRo
ZXJlIHdhcyBubyBzaW1wbGUgd2F5IHRvIGV4cHJlc3MgYW4gZXhhY3QgcHJlZml4IG90aGVyIHRo
YW4sIGUuZy4sIDIxLi4yMSB3aGljaCB3ZSBkaWRuJ3QgdGhpbmsgd2FzIGRlc2lyYWJsZS4gIENo
YW5naW5nIHRoZSBtYXNrbGVuZ3RoLXJhbmdlIHRvIGEgc3RyaW5nIGFsbG93cyBhIG1vcmUgZmxl
eGlibGUgcGF0dGVybiAoaW5jbHVkaW5nIGFuICdleGFjdCcgc2V0dGluZykuICBUaGUgbWFza2xl
bmd0aC1yYW5nZSBpcyBpbmNsdWRlZCBpbiB0aGUga2V5cyB0byBtYWtlIHRoZSBsaXN0IGhhdmUg
dW5pcXVlIG1lbWJlcnMuDQoNCkkgdGhpbmsgd2UgY291bGQgYWxzbyBjb25zaWRlciB5b3VyIHN1
Z2dlc3Rpb24gdG8gdXNlIGEgaW5ldDppcC1wcmVmaXggaW5zdGVhZCBvZiBhZGRyZXNzIHNpbmNl
IHdlJ3JlIG5vdCBkb2luZyByYW5nZS1jaGVja2luZyBvbiB0aGUgbWFza2xlbmd0aCBpbiB0aGUg
Y3VycmVudCBhcHByb2FjaCAtLSB3aWxsIGRpc2N1c3Mgd2l0aCB0aGUgY28tYXV0aG9ycy4NCg0K
QWdyZWUgd2l0aCB5b3VyIHN1Z2dlc3Rpb24gdG8gbWFrZSB0aGUgWE1MIGV4YW1wbGVzIG1vcmUg
Y29uZm9ybWFudCAodGhleSBzaG91bGQgY2VydGFpbmx5IHZhbGlkYXRlKSwgdGhvdWdoIHdlJ3Zl
IG9ubHkgYmVlbiB1c2luZyBhZC1ob2MgbmFtZXNwYWNlcyBmb3IgbW9kZWxzIHRoYXQgYXJlIG5v
dCBJRVRGIFdHIG1vZGVscyBzbyBmYXIuICBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgdGhpcyBp
cyB0aGUgcmVjb21tZW5kZWQgcHJhY3RpY2UuDQoNCnRoYW5rcy4NCi0tIEFuZWVzDQoNCg0KT24g
V2VkLCBNYXkgMjcsIDIwMTUgYXQgNToyNCBBTSwgSnVlcmdlbiBTY2hvZW53YWVsZGVyIDxqLnNj
aG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU8bWFpbHRvOmouc2Nob2Vud2FlbGRlckBq
YWNvYnMtdW5pdmVyc2l0eS5kZT4+IHdyb3RlOg0KSGksDQoNCkkgaGF2ZSByZWFkIHRoZSBkb2N1
bWVudCBhbmQgSSBoYXZlIGEgc21hbGwgY29tbWVudC4NCg0KLSBZb3UgZGVmaW5lIGEgbGlzdCAn
cHJlZml4JyBpbiB0aGUgbGlzdCAncHJlZml4LXNldCcgd2hpY2ggaXMga2V5ZWQNCiAgYnkgdGhy
ZWUgbGVhZnMuIEFzIGEgcmVzdWx0LCBhbGwgdGhyZWUgbGVhZnMgYXJlIG1hbmRhdG9yeS4gWW91
ciBYTUwNCiAgaW5zdGFuY2Ugc25pcHBlZCBpbiBzZWN0aW9uIDEwIGRvZXMgbm90IHZhbGlkYXRl
IGJlY2F1c2UgaXQgaXMNCiAgbWlzc2luZyBtYW5kYXRvcnkga2V5IGVsZW1lbnRzLiBJIHdvbmRl
ciAoYSkgd2h5IGRpZCB5b3Ugbm90IHVzZQ0KICBpbmV0OmlwLXByZWZpeCBpbnN0ZWFkIG9mIHRo
ZSBwYWlyIGluZXQ6aXAtYWRkcmVzcyBhbmQgYSB1bml0OA0KICBtYXNrbGVuZ3RoLiBBbmQgZ2l2
ZW4gdGhlIGRlc2lyZSB0byByZXByZXNlbnQgYSBwcmVmaXggcmFuZ2UsIHdvdWxkDQogIGEgc3Bl
Y2lhbCBzeW50YXggbm90IG1ha2Ugc2Vuc2UsIGUuZy4gYW4gZXh0ZW5zaW9uIG9mIGlwLXByZWZp
eCwNCiAgbGV0cyBjYWxsIGl0IGlwLXByZWZpeC1yYW5nZSwgdGhhdCBhbGxvd3MgdG8gZXhwcmVz
cyBhIHJhbmdlIG9mDQogIHByZWZpeGVzOg0KDQogIDEwLjMuMTkyLjAvMjEtMjQ8aHR0cDovLzEw
LjMuMTkyLjAvMjEtMjQ+IC0+IDEwLjMuMTkyLjAvMjE8aHR0cDovLzEwLjMuMTkyLjAvMjE+DQog
ICAgICAgICAgICAgICAgICAgICAgMTAuMy4xOTIuMC8yMjxodHRwOi8vMTAuMy4xOTIuMC8yMj4N
CiAgICAgICAgICAgICAgICAgICAgICAxMC4zLjE5Mi4wLzIzPGh0dHA6Ly8xMC4zLjE5Mi4wLzIz
Pg0KICAgICAgICAgICAgICAgICAgICAgIDEwLjMuMTkyLjAvMjQ8aHR0cDovLzEwLjMuMTkyLjAv
MjQ+DQoNCiAgSWYgdGhlICctMjQnIHBhcnQgaXMgbWFkZSBvcHRpb25hbCwgeW91ciBwcmVmaXgg
bGlzdCB3aWxsIGJlDQogIGNvbGxhcHNlZCB0byBhIHNpbXBsZQ0KDQogIGxpc3QgcHJlZml4IHsN
CiAgICAgIGtleSBwcmVmaXgtcmFuZ2U7DQoNCiAgICAgIGxlYWYgcHJlZml4LXJhbmdlIHsNCiAg
ICAgICAgICB0eXBlIGlwLXByZWZpeC1yYW5nZTsNCiAgICAgIH0NCiAgfQ0KDQogIFN1Y2ggYW4g
aXAtcHJlZml4LXJhbmdlIHR5cGUgbWF5IGV2ZW4gYmUgYSB1c2VmdWwgYWRkaXRpb24gdG8NCiAg
aWV0Zi1pbmV0LXR5cGVzLg0KDQotIFRoZSBYTUwgc25pcHBldHMgYXJlIG5pY2UgYnV0IGl0IHdv
dWxkIGJlIGNvb2wgaWYgdGhleSB3ZXJlIHVzaW5nDQogIHByb3BlciBuYW1lc3BhY2VzIGFuZCB2
YWxpZGF0ZSBhZ2FpbnN0IHRoZSBkYXRhIG1vZGVsLiBQZXJoYXBzDQogIHNvbWV0aGluZyB0byBj
b25zaWRlciBmb3IgLTAxLiBUaGUgcHlhbmcgdHV0b3JpYWwgcHJvdmlkZXMgZXhhbXBsZXMNCiAg
aG93IHRvIHZhbGlkYXRlIFhNTCBzbmlwcGV0cyBhZ2FpbnN0IFlBTkcgZGVmaW5pdGlvbnMuDQoN
Ci9qcw0KDQotLQ0KSnVlcmdlbiBTY2hvZW53YWVsZGVyICAgICAgICAgICBKYWNvYnMgVW5pdmVy
c2l0eSBCcmVtZW4gZ0dtYkgNClBob25lOiArNDkgNDIxIDIwMCAzNTg3PHRlbDolMkI0OSUyMDQy
MSUyMDIwMCUyMDM1ODc+ICAgICAgICAgQ2FtcHVzIFJpbmcgMSB8IDI4NzU5IEJyZW1lbiB8IEdl
cm1hbnkNCkZheDogICArNDkgNDIxIDIwMCAzMTAzPHRlbDolMkI0OSUyMDQyMSUyMDIwMCUyMDMx
MDM+ICAgICAgICAgPGh0dHA6Ly93d3cuamFjb2JzLXVuaXZlcnNpdHkuZGUvPg0KDQpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KUnRnLXlhbmctY29vcmQg
bWFpbGluZyBsaXN0DQpSdGcteWFuZy1jb29yZEBpZXRmLm9yZzxtYWlsdG86UnRnLXlhbmctY29v
cmRAaWV0Zi5vcmc+DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3J0Zy15
YW5nLWNvb3JkDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQpSdGcteWFuZy1jb29yZCBtYWlsaW5nIGxpc3QNClJ0Zy15YW5nLWNvb3JkQGlldGYub3Jn
PG1haWx0bzpSdGcteWFuZy1jb29yZEBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3LmlldGYub3JnL21h
aWxtYW4vbGlzdGluZm8vcnRnLXlhbmctY29vcmQNCg0KDQo=

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

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy
YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJy
ZWFrOiBhZnRlci13aGl0ZS1zcGFjZTsgY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1zaXplOiAx
NHB4OyBmb250LWZhbWlseTogQ2FsaWJyaSwgc2Fucy1zZXJpZjsiPg0KPGRpdj5UaGFua3MgQW5l
ZXMgLSBPbmUgcmVhc29uIEkgYnJvdWdodCB0aGVzZSB2YWxpZGF0aW9uIHF1ZXN0aW9ucyB1cCBp
cyB0aGF0IHdl4oCZcmUgc3RydWdnbGluZyB3aXRoIHdoYXQgdmFsaWRhdGlvbiBuZWVkcyB0byBi
ZSBpbiB0aGUgbW9kZWwgYW5kIHdoYXQgaXMgbGVmdCB0byB0aGUgZGV2aWNlcyB3aXRoIG90aGVy
IG1vZGVscy4gJm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj5BY2VlJm5ic3A7
PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPHNwYW4gaWQ9Ik9MS19TUkNfQk9EWV9TRUNUSU9O
Ij4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7IGZvbnQtc2l6ZToxMXB0OyB0ZXh0
LWFsaWduOmxlZnQ7IGNvbG9yOmJsYWNrOyBCT1JERVItQk9UVE9NOiBtZWRpdW0gbm9uZTsgQk9S
REVSLUxFRlQ6IG1lZGl1bSBub25lOyBQQURESU5HLUJPVFRPTTogMGluOyBQQURESU5HLUxFRlQ6
IDBpbjsgUEFERElORy1SSUdIVDogMGluOyBCT1JERVItVE9QOiAjYjVjNGRmIDFwdCBzb2xpZDsg
Qk9SREVSLVJJR0hUOiBtZWRpdW0gbm9uZTsgUEFERElORy1UT1A6IDNwdCI+DQo8c3BhbiBzdHls
ZT0iZm9udC13ZWlnaHQ6Ym9sZCI+RnJvbTogPC9zcGFuPkFuZWVzIFNoYWlraCAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOmFhc2hhaWtoQGdvb2dsZS5jb20iPmFhc2hhaWtoQGdvb2dsZS5jb208L2E+Jmd0
Ozxicj4NCjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5EYXRlOiA8L3NwYW4+VGh1cnNk
YXksIE1heSAyOCwgMjAxNSBhdCAxOjUzIEFNPGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0
OmJvbGQiPlRvOiA8L3NwYW4+QWNlZSBMaW5kZW0gJmx0OzxhIGhyZWY9Im1haWx0bzphY2VlQGNp
c2NvLmNvbSI+YWNlZUBjaXNjby5jb208L2E+Jmd0Ozxicj4NCjxzcGFuIHN0eWxlPSJmb250LXdl
aWdodDpib2xkIj5DYzogPC9zcGFuPkp1ZXJnZW4gU2Nob2Vud2FlbGRlciAmbHQ7PGEgaHJlZj0i
bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZSI+ai5zY2hvZW53YWVs
ZGVyQGphY29icy11bml2ZXJzaXR5LmRlPC9hPiZndDssIFJvdXRpbmcgWUFORyAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOnJ0Zy15YW5nLWNvb3JkQGlldGYub3JnIj5ydGcteWFuZy1jb29yZEBpZXRmLm9y
ZzwvYT4mZ3Q7PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQiPlN1YmplY3Q6IDwv
c3Bhbj5SZTogW1J0Zy15YW5nLWNvb3JkXSBjb21tZW50IGNvbmNlcm5pbmcgZHJhZnQtc2hhaWto
LXJ0Z3dnLXBvbGljeS1tb2RlbC0wMDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxi
bG9ja3F1b3RlIGlkPSJNQUNfT1VUTE9PS19BVFRSSUJVVElPTl9CTE9DS1FVT1RFIiBzdHlsZT0i
Qk9SREVSLUxFRlQ6ICNiNWM0ZGYgNSBzb2xpZDsgUEFERElORzowIDAgMCA1OyBNQVJHSU46MCAw
IDAgNTsiPg0KPGRpdj4NCjxkaXY+DQo8ZGl2IGRpcj0ibHRyIj5oaSBBY2VlLCB0aGFua3MgZm9y
IHRoZSBjb21tZW50cyAtLSB3ZSBkZWJhdGVkIHRoZXNlIHNhbWUgcXVlc3Rpb25zIDotKSAmbmJz
cDsNCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PlRoaXMgYXBwcm9hY2ggd2FzIGJhc2VkIG9uIHRo
ZSB3aXNoIHRvIGF2b2lkIG9wZXJhdG9ycyBoYXZpbmcgdG8gd29ycnkgYWJvdXQgc3BlY2lmeWlu
ZyBhbiBpcHY0IHByZWZpeCBsaXN0IHNlcGFyYXRlbHkgZnJvbSBhbiBpcHY2IC0tIG5vIG1ham9y
IGltcGxlbWVudGF0aW9uIGhhcyB0aGlzIHNlcGFyYXRpb24gdG9kYXkgKHRob3VnaCBpdCBjb3Vs
ZCBiZSBjb25zaWRlcmVkKS48L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PklmIHVzaW5n
IGluZXQ6aXAtcHJlZml4IHR5cGUgaW5zdGVhZCBvZiBpbmV0OmlwLWFkZHJlc3MgJiM0MzsgbWFz
a2xlbmd0aCBidXlzIHVzIHNvbWUgcmFuZ2UgY2hlY2tpbmcgaW4gdGhlIHBhdHRlcm4gLCBtYXli
ZSB0aGF0J3MgYW5vdGhlciByZWFzb24gdG8gc3dpdGNoIHRvIHVzaW5nIHRoYXQgdW5pb24gdHlw
ZSBpbnN0ZWFkLiZuYnNwOyBXZSB3aWxsIGRpc2N1c3MgbWFraW5nIHRoYXQgdXBkYXRlLg0KPGRp
dj48YnI+DQo8L2Rpdj4NCjxkaXY+WW91J3JlIHJpZ2h0IHRoYXQgd2l0aCBhIHN0cmluZyB3ZSBk
b24ndCBkbyBjaGVja2luZyBvbiB0aGUgbWFza2xlbmd0aC1yYW5nZSBmaWVsZC4mbmJzcDsgQXMg
SSBtZW50aW9uZWQgZWFybGllciBpbiB0aGUgdGhyZWFkLCB0aGlzIHdhcyB0byBhY2NvbW1vZGF0
ZSBhIHNpbXBsZSB3YXkgdG8gZXhwcmVzcyBhbiBleGFjdCBwcmVmaXggKHNldmVyYWwgaW1wbGVt
ZW50YXRpb25zIGRvIHNvbWV0aGluZyBzaW1pbGFyKS4gJm5ic3A7Jm5ic3A7PC9kaXY+DQo8ZGl2
Pjxicj4NCjwvZGl2Pg0KPGRpdj5BbW9uZyBPcGVuQ29uZmlnIG9wZXJhdG9ycywgYWZ0ZXIgc29t
ZSBkZWJhdGUsIHdlIGdlbmVyYWxseSB0cnkgdG8gYmFsYW5jZSB0aGUgYW1vdW50IG9mIHZhbGlk
YXRpb24gaW4gdGhlIG1vZGVsIGl0c2VsZiwgd2l0aCBtYWludGFpbmluZyBmbGV4aWJpbGl0eSBh
bmQgc2ltcGxpY2l0eS4mbmJzcDsgSW4gb3RoZXIgd29yZHMsIHdlIGRvbid0IGJlbGlldmUgdGhl
IG1vZGVsIG5lZWRzIHRvIHByZXZlbnQgZXZlcnkgY29uY2VpdmFibGUgZXJyb3IgLS0NCiB0aGUg
aW1wbGVtZW50YXRpb24gYWxzbyBoYXMgdG8gcGFydGljaXBhdGUgYnkgcmVqZWN0aW5nIGludmFs
aWQgLyB1bnN1cHBvcnRlZCBjb25maWd1cmF0aW9uLiZuYnNwOyBUaGF0IHNhaWQsIHdoZXJlIGl0
J3MgZWFzeSB0byBhZGQgdmFsaWRhdGlvbiwgd2UgaGF2ZSB0cmllZCB0byBpbmNsdWRlIGl0LCB0
aG91Z2ggcmFuZ2VzLCBkZWZhdWx0cywgbWluL21heCB2YWx1ZXMsIGV0Yy4gZ2V0IGhhcmRlciB3
aGVuIHRyeWluZyB0byBidWlsZCBzb21ldGhpbmcNCiB2ZW5kb3ItbmV1dHJhbC48L2Rpdj4NCjwv
ZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+U2FtZSBhcHBsaWVzIHRvIHlvdXIgY29ycmVj
dCBjb21tZW50IHRoYXQgdGhlIGN1cnJlbnQgY29uc3RydWN0IHRoZW9yZXRpY2FsbHkgYWxsb3dz
IG9uZSB0byBtaXggYWRkcmVzcyB0eXBlcyBpbiB0aGUgcHJlZml4IGxpc3QuJm5ic3A7IEludGVy
ZXN0aW5nbHksIHNvbWUgaW1wbGVtZW50YXRpb25zIGFsbG93IHlvdSB0byBjcmVhdGUgc3VjaCBh
IGxpc3QsIGJ1dCBmYWlsIGxhdGVyIHdoZW4geW91IHRyeSB0byB1c2UgaXQgaW4gYSBwb2xpY3ku
ICZuYnNwOw0KIFdlJ3ZlIGNob3NlbiBmb3Igbm93IHRvIGFsbG93IGl0IChhZ2FpbiBmb3Igc2lt
cGxpY2l0eSksIGJ1dCBleHBsaWNpdGx5IHNheSBpbiB0aGUgZGVzY3JpcHRpb24gdGhhdCBtb3N0
IGltcGxlbWVudGF0aW9ucyB3aWxsIHJlamVjdCBhIHByZWZpeC1saXN0IHdpdGggbWl4ZWQgYWRk
cmVzcyB0eXBlcy48L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2PnRoYW5rcy48L2Rpdj4N
CjxkaXY+LS0gQW5lZXM8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2
Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPg0KPGRpdiBjbGFzcz0iZ21h
aWxfcXVvdGUiPk9uIFdlZCwgTWF5IDI3LCAyMDE1IGF0IDk6NTcgQU0sIEFjZWUgTGluZGVtIChh
Y2VlKSA8c3BhbiBkaXI9Imx0ciI+DQombHQ7PGEgaHJlZj0ibWFpbHRvOmFjZWVAY2lzY28uY29t
IiB0YXJnZXQ9Il9ibGFuayI+YWNlZUBjaXNjby5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJy
Pg0KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44
ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+DQo8ZGl2IHN0
eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+PGJyPg0KPGRpdj48c3BhbiBjbGFzcz0iIj4NCjxi
bG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KPGRpdj5PbiBNYXkgMjcsIDIwMTUsIGF0IDEyOjQ3IFBN
LCBBY2VlIExpbmRlbSAoYWNlZSkgJmx0OzxhIGhyZWY9Im1haWx0bzphY2VlQGNpc2NvLmNvbSIg
dGFyZ2V0PSJfYmxhbmsiPmFjZWVAY2lzY28uY29tPC9hPiZndDsgd3JvdGU6PC9kaXY+DQo8YnI+
DQo8ZGl2Pg0KPGRpdiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQ7Zm9udC1zaXplOjE0cHg7
Zm9udC1mYW1pbHk6Q2FsaWJyaSxzYW5zLXNlcmlmIj4NCjxkaXY+SGkgQW5lZXMsJm5ic3A7PC9k
aXY+DQo8ZGl2PkkgaGFkIG5vdGVkIHByb2JsZW1zIHdpdGggdGhlIHByZWZpeC1saXN0cyBpbiB0
aGUgZHJhZnQgYXMgd2VsbCBidXQgaGFkbuKAmXQgZ290IGFyb3VuZCB0byByYWlzaW5nIHRoZW0u
IE9uZSB0aGluZyBhYm91dCB0aGUgbWFza2xlbmd0aCBhbmQgbWFza2xlbmd0aC1yYW5nZSBpcyB0
aGF0IHRoZXJlIGlzIG5vIHZhbGlkYXRpb24gaW4gdGhlIG1vZGVsIHNuaXBwZXQgYmVsb3cuIElu
IG90aGVyIHdvcmRzLCB0aGVyZSBpcyBub3RoaW5nIHRvIGV4cHJlc3MNCiB0aGF0IHRoZSBtYXNr
bGVuZ3RoIG11c3QgYmV0d2VlbiAwLi4zMiBmb3IgSVB2NCBhZGRyZXNzZXMgYW5kIDAuLjEyOCBm
b3IgSVB2NiBhZGRyZXNzZXMgJm5ic3A7KHRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIGlwLXByZWZp
eCB0eXBlIGZyb20gUkZDIDY5OTEpLiBTaW1pbGFybHksIGFzIGEgc3RyaW5nIHRoZXJlIGluIG5v
IGluaGVyZW50IHZhbGlkYXRpb24gb2YgdGhlIG1hc2tsZW5ndGgtcmFuZ2UgKGUuZy4sIGJvdGgg
dmFsdWVzIG11c3QgYmUgJmd0Oz0gbWFza2xlbmd0aCwNCiBzZWNvbmQgdmFsdWUgbXVzdCBiZSAm
Z3Q7PSBmaXJzdC12YWx1ZSwgYW5kIGJvdGggdmFsdWVzIG11c3QgYmUgJmd0Oz0gQUYgc3BlY2lm
aWMgbGltaXQpLg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj48
YnI+DQo8L2Rpdj4NCjwvc3Bhbj4NCjxkaXY+T2YgY291cnNlIEkgbWVhbnQgJnF1b3Q7Jmx0Oz0g
QUYgc3BlY2lmaWMgbGltaXTigJ0uJm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGRp
dj5UaGFua3MsPC9kaXY+DQo8ZGl2PkFjZWUmbmJzcDs8L2Rpdj4NCjxkaXY+DQo8ZGl2IGNsYXNz
PSJoNSI+DQo8ZGl2Pjxicj4NCjwvZGl2Pg0KPGJyPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+
DQo8ZGl2Pg0KPGRpdiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQ7Zm9udC1zaXplOjE0cHg7
Zm9udC1mYW1pbHk6Q2FsaWJyaSxzYW5zLXNlcmlmIj4NCjxkaXY+QWxzbywgdGhlcmUgaXMgbm90
aGluZyB0byBwcmV2ZW50IG9uZSBmcm9tIG1peGluZyBJUHY0IGFuZCBJUHY2IHByZWZpeGVzIGlu
IHRoZSBzYW1lIGxlbmd0aCB3aGljaCBpcyBkZWZpbml0ZWx5IG5vdCBhbGxvd2VkIGZvciB0aGUg
cHJlZml4LWxpc3RzIHdlIGFsbCBrbm93IGFuZCBsb3ZlLiZuYnNwOzwvZGl2Pg0KPGRpdj5UaGFu
a3MsPC9kaXY+DQo8ZGl2PkFjZWUmbmJzcDs8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8c3Bh
bj4NCjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkNhbGlicmk7Zm9udC1zaXplOjExcHQ7dGV4dC1h
bGlnbjpsZWZ0O2JvcmRlci13aWR0aDoxcHQgbWVkaXVtIG1lZGl1bTtib3JkZXItc3R5bGU6c29s
aWQgbm9uZSBub25lO3BhZGRpbmc6M3B0IDBpbiAwaW47Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMTgx
LDE5NiwyMjMpIj4NCjxzcGFuIHN0eWxlPSJmb250LXdlaWdodDpib2xkIj5Gcm9tOiA8L3NwYW4+
QW5lZXMgU2hhaWtoICZsdDs8YSBocmVmPSJtYWlsdG86YWFzaGFpa2hAZ29vZ2xlLmNvbSIgdGFy
Z2V0PSJfYmxhbmsiPmFhc2hhaWtoQGdvb2dsZS5jb208L2E+Jmd0Ozxicj4NCjxzcGFuIHN0eWxl
PSJmb250LXdlaWdodDpib2xkIj5EYXRlOiA8L3NwYW4+V2VkbmVzZGF5LCBNYXkgMjcsIDIwMTUg
YXQgMTI6MDkgUE08YnI+DQo8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZCI+VG86IDwvc3Bh
bj5KdWVyZ2VuIFNjaG9lbndhZWxkZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpqLnNjaG9lbndhZWxk
ZXJAamFjb2JzLXVuaXZlcnNpdHkuZGUiIHRhcmdldD0iX2JsYW5rIj5qLnNjaG9lbndhZWxkZXJA
amFjb2JzLXVuaXZlcnNpdHkuZGU8L2E+Jmd0OywgUm91dGluZyBZQU5HICZsdDs8YSBocmVmPSJt
YWlsdG86cnRnLXlhbmctY29vcmRAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5ydGcteWFuZy1j
b29yZEBpZXRmLm9yZzwvYT4mZ3Q7PGJyPg0KPHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQi
PlN1YmplY3Q6IDwvc3Bhbj5SZTogW1J0Zy15YW5nLWNvb3JkXSBjb21tZW50IGNvbmNlcm5pbmcg
ZHJhZnQtc2hhaWtoLXJ0Z3dnLXBvbGljeS1tb2RlbC0wMDxicj4NCjwvZGl2Pg0KPGRpdj48YnI+
DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJCT1JERVItTEVGVDojYjVjNGRmIDUgc29saWQ7
UEFERElORzowIDAgMCA1O01BUkdJTjowIDAgMCA1Ij4NCjxkaXY+DQo8ZGl2Pg0KPGRpdiBkaXI9
Imx0ciI+SnVlcmdlbiwgeW91J3JlIHJpZ2h0IHRoYXQgcHJlZml4LWxpc3RzIGluIHRoZSBtb2Rl
bCB0dXJuZWQgb3V0IHRvIGJlIGEgYml0IHByb2JsZW1hdGljIGFzIGN1cnJlbnRseSBkZWZpbmVk
LiZuYnNwOyBXZSd2ZSB1cGRhdGVkIHRoZSBtb2RlbCBpbiB0aGUgbW9zdCByZWNlbnQgcmV2aXNp
b24gYWZ0ZXIgZ29pbmcgdGhyb3VnaCBzb21lIHRyYW5zbGF0aW9ucyBvZiBvdXIgY29uZmlncyB0
byB0aGUgT3BlbkNvbmZpZyBtb2RlbCBhbmQNCiBydW5uaW5nIGludG8gc29tZSBpc3N1ZXMuJm5i
c3A7IFRoZSB1cGRhdGVkIHZlcnNpb24gbG9va3MgbW9yZSBsaWtlIHRoZSBmb2xsb3dpbmc6DQo8
ZGl2Pjxicj4NCjwvZGl2Pg0KPGRpdj4NCjxkaXY+bGlzdCBwcmVmaXggezwvZGl2Pg0KPGRpdj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGtleSAmcXVvdDthZGRyZXNzIG1hc2ts
ZW5ndGggbWFza2xlbmd0aC1yYW5nZSZxdW90Ozs8L2Rpdj4NCjxkaXY+PGJyPg0KPC9kaXY+DQo8
ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbGVhZiBhZGRyZXNzIHs8L2Rp
dj4NCjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgdHlwZSBp
bmV0OmlwLWFkZHJlc3M7PC9kaXY+DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgfTwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyBsZWFmIG1hc2tsZW5ndGggezwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5i
c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0eXBlIHVpbnQ4OzwvZGl2Pg0KPGRpdj4m
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IH08L2Rpdj4NCjxkaXY+PGJyPg0KPC9k
aXY+DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgbGVhZiBtYXNrbGVu
Z3RoLXJhbmdlIHs8L2Rpdj4NCjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgdHlwZSBzdHJpbmcgezwvZGl2Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcGF0dGVybiAnXihbMC05XSYjNDM7XC5cLlswLTld
JiM0MzspfGV4YWN0JCc7PC9kaXY+DQo8ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7IH08L2Rpdj4NCjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwO308L2Rpdj4NCjxkaXY+fTwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+VGhlIG1v
ZGVsIHVzZWQgYWRkcmVzcyBhbmQgYSBzZXBhcmF0ZSBtYXNrbGVuZ3RoIHNvIHRoYXQgcmFuZ2Ug
Y2hlY2tpbmcgY291bGQgYmUgcGVyZm9ybWVkIG9uIHRoZSBtYXNrLiAmbmJzcDsgV2UndmUgc2lu
Y2UgcmVtb3ZlZCB0aGUgcmFuZ2UtY2hlY2tpbmcgaW4gZmF2b3Igb2Ygc2ltcGxpZnlpbmcgdG8g
a2VlcCBhIHNpbmdsZSBwcmVmaXggbGlzdCBmb3IgYm90aCBhZGRyZXNzIHR5cGVzLCBpcHY0IGFu
ZCBpcHY2LjwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+VGhlIG9yaWdpbmFsIG1vZGVs
IGhhZCB0aGUgcHJvYmxlbSB5b3UgbWVudGlvbiwgd2hpY2ggaXMgdGhhdCBhbGwga2V5cyBtdXN0
IGJlIG1hbmRhdG9yeSwgaW5jbHVkaW5nIG1hc2tsZW5ndGgtcmFuZ2UsIHdoaWNoIG1lYW50IHRo
ZXJlIHdhcyBubyBzaW1wbGUgd2F5IHRvIGV4cHJlc3MgYW4gZXhhY3QgcHJlZml4IG90aGVyIHRo
YW4sIGUuZy4sIDIxLi4yMSB3aGljaCB3ZSBkaWRuJ3QgdGhpbmsgd2FzIGRlc2lyYWJsZS4mbmJz
cDsgQ2hhbmdpbmcNCiB0aGUgbWFza2xlbmd0aC1yYW5nZSB0byBhIHN0cmluZyBhbGxvd3MgYSBt
b3JlIGZsZXhpYmxlIHBhdHRlcm4gKGluY2x1ZGluZyBhbiAnZXhhY3QnIHNldHRpbmcpLiZuYnNw
OyBUaGUgbWFza2xlbmd0aC1yYW5nZSBpcyBpbmNsdWRlZCBpbiB0aGUga2V5cyB0byBtYWtlIHRo
ZSBsaXN0IGhhdmUgdW5pcXVlIG1lbWJlcnMuJm5ic3A7PC9kaXY+DQo8ZGl2Pjxicj4NCjwvZGl2
Pg0KPGRpdj5JIHRoaW5rIHdlIGNvdWxkIGFsc28gY29uc2lkZXIgeW91ciBzdWdnZXN0aW9uIHRv
IHVzZSBhIGluZXQ6aXAtcHJlZml4IGluc3RlYWQgb2YgYWRkcmVzcyBzaW5jZSB3ZSdyZSBub3Qg
ZG9pbmcgcmFuZ2UtY2hlY2tpbmcgb24gdGhlIG1hc2tsZW5ndGggaW4gdGhlIGN1cnJlbnQgYXBw
cm9hY2ggLS0gd2lsbCBkaXNjdXNzIHdpdGggdGhlIGNvLWF1dGhvcnMuPC9kaXY+DQo8ZGl2Pjxi
cj4NCjwvZGl2Pg0KPGRpdj5BZ3JlZSB3aXRoIHlvdXIgc3VnZ2VzdGlvbiB0byBtYWtlIHRoZSBY
TUwgZXhhbXBsZXMgbW9yZSBjb25mb3JtYW50ICh0aGV5IHNob3VsZCBjZXJ0YWlubHkgdmFsaWRh
dGUpLCB0aG91Z2ggd2UndmUgb25seSBiZWVuIHVzaW5nIGFkLWhvYyBuYW1lc3BhY2VzIGZvciBt
b2RlbHMgdGhhdCBhcmUgbm90IElFVEYgV0cgbW9kZWxzIHNvIGZhci4mbmJzcDsgTXkgdW5kZXJz
dGFuZGluZyBpcyB0aGF0IHRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIHByYWN0aWNlLjwvZGl2Pg0K
PGRpdj48YnI+DQo8L2Rpdj4NCjxkaXY+dGhhbmtzLjwvZGl2Pg0KPGRpdj4tLSBBbmVlczwvZGl2
Pg0KPGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOzxi
cj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+
DQo8ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gV2VkLCBNYXkgMjcsIDIwMTUgYXQgNToyNCBB
TSwgSnVlcmdlbiBTY2hvZW53YWVsZGVyIDxzcGFuIGRpcj0ibHRyIj4NCiZsdDs8YSBocmVmPSJt
YWlsdG86ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlIiB0YXJnZXQ9Il9ibGFu
ayI+ai5zY2hvZW53YWVsZGVyQGphY29icy11bml2ZXJzaXR5LmRlPC9hPiZndDs8L3NwYW4+IHdy
b3RlOjxicj4NCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjow
IDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPg0K
SGksPGJyPg0KPGJyPg0KSSBoYXZlIHJlYWQgdGhlIGRvY3VtZW50IGFuZCBJIGhhdmUgYSBzbWFs
bCBjb21tZW50Ljxicj4NCjxicj4NCi0gWW91IGRlZmluZSBhIGxpc3QgJ3ByZWZpeCcgaW4gdGhl
IGxpc3QgJ3ByZWZpeC1zZXQnIHdoaWNoIGlzIGtleWVkPGJyPg0KJm5ic3A7IGJ5IHRocmVlIGxl
YWZzLiBBcyBhIHJlc3VsdCwgYWxsIHRocmVlIGxlYWZzIGFyZSBtYW5kYXRvcnkuIFlvdXIgWE1M
PGJyPg0KJm5ic3A7IGluc3RhbmNlIHNuaXBwZWQgaW4gc2VjdGlvbiAxMCBkb2VzIG5vdCB2YWxp
ZGF0ZSBiZWNhdXNlIGl0IGlzPGJyPg0KJm5ic3A7IG1pc3NpbmcgbWFuZGF0b3J5IGtleSBlbGVt
ZW50cy4gSSB3b25kZXIgKGEpIHdoeSBkaWQgeW91IG5vdCB1c2U8YnI+DQombmJzcDsgaW5ldDpp
cC1wcmVmaXggaW5zdGVhZCBvZiB0aGUgcGFpciBpbmV0OmlwLWFkZHJlc3MgYW5kIGEgdW5pdDg8
YnI+DQombmJzcDsgbWFza2xlbmd0aC4gQW5kIGdpdmVuIHRoZSBkZXNpcmUgdG8gcmVwcmVzZW50
IGEgcHJlZml4IHJhbmdlLCB3b3VsZDxicj4NCiZuYnNwOyBhIHNwZWNpYWwgc3ludGF4IG5vdCBt
YWtlIHNlbnNlLCBlLmcuIGFuIGV4dGVuc2lvbiBvZiBpcC1wcmVmaXgsPGJyPg0KJm5ic3A7IGxl
dHMgY2FsbCBpdCBpcC1wcmVmaXgtcmFuZ2UsIHRoYXQgYWxsb3dzIHRvIGV4cHJlc3MgYSByYW5n
ZSBvZjxicj4NCiZuYnNwOyBwcmVmaXhlczo8YnI+DQo8YnI+DQombmJzcDsgPGEgaHJlZj0iaHR0
cDovLzEwLjMuMTkyLjAvMjEtMjQiIHRhcmdldD0iX2JsYW5rIj4xMC4zLjE5Mi4wLzIxLTI0PC9h
PiAtJmd0OyA8YSBocmVmPSJodHRwOi8vMTAuMy4xOTIuMC8yMSIgdGFyZ2V0PSJfYmxhbmsiPg0K
MTAuMy4xOTIuMC8yMTwvYT48YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7
ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6
Ly8xMC4zLjE5Mi4wLzIyIiB0YXJnZXQ9Il9ibGFuayI+MTAuMy4xOTIuMC8yMjwvYT48YnI+DQom
bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu
YnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhyZWY9Imh0dHA6Ly8xMC4zLjE5Mi4wLzIzIiB0YXJnZXQ9
Il9ibGFuayI+MTAuMy4xOTIuMC8yMzwvYT48YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz
cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDxhIGhy
ZWY9Imh0dHA6Ly8xMC4zLjE5Mi4wLzI0IiB0YXJnZXQ9Il9ibGFuayI+MTAuMy4xOTIuMC8yNDwv
YT48YnI+DQo8YnI+DQombmJzcDsgSWYgdGhlICctMjQnIHBhcnQgaXMgbWFkZSBvcHRpb25hbCwg
eW91ciBwcmVmaXggbGlzdCB3aWxsIGJlPGJyPg0KJm5ic3A7IGNvbGxhcHNlZCB0byBhIHNpbXBs
ZTxicj4NCjxicj4NCiZuYnNwOyBsaXN0IHByZWZpeCB7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJz
cDsga2V5IHByZWZpeC1yYW5nZTs8YnI+DQo8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyBsZWFm
IHByZWZpeC1yYW5nZSB7PGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyB0
eXBlIGlwLXByZWZpeC1yYW5nZTs8YnI+DQombmJzcDsgJm5ic3A7ICZuYnNwOyB9PGJyPg0KJm5i
c3A7IH08YnI+DQo8YnI+DQombmJzcDsgU3VjaCBhbiBpcC1wcmVmaXgtcmFuZ2UgdHlwZSBtYXkg
ZXZlbiBiZSBhIHVzZWZ1bCBhZGRpdGlvbiB0bzxicj4NCiZuYnNwOyBpZXRmLWluZXQtdHlwZXMu
PGJyPg0KPGJyPg0KLSBUaGUgWE1MIHNuaXBwZXRzIGFyZSBuaWNlIGJ1dCBpdCB3b3VsZCBiZSBj
b29sIGlmIHRoZXkgd2VyZSB1c2luZzxicj4NCiZuYnNwOyBwcm9wZXIgbmFtZXNwYWNlcyBhbmQg
dmFsaWRhdGUgYWdhaW5zdCB0aGUgZGF0YSBtb2RlbC4gUGVyaGFwczxicj4NCiZuYnNwOyBzb21l
dGhpbmcgdG8gY29uc2lkZXIgZm9yIC0wMS4gVGhlIHB5YW5nIHR1dG9yaWFsIHByb3ZpZGVzIGV4
YW1wbGVzPGJyPg0KJm5ic3A7IGhvdyB0byB2YWxpZGF0ZSBYTUwgc25pcHBldHMgYWdhaW5zdCBZ
QU5HIGRlZmluaXRpb25zLjxicj4NCjxzcGFuPjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+DQov
anM8YnI+DQo8YnI+DQotLTxicj4NCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciZuYnNwOyAmbmJzcDsg
Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7SmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJI
PGJyPg0KUGhvbmU6IDxhIGhyZWY9InRlbDolMkI0OSUyMDQyMSUyMDIwMCUyMDM1ODciIHZhbHVl
PSImIzQzOzQ5NDIxMjAwMzU4NyIgdGFyZ2V0PSJfYmxhbmsiPg0KJiM0Mzs0OSA0MjEgMjAwIDM1
ODc8L2E+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO0NhbXB1cyBSaW5nIDEgfCAy
ODc1OSBCcmVtZW4gfCBHZXJtYW55PGJyPg0KRmF4OiZuYnNwOyAmbmJzcDs8YSBocmVmPSJ0ZWw6
JTJCNDklMjA0MjElMjAyMDAlMjAzMTAzIiB2YWx1ZT0iJiM0Mzs0OTQyMTIwMDMxMDMiIHRhcmdl
dD0iX2JsYW5rIj4mIzQzOzQ5IDQyMSAyMDAgMzEwMzwvYT4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgJm5ic3A7Jmx0OzxhIGhyZWY9Imh0dHA6Ly93d3cuamFjb2JzLXVuaXZlcnNpdHkuZGUv
IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS88L2E+Jmd0
Ozxicj4NCjxicj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fPGJyPg0KUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0PGJyPg0KPGEgaHJlZj0ibWFpbHRv
OlJ0Zy15YW5nLWNvb3JkQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+UnRnLXlhbmctY29vcmRA
aWV0Zi5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9ydGcteWFuZy1jb29yZCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmlldGYu
b3JnL21haWxtYW4vbGlzdGluZm8vcnRnLXlhbmctY29vcmQ8L2E+PGJyPg0KPC9mb250Pjwvc3Bh
bj48L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxicj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv
YmxvY2txdW90ZT4NCjwvc3Bhbj48L2Rpdj4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fPGJyPg0KUnRnLXlhbmctY29vcmQgbWFpbGluZyBsaXN0PGJyPg0K
PGEgaHJlZj0ibWFpbHRvOlJ0Zy15YW5nLWNvb3JkQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+
UnRnLXlhbmctY29vcmRAaWV0Zi5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0
Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9ydGcteWFuZy1jb29yZCIgdGFyZ2V0PSJfYmxhbmsiPmh0
dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vcnRnLXlhbmctY29vcmQ8L2E+PGJy
Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8YnI+DQo8
L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPGJyPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2
Pg0KPC9ibG9ja3F1b3RlPg0KPC9zcGFuPg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_D18C5D6D1F518aceeciscocom_--


From nobody Thu May 28 04:18:18 2015
Return-Path: <shares@ndzh.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 271121A8AB1 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:18:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.055
X-Spam-Level: 
X-Spam-Status: No, score=-99.055 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, USER_IN_WHITELIST=-100] autolearn=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 3So1PODL3kUN for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:18:11 -0700 (PDT)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) by ietfa.amsl.com (Postfix) with ESMTP id 7BE6D1A8A8A for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 04:18:11 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=174.124.178.112; 
From: "Susan Hares" <shares@ndzh.com>
To: "'Ladislav Lhotka'" <lhotka@nic.cz>, <Rtg-yang-coord@ietf.org>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
In-Reply-To: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
Date: Thu, 28 May 2015 07:18:06 -0400
Message-ID: <00a701d09937$f8edf620$eac9e260$@ndzh.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGMdBhPp/EGgcFyBhqWIKEwxi/HrZ4ZhDQA
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com 
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/q8S-2VV1d-3dRvXtP5dgliSAZxE>
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 11:18:16 -0000

Lada:=20

Thank you for this suggestion. How would you suggest the I2RS yang =
models for I2RS RIB, I2RS Topology, and I2RS FB-RIB use the=20


     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
         +"rt:routing-protocol" {
       when "rt:type =3D 'i2rs:i2rs'" {
         description
          "This augment is only valid when routing protocol
           instance type is i2rs.";
       }
       presence "I2RS routing protocol=E2=80=9D;
       ...
     }

 If a modules depends on L1 TEAS model or l2  how should this be tested? =



Sue=20

-----Original Message-----
From: Rtg-yang-coord [mailto:rtg-yang-coord-bounces@ietf.org] On Behalf =
Of Ladislav Lhotka
Sent: Thursday, May 28, 2015 5:29 AM
To: Rtg-yang-coord@ietf.org
Subject: [Rtg-yang-coord] container with presence

Hi,

I have a suggestion for the authors of all routing protocol modules: the =
container that encapsulates all configuration data for a given protocol =
should be a container with presence (see sec. 7.5.1 in RFC 6020) because =
then the configuration data may include mandatory items that are =
otherwise forbidden at the top level of an augment.

See also YANG 1.1 issue Y26:

https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27

For example, in the the ietf-isis it should look like this:

     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
         +"rt:routing-protocol" {
       when "rt:type =3D 'isis:isis'" {
         description
          "This augment is only valid when routing protocol
           instance type is isis.";
       }
       presence "IS-IS routing protocol=E2=80=9D;
       ...
     }

I am also including this recommendation in the routing-cfg draft.

Lada
--
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C




_______________________________________________
Rtg-yang-coord mailing list
Rtg-yang-coord@ietf.org
https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Thu May 28 04:42:46 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E0861A909C for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:42:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.061
X-Spam-Level: 
X-Spam-Status: No, score=-0.061 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, J_CHICKENPOX_29=0.6, T_RP_MATCHES_RCVD=-0.01] autolearn=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 j8K0uiOy7KoX for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 04:42:42 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 47C661A908C for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 04:42:42 -0700 (PDT)
Received: from birdie.labs.nic.cz (unknown [195.113.220.110]) by mail.nic.cz (Postfix) with ESMTPSA id E6FCF13F7CA; Thu, 28 May 2015 13:42:40 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1432813360; bh=j+/upLRzOdX5dSTe/kkRlL3a+b/mzzHdjOsXTw2IHWk=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=bsSv+7+2EBLlfUcMnJ2EU3H9JWk/8ln9/A1XQoSaLAkFCNi1t7bq3DcFK8fbToGXE hWbra/PMMd5ZDQ2isxl906WLoJ/o+ILnvdUJxTu8wFAkE7aZ2LcohvJTwQL4Yh35Rt 5e2yWP799pPdbmyiIQ6oK1chLXfsVqVwn7Gua4AQ=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <00a701d09937$f8edf620$eac9e260$@ndzh.com>
Date: Thu, 28 May 2015 13:42:41 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <07EA8763-056F-4BD3-B7F1-8B6647B486A6@nic.cz>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <00a701d09937$f8edf620$eac9e260$@ndzh.com>
To: Susan Hares <shares@ndzh.com>
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/qljlW5Q9xVXPZbKHbhkyGNCI4Lo>
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 11:42:44 -0000

Hi Sue,

> On 28 May 2015, at 13:18, Susan Hares <shares@ndzh.com> wrote:
>=20
> Lada:=20
>=20
> Thank you for this suggestion. How would you suggest the I2RS yang =
models for I2RS RIB, I2RS Topology, and I2RS FB-RIB use the=20

These models don=E2=80=99t define routing protocols, so why should they =
augment "rt:routing-protocol=E2=80=9D?

However, the use of presence containers is a common workaround for all =
situation where mandatory data are needed inside an augment. Another =
example is the if:interface list in the ietf-interfaces module, where =
config data for a specific interface type (augmented into the list from =
another module) might include mandatory items.

Another solution that doesn=E2=80=99t need an extra presence container =
is to use a =E2=80=9Cmust=E2=80=9D statement.=20
=20

>=20
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'i2rs:i2rs'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is i2rs.";
>       }
>       presence "I2RS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> If a modules depends on L1 TEAS model or l2  how should this be =
tested?

Sorry, I don=E2=80=99t understand, what exactly do you want to test?

Lada

> =20
>=20
>=20
> Sue=20
>=20
> -----Original Message-----
> From: Rtg-yang-coord [mailto:rtg-yang-coord-bounces@ietf.org] On =
Behalf Of Ladislav Lhotka
> Sent: Thursday, May 28, 2015 5:29 AM
> To: Rtg-yang-coord@ietf.org
> Subject: [Rtg-yang-coord] container with presence
>=20
> Hi,
>=20
> I have a suggestion for the authors of all routing protocol modules: =
the container that encapsulates all configuration data for a given =
protocol should be a container with presence (see sec. 7.5.1 in RFC =
6020) because then the configuration data may include mandatory items =
that are otherwise forbidden at the top level of an augment.
>=20
> See also YANG 1.1 issue Y26:
>=20
> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>=20
> For example, in the the ietf-isis it should look like this:
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'isis:isis'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is isis.";
>       }
>       presence "IS-IS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> I am also including this recommendation in the routing-cfg draft.
>=20
> Lada
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>=20
>=20
>=20
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>=20

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





From nobody Thu May 28 13:18:02 2015
Return-Path: <mjethanandani@gmail.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 005251A88D9 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:18:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 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, SPF_PASS=-0.001] autolearn=ham
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 tvbgjCH4qyax for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:17:59 -0700 (PDT)
Received: from mail-pa0-x22a.google.com (mail-pa0-x22a.google.com [IPv6:2607:f8b0:400e:c03::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 ADDDA1A88D5 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:17:59 -0700 (PDT)
Received: by padbw4 with SMTP id bw4so31265695pad.0 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:17:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=zdLxZcK4jGSAE/ipIK1qdeT6Ho7N/ZoYkEccK/qjZgg=; b=GV5iNXtNJBP+kFJMbmyx56SatHZNU0ds/1UHUEB2q8MWBDAhVpkWGrN1sJ2GQb2E5k ApkPjHUzK7ghQds0WQMrsH4tHfF4o8QuW/R+c7M33V95q/YCIWdWaBQdNZ1h/n5NsnI8 i6/drhiJsqx3XY2eZyrrBPW957gMuHUGOMDBuJwIoRx9X7lz5C5V64dT9PrrIFJkWRAO xnekD7BugnI+YvPcp4pveKLan3a3wD3e1wrcN5lGHxkkqDfWGU6xaFy6a9tP5N564HSb dC0OpSiI+58d1xinGRrZVSMPzrSjIr1uiqfO7zDHPA/By0h3OGgRTZCAX4eGaAI/QH2P oUJQ==
X-Received: by 10.68.133.200 with SMTP id pe8mr8631644pbb.133.1432844279332; Thu, 28 May 2015 13:17:59 -0700 (PDT)
Received: from ?IPv6:2001:420:302:1330:7197:4184:582e:ba8f? ([2001:420:302:1330:7197:4184:582e:ba8f]) by mx.google.com with ESMTPSA id j7sm3253839pbq.35.2015.05.28.13.17.57 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 May 2015 13:17:58 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_341F9783-A6EE-427E-AFA9-6750B5D524E0"
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
Date: Thu, 28 May 2015 13:18:22 -0700
Message-Id: <60EFF4AA-18BA-4B5B-87F4-4F5204A72A79@gmail.com>
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com> <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com>
To: Anees Shaikh <aashaikh@google.com>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/ALp4QYZZ9FrwZGFU1jyB3jCcoqo>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 20:18:01 -0000

--Apple-Mail=_341F9783-A6EE-427E-AFA9-6750B5D524E0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Aneesh,

When I look at a model to see where the ranges, defaults, min/max values =
can be defined, I rely on protocol definition and what the expectation =
is of the packet on the wire.=20

Two examples come to mind. VLAN, as we know has a fixed range, and can =
be easily defined. Same for MPLS labels. The other example is of duplex =
on a Ethernet port. You can probably set the default to full duplex, and =
few folks will complain. If the protocol defines it and you can cite a =
section in the standard where the range/default is defined then you are =
covered.=20

Where there is no clear standards defining ranges, defaults, min/max, I =
agree with you, it is best to keep it out of a standard model.

Cheers.

> On May 27, 2015, at 10:53 PM, Anees Shaikh <aashaikh@google.com> =
wrote:
>=20
> That said, where it's easy to add validation, we have tried to include =
it, though ranges, defaults, min/max values, etc. get harder when trying =
to build something vendor-neutral.

Mahesh Jethanandani
mjethanandani@gmail.com




--Apple-Mail=_341F9783-A6EE-427E-AFA9-6750B5D524E0
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"">Aneesh,<div class=3D""><br class=3D""></div><div =
class=3D"">When I look at a model to see where the ranges, defaults, =
min/max values can be defined, I rely on protocol definition and what =
the expectation is of the packet on the wire.&nbsp;</div><div =
class=3D""><br class=3D""></div><div class=3D"">Two examples come to =
mind. VLAN, as we know has a fixed range, and can be easily defined. =
Same for MPLS labels. The other example is of duplex on a Ethernet port. =
You can probably set the default to full duplex, and few folks will =
complain. If the protocol defines it and you can cite a section in the =
standard where the range/default is defined then you are =
covered.&nbsp;</div><div class=3D""><br class=3D""></div><div =
class=3D"">Where there is no clear standards defining ranges, defaults, =
min/max, I agree with you, it is best to keep it out of a standard =
model.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Cheers.</div><div class=3D""><br class=3D""><div><blockquote =
type=3D"cite" class=3D""><div class=3D"">On May 27, 2015, at 10:53 PM, =
Anees Shaikh &lt;<a href=3D"mailto:aashaikh@google.com" =
class=3D"">aashaikh@google.com</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: 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; float: none; display: inline =
!important;" class=3D"">That said, where it's easy to add validation, we =
have tried to include it, though ranges, defaults, min/max values, etc. =
get harder when trying to build something =
vendor-neutral.</span></div></blockquote></div><br class=3D""><div =
apple-content-edited=3D"true" 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></body></html>=

--Apple-Mail=_341F9783-A6EE-427E-AFA9-6750B5D524E0--


From nobody Thu May 28 13:38:05 2015
Return-Path: <mjethanandani@gmail.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E965C1A88F5 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:38:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level: 
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] autolearn=ham
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 3mCNPqaPpBcx for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:38:02 -0700 (PDT)
Received: from mail-pd0-x22a.google.com (mail-pd0-x22a.google.com [IPv6:2607:f8b0:400e:c02::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 CE6261A8880 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:38:01 -0700 (PDT)
Received: by pdea3 with SMTP id a3so49528928pde.2 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:38:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;  h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=l1YKQlQz3ndN+lBRrKMk+nGeG69N4FUjNjni041OFoE=; b=Jgy3KCogEZeanlC/Mv4Xh+CbC1WGqVCBsbesLGOjCSgE9VAFOwjGLaboWtZkihLGP7 B3Y4sSz48ez6HK1fNiDjmHpAHboQ+G/YAN1iWM9BCArw91jKKaLsj1VasRmqCr3quQV8 +bvz1Mokn/zdtvILvHcuU4c1/cQMNErT3H8PO1/Xo4Yk3yUBpp5LSCIfBop0IGZvOEgD +Pud1zRTMq6T8vAIL9qzS5g/mNnQsJR4WGDYVUQMoXVvqkhBdzpYXuZh8NDoyxpMB5xj Iee0difpl42CM8fqjnR/5QlaxjPlLv69R7OYqkEau5BeaRAbjqTuHlBrkcAYrhZM1VZ6 nnUA==
X-Received: by 10.68.68.142 with SMTP id w14mr8764688pbt.95.1432845481363; Thu, 28 May 2015 13:38:01 -0700 (PDT)
Received: from ?IPv6:2001:420:302:1330:7197:4184:582e:ba8f? ([2001:420:302:1330:7197:4184:582e:ba8f]) by mx.google.com with ESMTPSA id nb10sm3276303pdb.76.2015.05.28.13.38.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 28 May 2015 13:38:00 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
Date: Thu, 28 May 2015 13:38:24 -0700
Content-Transfer-Encoding: quoted-printable
Message-Id: <C4730376-085F-4660-B4F7-9BA4FC9B234A@gmail.com>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz>
To: Ladislav Lhotka <lhotka@nic.cz>
X-Mailer: Apple Mail (2.2098)
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/-Sp6vQGK-HUGB4vJHHH0haivPn4>
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 20:38:04 -0000

And the error that will pop up as result will be something like this:

Warning: top-level NP container =E2=80=98twamp-client' is mandatory
ietf-twamp.yang:59.9: warning(1048): top-level object is mandatory

> On May 28, 2015, at 2:28 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
>=20
> Hi,
>=20
> I have a suggestion for the authors of all routing protocol modules: =
the container that encapsulates all configuration data for a given =
protocol should be a container with presence (see sec. 7.5.1 in RFC =
6020) because then the configuration data may include mandatory items =
that are otherwise forbidden at the top level of an augment.
>=20
> See also YANG 1.1 issue Y26:
>=20
> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>=20
> For example, in the the ietf-isis it should look like this:
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'isis:isis'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is isis.";
>       }
>       presence "IS-IS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> I am also including this recommendation in the routing-cfg draft.
>=20
> Lada
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>=20
>=20
>=20
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord

Mahesh Jethanandani
mjethanandani@gmail.com




From nobody Thu May 28 13:55:27 2015
Return-Path: <aashaikh@google.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A8BBF1A8946 for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:55:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level: 
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=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 Ap4xPE5ThtkZ for <rtg-yang-coord@ietfa.amsl.com>; Thu, 28 May 2015 13:55:23 -0700 (PDT)
Received: from mail-oi0-x236.google.com (mail-oi0-x236.google.com [IPv6:2607:f8b0:4003:c06::236]) (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 2BB081A893E for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:55:22 -0700 (PDT)
Received: by oihd6 with SMTP id d6so42122862oih.2 for <Rtg-yang-coord@ietf.org>; Thu, 28 May 2015 13:55:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=MJzaSIUNUL7JUPTAA7hbmf/k69lnMlL1QjyGSSeKuh4=; b=UUbgbkxSh9itdO3NxMpntr6u1PFB8a6GhAazvGvGnJ0GhPd9QWjs3cWlHXwrwuycj/ /nblG3C1sWjHuR75x6KuSix7GmaQcbLq35S9WB5p4Czi7nfbgj4Lk6yrG6VRW/wNDcvR fBpeDbw/O7gI3caI6vc9mw3TL9wWFwv5+2KbRatD5t+mKhc0fn51vp2wiu7NP1iNQyq5 hGD+Y8uJO2EjsMqM6nxNqEwO504mAMsSdHJpBwCBJ/IonytPqUpPZ3LcRqcCnXAr24BE RTYVslz0Vd5z2YOFy7/bNvxBuZGAbGvdtLZdBrCwUfKuxB0JusWESaeCIw8nE1VJV2Xm drow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-type; bh=MJzaSIUNUL7JUPTAA7hbmf/k69lnMlL1QjyGSSeKuh4=; b=HSN/0mRVQLqcPqWCqW/pxhTs2FBrX2hoTHSO9tnOhSrEk8/fSBJY8bXwsmWVhio9SK du4DMC5X0m6Nw5atQGRvG8C+oNg7Dpri0eSfL/+GRMSpKnZmDH8NKyvSBcojAZhWiouT YV1XGjTRlQFnHoH8GJOllFApSiFJ17b7CqUT3WiDbWpvj3b35GuGg5I0YPAHObad2/mO ZHcNKhZ7FQpT09p7B3FfVr9tS8QacMQCbbRxMl4iwj/PTUIgW3J6fqVvKtzZqtM6Y8kG /2TiFQMNBLqMN5LUYhaRNsqrj/bUYWGtXRGkcimOw/K4HR/o6FjxnQIeS+1dp0+FiQNZ x9xQ==
X-Gm-Message-State: ALoCoQnm0ncTxVUom4RNMxg/3axIblv0GI5R8KTpDd4RFzkQ7xhYOWwyZHjuCKwi0ZbppyROKGOR
X-Received: by 10.202.202.80 with SMTP id a77mr3991053oig.118.1432846522028; Thu, 28 May 2015 13:55:22 -0700 (PDT)
MIME-Version: 1.0
References: <20150527122452.GC41087@elstar.local> <CAJK7ZqKHEYpD3nb8J5hjbex=NVhAAtURHWw5jGKxdrRWZe+sCw@mail.gmail.com> <D18B6A36.1F437%acee@cisco.com> <15B43214-AE84-49C0-A83B-9E4DB6184CC6@cisco.com> <CAJK7Zq+9bFvuW79Cv5eg9E+189PW8zZ0aSHFCvPWSy-Pf=ksDQ@mail.gmail.com> <60EFF4AA-18BA-4B5B-87F4-4F5204A72A79@gmail.com>
In-Reply-To: <60EFF4AA-18BA-4B5B-87F4-4F5204A72A79@gmail.com>
From: Anees Shaikh <aashaikh@google.com>
Date: Thu, 28 May 2015 20:55:11 +0000
Message-ID: <CAJK7Zq+49izWtR1Kh=uSG31PSjbbLDcFfHyugMzfdObcA9ykbA@mail.gmail.com>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
Content-Type: multipart/alternative; boundary=001a11352cdef6c1f605172a9363
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/-i19thRO7mvnkmWUEFK0o80-IAQ>
Cc: "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, "Acee Lindem \(acee\)" <acee@cisco.com>
Subject: Re: [Rtg-yang-coord] comment concerning draft-shaikh-rtgwg-policy-model-00
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 28 May 2015 20:55:24 -0000

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

Right, those examples are relatively easy because they are defined by a
standard or widely used common settings. We try to do this in the
OpenConfig models but there are plenty of examples where every
implementation has chosen a different default, range, etc.

Thanks.
-- Anees
On Thu, May 28, 2015 at 1:18 PM Mahesh Jethanandani <mjethanandani@gmail.com>
wrote:

> Aneesh,
>
> When I look at a model to see where the ranges, defaults, min/max values
> can be defined, I rely on protocol definition and what the expectation is
> of the packet on the wire.
>
> Two examples come to mind. VLAN, as we know has a fixed range, and can be
> easily defined. Same for MPLS labels. The other example is of duplex on a
> Ethernet port. You can probably set the default to full duplex, and few
> folks will complain. If the protocol defines it and you can cite a section
> in the standard where the range/default is defined then you are covered.
>
> Where there is no clear standards defining ranges, defaults, min/max, I
> agree with you, it is best to keep it out of a standard model.
>
> Cheers.
>
> On May 27, 2015, at 10:53 PM, Anees Shaikh <aashaikh@google.com> wrote:
>
> That said, where it's easy to add validation, we have tried to include it,
> though ranges, defaults, min/max values, etc. get harder when trying to
> build something vendor-neutral.
>
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>
>
>

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

Right, those examples are relatively easy because they are defined by a sta=
ndard or widely used common settings.  We try to do this in the OpenConfig =
models but there are plenty of examples where every implementation has chos=
en a different default, range, etc. <br><br>Thanks. <br>-- Anees<br><div cl=
ass=3D"gmail_quote">On Thu, May 28, 2015 at 1:18 PM Mahesh Jethanandani &lt=
;<a href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>&gt;=
 wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bor=
der-left:1px #ccc solid;padding-left:1ex"><div style=3D"word-wrap:break-wor=
d">Aneesh,<div><br></div><div>When I look at a model to see where the range=
s, defaults, min/max values can be defined, I rely on protocol definition a=
nd what the expectation is of the packet on the wire.=C2=A0</div><div><br><=
/div><div>Two examples come to mind. VLAN, as we know has a fixed range, an=
d can be easily defined. Same for MPLS labels. The other example is of dupl=
ex on a Ethernet port. You can probably set the default to full duplex, and=
 few folks will complain. If the protocol defines it and you can cite a sec=
tion in the standard where the range/default is defined then you are covere=
d.=C2=A0</div><div><br></div><div>Where there is no clear standards definin=
g ranges, defaults, min/max, I agree with you, it is best to keep it out of=
 a standard model.</div><div><br></div><div>Cheers.</div><div><br><div><blo=
ckquote type=3D"cite"></blockquote></div></div></div><div style=3D"word-wra=
p:break-word"><div><div><blockquote type=3D"cite"><div>On May 27, 2015, at =
10:53 PM, Anees Shaikh &lt;<a href=3D"mailto:aashaikh@google.com" target=3D=
"_blank">aashaikh@google.com</a>&gt; wrote:</div><br></blockquote></div></d=
iv></div><div style=3D"word-wrap:break-word"><div><div><blockquote type=3D"=
cite"><div><span style=3D"font-family:Helvetica;font-size:12px;font-style:n=
ormal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-hei=
ght:normal;text-align:start;text-indent:0px;text-transform:none;white-space=
:normal;word-spacing:0px;float:none;display:inline!important">That said, wh=
ere it&#39;s easy to add validation, we have tried to include it, though ra=
nges, defaults, min/max values, etc. get harder when trying to build someth=
ing vendor-neutral.</span></div></blockquote></div></div></div><div style=
=3D"word-wrap:break-word"><div><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></div><br>

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

--001a11352cdef6c1f605172a9363--


From nobody Fri May 29 09:28:36 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1A061AC424 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 09:28: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] autolearn=ham
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 i3RQA6FSPAxY for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 09:28:31 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 05EFD1A923D for <Rtg-yang-coord@ietf.org>; Fri, 29 May 2015 09:28:31 -0700 (PDT)
Received: from localhost (unknown [172.29.2.202]) by trail.lhotka.name (Postfix) with ESMTPSA id B322E1CC0293; Fri, 29 May 2015 18:28:31 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <C4730376-085F-4660-B4F7-9BA4FC9B234A@gmail.com>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <C4730376-085F-4660-B4F7-9BA4FC9B234A@gmail.com>
User-Agent: Notmuch/0.19 (http://notmuchmail.org) Emacs/24.4.51.2 (x86_64-apple-darwin14.0.0)
Date: Fri, 29 May 2015 18:28:29 +0200
Message-ID: <m2twuvpcuq.fsf@Birdie.nat6.vcit.vutbr.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/01nY1xD6_haF0DI9YCmvBsL4yE8>
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 16:28:34 -0000

Mahesh Jethanandani <mjethanandani@gmail.com> writes:

> And the error that will pop up as result will be something like this:
>
> Warning: top-level NP container =E2=80=98twamp-client' is mandatory
> ietf-twamp.yang:59.9: warning(1048): top-level object is mandatory
>

This is actually something else, the case I am writing about leads to
this error message in pyang:

knot-dns.yang:322 (at knot-dns.yang:169): error: cannot augment mandatory n=
ode record-type

(and it is a hard error rather than warning).

Lada

>> On May 28, 2015, at 2:28 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
>>=20
>> Hi,
>>=20
>> I have a suggestion for the authors of all routing protocol modules: the=
 container that encapsulates all configuration data for a given protocol sh=
ould be a container with presence (see sec. 7.5.1 in RFC 6020) because then=
 the configuration data may include mandatory items that are otherwise forb=
idden at the top level of an augment.
>>=20
>> See also YANG 1.1 issue Y26:
>>=20
>> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>>=20
>> For example, in the the ietf-isis it should look like this:
>>=20
>>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>>         +"rt:routing-protocol" {
>>       when "rt:type =3D 'isis:isis'" {
>>         description
>>          "This augment is only valid when routing protocol
>>           instance type is isis.";
>>       }
>>       presence "IS-IS routing protocol=E2=80=9D;
>>       ...
>>     }
>>=20
>> I am also including this recommendation in the routing-cfg draft.
>>=20
>> Lada
>> --
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: E74E8C0C
>>=20
>>=20
>>=20
>>=20
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>
> Mahesh Jethanandani
> mjethanandani@gmail.com
>
>
>

--=20
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C


From nobody Fri May 29 09:50:32 2015
Return-Path: <andy@yumaworks.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B72881ACDDC for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 09:50:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.979
X-Spam-Level: 
X-Spam-Status: No, score=-1.979 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
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 FSunNjNFm3QI for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 09:50:12 -0700 (PDT)
Received: from mail-lb0-f173.google.com (mail-lb0-f173.google.com [209.85.217.173]) (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 4D22D1ACD8F for <Rtg-yang-coord@ietf.org>; Fri, 29 May 2015 09:50:05 -0700 (PDT)
Received: by lbcue7 with SMTP id ue7so52246559lbc.0 for <Rtg-yang-coord@ietf.org>; Fri, 29 May 2015 09:50:03 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=1mrrChULlGi0khrVGJCHvmk7b2qPMMELVzrpAoMi6wg=; b=Rnqtj6krUSq5mRWJ6QXtBOjJIZzBth7bsUv4z3Dk2Yo4nbfrjDw30xQj63M0ci6gfp F1P44CG4pMTwXyoQ6u0ibaHNQqNd6rv/PZMHQRiIMfPZsSdx8+ienDflThCGoHIM5C4j HITTPOIV+/6XH9OJv+VGQwOGrOaljdUow1Q2zluWqIXnW+DBUyLsIGZ2Fi8anjUwUKS6 21mEZzBD04qpJlr69FvH+2oNoYx2J4ETYDklCWeCNl8AyN8DKgAv7sXl2dQUh9ujIdKv e1SOoljRwLGY0u9BzV4MCDe0yYPwJbHEX0FOTpZtnOGEfvCITinVSiwnVqNFngjTP2Ts tuPQ==
X-Gm-Message-State: ALoCoQnk5iAilYqSmVCL9hZQrhWaBbi+hjEzsKvAGrhdompROT2rTa5rZiaoGKc6Q74OeLu8CkfS
MIME-Version: 1.0
X-Received: by 10.152.115.207 with SMTP id jq15mr1237734lab.119.1432918203839;  Fri, 29 May 2015 09:50:03 -0700 (PDT)
Received: by 10.112.200.102 with HTTP; Fri, 29 May 2015 09:50:03 -0700 (PDT)
In-Reply-To: <m2twuvpcuq.fsf@Birdie.nat6.vcit.vutbr.net>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <C4730376-085F-4660-B4F7-9BA4FC9B234A@gmail.com> <m2twuvpcuq.fsf@Birdie.nat6.vcit.vutbr.net>
Date: Fri, 29 May 2015 09:50:03 -0700
Message-ID: <CABCOCHQiymptCa6yANWuXmxOG_xGTf52_h_X2=Ug4aE8jdQeFQ@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
To: Ladislav Lhotka <lhotka@nic.cz>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/3P-NdV18I3U5r30sgt1gkLwenZI>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 16:50:17 -0000

On Fri, May 29, 2015 at 9:28 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
> Mahesh Jethanandani <mjethanandani@gmail.com> writes:
>
>> And the error that will pop up as result will be something like this:
>>
>> Warning: top-level NP container =E2=80=98twamp-client' is mandatory
>> ietf-twamp.yang:59.9: warning(1048): top-level object is mandatory
>>
>
> This is actually something else, the case I am writing about leads to
> this error message in pyang:
>
> knot-dns.yang:322 (at knot-dns.yang:169): error: cannot augment mandatory=
 node record-type
>
> (and it is a hard error rather than warning).
>


It is not an error to augment a mandatory node.
It is an error to augment any node with mandatory nodes.
Big difference.

> Lada

Andy

>
>>> On May 28, 2015, at 2:28 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
>>>
>>> Hi,
>>>
>>> I have a suggestion for the authors of all routing protocol modules: th=
e container that encapsulates all configuration data for a given protocol s=
hould be a container with presence (see sec. 7.5.1 in RFC 6020) because the=
n the configuration data may include mandatory items that are otherwise for=
bidden at the top level of an augment.
>>>
>>> See also YANG 1.1 issue Y26:
>>>
>>> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>>>
>>> For example, in the the ietf-isis it should look like this:
>>>
>>>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>>>         +"rt:routing-protocol" {
>>>       when "rt:type =3D 'isis:isis'" {
>>>         description
>>>          "This augment is only valid when routing protocol
>>>           instance type is isis.";
>>>       }
>>>       presence "IS-IS routing protocol=E2=80=9D;
>>>       ...
>>>     }
>>>
>>> I am also including this recommendation in the routing-cfg draft.
>>>
>>> Lada
>>> --
>>> Ladislav Lhotka, CZ.NIC Labs
>>> PGP Key ID: E74E8C0C
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Rtg-yang-coord mailing list
>>> Rtg-yang-coord@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>
>> Mahesh Jethanandani
>> mjethanandani@gmail.com
>>
>>
>>
>
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord


From nobody Fri May 29 10:45:16 2015
Return-Path: <lhotka@nic.cz>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B60A51B2BD4 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 10:45:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.661
X-Spam-Level: 
X-Spam-Status: No, score=-0.661 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HELO_EQ_CZ=0.445, HOST_EQ_CZ=0.904, T_RP_MATCHES_RCVD=-0.01] autolearn=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 jWtKxfIARpL4 for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 10:45:13 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 83B901B2BEB for <Rtg-yang-coord@ietf.org>; Fri, 29 May 2015 10:38:13 -0700 (PDT)
Received: from [172.29.2.202] (nat-14.bravonet.cz [77.48.225.14]) by mail.nic.cz (Postfix) with ESMTPSA id 0ECDB13F6EC; Fri, 29 May 2015 19:38:12 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nic.cz; s=default; t=1432921092; bh=w2pT1Z028eLbqbtOsj6u1+3niKuPuu8P9Dmfe5Wtvrw=; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc: Content-Transfer-Encoding:Message-Id:References:To; b=oIVqWS6sfAD9LNavYcUjQlLbJa7g0Iu/EZQXyb81qj7nenp2G5xWQELINGm7EQZ/A WDPUIBxdcxEkzD0aS7+HcqXmhJUhoVh+B5d74z1BXbZFFEW+TGII16ENeITg71p0Oc 1CuYHE6LFWn3WPeIVtLsTkIYJLUd5DoowvtMghvo=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2098\))
From: Ladislav Lhotka <lhotka@nic.cz>
In-Reply-To: <CABCOCHQiymptCa6yANWuXmxOG_xGTf52_h_X2=Ug4aE8jdQeFQ@mail.gmail.com>
Date: Fri, 29 May 2015 19:38:11 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <0332E371-2925-437D-B3BD-5FC0D4938E92@nic.cz>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <C4730376-085F-4660-B4F7-9BA4FC9B234A@gmail.com> <m2twuvpcuq.fsf@Birdie.nat6.vcit.vutbr.net> <CABCOCHQiymptCa6yANWuXmxOG_xGTf52_h_X2=Ug4aE8jdQeFQ@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
X-Mailer: Apple Mail (2.2098)
X-Virus-Scanned: clamav-milter 0.98.6 at mail
X-Virus-Status: Clean
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/gqh4sMi4R3uH3jxgLpigm4JLlGo>
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, "rtg-yang-coord@ietf.org" <Rtg-yang-coord@ietf.org>
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 17:45:14 -0000

> On 29 May 2015, at 18:50, Andy Bierman <andy@yumaworks.com> wrote:
>=20
> On Fri, May 29, 2015 at 9:28 AM, Ladislav Lhotka <lhotka@nic.cz> =
wrote:
>> Mahesh Jethanandani <mjethanandani@gmail.com> writes:
>>=20
>>> And the error that will pop up as result will be something like =
this:
>>>=20
>>> Warning: top-level NP container =E2=80=98twamp-client' is mandatory
>>> ietf-twamp.yang:59.9: warning(1048): top-level object is mandatory
>>>=20
>>=20
>> This is actually something else, the case I am writing about leads to
>> this error message in pyang:
>>=20
>> knot-dns.yang:322 (at knot-dns.yang:169): error: cannot augment =
mandatory node record-type
>>=20
>> (and it is a hard error rather than warning).
>>=20
>=20
>=20
> It is not an error to augment a mandatory node.
> It is an error to augment any node with mandatory nodes.
> Big difference.

Right, but it is a linguistic problem, =E2=80=98record-type=E2=80=99 is =
a mandatory node inside the augment statement, not the target node.
The error message should thus read "cannot augment with mandatory node =
record-type=E2=80=9D.

Thanks for catching it, I=E2=80=99ve corrected it in the source.

Lada

>=20
>> Lada
>=20
> Andy
>=20
>>=20
>>>> On May 28, 2015, at 2:28 AM, Ladislav Lhotka <lhotka@nic.cz> wrote:
>>>>=20
>>>> Hi,
>>>>=20
>>>> I have a suggestion for the authors of all routing protocol =
modules: the container that encapsulates all configuration data for a =
given protocol should be a container with presence (see sec. 7.5.1 in =
RFC 6020) because then the configuration data may include mandatory =
items that are otherwise forbidden at the top level of an augment.
>>>>=20
>>>> See also YANG 1.1 issue Y26:
>>>>=20
>>>> =
https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>>>>=20
>>>> For example, in the the ietf-isis it should look like this:
>>>>=20
>>>>    augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>>>>        +"rt:routing-protocol" {
>>>>      when "rt:type =3D 'isis:isis'" {
>>>>        description
>>>>         "This augment is only valid when routing protocol
>>>>          instance type is isis.";
>>>>      }
>>>>      presence "IS-IS routing protocol=E2=80=9D;
>>>>      ...
>>>>    }
>>>>=20
>>>> I am also including this recommendation in the routing-cfg draft.
>>>>=20
>>>> Lada
>>>> --
>>>> Ladislav Lhotka, CZ.NIC Labs
>>>> PGP Key ID: E74E8C0C
>>>>=20
>>>>=20
>>>>=20
>>>>=20
>>>> _______________________________________________
>>>> Rtg-yang-coord mailing list
>>>> Rtg-yang-coord@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>>>=20
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com
>>>=20
>>>=20
>>>=20
>>=20
>> --
>> Ladislav Lhotka, CZ.NIC Labs
>> PGP Key ID: E74E8C0C
>>=20
>> _______________________________________________
>> Rtg-yang-coord mailing list
>> Rtg-yang-coord@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtg-yang-coord

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





From nobody Fri May 29 13:13:48 2015
Return-Path: <shares@ndzh.com>
X-Original-To: rtg-yang-coord@ietfa.amsl.com
Delivered-To: rtg-yang-coord@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8191E1A872E for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 13:13:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -98.455
X-Spam-Level: 
X-Spam-Status: No, score=-98.455 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DOS_OUTLOOK_TO_MX=2.845, J_CHICKENPOX_29=0.6, USER_IN_WHITELIST=-100] autolearn=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 CRrDxtAnQ2Fn for <rtg-yang-coord@ietfa.amsl.com>; Fri, 29 May 2015 13:13:46 -0700 (PDT)
Received: from hickoryhill-consulting.com (hhc-web3.hickoryhill-consulting.com [64.9.205.143]) by ietfa.amsl.com (Postfix) with ESMTP id F092A1A871B for <Rtg-yang-coord@ietf.org>; Fri, 29 May 2015 13:13:45 -0700 (PDT)
X-Default-Received-SPF: pass (skip=loggedin (res=PASS)) x-ip-name=174.124.178.112; 
From: "Susan Hares" <shares@ndzh.com>
To: "'Ladislav Lhotka'" <lhotka@nic.cz>
References: <331A2562-6D35-4D49-911E-9881CCE5D6A1@nic.cz> <00a701d09937$f8edf620$eac9e260$@ndzh.com> <07EA8763-056F-4BD3-B7F1-8B6647B486A6@nic.cz>
In-Reply-To: <07EA8763-056F-4BD3-B7F1-8B6647B486A6@nic.cz>
Date: Fri, 29 May 2015 16:13:43 -0400
Message-ID: <002201d09a4b$f657ac70$e3070550$@ndzh.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQGMdBhPp/EGgcFyBhqWIKEwxi/HrQLvNFuFAh9TqYGd8zp2AA==
Content-Language: en-us
X-Authenticated-User: skh@ndzh.com 
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtg-yang-coord/B0fy-REbusbUaeBtCX488ZWaIuk>
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence
X-BeenThere: rtg-yang-coord@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "\"List to discuss coordination between the Routing related YANG models\"" <rtg-yang-coord.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtg-yang-coord/>
List-Post: <mailto:rtg-yang-coord@ietf.org>
List-Help: <mailto:rtg-yang-coord-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-yang-coord>, <mailto:rtg-yang-coord-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2015 20:13:47 -0000

Lada:

A clearer example, is the I2RS BGP modules is dependent on the BGP =
protocol.   How would you use a "must" to require the BGP protocol =
exist.  The L1 portion of the I2RS topology model may be dependent on =
the L1 TEAS definitions.   How would you write that dependency in the =
yang module?=20

If there is an RFC or draft I should read, just point it out.=20

Sue=20

-----Original Message-----
From: Ladislav Lhotka [mailto:lhotka@nic.cz]=20
Sent: Thursday, May 28, 2015 7:43 AM
To: Susan Hares
Cc: Rtg-yang-coord@ietf.org
Subject: Re: [Rtg-yang-coord] container with presence

Hi Sue,

> On 28 May 2015, at 13:18, Susan Hares <shares@ndzh.com> wrote:
>=20
> Lada:=20
>=20
> Thank you for this suggestion. How would you suggest the I2RS yang =
models for I2RS RIB, I2RS Topology, and I2RS FB-RIB use the=20

These models don=E2=80=99t define routing protocols, so why should they =
augment "rt:routing-protocol=E2=80=9D?

However, the use of presence containers is a common workaround for all =
situation where mandatory data are needed inside an augment. Another =
example is the if:interface list in the ietf-interfaces module, where =
config data for a specific interface type (augmented into the list from =
another module) might include mandatory items.

Another solution that doesn=E2=80=99t need an extra presence container =
is to use a =E2=80=9Cmust=E2=80=9D statement.=20
=20

>=20
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'i2rs:i2rs'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is i2rs.";
>       }
>       presence "I2RS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> If a modules depends on L1 TEAS model or l2  how should this be =
tested?

Sorry, I don=E2=80=99t understand, what exactly do you want to test?

Lada

> =20
>=20
>=20
> Sue=20
>=20
> -----Original Message-----
> From: Rtg-yang-coord [mailto:rtg-yang-coord-bounces@ietf.org] On =
Behalf Of Ladislav Lhotka
> Sent: Thursday, May 28, 2015 5:29 AM
> To: Rtg-yang-coord@ietf.org
> Subject: [Rtg-yang-coord] container with presence
>=20
> Hi,
>=20
> I have a suggestion for the authors of all routing protocol modules: =
the container that encapsulates all configuration data for a given =
protocol should be a container with presence (see sec. 7.5.1 in RFC =
6020) because then the configuration data may include mandatory items =
that are otherwise forbidden at the top level of an augment.
>=20
> See also YANG 1.1 issue Y26:
>=20
> https://svn.tools.ietf.org/svn/wg/netmod/yang-1.1/issues.html#sec-27
>=20
> For example, in the the ietf-isis it should look like this:
>=20
>     augment "/rt:routing/rt:routing-instance/rt:routing-protocols/"
>         +"rt:routing-protocol" {
>       when "rt:type =3D 'isis:isis'" {
>         description
>          "This augment is only valid when routing protocol
>           instance type is isis.";
>       }
>       presence "IS-IS routing protocol=E2=80=9D;
>       ...
>     }
>=20
> I am also including this recommendation in the routing-cfg draft.
>=20
> Lada
> --
> Ladislav Lhotka, CZ.NIC Labs
> PGP Key ID: E74E8C0C
>=20
>=20
>=20
>=20
> _______________________________________________
> Rtg-yang-coord mailing list
> Rtg-yang-coord@ietf.org
> https://www.ietf.org/mailman/listinfo/rtg-yang-coord
>=20

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





