<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ybb-ccamp-service-path-computation-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="Service Path Computation">A YANG Data Model for Service Path Computation</title>
    <seriesInfo name="Internet-Draft" value="draft-ybb-ccamp-service-path-computation-04"/>
    <author fullname="Xiao Li">
      <organization>Huawei</organization>
      <address>
        <email>lixiao33@huawei.com</email>
      </address>
    </author>
    <author initials="S." surname="Belotti" fullname="Sergio Belotti">
      <organization>Nokia</organization>
      <address>
        <email>sergio.belotti@nokia.com</email>
      </address>
    </author>
    <author initials="I." surname="Busi" fullname="Italo Busi">
      <organization>Huawei Technologies</organization>
      <address>
        <email>italo.busi@huawei.com</email>
      </address>
    </author>
    <author initials="A." surname="Guo" fullname="Aihua Guo">
      <organization>Futurewei Technologies</organization>
      <address>
        <email>aihuaguo.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Beller" fullname="Dieter Beller">
      <organization>Nokia</organization>
      <address>
        <email>dieter.beller@nokia.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area>Routing</area>
    <workgroup>CCAMP Working Group</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 59?>

<t>This document defines a YANG data model for client signal service's path computation and path management.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://YuChaode.github.io/draft-ybb-ccamp-service-path-computation/draft-ybb-ccamp-service-path-computation.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ybb-ccamp-service-path-computation/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        CCAMP Working Group Working Group mailing list (<eref target="mailto:ccamp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccamp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccamp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/YuChaode/draft-ybb-ccamp-service-path-computation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 63?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>For transport technology, the service's path is hierarchical, including OTN-layer trails and WDM-layer trails. According to the funcational structure defined by ITU-T, the OTN-layer trails include lower-order ODUk, high-order ODUk and OTUk trails. The WDM-lay trails include OTS, OMS and OCh trail. These trails and the configuration of client-side port configuration form an end-to-end client signal service.</t>
      <t>Path computation is a common network management funcation. For traditional transport services, OTS and OMS trails are automatically generated once the fibers are connected and they don't require any path computation. The path computation is performed on the OCh layer trails and above. Traditionally, the path computation is performed from OCh to low-order ODUk trail layer by layer. This is called bottom-up approach.</t>
      <t>One disavantage of bottom-up approach is that the client and server need to interact with each other multiple times. And sometimes, the client layer trail cannot be computed until the server layer trail is setup. This doea not comply with the intention of path computation which will not introduce actual configuration on the network.</t>
      <t>In addition, the client prefers to transfer intent-based configuration instead of complex network configuration to achieve path computation and obtain all the layers' path computation result at one time. The server, usually it is played by the domain controller, can help to deal with the complex network configuration computation. This is called top-down approach.</t>
      <t>This document focuses on the top-down path computation for transparent client signal service and non-transparent client signal service (Ethernet service).</t>
      <t>We also focus on addressing some undiscussed requirements, such as how to ultize a generic structure to display path information for all the layers' path at once, and how to specify some parameters on the server layer's trail in the service path computation request, and how to support more complex path constraints, and how to manage the path computation results and how to reference them in service provisioning request.</t>
      <section anchor="terminology-and-notations">
        <name>Terminology and Notations</name>
        <t>The following terms are defined in <xref target="RFC7950"/> and are not
  redefined here:</t>
        <ul spacing="normal">
          <li>
            <t>client</t>
          </li>
          <li>
            <t>server</t>
          </li>
          <li>
            <t>augment</t>
          </li>
          <li>
            <t>data model</t>
          </li>
          <li>
            <t>data node</t>
          </li>
        </ul>
        <t>The terminology for describing YANG data models is found in
  <xref target="RFC7950"/>.</t>
      </section>
      <section anchor="tree-diagram">
        <name>Tree Diagram</name>
        <t>A simplified graphical representation of the data model is used in <xref target="spp-tree"/> of this document.
The meaning of the symbols in this diagram is defined in <xref target="RFC8340"/>.</t>
      </section>
      <section anchor="prefix-in-data-node-names">
        <name>Prefix in Data Node Names</name>
        <t>In this document, names of data nodes and other data model objects
  are prefixed using the standard prefix associated with the
  corresponding YANG imported modules, as shown in the following table.</t>
        <table anchor="tab-prefixes">
          <name>Prefixes and corresponding YANG modules</name>
          <thead>
            <tr>
              <th align="left">Prefix</th>
              <th align="left">Yang Module</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">clnt-svc</td>
              <td align="left">ietf-trans-client-service</td>
              <td align="left">[RFCYYYY]</td>
            </tr>
            <tr>
              <td align="left">clnt-svc-pc</td>
              <td align="left">ietf-trans-client-path-computation</td>
              <td align="left">RFC XXXX</td>
            </tr>
          </tbody>
        </table>
        <t>RFC Editor Note:
Please replace XXXX with the number assigned to the RFC once this draft becomes an RFC.
Please replace YYYY with the RFC numbers assigned to <xref target="I-D.ietf-ccamp-client-signal-yang"/>.
Please remove this note.</t>
      </section>
    </section>
    <section anchor="end-to-end-management-of-transport-network-client-signal-service">
      <name>End to End Management of Transport Network Client Signal Service</name>
      <t>The hierarchical relationship of transport client signal service can reference to <xref target="fig-rel-service-tunnel"/>:
(Please note that, the OTN tunnels in this figure and subsequent figures include lower order OTN tunnels, higher order OTN tunnels, and OTU tunnels. The supporting relationship should comply with ITU-T G.XXXX definition. WDM tunnel also include the WDM, flexi-grid scenario and Media channel scenario. The hierarchical relationship should comply with ITU-T G.XXXX definition.)</t>
      <figure anchor="fig-rel-service-tunnel">
        <name>Transparent Client Signal Service and its Server tunnel</name>
        <artwork type="ascii-art"><![CDATA[
|<----------Transparent client signal---------->|
     |<--------------OTN Tunnel---------->|
       |<------------WDM Tunnel-------->|
]]></artwork>
      </figure>
      <t>For Ethernet client signal service, the client signal can be encapsulated into multiple approach. For example, it can be encapsulated into OTN tunnel directly, or it can be encapsulated into MPLS-TP/SDH tunnels and then into OTN tunnels. Note that the SDH tunnel is considered as an outdated technology and lacks standardization. Therefore, the scenario where Ethernet client signals are encapsulated into the SDH tunnel is not described in this document.
The <xref target="fig-rel-eth-service-tunnel"/> shows the hierarchical relationship of Ethernet service:</t>
      <figure anchor="fig-rel-eth-service-tunnel">
        <name>Ethernet Client Signal Service and its Server tunnel</name>
        <artwork type="ascii-art"><![CDATA[
|<----------Ethernet client signal---------->|
   |<----MPLS-TP Tunnel (Optional) ----->|
    |<-----------OTN Tunnel----------->|
      |<---------WDM Tunnel--------->|
]]></artwork>
      </figure>
      <t>The reference method is defined in the <xref target="I-D.ietf-ccamp-client-signal-yang"/>. The supporting relationship between the tunnels can be also found by the dependency-tunnel structure define by the <xref target="I-D.ietf-teas-yang-te"/>.</t>
    </section>
    <section anchor="requirements-for-service-path-computation">
      <name>Requirements for Service Path Computation</name>
      <section anchor="top-down-approach">
        <name>Top-down Approach</name>
        <t>For the Top-down approach, the path computation request should be based on client signal service. It is needed to specify the source and destination access port of in the request. In addition, some common parameters, such as number of path to be calculated, protection and restoration capabities, path computation policy and path constraint (see <xref target="path-constraint"/>).etc. And then the domain controller will trigger the computation on all the layers. The path computation result should contain all the layers' path information.
For the OTN tunnel and WDM tunnel in the service path computation result, they can be non-existing before service path compuation and can be totally designed by the domain controller or control plane. The tunnels can also be existing before the service computation request. The domain controller can design to reuse some existing tunnels based on the consideration of maximum resource utilization.
Similar to TE tunnel path computation, service path computation should not create any tunnels on the network during the whole computation process, and will not introduce any other changes on the network.</t>
        <artwork type="ascii-art"><![CDATA[
module: ietf-trans-client-service-path-computation
rpcs:
   +---x client-service-precompute
      +--ro input
      |  +--ro request* [request-id]
      |     +--ro request-id                        string
      |     +--ro path-count?                       uint8
      |     +--ro te-topology-identifier
      |     +--ro src-access-ports
      |     +--ro dst-access-ports
      |     +--ro tunnel-policy
      |     |  +--ro protection
      |     |  +--ro restoration
      |     |  +--ro optimizations
      |     +--ro explicit-route-exclude-objects
      |     |  +--ro route-object-exclude-object* [index]
      |     +--ro explicit-route-include-objects
      |        +--ro route-object-include-object* [index]
      +--ro output
         +--ro result* [request-id]
            +--ro request-id                string
            +--ro result-code?              enumeration
            +--ro (result-detail)?
               +--:(failure)
               |  +--ro failure-reason?           uint32
               |  +--ro error-message?            string
               +--:(success)
                  +--ro computed-paths* [path-id]
                  |  +--ro path-id        yang:uuid
                  |  +--ro path-number?   uint8
                  +--ro te-topology-identifier
                  +--ro src-access-ports
                  +--ro dst-access-ports
                  +--ro underlay-tunnels
                     +--ro underlay-tunnel* [index]
                        +--ro index                     uint8
                        +--ro tunnel-name?              leafref
                        +--ro te-topology-identifier
                        +--ro computed-lsp* [lsp-id]
                           +--ro lsp-id               uint8
                           +--ro lsp-type?            enumeration
                           +--ro lsp-metrics
                           |  +--ro lsp-metric* [metric-type]
                           +--ro lsp-route-objects* [index]
]]></artwork>
      </section>
      <section anchor="multi-layer-path-display">
        <name>Multi-layer Path Display</name>
        <t>For the MDSC, if it wants to show the whole information of computed path, the path computation result provided by the domain controller must contain tunnels at all the layers. The number of these tunnels is not fixed. For example, for OTN tunnel, the client signal can be encapsulated into a low order OTN tunnel at first, and then be multiplexed into a higher OTN tunnel. The client signal can be encapsulated into a high order OTN tunnel directly without the multiplexing scenario. There is another common scenario that an OTN tunnel is supported by multiple WDM tunnels.
This document provides a generic structure in a list to present the actual path information regardless which layer it is. The tunnels will be ordered by index from 0 for the topmost tunnel. The correlation with server tunnel will be provided by the "server-tunnel" attribute in the LSP hop.</t>
        <artwork type="ascii-art"><![CDATA[
............................
+--ro underlay-tunnels
   +--ro underlay-tunnel* [index]
      +--ro index                     uint8
      +--ro tunnel-name?              leafref
      +--ro te-topology-identifier
      |  +--ro provider-id?   te-types:te-global-id
      |  +--ro client-id?     te-types:te-global-id
      |  +--ro topology-id?   te-types:te-topology-id
      +--ro computed-lsp* [lsp-id]
         +--ro lsp-id               uint8
         +--ro lsp-type?            enumeration
         +--ro lsp-metrics
         |  +--ro lsp-metric* [metric-type]
         |     +--ro metric-type     identityref
         |     +--ro metric-value?   uint32
         |     +--ro metric-unit?    string
         +--ro lsp-route-objects* [index]
            +--ro index            uint8
            +--ro node-id?         te-types:te-node-id
            +--ro node-uri-id?     yang:uuid
            +--ro link-tp-id?      te-types:te-tp-id
            +--ro ltp-uri-id?      yang:uuid
            +--ro te-label
            |  +--ro (technology)?
            |  |  +--:(wson)
            |  |  |  +--ro (grid-type)?
            |  |  |     +--:(dwdm)
            |  |  |     |  +--ro (single-or-super-channel)?
            |  |  |     |     +--:(single)
            |  |  |     |     |  +--ro dwdm-n?
            l0-types:dwdm-n
            |  |  |     |     +--:(super)
            |  |  |     |        +--ro subcarrier-dwdm-n*
            l0-types:dwdm-n
            |  |  |     +--:(cwdm)
            |  |  |        +--ro cwdm-n?              l0-types:cwdm-n
            |  |  +--:(otn)
            |  |     +--ro otn
            |  |        +--ro tpn?       otn-tpn
            |  |        +--ro tsg?       identityref
            |  |        +--ro ts-list?   string
            |  +--ro direction?           te-types:te-label-direction
            +--ro server-tunnel?   leafref

]]></artwork>
      </section>
      <section anchor="path-constraint">
        <name>Path Constraint</name>
        <t>It is common for service path computation request to specify path constrain like node/link-tp inclusion/exclusion like TE tunnel path computation. And service path computation needs to support some more kind of path constraint, such as to specify service/tunnel/path included/excluded. There are also scenarios to specify path constrain across layers. For example, some people would like to specify a WDM node included/excluded or wavelength in the service path computation.</t>
        <artwork type="ascii-art"><![CDATA[
................................
+--ro route-object-include-object* [index]
   +--ro index                 uint8
   +--ro node-id?              te-types:te-node-id
   +--ro node-uri-id?          yang:uuid
   +--ro link-tp-id?           te-types:te-tp-id
   +--ro ltp-uri-id?           yang:uuid
   +--ro te-label
   |  +--ro (technology)?
   |  |  +--:(wson)
   |  |  |  +--ro (grid-type)?
   |  |  |     +--:(dwdm)
   |  |  |     |  +--ro (single-or-super-channel)?
   |  |  |     |     +--:(single)
   |  |  |     |     |  +--ro dwdm-n?              l0-types:dwdm-n
   |  |  |     |     +--:(super)
   |  |  |     |        +--ro subcarrier-dwdm-n*   l0-types:dwdm-n
   |  |  |     +--:(cwdm)
   |  |  |        +--ro cwdm-n?              l0-types:cwdm-n
   |  |  +--:(otn)
   |  |     +--ro otn
   |  |        +--ro tpn?       otn-tpn
   |  |        +--ro tsg?       identityref
   |  |        +--ro ts-list?   string
   |  +--ro direction?           te-types:te-label-direction
   +--ro server-tunnel-name?   leafref
   +--ro lsp-type?             enumeration
]]></artwork>
      </section>
      <section anchor="path-management">
        <name>Path Management</name>
        <t>### Storage of Path Computation Result
It is useful to save the path computation results after they are return. Sometimes, people from operators will make the decision on the results in a short time. If the path is not saved in the domain controller, the MDSC needs to send the full path in the service creation request which is complex. So in this document, we recommend that the domain controller should be capable of saving path computation results to make it possible that the MDSC can reference the path computation result in service creation request.
The path information in the path management structure should be same with the output of service path computation RPC. Once there is a RPC succeed in operating, the path management structure will add one more item.
It is noted that the path computation result is not required to be saved forever in the domain controller. How long could it be saved is implementation-specific. But if the path has been adopted by a service creation request, including path inclusion/exclusion, the path can not be deleted from data store.</t>
        <t>Note: the service path computation request is defined as an RPC, which is stateless. According to the requirement of RESTCONF, RPC should not generate any impact on the data model. So it is recommended to discuss with RESTCONF protocol expert to find a workaround solution.</t>
        <artwork type="ascii-art"><![CDATA[
module: ietf-trans-client-service-path-computation
   +--rw path-management
      +--rw path* [path-id]
         +--rw path-id             yang:uuid
         +--rw creation-time?      yang:date-and-time
         +--rw validity-period?    uint8
         +--rw underlay-tunnels
            +--rw underlay-tunnel* [index]
               +--rw index                     uint8
               +--rw tunnel-name?              leafref
               +--rw te-topology-identifier
               |  +--rw provider-id?   te-types:te-global-id
               |  +--rw client-id?     te-types:te-global-id
               |  +--rw topology-id?   te-types:te-topology-id
               +--rw computed-lsp* [lsp-id]
                  +--rw lsp-id               uint8
                  +--rw lsp-type?            enumeration
                  +--rw lsp-metrics
                  |  +--rw lsp-metric* [metric-type]
                  |     +--rw metric-type     identityref
                  |     +--rw metric-value?   uint32
                  |     +--rw metric-unit?    string
                  +--rw lsp-route-objects* [index]
                     +--rw index            uint8
                     +--rw node-id?         te-types:te-node-id
                     +--rw node-uri-id?     yang:uuid
                     +--rw link-tp-id?      te-types:te-tp-id
                     +--rw ltp-uri-id?      yang:uuid
                     +--rw te-label
                     |  +--rw (technology)?
                     |  |  +--:(wson)
                     |  |  |  +--rw (grid-type)?
                     |  |  |     +--:(dwdm)
                     |  |  |     |  +--rw (single-or-super-channel)?
                     |  |  |     |     +--:(single)
                     |  |  |     |     |  +--rw dwdm-n?
                     l0-types:dwdm-n
                     |  |  |     |     +--:(super)
                     |  |  |     |        +--rw subcarrier-dwdm-n*
                     l0-types:dwdm-n
                     |  |  |     +--:(cwdm)
                     |  |  |        +--rw cwdm-n?
                     l0-types:cwdm-n
                     |  |  +--:(otn)
                     |  |     +--rw otn
                     |  |        +--rw tpn?       otn-tpn
                     |  |        +--rw tsg?       identityref
                     |  |        +--rw ts-list?   string
                     |  +--rw direction?
                     te-types:te-label-direction
                     +--rw server-tunnel?   leafref
]]></artwork>
        <section anchor="path-reference-in-service-provisioning">
          <name>Path Reference in Service Provisioning</name>
          <t>In the current service provisioning approach, the MDSC needs to specify the correlation of tunnel underlay. If the path computation result is saved in the domain controller. It is much easier to reference the path computation result instead of specifying tunnel underlay to do the provisioning.</t>
          <artwork type="ascii-art"><![CDATA[
To be added
]]></artwork>
        </section>
      </section>
    </section>
    <section anchor="spp-tree">
      <name>Tree Diagram for Service Path Computation</name>
      <figure anchor="fig-spc-tree">
        <name>Service path computation tree diagram</name>
        <artwork type="ascii-art" name="ietf-trans-client-service-path-computation.tree"><![CDATA[
module: ietf-trans-client-service-path-computation
  +--rw path-management
     +--rw path* [path-id]
        +--rw path-id             yang:uuid
        +--rw creation-time?      yang:date-and-time
        +--rw validity-period?    uint8
        +--rw underlay-tunnels
           +--rw underlay-tunnel* [index]
              +--rw index                     uint8
              +--rw tunnel-name?
              |       -> /te:te/tunnels/tunnel/name
              +--rw te-topology-identifier
              |  +--rw provider-id?   te-global-id
              |  +--rw client-id?     te-global-id
              |  +--rw topology-id?   te-topology-id
              +--rw computed-lsp* [lsp-id]
                 +--rw lsp-id               uint8
                 +--rw lsp-type?            enumeration
                 +--rw lsp-metrics
                 |  +--rw lsp-metric* [metric-type]
                 |     +--rw metric-type     identityref
                 |     +--rw metric-value?   uint32
                 |     +--rw metric-unit?    string
                 +--rw lsp-route-objects* [index]
                    +--rw index            uint8
                    +--rw node-id?         te-types:te-node-id
                    +--rw node-uri-id?     yang:uuid
                    +--rw link-tp-id?      te-types:te-tp-id
                    +--rw ltp-uri-id?      yang:uuid
                    +--rw te-label
                    |  +--rw (technology)?
                    |  |  +--:(wson)
                    |  |  |  +--rw (grid-type)?
                    |  |  |     +--:(dwdm)
                    |  |  |     |  +--rw (single-or-super-channel)?
                    |  |  |     |     +--:(single)
                    |  |  |     |     |  +--rw dwdm-n?
                    |  |  |     |     |          l0-types:dwdm-n
                    |  |  |     |     +--:(super)
                    |  |  |     |        +--rw subcarrier-dwdm-n*
                    |  |  |     |                l0-types:dwdm-n
                    |  |  |     +--:(cwdm)
                    |  |  |        +--rw cwdm-n?
                    |  |  |                l0-types:cwdm-n
                    |  |  +--:(otn)
                    |  |     +--rw otn-label
                    |  |        +--rw tpn?       otn-tpn
                    |  |        +--rw tsg?       identityref
                    |  |        +--rw ts-list?   string
                    |  +--rw direction?
                    |          te-types:te-label-direction
                    +--rw server-tunnel?   -> ../../../index

  rpcs:
    +---x client-service-precompute
       +---w input
       |  +---w request* [request-id]
       |     +---w request-id                        string
       |     +---w path-count?                       uint8
       |     +---w te-topology-identifier
       |     |  +---w provider-id?   te-global-id
       |     |  +---w client-id?     te-global-id
       |     |  +---w topology-id?   te-topology-id
       |     +---w src-access-ports
       |     |  +---w access-node-id?    te-types:te-node-id
       |     |  +---w access-node-uri?   nw:node-id
       |     |  +---w access-ltp-id?     te-types:te-tp-id
       |     |  +---w access-ltp-uri?    nt:tp-id
       |     |  +---w client-signal?     identityref
       |     +---w dst-access-ports
       |     |  +---w access-node-id?    te-types:te-node-id
       |     |  +---w access-node-uri?   nw:node-id
       |     |  +---w access-ltp-id?     te-types:te-tp-id
       |     |  +---w access-ltp-uri?    nt:tp-id
       |     |  +---w client-signal?     identityref
       |     +---w tunnel-policy
       |     |  +---w protection
       |     |  |  +---w protection-type?                identityref
       |     |  |  +---w protection-reversion-disable?   boolean
       |     |  |  +---w hold-off-time?                  uint32
       |     |  |  +---w wait-to-revert?                 uint16
       |     |  |  +---w aps-signal-id?                  uint8
       |     |  +---w restoration
       |     |  |  +---w restoration-type?                identityref
       |     |  |  +---w restoration-scheme?              identityref
       |     |  |  +---w restoration-reversion-disable?   boolean
       |     |  |  +---w hold-off-time?                   uint32
       |     |  |  +---w wait-to-restore?                 uint16
       |     |  |  +---w wait-to-revert?                  uint16
       |     |  +---w share-timeslot?   boolean
       |     |  +---w optimizations
       |     |     +---w (algorithm)?
       |     |     |  +--:(metric)
       |     |     |     +---w optimization-metric* [metric-type]
       |     |     |        +---w metric-type    identityref
       |     |     |        +---w weight?        uint8
       |     |     +---w lsp-type?                    enumeration
       |     |     +---w path-metric-bounds
       |     |        +---w path-metric-bound* [metric-type]
       |     |           +---w metric-type    identityref
       |     |           +---w upper-bound?   uint64
       |     +---w explicit-route-exclude-objects
       |     |  +---w route-object-exclude-object* [index]
       |     |     +---w index                 uint8
       |     |     +---w node-id?              te-types:te-node-id
       |     |     +---w node-uri-id?          yang:uuid
       |     |     +---w link-tp-id?           te-types:te-tp-id
       |     |     +---w ltp-uri-id?           yang:uuid
       |     |     +---w te-label
       |     |     |  +---w (technology)?
       |     |     |  |  +--:(wson)
       |     |     |  |  |  +---w (grid-type)?
       |     |     |  |  |     +--:(dwdm)
       |     |     |  |  |     |  +---w (single-or-super-channel)?
       |     |     |  |  |     |     +--:(single)
       |     |     |  |  |     |     |  +---w dwdm-n?
       |     |     |  |  |     |     |          l0-types:dwdm-n
       |     |     |  |  |     |     +--:(super)
       |     |     |  |  |     |        +---w subcarrier-dwdm-n*
       |     |     |  |  |     |                l0-types:dwdm-n
       |     |     |  |  |     +--:(cwdm)
       |     |     |  |  |        +---w cwdm-n?
       |     |     |  |  |                l0-types:cwdm-n
       |     |     |  |  +--:(otn)
       |     |     |  |     +---w otn-label
       |     |     |  |        +---w tpn?       otn-tpn
       |     |     |  |        +---w tsg?       identityref
       |     |     |  |        +---w ts-list?   string
       |     |     |  +---w direction?
       |     |     |          te-types:te-label-direction
       |     |     +---w server-tunnel-name?
       |     |     |       -> /te:te/tunnels/tunnel/name
       |     |     +---w lsp-type?             enumeration
       |     +---w explicit-route-include-objects
       |        +---w route-object-include-object* [index]
       |           +---w index                 uint8
       |           +---w node-id?              te-types:te-node-id
       |           +---w node-uri-id?          yang:uuid
       |           +---w link-tp-id?           te-types:te-tp-id
       |           +---w ltp-uri-id?           yang:uuid
       |           +---w te-label
       |           |  +---w (technology)?
       |           |  |  +--:(wson)
       |           |  |  |  +---w (grid-type)?
       |           |  |  |     +--:(dwdm)
       |           |  |  |     |  +---w (single-or-super-channel)?
       |           |  |  |     |     +--:(single)
       |           |  |  |     |     |  +---w dwdm-n?
       |           |  |  |     |     |          l0-types:dwdm-n
       |           |  |  |     |     +--:(super)
       |           |  |  |     |        +---w subcarrier-dwdm-n*
       |           |  |  |     |                l0-types:dwdm-n
       |           |  |  |     +--:(cwdm)
       |           |  |  |        +---w cwdm-n?
       |           |  |  |                l0-types:cwdm-n
       |           |  |  +--:(otn)
       |           |  |     +---w otn-label
       |           |  |        +---w tpn?       otn-tpn
       |           |  |        +---w tsg?       identityref
       |           |  |        +---w ts-list?   string
       |           |  +---w direction?
       |           |          te-types:te-label-direction
       |           +---w server-tunnel-name?
       |           |       -> /te:te/tunnels/tunnel/name
       |           +---w lsp-type?             enumeration
       +--ro output
          +--ro result* [request-id]
             +--ro request-id                      string
             +--ro result-code?                    enumeration
             +--ro (result-detail)?
                +--:(failure)
                |  +--ro failure-reason?           uint32
                |  +--ro error-message?            string
                +--:(success)
                   +--ro computed-paths* [path-id]
                   |  +--ro path-id        yang:uuid
                   |  +--ro path-number?   uint8
                   +--ro te-topology-identifier
                   |  +--ro provider-id?   te-global-id
                   |  +--ro client-id?     te-global-id
                   |  +--ro topology-id?   te-topology-id
                   +--ro src-access-ports
                   |  +--ro access-node-id?    te-types:te-node-id
                   |  +--ro access-node-uri?   nw:node-id
                   |  +--ro access-ltp-id?     te-types:te-tp-id
                   |  +--ro access-ltp-uri?    nt:tp-id
                   |  +--ro client-signal?     identityref
                   +--ro dst-access-ports
                   |  +--ro access-node-id?    te-types:te-node-id
                   |  +--ro access-node-uri?   nw:node-id
                   |  +--ro access-ltp-id?     te-types:te-tp-id
                   |  +--ro access-ltp-uri?    nt:tp-id
                   |  +--ro client-signal?     identityref
                   +--ro underlay-tunnels
                      +--ro underlay-tunnel* [index]
                         +--ro index                     uint8
                         +--ro tunnel-name?
                         |       -> /te:te/tunnels/tunnel/name
                         +--ro te-topology-identifier
                         |  +--ro provider-id?   te-global-id
                         |  +--ro client-id?     te-global-id
                         |  +--ro topology-id?   te-topology-id
                         +--ro computed-lsp* [lsp-id]
                            +--ro lsp-id               uint8
                            +--ro lsp-type?            enumeration
                            +--ro lsp-metrics
                            |  +--ro lsp-metric* [metric-type]
                            |     +--ro metric-type     identityref
                            |     +--ro metric-value?   uint32
                            |     +--ro metric-unit?    string
                            +--ro lsp-route-objects* [index]
                               +--ro index            uint8
                               +--ro node-id?
                               |       te-types:te-node-id
                               +--ro node-uri-id?     yang:uuid
                               +--ro link-tp-id?
                               |       te-types:te-tp-id
                               +--ro ltp-uri-id?      yang:uuid
                               +--ro te-label
                               |  +--ro (technology)?
                               |  |  +--:(wson)
                               |  |  |  +--ro (grid-type)?
                               |  |  |     +--:(dwdm)
                               |  |  |     |  +--ro (single-or-super-channel)?
                               |  |  |     |     +--:(single)
                               |  |  |     |     |  +--ro dwdm-n?
                               |  |  |     |     |          l0-types:dwdm-n
                               |  |  |     |     +--:(super)
                               |  |  |     |        +--ro subcarrier-dwdm-n*
                               |  |  |     |                l0-types:dwdm-n
                               |  |  |     +--:(cwdm)
                               |  |  |        +--ro cwdm-n?
                               |  |  |                l0-types:cwdm-n
                               |  |  +--:(otn)
                               |  |     +--ro otn-label
                               |  |        +--ro tpn?       otn-tpn
                               |  |        +--ro tsg?
                               |  |        |       identityref
                               |  |        +--ro ts-list?   string
                               |  +--ro direction?
                               |          te-types:te-label-direction
                               +--ro server-tunnel?
                                       -> ../../../index
]]></artwork>
      </figure>
    </section>
    <section anchor="yang-data-model-for-service-path-computation">
      <name>YANG Data Model for Service Path Computation</name>
      <figure anchor="fig-rpm-yang">
        <name>Service Path Computation YANG module</name>
        <sourcecode type="yang" markers="true" name="ietf-trans-client-service-path-computation@2024-07-07.yang"><![CDATA[
 module ietf-trans-client-service-path-computation {
   /* TODO: FIXME */
     yang-version 1.1;

   namespace "urn:ietf:params:xml:ns:yang:ietf-trans-client-service-path-computation";
   prefix "clntsvc-cpt";

   import ietf-trans-client-service {
     prefix "clntsvc";
     reference "draft-ietf-ccamp-client-signal-yang";
   }

   import ietf-te-types {
     prefix "te-types";
     reference "RFC 8776 - Traffic Engineering Common YANG Types";
   }

   import ietf-yang-types {
     prefix "yang";
     reference "RFC 6991 - Common YANG Data Types";
   }
  
  import ietf-layer1-types {
    prefix l1-types;
    reference "RFC ZZZZ - A YANG Data Model for Layer 1 Types";
  }
  
  import ietf-layer0-types {
    prefix l0-types;
  }
  
  import ietf-te {
    prefix "te";
  }

   organization
     "Internet Engineering Task Force (IETF) CCAMP WG";
   contact
     "
       ID-draft editor:
         Chaode Yu (yuchaode@huawei.com);
         Sergio Belotti (sergio.belotti@nokia.com);
         Italo Busi (italo.busi@huawei.com);
         Aihua Guo (aihuaguo.ietf@gmail.com);         
         Dieter Beller (dieter.beller@nokia.com);         
     ";

   description
     "This module defines a YANG data model for describing
      transport network client services. The model fully conforms
      to the Network Management Datastore Architecture (NMDA).

      Copyright (c) 2021 IETF Trust and the persons
      identified as authors of the code.  All rights reserved.

      Redistribution and use in source and binary forms, with or
      without modification, is permitted pursuant to, and subject
      to the license terms contained in, the Simplified BSD License
      set forth in Section 4.c of the IETF Trust's Legal Provisions
      Relating to IETF Documents
      (https://trustee.ietf.org/license-info).
      This version of this YANG module is part of RFC XXXX; see
      the RFC itself for full legal notices.";

  revision 2024-07-07 {
     description
       "initial version";
     reference
       "draft-ybb-ccamp-service-path-computation";
   }

   
  container path-management {
    list path {
      key path-id;
      
      leaf path-id {
        type yang:uuid;      
      }
      
      leaf creation-time {
        type yang:date-and-time;
      }
      
      leaf validity-period {
        type uint8;
        units "minute";
      }
      
      container underlay-tunnels {
        list underlay-tunnel {
          key index;
          
          leaf index {
            description 
              "The tunnels underlay should be ordered by  their 
              supproting relationship. The client layer tunnels
              should use smaller index.";
              type uint8;
          }
          
          leaf tunnel-name {
            type leafref {
              path "/te:te/te:tunnels/te:tunnel/te:name";
            }
                  
            description 
              "the computed result can route with some existing
              TE tunnels. The tunnel-name is the identifier of 
              tunnel. If the tunnel is not created, this 
              parameter is not needed to provide.";
          }
          
          uses te-types:te-topology-identifier;
                
          list computed-lsp {
            key lsp-id;      
            leaf lsp-id {
              type uint8;
            }
                  
            leaf lsp-type {
              type enumeration {
                enum forwarding-working;
                enum forwarding-protection;
                enum reverse-working;
                enum reverse-protection;
              }
            }
                  
            container lsp-metrics {
              list lsp-metric {
                key metric-type;
                      
                leaf metric-type {
                  type identityref {
                    base te-types:path-metric-type;
                  }
                }
                      
                leaf metric-value {
                  type uint32;
                }
                      
                leaf metric-unit {
                  type string;
                }
              }
            }
            
            list lsp-route-objects {
              key index;
              
              leaf index {
                type uint8;
              }
              
              uses hop-infomation;
              
              leaf server-tunnel {
                type leafref {
                  path "../../../index";
                }
              }
            }  
          }
        }
      }
    }
  }
   
 
  rpc client-service-precompute {
    input {
      list request {
        key "request-id";

        leaf request-id {
          type string;
        }

        leaf path-count {
          type uint8 {
            range "1..10";
          }
        }

        uses te-types:te-topology-identifier;

        container src-access-ports {
          description
            "Source access port of a client service.";
          uses clntsvc:client-svc-access-parameters;
        }

        container dst-access-ports {
          description
                "Destination access port of a client service.";
          uses clntsvc:client-svc-access-parameters;
        }

        uses tunnel-policy-grouping;
        uses path-constraints;
      }
    }
    output {
      list result {
        key "request-id";

        leaf request-id {
          type string;
        }

        leaf result-code {
          type enumeration {
            enum success {
            }
            enum failure {
            }
          }
        }
        choice result-detail {
          case failure {
            uses failure-info-grouping;
          }
          
          

          case success {
            list computed-paths {
              key path-id;
              
              leaf path-id {
                type yang:uuid;
              }
              
              leaf path-number {
                type uint8;
                description
                  "when the client requestes to compute multiple paths
                   for a service, this path-number can be used to rank
                   the path result, based on the path computation 
                   policy. The path-number starts with 0 and 0 
                   indicates the best option. The better path's 
                   path-number should be in lower number.";
              }            
            }
            
            uses te-types:te-topology-identifier;
            container src-access-ports {
              description
                "Source access port of a client service.";
              uses clntsvc:client-svc-access-parameters;
            }

            container dst-access-ports {
              description
                    "Destination access port of a client service.";
              uses clntsvc:client-svc-access-parameters;
            }

            container underlay-tunnels {
              list underlay-tunnel {
                key index;
              
                description 
                  "The server could support all the layers of tunnels
                  under the client signal service. If it cannot 
                  support that, it should return its topmost layer
                  tunnel's path infomation";
                   
                leaf index {
                  description 
                    "The tunnels underlay should be ordered by  their 
                    supproting relationship. The client layer tunnels
                    should use smaller index.";
                  type uint8;
                }
                
                leaf tunnel-name {
                  type leafref {
                    path "/te:te/te:tunnels/te:tunnel/te:name";
                  }
                  
                  description 
                    "the computed result can route with some existing
                    TE tunnels. The tunnel-name is the identifier of 
                    tunnel. If the tunnel is not created, this 
                    parameter is not needed to provide.";
                }
                
                uses te-types:te-topology-identifier;
                
                list computed-lsp {
                  key lsp-id;
                  
                  leaf lsp-id {
                    type uint8;
                  }
                  
                  leaf lsp-type {
                    type enumeration {
                      enum forwarding-working;
                      enum forwarding-protection;
                      enum reverse-working;
                      enum reverse-protection;
                    }
                  }
                  
                  container lsp-metrics {
                    list lsp-metric {
                      key metric-type;
                      
                      leaf metric-type {
                        type identityref {
                          base te-types:path-metric-type;
                        }
                      }
                      
                      leaf metric-value {
                        type uint32;
                      }
                      
                      leaf metric-unit {
                        type string;
                      }
                    }
                  }
                  
                  list lsp-route-objects {
                    key index;
                    
                    leaf index {
                      type uint8;
                    }
                    
                    uses hop-infomation;
                    
                    leaf server-tunnel {
                      type leafref {
                        path "../../../index";
                      }
                    }
                  }
                }
                
              }
            }
          }
        }
      }
    }
  } 

  grouping hop-infomation {
    leaf node-id {
        type te-types:te-node-id;
        description
          "The identifier of a node in the TE topology.";
      }

      leaf node-uri-id {
        type yang:uuid;
        description
          "Another identifier of TE node. This uuid of node may be acquired by inventory.";
      }

      leaf link-tp-id {
        type te-types:te-tp-id;
          description
            "TE link termination point identifier, used
             together with te-node-id to identify the
             link termination point";
      }

      leaf ltp-uri-id {
        type yang:uuid;
        description
          "another identifier of link TP. This uuid of TP may be acquired by inventory.";
      }
  
      container te-label {
        description
          "Container that specifies TE label.";
        choice technology {
          description
            "Data plane technology type.";
          case wson {
            uses l0-types:wson-label-hop;
          }
          
          case otn {
            uses l1-types:otn-label-hop;
          }
        }
        leaf direction {
          type te-types:te-label-direction;
          description "Label direction";
        }
      }
      
  }

  grouping tunnel-policy-grouping {
    description "Tunnel creation policy which can be also inherited by client service.";
    container tunnel-policy {
      uses te:protection-restoration-properties;
      
      leaf share-timeslot {
        type boolean;
      }
      
      uses path-policy;
    }
  }

  grouping failure-info-grouping {
    leaf failure-reason {
      type uint32;
    }
    leaf error-message {
      type string;
    }
  }

  grouping path-constraints {
    description "";
    
    container explicit-route-exclude-objects {
      list route-object-exclude-object {
        key index;
        uses hop-include-or-exclude-grouping;
      }
    }
    
    container explicit-route-include-objects {
      list route-object-include-object {
        key index;
        uses hop-include-or-exclude-grouping;
      }
    }
  }
  
  grouping hop-include-or-exclude-grouping {
    leaf index {
      type uint8;
    }
      
    uses hop-infomation;
    leaf server-tunnel-name {
      type leafref {
        path "/te:te/te:tunnels/te:tunnel/te:name";
      }
    }
        
    leaf lsp-type {
      type enumeration {
        enum all-paths;
        enum forwarding-working;
        enum forwarding-protection;
        enum reverse-working;
        enum reverse-protection;
      }
    }
  }
  
  grouping path-policy {
    container optimizations {
      choice algorithm {
        case metric {
          list optimization-metric {
            key "metric-type";
            leaf metric-type {
              type identityref {
                base te-types:path-metric-type;
              }
              description "TE path metric type";
            }
            leaf weight {
              type uint8;
              description "TE path metric normalization weight";
            }
          }
        }
      }
      
      leaf lsp-type {
        type enumeration {
          enum all-paths;
          enum forwarding-working;
          enum forwarding-protection;
          enum reverse-working;
          enum reverse-protection;
        }
      }
    
      uses te-types:generic-path-metric-bounds;
    }
  }
 }
]]></sourcecode>
      </figure>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC7950">
        <front>
          <title>The YANG 1.1 Data Modeling Language</title>
          <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
          <date month="August" year="2016"/>
          <abstract>
            <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7950"/>
        <seriesInfo name="DOI" value="10.17487/RFC7950"/>
      </reference>
      <reference anchor="RFC8340">
        <front>
          <title>YANG Tree Diagrams</title>
          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
          <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
          <date month="March" year="2018"/>
          <abstract>
            <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="215"/>
        <seriesInfo name="RFC" value="8340"/>
        <seriesInfo name="DOI" value="10.17487/RFC8340"/>
      </reference>
      <reference anchor="I-D.ietf-ccamp-client-signal-yang">
        <front>
          <title>A YANG Data Model for Transport Network Client Signals</title>
          <author fullname="Haomian Zheng" initials="H." surname="Zheng">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Aihua Guo" initials="A." surname="Guo">
            <organization>Futurewei</organization>
          </author>
          <author fullname="Italo Busi" initials="I." surname="Busi">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Anton Snitser" initials="A." surname="Snitser">
            <organization>Cisco</organization>
          </author>
          <author fullname="Chaode Yu" initials="C." surname="Yu">
            <organization>Huawei Technologies</organization>
          </author>
          <date day="4" month="February" year="2026"/>
          <abstract>
            <t>   A transport network is a server-layer network to provide connectivity
   services to its client.  The topology and tunnel information in the
   transport layer has already been defined by generic Traffic-
   engineered models and technology-specific models (e.g., OTN, WSON).
   However, how the client signals are accessing to the network has not
   been described.  These information is necessary to both client and
   provider.

   This draft describes how the client signals are carried over
   transport network and defines YANG data models which are required
   during configuration procedure.  More specifically, several client
   signal (of transport network) models including ETH, STM-n, FC and so
   on, are defined in this draft.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ccamp-client-signal-yang-17"/>
      </reference>
      <reference anchor="I-D.ietf-teas-yang-te">
        <front>
          <title>A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths, and Interfaces</title>
          <author fullname="Tarek Saad" initials="T." surname="Saad">
            <organization>Cisco Systems Inc</organization>
          </author>
          <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
            <organization>Cisco Systems Inc</organization>
          </author>
          <author fullname="Xufeng Liu" initials="X." surname="Liu">
            <organization>Alef Edge</organization>
          </author>
          <author fullname="Vishnu Pavan Beeram" initials="V. P." surname="Beeram">
            <organization>Juniper Networks</organization>
          </author>
          <author fullname="Igor Bryskin" initials="I." surname="Bryskin">
            <organization>Individual</organization>
          </author>
          <date day="26" month="March" year="2026"/>
          <abstract>
            <t>   This document defines a YANG data model for the provisioning and
   management of Traffic Engineering (TE) tunnels, Label Switched Paths
   (LSPs), and interfaces.  The model covers data pertinent to TE
   tunnels, TE LSPs, and TE interfaces that are independent of any
   technology or dataplane encapsulation.  The model is divided into two
   YANG modules that address both device-specific and device-independent
   data, supporting configuration, operational state, Remote Procedure
   Calls (RPCs), and event notifications.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-teas-yang-te-44"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 1143?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was prepared using kramdown.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="C." surname="Yu" fullname="Chaode Yu">
        <organization>Huawei Technologies</organization>
        <address>
          <email>yuchaode@huawei.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
qIIxv+Dd2+cLdil5lmkefMkoCy9aV6gOCOh4gA/SrHS9pkX85FtkDd8tpG7j
ujqraaLyEbolV6Sv5Yy+UDWc0X1PWxfCrbtgP5V3LC+hLVckkqwxyLiaHzVo
pxYPJ8J7yFYL9gOIKbMUfAtuzxJXe6Trci9zWGm03eyNXMYlcv03O8MJuiK3
lqzBK2nU5hpa94sTbbh+khaFjlrfbq93EWunoP2OTb+pAZxjIiywfcxa949q
8u7F1fXzyzcvj4UKmNlltY+J5oFBirjNRg4YZrWy6JnEj+6KogHlRgOhmaoQ
mnUsV2WOU3a8Ig/5Bn3RlOGMclrRgpq6zNuwX3bABLMcz+/EzI7RYSvLI74F
J5UsVC+/EwjkBbDSlATHUDvqx7VtSYqb2OCDj/U+zbM1WMMExJKVwt8KJJDu
+qd8giDRmR4BPXGCRyBNnteRaKOmcz5puY/PC3aRJyQIu8iTMoVeJUdPPwnw
SbNOBmXiZJNBjM8xfeqCDU8tGffwblx+sQ8zmmjsQ4pmHAOVH5F69LBG5CA9
jMnJyBD+cFbSr9209KSPPS5P6WEFE5b60eoUz1zasPEUpgdl6MZymV0EFk1q
BmFNEeOymzEiqthQmrMHRxcfynfqpy/xOMhQNwPag8IUPwOp0MNZiyRHg7Ca
m9Uo6QSypR7ZcNrUA9Kl+vnTLpwGHUik9mEOZ1R7sftSqzaiVDMdS4cBx6Zb
9SO1JZZ3VYGzjJzNnjHw7PViZ2vrJG1ypgn4tqI9F8H9le4yZy8ItVYo2xO4
uCJAJFeV0+RGveFgpT8IVuujd5hL5Wmd8aqzS7QnVNTbsCXPZuGp5pH8a+HN
2xLo+svXFEhBeMbXSujOlsve5eXs4yO9l/If44n3OOL9fvgUN/wgL3ysEz7s
g09ywQ/xwLsOuAegBoPkj+wEAspGpe5rlcJHpDDRMe55j3ce86t7fPJBlIAn
HnXAp/nf093vQ73vEc73Ib73wa73IZ73IY73QX73ZLf7M73ug5zuz/K5D3K5
R3jcExzuUf72VHd7grf9j3C2D/C1D3S1g2jqGePrTvfCP98JD1I4lOkB/3yy
e+4hdNjqcdrH+Oxdl72/2xzmt3+W236o1z7WabdkO9V9j3jv4E8sFififzQ8
40EXev8OYo3YwENgd84OHlkleNu3hcc0qAEcu4fHwZ22icdB7feP7AElGeUe
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

-->

</rfc>
