From b09965b51e80842ebae1cec73ea5f19740b3ab36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20K=C3=A4stner?= Date: Wed, 20 May 2026 13:15:02 +0200 Subject: [PATCH] Rewrite OpenConfig provider without ygot/ygnmi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the ygot-generated code with hand-crafted structs and gnmiext.Client, following the same patterns used by the NX-OS provider. The new implementation: - Defines Interface structs implementing gnmiext.DataElement with JSON tags derived from the OpenConfig YANG spec - Uses gnmiext.Client for gNMI Set/Get operations with automatic diff-based updates - Uses value types (not pointers) for YANG leaves that carry defaults (enabled, dhcp-client) to prevent spurious updates caused by nil vs. device-returned default mismatches - Removes ygot, ygnmi, goyang, gocloser dependencies - Removes the linter and shellcheck exclusions that were needed for generated code Signed-off-by: Felix Kästner --- .golangci.yaml | 2 - Makefile.maker.yaml | 3 - go.mod | 5 +- go.sum | 8 - internal/provider/openconfig/.gitignore | 3 - .../provider/openconfig/{gen.go => doc.go} | 3 +- internal/provider/openconfig/enum.go | 1349 - internal/provider/openconfig/enum_map.go | 699 - internal/provider/openconfig/gen.sh | 37 - internal/provider/openconfig/interface.go | 476 + internal/provider/openconfig/path.go | 72529 ---------------- internal/provider/openconfig/provider.go | 187 +- internal/provider/openconfig/schema.go | 3919 - internal/provider/openconfig/structs.go | 14325 --- internal/provider/openconfig/union.go | 202 - 15 files changed, 497 insertions(+), 93250 deletions(-) delete mode 100644 internal/provider/openconfig/.gitignore rename internal/provider/openconfig/{gen.go => doc.go} (53%) delete mode 100644 internal/provider/openconfig/enum.go delete mode 100644 internal/provider/openconfig/enum_map.go delete mode 100755 internal/provider/openconfig/gen.sh create mode 100644 internal/provider/openconfig/interface.go delete mode 100644 internal/provider/openconfig/path.go delete mode 100644 internal/provider/openconfig/schema.go delete mode 100644 internal/provider/openconfig/structs.go delete mode 100644 internal/provider/openconfig/union.go diff --git a/.golangci.yaml b/.golangci.yaml index e69dc5bae..9c5089754 100644 --- a/.golangci.yaml +++ b/.golangci.yaml @@ -270,7 +270,6 @@ linters: - builtin$ - examples$ - third_party$ - - internal/provider/openconfig formatters: enable: - gofmt @@ -285,4 +284,3 @@ formatters: - builtin$ - examples$ - third_party$ - - internal/provider/openconfig diff --git a/Makefile.maker.yaml b/Makefile.maker.yaml index aca9ebf97..44f1ce578 100644 --- a/Makefile.maker.yaml +++ b/Makefile.maker.yaml @@ -27,9 +27,6 @@ golang: golangciLint: createConfig: false - skipDirs: - - internal/provider/openconfig - timeout: 10m shellCheck: ignorePaths: diff --git a/go.mod b/go.mod index 6594c3cbb..751c3bf96 100644 --- a/go.mod +++ b/go.mod @@ -11,8 +11,6 @@ require ( github.com/onsi/gomega v1.40.0 github.com/openconfig/gnmi v0.14.1 github.com/openconfig/gnoi v0.8.0 - github.com/openconfig/goyang v1.6.3 - github.com/openconfig/ygnmi v0.14.0 github.com/openconfig/ygot v0.34.0 github.com/pin/tftp/v3 v3.2.0 github.com/sapcc/go-api-declarations v1.22.0 @@ -78,8 +76,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect - github.com/openconfig/gocloser v0.0.0-20251119232641-34bca749fdb3 // indirect - github.com/pkg/errors v0.9.1 // indirect + github.com/openconfig/goyang v1.6.3 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect diff --git a/go.sum b/go.sum index 7897cded6..85a2997dc 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -143,14 +141,8 @@ github.com/openconfig/gnmi v0.14.1 h1:qKMuFvhIRR2/xxCOsStPQ25aKpbMDdWr3kI+nP9bhM github.com/openconfig/gnmi v0.14.1/go.mod h1:whr6zVq9PCU8mV1D0K9v7Ajd3+swoN6Yam9n8OH3eT0= github.com/openconfig/gnoi v0.8.0 h1:fwZm4zlwoY5i7KALTpVhpAv53Y3YskleoTpg1IUCa+c= github.com/openconfig/gnoi v0.8.0/go.mod h1:/kbYAWyBjQ08oahe7VGG8lAJc+yIfXdD7CF/T8RUjl0= -github.com/openconfig/gocloser v0.0.0-20251119232641-34bca749fdb3 h1:HsTKOBZeQw/Rt8KmxFY578pVZDIgeem50jzv4BjrTR8= -github.com/openconfig/gocloser v0.0.0-20251119232641-34bca749fdb3/go.mod h1:4vnwCnlfaYP/nmt3ST13nRo1oygak9ctB6CUbhGZUUE= github.com/openconfig/goyang v1.6.3 h1:9nWXBwd6b4+nZr8ni7O4zUXVhrVMXCLFz8os5YWFuo4= github.com/openconfig/goyang v1.6.3/go.mod h1:5WolITjek1NF8yrNERyVZ7jqjOClJTpO8p/+OwmETM4= -github.com/openconfig/grpctunnel v0.1.0 h1:EN99qtlExZczgQgp5ANnHRC/Rs62cAG+Tz2BQ5m/maM= -github.com/openconfig/grpctunnel v0.1.0/go.mod h1:G04Pdu0pml98tdvXrvLaU+EBo3PxYfI9MYqpvdaEHLo= -github.com/openconfig/ygnmi v0.14.0 h1:WXkZU8NcMVJzZBn1mDm7GMdJ+WyU2ab/4ls1kMKPN5c= -github.com/openconfig/ygnmi v0.14.0/go.mod h1:c5ThNBAhrg5o3ZP5V9xagjlJZaKLPFMcJ2Mc3mcNJ8g= github.com/openconfig/ygot v0.34.0 h1:9OkVjy3SGi4mbvAZc4HTQBU9u4MT6k4j5DdX+hgRiC4= github.com/openconfig/ygot v0.34.0/go.mod h1:eMNQHrJpanet+pQoBw/P3ua4sLY/tRTXyJ7ALkWCvl4= github.com/pin/tftp/v3 v3.2.0 h1:q6K5G6T0TA7e3wDJsB/7VpD3iaWwVEJD/nEuh3q9Sk0= diff --git a/internal/provider/openconfig/.gitignore b/internal/provider/openconfig/.gitignore deleted file mode 100644 index 8b7ac3687..000000000 --- a/internal/provider/openconfig/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -# SPDX-License-Identifier: Apache-2.0 -yang diff --git a/internal/provider/openconfig/gen.go b/internal/provider/openconfig/doc.go similarity index 53% rename from internal/provider/openconfig/gen.go rename to internal/provider/openconfig/doc.go index 59bbaea43..8eac8e453 100644 --- a/internal/provider/openconfig/gen.go +++ b/internal/provider/openconfig/doc.go @@ -1,5 +1,6 @@ // SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors // SPDX-License-Identifier: Apache-2.0 -//go:generate ./gen.sh +// Package openconfig implements provider support for OpenConfig-compliant devices +// using gNMI (e.g. Nokia SR Linux, Arista EOS). package openconfig diff --git a/internal/provider/openconfig/enum.go b/internal/provider/openconfig/enum.go deleted file mode 100644 index a695d69c4..000000000 --- a/internal/provider/openconfig/enum.go +++ /dev/null @@ -1,1349 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which represent a YANG schema. The generated schema can be -compressed by a series of transformations (compression was true -in this case). - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -import ( - "github.com/openconfig/ygot/ygot" -) - -// E_Address_Status is a derived int64 type which is used to represent -// the enumerated node Address_Status. An additional value named -// Address_Status_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Address_Status int64 - -// IsYANGGoEnum ensures that Address_Status implements the yang.GoEnum -// interface. This ensures that Address_Status can be identified as a -// mapped type for a YANG enumeration. -func (E_Address_Status) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Address_Status. -func (E_Address_Status) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Address_Status. -func (e E_Address_Status) String() string { - return ygot.EnumLogString(e, int64(e), "E_Address_Status") -} - -const ( - // Address_Status_UNSET corresponds to the value UNSET of Address_Status - Address_Status_UNSET E_Address_Status = 0 - // Address_Status_PREFERRED corresponds to the value PREFERRED of Address_Status - Address_Status_PREFERRED E_Address_Status = 1 - // Address_Status_DEPRECATED corresponds to the value DEPRECATED of Address_Status - Address_Status_DEPRECATED E_Address_Status = 2 - // Address_Status_INVALID corresponds to the value INVALID of Address_Status - Address_Status_INVALID E_Address_Status = 3 - // Address_Status_INACCESSIBLE corresponds to the value INACCESSIBLE of Address_Status - Address_Status_INACCESSIBLE E_Address_Status = 4 - // Address_Status_UNKNOWN corresponds to the value UNKNOWN of Address_Status - Address_Status_UNKNOWN E_Address_Status = 5 - // Address_Status_TENTATIVE corresponds to the value TENTATIVE of Address_Status - Address_Status_TENTATIVE E_Address_Status = 6 - // Address_Status_DUPLICATE corresponds to the value DUPLICATE of Address_Status - Address_Status_DUPLICATE E_Address_Status = 7 - // Address_Status_OPTIMISTIC corresponds to the value OPTIMISTIC of Address_Status - Address_Status_OPTIMISTIC E_Address_Status = 8 -) - -// E_Ethernet_DuplexMode is a derived int64 type which is used to represent -// the enumerated node Ethernet_DuplexMode. An additional value named -// Ethernet_DuplexMode_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Ethernet_DuplexMode int64 - -// IsYANGGoEnum ensures that Ethernet_DuplexMode implements the yang.GoEnum -// interface. This ensures that Ethernet_DuplexMode can be identified as a -// mapped type for a YANG enumeration. -func (E_Ethernet_DuplexMode) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Ethernet_DuplexMode. -func (E_Ethernet_DuplexMode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Ethernet_DuplexMode. -func (e E_Ethernet_DuplexMode) String() string { - return ygot.EnumLogString(e, int64(e), "E_Ethernet_DuplexMode") -} - -const ( - // Ethernet_DuplexMode_UNSET corresponds to the value UNSET of Ethernet_DuplexMode - Ethernet_DuplexMode_UNSET E_Ethernet_DuplexMode = 0 - // Ethernet_DuplexMode_FULL corresponds to the value FULL of Ethernet_DuplexMode - Ethernet_DuplexMode_FULL E_Ethernet_DuplexMode = 1 - // Ethernet_DuplexMode_HALF corresponds to the value HALF of Ethernet_DuplexMode - Ethernet_DuplexMode_HALF E_Ethernet_DuplexMode = 2 -) - -// E_Ethernet_NegotiatedDuplexMode is a derived int64 type which is used to represent -// the enumerated node Ethernet_NegotiatedDuplexMode. An additional value named -// Ethernet_NegotiatedDuplexMode_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Ethernet_NegotiatedDuplexMode int64 - -// IsYANGGoEnum ensures that Ethernet_NegotiatedDuplexMode implements the yang.GoEnum -// interface. This ensures that Ethernet_NegotiatedDuplexMode can be identified as a -// mapped type for a YANG enumeration. -func (E_Ethernet_NegotiatedDuplexMode) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Ethernet_NegotiatedDuplexMode. -func (E_Ethernet_NegotiatedDuplexMode) ΛMap() map[string]map[int64]ygot.EnumDefinition { - return ΛEnum -} - -// String returns a logging-friendly string for E_Ethernet_NegotiatedDuplexMode. -func (e E_Ethernet_NegotiatedDuplexMode) String() string { - return ygot.EnumLogString(e, int64(e), "E_Ethernet_NegotiatedDuplexMode") -} - -const ( - // Ethernet_NegotiatedDuplexMode_UNSET corresponds to the value UNSET of Ethernet_NegotiatedDuplexMode - Ethernet_NegotiatedDuplexMode_UNSET E_Ethernet_NegotiatedDuplexMode = 0 - // Ethernet_NegotiatedDuplexMode_FULL corresponds to the value FULL of Ethernet_NegotiatedDuplexMode - Ethernet_NegotiatedDuplexMode_FULL E_Ethernet_NegotiatedDuplexMode = 1 - // Ethernet_NegotiatedDuplexMode_HALF corresponds to the value HALF of Ethernet_NegotiatedDuplexMode - Ethernet_NegotiatedDuplexMode_HALF E_Ethernet_NegotiatedDuplexMode = 2 -) - -// E_IETFInterfaces_InterfaceType is a derived int64 type which is used to represent -// the enumerated node IETFInterfaces_InterfaceType. An additional value named -// IETFInterfaces_InterfaceType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IETFInterfaces_InterfaceType int64 - -// IsYANGGoEnum ensures that IETFInterfaces_InterfaceType implements the yang.GoEnum -// interface. This ensures that IETFInterfaces_InterfaceType can be identified as a -// mapped type for a YANG enumeration. -func (E_IETFInterfaces_InterfaceType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IETFInterfaces_InterfaceType. -func (E_IETFInterfaces_InterfaceType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IETFInterfaces_InterfaceType. -func (e E_IETFInterfaces_InterfaceType) String() string { - return ygot.EnumLogString(e, int64(e), "E_IETFInterfaces_InterfaceType") -} - -const ( - // IETFInterfaces_InterfaceType_UNSET corresponds to the value UNSET of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_UNSET E_IETFInterfaces_InterfaceType = 0 - // IETFInterfaces_InterfaceType_a12MppSwitch corresponds to the value a12MppSwitch of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_a12MppSwitch E_IETFInterfaces_InterfaceType = 1 - // IETFInterfaces_InterfaceType_aal2 corresponds to the value aal2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aal2 E_IETFInterfaces_InterfaceType = 2 - // IETFInterfaces_InterfaceType_aal5 corresponds to the value aal5 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aal5 E_IETFInterfaces_InterfaceType = 3 - // IETFInterfaces_InterfaceType_actelisMetaLOOP corresponds to the value actelisMetaLOOP of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_actelisMetaLOOP E_IETFInterfaces_InterfaceType = 4 - // IETFInterfaces_InterfaceType_adsl corresponds to the value adsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_adsl E_IETFInterfaces_InterfaceType = 5 - // IETFInterfaces_InterfaceType_adsl2 corresponds to the value adsl2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_adsl2 E_IETFInterfaces_InterfaceType = 6 - // IETFInterfaces_InterfaceType_adsl2plus corresponds to the value adsl2plus of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_adsl2plus E_IETFInterfaces_InterfaceType = 7 - // IETFInterfaces_InterfaceType_aflane8023 corresponds to the value aflane8023 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aflane8023 E_IETFInterfaces_InterfaceType = 8 - // IETFInterfaces_InterfaceType_aflane8025 corresponds to the value aflane8025 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aflane8025 E_IETFInterfaces_InterfaceType = 9 - // IETFInterfaces_InterfaceType_aluELP corresponds to the value aluELP of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluELP E_IETFInterfaces_InterfaceType = 10 - // IETFInterfaces_InterfaceType_aluEpon corresponds to the value aluEpon of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluEpon E_IETFInterfaces_InterfaceType = 11 - // IETFInterfaces_InterfaceType_aluEponLogicalLink corresponds to the value aluEponLogicalLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluEponLogicalLink E_IETFInterfaces_InterfaceType = 12 - // IETFInterfaces_InterfaceType_aluEponOnu corresponds to the value aluEponOnu of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluEponOnu E_IETFInterfaces_InterfaceType = 13 - // IETFInterfaces_InterfaceType_aluEponPhysicalUni corresponds to the value aluEponPhysicalUni of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluEponPhysicalUni E_IETFInterfaces_InterfaceType = 14 - // IETFInterfaces_InterfaceType_aluGponOnu corresponds to the value aluGponOnu of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluGponOnu E_IETFInterfaces_InterfaceType = 15 - // IETFInterfaces_InterfaceType_aluGponPhysicalUni corresponds to the value aluGponPhysicalUni of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aluGponPhysicalUni E_IETFInterfaces_InterfaceType = 16 - // IETFInterfaces_InterfaceType_arap corresponds to the value arap of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_arap E_IETFInterfaces_InterfaceType = 17 - // IETFInterfaces_InterfaceType_arcnet corresponds to the value arcnet of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_arcnet E_IETFInterfaces_InterfaceType = 18 - // IETFInterfaces_InterfaceType_arcnetPlus corresponds to the value arcnetPlus of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_arcnetPlus E_IETFInterfaces_InterfaceType = 19 - // IETFInterfaces_InterfaceType_async corresponds to the value async of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_async E_IETFInterfaces_InterfaceType = 20 - // IETFInterfaces_InterfaceType_atm corresponds to the value atm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atm E_IETFInterfaces_InterfaceType = 21 - // IETFInterfaces_InterfaceType_atmDxi corresponds to the value atmDxi of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmDxi E_IETFInterfaces_InterfaceType = 22 - // IETFInterfaces_InterfaceType_atmFuni corresponds to the value atmFuni of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmFuni E_IETFInterfaces_InterfaceType = 23 - // IETFInterfaces_InterfaceType_atmIma corresponds to the value atmIma of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmIma E_IETFInterfaces_InterfaceType = 24 - // IETFInterfaces_InterfaceType_atmLogical corresponds to the value atmLogical of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmLogical E_IETFInterfaces_InterfaceType = 25 - // IETFInterfaces_InterfaceType_atmRadio corresponds to the value atmRadio of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmRadio E_IETFInterfaces_InterfaceType = 26 - // IETFInterfaces_InterfaceType_atmSubInterface corresponds to the value atmSubInterface of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmSubInterface E_IETFInterfaces_InterfaceType = 27 - // IETFInterfaces_InterfaceType_atmVciEndPt corresponds to the value atmVciEndPt of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmVciEndPt E_IETFInterfaces_InterfaceType = 28 - // IETFInterfaces_InterfaceType_atmVirtual corresponds to the value atmVirtual of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmVirtual E_IETFInterfaces_InterfaceType = 29 - // IETFInterfaces_InterfaceType_atmbond corresponds to the value atmbond of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_atmbond E_IETFInterfaces_InterfaceType = 30 - // IETFInterfaces_InterfaceType_aviciOpticalEther corresponds to the value aviciOpticalEther of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_aviciOpticalEther E_IETFInterfaces_InterfaceType = 31 - // IETFInterfaces_InterfaceType_basicISDN corresponds to the value basicISDN of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_basicISDN E_IETFInterfaces_InterfaceType = 32 - // IETFInterfaces_InterfaceType_bgppolicyaccounting corresponds to the value bgppolicyaccounting of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_bgppolicyaccounting E_IETFInterfaces_InterfaceType = 33 - // IETFInterfaces_InterfaceType_bits corresponds to the value bits of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_bits E_IETFInterfaces_InterfaceType = 34 - // IETFInterfaces_InterfaceType_bridge corresponds to the value bridge of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_bridge E_IETFInterfaces_InterfaceType = 35 - // IETFInterfaces_InterfaceType_bsc corresponds to the value bsc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_bsc E_IETFInterfaces_InterfaceType = 36 - // IETFInterfaces_InterfaceType_cableDownstreamRfPort corresponds to the value cableDownstreamRfPort of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_cableDownstreamRfPort E_IETFInterfaces_InterfaceType = 37 - // IETFInterfaces_InterfaceType_capwapDot11Bss corresponds to the value capwapDot11Bss of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_capwapDot11Bss E_IETFInterfaces_InterfaceType = 38 - // IETFInterfaces_InterfaceType_capwapDot11Profile corresponds to the value capwapDot11Profile of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_capwapDot11Profile E_IETFInterfaces_InterfaceType = 39 - // IETFInterfaces_InterfaceType_capwapWtpVirtualRadio corresponds to the value capwapWtpVirtualRadio of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_capwapWtpVirtualRadio E_IETFInterfaces_InterfaceType = 40 - // IETFInterfaces_InterfaceType_cblVectaStar corresponds to the value cblVectaStar of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_cblVectaStar E_IETFInterfaces_InterfaceType = 41 - // IETFInterfaces_InterfaceType_cctEmul corresponds to the value cctEmul of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_cctEmul E_IETFInterfaces_InterfaceType = 42 - // IETFInterfaces_InterfaceType_ces corresponds to the value ces of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ces E_IETFInterfaces_InterfaceType = 43 - // IETFInterfaces_InterfaceType_channel corresponds to the value channel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_channel E_IETFInterfaces_InterfaceType = 44 - // IETFInterfaces_InterfaceType_ciscoISLvlan corresponds to the value ciscoISLvlan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ciscoISLvlan E_IETFInterfaces_InterfaceType = 45 - // IETFInterfaces_InterfaceType_cnr corresponds to the value cnr of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_cnr E_IETFInterfaces_InterfaceType = 46 - // IETFInterfaces_InterfaceType_coffee corresponds to the value coffee of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_coffee E_IETFInterfaces_InterfaceType = 47 - // IETFInterfaces_InterfaceType_compositeLink corresponds to the value compositeLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_compositeLink E_IETFInterfaces_InterfaceType = 48 - // IETFInterfaces_InterfaceType_dcn corresponds to the value dcn of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dcn E_IETFInterfaces_InterfaceType = 49 - // IETFInterfaces_InterfaceType_ddnX25 corresponds to the value ddnX25 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ddnX25 E_IETFInterfaces_InterfaceType = 50 - // IETFInterfaces_InterfaceType_digitalPowerline corresponds to the value digitalPowerline of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_digitalPowerline E_IETFInterfaces_InterfaceType = 51 - // IETFInterfaces_InterfaceType_digitalWrapperOverheadChannel corresponds to the value digitalWrapperOverheadChannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_digitalWrapperOverheadChannel E_IETFInterfaces_InterfaceType = 52 - // IETFInterfaces_InterfaceType_dlsw corresponds to the value dlsw of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dlsw E_IETFInterfaces_InterfaceType = 53 - // IETFInterfaces_InterfaceType_docsCableDownstream corresponds to the value docsCableDownstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableDownstream E_IETFInterfaces_InterfaceType = 54 - // IETFInterfaces_InterfaceType_docsCableMCmtsDownstream corresponds to the value docsCableMCmtsDownstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableMCmtsDownstream E_IETFInterfaces_InterfaceType = 55 - // IETFInterfaces_InterfaceType_docsCableMaclayer corresponds to the value docsCableMaclayer of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableMaclayer E_IETFInterfaces_InterfaceType = 56 - // IETFInterfaces_InterfaceType_docsCableNdf corresponds to the value docsCableNdf of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableNdf E_IETFInterfaces_InterfaceType = 57 - // IETFInterfaces_InterfaceType_docsCableNdr corresponds to the value docsCableNdr of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableNdr E_IETFInterfaces_InterfaceType = 58 - // IETFInterfaces_InterfaceType_docsCableScte55d1FwdOob corresponds to the value docsCableScte55d1FwdOob of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableScte55d1FwdOob E_IETFInterfaces_InterfaceType = 59 - // IETFInterfaces_InterfaceType_docsCableScte55d1RetOob corresponds to the value docsCableScte55d1RetOob of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableScte55d1RetOob E_IETFInterfaces_InterfaceType = 60 - // IETFInterfaces_InterfaceType_docsCableScte55d2DsOob corresponds to the value docsCableScte55d2DsOob of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableScte55d2DsOob E_IETFInterfaces_InterfaceType = 61 - // IETFInterfaces_InterfaceType_docsCableScte55d2UsOob corresponds to the value docsCableScte55d2UsOob of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableScte55d2UsOob E_IETFInterfaces_InterfaceType = 62 - // IETFInterfaces_InterfaceType_docsCableUpstream corresponds to the value docsCableUpstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableUpstream E_IETFInterfaces_InterfaceType = 63 - // IETFInterfaces_InterfaceType_docsCableUpstreamChannel corresponds to the value docsCableUpstreamChannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableUpstreamChannel E_IETFInterfaces_InterfaceType = 64 - // IETFInterfaces_InterfaceType_docsCableUpstreamRfPort corresponds to the value docsCableUpstreamRfPort of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsCableUpstreamRfPort E_IETFInterfaces_InterfaceType = 65 - // IETFInterfaces_InterfaceType_docsOfdmDownstream corresponds to the value docsOfdmDownstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsOfdmDownstream E_IETFInterfaces_InterfaceType = 66 - // IETFInterfaces_InterfaceType_docsOfdmaUpstream corresponds to the value docsOfdmaUpstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_docsOfdmaUpstream E_IETFInterfaces_InterfaceType = 67 - // IETFInterfaces_InterfaceType_ds0 corresponds to the value ds0 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ds0 E_IETFInterfaces_InterfaceType = 68 - // IETFInterfaces_InterfaceType_ds0Bundle corresponds to the value ds0Bundle of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ds0Bundle E_IETFInterfaces_InterfaceType = 69 - // IETFInterfaces_InterfaceType_ds1 corresponds to the value ds1 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ds1 E_IETFInterfaces_InterfaceType = 70 - // IETFInterfaces_InterfaceType_ds1FDL corresponds to the value ds1FDL of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ds1FDL E_IETFInterfaces_InterfaceType = 71 - // IETFInterfaces_InterfaceType_ds3 corresponds to the value ds3 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ds3 E_IETFInterfaces_InterfaceType = 72 - // IETFInterfaces_InterfaceType_dtm corresponds to the value dtm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dtm E_IETFInterfaces_InterfaceType = 73 - // IETFInterfaces_InterfaceType_dvbAsiIn corresponds to the value dvbAsiIn of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbAsiIn E_IETFInterfaces_InterfaceType = 74 - // IETFInterfaces_InterfaceType_dvbAsiOut corresponds to the value dvbAsiOut of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbAsiOut E_IETFInterfaces_InterfaceType = 75 - // IETFInterfaces_InterfaceType_dvbRccDownstream corresponds to the value dvbRccDownstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbRccDownstream E_IETFInterfaces_InterfaceType = 76 - // IETFInterfaces_InterfaceType_dvbRccMacLayer corresponds to the value dvbRccMacLayer of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbRccMacLayer E_IETFInterfaces_InterfaceType = 77 - // IETFInterfaces_InterfaceType_dvbRccUpstream corresponds to the value dvbRccUpstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbRccUpstream E_IETFInterfaces_InterfaceType = 78 - // IETFInterfaces_InterfaceType_dvbRcsMacLayer corresponds to the value dvbRcsMacLayer of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbRcsMacLayer E_IETFInterfaces_InterfaceType = 79 - // IETFInterfaces_InterfaceType_dvbRcsTdma corresponds to the value dvbRcsTdma of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbRcsTdma E_IETFInterfaces_InterfaceType = 80 - // IETFInterfaces_InterfaceType_dvbTdm corresponds to the value dvbTdm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_dvbTdm E_IETFInterfaces_InterfaceType = 81 - // IETFInterfaces_InterfaceType_e1 corresponds to the value e1 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_e1 E_IETFInterfaces_InterfaceType = 82 - // IETFInterfaces_InterfaceType_econet corresponds to the value econet of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_econet E_IETFInterfaces_InterfaceType = 83 - // IETFInterfaces_InterfaceType_eon corresponds to the value eon of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_eon E_IETFInterfaces_InterfaceType = 84 - // IETFInterfaces_InterfaceType_eplrs corresponds to the value eplrs of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_eplrs E_IETFInterfaces_InterfaceType = 85 - // IETFInterfaces_InterfaceType_escon corresponds to the value escon of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_escon E_IETFInterfaces_InterfaceType = 86 - // IETFInterfaces_InterfaceType_ethernet3Mbit corresponds to the value ethernet3Mbit of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ethernet3Mbit E_IETFInterfaces_InterfaceType = 87 - // IETFInterfaces_InterfaceType_ethernetCsmacd corresponds to the value ethernetCsmacd of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ethernetCsmacd E_IETFInterfaces_InterfaceType = 88 - // IETFInterfaces_InterfaceType_fast corresponds to the value fast of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fast E_IETFInterfaces_InterfaceType = 89 - // IETFInterfaces_InterfaceType_fastEther corresponds to the value fastEther of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fastEther E_IETFInterfaces_InterfaceType = 90 - // IETFInterfaces_InterfaceType_fastEtherFX corresponds to the value fastEtherFX of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fastEtherFX E_IETFInterfaces_InterfaceType = 91 - // IETFInterfaces_InterfaceType_fastdsl corresponds to the value fastdsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fastdsl E_IETFInterfaces_InterfaceType = 92 - // IETFInterfaces_InterfaceType_fcipLink corresponds to the value fcipLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fcipLink E_IETFInterfaces_InterfaceType = 93 - // IETFInterfaces_InterfaceType_fddi corresponds to the value fddi of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fddi E_IETFInterfaces_InterfaceType = 94 - // IETFInterfaces_InterfaceType_fibreChannel corresponds to the value fibreChannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_fibreChannel E_IETFInterfaces_InterfaceType = 95 - // IETFInterfaces_InterfaceType_frDlciEndPt corresponds to the value frDlciEndPt of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frDlciEndPt E_IETFInterfaces_InterfaceType = 96 - // IETFInterfaces_InterfaceType_frForward corresponds to the value frForward of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frForward E_IETFInterfaces_InterfaceType = 97 - // IETFInterfaces_InterfaceType_frameRelay corresponds to the value frameRelay of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frameRelay E_IETFInterfaces_InterfaceType = 98 - // IETFInterfaces_InterfaceType_frameRelayInterconnect corresponds to the value frameRelayInterconnect of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frameRelayInterconnect E_IETFInterfaces_InterfaceType = 99 - // IETFInterfaces_InterfaceType_frameRelayMPI corresponds to the value frameRelayMPI of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frameRelayMPI E_IETFInterfaces_InterfaceType = 100 - // IETFInterfaces_InterfaceType_frameRelayService corresponds to the value frameRelayService of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frameRelayService E_IETFInterfaces_InterfaceType = 101 - // IETFInterfaces_InterfaceType_frf16MfrBundle corresponds to the value frf16MfrBundle of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_frf16MfrBundle E_IETFInterfaces_InterfaceType = 102 - // IETFInterfaces_InterfaceType_g703at2mb corresponds to the value g703at2mb of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_g703at2mb E_IETFInterfaces_InterfaceType = 103 - // IETFInterfaces_InterfaceType_g703at64k corresponds to the value g703at64k of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_g703at64k E_IETFInterfaces_InterfaceType = 104 - // IETFInterfaces_InterfaceType_g9981 corresponds to the value g9981 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_g9981 E_IETFInterfaces_InterfaceType = 105 - // IETFInterfaces_InterfaceType_g9982 corresponds to the value g9982 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_g9982 E_IETFInterfaces_InterfaceType = 106 - // IETFInterfaces_InterfaceType_g9983 corresponds to the value g9983 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_g9983 E_IETFInterfaces_InterfaceType = 107 - // IETFInterfaces_InterfaceType_gfast corresponds to the value gfast of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gfast E_IETFInterfaces_InterfaceType = 108 - // IETFInterfaces_InterfaceType_gfp corresponds to the value gfp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gfp E_IETFInterfaces_InterfaceType = 109 - // IETFInterfaces_InterfaceType_gigabitEthernet corresponds to the value gigabitEthernet of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gigabitEthernet E_IETFInterfaces_InterfaceType = 110 - // IETFInterfaces_InterfaceType_gpon corresponds to the value gpon of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gpon E_IETFInterfaces_InterfaceType = 111 - // IETFInterfaces_InterfaceType_gr303IDT corresponds to the value gr303IDT of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gr303IDT E_IETFInterfaces_InterfaceType = 112 - // IETFInterfaces_InterfaceType_gr303RDT corresponds to the value gr303RDT of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gr303RDT E_IETFInterfaces_InterfaceType = 113 - // IETFInterfaces_InterfaceType_gtp corresponds to the value gtp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_gtp E_IETFInterfaces_InterfaceType = 114 - // IETFInterfaces_InterfaceType_h323Gatekeeper corresponds to the value h323Gatekeeper of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_h323Gatekeeper E_IETFInterfaces_InterfaceType = 115 - // IETFInterfaces_InterfaceType_h323Proxy corresponds to the value h323Proxy of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_h323Proxy E_IETFInterfaces_InterfaceType = 116 - // IETFInterfaces_InterfaceType_hdh1822 corresponds to the value hdh1822 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hdh1822 E_IETFInterfaces_InterfaceType = 117 - // IETFInterfaces_InterfaceType_hdlc corresponds to the value hdlc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hdlc E_IETFInterfaces_InterfaceType = 118 - // IETFInterfaces_InterfaceType_hdsl2 corresponds to the value hdsl2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hdsl2 E_IETFInterfaces_InterfaceType = 119 - // IETFInterfaces_InterfaceType_hiperlan2 corresponds to the value hiperlan2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hiperlan2 E_IETFInterfaces_InterfaceType = 120 - // IETFInterfaces_InterfaceType_hippi corresponds to the value hippi of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hippi E_IETFInterfaces_InterfaceType = 121 - // IETFInterfaces_InterfaceType_hippiInterface corresponds to the value hippiInterface of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hippiInterface E_IETFInterfaces_InterfaceType = 122 - // IETFInterfaces_InterfaceType_homepna corresponds to the value homepna of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_homepna E_IETFInterfaces_InterfaceType = 123 - // IETFInterfaces_InterfaceType_hostPad corresponds to the value hostPad of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hostPad E_IETFInterfaces_InterfaceType = 124 - // IETFInterfaces_InterfaceType_hssi corresponds to the value hssi of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hssi E_IETFInterfaces_InterfaceType = 125 - // IETFInterfaces_InterfaceType_hyperchannel corresponds to the value hyperchannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_hyperchannel E_IETFInterfaces_InterfaceType = 126 - // IETFInterfaces_InterfaceType_iana_interface_type corresponds to the value iana_interface_type of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iana_interface_type E_IETFInterfaces_InterfaceType = 127 - // IETFInterfaces_InterfaceType_ibm370parChan corresponds to the value ibm370parChan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ibm370parChan E_IETFInterfaces_InterfaceType = 128 - // IETFInterfaces_InterfaceType_idsl corresponds to the value idsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_idsl E_IETFInterfaces_InterfaceType = 129 - // IETFInterfaces_InterfaceType_ieee1394 corresponds to the value ieee1394 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee1394 E_IETFInterfaces_InterfaceType = 130 - // IETFInterfaces_InterfaceType_ieee80211 corresponds to the value ieee80211 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee80211 E_IETFInterfaces_InterfaceType = 131 - // IETFInterfaces_InterfaceType_ieee80212 corresponds to the value ieee80212 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee80212 E_IETFInterfaces_InterfaceType = 132 - // IETFInterfaces_InterfaceType_ieee802154 corresponds to the value ieee802154 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee802154 E_IETFInterfaces_InterfaceType = 133 - // IETFInterfaces_InterfaceType_ieee80216WMAN corresponds to the value ieee80216WMAN of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee80216WMAN E_IETFInterfaces_InterfaceType = 134 - // IETFInterfaces_InterfaceType_ieee8023adLag corresponds to the value ieee8023adLag of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ieee8023adLag E_IETFInterfaces_InterfaceType = 135 - // IETFInterfaces_InterfaceType_if_gsn corresponds to the value if_gsn of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_if_gsn E_IETFInterfaces_InterfaceType = 136 - // IETFInterfaces_InterfaceType_ifPwType corresponds to the value ifPwType of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ifPwType E_IETFInterfaces_InterfaceType = 137 - // IETFInterfaces_InterfaceType_ifVfiType corresponds to the value ifVfiType of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ifVfiType E_IETFInterfaces_InterfaceType = 138 - // IETFInterfaces_InterfaceType_ilan corresponds to the value ilan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ilan E_IETFInterfaces_InterfaceType = 139 - // IETFInterfaces_InterfaceType_imt corresponds to the value imt of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_imt E_IETFInterfaces_InterfaceType = 140 - // IETFInterfaces_InterfaceType_infiniband corresponds to the value infiniband of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_infiniband E_IETFInterfaces_InterfaceType = 141 - // IETFInterfaces_InterfaceType_interleave corresponds to the value interleave of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_interleave E_IETFInterfaces_InterfaceType = 142 - // IETFInterfaces_InterfaceType_ip corresponds to the value ip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ip E_IETFInterfaces_InterfaceType = 143 - // IETFInterfaces_InterfaceType_ipForward corresponds to the value ipForward of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ipForward E_IETFInterfaces_InterfaceType = 144 - // IETFInterfaces_InterfaceType_ipOverAtm corresponds to the value ipOverAtm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ipOverAtm E_IETFInterfaces_InterfaceType = 145 - // IETFInterfaces_InterfaceType_ipOverCdlc corresponds to the value ipOverCdlc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ipOverCdlc E_IETFInterfaces_InterfaceType = 146 - // IETFInterfaces_InterfaceType_ipOverClaw corresponds to the value ipOverClaw of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ipOverClaw E_IETFInterfaces_InterfaceType = 147 - // IETFInterfaces_InterfaceType_ipSwitch corresponds to the value ipSwitch of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ipSwitch E_IETFInterfaces_InterfaceType = 148 - // IETFInterfaces_InterfaceType_isdn corresponds to the value isdn of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_isdn E_IETFInterfaces_InterfaceType = 149 - // IETFInterfaces_InterfaceType_isdns corresponds to the value isdns of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_isdns E_IETFInterfaces_InterfaceType = 150 - // IETFInterfaces_InterfaceType_isdnu corresponds to the value isdnu of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_isdnu E_IETFInterfaces_InterfaceType = 151 - // IETFInterfaces_InterfaceType_iso88022llc corresponds to the value iso88022llc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88022llc E_IETFInterfaces_InterfaceType = 152 - // IETFInterfaces_InterfaceType_iso88023Csmacd corresponds to the value iso88023Csmacd of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88023Csmacd E_IETFInterfaces_InterfaceType = 153 - // IETFInterfaces_InterfaceType_iso88024TokenBus corresponds to the value iso88024TokenBus of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88024TokenBus E_IETFInterfaces_InterfaceType = 154 - // IETFInterfaces_InterfaceType_iso88025CRFPInt corresponds to the value iso88025CRFPInt of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88025CRFPInt E_IETFInterfaces_InterfaceType = 155 - // IETFInterfaces_InterfaceType_iso88025Dtr corresponds to the value iso88025Dtr of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88025Dtr E_IETFInterfaces_InterfaceType = 156 - // IETFInterfaces_InterfaceType_iso88025Fiber corresponds to the value iso88025Fiber of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88025Fiber E_IETFInterfaces_InterfaceType = 157 - // IETFInterfaces_InterfaceType_iso88025TokenRing corresponds to the value iso88025TokenRing of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88025TokenRing E_IETFInterfaces_InterfaceType = 158 - // IETFInterfaces_InterfaceType_iso88026Man corresponds to the value iso88026Man of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_iso88026Man E_IETFInterfaces_InterfaceType = 159 - // IETFInterfaces_InterfaceType_isup corresponds to the value isup of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_isup E_IETFInterfaces_InterfaceType = 160 - // IETFInterfaces_InterfaceType_l2vlan corresponds to the value l2vlan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_l2vlan E_IETFInterfaces_InterfaceType = 161 - // IETFInterfaces_InterfaceType_l3ipvlan corresponds to the value l3ipvlan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_l3ipvlan E_IETFInterfaces_InterfaceType = 162 - // IETFInterfaces_InterfaceType_l3ipxvlan corresponds to the value l3ipxvlan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_l3ipxvlan E_IETFInterfaces_InterfaceType = 163 - // IETFInterfaces_InterfaceType_lapb corresponds to the value lapb of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_lapb E_IETFInterfaces_InterfaceType = 164 - // IETFInterfaces_InterfaceType_lapd corresponds to the value lapd of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_lapd E_IETFInterfaces_InterfaceType = 165 - // IETFInterfaces_InterfaceType_lapf corresponds to the value lapf of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_lapf E_IETFInterfaces_InterfaceType = 166 - // IETFInterfaces_InterfaceType_linegroup corresponds to the value linegroup of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_linegroup E_IETFInterfaces_InterfaceType = 167 - // IETFInterfaces_InterfaceType_lmp corresponds to the value lmp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_lmp E_IETFInterfaces_InterfaceType = 168 - // IETFInterfaces_InterfaceType_localTalk corresponds to the value localTalk of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_localTalk E_IETFInterfaces_InterfaceType = 169 - // IETFInterfaces_InterfaceType_macSecControlledIF corresponds to the value macSecControlledIF of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_macSecControlledIF E_IETFInterfaces_InterfaceType = 170 - // IETFInterfaces_InterfaceType_macSecUncontrolledIF corresponds to the value macSecUncontrolledIF of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_macSecUncontrolledIF E_IETFInterfaces_InterfaceType = 171 - // IETFInterfaces_InterfaceType_mediaMailOverIp corresponds to the value mediaMailOverIp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mediaMailOverIp E_IETFInterfaces_InterfaceType = 172 - // IETFInterfaces_InterfaceType_mfSigLink corresponds to the value mfSigLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mfSigLink E_IETFInterfaces_InterfaceType = 173 - // IETFInterfaces_InterfaceType_miox25 corresponds to the value miox25 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_miox25 E_IETFInterfaces_InterfaceType = 174 - // IETFInterfaces_InterfaceType_mocaVersion1 corresponds to the value mocaVersion1 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mocaVersion1 E_IETFInterfaces_InterfaceType = 175 - // IETFInterfaces_InterfaceType_modem corresponds to the value modem of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_modem E_IETFInterfaces_InterfaceType = 176 - // IETFInterfaces_InterfaceType_mpc corresponds to the value mpc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mpc E_IETFInterfaces_InterfaceType = 177 - // IETFInterfaces_InterfaceType_mpegTransport corresponds to the value mpegTransport of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mpegTransport E_IETFInterfaces_InterfaceType = 178 - // IETFInterfaces_InterfaceType_mpls corresponds to the value mpls of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mpls E_IETFInterfaces_InterfaceType = 179 - // IETFInterfaces_InterfaceType_mplsTunnel corresponds to the value mplsTunnel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mplsTunnel E_IETFInterfaces_InterfaceType = 180 - // IETFInterfaces_InterfaceType_msdsl corresponds to the value msdsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_msdsl E_IETFInterfaces_InterfaceType = 181 - // IETFInterfaces_InterfaceType_mvl corresponds to the value mvl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_mvl E_IETFInterfaces_InterfaceType = 182 - // IETFInterfaces_InterfaceType_myrinet corresponds to the value myrinet of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_myrinet E_IETFInterfaces_InterfaceType = 183 - // IETFInterfaces_InterfaceType_nfas corresponds to the value nfas of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_nfas E_IETFInterfaces_InterfaceType = 184 - // IETFInterfaces_InterfaceType_nsip corresponds to the value nsip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_nsip E_IETFInterfaces_InterfaceType = 185 - // IETFInterfaces_InterfaceType_opticalChannel corresponds to the value opticalChannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_opticalChannel E_IETFInterfaces_InterfaceType = 186 - // IETFInterfaces_InterfaceType_opticalChannelGroup corresponds to the value opticalChannelGroup of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_opticalChannelGroup E_IETFInterfaces_InterfaceType = 187 - // IETFInterfaces_InterfaceType_opticalTransport corresponds to the value opticalTransport of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_opticalTransport E_IETFInterfaces_InterfaceType = 188 - // IETFInterfaces_InterfaceType_other corresponds to the value other of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_other E_IETFInterfaces_InterfaceType = 189 - // IETFInterfaces_InterfaceType_otnOdu corresponds to the value otnOdu of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_otnOdu E_IETFInterfaces_InterfaceType = 190 - // IETFInterfaces_InterfaceType_otnOtu corresponds to the value otnOtu of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_otnOtu E_IETFInterfaces_InterfaceType = 191 - // IETFInterfaces_InterfaceType_para corresponds to the value para of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_para E_IETFInterfaces_InterfaceType = 192 - // IETFInterfaces_InterfaceType_pdnEtherLoop1 corresponds to the value pdnEtherLoop1 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pdnEtherLoop1 E_IETFInterfaces_InterfaceType = 193 - // IETFInterfaces_InterfaceType_pdnEtherLoop2 corresponds to the value pdnEtherLoop2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pdnEtherLoop2 E_IETFInterfaces_InterfaceType = 194 - // IETFInterfaces_InterfaceType_pip corresponds to the value pip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pip E_IETFInterfaces_InterfaceType = 195 - // IETFInterfaces_InterfaceType_plc corresponds to the value plc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_plc E_IETFInterfaces_InterfaceType = 196 - // IETFInterfaces_InterfaceType_pon155 corresponds to the value pon155 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pon155 E_IETFInterfaces_InterfaceType = 197 - // IETFInterfaces_InterfaceType_pon622 corresponds to the value pon622 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pon622 E_IETFInterfaces_InterfaceType = 198 - // IETFInterfaces_InterfaceType_pos corresponds to the value pos of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pos E_IETFInterfaces_InterfaceType = 199 - // IETFInterfaces_InterfaceType_ppp corresponds to the value ppp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ppp E_IETFInterfaces_InterfaceType = 200 - // IETFInterfaces_InterfaceType_pppMultilinkBundle corresponds to the value pppMultilinkBundle of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_pppMultilinkBundle E_IETFInterfaces_InterfaceType = 201 - // IETFInterfaces_InterfaceType_primaryISDN corresponds to the value primaryISDN of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_primaryISDN E_IETFInterfaces_InterfaceType = 202 - // IETFInterfaces_InterfaceType_propAtm corresponds to the value propAtm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propAtm E_IETFInterfaces_InterfaceType = 203 - // IETFInterfaces_InterfaceType_propBWAp2Mp corresponds to the value propBWAp2Mp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propBWAp2Mp E_IETFInterfaces_InterfaceType = 204 - // IETFInterfaces_InterfaceType_propCnls corresponds to the value propCnls of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propCnls E_IETFInterfaces_InterfaceType = 205 - // IETFInterfaces_InterfaceType_propDocsWirelessDownstream corresponds to the value propDocsWirelessDownstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propDocsWirelessDownstream E_IETFInterfaces_InterfaceType = 206 - // IETFInterfaces_InterfaceType_propDocsWirelessMaclayer corresponds to the value propDocsWirelessMaclayer of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propDocsWirelessMaclayer E_IETFInterfaces_InterfaceType = 207 - // IETFInterfaces_InterfaceType_propDocsWirelessUpstream corresponds to the value propDocsWirelessUpstream of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propDocsWirelessUpstream E_IETFInterfaces_InterfaceType = 208 - // IETFInterfaces_InterfaceType_propMultiplexor corresponds to the value propMultiplexor of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propMultiplexor E_IETFInterfaces_InterfaceType = 209 - // IETFInterfaces_InterfaceType_propPointToPointSerial corresponds to the value propPointToPointSerial of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propPointToPointSerial E_IETFInterfaces_InterfaceType = 210 - // IETFInterfaces_InterfaceType_propVirtual corresponds to the value propVirtual of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propVirtual E_IETFInterfaces_InterfaceType = 211 - // IETFInterfaces_InterfaceType_propWirelessP2P corresponds to the value propWirelessP2P of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_propWirelessP2P E_IETFInterfaces_InterfaceType = 212 - // IETFInterfaces_InterfaceType_proteon10Mbit corresponds to the value proteon10Mbit of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_proteon10Mbit E_IETFInterfaces_InterfaceType = 213 - // IETFInterfaces_InterfaceType_proteon80Mbit corresponds to the value proteon80Mbit of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_proteon80Mbit E_IETFInterfaces_InterfaceType = 214 - // IETFInterfaces_InterfaceType_ptm corresponds to the value ptm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ptm E_IETFInterfaces_InterfaceType = 215 - // IETFInterfaces_InterfaceType_q2931 corresponds to the value q2931 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_q2931 E_IETFInterfaces_InterfaceType = 216 - // IETFInterfaces_InterfaceType_qam corresponds to the value qam of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_qam E_IETFInterfaces_InterfaceType = 217 - // IETFInterfaces_InterfaceType_qllc corresponds to the value qllc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_qllc E_IETFInterfaces_InterfaceType = 218 - // IETFInterfaces_InterfaceType_radioMAC corresponds to the value radioMAC of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_radioMAC E_IETFInterfaces_InterfaceType = 219 - // IETFInterfaces_InterfaceType_radsl corresponds to the value radsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_radsl E_IETFInterfaces_InterfaceType = 220 - // IETFInterfaces_InterfaceType_reachDSL corresponds to the value reachDSL of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_reachDSL E_IETFInterfaces_InterfaceType = 221 - // IETFInterfaces_InterfaceType_regular1822 corresponds to the value regular1822 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_regular1822 E_IETFInterfaces_InterfaceType = 222 - // IETFInterfaces_InterfaceType_rfc1483 corresponds to the value rfc1483 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_rfc1483 E_IETFInterfaces_InterfaceType = 223 - // IETFInterfaces_InterfaceType_rfc877x25 corresponds to the value rfc877x25 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_rfc877x25 E_IETFInterfaces_InterfaceType = 224 - // IETFInterfaces_InterfaceType_rpr corresponds to the value rpr of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_rpr E_IETFInterfaces_InterfaceType = 225 - // IETFInterfaces_InterfaceType_rs232 corresponds to the value rs232 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_rs232 E_IETFInterfaces_InterfaceType = 226 - // IETFInterfaces_InterfaceType_rsrb corresponds to the value rsrb of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_rsrb E_IETFInterfaces_InterfaceType = 227 - // IETFInterfaces_InterfaceType_sdci corresponds to the value sdci of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sdci E_IETFInterfaces_InterfaceType = 228 - // IETFInterfaces_InterfaceType_sdlc corresponds to the value sdlc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sdlc E_IETFInterfaces_InterfaceType = 229 - // IETFInterfaces_InterfaceType_sdsl corresponds to the value sdsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sdsl E_IETFInterfaces_InterfaceType = 230 - // IETFInterfaces_InterfaceType_shdsl corresponds to the value shdsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_shdsl E_IETFInterfaces_InterfaceType = 231 - // IETFInterfaces_InterfaceType_sip corresponds to the value sip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sip E_IETFInterfaces_InterfaceType = 232 - // IETFInterfaces_InterfaceType_sipSig corresponds to the value sipSig of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sipSig E_IETFInterfaces_InterfaceType = 233 - // IETFInterfaces_InterfaceType_sipTg corresponds to the value sipTg of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sipTg E_IETFInterfaces_InterfaceType = 234 - // IETFInterfaces_InterfaceType_sixToFour corresponds to the value sixToFour of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sixToFour E_IETFInterfaces_InterfaceType = 235 - // IETFInterfaces_InterfaceType_slip corresponds to the value slip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_slip E_IETFInterfaces_InterfaceType = 236 - // IETFInterfaces_InterfaceType_smdsDxi corresponds to the value smdsDxi of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_smdsDxi E_IETFInterfaces_InterfaceType = 237 - // IETFInterfaces_InterfaceType_smdsIcip corresponds to the value smdsIcip of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_smdsIcip E_IETFInterfaces_InterfaceType = 238 - // IETFInterfaces_InterfaceType_softwareLoopback corresponds to the value softwareLoopback of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_softwareLoopback E_IETFInterfaces_InterfaceType = 239 - // IETFInterfaces_InterfaceType_sonet corresponds to the value sonet of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sonet E_IETFInterfaces_InterfaceType = 240 - // IETFInterfaces_InterfaceType_sonetOverheadChannel corresponds to the value sonetOverheadChannel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sonetOverheadChannel E_IETFInterfaces_InterfaceType = 241 - // IETFInterfaces_InterfaceType_sonetPath corresponds to the value sonetPath of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sonetPath E_IETFInterfaces_InterfaceType = 242 - // IETFInterfaces_InterfaceType_sonetVT corresponds to the value sonetVT of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_sonetVT E_IETFInterfaces_InterfaceType = 243 - // IETFInterfaces_InterfaceType_srp corresponds to the value srp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_srp E_IETFInterfaces_InterfaceType = 244 - // IETFInterfaces_InterfaceType_ss7SigLink corresponds to the value ss7SigLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ss7SigLink E_IETFInterfaces_InterfaceType = 245 - // IETFInterfaces_InterfaceType_stackToStack corresponds to the value stackToStack of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_stackToStack E_IETFInterfaces_InterfaceType = 246 - // IETFInterfaces_InterfaceType_starLan corresponds to the value starLan of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_starLan E_IETFInterfaces_InterfaceType = 247 - // IETFInterfaces_InterfaceType_tdlc corresponds to the value tdlc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_tdlc E_IETFInterfaces_InterfaceType = 248 - // IETFInterfaces_InterfaceType_teLink corresponds to the value teLink of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_teLink E_IETFInterfaces_InterfaceType = 249 - // IETFInterfaces_InterfaceType_termPad corresponds to the value termPad of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_termPad E_IETFInterfaces_InterfaceType = 250 - // IETFInterfaces_InterfaceType_tr008 corresponds to the value tr008 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_tr008 E_IETFInterfaces_InterfaceType = 251 - // IETFInterfaces_InterfaceType_transpHdlc corresponds to the value transpHdlc of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_transpHdlc E_IETFInterfaces_InterfaceType = 252 - // IETFInterfaces_InterfaceType_tunnel corresponds to the value tunnel of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_tunnel E_IETFInterfaces_InterfaceType = 253 - // IETFInterfaces_InterfaceType_ultra corresponds to the value ultra of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_ultra E_IETFInterfaces_InterfaceType = 254 - // IETFInterfaces_InterfaceType_usb corresponds to the value usb of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_usb E_IETFInterfaces_InterfaceType = 255 - // IETFInterfaces_InterfaceType_v11 corresponds to the value v11 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_v11 E_IETFInterfaces_InterfaceType = 256 - // IETFInterfaces_InterfaceType_v35 corresponds to the value v35 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_v35 E_IETFInterfaces_InterfaceType = 257 - // IETFInterfaces_InterfaceType_v36 corresponds to the value v36 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_v36 E_IETFInterfaces_InterfaceType = 258 - // IETFInterfaces_InterfaceType_v37 corresponds to the value v37 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_v37 E_IETFInterfaces_InterfaceType = 259 - // IETFInterfaces_InterfaceType_vdsl corresponds to the value vdsl of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_vdsl E_IETFInterfaces_InterfaceType = 260 - // IETFInterfaces_InterfaceType_vdsl2 corresponds to the value vdsl2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_vdsl2 E_IETFInterfaces_InterfaceType = 261 - // IETFInterfaces_InterfaceType_virtualIpAddress corresponds to the value virtualIpAddress of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_virtualIpAddress E_IETFInterfaces_InterfaceType = 262 - // IETFInterfaces_InterfaceType_virtualTg corresponds to the value virtualTg of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_virtualTg E_IETFInterfaces_InterfaceType = 263 - // IETFInterfaces_InterfaceType_vmwareNicTeam corresponds to the value vmwareNicTeam of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_vmwareNicTeam E_IETFInterfaces_InterfaceType = 264 - // IETFInterfaces_InterfaceType_vmwareVirtualNic corresponds to the value vmwareVirtualNic of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_vmwareVirtualNic E_IETFInterfaces_InterfaceType = 265 - // IETFInterfaces_InterfaceType_voiceDID corresponds to the value voiceDID of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceDID E_IETFInterfaces_InterfaceType = 266 - // IETFInterfaces_InterfaceType_voiceEBS corresponds to the value voiceEBS of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceEBS E_IETFInterfaces_InterfaceType = 267 - // IETFInterfaces_InterfaceType_voiceEM corresponds to the value voiceEM of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceEM E_IETFInterfaces_InterfaceType = 268 - // IETFInterfaces_InterfaceType_voiceEMFGD corresponds to the value voiceEMFGD of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceEMFGD E_IETFInterfaces_InterfaceType = 269 - // IETFInterfaces_InterfaceType_voiceEncap corresponds to the value voiceEncap of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceEncap E_IETFInterfaces_InterfaceType = 270 - // IETFInterfaces_InterfaceType_voiceFGDEANA corresponds to the value voiceFGDEANA of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceFGDEANA E_IETFInterfaces_InterfaceType = 271 - // IETFInterfaces_InterfaceType_voiceFGDOS corresponds to the value voiceFGDOS of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceFGDOS E_IETFInterfaces_InterfaceType = 272 - // IETFInterfaces_InterfaceType_voiceFXO corresponds to the value voiceFXO of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceFXO E_IETFInterfaces_InterfaceType = 273 - // IETFInterfaces_InterfaceType_voiceFXS corresponds to the value voiceFXS of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceFXS E_IETFInterfaces_InterfaceType = 274 - // IETFInterfaces_InterfaceType_voiceOverAtm corresponds to the value voiceOverAtm of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceOverAtm E_IETFInterfaces_InterfaceType = 275 - // IETFInterfaces_InterfaceType_voiceOverCable corresponds to the value voiceOverCable of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceOverCable E_IETFInterfaces_InterfaceType = 276 - // IETFInterfaces_InterfaceType_voiceOverFrameRelay corresponds to the value voiceOverFrameRelay of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceOverFrameRelay E_IETFInterfaces_InterfaceType = 277 - // IETFInterfaces_InterfaceType_voiceOverIp corresponds to the value voiceOverIp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_voiceOverIp E_IETFInterfaces_InterfaceType = 278 - // IETFInterfaces_InterfaceType_wwanPP corresponds to the value wwanPP of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_wwanPP E_IETFInterfaces_InterfaceType = 279 - // IETFInterfaces_InterfaceType_wwanPP2 corresponds to the value wwanPP2 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_wwanPP2 E_IETFInterfaces_InterfaceType = 280 - // IETFInterfaces_InterfaceType_x213 corresponds to the value x213 of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_x213 E_IETFInterfaces_InterfaceType = 281 - // IETFInterfaces_InterfaceType_x25huntGroup corresponds to the value x25huntGroup of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_x25huntGroup E_IETFInterfaces_InterfaceType = 282 - // IETFInterfaces_InterfaceType_x25mlp corresponds to the value x25mlp of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_x25mlp E_IETFInterfaces_InterfaceType = 283 - // IETFInterfaces_InterfaceType_x25ple corresponds to the value x25ple of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_x25ple E_IETFInterfaces_InterfaceType = 284 - // IETFInterfaces_InterfaceType_x86Laps corresponds to the value x86Laps of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_x86Laps E_IETFInterfaces_InterfaceType = 285 - // IETFInterfaces_InterfaceType_xboxWireless corresponds to the value xboxWireless of IETFInterfaces_InterfaceType - IETFInterfaces_InterfaceType_xboxWireless E_IETFInterfaces_InterfaceType = 286 -) - -// E_IfAggregate_AggregationType is a derived int64 type which is used to represent -// the enumerated node IfAggregate_AggregationType. An additional value named -// IfAggregate_AggregationType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfAggregate_AggregationType int64 - -// IsYANGGoEnum ensures that IfAggregate_AggregationType implements the yang.GoEnum -// interface. This ensures that IfAggregate_AggregationType can be identified as a -// mapped type for a YANG enumeration. -func (E_IfAggregate_AggregationType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfAggregate_AggregationType. -func (E_IfAggregate_AggregationType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfAggregate_AggregationType. -func (e E_IfAggregate_AggregationType) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfAggregate_AggregationType") -} - -const ( - // IfAggregate_AggregationType_UNSET corresponds to the value UNSET of IfAggregate_AggregationType - IfAggregate_AggregationType_UNSET E_IfAggregate_AggregationType = 0 - // IfAggregate_AggregationType_LACP corresponds to the value LACP of IfAggregate_AggregationType - IfAggregate_AggregationType_LACP E_IfAggregate_AggregationType = 1 - // IfAggregate_AggregationType_STATIC corresponds to the value STATIC of IfAggregate_AggregationType - IfAggregate_AggregationType_STATIC E_IfAggregate_AggregationType = 2 -) - -// E_IfEthernet_ETHERNET_SPEED is a derived int64 type which is used to represent -// the enumerated node IfEthernet_ETHERNET_SPEED. An additional value named -// IfEthernet_ETHERNET_SPEED_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfEthernet_ETHERNET_SPEED int64 - -// IsYANGGoEnum ensures that IfEthernet_ETHERNET_SPEED implements the yang.GoEnum -// interface. This ensures that IfEthernet_ETHERNET_SPEED can be identified as a -// mapped type for a YANG enumeration. -func (E_IfEthernet_ETHERNET_SPEED) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfEthernet_ETHERNET_SPEED. -func (E_IfEthernet_ETHERNET_SPEED) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfEthernet_ETHERNET_SPEED. -func (e E_IfEthernet_ETHERNET_SPEED) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfEthernet_ETHERNET_SPEED") -} - -const ( - // IfEthernet_ETHERNET_SPEED_UNSET corresponds to the value UNSET of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_UNSET E_IfEthernet_ETHERNET_SPEED = 0 - // IfEthernet_ETHERNET_SPEED_SPEED_100GB corresponds to the value SPEED_100GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_100GB E_IfEthernet_ETHERNET_SPEED = 1 - // IfEthernet_ETHERNET_SPEED_SPEED_100MB corresponds to the value SPEED_100MB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_100MB E_IfEthernet_ETHERNET_SPEED = 2 - // IfEthernet_ETHERNET_SPEED_SPEED_10GB corresponds to the value SPEED_10GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_10GB E_IfEthernet_ETHERNET_SPEED = 3 - // IfEthernet_ETHERNET_SPEED_SPEED_10MB corresponds to the value SPEED_10MB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_10MB E_IfEthernet_ETHERNET_SPEED = 4 - // IfEthernet_ETHERNET_SPEED_SPEED_1GB corresponds to the value SPEED_1GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_1GB E_IfEthernet_ETHERNET_SPEED = 5 - // IfEthernet_ETHERNET_SPEED_SPEED_200GB corresponds to the value SPEED_200GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_200GB E_IfEthernet_ETHERNET_SPEED = 6 - // IfEthernet_ETHERNET_SPEED_SPEED_2500MB corresponds to the value SPEED_2500MB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_2500MB E_IfEthernet_ETHERNET_SPEED = 7 - // IfEthernet_ETHERNET_SPEED_SPEED_25GB corresponds to the value SPEED_25GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_25GB E_IfEthernet_ETHERNET_SPEED = 8 - // IfEthernet_ETHERNET_SPEED_SPEED_400GB corresponds to the value SPEED_400GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_400GB E_IfEthernet_ETHERNET_SPEED = 9 - // IfEthernet_ETHERNET_SPEED_SPEED_40GB corresponds to the value SPEED_40GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_40GB E_IfEthernet_ETHERNET_SPEED = 10 - // IfEthernet_ETHERNET_SPEED_SPEED_50GB corresponds to the value SPEED_50GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_50GB E_IfEthernet_ETHERNET_SPEED = 11 - // IfEthernet_ETHERNET_SPEED_SPEED_5GB corresponds to the value SPEED_5GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_5GB E_IfEthernet_ETHERNET_SPEED = 12 - // IfEthernet_ETHERNET_SPEED_SPEED_600GB corresponds to the value SPEED_600GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_600GB E_IfEthernet_ETHERNET_SPEED = 13 - // IfEthernet_ETHERNET_SPEED_SPEED_800GB corresponds to the value SPEED_800GB of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_800GB E_IfEthernet_ETHERNET_SPEED = 14 - // IfEthernet_ETHERNET_SPEED_SPEED_UNKNOWN corresponds to the value SPEED_UNKNOWN of IfEthernet_ETHERNET_SPEED - IfEthernet_ETHERNET_SPEED_SPEED_UNKNOWN E_IfEthernet_ETHERNET_SPEED = 15 -) - -// E_IfEthernet_INTERFACE_FEC is a derived int64 type which is used to represent -// the enumerated node IfEthernet_INTERFACE_FEC. An additional value named -// IfEthernet_INTERFACE_FEC_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfEthernet_INTERFACE_FEC int64 - -// IsYANGGoEnum ensures that IfEthernet_INTERFACE_FEC implements the yang.GoEnum -// interface. This ensures that IfEthernet_INTERFACE_FEC can be identified as a -// mapped type for a YANG enumeration. -func (E_IfEthernet_INTERFACE_FEC) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfEthernet_INTERFACE_FEC. -func (E_IfEthernet_INTERFACE_FEC) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfEthernet_INTERFACE_FEC. -func (e E_IfEthernet_INTERFACE_FEC) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfEthernet_INTERFACE_FEC") -} - -const ( - // IfEthernet_INTERFACE_FEC_UNSET corresponds to the value UNSET of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_UNSET E_IfEthernet_INTERFACE_FEC = 0 - // IfEthernet_INTERFACE_FEC_FEC_DISABLED corresponds to the value FEC_DISABLED of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_FEC_DISABLED E_IfEthernet_INTERFACE_FEC = 1 - // IfEthernet_INTERFACE_FEC_FEC_FC corresponds to the value FEC_FC of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_FEC_FC E_IfEthernet_INTERFACE_FEC = 2 - // IfEthernet_INTERFACE_FEC_FEC_RS528 corresponds to the value FEC_RS528 of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_FEC_RS528 E_IfEthernet_INTERFACE_FEC = 3 - // IfEthernet_INTERFACE_FEC_FEC_RS544 corresponds to the value FEC_RS544 of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_FEC_RS544 E_IfEthernet_INTERFACE_FEC = 4 - // IfEthernet_INTERFACE_FEC_FEC_RS544_2X_INTERLEAVE corresponds to the value FEC_RS544_2X_INTERLEAVE of IfEthernet_INTERFACE_FEC - IfEthernet_INTERFACE_FEC_FEC_RS544_2X_INTERLEAVE E_IfEthernet_INTERFACE_FEC = 5 -) - -// E_IfIp_IpAddressOrigin is a derived int64 type which is used to represent -// the enumerated node IfIp_IpAddressOrigin. An additional value named -// IfIp_IpAddressOrigin_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfIp_IpAddressOrigin int64 - -// IsYANGGoEnum ensures that IfIp_IpAddressOrigin implements the yang.GoEnum -// interface. This ensures that IfIp_IpAddressOrigin can be identified as a -// mapped type for a YANG enumeration. -func (E_IfIp_IpAddressOrigin) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfIp_IpAddressOrigin. -func (E_IfIp_IpAddressOrigin) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfIp_IpAddressOrigin. -func (e E_IfIp_IpAddressOrigin) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfIp_IpAddressOrigin") -} - -const ( - // IfIp_IpAddressOrigin_UNSET corresponds to the value UNSET of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_UNSET E_IfIp_IpAddressOrigin = 0 - // IfIp_IpAddressOrigin_OTHER corresponds to the value OTHER of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_OTHER E_IfIp_IpAddressOrigin = 1 - // IfIp_IpAddressOrigin_STATIC corresponds to the value STATIC of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_STATIC E_IfIp_IpAddressOrigin = 2 - // IfIp_IpAddressOrigin_DHCP corresponds to the value DHCP of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_DHCP E_IfIp_IpAddressOrigin = 3 - // IfIp_IpAddressOrigin_LINK_LAYER corresponds to the value LINK_LAYER of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_LINK_LAYER E_IfIp_IpAddressOrigin = 4 - // IfIp_IpAddressOrigin_RANDOM corresponds to the value RANDOM of IfIp_IpAddressOrigin - IfIp_IpAddressOrigin_RANDOM E_IfIp_IpAddressOrigin = 5 -) - -// E_IfIp_Ipv4AddressType is a derived int64 type which is used to represent -// the enumerated node IfIp_Ipv4AddressType. An additional value named -// IfIp_Ipv4AddressType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfIp_Ipv4AddressType int64 - -// IsYANGGoEnum ensures that IfIp_Ipv4AddressType implements the yang.GoEnum -// interface. This ensures that IfIp_Ipv4AddressType can be identified as a -// mapped type for a YANG enumeration. -func (E_IfIp_Ipv4AddressType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfIp_Ipv4AddressType. -func (E_IfIp_Ipv4AddressType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfIp_Ipv4AddressType. -func (e E_IfIp_Ipv4AddressType) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfIp_Ipv4AddressType") -} - -const ( - // IfIp_Ipv4AddressType_UNSET corresponds to the value UNSET of IfIp_Ipv4AddressType - IfIp_Ipv4AddressType_UNSET E_IfIp_Ipv4AddressType = 0 - // IfIp_Ipv4AddressType_PRIMARY corresponds to the value PRIMARY of IfIp_Ipv4AddressType - IfIp_Ipv4AddressType_PRIMARY E_IfIp_Ipv4AddressType = 1 - // IfIp_Ipv4AddressType_SECONDARY corresponds to the value SECONDARY of IfIp_Ipv4AddressType - IfIp_Ipv4AddressType_SECONDARY E_IfIp_Ipv4AddressType = 2 -) - -// E_IfIp_NeighborOrigin is a derived int64 type which is used to represent -// the enumerated node IfIp_NeighborOrigin. An additional value named -// IfIp_NeighborOrigin_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_IfIp_NeighborOrigin int64 - -// IsYANGGoEnum ensures that IfIp_NeighborOrigin implements the yang.GoEnum -// interface. This ensures that IfIp_NeighborOrigin can be identified as a -// mapped type for a YANG enumeration. -func (E_IfIp_NeighborOrigin) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with IfIp_NeighborOrigin. -func (E_IfIp_NeighborOrigin) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_IfIp_NeighborOrigin. -func (e E_IfIp_NeighborOrigin) String() string { - return ygot.EnumLogString(e, int64(e), "E_IfIp_NeighborOrigin") -} - -const ( - // IfIp_NeighborOrigin_UNSET corresponds to the value UNSET of IfIp_NeighborOrigin - IfIp_NeighborOrigin_UNSET E_IfIp_NeighborOrigin = 0 - // IfIp_NeighborOrigin_OTHER corresponds to the value OTHER of IfIp_NeighborOrigin - IfIp_NeighborOrigin_OTHER E_IfIp_NeighborOrigin = 1 - // IfIp_NeighborOrigin_STATIC corresponds to the value STATIC of IfIp_NeighborOrigin - IfIp_NeighborOrigin_STATIC E_IfIp_NeighborOrigin = 2 - // IfIp_NeighborOrigin_DYNAMIC corresponds to the value DYNAMIC of IfIp_NeighborOrigin - IfIp_NeighborOrigin_DYNAMIC E_IfIp_NeighborOrigin = 3 -) - -// E_InetTypes_Ipv6AddressType is a derived int64 type which is used to represent -// the enumerated node InetTypes_Ipv6AddressType. An additional value named -// InetTypes_Ipv6AddressType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_InetTypes_Ipv6AddressType int64 - -// IsYANGGoEnum ensures that InetTypes_Ipv6AddressType implements the yang.GoEnum -// interface. This ensures that InetTypes_Ipv6AddressType can be identified as a -// mapped type for a YANG enumeration. -func (E_InetTypes_Ipv6AddressType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with InetTypes_Ipv6AddressType. -func (E_InetTypes_Ipv6AddressType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_InetTypes_Ipv6AddressType. -func (e E_InetTypes_Ipv6AddressType) String() string { - return ygot.EnumLogString(e, int64(e), "E_InetTypes_Ipv6AddressType") -} - -const ( - // InetTypes_Ipv6AddressType_UNSET corresponds to the value UNSET of InetTypes_Ipv6AddressType - InetTypes_Ipv6AddressType_UNSET E_InetTypes_Ipv6AddressType = 0 - // InetTypes_Ipv6AddressType_GLOBAL_UNICAST corresponds to the value GLOBAL_UNICAST of InetTypes_Ipv6AddressType - InetTypes_Ipv6AddressType_GLOBAL_UNICAST E_InetTypes_Ipv6AddressType = 1 - // InetTypes_Ipv6AddressType_LINK_LOCAL_UNICAST corresponds to the value LINK_LOCAL_UNICAST of InetTypes_Ipv6AddressType - InetTypes_Ipv6AddressType_LINK_LOCAL_UNICAST E_InetTypes_Ipv6AddressType = 2 -) - -// E_Interface_AdminStatus is a derived int64 type which is used to represent -// the enumerated node Interface_AdminStatus. An additional value named -// Interface_AdminStatus_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Interface_AdminStatus int64 - -// IsYANGGoEnum ensures that Interface_AdminStatus implements the yang.GoEnum -// interface. This ensures that Interface_AdminStatus can be identified as a -// mapped type for a YANG enumeration. -func (E_Interface_AdminStatus) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Interface_AdminStatus. -func (E_Interface_AdminStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Interface_AdminStatus. -func (e E_Interface_AdminStatus) String() string { - return ygot.EnumLogString(e, int64(e), "E_Interface_AdminStatus") -} - -const ( - // Interface_AdminStatus_UNSET corresponds to the value UNSET of Interface_AdminStatus - Interface_AdminStatus_UNSET E_Interface_AdminStatus = 0 - // Interface_AdminStatus_UP corresponds to the value UP of Interface_AdminStatus - Interface_AdminStatus_UP E_Interface_AdminStatus = 1 - // Interface_AdminStatus_DOWN corresponds to the value DOWN of Interface_AdminStatus - Interface_AdminStatus_DOWN E_Interface_AdminStatus = 2 - // Interface_AdminStatus_TESTING corresponds to the value TESTING of Interface_AdminStatus - Interface_AdminStatus_TESTING E_Interface_AdminStatus = 3 -) - -// E_Interface_OperStatus is a derived int64 type which is used to represent -// the enumerated node Interface_OperStatus. An additional value named -// Interface_OperStatus_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Interface_OperStatus int64 - -// IsYANGGoEnum ensures that Interface_OperStatus implements the yang.GoEnum -// interface. This ensures that Interface_OperStatus can be identified as a -// mapped type for a YANG enumeration. -func (E_Interface_OperStatus) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Interface_OperStatus. -func (E_Interface_OperStatus) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Interface_OperStatus. -func (e E_Interface_OperStatus) String() string { - return ygot.EnumLogString(e, int64(e), "E_Interface_OperStatus") -} - -const ( - // Interface_OperStatus_UNSET corresponds to the value UNSET of Interface_OperStatus - Interface_OperStatus_UNSET E_Interface_OperStatus = 0 - // Interface_OperStatus_UP corresponds to the value UP of Interface_OperStatus - Interface_OperStatus_UP E_Interface_OperStatus = 2 - // Interface_OperStatus_DOWN corresponds to the value DOWN of Interface_OperStatus - Interface_OperStatus_DOWN E_Interface_OperStatus = 3 - // Interface_OperStatus_TESTING corresponds to the value TESTING of Interface_OperStatus - Interface_OperStatus_TESTING E_Interface_OperStatus = 4 - // Interface_OperStatus_UNKNOWN corresponds to the value UNKNOWN of Interface_OperStatus - Interface_OperStatus_UNKNOWN E_Interface_OperStatus = 5 - // Interface_OperStatus_DORMANT corresponds to the value DORMANT of Interface_OperStatus - Interface_OperStatus_DORMANT E_Interface_OperStatus = 6 - // Interface_OperStatus_NOT_PRESENT corresponds to the value NOT_PRESENT of Interface_OperStatus - Interface_OperStatus_NOT_PRESENT E_Interface_OperStatus = 7 - // Interface_OperStatus_LOWER_LAYER_DOWN corresponds to the value LOWER_LAYER_DOWN of Interface_OperStatus - Interface_OperStatus_LOWER_LAYER_DOWN E_Interface_OperStatus = 8 -) - -// E_Ipv6_LearnUnsolicited is a derived int64 type which is used to represent -// the enumerated node Ipv6_LearnUnsolicited. An additional value named -// Ipv6_LearnUnsolicited_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Ipv6_LearnUnsolicited int64 - -// IsYANGGoEnum ensures that Ipv6_LearnUnsolicited implements the yang.GoEnum -// interface. This ensures that Ipv6_LearnUnsolicited can be identified as a -// mapped type for a YANG enumeration. -func (E_Ipv6_LearnUnsolicited) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Ipv6_LearnUnsolicited. -func (E_Ipv6_LearnUnsolicited) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Ipv6_LearnUnsolicited. -func (e E_Ipv6_LearnUnsolicited) String() string { - return ygot.EnumLogString(e, int64(e), "E_Ipv6_LearnUnsolicited") -} - -const ( - // Ipv6_LearnUnsolicited_UNSET corresponds to the value UNSET of Ipv6_LearnUnsolicited - Ipv6_LearnUnsolicited_UNSET E_Ipv6_LearnUnsolicited = 0 - // Ipv6_LearnUnsolicited_NONE corresponds to the value NONE of Ipv6_LearnUnsolicited - Ipv6_LearnUnsolicited_NONE E_Ipv6_LearnUnsolicited = 1 - // Ipv6_LearnUnsolicited_GLOBAL corresponds to the value GLOBAL of Ipv6_LearnUnsolicited - Ipv6_LearnUnsolicited_GLOBAL E_Ipv6_LearnUnsolicited = 2 - // Ipv6_LearnUnsolicited_LINK_LOCAL corresponds to the value LINK_LOCAL of Ipv6_LearnUnsolicited - Ipv6_LearnUnsolicited_LINK_LOCAL E_Ipv6_LearnUnsolicited = 3 - // Ipv6_LearnUnsolicited_BOTH corresponds to the value BOTH of Ipv6_LearnUnsolicited - Ipv6_LearnUnsolicited_BOTH E_Ipv6_LearnUnsolicited = 4 -) - -// E_Neighbor_NeighborState is a derived int64 type which is used to represent -// the enumerated node Neighbor_NeighborState. An additional value named -// Neighbor_NeighborState_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_Neighbor_NeighborState int64 - -// IsYANGGoEnum ensures that Neighbor_NeighborState implements the yang.GoEnum -// interface. This ensures that Neighbor_NeighborState can be identified as a -// mapped type for a YANG enumeration. -func (E_Neighbor_NeighborState) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with Neighbor_NeighborState. -func (E_Neighbor_NeighborState) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_Neighbor_NeighborState. -func (e E_Neighbor_NeighborState) String() string { - return ygot.EnumLogString(e, int64(e), "E_Neighbor_NeighborState") -} - -const ( - // Neighbor_NeighborState_UNSET corresponds to the value UNSET of Neighbor_NeighborState - Neighbor_NeighborState_UNSET E_Neighbor_NeighborState = 0 - // Neighbor_NeighborState_INCOMPLETE corresponds to the value INCOMPLETE of Neighbor_NeighborState - Neighbor_NeighborState_INCOMPLETE E_Neighbor_NeighborState = 1 - // Neighbor_NeighborState_REACHABLE corresponds to the value REACHABLE of Neighbor_NeighborState - Neighbor_NeighborState_REACHABLE E_Neighbor_NeighborState = 2 - // Neighbor_NeighborState_STALE corresponds to the value STALE of Neighbor_NeighborState - Neighbor_NeighborState_STALE E_Neighbor_NeighborState = 3 - // Neighbor_NeighborState_DELAY corresponds to the value DELAY of Neighbor_NeighborState - Neighbor_NeighborState_DELAY E_Neighbor_NeighborState = 4 - // Neighbor_NeighborState_PROBE corresponds to the value PROBE of Neighbor_NeighborState - Neighbor_NeighborState_PROBE E_Neighbor_NeighborState = 5 -) - -// E_ProxyArp_Mode is a derived int64 type which is used to represent -// the enumerated node ProxyArp_Mode. An additional value named -// ProxyArp_Mode_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_ProxyArp_Mode int64 - -// IsYANGGoEnum ensures that ProxyArp_Mode implements the yang.GoEnum -// interface. This ensures that ProxyArp_Mode can be identified as a -// mapped type for a YANG enumeration. -func (E_ProxyArp_Mode) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with ProxyArp_Mode. -func (E_ProxyArp_Mode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_ProxyArp_Mode. -func (e E_ProxyArp_Mode) String() string { - return ygot.EnumLogString(e, int64(e), "E_ProxyArp_Mode") -} - -const ( - // ProxyArp_Mode_UNSET corresponds to the value UNSET of ProxyArp_Mode - ProxyArp_Mode_UNSET E_ProxyArp_Mode = 0 - // ProxyArp_Mode_DISABLE corresponds to the value DISABLE of ProxyArp_Mode - ProxyArp_Mode_DISABLE E_ProxyArp_Mode = 1 - // ProxyArp_Mode_REMOTE_ONLY corresponds to the value REMOTE_ONLY of ProxyArp_Mode - ProxyArp_Mode_REMOTE_ONLY E_ProxyArp_Mode = 2 - // ProxyArp_Mode_ALL corresponds to the value ALL of ProxyArp_Mode - ProxyArp_Mode_ALL E_ProxyArp_Mode = 3 -) - -// E_RouterAdvertisement_Mode is a derived int64 type which is used to represent -// the enumerated node RouterAdvertisement_Mode. An additional value named -// RouterAdvertisement_Mode_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_RouterAdvertisement_Mode int64 - -// IsYANGGoEnum ensures that RouterAdvertisement_Mode implements the yang.GoEnum -// interface. This ensures that RouterAdvertisement_Mode can be identified as a -// mapped type for a YANG enumeration. -func (E_RouterAdvertisement_Mode) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with RouterAdvertisement_Mode. -func (E_RouterAdvertisement_Mode) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_RouterAdvertisement_Mode. -func (e E_RouterAdvertisement_Mode) String() string { - return ygot.EnumLogString(e, int64(e), "E_RouterAdvertisement_Mode") -} - -const ( - // RouterAdvertisement_Mode_UNSET corresponds to the value UNSET of RouterAdvertisement_Mode - RouterAdvertisement_Mode_UNSET E_RouterAdvertisement_Mode = 0 - // RouterAdvertisement_Mode_ALL corresponds to the value ALL of RouterAdvertisement_Mode - RouterAdvertisement_Mode_ALL E_RouterAdvertisement_Mode = 1 - // RouterAdvertisement_Mode_DISABLE_UNSOLICITED_RA corresponds to the value DISABLE_UNSOLICITED_RA of RouterAdvertisement_Mode - RouterAdvertisement_Mode_DISABLE_UNSOLICITED_RA E_RouterAdvertisement_Mode = 2 -) - -// E_TransportTypes_LoopbackModeType is a derived int64 type which is used to represent -// the enumerated node TransportTypes_LoopbackModeType. An additional value named -// TransportTypes_LoopbackModeType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_TransportTypes_LoopbackModeType int64 - -// IsYANGGoEnum ensures that TransportTypes_LoopbackModeType implements the yang.GoEnum -// interface. This ensures that TransportTypes_LoopbackModeType can be identified as a -// mapped type for a YANG enumeration. -func (E_TransportTypes_LoopbackModeType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with TransportTypes_LoopbackModeType. -func (E_TransportTypes_LoopbackModeType) ΛMap() map[string]map[int64]ygot.EnumDefinition { - return ΛEnum -} - -// String returns a logging-friendly string for E_TransportTypes_LoopbackModeType. -func (e E_TransportTypes_LoopbackModeType) String() string { - return ygot.EnumLogString(e, int64(e), "E_TransportTypes_LoopbackModeType") -} - -const ( - // TransportTypes_LoopbackModeType_UNSET corresponds to the value UNSET of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_UNSET E_TransportTypes_LoopbackModeType = 0 - // TransportTypes_LoopbackModeType_NONE corresponds to the value NONE of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_NONE E_TransportTypes_LoopbackModeType = 1 - // TransportTypes_LoopbackModeType_FACILITY corresponds to the value FACILITY of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_FACILITY E_TransportTypes_LoopbackModeType = 2 - // TransportTypes_LoopbackModeType_TERMINAL corresponds to the value TERMINAL of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_TERMINAL E_TransportTypes_LoopbackModeType = 3 - // TransportTypes_LoopbackModeType_ASIC_PHY_LOCAL corresponds to the value ASIC_PHY_LOCAL of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_ASIC_PHY_LOCAL E_TransportTypes_LoopbackModeType = 4 - // TransportTypes_LoopbackModeType_ASIC_PHY_REMOTE corresponds to the value ASIC_PHY_REMOTE of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_ASIC_PHY_REMOTE E_TransportTypes_LoopbackModeType = 5 - // TransportTypes_LoopbackModeType_ASIC_MAC_LOCAL corresponds to the value ASIC_MAC_LOCAL of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_ASIC_MAC_LOCAL E_TransportTypes_LoopbackModeType = 6 - // TransportTypes_LoopbackModeType_ASIC_MAC_REMOTE corresponds to the value ASIC_MAC_REMOTE of TransportTypes_LoopbackModeType - TransportTypes_LoopbackModeType_ASIC_MAC_REMOTE E_TransportTypes_LoopbackModeType = 7 -) - -// E_VlanTypes_TPID_TYPES is a derived int64 type which is used to represent -// the enumerated node VlanTypes_TPID_TYPES. An additional value named -// VlanTypes_TPID_TYPES_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_VlanTypes_TPID_TYPES int64 - -// IsYANGGoEnum ensures that VlanTypes_TPID_TYPES implements the yang.GoEnum -// interface. This ensures that VlanTypes_TPID_TYPES can be identified as a -// mapped type for a YANG enumeration. -func (E_VlanTypes_TPID_TYPES) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with VlanTypes_TPID_TYPES. -func (E_VlanTypes_TPID_TYPES) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_VlanTypes_TPID_TYPES. -func (e E_VlanTypes_TPID_TYPES) String() string { - return ygot.EnumLogString(e, int64(e), "E_VlanTypes_TPID_TYPES") -} - -const ( - // VlanTypes_TPID_TYPES_UNSET corresponds to the value UNSET of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_UNSET E_VlanTypes_TPID_TYPES = 0 - // VlanTypes_TPID_TYPES_TPID_0X8100 corresponds to the value TPID_0X8100 of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_TPID_0X8100 E_VlanTypes_TPID_TYPES = 1 - // VlanTypes_TPID_TYPES_TPID_0X88A8 corresponds to the value TPID_0X88A8 of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_TPID_0X88A8 E_VlanTypes_TPID_TYPES = 2 - // VlanTypes_TPID_TYPES_TPID_0X9100 corresponds to the value TPID_0X9100 of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_TPID_0X9100 E_VlanTypes_TPID_TYPES = 3 - // VlanTypes_TPID_TYPES_TPID_0X9200 corresponds to the value TPID_0X9200 of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_TPID_0X9200 E_VlanTypes_TPID_TYPES = 4 - // VlanTypes_TPID_TYPES_TPID_ANY corresponds to the value TPID_ANY of VlanTypes_TPID_TYPES - VlanTypes_TPID_TYPES_TPID_ANY E_VlanTypes_TPID_TYPES = 5 -) - -// E_VlanTypes_VlanModeType is a derived int64 type which is used to represent -// the enumerated node VlanTypes_VlanModeType. An additional value named -// VlanTypes_VlanModeType_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_VlanTypes_VlanModeType int64 - -// IsYANGGoEnum ensures that VlanTypes_VlanModeType implements the yang.GoEnum -// interface. This ensures that VlanTypes_VlanModeType can be identified as a -// mapped type for a YANG enumeration. -func (E_VlanTypes_VlanModeType) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with VlanTypes_VlanModeType. -func (E_VlanTypes_VlanModeType) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_VlanTypes_VlanModeType. -func (e E_VlanTypes_VlanModeType) String() string { - return ygot.EnumLogString(e, int64(e), "E_VlanTypes_VlanModeType") -} - -const ( - // VlanTypes_VlanModeType_UNSET corresponds to the value UNSET of VlanTypes_VlanModeType - VlanTypes_VlanModeType_UNSET E_VlanTypes_VlanModeType = 0 - // VlanTypes_VlanModeType_ACCESS corresponds to the value ACCESS of VlanTypes_VlanModeType - VlanTypes_VlanModeType_ACCESS E_VlanTypes_VlanModeType = 1 - // VlanTypes_VlanModeType_TRUNK corresponds to the value TRUNK of VlanTypes_VlanModeType - VlanTypes_VlanModeType_TRUNK E_VlanTypes_VlanModeType = 2 -) - -// E_VlanTypes_VlanStackAction is a derived int64 type which is used to represent -// the enumerated node VlanTypes_VlanStackAction. An additional value named -// VlanTypes_VlanStackAction_UNSET is added to the enumeration which is used as -// the nil value, indicating that the enumeration was not explicitly set by -// the program importing the generated structures. -type E_VlanTypes_VlanStackAction int64 - -// IsYANGGoEnum ensures that VlanTypes_VlanStackAction implements the yang.GoEnum -// interface. This ensures that VlanTypes_VlanStackAction can be identified as a -// mapped type for a YANG enumeration. -func (E_VlanTypes_VlanStackAction) IsYANGGoEnum() {} - -// ΛMap returns the value lookup map associated with VlanTypes_VlanStackAction. -func (E_VlanTypes_VlanStackAction) ΛMap() map[string]map[int64]ygot.EnumDefinition { return ΛEnum } - -// String returns a logging-friendly string for E_VlanTypes_VlanStackAction. -func (e E_VlanTypes_VlanStackAction) String() string { - return ygot.EnumLogString(e, int64(e), "E_VlanTypes_VlanStackAction") -} - -const ( - // VlanTypes_VlanStackAction_UNSET corresponds to the value UNSET of VlanTypes_VlanStackAction - VlanTypes_VlanStackAction_UNSET E_VlanTypes_VlanStackAction = 0 - // VlanTypes_VlanStackAction_PUSH corresponds to the value PUSH of VlanTypes_VlanStackAction - VlanTypes_VlanStackAction_PUSH E_VlanTypes_VlanStackAction = 1 - // VlanTypes_VlanStackAction_POP corresponds to the value POP of VlanTypes_VlanStackAction - VlanTypes_VlanStackAction_POP E_VlanTypes_VlanStackAction = 2 - // VlanTypes_VlanStackAction_SWAP corresponds to the value SWAP of VlanTypes_VlanStackAction - VlanTypes_VlanStackAction_SWAP E_VlanTypes_VlanStackAction = 3 -) diff --git a/internal/provider/openconfig/enum_map.go b/internal/provider/openconfig/enum_map.go deleted file mode 100644 index c383b267a..000000000 --- a/internal/provider/openconfig/enum_map.go +++ /dev/null @@ -1,699 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which represent a YANG schema. The generated schema can be -compressed by a series of transformations (compression was true -in this case). - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -import ( - "reflect" - - "github.com/openconfig/ygot/ygot" -) - -// ΛEnum is a map, keyed by the name of the type defined for each enum in the -// generated Go code, which provides a mapping between the constant int64 value -// of each value of the enumeration, and the string that is used to represent it -// in the YANG schema. The map is named ΛEnum in order to avoid clash with any -// valid YANG identifier. -var ΛEnum = map[string]map[int64]ygot.EnumDefinition{ - "E_Address_Status": { - 1: {Name: "PREFERRED"}, - 2: {Name: "DEPRECATED"}, - 3: {Name: "INVALID"}, - 4: {Name: "INACCESSIBLE"}, - 5: {Name: "UNKNOWN"}, - 6: {Name: "TENTATIVE"}, - 7: {Name: "DUPLICATE"}, - 8: {Name: "OPTIMISTIC"}, - }, - "E_Ethernet_DuplexMode": { - 1: {Name: "FULL"}, - 2: {Name: "HALF"}, - }, - "E_Ethernet_NegotiatedDuplexMode": { - 1: {Name: "FULL"}, - 2: {Name: "HALF"}, - }, - "E_IETFInterfaces_InterfaceType": { - 1: {Name: "a12MppSwitch", DefiningModule: "iana-if-type"}, - 2: {Name: "aal2", DefiningModule: "iana-if-type"}, - 3: {Name: "aal5", DefiningModule: "iana-if-type"}, - 4: {Name: "actelisMetaLOOP", DefiningModule: "iana-if-type"}, - 5: {Name: "adsl", DefiningModule: "iana-if-type"}, - 6: {Name: "adsl2", DefiningModule: "iana-if-type"}, - 7: {Name: "adsl2plus", DefiningModule: "iana-if-type"}, - 8: {Name: "aflane8023", DefiningModule: "iana-if-type"}, - 9: {Name: "aflane8025", DefiningModule: "iana-if-type"}, - 10: {Name: "aluELP", DefiningModule: "iana-if-type"}, - 11: {Name: "aluEpon", DefiningModule: "iana-if-type"}, - 12: {Name: "aluEponLogicalLink", DefiningModule: "iana-if-type"}, - 13: {Name: "aluEponOnu", DefiningModule: "iana-if-type"}, - 14: {Name: "aluEponPhysicalUni", DefiningModule: "iana-if-type"}, - 15: {Name: "aluGponOnu", DefiningModule: "iana-if-type"}, - 16: {Name: "aluGponPhysicalUni", DefiningModule: "iana-if-type"}, - 17: {Name: "arap", DefiningModule: "iana-if-type"}, - 18: {Name: "arcnet", DefiningModule: "iana-if-type"}, - 19: {Name: "arcnetPlus", DefiningModule: "iana-if-type"}, - 20: {Name: "async", DefiningModule: "iana-if-type"}, - 21: {Name: "atm", DefiningModule: "iana-if-type"}, - 22: {Name: "atmDxi", DefiningModule: "iana-if-type"}, - 23: {Name: "atmFuni", DefiningModule: "iana-if-type"}, - 24: {Name: "atmIma", DefiningModule: "iana-if-type"}, - 25: {Name: "atmLogical", DefiningModule: "iana-if-type"}, - 26: {Name: "atmRadio", DefiningModule: "iana-if-type"}, - 27: {Name: "atmSubInterface", DefiningModule: "iana-if-type"}, - 28: {Name: "atmVciEndPt", DefiningModule: "iana-if-type"}, - 29: {Name: "atmVirtual", DefiningModule: "iana-if-type"}, - 30: {Name: "atmbond", DefiningModule: "iana-if-type"}, - 31: {Name: "aviciOpticalEther", DefiningModule: "iana-if-type"}, - 32: {Name: "basicISDN", DefiningModule: "iana-if-type"}, - 33: {Name: "bgppolicyaccounting", DefiningModule: "iana-if-type"}, - 34: {Name: "bits", DefiningModule: "iana-if-type"}, - 35: {Name: "bridge", DefiningModule: "iana-if-type"}, - 36: {Name: "bsc", DefiningModule: "iana-if-type"}, - 37: {Name: "cableDownstreamRfPort", DefiningModule: "iana-if-type"}, - 38: {Name: "capwapDot11Bss", DefiningModule: "iana-if-type"}, - 39: {Name: "capwapDot11Profile", DefiningModule: "iana-if-type"}, - 40: {Name: "capwapWtpVirtualRadio", DefiningModule: "iana-if-type"}, - 41: {Name: "cblVectaStar", DefiningModule: "iana-if-type"}, - 42: {Name: "cctEmul", DefiningModule: "iana-if-type"}, - 43: {Name: "ces", DefiningModule: "iana-if-type"}, - 44: {Name: "channel", DefiningModule: "iana-if-type"}, - 45: {Name: "ciscoISLvlan", DefiningModule: "iana-if-type"}, - 46: {Name: "cnr", DefiningModule: "iana-if-type"}, - 47: {Name: "coffee", DefiningModule: "iana-if-type"}, - 48: {Name: "compositeLink", DefiningModule: "iana-if-type"}, - 49: {Name: "dcn", DefiningModule: "iana-if-type"}, - 50: {Name: "ddnX25", DefiningModule: "iana-if-type"}, - 51: {Name: "digitalPowerline", DefiningModule: "iana-if-type"}, - 52: {Name: "digitalWrapperOverheadChannel", DefiningModule: "iana-if-type"}, - 53: {Name: "dlsw", DefiningModule: "iana-if-type"}, - 54: {Name: "docsCableDownstream", DefiningModule: "iana-if-type"}, - 55: {Name: "docsCableMCmtsDownstream", DefiningModule: "iana-if-type"}, - 56: {Name: "docsCableMaclayer", DefiningModule: "iana-if-type"}, - 57: {Name: "docsCableNdf", DefiningModule: "iana-if-type"}, - 58: {Name: "docsCableNdr", DefiningModule: "iana-if-type"}, - 59: {Name: "docsCableScte55d1FwdOob", DefiningModule: "iana-if-type"}, - 60: {Name: "docsCableScte55d1RetOob", DefiningModule: "iana-if-type"}, - 61: {Name: "docsCableScte55d2DsOob", DefiningModule: "iana-if-type"}, - 62: {Name: "docsCableScte55d2UsOob", DefiningModule: "iana-if-type"}, - 63: {Name: "docsCableUpstream", DefiningModule: "iana-if-type"}, - 64: {Name: "docsCableUpstreamChannel", DefiningModule: "iana-if-type"}, - 65: {Name: "docsCableUpstreamRfPort", DefiningModule: "iana-if-type"}, - 66: {Name: "docsOfdmDownstream", DefiningModule: "iana-if-type"}, - 67: {Name: "docsOfdmaUpstream", DefiningModule: "iana-if-type"}, - 68: {Name: "ds0", DefiningModule: "iana-if-type"}, - 69: {Name: "ds0Bundle", DefiningModule: "iana-if-type"}, - 70: {Name: "ds1", DefiningModule: "iana-if-type"}, - 71: {Name: "ds1FDL", DefiningModule: "iana-if-type"}, - 72: {Name: "ds3", DefiningModule: "iana-if-type"}, - 73: {Name: "dtm", DefiningModule: "iana-if-type"}, - 74: {Name: "dvbAsiIn", DefiningModule: "iana-if-type"}, - 75: {Name: "dvbAsiOut", DefiningModule: "iana-if-type"}, - 76: {Name: "dvbRccDownstream", DefiningModule: "iana-if-type"}, - 77: {Name: "dvbRccMacLayer", DefiningModule: "iana-if-type"}, - 78: {Name: "dvbRccUpstream", DefiningModule: "iana-if-type"}, - 79: {Name: "dvbRcsMacLayer", DefiningModule: "iana-if-type"}, - 80: {Name: "dvbRcsTdma", DefiningModule: "iana-if-type"}, - 81: {Name: "dvbTdm", DefiningModule: "iana-if-type"}, - 82: {Name: "e1", DefiningModule: "iana-if-type"}, - 83: {Name: "econet", DefiningModule: "iana-if-type"}, - 84: {Name: "eon", DefiningModule: "iana-if-type"}, - 85: {Name: "eplrs", DefiningModule: "iana-if-type"}, - 86: {Name: "escon", DefiningModule: "iana-if-type"}, - 87: {Name: "ethernet3Mbit", DefiningModule: "iana-if-type"}, - 88: {Name: "ethernetCsmacd", DefiningModule: "iana-if-type"}, - 89: {Name: "fast", DefiningModule: "iana-if-type"}, - 90: {Name: "fastEther", DefiningModule: "iana-if-type"}, - 91: {Name: "fastEtherFX", DefiningModule: "iana-if-type"}, - 92: {Name: "fastdsl", DefiningModule: "iana-if-type"}, - 93: {Name: "fcipLink", DefiningModule: "iana-if-type"}, - 94: {Name: "fddi", DefiningModule: "iana-if-type"}, - 95: {Name: "fibreChannel", DefiningModule: "iana-if-type"}, - 96: {Name: "frDlciEndPt", DefiningModule: "iana-if-type"}, - 97: {Name: "frForward", DefiningModule: "iana-if-type"}, - 98: {Name: "frameRelay", DefiningModule: "iana-if-type"}, - 99: {Name: "frameRelayInterconnect", DefiningModule: "iana-if-type"}, - 100: {Name: "frameRelayMPI", DefiningModule: "iana-if-type"}, - 101: {Name: "frameRelayService", DefiningModule: "iana-if-type"}, - 102: {Name: "frf16MfrBundle", DefiningModule: "iana-if-type"}, - 103: {Name: "g703at2mb", DefiningModule: "iana-if-type"}, - 104: {Name: "g703at64k", DefiningModule: "iana-if-type"}, - 105: {Name: "g9981", DefiningModule: "iana-if-type"}, - 106: {Name: "g9982", DefiningModule: "iana-if-type"}, - 107: {Name: "g9983", DefiningModule: "iana-if-type"}, - 108: {Name: "gfast", DefiningModule: "iana-if-type"}, - 109: {Name: "gfp", DefiningModule: "iana-if-type"}, - 110: {Name: "gigabitEthernet", DefiningModule: "iana-if-type"}, - 111: {Name: "gpon", DefiningModule: "iana-if-type"}, - 112: {Name: "gr303IDT", DefiningModule: "iana-if-type"}, - 113: {Name: "gr303RDT", DefiningModule: "iana-if-type"}, - 114: {Name: "gtp", DefiningModule: "iana-if-type"}, - 115: {Name: "h323Gatekeeper", DefiningModule: "iana-if-type"}, - 116: {Name: "h323Proxy", DefiningModule: "iana-if-type"}, - 117: {Name: "hdh1822", DefiningModule: "iana-if-type"}, - 118: {Name: "hdlc", DefiningModule: "iana-if-type"}, - 119: {Name: "hdsl2", DefiningModule: "iana-if-type"}, - 120: {Name: "hiperlan2", DefiningModule: "iana-if-type"}, - 121: {Name: "hippi", DefiningModule: "iana-if-type"}, - 122: {Name: "hippiInterface", DefiningModule: "iana-if-type"}, - 123: {Name: "homepna", DefiningModule: "iana-if-type"}, - 124: {Name: "hostPad", DefiningModule: "iana-if-type"}, - 125: {Name: "hssi", DefiningModule: "iana-if-type"}, - 126: {Name: "hyperchannel", DefiningModule: "iana-if-type"}, - 127: {Name: "iana-interface-type", DefiningModule: "iana-if-type"}, - 128: {Name: "ibm370parChan", DefiningModule: "iana-if-type"}, - 129: {Name: "idsl", DefiningModule: "iana-if-type"}, - 130: {Name: "ieee1394", DefiningModule: "iana-if-type"}, - 131: {Name: "ieee80211", DefiningModule: "iana-if-type"}, - 132: {Name: "ieee80212", DefiningModule: "iana-if-type"}, - 133: {Name: "ieee802154", DefiningModule: "iana-if-type"}, - 134: {Name: "ieee80216WMAN", DefiningModule: "iana-if-type"}, - 135: {Name: "ieee8023adLag", DefiningModule: "iana-if-type"}, - 136: {Name: "if-gsn", DefiningModule: "iana-if-type"}, - 137: {Name: "ifPwType", DefiningModule: "iana-if-type"}, - 138: {Name: "ifVfiType", DefiningModule: "iana-if-type"}, - 139: {Name: "ilan", DefiningModule: "iana-if-type"}, - 140: {Name: "imt", DefiningModule: "iana-if-type"}, - 141: {Name: "infiniband", DefiningModule: "iana-if-type"}, - 142: {Name: "interleave", DefiningModule: "iana-if-type"}, - 143: {Name: "ip", DefiningModule: "iana-if-type"}, - 144: {Name: "ipForward", DefiningModule: "iana-if-type"}, - 145: {Name: "ipOverAtm", DefiningModule: "iana-if-type"}, - 146: {Name: "ipOverCdlc", DefiningModule: "iana-if-type"}, - 147: {Name: "ipOverClaw", DefiningModule: "iana-if-type"}, - 148: {Name: "ipSwitch", DefiningModule: "iana-if-type"}, - 149: {Name: "isdn", DefiningModule: "iana-if-type"}, - 150: {Name: "isdns", DefiningModule: "iana-if-type"}, - 151: {Name: "isdnu", DefiningModule: "iana-if-type"}, - 152: {Name: "iso88022llc", DefiningModule: "iana-if-type"}, - 153: {Name: "iso88023Csmacd", DefiningModule: "iana-if-type"}, - 154: {Name: "iso88024TokenBus", DefiningModule: "iana-if-type"}, - 155: {Name: "iso88025CRFPInt", DefiningModule: "iana-if-type"}, - 156: {Name: "iso88025Dtr", DefiningModule: "iana-if-type"}, - 157: {Name: "iso88025Fiber", DefiningModule: "iana-if-type"}, - 158: {Name: "iso88025TokenRing", DefiningModule: "iana-if-type"}, - 159: {Name: "iso88026Man", DefiningModule: "iana-if-type"}, - 160: {Name: "isup", DefiningModule: "iana-if-type"}, - 161: {Name: "l2vlan", DefiningModule: "iana-if-type"}, - 162: {Name: "l3ipvlan", DefiningModule: "iana-if-type"}, - 163: {Name: "l3ipxvlan", DefiningModule: "iana-if-type"}, - 164: {Name: "lapb", DefiningModule: "iana-if-type"}, - 165: {Name: "lapd", DefiningModule: "iana-if-type"}, - 166: {Name: "lapf", DefiningModule: "iana-if-type"}, - 167: {Name: "linegroup", DefiningModule: "iana-if-type"}, - 168: {Name: "lmp", DefiningModule: "iana-if-type"}, - 169: {Name: "localTalk", DefiningModule: "iana-if-type"}, - 170: {Name: "macSecControlledIF", DefiningModule: "iana-if-type"}, - 171: {Name: "macSecUncontrolledIF", DefiningModule: "iana-if-type"}, - 172: {Name: "mediaMailOverIp", DefiningModule: "iana-if-type"}, - 173: {Name: "mfSigLink", DefiningModule: "iana-if-type"}, - 174: {Name: "miox25", DefiningModule: "iana-if-type"}, - 175: {Name: "mocaVersion1", DefiningModule: "iana-if-type"}, - 176: {Name: "modem", DefiningModule: "iana-if-type"}, - 177: {Name: "mpc", DefiningModule: "iana-if-type"}, - 178: {Name: "mpegTransport", DefiningModule: "iana-if-type"}, - 179: {Name: "mpls", DefiningModule: "iana-if-type"}, - 180: {Name: "mplsTunnel", DefiningModule: "iana-if-type"}, - 181: {Name: "msdsl", DefiningModule: "iana-if-type"}, - 182: {Name: "mvl", DefiningModule: "iana-if-type"}, - 183: {Name: "myrinet", DefiningModule: "iana-if-type"}, - 184: {Name: "nfas", DefiningModule: "iana-if-type"}, - 185: {Name: "nsip", DefiningModule: "iana-if-type"}, - 186: {Name: "opticalChannel", DefiningModule: "iana-if-type"}, - 187: {Name: "opticalChannelGroup", DefiningModule: "iana-if-type"}, - 188: {Name: "opticalTransport", DefiningModule: "iana-if-type"}, - 189: {Name: "other", DefiningModule: "iana-if-type"}, - 190: {Name: "otnOdu", DefiningModule: "iana-if-type"}, - 191: {Name: "otnOtu", DefiningModule: "iana-if-type"}, - 192: {Name: "para", DefiningModule: "iana-if-type"}, - 193: {Name: "pdnEtherLoop1", DefiningModule: "iana-if-type"}, - 194: {Name: "pdnEtherLoop2", DefiningModule: "iana-if-type"}, - 195: {Name: "pip", DefiningModule: "iana-if-type"}, - 196: {Name: "plc", DefiningModule: "iana-if-type"}, - 197: {Name: "pon155", DefiningModule: "iana-if-type"}, - 198: {Name: "pon622", DefiningModule: "iana-if-type"}, - 199: {Name: "pos", DefiningModule: "iana-if-type"}, - 200: {Name: "ppp", DefiningModule: "iana-if-type"}, - 201: {Name: "pppMultilinkBundle", DefiningModule: "iana-if-type"}, - 202: {Name: "primaryISDN", DefiningModule: "iana-if-type"}, - 203: {Name: "propAtm", DefiningModule: "iana-if-type"}, - 204: {Name: "propBWAp2Mp", DefiningModule: "iana-if-type"}, - 205: {Name: "propCnls", DefiningModule: "iana-if-type"}, - 206: {Name: "propDocsWirelessDownstream", DefiningModule: "iana-if-type"}, - 207: {Name: "propDocsWirelessMaclayer", DefiningModule: "iana-if-type"}, - 208: {Name: "propDocsWirelessUpstream", DefiningModule: "iana-if-type"}, - 209: {Name: "propMultiplexor", DefiningModule: "iana-if-type"}, - 210: {Name: "propPointToPointSerial", DefiningModule: "iana-if-type"}, - 211: {Name: "propVirtual", DefiningModule: "iana-if-type"}, - 212: {Name: "propWirelessP2P", DefiningModule: "iana-if-type"}, - 213: {Name: "proteon10Mbit", DefiningModule: "iana-if-type"}, - 214: {Name: "proteon80Mbit", DefiningModule: "iana-if-type"}, - 215: {Name: "ptm", DefiningModule: "iana-if-type"}, - 216: {Name: "q2931", DefiningModule: "iana-if-type"}, - 217: {Name: "qam", DefiningModule: "iana-if-type"}, - 218: {Name: "qllc", DefiningModule: "iana-if-type"}, - 219: {Name: "radioMAC", DefiningModule: "iana-if-type"}, - 220: {Name: "radsl", DefiningModule: "iana-if-type"}, - 221: {Name: "reachDSL", DefiningModule: "iana-if-type"}, - 222: {Name: "regular1822", DefiningModule: "iana-if-type"}, - 223: {Name: "rfc1483", DefiningModule: "iana-if-type"}, - 224: {Name: "rfc877x25", DefiningModule: "iana-if-type"}, - 225: {Name: "rpr", DefiningModule: "iana-if-type"}, - 226: {Name: "rs232", DefiningModule: "iana-if-type"}, - 227: {Name: "rsrb", DefiningModule: "iana-if-type"}, - 228: {Name: "sdci", DefiningModule: "iana-if-type"}, - 229: {Name: "sdlc", DefiningModule: "iana-if-type"}, - 230: {Name: "sdsl", DefiningModule: "iana-if-type"}, - 231: {Name: "shdsl", DefiningModule: "iana-if-type"}, - 232: {Name: "sip", DefiningModule: "iana-if-type"}, - 233: {Name: "sipSig", DefiningModule: "iana-if-type"}, - 234: {Name: "sipTg", DefiningModule: "iana-if-type"}, - 235: {Name: "sixToFour", DefiningModule: "iana-if-type"}, - 236: {Name: "slip", DefiningModule: "iana-if-type"}, - 237: {Name: "smdsDxi", DefiningModule: "iana-if-type"}, - 238: {Name: "smdsIcip", DefiningModule: "iana-if-type"}, - 239: {Name: "softwareLoopback", DefiningModule: "iana-if-type"}, - 240: {Name: "sonet", DefiningModule: "iana-if-type"}, - 241: {Name: "sonetOverheadChannel", DefiningModule: "iana-if-type"}, - 242: {Name: "sonetPath", DefiningModule: "iana-if-type"}, - 243: {Name: "sonetVT", DefiningModule: "iana-if-type"}, - 244: {Name: "srp", DefiningModule: "iana-if-type"}, - 245: {Name: "ss7SigLink", DefiningModule: "iana-if-type"}, - 246: {Name: "stackToStack", DefiningModule: "iana-if-type"}, - 247: {Name: "starLan", DefiningModule: "iana-if-type"}, - 248: {Name: "tdlc", DefiningModule: "iana-if-type"}, - 249: {Name: "teLink", DefiningModule: "iana-if-type"}, - 250: {Name: "termPad", DefiningModule: "iana-if-type"}, - 251: {Name: "tr008", DefiningModule: "iana-if-type"}, - 252: {Name: "transpHdlc", DefiningModule: "iana-if-type"}, - 253: {Name: "tunnel", DefiningModule: "iana-if-type"}, - 254: {Name: "ultra", DefiningModule: "iana-if-type"}, - 255: {Name: "usb", DefiningModule: "iana-if-type"}, - 256: {Name: "v11", DefiningModule: "iana-if-type"}, - 257: {Name: "v35", DefiningModule: "iana-if-type"}, - 258: {Name: "v36", DefiningModule: "iana-if-type"}, - 259: {Name: "v37", DefiningModule: "iana-if-type"}, - 260: {Name: "vdsl", DefiningModule: "iana-if-type"}, - 261: {Name: "vdsl2", DefiningModule: "iana-if-type"}, - 262: {Name: "virtualIpAddress", DefiningModule: "iana-if-type"}, - 263: {Name: "virtualTg", DefiningModule: "iana-if-type"}, - 264: {Name: "vmwareNicTeam", DefiningModule: "iana-if-type"}, - 265: {Name: "vmwareVirtualNic", DefiningModule: "iana-if-type"}, - 266: {Name: "voiceDID", DefiningModule: "iana-if-type"}, - 267: {Name: "voiceEBS", DefiningModule: "iana-if-type"}, - 268: {Name: "voiceEM", DefiningModule: "iana-if-type"}, - 269: {Name: "voiceEMFGD", DefiningModule: "iana-if-type"}, - 270: {Name: "voiceEncap", DefiningModule: "iana-if-type"}, - 271: {Name: "voiceFGDEANA", DefiningModule: "iana-if-type"}, - 272: {Name: "voiceFGDOS", DefiningModule: "iana-if-type"}, - 273: {Name: "voiceFXO", DefiningModule: "iana-if-type"}, - 274: {Name: "voiceFXS", DefiningModule: "iana-if-type"}, - 275: {Name: "voiceOverAtm", DefiningModule: "iana-if-type"}, - 276: {Name: "voiceOverCable", DefiningModule: "iana-if-type"}, - 277: {Name: "voiceOverFrameRelay", DefiningModule: "iana-if-type"}, - 278: {Name: "voiceOverIp", DefiningModule: "iana-if-type"}, - 279: {Name: "wwanPP", DefiningModule: "iana-if-type"}, - 280: {Name: "wwanPP2", DefiningModule: "iana-if-type"}, - 281: {Name: "x213", DefiningModule: "iana-if-type"}, - 282: {Name: "x25huntGroup", DefiningModule: "iana-if-type"}, - 283: {Name: "x25mlp", DefiningModule: "iana-if-type"}, - 284: {Name: "x25ple", DefiningModule: "iana-if-type"}, - 285: {Name: "x86Laps", DefiningModule: "iana-if-type"}, - 286: {Name: "xboxWireless", DefiningModule: "iana-if-type"}, - }, - "E_IfAggregate_AggregationType": { - 1: {Name: "LACP"}, - 2: {Name: "STATIC"}, - }, - "E_IfEthernet_ETHERNET_SPEED": { - 1: {Name: "SPEED_100GB", DefiningModule: "openconfig-if-ethernet"}, - 2: {Name: "SPEED_100MB", DefiningModule: "openconfig-if-ethernet"}, - 3: {Name: "SPEED_10GB", DefiningModule: "openconfig-if-ethernet"}, - 4: {Name: "SPEED_10MB", DefiningModule: "openconfig-if-ethernet"}, - 5: {Name: "SPEED_1GB", DefiningModule: "openconfig-if-ethernet"}, - 6: {Name: "SPEED_200GB", DefiningModule: "openconfig-if-ethernet"}, - 7: {Name: "SPEED_2500MB", DefiningModule: "openconfig-if-ethernet"}, - 8: {Name: "SPEED_25GB", DefiningModule: "openconfig-if-ethernet"}, - 9: {Name: "SPEED_400GB", DefiningModule: "openconfig-if-ethernet"}, - 10: {Name: "SPEED_40GB", DefiningModule: "openconfig-if-ethernet"}, - 11: {Name: "SPEED_50GB", DefiningModule: "openconfig-if-ethernet"}, - 12: {Name: "SPEED_5GB", DefiningModule: "openconfig-if-ethernet"}, - 13: {Name: "SPEED_600GB", DefiningModule: "openconfig-if-ethernet"}, - 14: {Name: "SPEED_800GB", DefiningModule: "openconfig-if-ethernet"}, - 15: {Name: "SPEED_UNKNOWN", DefiningModule: "openconfig-if-ethernet"}, - }, - "E_IfEthernet_INTERFACE_FEC": { - 1: {Name: "FEC_DISABLED", DefiningModule: "openconfig-if-ethernet"}, - 2: {Name: "FEC_FC", DefiningModule: "openconfig-if-ethernet"}, - 3: {Name: "FEC_RS528", DefiningModule: "openconfig-if-ethernet"}, - 4: {Name: "FEC_RS544", DefiningModule: "openconfig-if-ethernet"}, - 5: {Name: "FEC_RS544_2X_INTERLEAVE", DefiningModule: "openconfig-if-ethernet"}, - }, - "E_IfIp_IpAddressOrigin": { - 1: {Name: "OTHER"}, - 2: {Name: "STATIC"}, - 3: {Name: "DHCP"}, - 4: {Name: "LINK_LAYER"}, - 5: {Name: "RANDOM"}, - }, - "E_IfIp_Ipv4AddressType": { - 1: {Name: "PRIMARY"}, - 2: {Name: "SECONDARY"}, - }, - "E_IfIp_NeighborOrigin": { - 1: {Name: "OTHER"}, - 2: {Name: "STATIC"}, - 3: {Name: "DYNAMIC"}, - }, - "E_InetTypes_Ipv6AddressType": { - 1: {Name: "GLOBAL_UNICAST"}, - 2: {Name: "LINK_LOCAL_UNICAST"}, - }, - "E_Interface_AdminStatus": { - 1: {Name: "UP"}, - 2: {Name: "DOWN"}, - 3: {Name: "TESTING"}, - }, - "E_Interface_OperStatus": { - 2: {Name: "UP"}, - 3: {Name: "DOWN"}, - 4: {Name: "TESTING"}, - 5: {Name: "UNKNOWN"}, - 6: {Name: "DORMANT"}, - 7: {Name: "NOT_PRESENT"}, - 8: {Name: "LOWER_LAYER_DOWN"}, - }, - "E_Ipv6_LearnUnsolicited": { - 1: {Name: "NONE"}, - 2: {Name: "GLOBAL"}, - 3: {Name: "LINK_LOCAL"}, - 4: {Name: "BOTH"}, - }, - "E_Neighbor_NeighborState": { - 1: {Name: "INCOMPLETE"}, - 2: {Name: "REACHABLE"}, - 3: {Name: "STALE"}, - 4: {Name: "DELAY"}, - 5: {Name: "PROBE"}, - }, - "E_ProxyArp_Mode": { - 1: {Name: "DISABLE"}, - 2: {Name: "REMOTE_ONLY"}, - 3: {Name: "ALL"}, - }, - "E_RouterAdvertisement_Mode": { - 1: {Name: "ALL"}, - 2: {Name: "DISABLE_UNSOLICITED_RA"}, - }, - "E_TransportTypes_LoopbackModeType": { - 1: {Name: "NONE"}, - 2: {Name: "FACILITY"}, - 3: {Name: "TERMINAL"}, - 4: {Name: "ASIC_PHY_LOCAL"}, - 5: {Name: "ASIC_PHY_REMOTE"}, - 6: {Name: "ASIC_MAC_LOCAL"}, - 7: {Name: "ASIC_MAC_REMOTE"}, - }, - "E_VlanTypes_TPID_TYPES": { - 1: {Name: "TPID_0X8100", DefiningModule: "openconfig-vlan-types"}, - 2: {Name: "TPID_0X88A8", DefiningModule: "openconfig-vlan-types"}, - 3: {Name: "TPID_0X9100", DefiningModule: "openconfig-vlan-types"}, - 4: {Name: "TPID_0X9200", DefiningModule: "openconfig-vlan-types"}, - 5: {Name: "TPID_ANY", DefiningModule: "openconfig-vlan-types"}, - }, - "E_VlanTypes_VlanModeType": { - 1: {Name: "ACCESS"}, - 2: {Name: "TRUNK"}, - }, - "E_VlanTypes_VlanStackAction": { - 1: {Name: "PUSH"}, - 2: {Name: "POP"}, - 3: {Name: "SWAP"}, - }, -} - -// ΛEnumTypes is a map, keyed by a YANG schema path, of the enumerated types that -// correspond with the leaf. The type is represented as a reflect.Type. The naming -// of the map ensures that there are no clashes with valid YANG identifiers. -func initΛEnumTypes() { - ΛEnumTypes = map[string][]reflect.Type{ - "/interfaces/interface/aggregation/config/lag-type": []reflect.Type{ - reflect.TypeOf((E_IfAggregate_AggregationType)(0)), - }, - "/interfaces/interface/aggregation/state/lag-type": []reflect.Type{ - reflect.TypeOf((E_IfAggregate_AggregationType)(0)), - }, - "/interfaces/interface/aggregation/switched-vlan/config/interface-mode": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanModeType)(0)), - }, - "/interfaces/interface/aggregation/switched-vlan/state/interface-mode": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanModeType)(0)), - }, - "/interfaces/interface/config/loopback-mode": []reflect.Type{ - reflect.TypeOf((E_TransportTypes_LoopbackModeType)(0)), - }, - "/interfaces/interface/config/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/config/type": []reflect.Type{ - reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)), - }, - "/interfaces/interface/ethernet/config/duplex-mode": []reflect.Type{ - reflect.TypeOf((E_Ethernet_DuplexMode)(0)), - }, - "/interfaces/interface/ethernet/config/fec-mode": []reflect.Type{ - reflect.TypeOf((E_IfEthernet_INTERFACE_FEC)(0)), - }, - "/interfaces/interface/ethernet/config/port-speed": []reflect.Type{ - reflect.TypeOf((E_IfEthernet_ETHERNET_SPEED)(0)), - }, - "/interfaces/interface/ethernet/state/duplex-mode": []reflect.Type{ - reflect.TypeOf((E_Ethernet_DuplexMode)(0)), - }, - "/interfaces/interface/ethernet/state/fec-mode": []reflect.Type{ - reflect.TypeOf((E_IfEthernet_INTERFACE_FEC)(0)), - }, - "/interfaces/interface/ethernet/state/negotiated-duplex-mode": []reflect.Type{ - reflect.TypeOf((E_Ethernet_NegotiatedDuplexMode)(0)), - }, - "/interfaces/interface/ethernet/state/negotiated-port-speed": []reflect.Type{ - reflect.TypeOf((E_IfEthernet_ETHERNET_SPEED)(0)), - }, - "/interfaces/interface/ethernet/state/port-speed": []reflect.Type{ - reflect.TypeOf((E_IfEthernet_ETHERNET_SPEED)(0)), - }, - "/interfaces/interface/ethernet/switched-vlan/config/interface-mode": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanModeType)(0)), - }, - "/interfaces/interface/ethernet/switched-vlan/state/interface-mode": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanModeType)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/addresses/address/config/type": []reflect.Type{ - reflect.TypeOf((E_IfIp_Ipv4AddressType)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/addresses/address/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_IpAddressOrigin)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/addresses/address/state/type": []reflect.Type{ - reflect.TypeOf((E_IfIp_Ipv4AddressType)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/neighbors/neighbor/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_NeighborOrigin)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/proxy-arp/config/mode": []reflect.Type{ - reflect.TypeOf((E_ProxyArp_Mode)(0)), - }, - "/interfaces/interface/routed-vlan/ipv4/proxy-arp/state/mode": []reflect.Type{ - reflect.TypeOf((E_ProxyArp_Mode)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/addresses/address/config/type": []reflect.Type{ - reflect.TypeOf((E_InetTypes_Ipv6AddressType)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/addresses/address/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_IpAddressOrigin)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/addresses/address/state/status": []reflect.Type{ - reflect.TypeOf((E_Address_Status)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/addresses/address/state/type": []reflect.Type{ - reflect.TypeOf((E_InetTypes_Ipv6AddressType)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/config/learn-unsolicited": []reflect.Type{ - reflect.TypeOf((E_Ipv6_LearnUnsolicited)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/neighbors/neighbor/state/neighbor-state": []reflect.Type{ - reflect.TypeOf((E_Neighbor_NeighborState)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/neighbors/neighbor/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_NeighborOrigin)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/router-advertisement/config/mode": []reflect.Type{ - reflect.TypeOf((E_RouterAdvertisement_Mode)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/router-advertisement/state/mode": []reflect.Type{ - reflect.TypeOf((E_RouterAdvertisement_Mode)(0)), - }, - "/interfaces/interface/routed-vlan/ipv6/state/learn-unsolicited": []reflect.Type{ - reflect.TypeOf((E_Ipv6_LearnUnsolicited)(0)), - }, - "/interfaces/interface/state/admin-status": []reflect.Type{ - reflect.TypeOf((E_Interface_AdminStatus)(0)), - }, - "/interfaces/interface/state/loopback-mode": []reflect.Type{ - reflect.TypeOf((E_TransportTypes_LoopbackModeType)(0)), - }, - "/interfaces/interface/state/oper-status": []reflect.Type{ - reflect.TypeOf((E_Interface_OperStatus)(0)), - }, - "/interfaces/interface/state/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/state/type": []reflect.Type{ - reflect.TypeOf((E_IETFInterfaces_InterfaceType)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/config/type": []reflect.Type{ - reflect.TypeOf((E_IfIp_Ipv4AddressType)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_IpAddressOrigin)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/state/type": []reflect.Type{ - reflect.TypeOf((E_IfIp_Ipv4AddressType)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/neighbors/neighbor/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_NeighborOrigin)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/proxy-arp/config/mode": []reflect.Type{ - reflect.TypeOf((E_ProxyArp_Mode)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv4/proxy-arp/state/mode": []reflect.Type{ - reflect.TypeOf((E_ProxyArp_Mode)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/config/type": []reflect.Type{ - reflect.TypeOf((E_InetTypes_Ipv6AddressType)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_IpAddressOrigin)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/state/status": []reflect.Type{ - reflect.TypeOf((E_Address_Status)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/state/type": []reflect.Type{ - reflect.TypeOf((E_InetTypes_Ipv6AddressType)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/config/learn-unsolicited": []reflect.Type{ - reflect.TypeOf((E_Ipv6_LearnUnsolicited)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/neighbors/neighbor/state/neighbor-state": []reflect.Type{ - reflect.TypeOf((E_Neighbor_NeighborState)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/neighbors/neighbor/state/origin": []reflect.Type{ - reflect.TypeOf((E_IfIp_NeighborOrigin)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/router-advertisement/config/mode": []reflect.Type{ - reflect.TypeOf((E_RouterAdvertisement_Mode)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/router-advertisement/state/mode": []reflect.Type{ - reflect.TypeOf((E_RouterAdvertisement_Mode)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/ipv6/state/learn-unsolicited": []reflect.Type{ - reflect.TypeOf((E_Ipv6_LearnUnsolicited)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/state/admin-status": []reflect.Type{ - reflect.TypeOf((E_Interface_AdminStatus)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/state/oper-status": []reflect.Type{ - reflect.TypeOf((E_Interface_OperStatus)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/egress-mapping/config/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/egress-mapping/config/vlan-stack-action": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanStackAction)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/egress-mapping/state/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/egress-mapping/state/vlan-stack-action": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanStackAction)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/ingress-mapping/config/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/ingress-mapping/config/vlan-stack-action": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanStackAction)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/ingress-mapping/state/tpid": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_TPID_TYPES)(0)), - }, - "/interfaces/interface/subinterfaces/subinterface/vlan/ingress-mapping/state/vlan-stack-action": []reflect.Type{ - reflect.TypeOf((E_VlanTypes_VlanStackAction)(0)), - }, - } -} diff --git a/internal/provider/openconfig/gen.sh b/internal/provider/openconfig/gen.sh deleted file mode 100755 index 475bd7aef..000000000 --- a/internal/provider/openconfig/gen.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash -# SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -# SPDX-License-Identifier: Apache-2.0 -VERSION=5.2.0 - -set -e - -cd "$(dirname "$0")" || exit 1 - -find . ! -name "gen.go" ! -name "gen.sh" ! -name "provider.go" ! -name ".gitignore" -delete - -mkdir -p yang -curl -fsSL https://github.com/openconfig/public/archive/refs/tags/v$VERSION.tar.gz | tar -C yang --strip-components=1 -xf - public-$VERSION - -go run github.com/openconfig/ygnmi/app/ygnmi@v0.12.0 generator \ - --fakeroot_name=device \ - --root_package_name=openconfig \ - --trim_module_prefix=openconfig \ - --prefer_operational_state=false \ - --split_top_level_packages=false \ - --exclude_modules=ietf-interfaces \ - --paths="$(find . -type f -name "*.yang" -exec dirname {} \; | sort -u | paste -sd, -)" \ - --base_package_path=github.com/ironcore-dev/network-operator/internal/provider/openconfig \ - ./yang/release/models/interfaces/openconfig-interfaces.yang \ - ./yang/release/models/interfaces/openconfig-if-ip.yang \ - ./yang/third_party/ietf/iana-if-type.yang - -mv structs-0.go structs.go - -sed 's/oc\.//g; s/oc\ "github.com\/ironcore-dev\/network-operator\/internal\/provider\/openconfig"//' openconfig/openconfig.go >path.go -rm -rf openconfig - -go run golang.org/x/tools/cmd/goimports@v0.35.0 -w . -go run github.com/google/addlicense@v1.1.1 -c "SAP SE or an SAP affiliate company and IronCore contributors" -s=only -y "$(date +%Y)" . - -find . -type f -name "*.go" -exec sed -i.bak '1s|// Copyright|// SPDX-FileCopyrightText:|' {} \; -find . -type f -name "*.bak" -delete diff --git a/internal/provider/openconfig/interface.go b/internal/provider/openconfig/interface.go new file mode 100644 index 000000000..7fc7d0ed0 --- /dev/null +++ b/internal/provider/openconfig/interface.go @@ -0,0 +1,476 @@ +// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors +// SPDX-License-Identifier: Apache-2.0 + +package openconfig + +import ( + "context" + "fmt" + + "github.com/ironcore-dev/network-operator/api/core/v1alpha1" + "github.com/ironcore-dev/network-operator/internal/provider" + "github.com/ironcore-dev/network-operator/internal/transport/gnmiext" +) + +var _ provider.InterfaceProvider = (*Provider)(nil) + +// EnsureInterface ensures the interface exists with the given configuration. +func (p *Provider) EnsureInterface(ctx context.Context, req *provider.EnsureInterfaceRequest) error { + spec := req.Interface.Spec + + i := &Interface{ + Name: spec.Name, + Config: &InterfaceConfig{ + Name: spec.Name, + Description: spec.Description, + Enabled: spec.AdminState == v1alpha1.AdminStateUp, + MTU: uint16(spec.MTU), //nolint:gosec + }, + } + + switch spec.Type { + case v1alpha1.InterfaceTypeLoopback: + i.Config.Type = IfTypeSoftwareLoopback + + case v1alpha1.InterfaceTypePhysical: + i.Config.Type = IfTypeEthernetCsmacd + if spec.Ethernet != nil && spec.Ethernet.FECMode != "" { + fecMode, err := toFECMode(spec.Ethernet.FECMode) + if err != nil { + return err + } + i.Ethernet = &IfEthernet{ + Config: &IfEthernetConfig{ + FECMode: fecMode, + }, + } + } + + case v1alpha1.InterfaceTypeAggregate: + i.Config.Type = IfTypeIEEE8023adLag + i.Aggregation = &IfAggregation{ + Config: &IfAggregationConfig{ + LagType: "LACP", + }, + } + + case v1alpha1.InterfaceTypeRoutedVLAN: + i.Config.Type = IfTypeL3IPVlan + if req.VLAN != nil { + i.RoutedVlan = &RoutedVlan{ + Config: &RoutedVlanConfig{ + Vlan: uint16(req.VLAN.Spec.ID), //nolint:gosec + }, + } + } + + default: + return fmt.Errorf("unsupported interface type %q", spec.Type) + } + + if spec.Switchport != nil { + i.Config.TPID = TPIDDot1Q + if err := applySwitchport(i, req); err != nil { + return err + } + } + + if req.IPv4 != nil { + sub := &Subinterface{ + Index: 0, + Config: &SubIfConfig{Index: 0, Enabled: true}, + } + + switch v := req.IPv4.(type) { + case provider.IPv4AddressList: + addrs := &Ipv4Addresses{} + for idx, prefix := range v { + addrType := IPv4AddrTypePrimary + if idx > 0 { + addrType = IPv4AddrTypeSecondary + } + ip := prefix.Addr().String() + a := &Ipv4Address{ + IP: ip, + Config: &Ipv4AddrConfig{ + IP: ip, + PrefixLength: uint8(prefix.Bits()), //nolint:gosec + Type: addrType, + }, + } + addrs.Address.Set(a) + } + sub.IPv4 = &IfIpv4{ + Config: &IfIpv4Config{Enabled: true, DHCP: false}, + Addresses: addrs, + } + + case provider.IPv4Unnumbered: + sub.IPv4 = &IfIpv4{ + Config: &IfIpv4Config{Enabled: true, DHCP: false}, + Unnumbered: &Ipv4Unnumbered{ + InterfaceRef: &UnnumberedInterfaceRef{ + Config: &UnnumberedInterfaceRefConfig{ + Interface: v.SourceInterface, + }, + }, + }, + } + } + + subs := &Subinterfaces{} + subs.Subinterface.Set(sub) + i.Subinterfaces = subs + } + + updates := []gnmiext.DataElement{i} + + for _, member := range req.Members { + updates = append(updates, &EthernetAggregateID{ + IfName: member.Spec.Name, + AggregateID: req.Interface.Spec.Name, + }) + } + + return p.client.Update(ctx, updates...) +} + +// applySwitchport configures the switched-vlan settings on the interface. +// It sets either EthernetSwitchedVlan or AggregationSwitchedVlan depending +// on the interface type. +func applySwitchport(i *Interface, req *provider.EnsureInterfaceRequest) error { + sp := req.Interface.Spec.Switchport + + var mode VLANMode + var accessVlan *uint16 + var nativeVlan *uint16 + var trunkVlans []uint16 + + switch sp.Mode { + case v1alpha1.SwitchportModeAccess: + mode = VLANModeAccess + v := uint16(sp.AccessVlan) //nolint:gosec + accessVlan = &v + case v1alpha1.SwitchportModeTrunk: + mode = VLANModeTrunk + if sp.NativeVlan != 0 { + v := uint16(sp.NativeVlan) //nolint:gosec + nativeVlan = &v + } + for _, vlan := range sp.AllowedVlans { + trunkVlans = append(trunkVlans, uint16(vlan)) //nolint:gosec + } + default: + return fmt.Errorf("unsupported switchport mode %q", sp.Mode) + } + + switch req.Interface.Spec.Type { + case v1alpha1.InterfaceTypePhysical: + if i.Ethernet == nil { + i.Ethernet = &IfEthernet{} + } + i.Ethernet.SwitchedVlan = &EthernetSwitchedVlan{ + Config: &EthernetSwitchedVlanConfig{ + InterfaceMode: mode, + AccessVlan: accessVlan, + NativeVlan: nativeVlan, + TrunkVlans: trunkVlans, + }, + } + case v1alpha1.InterfaceTypeAggregate: + if i.Aggregation == nil { + i.Aggregation = &IfAggregation{} + } + i.Aggregation.SwitchedVlan = &AggregationSwitchedVlan{ + Config: &AggregationSwitchedVlanConfig{ + InterfaceMode: mode, + AccessVlan: accessVlan, + NativeVlan: nativeVlan, + TrunkVlans: trunkVlans, + }, + } + default: + return fmt.Errorf( + "switchport not supported on interface type %q", + req.Interface.Spec.Type, + ) + } + + return nil +} + +// DeleteInterface removes the given interface configuration. +func (p *Provider) DeleteInterface(ctx context.Context, req *provider.InterfaceRequest) error { + spec := req.Interface.Spec + + switch spec.Type { + case v1alpha1.InterfaceTypePhysical: + // Physical interfaces cannot be deleted; reset them to disabled state. + i := &Interface{ + Name: spec.Name, + Config: &InterfaceConfig{ + Name: spec.Name, + Type: IfTypeEthernetCsmacd, + Enabled: false, + }, + } + return p.client.Update(ctx, i) + + case v1alpha1.InterfaceTypeLoopback, + v1alpha1.InterfaceTypeAggregate, + v1alpha1.InterfaceTypeRoutedVLAN: + i := &Interface{Name: spec.Name} + return p.client.Delete(ctx, i) + + default: + return fmt.Errorf("unsupported interface type %q for delete", spec.Type) + } +} + +// GetInterfaceStatus returns the current status of the given interface. +func (p *Provider) GetInterfaceStatus(_ context.Context, _ *provider.InterfaceRequest) (provider.InterfaceStatus, error) { + return provider.InterfaceStatus{}, nil +} + +// toFECMode converts a v1alpha1.FECMode to the corresponding FECMode constant. +func toFECMode(mode v1alpha1.FECMode) (FECMode, error) { + switch mode { + case v1alpha1.FECModeFC: + return FECModeFC, nil + case v1alpha1.FECModeRS528: + return FECModeRS528, nil + case v1alpha1.FECModeDisabled: + return FECModeDisabled, nil + default: + return "", fmt.Errorf("unsupported FEC mode %q", mode) + } +} + +// IfType represents the YANG identity for the interface type. +type IfType string + +const ( + IfTypeEthernetCsmacd IfType = "ethernetCsmacd" + IfTypeSoftwareLoopback IfType = "softwareLoopback" + IfTypeIEEE8023adLag IfType = "ieee8023adLag" + IfTypeL3IPVlan IfType = "l3ipvlan" +) + +// FECMode represents the forward error correction mode for an Ethernet interface. +type FECMode string + +const ( + FECModeFC FECMode = "FEC_FC" + FECModeRS528 FECMode = "FEC_RS528" + FECModeDisabled FECMode = "FEC_DISABLED" +) + +// VLANMode represents the switchport interface mode. +type VLANMode string + +const ( + VLANModeAccess VLANMode = "ACCESS" + VLANModeTrunk VLANMode = "TRUNK" +) + +// TPID represents the tag protocol identifier for a VLAN-tagged interface. +type TPID string + +const ( + TPIDDot1Q TPID = "TPID_0X8100" +) + +// IPv4AddrType represents the role of an IPv4 address on an interface. +type IPv4AddrType string + +const ( + IPv4AddrTypePrimary IPv4AddrType = "PRIMARY" + IPv4AddrTypeSecondary IPv4AddrType = "SECONDARY" +) + +// Compile-time assertions that DataElement is implemented. +var ( + _ gnmiext.DataElement = (*Interface)(nil) + _ gnmiext.DataElement = (*EthernetAggregateID)(nil) +) + +// Interface represents an OpenConfig interface node. +// It implements gnmiext.DataElement. +type Interface struct { + Name string `json:"name"` + Config *InterfaceConfig `json:"config,omitempty"` + Subinterfaces *Subinterfaces `json:"subinterfaces,omitempty"` + // openconfig-if-ethernet augmentation + Ethernet *IfEthernet `json:"ethernet,omitempty"` + // openconfig-if-aggregate augmentation + Aggregation *IfAggregation `json:"aggregation,omitempty"` + // openconfig-vlan augmentation on L3 VLAN interfaces + RoutedVlan *RoutedVlan `json:"routed-vlan,omitempty"` +} + +// XPath returns the YANG path for this interface. +func (i *Interface) XPath() string { + return fmt.Sprintf("openconfig:interfaces/interface[name=%s]", i.Name) +} + +// InterfaceConfig holds the configuration container for an interface. +type InterfaceConfig struct { + Name string `json:"name"` + Type IfType `json:"type"` + Description string `json:"description,omitempty"` + Enabled bool `json:"enabled"` + MTU uint16 `json:"mtu,omitempty"` + TPID TPID `json:"tpid,omitempty"` +} + +// Subinterfaces holds the subinterface list container. +type Subinterfaces struct { + Subinterface gnmiext.List[uint32, *Subinterface] `json:"subinterface,omitempty"` +} + +// Subinterface represents a single subinterface entry. +// It implements gnmiext.Keyed[uint32]. +type Subinterface struct { + Index uint32 `json:"index"` + Config *SubIfConfig `json:"config,omitempty"` + IPv4 *IfIpv4 `json:"ipv4,omitempty"` +} + +// Key returns the subinterface index, satisfying gnmiext.Keyed[uint32]. +func (s *Subinterface) Key() uint32 { + return s.Index +} + +// SubIfConfig holds the config container for a subinterface. +type SubIfConfig struct { + Index uint32 `json:"index"` + Enabled bool `json:"enabled"` +} + +// IfIpv4 holds the IPv4 container for a subinterface. +type IfIpv4 struct { + Addresses *Ipv4Addresses `json:"addresses,omitempty"` + Unnumbered *Ipv4Unnumbered `json:"unnumbered,omitempty"` + Config *IfIpv4Config `json:"config,omitempty"` +} + +// IfIpv4Config holds the config container for IPv4. +type IfIpv4Config struct { + Enabled bool `json:"enabled"` + DHCP bool `json:"dhcp-client"` +} + +// Ipv4Addresses holds the IPv4 address list container. +type Ipv4Addresses struct { + Address gnmiext.List[string, *Ipv4Address] `json:"address,omitempty"` +} + +// Ipv4Address represents a single IPv4 address entry. +// It implements gnmiext.Keyed[string]. +type Ipv4Address struct { + IP string `json:"ip"` + Config *Ipv4AddrConfig `json:"config,omitempty"` +} + +// Key returns the IP address string, satisfying gnmiext.Keyed[string]. +func (a *Ipv4Address) Key() string { + return a.IP +} + +// Ipv4AddrConfig holds the config container for an IPv4 address. +type Ipv4AddrConfig struct { + IP string `json:"ip"` + PrefixLength uint8 `json:"prefix-length"` + Type IPv4AddrType `json:"type,omitempty"` +} + +// Ipv4Unnumbered holds the unnumbered container for IPv4. +type Ipv4Unnumbered struct { + InterfaceRef *UnnumberedInterfaceRef `json:"interface-ref,omitempty"` +} + +// UnnumberedInterfaceRef holds the interface-ref container. +type UnnumberedInterfaceRef struct { + Config *UnnumberedInterfaceRefConfig `json:"config,omitempty"` +} + +// UnnumberedInterfaceRefConfig holds the config for an unnumbered interface ref. +type UnnumberedInterfaceRefConfig struct { + Interface string `json:"interface,omitempty"` + Subinterface *uint32 `json:"subinterface,omitempty"` +} + +// IfEthernet holds the openconfig-if-ethernet augmentation container. +type IfEthernet struct { + Config *IfEthernetConfig `json:"config,omitempty"` + SwitchedVlan *EthernetSwitchedVlan `json:"switched-vlan,omitempty"` +} + +// IfEthernetConfig holds the config container for Ethernet. +type IfEthernetConfig struct { + FECMode FECMode `json:"fec-mode,omitempty"` + AggregateID string `json:"aggregate-id,omitempty"` +} + +// EthernetSwitchedVlan holds the switched-vlan container for Ethernet. +type EthernetSwitchedVlan struct { + Config *EthernetSwitchedVlanConfig `json:"config,omitempty"` +} + +// EthernetSwitchedVlanConfig holds the config for switched-vlan on Ethernet. +type EthernetSwitchedVlanConfig struct { + InterfaceMode VLANMode `json:"interface-mode,omitempty"` + AccessVlan *uint16 `json:"access-vlan,omitempty"` + NativeVlan *uint16 `json:"native-vlan,omitempty"` + TrunkVlans []uint16 `json:"trunk-vlans,omitempty"` +} + +// IfAggregation holds the openconfig-if-aggregate augmentation container. +type IfAggregation struct { + Config *IfAggregationConfig `json:"config,omitempty"` + SwitchedVlan *AggregationSwitchedVlan `json:"switched-vlan,omitempty"` +} + +// IfAggregationConfig holds the config container for aggregation. +type IfAggregationConfig struct { + LagType string `json:"lag-type,omitempty"` + MinLinks *uint16 `json:"min-links,omitempty"` +} + +// AggregationSwitchedVlan holds the switched-vlan container for aggregation. +type AggregationSwitchedVlan struct { + Config *AggregationSwitchedVlanConfig `json:"config,omitempty"` +} + +// AggregationSwitchedVlanConfig holds the config for switched-vlan on aggregation. +type AggregationSwitchedVlanConfig struct { + InterfaceMode VLANMode `json:"interface-mode,omitempty"` + AccessVlan *uint16 `json:"access-vlan,omitempty"` + NativeVlan *uint16 `json:"native-vlan,omitempty"` + TrunkVlans []uint16 `json:"trunk-vlans,omitempty"` +} + +// RoutedVlan holds the routed-vlan container. +type RoutedVlan struct { + Config *RoutedVlanConfig `json:"config,omitempty"` +} + +// RoutedVlanConfig holds the config for routed-vlan. +type RoutedVlanConfig struct { + Vlan uint16 `json:"vlan,omitempty"` +} + +// EthernetAggregateID is a focused DataElement targeting only the +// aggregate-id leaf within the Ethernet config container. +type EthernetAggregateID struct { + IfName string + AggregateID string +} + +// XPath returns the YANG path for the aggregate-id leaf. +func (e *EthernetAggregateID) XPath() string { + return fmt.Sprintf( + "openconfig:interfaces/interface[name=%s]/ethernet/config/aggregate-id", + e.IfName, + ) +} diff --git a/internal/provider/openconfig/path.go b/internal/provider/openconfig/path.go deleted file mode 100644 index 5b07560b2..000000000 --- a/internal/provider/openconfig/path.go +++ /dev/null @@ -1,72529 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which generate gNMI paths for a YANG schema. - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -import ( - "reflect" - - "github.com/openconfig/ygnmi/ygnmi" - "github.com/openconfig/ygot/ygot" - "github.com/openconfig/ygot/ytypes" -) - -// DevicePath represents the /device YANG schema element. -type DevicePath struct { - *ygnmi.DeviceRootBase -} - -// Root returns a root path object from which YANG paths can be constructed. -func Root() *DevicePath { - return &DevicePath{ygnmi.NewDeviceRootBase()} -} - -// InterfaceAny (list): The list of named interfaces on the device. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "interfaces/interface" -// Path from root: "/interfaces/interface" -func (n *DevicePath) InterfaceAny() *InterfacePathAny { - ps := &InterfacePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"interfaces", "interface"}, - map[string]interface{}{"name": "*"}, - n, - ), - } - return ps -} - -// Interface (list): The list of named interfaces on the device. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "interfaces/interface" -// Path from root: "/interfaces/interface" -// -// Name: string -func (n *DevicePath) Interface(Name string) *InterfacePath { - ps := &InterfacePath{ - NodePath: ygnmi.NewNodePath( - []string{"interfaces", "interface"}, - map[string]interface{}{"name": Name}, - n, - ), - } - return ps -} - -// InterfaceMap (list): The list of named interfaces on the device. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "interfaces/interface" -// Path from root: "/interfaces/interface" -func (n *DevicePath) InterfaceMap() *InterfacePathMap { - ps := &InterfacePathMap{ - NodePath: ygnmi.NewNodePath( - []string{"interfaces"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Batch contains a collection of paths. -// Use batch to call Lookup, Watch, etc. on multiple paths at once. -type Batch struct { - paths []ygnmi.PathStruct -} - -// AddPaths adds the paths to the batch. -func (b *Batch) AddPaths(paths ...ygnmi.PathStruct) *Batch { - b.paths = append(b.paths, paths...) - return b -} - -// State returns a Query that can be used in gNMI operations. -// The returned query is immutable, adding paths does not modify existing queries. -func (b *Batch) State() ygnmi.SingletonQuery[*Device] { - queryPaths := make([]ygnmi.PathStruct, len(b.paths)) - copy(queryPaths, b.paths) - return ygnmi.NewSingletonQuery[*Device]( - "Device", - true, - true, - false, - false, - true, - false, - ygnmi.NewDeviceRootBase(), - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - queryPaths, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// The returned query is immutable, adding paths does not modify existing queries. -func (b *Batch) Config() ygnmi.SingletonQuery[*Device] { - queryPaths := make([]ygnmi.PathStruct, len(b.paths)) - copy(queryPaths, b.paths) - return ygnmi.NewSingletonQuery[*Device]( - "Device", - false, - false, - false, - false, - true, - false, - ygnmi.NewDeviceRootBase(), - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - queryPaths, - nil, - ) -} - -func binarySliceToFloatSlice(in []Binary) []float32 { - converted := make([]float32, 0, len(in)) - for _, binary := range in { - converted = append(converted, ygot.BinaryToFloat32(binary)) - } - return converted -} - -// State returns a Query that can be used in gNMI operations. -func (n *DevicePath) State() ygnmi.SingletonQuery[*Device] { - return ygnmi.NewSingletonQuery[*Device]( - "Device", - true, - true, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *DevicePath) Config() ygnmi.ConfigQuery[*Device] { - return ygnmi.NewConfigQuery[*Device]( - "Device", - false, - false, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_AdminStatusPath represents the /openconfig-interfaces/interfaces/interface/state/admin-status YANG schema element. -type Interface_AdminStatusPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_AdminStatusPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/admin-status YANG schema element. -type Interface_AdminStatusPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/admin-status" -// Path from root: "/interfaces/interface/state/admin-status" -func (n *Interface_AdminStatusPath) State() ygnmi.SingletonQuery[E_Interface_AdminStatus] { - return ygnmi.NewSingletonQuery[E_Interface_AdminStatus]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "admin-status"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_Interface_AdminStatus, bool) { - ret := gs.(*Interface).AdminStatus - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/admin-status" -// Path from root: "/interfaces/interface/state/admin-status" -func (n *Interface_AdminStatusPathAny) State() ygnmi.WildcardQuery[E_Interface_AdminStatus] { - return ygnmi.NewWildcardQuery[E_Interface_AdminStatus]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "admin-status"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_Interface_AdminStatus, bool) { - ret := gs.(*Interface).AdminStatus - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_CpuPath represents the /openconfig-interfaces/interfaces/interface/state/cpu YANG schema element. -type Interface_CpuPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_CpuPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/cpu YANG schema element. -type Interface_CpuPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/cpu" -// Path from root: "/interfaces/interface/state/cpu" -func (n *Interface_CpuPath) State() ygnmi.SingletonQuery[bool] { - return ygnmi.NewSingletonQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "cpu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Cpu - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/cpu" -// Path from root: "/interfaces/interface/state/cpu" -func (n *Interface_CpuPathAny) State() ygnmi.WildcardQuery[bool] { - return ygnmi.NewWildcardQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "cpu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Cpu - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_DescriptionPath represents the /openconfig-interfaces/interfaces/interface/config/description YANG schema element. -type Interface_DescriptionPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_DescriptionPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/description YANG schema element. -type Interface_DescriptionPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/description" -// Path from root: "/interfaces/interface/state/description" -func (n *Interface_DescriptionPath) State() ygnmi.SingletonQuery[string] { - return ygnmi.NewSingletonQuery[string]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "description"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Description - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/description" -// Path from root: "/interfaces/interface/state/description" -func (n *Interface_DescriptionPathAny) State() ygnmi.WildcardQuery[string] { - return ygnmi.NewWildcardQuery[string]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "description"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Description - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/description" -// Path from root: "/interfaces/interface/config/description" -func (n *Interface_DescriptionPath) Config() ygnmi.ConfigQuery[string] { - return ygnmi.NewConfigQuery[string]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "description"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Description - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/description" -// Path from root: "/interfaces/interface/config/description" -func (n *Interface_DescriptionPathAny) Config() ygnmi.WildcardQuery[string] { - return ygnmi.NewWildcardQuery[string]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "description"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Description - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_EnabledPath represents the /openconfig-interfaces/interfaces/interface/config/enabled YANG schema element. -type Interface_EnabledPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_EnabledPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/enabled YANG schema element. -type Interface_EnabledPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/enabled" -// Path from root: "/interfaces/interface/state/enabled" -func (n *Interface_EnabledPath) State() ygnmi.SingletonQuery[bool] { - return ygnmi.NewSingletonQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "enabled"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Enabled - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/enabled" -// Path from root: "/interfaces/interface/state/enabled" -func (n *Interface_EnabledPathAny) State() ygnmi.WildcardQuery[bool] { - return ygnmi.NewWildcardQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "enabled"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Enabled - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/enabled" -// Path from root: "/interfaces/interface/config/enabled" -func (n *Interface_EnabledPath) Config() ygnmi.ConfigQuery[bool] { - return ygnmi.NewConfigQuery[bool]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "enabled"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Enabled - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/enabled" -// Path from root: "/interfaces/interface/config/enabled" -func (n *Interface_EnabledPathAny) Config() ygnmi.WildcardQuery[bool] { - return ygnmi.NewWildcardQuery[bool]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "enabled"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Enabled - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_IfindexPath represents the /openconfig-interfaces/interfaces/interface/state/ifindex YANG schema element. -type Interface_IfindexPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_IfindexPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/ifindex YANG schema element. -type Interface_IfindexPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/ifindex" -// Path from root: "/interfaces/interface/state/ifindex" -func (n *Interface_IfindexPath) State() ygnmi.SingletonQuery[uint32] { - return ygnmi.NewSingletonQuery[uint32]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "ifindex"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint32, bool) { - ret := gs.(*Interface).Ifindex - if ret == nil { - var zero uint32 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/ifindex" -// Path from root: "/interfaces/interface/state/ifindex" -func (n *Interface_IfindexPathAny) State() ygnmi.WildcardQuery[uint32] { - return ygnmi.NewWildcardQuery[uint32]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "ifindex"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint32, bool) { - ret := gs.(*Interface).Ifindex - if ret == nil { - var zero uint32 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_LastChangePath represents the /openconfig-interfaces/interfaces/interface/state/last-change YANG schema element. -type Interface_LastChangePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_LastChangePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/last-change YANG schema element. -type Interface_LastChangePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/last-change" -// Path from root: "/interfaces/interface/state/last-change" -func (n *Interface_LastChangePath) State() ygnmi.SingletonQuery[uint64] { - return ygnmi.NewSingletonQuery[uint64]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "last-change"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint64, bool) { - ret := gs.(*Interface).LastChange - if ret == nil { - var zero uint64 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/last-change" -// Path from root: "/interfaces/interface/state/last-change" -func (n *Interface_LastChangePathAny) State() ygnmi.WildcardQuery[uint64] { - return ygnmi.NewWildcardQuery[uint64]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "last-change"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint64, bool) { - ret := gs.(*Interface).LastChange - if ret == nil { - var zero uint64 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_LogicalPath represents the /openconfig-interfaces/interfaces/interface/state/logical YANG schema element. -type Interface_LogicalPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_LogicalPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/logical YANG schema element. -type Interface_LogicalPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/logical" -// Path from root: "/interfaces/interface/state/logical" -func (n *Interface_LogicalPath) State() ygnmi.SingletonQuery[bool] { - return ygnmi.NewSingletonQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "logical"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Logical - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/logical" -// Path from root: "/interfaces/interface/state/logical" -func (n *Interface_LogicalPathAny) State() ygnmi.WildcardQuery[bool] { - return ygnmi.NewWildcardQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "logical"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Logical - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_LoopbackModePath represents the /openconfig-interfaces/interfaces/interface/config/loopback-mode YANG schema element. -type Interface_LoopbackModePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_LoopbackModePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/loopback-mode YANG schema element. -type Interface_LoopbackModePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/loopback-mode" -// Path from root: "/interfaces/interface/state/loopback-mode" -func (n *Interface_LoopbackModePath) State() ygnmi.SingletonQuery[E_TransportTypes_LoopbackModeType] { - return ygnmi.NewSingletonQuery[E_TransportTypes_LoopbackModeType]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "loopback-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_TransportTypes_LoopbackModeType, bool) { - ret := gs.(*Interface).LoopbackMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/loopback-mode" -// Path from root: "/interfaces/interface/state/loopback-mode" -func (n *Interface_LoopbackModePathAny) State() ygnmi.WildcardQuery[E_TransportTypes_LoopbackModeType] { - return ygnmi.NewWildcardQuery[E_TransportTypes_LoopbackModeType]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "loopback-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_TransportTypes_LoopbackModeType, bool) { - ret := gs.(*Interface).LoopbackMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/loopback-mode" -// Path from root: "/interfaces/interface/config/loopback-mode" -func (n *Interface_LoopbackModePath) Config() ygnmi.ConfigQuery[E_TransportTypes_LoopbackModeType] { - return ygnmi.NewConfigQuery[E_TransportTypes_LoopbackModeType]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "loopback-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_TransportTypes_LoopbackModeType, bool) { - ret := gs.(*Interface).LoopbackMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/loopback-mode" -// Path from root: "/interfaces/interface/config/loopback-mode" -func (n *Interface_LoopbackModePathAny) Config() ygnmi.WildcardQuery[E_TransportTypes_LoopbackModeType] { - return ygnmi.NewWildcardQuery[E_TransportTypes_LoopbackModeType]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "loopback-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_TransportTypes_LoopbackModeType, bool) { - ret := gs.(*Interface).LoopbackMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_ManagementPath represents the /openconfig-interfaces/interfaces/interface/state/management YANG schema element. -type Interface_ManagementPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_ManagementPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/management YANG schema element. -type Interface_ManagementPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/management" -// Path from root: "/interfaces/interface/state/management" -func (n *Interface_ManagementPath) State() ygnmi.SingletonQuery[bool] { - return ygnmi.NewSingletonQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "management"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Management - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/management" -// Path from root: "/interfaces/interface/state/management" -func (n *Interface_ManagementPathAny) State() ygnmi.WildcardQuery[bool] { - return ygnmi.NewWildcardQuery[bool]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "management"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (bool, bool) { - ret := gs.(*Interface).Management - if ret == nil { - var zero bool - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_MtuPath represents the /openconfig-interfaces/interfaces/interface/config/mtu YANG schema element. -type Interface_MtuPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_MtuPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/mtu YANG schema element. -type Interface_MtuPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/mtu" -// Path from root: "/interfaces/interface/state/mtu" -func (n *Interface_MtuPath) State() ygnmi.SingletonQuery[uint16] { - return ygnmi.NewSingletonQuery[uint16]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "mtu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface).Mtu - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/mtu" -// Path from root: "/interfaces/interface/state/mtu" -func (n *Interface_MtuPathAny) State() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "mtu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface).Mtu - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/mtu" -// Path from root: "/interfaces/interface/config/mtu" -func (n *Interface_MtuPath) Config() ygnmi.ConfigQuery[uint16] { - return ygnmi.NewConfigQuery[uint16]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "mtu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface).Mtu - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/mtu" -// Path from root: "/interfaces/interface/config/mtu" -func (n *Interface_MtuPathAny) Config() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "mtu"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface).Mtu - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_NamePath represents the /openconfig-interfaces/interfaces/interface/config/name YANG schema element. -type Interface_NamePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_NamePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/name YANG schema element. -type Interface_NamePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/name" -// Path from root: "/interfaces/interface/state/name" -func (n *Interface_NamePath) State() ygnmi.SingletonQuery[string] { - return ygnmi.NewSingletonQuery[string]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "name"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Name - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/name" -// Path from root: "/interfaces/interface/state/name" -func (n *Interface_NamePathAny) State() ygnmi.WildcardQuery[string] { - return ygnmi.NewWildcardQuery[string]( - "Interface", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "name"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Name - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/name" -// Path from root: "/interfaces/interface/config/name" -func (n *Interface_NamePath) Config() ygnmi.ConfigQuery[string] { - return ygnmi.NewConfigQuery[string]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "name"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Name - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/name" -// Path from root: "/interfaces/interface/config/name" -func (n *Interface_NamePathAny) Config() ygnmi.WildcardQuery[string] { - return ygnmi.NewWildcardQuery[string]( - "Interface", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "name"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (string, bool) { - ret := gs.(*Interface).Name - if ret == nil { - var zero string - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_OperStatusPath represents the /openconfig-interfaces/interfaces/interface/state/oper-status YANG schema element. -type Interface_OperStatusPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_OperStatusPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/state/oper-status YANG schema element. -type Interface_OperStatusPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/oper-status" -// Path from root: "/interfaces/interface/state/oper-status" -func (n *Interface_OperStatusPath) State() ygnmi.SingletonQuery[E_Interface_OperStatus] { - return ygnmi.NewSingletonQuery[E_Interface_OperStatus]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "oper-status"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_Interface_OperStatus, bool) { - ret := gs.(*Interface).OperStatus - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/oper-status" -// Path from root: "/interfaces/interface/state/oper-status" -func (n *Interface_OperStatusPathAny) State() ygnmi.WildcardQuery[E_Interface_OperStatus] { - return ygnmi.NewWildcardQuery[E_Interface_OperStatus]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "oper-status"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_Interface_OperStatus, bool) { - ret := gs.(*Interface).OperStatus - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_TpidPath represents the /openconfig-interfaces/interfaces/interface/config/tpid YANG schema element. -type Interface_TpidPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_TpidPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/tpid YANG schema element. -type Interface_TpidPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/tpid" -// Path from root: "/interfaces/interface/state/tpid" -func (n *Interface_TpidPath) State() ygnmi.SingletonQuery[E_VlanTypes_TPID_TYPES] { - return ygnmi.NewSingletonQuery[E_VlanTypes_TPID_TYPES]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "tpid"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_TPID_TYPES, bool) { - ret := gs.(*Interface).Tpid - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/tpid" -// Path from root: "/interfaces/interface/state/tpid" -func (n *Interface_TpidPathAny) State() ygnmi.WildcardQuery[E_VlanTypes_TPID_TYPES] { - return ygnmi.NewWildcardQuery[E_VlanTypes_TPID_TYPES]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "tpid"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_TPID_TYPES, bool) { - ret := gs.(*Interface).Tpid - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/tpid" -// Path from root: "/interfaces/interface/config/tpid" -func (n *Interface_TpidPath) Config() ygnmi.ConfigQuery[E_VlanTypes_TPID_TYPES] { - return ygnmi.NewConfigQuery[E_VlanTypes_TPID_TYPES]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "tpid"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_TPID_TYPES, bool) { - ret := gs.(*Interface).Tpid - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/tpid" -// Path from root: "/interfaces/interface/config/tpid" -func (n *Interface_TpidPathAny) Config() ygnmi.WildcardQuery[E_VlanTypes_TPID_TYPES] { - return ygnmi.NewWildcardQuery[E_VlanTypes_TPID_TYPES]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "tpid"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_TPID_TYPES, bool) { - ret := gs.(*Interface).Tpid - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_TypePath represents the /openconfig-interfaces/interfaces/interface/config/type YANG schema element. -type Interface_TypePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_TypePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/config/type YANG schema element. -type Interface_TypePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/type" -// Path from root: "/interfaces/interface/state/type" -func (n *Interface_TypePath) State() ygnmi.SingletonQuery[E_IETFInterfaces_InterfaceType] { - return ygnmi.NewSingletonQuery[E_IETFInterfaces_InterfaceType]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IETFInterfaces_InterfaceType, bool) { - ret := gs.(*Interface).Type - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/type" -// Path from root: "/interfaces/interface/state/type" -func (n *Interface_TypePathAny) State() ygnmi.WildcardQuery[E_IETFInterfaces_InterfaceType] { - return ygnmi.NewWildcardQuery[E_IETFInterfaces_InterfaceType]( - "Interface", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IETFInterfaces_InterfaceType, bool) { - ret := gs.(*Interface).Type - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/type" -// Path from root: "/interfaces/interface/config/type" -func (n *Interface_TypePath) Config() ygnmi.ConfigQuery[E_IETFInterfaces_InterfaceType] { - return ygnmi.NewConfigQuery[E_IETFInterfaces_InterfaceType]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IETFInterfaces_InterfaceType, bool) { - ret := gs.(*Interface).Type - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "config/type" -// Path from root: "/interfaces/interface/config/type" -func (n *Interface_TypePathAny) Config() ygnmi.WildcardQuery[E_IETFInterfaces_InterfaceType] { - return ygnmi.NewWildcardQuery[E_IETFInterfaces_InterfaceType]( - "Interface", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IETFInterfaces_InterfaceType, bool) { - ret := gs.(*Interface).Type - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// InterfacePath represents the /openconfig-interfaces/interfaces/interface YANG schema element. -type InterfacePath struct { - *ygnmi.NodePath -} - -// InterfacePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface YANG schema element. -type InterfacePathAny struct { - *ygnmi.NodePath -} - -// InterfacePathMap represents the /openconfig-interfaces/interfaces/interface YANG schema element. -type InterfacePathMap struct { - *ygnmi.NodePath -} - -// InterfacePathMapAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface YANG schema element. -type InterfacePathMapAny struct { - *ygnmi.NodePath -} - -// AdminStatus (leaf): The desired state of the interface. In RFC 7223 this leaf -// has the same read semantics as ifAdminStatus. Here, it -// reflects the administrative state as set by enabling or -// disabling the interface. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/admin-status" -// Path from root: "/interfaces/interface/state/admin-status" -func (n *InterfacePath) AdminStatus() *Interface_AdminStatusPath { - ps := &Interface_AdminStatusPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "admin-status"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// AdminStatus (leaf): The desired state of the interface. In RFC 7223 this leaf -// has the same read semantics as ifAdminStatus. Here, it -// reflects the administrative state as set by enabling or -// disabling the interface. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/admin-status" -// Path from root: "/interfaces/interface/state/admin-status" -func (n *InterfacePathAny) AdminStatus() *Interface_AdminStatusPathAny { - ps := &Interface_AdminStatusPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "admin-status"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Aggregation (container): Options for logical interfaces representing -// aggregates -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "aggregation" -// Path from root: "/interfaces/interface/aggregation" -func (n *InterfacePath) Aggregation() *Interface_AggregationPath { - ps := &Interface_AggregationPath{ - NodePath: ygnmi.NewNodePath( - []string{"aggregation"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Aggregation (container): Options for logical interfaces representing -// aggregates -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "aggregation" -// Path from root: "/interfaces/interface/aggregation" -func (n *InterfacePathAny) Aggregation() *Interface_AggregationPathAny { - ps := &Interface_AggregationPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"aggregation"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Counters (container): A collection of interface specific statistics entitites which are -// not common to subinterfaces. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/counters" -// Path from root: "/interfaces/interface/state/counters" -func (n *InterfacePath) Counters() *Interface_CountersPath { - ps := &Interface_CountersPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "counters"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Counters (container): A collection of interface specific statistics entitites which are -// not common to subinterfaces. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/counters" -// Path from root: "/interfaces/interface/state/counters" -func (n *InterfacePathAny) Counters() *Interface_CountersPathAny { - ps := &Interface_CountersPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "counters"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Cpu (leaf): When set to true, the interface is for traffic -// that is handled by the system CPU, sometimes also called the -// control plane interface. On systems that represent the CPU -// interface as an Ethernet interface, for example, this leaf -// should be used to distinguish the CPU interface from dataplane -// interfaces. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/cpu" -// Path from root: "/interfaces/interface/state/cpu" -func (n *InterfacePath) Cpu() *Interface_CpuPath { - ps := &Interface_CpuPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "cpu"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Cpu (leaf): When set to true, the interface is for traffic -// that is handled by the system CPU, sometimes also called the -// control plane interface. On systems that represent the CPU -// interface as an Ethernet interface, for example, this leaf -// should be used to distinguish the CPU interface from dataplane -// interfaces. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/cpu" -// Path from root: "/interfaces/interface/state/cpu" -func (n *InterfacePathAny) Cpu() *Interface_CpuPathAny { - ps := &Interface_CpuPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "cpu"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Description (leaf): A textual description of the interface. -// -// A server implementation MAY map this leaf to the ifAlias -// MIB object. Such an implementation needs to use some -// mechanism to handle the differences in size and characters -// allowed between this leaf and ifAlias. The definition of -// such a mechanism is outside the scope of this document. -// -// Since ifAlias is defined to be stored in non-volatile -// storage, the MIB implementation MUST map ifAlias to the -// value of 'description' in the persistently stored -// datastore. -// -// Specifically, if the device supports ':startup', when -// ifAlias is read the device MUST return the value of -// 'description' in the 'startup' datastore, and when it is -// written, it MUST be written to the 'running' and 'startup' -// datastores. Note that it is up to the implementation to -// -// decide whether to modify this single leaf in 'startup' or -// perform an implicit copy-config from 'running' to -// 'startup'. -// -// If the device does not support ':startup', ifAlias MUST -// be mapped to the 'description' leaf in the 'running' -// datastore. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/description" -// Path from root: "/interfaces/interface/*/description" -func (n *InterfacePath) Description() *Interface_DescriptionPath { - ps := &Interface_DescriptionPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "description"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Description (leaf): A textual description of the interface. -// -// A server implementation MAY map this leaf to the ifAlias -// MIB object. Such an implementation needs to use some -// mechanism to handle the differences in size and characters -// allowed between this leaf and ifAlias. The definition of -// such a mechanism is outside the scope of this document. -// -// Since ifAlias is defined to be stored in non-volatile -// storage, the MIB implementation MUST map ifAlias to the -// value of 'description' in the persistently stored -// datastore. -// -// Specifically, if the device supports ':startup', when -// ifAlias is read the device MUST return the value of -// 'description' in the 'startup' datastore, and when it is -// written, it MUST be written to the 'running' and 'startup' -// datastores. Note that it is up to the implementation to -// -// decide whether to modify this single leaf in 'startup' or -// perform an implicit copy-config from 'running' to -// 'startup'. -// -// If the device does not support ':startup', ifAlias MUST -// be mapped to the 'description' leaf in the 'running' -// datastore. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/description" -// Path from root: "/interfaces/interface/*/description" -func (n *InterfacePathAny) Description() *Interface_DescriptionPathAny { - ps := &Interface_DescriptionPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "description"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Enabled (leaf): This leaf contains the configured, desired state of the -// interface. -// -// Systems that implement the IF-MIB use the value of this -// leaf in the 'running' datastore to set -// IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry -// has been initialized, as described in RFC 2863. -// -// Changes in this leaf in the 'running' datastore are -// reflected in ifAdminStatus, but if ifAdminStatus is -// changed over SNMP, this leaf is not affected. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/enabled" -// Path from root: "/interfaces/interface/*/enabled" -func (n *InterfacePath) Enabled() *Interface_EnabledPath { - ps := &Interface_EnabledPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "enabled"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Enabled (leaf): This leaf contains the configured, desired state of the -// interface. -// -// Systems that implement the IF-MIB use the value of this -// leaf in the 'running' datastore to set -// IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry -// has been initialized, as described in RFC 2863. -// -// Changes in this leaf in the 'running' datastore are -// reflected in ifAdminStatus, but if ifAdminStatus is -// changed over SNMP, this leaf is not affected. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/enabled" -// Path from root: "/interfaces/interface/*/enabled" -func (n *InterfacePathAny) Enabled() *Interface_EnabledPathAny { - ps := &Interface_EnabledPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "enabled"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Ethernet (container): Top-level container for ethernet configuration -// and state -// -// Defining module: "openconfig-if-ethernet" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "ethernet" -// Path from root: "/interfaces/interface/ethernet" -func (n *InterfacePath) Ethernet() *Interface_EthernetPath { - ps := &Interface_EthernetPath{ - NodePath: ygnmi.NewNodePath( - []string{"ethernet"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Ethernet (container): Top-level container for ethernet configuration -// and state -// -// Defining module: "openconfig-if-ethernet" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "ethernet" -// Path from root: "/interfaces/interface/ethernet" -func (n *InterfacePathAny) Ethernet() *Interface_EthernetPathAny { - ps := &Interface_EthernetPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"ethernet"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// HoldTime (container): Top-level container for hold-time settings to enable -// dampening advertisements of interface transitions. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "hold-time" -// Path from root: "/interfaces/interface/hold-time" -func (n *InterfacePath) HoldTime() *Interface_HoldTimePath { - ps := &Interface_HoldTimePath{ - NodePath: ygnmi.NewNodePath( - []string{"hold-time"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// HoldTime (container): Top-level container for hold-time settings to enable -// dampening advertisements of interface transitions. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "hold-time" -// Path from root: "/interfaces/interface/hold-time" -func (n *InterfacePathAny) HoldTime() *Interface_HoldTimePathAny { - ps := &Interface_HoldTimePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"hold-time"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Ifindex (leaf): System assigned number for each interface. Corresponds to -// ifIndex object in SNMP Interface MIB -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/ifindex" -// Path from root: "/interfaces/interface/state/ifindex" -func (n *InterfacePath) Ifindex() *Interface_IfindexPath { - ps := &Interface_IfindexPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "ifindex"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Ifindex (leaf): System assigned number for each interface. Corresponds to -// ifIndex object in SNMP Interface MIB -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/ifindex" -// Path from root: "/interfaces/interface/state/ifindex" -func (n *InterfacePathAny) Ifindex() *Interface_IfindexPathAny { - ps := &Interface_IfindexPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "ifindex"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LastChange (leaf): This timestamp indicates the absolute time of the last -// state change of the interface (e.g., up-to-down transition). -// This is different than the SNMP ifLastChange object in the -// standard interface MIB in that it is not relative to the -// system boot time (i.e,. sysUpTime). -// -// The value is the timestamp in nanoseconds relative to -// the Unix Epoch (Jan 1, 1970 00:00:00 UTC). -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/last-change" -// Path from root: "/interfaces/interface/state/last-change" -func (n *InterfacePath) LastChange() *Interface_LastChangePath { - ps := &Interface_LastChangePath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "last-change"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LastChange (leaf): This timestamp indicates the absolute time of the last -// state change of the interface (e.g., up-to-down transition). -// This is different than the SNMP ifLastChange object in the -// standard interface MIB in that it is not relative to the -// system boot time (i.e,. sysUpTime). -// -// The value is the timestamp in nanoseconds relative to -// the Unix Epoch (Jan 1, 1970 00:00:00 UTC). -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/last-change" -// Path from root: "/interfaces/interface/state/last-change" -func (n *InterfacePathAny) LastChange() *Interface_LastChangePathAny { - ps := &Interface_LastChangePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "last-change"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Logical (leaf): When set to true, the interface is a logical interface -// which does not have an associated physical port or -// channel on the system. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/logical" -// Path from root: "/interfaces/interface/state/logical" -func (n *InterfacePath) Logical() *Interface_LogicalPath { - ps := &Interface_LogicalPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "logical"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Logical (leaf): When set to true, the interface is a logical interface -// which does not have an associated physical port or -// channel on the system. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/logical" -// Path from root: "/interfaces/interface/state/logical" -func (n *InterfacePathAny) Logical() *Interface_LogicalPathAny { - ps := &Interface_LogicalPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "logical"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LoopbackMode (leaf): Sets the loopback type on the interface. Setting the -// mode to something besides NONE activates the loopback in -// the specified mode. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/loopback-mode" -// Path from root: "/interfaces/interface/*/loopback-mode" -func (n *InterfacePath) LoopbackMode() *Interface_LoopbackModePath { - ps := &Interface_LoopbackModePath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "loopback-mode"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LoopbackMode (leaf): Sets the loopback type on the interface. Setting the -// mode to something besides NONE activates the loopback in -// the specified mode. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/loopback-mode" -// Path from root: "/interfaces/interface/*/loopback-mode" -func (n *InterfacePathAny) LoopbackMode() *Interface_LoopbackModePathAny { - ps := &Interface_LoopbackModePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "loopback-mode"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Management (leaf): When set to true, the interface is a dedicated -// management interface that is not connected to dataplane -// interfaces. It may be used to connect the system to an -// out-of-band management network, for example. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/management" -// Path from root: "/interfaces/interface/state/management" -func (n *InterfacePath) Management() *Interface_ManagementPath { - ps := &Interface_ManagementPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "management"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Management (leaf): When set to true, the interface is a dedicated -// management interface that is not connected to dataplane -// interfaces. It may be used to connect the system to an -// out-of-band management network, for example. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/management" -// Path from root: "/interfaces/interface/state/management" -func (n *InterfacePathAny) Management() *Interface_ManagementPathAny { - ps := &Interface_ManagementPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "management"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Mtu (leaf): Set the max transmission unit size in octets -// for the physical interface. If this is not set, the mtu is -// set to the operational default -- e.g., 1514 bytes on an -// Ethernet interface. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/mtu" -// Path from root: "/interfaces/interface/*/mtu" -func (n *InterfacePath) Mtu() *Interface_MtuPath { - ps := &Interface_MtuPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "mtu"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Mtu (leaf): Set the max transmission unit size in octets -// for the physical interface. If this is not set, the mtu is -// set to the operational default -- e.g., 1514 bytes on an -// Ethernet interface. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/mtu" -// Path from root: "/interfaces/interface/*/mtu" -func (n *InterfacePathAny) Mtu() *Interface_MtuPathAny { - ps := &Interface_MtuPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "mtu"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Name (leaf): The name of the interface. -// -// A device MAY restrict the allowed values for this leaf, -// possibly depending on the type of the interface. -// For system-controlled interfaces, this leaf is the -// device-specific name of the interface. The 'config false' -// list interfaces/interface[name]/state contains the currently -// existing interfaces on the device. -// -// If a client tries to create configuration for a -// system-controlled interface that is not present in the -// corresponding state list, the server MAY reject -// the request if the implementation does not support -// pre-provisioning of interfaces or if the name refers to -// an interface that can never exist in the system. A -// NETCONF server MUST reply with an rpc-error with the -// error-tag 'invalid-value' in this case. -// -// The IETF model in RFC 7223 provides YANG features for the -// following (i.e., pre-provisioning and arbitrary-names), -// however they are omitted here: -// -// If the device supports pre-provisioning of interface -// configuration, the 'pre-provisioning' feature is -// advertised. -// -// If the device allows arbitrarily named user-controlled -// interfaces, the 'arbitrary-names' feature is advertised. -// -// When a configured user-controlled interface is created by -// the system, it is instantiated with the same name in the -// /interfaces/interface[name]/state list. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/name" -// Path from root: "/interfaces/interface/*/name" -func (n *InterfacePath) Name() *Interface_NamePath { - ps := &Interface_NamePath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "name"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Name (leaf): The name of the interface. -// -// A device MAY restrict the allowed values for this leaf, -// possibly depending on the type of the interface. -// For system-controlled interfaces, this leaf is the -// device-specific name of the interface. The 'config false' -// list interfaces/interface[name]/state contains the currently -// existing interfaces on the device. -// -// If a client tries to create configuration for a -// system-controlled interface that is not present in the -// corresponding state list, the server MAY reject -// the request if the implementation does not support -// pre-provisioning of interfaces or if the name refers to -// an interface that can never exist in the system. A -// NETCONF server MUST reply with an rpc-error with the -// error-tag 'invalid-value' in this case. -// -// The IETF model in RFC 7223 provides YANG features for the -// following (i.e., pre-provisioning and arbitrary-names), -// however they are omitted here: -// -// If the device supports pre-provisioning of interface -// configuration, the 'pre-provisioning' feature is -// advertised. -// -// If the device allows arbitrarily named user-controlled -// interfaces, the 'arbitrary-names' feature is advertised. -// -// When a configured user-controlled interface is created by -// the system, it is instantiated with the same name in the -// /interfaces/interface[name]/state list. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/name" -// Path from root: "/interfaces/interface/*/name" -func (n *InterfacePathAny) Name() *Interface_NamePathAny { - ps := &Interface_NamePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "name"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// OperStatus (leaf): The current operational state of the interface. -// -// This leaf has the same semantics as ifOperStatus. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/oper-status" -// Path from root: "/interfaces/interface/state/oper-status" -func (n *InterfacePath) OperStatus() *Interface_OperStatusPath { - ps := &Interface_OperStatusPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "oper-status"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// OperStatus (leaf): The current operational state of the interface. -// -// This leaf has the same semantics as ifOperStatus. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/oper-status" -// Path from root: "/interfaces/interface/state/oper-status" -func (n *InterfacePathAny) OperStatus() *Interface_OperStatusPathAny { - ps := &Interface_OperStatusPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "oper-status"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// PenaltyBasedAied (container): Top level container to suppress UP->DOWN link events using a penalty based additive-increase, exponential-decrease algorithm. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "penalty-based-aied" -// Path from root: "/interfaces/interface/penalty-based-aied" -func (n *InterfacePath) PenaltyBasedAied() *Interface_PenaltyBasedAiedPath { - ps := &Interface_PenaltyBasedAiedPath{ - NodePath: ygnmi.NewNodePath( - []string{"penalty-based-aied"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// PenaltyBasedAied (container): Top level container to suppress UP->DOWN link events using a penalty based additive-increase, exponential-decrease algorithm. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "penalty-based-aied" -// Path from root: "/interfaces/interface/penalty-based-aied" -func (n *InterfacePathAny) PenaltyBasedAied() *Interface_PenaltyBasedAiedPathAny { - ps := &Interface_PenaltyBasedAiedPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"penalty-based-aied"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// RoutedVlan (container): Top-level container for routed vlan interfaces. These -// logical interfaces are also known as SVI (switched virtual -// interface), IRB (integrated routing and bridging), RVI -// (routed VLAN interface) -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "routed-vlan" -// Path from root: "/interfaces/interface/routed-vlan" -func (n *InterfacePath) RoutedVlan() *Interface_RoutedVlanPath { - ps := &Interface_RoutedVlanPath{ - NodePath: ygnmi.NewNodePath( - []string{"routed-vlan"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// RoutedVlan (container): Top-level container for routed vlan interfaces. These -// logical interfaces are also known as SVI (switched virtual -// interface), IRB (integrated routing and bridging), RVI -// (routed VLAN interface) -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "routed-vlan" -// Path from root: "/interfaces/interface/routed-vlan" -func (n *InterfacePathAny) RoutedVlan() *Interface_RoutedVlanPathAny { - ps := &Interface_RoutedVlanPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"routed-vlan"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// SubinterfaceAny (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -func (n *InterfacePath) SubinterfaceAny() *Interface_SubinterfacePathAny { - ps := &Interface_SubinterfacePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces", "subinterface"}, - map[string]interface{}{"index": "*"}, - n, - ), - } - return ps -} - -// SubinterfaceAny (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -func (n *InterfacePathAny) SubinterfaceAny() *Interface_SubinterfacePathAny { - ps := &Interface_SubinterfacePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces", "subinterface"}, - map[string]interface{}{"index": "*"}, - n, - ), - } - return ps -} - -// Subinterface (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -// -// Index: uint32 -func (n *InterfacePath) Subinterface(Index uint32) *Interface_SubinterfacePath { - ps := &Interface_SubinterfacePath{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces", "subinterface"}, - map[string]interface{}{"index": Index}, - n, - ), - } - return ps -} - -// Subinterface (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -// -// Index: uint32 -func (n *InterfacePathAny) Subinterface(Index uint32) *Interface_SubinterfacePathAny { - ps := &Interface_SubinterfacePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces", "subinterface"}, - map[string]interface{}{"index": Index}, - n, - ), - } - return ps -} - -// SubinterfaceMap (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -func (n *InterfacePath) SubinterfaceMap() *Interface_SubinterfacePathMap { - ps := &Interface_SubinterfacePathMap{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// SubinterfaceMap (list): The list of subinterfaces (logical interfaces) associated -// with a physical interface -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "subinterfaces/subinterface" -// Path from root: "/interfaces/interface/subinterfaces/subinterface" -func (n *InterfacePathAny) SubinterfaceMap() *Interface_SubinterfacePathMapAny { - ps := &Interface_SubinterfacePathMapAny{ - NodePath: ygnmi.NewNodePath( - []string{"subinterfaces"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// Tpid (leaf): Optionally set the tag protocol identifier field (TPID) that -// is accepted on the VLAN -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/tpid" -// Path from root: "/interfaces/interface/*/tpid" -func (n *InterfacePath) Tpid() *Interface_TpidPath { - ps := &Interface_TpidPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "tpid"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Tpid (leaf): Optionally set the tag protocol identifier field (TPID) that -// is accepted on the VLAN -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/tpid" -// Path from root: "/interfaces/interface/*/tpid" -func (n *InterfacePathAny) Tpid() *Interface_TpidPathAny { - ps := &Interface_TpidPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "tpid"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Type (leaf): The type of the interface. -// -// When an interface entry is created, a server MAY -// initialize the type leaf with a valid value, e.g., if it -// is possible to derive the type from the name of the -// interface. -// -// If a client tries to set the type of an interface to a -// value that can never be used by the system, e.g., if the -// type is not supported or if the type does not match the -// name of the interface, the server MUST reject the request. -// A NETCONF server MUST reply with an rpc-error with the -// error-tag 'invalid-value' in this case. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/type" -// Path from root: "/interfaces/interface/*/type" -func (n *InterfacePath) Type() *Interface_TypePath { - ps := &Interface_TypePath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "type"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Type (leaf): The type of the interface. -// -// When an interface entry is created, a server MAY -// initialize the type leaf with a valid value, e.g., if it -// is possible to derive the type from the name of the -// interface. -// -// If a client tries to set the type of an interface to a -// value that can never be used by the system, e.g., if the -// type is not supported or if the type does not match the -// name of the interface, the server MUST reject the request. -// A NETCONF server MUST reply with an rpc-error with the -// error-tag 'invalid-value' in this case. -// -// Defining module: "openconfig-interfaces" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/type" -// Path from root: "/interfaces/interface/*/type" -func (n *InterfacePathAny) Type() *Interface_TypePathAny { - ps := &Interface_TypePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "type"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// State returns a Query that can be used in gNMI operations. -func (n *InterfacePath) State() ygnmi.SingletonQuery[*Interface] { - return ygnmi.NewSingletonQuery[*Interface]( - "Interface", - true, - true, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -func (n *InterfacePathAny) State() ygnmi.WildcardQuery[*Interface] { - return ygnmi.NewWildcardQuery[*Interface]( - "Interface", - true, - true, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *InterfacePath) Config() ygnmi.ConfigQuery[*Interface] { - return ygnmi.NewConfigQuery[*Interface]( - "Interface", - false, - false, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *InterfacePathAny) Config() ygnmi.WildcardQuery[*Interface] { - return ygnmi.NewWildcardQuery[*Interface]( - "Interface", - false, - false, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -func (n *InterfacePathMap) State() ygnmi.SingletonQuery[map[string]*Interface] { - return ygnmi.NewSingletonQuery[map[string]*Interface]( - "Device", - true, - true, - false, - false, - true, - true, - n, - func(gs ygot.ValidatedGoStruct) (map[string]*Interface, bool) { - ret := gs.(*Device).Interface - return ret, ret != nil - }, - func() ygot.ValidatedGoStruct { return new(Device) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - &ygnmi.CompressionInfo{ - PreRelPath: []string{"openconfig-interfaces:interfaces"}, - PostRelPath: []string{"openconfig-interfaces:interface"}, - }, - ) -} - -// State returns a Query that can be used in gNMI operations. -func (n *InterfacePathMapAny) State() ygnmi.WildcardQuery[map[string]*Interface] { - return ygnmi.NewWildcardQuery[map[string]*Interface]( - "Device", - true, - true, - false, - false, - true, - true, - n, - func(gs ygot.ValidatedGoStruct) (map[string]*Interface, bool) { - ret := gs.(*Device).Interface - return ret, ret != nil - }, - func() ygot.ValidatedGoStruct { return new(Device) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - &ygnmi.CompressionInfo{ - PreRelPath: []string{"openconfig-interfaces:interfaces"}, - PostRelPath: []string{"openconfig-interfaces:interface"}, - }, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *InterfacePathMap) Config() ygnmi.ConfigQuery[map[string]*Interface] { - return ygnmi.NewConfigQuery[map[string]*Interface]( - "Device", - false, - false, - false, - false, - true, - true, - n, - func(gs ygot.ValidatedGoStruct) (map[string]*Interface, bool) { - ret := gs.(*Device).Interface - return ret, ret != nil - }, - func() ygot.ValidatedGoStruct { return new(Device) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - &ygnmi.CompressionInfo{ - PreRelPath: []string{"openconfig-interfaces:interfaces"}, - PostRelPath: []string{"openconfig-interfaces:interface"}, - }, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *InterfacePathMapAny) Config() ygnmi.WildcardQuery[map[string]*Interface] { - return ygnmi.NewWildcardQuery[map[string]*Interface]( - "Device", - false, - false, - false, - false, - true, - true, - n, - func(gs ygot.ValidatedGoStruct) (map[string]*Interface, bool) { - ret := gs.(*Device).Interface - return ret, ret != nil - }, - func() ygot.ValidatedGoStruct { return new(Device) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - &ygnmi.CompressionInfo{ - PreRelPath: []string{"openconfig-interfaces:interfaces"}, - PostRelPath: []string{"openconfig-interfaces:interface"}, - }, - ) -} - -// Interface_Aggregation_LagSpeedPath represents the /openconfig-interfaces/interfaces/interface/aggregation/state/lag-speed YANG schema element. -type Interface_Aggregation_LagSpeedPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_LagSpeedPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/state/lag-speed YANG schema element. -type Interface_Aggregation_LagSpeedPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/lag-speed" -// Path from root: "/interfaces/interface/aggregation/state/lag-speed" -func (n *Interface_Aggregation_LagSpeedPath) State() ygnmi.SingletonQuery[uint32] { - return ygnmi.NewSingletonQuery[uint32]( - "Interface_Aggregation", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "lag-speed"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint32, bool) { - ret := gs.(*Interface_Aggregation).LagSpeed - if ret == nil { - var zero uint32 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/lag-speed" -// Path from root: "/interfaces/interface/aggregation/state/lag-speed" -func (n *Interface_Aggregation_LagSpeedPathAny) State() ygnmi.WildcardQuery[uint32] { - return ygnmi.NewWildcardQuery[uint32]( - "Interface_Aggregation", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "lag-speed"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint32, bool) { - ret := gs.(*Interface_Aggregation).LagSpeed - if ret == nil { - var zero uint32 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_LagTypePath represents the /openconfig-interfaces/interfaces/interface/aggregation/config/lag-type YANG schema element. -type Interface_Aggregation_LagTypePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_LagTypePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/config/lag-type YANG schema element. -type Interface_Aggregation_LagTypePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/lag-type" -// Path from root: "/interfaces/interface/aggregation/state/lag-type" -func (n *Interface_Aggregation_LagTypePath) State() ygnmi.SingletonQuery[E_IfAggregate_AggregationType] { - return ygnmi.NewSingletonQuery[E_IfAggregate_AggregationType]( - "Interface_Aggregation", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "lag-type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IfAggregate_AggregationType, bool) { - ret := gs.(*Interface_Aggregation).LagType - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/lag-type" -// Path from root: "/interfaces/interface/aggregation/state/lag-type" -func (n *Interface_Aggregation_LagTypePathAny) State() ygnmi.WildcardQuery[E_IfAggregate_AggregationType] { - return ygnmi.NewWildcardQuery[E_IfAggregate_AggregationType]( - "Interface_Aggregation", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "lag-type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IfAggregate_AggregationType, bool) { - ret := gs.(*Interface_Aggregation).LagType - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "config/lag-type" -// Path from root: "/interfaces/interface/aggregation/config/lag-type" -func (n *Interface_Aggregation_LagTypePath) Config() ygnmi.ConfigQuery[E_IfAggregate_AggregationType] { - return ygnmi.NewConfigQuery[E_IfAggregate_AggregationType]( - "Interface_Aggregation", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "lag-type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IfAggregate_AggregationType, bool) { - ret := gs.(*Interface_Aggregation).LagType - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "config/lag-type" -// Path from root: "/interfaces/interface/aggregation/config/lag-type" -func (n *Interface_Aggregation_LagTypePathAny) Config() ygnmi.WildcardQuery[E_IfAggregate_AggregationType] { - return ygnmi.NewWildcardQuery[E_IfAggregate_AggregationType]( - "Interface_Aggregation", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "lag-type"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_IfAggregate_AggregationType, bool) { - ret := gs.(*Interface_Aggregation).LagType - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_MemberPath represents the /openconfig-interfaces/interfaces/interface/aggregation/state/member YANG schema element. -type Interface_Aggregation_MemberPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_MemberPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/state/member YANG schema element. -type Interface_Aggregation_MemberPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/member" -// Path from root: "/interfaces/interface/aggregation/state/member" -func (n *Interface_Aggregation_MemberPath) State() ygnmi.SingletonQuery[[]string] { - return ygnmi.NewSingletonQuery[[]string]( - "Interface_Aggregation", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "member"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]string, bool) { - ret := gs.(*Interface_Aggregation).Member - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/member" -// Path from root: "/interfaces/interface/aggregation/state/member" -func (n *Interface_Aggregation_MemberPathAny) State() ygnmi.WildcardQuery[[]string] { - return ygnmi.NewWildcardQuery[[]string]( - "Interface_Aggregation", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "member"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]string, bool) { - ret := gs.(*Interface_Aggregation).Member - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_MinLinksPath represents the /openconfig-interfaces/interfaces/interface/aggregation/config/min-links YANG schema element. -type Interface_Aggregation_MinLinksPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_MinLinksPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/config/min-links YANG schema element. -type Interface_Aggregation_MinLinksPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/min-links" -// Path from root: "/interfaces/interface/aggregation/state/min-links" -func (n *Interface_Aggregation_MinLinksPath) State() ygnmi.SingletonQuery[uint16] { - return ygnmi.NewSingletonQuery[uint16]( - "Interface_Aggregation", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "min-links"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation).MinLinks - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "state/min-links" -// Path from root: "/interfaces/interface/aggregation/state/min-links" -func (n *Interface_Aggregation_MinLinksPathAny) State() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "min-links"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation).MinLinks - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "config/min-links" -// Path from root: "/interfaces/interface/aggregation/config/min-links" -func (n *Interface_Aggregation_MinLinksPath) Config() ygnmi.ConfigQuery[uint16] { - return ygnmi.NewConfigQuery[uint16]( - "Interface_Aggregation", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "min-links"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation).MinLinks - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-if-aggregate" -// Path from parent: "config/min-links" -// Path from root: "/interfaces/interface/aggregation/config/min-links" -func (n *Interface_Aggregation_MinLinksPathAny) Config() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "min-links"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation).MinLinks - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_AggregationPath represents the /openconfig-interfaces/interfaces/interface/aggregation YANG schema element. -type Interface_AggregationPath struct { - *ygnmi.NodePath -} - -// Interface_AggregationPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation YANG schema element. -type Interface_AggregationPathAny struct { - *ygnmi.NodePath -} - -// LagSpeed (leaf): Reports the effective speed of the aggregate interface, calculated -// as the sum of the speeds of member interfaces that are -// active (operationally up), forwarding-viable and selected by the -// aggregation protocol (e.g., LACP) for active traffic distribution -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/lag-speed" -// Path from root: "/interfaces/interface/aggregation/state/lag-speed" -func (n *Interface_AggregationPath) LagSpeed() *Interface_Aggregation_LagSpeedPath { - ps := &Interface_Aggregation_LagSpeedPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "lag-speed"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LagSpeed (leaf): Reports the effective speed of the aggregate interface, calculated -// as the sum of the speeds of member interfaces that are -// active (operationally up), forwarding-viable and selected by the -// aggregation protocol (e.g., LACP) for active traffic distribution -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/lag-speed" -// Path from root: "/interfaces/interface/aggregation/state/lag-speed" -func (n *Interface_AggregationPathAny) LagSpeed() *Interface_Aggregation_LagSpeedPathAny { - ps := &Interface_Aggregation_LagSpeedPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "lag-speed"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LagType (leaf): Sets the type of LAG, i.e., how it is -// configured / maintained -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/lag-type" -// Path from root: "/interfaces/interface/aggregation/*/lag-type" -func (n *Interface_AggregationPath) LagType() *Interface_Aggregation_LagTypePath { - ps := &Interface_Aggregation_LagTypePath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "lag-type"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// LagType (leaf): Sets the type of LAG, i.e., how it is -// configured / maintained -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/lag-type" -// Path from root: "/interfaces/interface/aggregation/*/lag-type" -func (n *Interface_AggregationPathAny) LagType() *Interface_Aggregation_LagTypePathAny { - ps := &Interface_Aggregation_LagTypePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "lag-type"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Member (leaf-list): List of current member interfaces for the aggregate, -// expressed as references to existing interfaces -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/member" -// Path from root: "/interfaces/interface/aggregation/state/member" -func (n *Interface_AggregationPath) Member() *Interface_Aggregation_MemberPath { - ps := &Interface_Aggregation_MemberPath{ - NodePath: ygnmi.NewNodePath( - []string{"state", "member"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// Member (leaf-list): List of current member interfaces for the aggregate, -// expressed as references to existing interfaces -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "state/member" -// Path from root: "/interfaces/interface/aggregation/state/member" -func (n *Interface_AggregationPathAny) Member() *Interface_Aggregation_MemberPathAny { - ps := &Interface_Aggregation_MemberPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"state", "member"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// MinLinks (leaf): Specifies the mininum number of member -// interfaces that must be active for the aggregate interface -// to be available -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/min-links" -// Path from root: "/interfaces/interface/aggregation/*/min-links" -func (n *Interface_AggregationPath) MinLinks() *Interface_Aggregation_MinLinksPath { - ps := &Interface_Aggregation_MinLinksPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "min-links"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// MinLinks (leaf): Specifies the mininum number of member -// interfaces that must be active for the aggregate interface -// to be available -// -// Defining module: "openconfig-if-aggregate" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/min-links" -// Path from root: "/interfaces/interface/aggregation/*/min-links" -func (n *Interface_AggregationPathAny) MinLinks() *Interface_Aggregation_MinLinksPathAny { - ps := &Interface_Aggregation_MinLinksPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "min-links"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// SwitchedVlan (container): Enclosing container for VLAN interface-specific -// data on Ethernet interfaces. These are for standard -// L2, switched-style VLANs. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "switched-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan" -func (n *Interface_AggregationPath) SwitchedVlan() *Interface_Aggregation_SwitchedVlanPath { - ps := &Interface_Aggregation_SwitchedVlanPath{ - NodePath: ygnmi.NewNodePath( - []string{"switched-vlan"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// SwitchedVlan (container): Enclosing container for VLAN interface-specific -// data on Ethernet interfaces. These are for standard -// L2, switched-style VLANs. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "switched-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan" -func (n *Interface_AggregationPathAny) SwitchedVlan() *Interface_Aggregation_SwitchedVlanPathAny { - ps := &Interface_Aggregation_SwitchedVlanPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"switched-vlan"}, - map[string]interface{}{}, - n, - ), - } - return ps -} - -// State returns a Query that can be used in gNMI operations. -func (n *Interface_AggregationPath) State() ygnmi.SingletonQuery[*Interface_Aggregation] { - return ygnmi.NewSingletonQuery[*Interface_Aggregation]( - "Interface_Aggregation", - true, - true, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -func (n *Interface_AggregationPathAny) State() ygnmi.WildcardQuery[*Interface_Aggregation] { - return ygnmi.NewWildcardQuery[*Interface_Aggregation]( - "Interface_Aggregation", - true, - true, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *Interface_AggregationPath) Config() ygnmi.ConfigQuery[*Interface_Aggregation] { - return ygnmi.NewConfigQuery[*Interface_Aggregation]( - "Interface_Aggregation", - false, - false, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -func (n *Interface_AggregationPathAny) Config() ygnmi.WildcardQuery[*Interface_Aggregation] { - return ygnmi.NewWildcardQuery[*Interface_Aggregation]( - "Interface_Aggregation", - false, - false, - false, - false, - true, - false, - n, - nil, - nil, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_SwitchedVlan_AccessVlanPath represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/access-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlan_AccessVlanPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_SwitchedVlan_AccessVlanPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/access-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlan_AccessVlanPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/access-vlan" -func (n *Interface_Aggregation_SwitchedVlan_AccessVlanPath) State() ygnmi.SingletonQuery[uint16] { - return ygnmi.NewSingletonQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "access-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).AccessVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/access-vlan" -func (n *Interface_Aggregation_SwitchedVlan_AccessVlanPathAny) State() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "access-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).AccessVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/access-vlan" -func (n *Interface_Aggregation_SwitchedVlan_AccessVlanPath) Config() ygnmi.ConfigQuery[uint16] { - return ygnmi.NewConfigQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "access-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).AccessVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/access-vlan" -func (n *Interface_Aggregation_SwitchedVlan_AccessVlanPathAny) Config() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "access-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).AccessVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_SwitchedVlan_InterfaceModePath represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/interface-mode YANG schema element. -type Interface_Aggregation_SwitchedVlan_InterfaceModePath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_SwitchedVlan_InterfaceModePathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/interface-mode YANG schema element. -type Interface_Aggregation_SwitchedVlan_InterfaceModePathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/interface-mode" -func (n *Interface_Aggregation_SwitchedVlan_InterfaceModePath) State() ygnmi.SingletonQuery[E_VlanTypes_VlanModeType] { - return ygnmi.NewSingletonQuery[E_VlanTypes_VlanModeType]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "interface-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_VlanModeType, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).InterfaceMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/interface-mode" -func (n *Interface_Aggregation_SwitchedVlan_InterfaceModePathAny) State() ygnmi.WildcardQuery[E_VlanTypes_VlanModeType] { - return ygnmi.NewWildcardQuery[E_VlanTypes_VlanModeType]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "interface-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_VlanModeType, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).InterfaceMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/interface-mode" -func (n *Interface_Aggregation_SwitchedVlan_InterfaceModePath) Config() ygnmi.ConfigQuery[E_VlanTypes_VlanModeType] { - return ygnmi.NewConfigQuery[E_VlanTypes_VlanModeType]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "interface-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_VlanModeType, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).InterfaceMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/interface-mode" -func (n *Interface_Aggregation_SwitchedVlan_InterfaceModePathAny) Config() ygnmi.WildcardQuery[E_VlanTypes_VlanModeType] { - return ygnmi.NewWildcardQuery[E_VlanTypes_VlanModeType]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "interface-mode"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (E_VlanTypes_VlanModeType, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).InterfaceMode - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_SwitchedVlan_NativeVlanPath represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/native-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlan_NativeVlanPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_SwitchedVlan_NativeVlanPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/native-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlan_NativeVlanPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/native-vlan" -func (n *Interface_Aggregation_SwitchedVlan_NativeVlanPath) State() ygnmi.SingletonQuery[uint16] { - return ygnmi.NewSingletonQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "native-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).NativeVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/native-vlan" -func (n *Interface_Aggregation_SwitchedVlan_NativeVlanPathAny) State() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"state", "native-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).NativeVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/native-vlan" -func (n *Interface_Aggregation_SwitchedVlan_NativeVlanPath) Config() ygnmi.ConfigQuery[uint16] { - return ygnmi.NewConfigQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "native-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).NativeVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/native-vlan" -func (n *Interface_Aggregation_SwitchedVlan_NativeVlanPathAny) Config() ygnmi.WildcardQuery[uint16] { - return ygnmi.NewWildcardQuery[uint16]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - true, - true, - false, - ygnmi.NewNodePath( - []string{"config", "native-vlan"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) (uint16, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).NativeVlan - if ret == nil { - var zero uint16 - return zero, false - } - return *ret, true - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_SwitchedVlan_TrunkVlansPath represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/trunk-vlans YANG schema element. -type Interface_Aggregation_SwitchedVlan_TrunkVlansPath struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// Interface_Aggregation_SwitchedVlan_TrunkVlansPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/trunk-vlans YANG schema element. -type Interface_Aggregation_SwitchedVlan_TrunkVlansPathAny struct { - *ygnmi.NodePath - parent ygnmi.PathStruct -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/trunk-vlans" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/trunk-vlans" -func (n *Interface_Aggregation_SwitchedVlan_TrunkVlansPath) State() ygnmi.SingletonQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union] { - return ygnmi.NewSingletonQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "trunk-vlans"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).TrunkVlans - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// State returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "state/trunk-vlans" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/state/trunk-vlans" -func (n *Interface_Aggregation_SwitchedVlan_TrunkVlansPathAny) State() ygnmi.WildcardQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union] { - return ygnmi.NewWildcardQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union]( - "Interface_Aggregation_SwitchedVlan", - true, - true, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"state", "trunk-vlans"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).TrunkVlans - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/trunk-vlans" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/trunk-vlans" -func (n *Interface_Aggregation_SwitchedVlan_TrunkVlansPath) Config() ygnmi.ConfigQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union] { - return ygnmi.NewConfigQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "trunk-vlans"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).TrunkVlans - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Config returns a Query that can be used in gNMI operations. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-vlan" -// Path from parent: "config/trunk-vlans" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/config/trunk-vlans" -func (n *Interface_Aggregation_SwitchedVlan_TrunkVlansPathAny) Config() ygnmi.WildcardQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union] { - return ygnmi.NewWildcardQuery[[]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union]( - "Interface_Aggregation_SwitchedVlan", - false, - false, - true, - false, - true, - false, - ygnmi.NewNodePath( - []string{"config", "trunk-vlans"}, - nil, - n.parent, - ), - func(gs ygot.ValidatedGoStruct) ([]Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, bool) { - ret := gs.(*Interface_Aggregation_SwitchedVlan).TrunkVlans - return ret, !reflect.ValueOf(ret).IsZero() - }, - func() ygot.ValidatedGoStruct { return new(Interface_Aggregation_SwitchedVlan) }, - func() *ytypes.Schema { - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: SchemaTree, - Unmarshal: Unmarshal, - } - }, - nil, - nil, - ) -} - -// Interface_Aggregation_SwitchedVlanPath represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlanPath struct { - *ygnmi.NodePath -} - -// Interface_Aggregation_SwitchedVlanPathAny represents the wildcard version of the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlanPathAny struct { - *ygnmi.NodePath -} - -// AccessVlan (leaf): Assign the access vlan to the access port. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/access-vlan" -func (n *Interface_Aggregation_SwitchedVlanPath) AccessVlan() *Interface_Aggregation_SwitchedVlan_AccessVlanPath { - ps := &Interface_Aggregation_SwitchedVlan_AccessVlanPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "access-vlan"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// AccessVlan (leaf): Assign the access vlan to the access port. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/access-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/access-vlan" -func (n *Interface_Aggregation_SwitchedVlanPathAny) AccessVlan() *Interface_Aggregation_SwitchedVlan_AccessVlanPathAny { - ps := &Interface_Aggregation_SwitchedVlan_AccessVlanPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "access-vlan"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// InterfaceMode (leaf): Set the interface to access or trunk mode for -// VLANs -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/interface-mode" -func (n *Interface_Aggregation_SwitchedVlanPath) InterfaceMode() *Interface_Aggregation_SwitchedVlan_InterfaceModePath { - ps := &Interface_Aggregation_SwitchedVlan_InterfaceModePath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "interface-mode"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// InterfaceMode (leaf): Set the interface to access or trunk mode for -// VLANs -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/interface-mode" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/interface-mode" -func (n *Interface_Aggregation_SwitchedVlanPathAny) InterfaceMode() *Interface_Aggregation_SwitchedVlan_InterfaceModePathAny { - ps := &Interface_Aggregation_SwitchedVlan_InterfaceModePathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "interface-mode"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// NativeVlan (leaf): Set the native VLAN id for untagged frames arriving on -// a trunk interface. Tagged frames sent on an interface -// configured with a native VLAN should have their tags -// stripped prior to transmission. This configuration is only -// valid on a trunk interface. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/native-vlan" -func (n *Interface_Aggregation_SwitchedVlanPath) NativeVlan() *Interface_Aggregation_SwitchedVlan_NativeVlanPath { - ps := &Interface_Aggregation_SwitchedVlan_NativeVlanPath{ - NodePath: ygnmi.NewNodePath( - []string{"*", "native-vlan"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// NativeVlan (leaf): Set the native VLAN id for untagged frames arriving on -// a trunk interface. Tagged frames sent on an interface -// configured with a native VLAN should have their tags -// stripped prior to transmission. This configuration is only -// valid on a trunk interface. -// -// Defining module: "openconfig-vlan" -// Instantiating module: "openconfig-interfaces" -// Path from parent: "*/native-vlan" -// Path from root: "/interfaces/interface/aggregation/switched-vlan/*/native-vlan" -func (n *Interface_Aggregation_SwitchedVlanPathAny) NativeVlan() *Interface_Aggregation_SwitchedVlan_NativeVlanPathAny { - ps := &Interface_Aggregation_SwitchedVlan_NativeVlanPathAny{ - NodePath: ygnmi.NewNodePath( - []string{"*", "native-vlan"}, - map[string]interface{}{}, - n, - ), - parent: n, - } - return ps -} - -// TrunkVlans (leaf-list): Specify VLANs, or ranges thereof, that the interface may -// carry when in trunk mode. If not specified, all VLANs are -// allowed on the interface. Ranges are specified in the form -// x..y, where x 0 { - t = IfIp_Ipv4AddressType_SECONDARY - } - addr := i.GetOrCreateSubinterface(uint32(0)).GetOrCreateIpv4().GetOrCreateAddress(ip.Addr().String()) - addr.SetPrefixLength(uint8(ip.Bits())) - addr.SetType(t) - } - case provider.IPv4Unnumbered: - i.GetOrCreateSubinterface(uint32(0)).GetOrCreateIpv4().GetOrCreateUnnumbered().GetOrCreateInterfaceRef().SetInterface(v.SourceInterface) - } - if req.Interface.Spec.Switchport != nil { - i.Tpid = VlanTypes_TPID_TYPES_TPID_0X8100 - - switch req.Interface.Spec.Type { - case v1alpha1.InterfaceTypePhysical: - port := i.GetOrCreateEthernet().GetOrCreateSwitchedVlan() - switch req.Interface.Spec.Switchport.Mode { - case v1alpha1.SwitchportModeAccess: - port.InterfaceMode = VlanTypes_VlanModeType_ACCESS - port.AccessVlan = ygot.Uint16(uint16(req.Interface.Spec.Switchport.AccessVlan)) - case v1alpha1.SwitchportModeTrunk: - port.InterfaceMode = VlanTypes_VlanModeType_TRUNK - port.NativeVlan = ygot.Uint16(uint16(req.Interface.Spec.Switchport.NativeVlan)) - for _, vlan := range req.Interface.Spec.Switchport.AllowedVlans { - union, err := port.To_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union(vlan) - if err != nil { - return fmt.Errorf("failed to convert vlan %d to union type: %w", vlan, err) - } - port.TrunkVlans = append(port.TrunkVlans, union) - } - default: - return fmt.Errorf("invalid switchport mode: %s", req.Interface.Spec.Switchport.Mode) - } - - case v1alpha1.InterfaceTypeAggregate: - port := i.GetOrCreateAggregation().GetOrCreateSwitchedVlan() - switch req.Interface.Spec.Switchport.Mode { - case v1alpha1.SwitchportModeAccess: - port.InterfaceMode = VlanTypes_VlanModeType_ACCESS - port.AccessVlan = ygot.Uint16(uint16(req.Interface.Spec.Switchport.AccessVlan)) - case v1alpha1.SwitchportModeTrunk: - port.InterfaceMode = VlanTypes_VlanModeType_TRUNK - port.NativeVlan = ygot.Uint16(uint16(req.Interface.Spec.Switchport.NativeVlan)) - for _, vlan := range req.Interface.Spec.Switchport.AllowedVlans { - port.TrunkVlans = append(port.TrunkVlans, UnionUint16(vlan)) - } - default: - return fmt.Errorf("invalid switchport mode: %s", req.Interface.Spec.Switchport.Mode) - } - - default: - return fmt.Errorf("switchport configuration is only supported on physical and aggregate interfaces") - } - } - - b, err := ygot.Marshal7951(i) - if err != nil { - return fmt.Errorf("failed to marshal interface: %w", err) - } - log.V(1).Info("Marshalled interface", "interface", string(b)) - - sb := new(ygnmi.SetBatch) - ygnmi.BatchUpdate(sb, Root().Interface(req.Interface.Spec.Name).Config(), i) - - for _, member := range req.Members { - ygnmi.BatchUpdate(sb, Root().Interface(member.Spec.Name).Ethernet().AggregateId().Config(), req.Interface.Spec.Name) - } - - _, err = sb.Set(ctx, p.client, ygnmi.WithEncoding(gpb.Encoding_JSON), ygnmi.WithSkipModuleNames()) - return err -} - -func (p *Provider) DeleteInterface(ctx context.Context, req *provider.InterfaceRequest) error { - switch req.Interface.Spec.Type { - case v1alpha1.InterfaceTypePhysical: - // For physical interfaces, we can't delete the interface directly. - // Instead, we reset the configuration and set the admin state down. - sb := new(ygnmi.SetBatch) - ygnmi.BatchUpdate(sb, Root().Interface(req.Interface.Spec.Name).Enabled().Config(), false) - ygnmi.BatchDelete(sb, Root().Interface(req.Interface.Spec.Name).Description().Config()) - ygnmi.BatchDelete(sb, Root().Interface(req.Interface.Spec.Name).SubinterfaceMap().Config()) - ygnmi.BatchDelete(sb, Root().Interface(req.Interface.Spec.Name).Ethernet().Config()) - ygnmi.BatchDelete(sb, Root().Interface(req.Interface.Spec.Name).Ethernet().SwitchedVlan().Config()) - _, err := sb.Set(ctx, p.client, ygnmi.WithEncoding(gpb.Encoding_JSON), ygnmi.WithSkipModuleNames()) - return err - case v1alpha1.InterfaceTypeLoopback: - _, err := ygnmi.Delete(ctx, p.client, Root().Interface(req.Interface.Spec.Name).Config()) - return err - case v1alpha1.InterfaceTypeAggregate: - _, err := ygnmi.Delete(ctx, p.client, Root().Interface(req.Interface.Spec.Name).Config()) - return err - case v1alpha1.InterfaceTypeRoutedVLAN: - _, err := ygnmi.Delete(ctx, p.client, Root().Interface(req.Interface.Spec.Name).Config()) - return err - } - - return fmt.Errorf("unsupported interface type: %s", req.Interface.Spec.Type) -} - -func (p *Provider) GetInterfaceStatus(context.Context, *provider.InterfaceRequest) (provider.InterfaceStatus, error) { - return provider.InterfaceStatus{}, nil -} - -func (p *Provider) InterfaceNameEqual(_ context.Context, a, b string) (bool, error) { - // TODO: implement provider specific logic to compare interface names - return a == b, nil -} - func init() { provider.Register("openconfig", NewProvider) } diff --git a/internal/provider/openconfig/schema.go b/internal/provider/openconfig/schema.go deleted file mode 100644 index 401b51761..000000000 --- a/internal/provider/openconfig/schema.go +++ /dev/null @@ -1,3919 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which represent a YANG schema. The generated schema can be -compressed by a series of transformations (compression was true -in this case). - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -var ( - // ySchema is a byte slice contain a gzip compressed representation of the - // YANG schema from which the Go code was generated. When uncompressed the - // contents of the byte slice is a JSON document containing an object, keyed - // on the name of the generated struct, and containing the JSON marshalled - // contents of a goyang yang.Entry struct, which defines the schema for the - // fields within the struct. - ySchema = []byte{ - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x4f, 0xe3, 0xca, - 0xd2, 0x36, 0xfc, 0x7d, 0x7e, 0x85, 0x15, 0x6d, 0x69, 0x0f, 0x8f, 0xc6, 0x43, 0x12, 0x42, 0x80, - 0x48, 0xb7, 0x1e, 0x65, 0x38, 0xac, 0x15, 0x6d, 0x4e, 0x02, 0x66, 0xf6, 0xda, 0x1a, 0xd8, 0xa8, - 0xb1, 0x3b, 0xc1, 0xcf, 0x38, 0xb6, 0x6f, 0xbb, 0xc3, 0xc0, 0x3b, 0xc3, 0x7f, 0x7f, 0x65, 0xe7, - 0x40, 0x20, 0xc9, 0x22, 0xee, 0x93, 0xdd, 0xc9, 0xc5, 0x87, 0xb5, 0x20, 0x13, 0xb7, 0xfb, 0x58, - 0x75, 0x5d, 0x55, 0xd5, 0x55, 0xbf, 0x3e, 0x58, 0x96, 0x65, 0x55, 0x4e, 0x49, 0x9f, 0x56, 0x5a, - 0x56, 0xc5, 0xa5, 0x0f, 0x9e, 0x43, 0x2b, 0x9f, 0x86, 0x9f, 0xfe, 0xcb, 0x0b, 0xdc, 0x4a, 0xcb, - 0xaa, 0x8d, 0xfe, 0xdc, 0x0f, 0x83, 0xae, 0xd7, 0xab, 0xb4, 0xac, 0xea, 0xe8, 0x83, 0x03, 0x2f, - 0xae, 0xb4, 0xac, 0x61, 0x13, 0xd9, 0x07, 0x5e, 0xc0, 0x68, 0xdc, 0x25, 0x0e, 0x4d, 0x5e, 0x7d, - 0xfe, 0xea, 0x15, 0x53, 0xdf, 0xf9, 0xf4, 0xfa, 0x1b, 0xaf, 0x5f, 0x37, 0xf9, 0xf8, 0xed, 0x6b, - 0x27, 0xff, 0x70, 0x1e, 0xd3, 0xae, 0xf7, 0x38, 0xf3, 0xa6, 0x57, 0x6f, 0x0b, 0x1d, 0xdb, 0xeb, - 0xbe, 0x79, 0x51, 0xf6, 0x85, 0xcb, 0x70, 0x10, 0x3b, 0x74, 0xee, 0xc3, 0xc3, 0xce, 0xd0, 0xa7, - 0x9f, 0x61, 0x9c, 0xf6, 0xa7, 0x12, 0x0d, 0xdf, 0xf3, 0x69, 0xfe, 0x17, 0xff, 0x24, 0x49, 0x3b, - 0xee, 0x0d, 0xfa, 0x34, 0x60, 0x95, 0x96, 0xc5, 0xe2, 0x01, 0x5d, 0xf0, 0xc5, 0xa9, 0x6f, 0x8d, - 0xba, 0x35, 0xf3, 0xbd, 0xe7, 0x57, 0x9f, 0x3c, 0xbf, 0x19, 0xef, 0xdb, 0xe9, 0x9e, 0x9d, 0xf6, - 0xc5, 0xc3, 0x99, 0x99, 0xfd, 0x45, 0xc3, 0x99, 0xbf, 0x08, 0xef, 0x2e, 0xc6, 0x32, 0x8b, 0xb2, - 0xf4, 0xe2, 0x2c, 0xbb, 0x48, 0xb9, 0x17, 0x2b, 0xf7, 0xa2, 0xe5, 0x59, 0xbc, 0xf9, 0x8b, 0xb8, - 0x60, 0x31, 0xdf, 0x5d, 0xd4, 0xc9, 0x17, 0x48, 0xaf, 0x17, 0xd3, 0x1e, 0x61, 0x5e, 0x18, 0xbc, - 0x3f, 0x11, 0xe3, 0x99, 0x9d, 0x7e, 0xe8, 0x9d, 0x91, 0xfd, 0xfd, 0x82, 0x2f, 0xbd, 0xf0, 0x79, - 0x36, 0xc0, 0xbc, 0x8d, 0xe0, 0x93, 0xde, 0x3b, 0x3d, 0xcd, 0xb3, 0x23, 0xb8, 0x77, 0x06, 0xf7, - 0x0e, 0x59, 0xb4, 0x53, 0xd2, 0x71, 0xbd, 0xfb, 0xe0, 0xf3, 0xdf, 0x7e, 0xe3, 0xf9, 0x9d, 0x19, - 0x7f, 0x6f, 0x0b, 0x4d, 0xbe, 0xe8, 0x8c, 0xd7, 0x70, 0xc9, 0xc9, 0x1b, 0x2f, 0xcf, 0xe8, 0xb9, - 0x25, 0x27, 0x60, 0xb9, 0x0d, 0x95, 0x7b, 0x63, 0xf1, 0x6c, 0x30, 0xfe, 0x8d, 0xc6, 0xbb, 0xe1, - 0x84, 0x37, 0x9e, 0xf0, 0x06, 0x14, 0xda, 0x88, 0xcb, 0x6d, 0xc8, 0x25, 0x37, 0x66, 0xee, 0x0d, - 0x3a, 0x79, 0xc0, 0x27, 0x3d, 0x9b, 0x3d, 0x45, 0x1c, 0xd3, 0x3e, 0x5e, 0xe8, 0x49, 0x0b, 0x39, - 0x27, 0x6d, 0xb4, 0x79, 0xab, 0x39, 0x1f, 0xcb, 0xbb, 0x89, 0x45, 0x36, 0xb3, 0xf8, 0xa6, 0x16, - 0xdd, 0xdc, 0xd2, 0x36, 0xb9, 0xb4, 0xcd, 0x2e, 0x65, 0xd3, 0xe7, 0xdb, 0xfc, 0x39, 0x0f, 0xc1, - 0xa4, 0x87, 0x57, 0x3c, 0xfb, 0x7a, 0x91, 0x72, 0xe7, 0xd9, 0xe3, 0xaf, 0x84, 0x74, 0x83, 0xe3, - 0xd9, 0xc3, 0x60, 0xd0, 0xe7, 0xdf, 0x33, 0x57, 0xe1, 0x25, 0x8b, 0xbd, 0xa0, 0xc7, 0xdd, 0x42, - 0xd6, 0x4a, 0x35, 0x9d, 0x88, 0xe3, 0xf6, 0xfe, 0x39, 0xe7, 0x8e, 0xcb, 0x1a, 0xa9, 0xa5, 0x8d, - 0x5c, 0x5e, 0xb5, 0xaf, 0x3a, 0xfb, 0x15, 0xae, 0x56, 0x9e, 0x3f, 0xf1, 0xce, 0x41, 0x27, 0xdb, - 0xa2, 0x02, 0x13, 0x90, 0x8d, 0x3d, 0xb7, 0xbc, 0x79, 0x7d, 0xfa, 0x87, 0x23, 0x6f, 0x59, 0x35, - 0xbe, 0xc1, 0x97, 0xec, 0x60, 0xb5, 0x83, 0x20, 0x64, 0xcb, 0xe1, 0xe4, 0xb9, 0xcf, 0x3f, 0xf5, - 0x42, 0x66, 0x87, 0x8e, 0xed, 0x84, 0xfd, 0x28, 0xa6, 0x49, 0x42, 0x5d, 0xdb, 0xa7, 0xa4, 0x9b, - 0x36, 0x96, 0xb3, 0xe3, 0x1f, 0x14, 0x0c, 0xb1, 0xd2, 0xf7, 0x02, 0xdb, 0xf7, 0x82, 0x1f, 0x09, - 0xbf, 0x52, 0x7c, 0x69, 0x02, 0x5a, 0x11, 0x5a, 0x71, 0xc5, 0xb4, 0xe2, 0xc0, 0x0b, 0x58, 0xad, - 0x29, 0xa0, 0x0b, 0x9b, 0x1c, 0x8f, 0x5e, 0x90, 0xa0, 0x97, 0xbe, 0xfd, 0x3b, 0xd7, 0xba, 0x08, - 0x88, 0xff, 0x13, 0x2f, 0x10, 0xd2, 0x1f, 0x59, 0x23, 0xdf, 0x88, 0x3f, 0xa0, 0x62, 0x4a, 0x24, - 0x6b, 0xe7, 0x28, 0x26, 0x4e, 0x2a, 0x77, 0x0f, 0xbc, 0x9e, 0xc7, 0x12, 0x09, 0x0d, 0x9e, 0x66, - 0xf0, 0xe6, 0x21, 0xed, 0x5b, 0x97, 0xf8, 0x09, 0xe5, 0x6e, 0xed, 0x59, 0x40, 0x3d, 0x9e, 0x90, - 0x47, 0x79, 0x53, 0xdc, 0xdc, 0xde, 0xde, 0xda, 0x5e, 0xdd, 0x69, 0xd6, 0x04, 0x20, 0x6e, 0x00, - 0x20, 0x54, 0xf2, 0x74, 0xce, 0x09, 0xa8, 0x24, 0xce, 0x3d, 0xed, 0x93, 0x88, 0xb0, 0xfb, 0x54, - 0x10, 0x6f, 0x86, 0x11, 0x0d, 0x86, 0x26, 0x23, 0xfb, 0xc5, 0xd8, 0xbf, 0x39, 0xef, 0xd7, 0xcd, - 0x29, 0x2a, 0xb3, 0x39, 0xb2, 0x32, 0x7d, 0x90, 0x33, 0xee, 0x25, 0xc6, 0x5c, 0x49, 0x18, 0x61, - 0x34, 0xbf, 0x39, 0x6c, 0xf8, 0x98, 0x62, 0x6b, 0x58, 0x1d, 0xd6, 0x30, 0x58, 0xc3, 0x5e, 0xac, - 0x61, 0x49, 0x44, 0xa9, 0x2b, 0x66, 0x0e, 0x1b, 0x36, 0x01, 0xe4, 0x0f, 0xe4, 0xbf, 0x82, 0xc8, - 0x7f, 0xab, 0x2e, 0x80, 0xfc, 0x77, 0x80, 0xfc, 0x81, 0xfc, 0x55, 0x21, 0xff, 0x46, 0x7d, 0xaf, - 0xb1, 0xd7, 0xdc, 0xa9, 0xef, 0x01, 0xfe, 0x6b, 0x86, 0xff, 0x4a, 0xcc, 0x70, 0x70, 0x4d, 0x41, - 0x15, 0x43, 0x15, 0x2f, 0x5a, 0x6f, 0xb8, 0xa6, 0xe0, 0x9a, 0x5a, 0x07, 0xd7, 0x94, 0x1a, 0x0f, - 0x0f, 0xed, 0xdf, 0xd1, 0x58, 0xc0, 0xbd, 0x33, 0x7c, 0x1e, 0x6a, 0x05, 0x6a, 0x65, 0xc5, 0xd4, - 0xca, 0x1d, 0x49, 0xe8, 0x8b, 0x2d, 0xd1, 0x8e, 0x69, 0x57, 0x44, 0xb1, 0xf0, 0xd0, 0xbd, 0xf3, - 0x89, 0x71, 0xd3, 0xb1, 0xbd, 0x6e, 0x6b, 0xca, 0x98, 0xf9, 0xe6, 0x83, 0xd1, 0xdf, 0x41, 0xda, - 0x73, 0xa5, 0xb3, 0x7a, 0xec, 0x25, 0xac, 0xcd, 0x58, 0xcc, 0x37, 0xb3, 0x27, 0x5e, 0x70, 0xe8, - 0xd3, 0x74, 0xdf, 0x70, 0x32, 0x89, 0x94, 0x24, 0x4d, 0xb5, 0x50, 0xdb, 0x6d, 0x34, 0x9a, 0x3b, - 0x8d, 0x46, 0x75, 0x67, 0x6b, 0xa7, 0xba, 0xb7, 0xbd, 0x5d, 0x6b, 0xd6, 0x38, 0xf8, 0x4e, 0xe5, - 0x2c, 0x76, 0x69, 0x4c, 0xdd, 0x2f, 0x4f, 0x95, 0x96, 0x15, 0x0c, 0x7c, 0x5f, 0xa4, 0x89, 0xaf, - 0x49, 0x26, 0x4c, 0xf3, 0x53, 0x9b, 0xbc, 0x2b, 0x41, 0x1f, 0x59, 0x4c, 0xec, 0x41, 0x90, 0x30, - 0x72, 0xe7, 0x73, 0xee, 0xf4, 0x9f, 0xf7, 0x34, 0x28, 0xc2, 0x9a, 0x30, 0x3e, 0x61, 0x9f, 0x3f, - 0x6f, 0x7e, 0xfe, 0x3c, 0x32, 0xc1, 0x6f, 0x8e, 0x19, 0x8a, 0xf5, 0x3f, 0xd6, 0x3f, 0x87, 0x9a, - 0xf8, 0x9f, 0x22, 0x58, 0x46, 0x50, 0xe6, 0xce, 0x93, 0xbd, 0xd9, 0x74, 0x09, 0xd2, 0x5f, 0x59, - 0x12, 0x78, 0xae, 0x24, 0x7e, 0x77, 0x3e, 0x0b, 0x31, 0x6c, 0x1c, 0xd0, 0xc4, 0x89, 0xbd, 0x88, - 0xdb, 0xc5, 0x35, 0x77, 0xeb, 0x5c, 0xdd, 0x53, 0x2b, 0xf1, 0xfa, 0x91, 0x4f, 0x2d, 0xdf, 0x4b, - 0x98, 0x15, 0x76, 0xad, 0x21, 0x12, 0xb1, 0x5e, 0xa4, 0xa4, 0xe5, 0x25, 0x16, 0x71, 0x98, 0xf7, - 0x40, 0xaf, 0x83, 0x74, 0xed, 0x2c, 0x76, 0x4f, 0xad, 0x31, 0x59, 0xa0, 0xe9, 0xbf, 0x26, 0x8c, - 0x30, 0xcf, 0x21, 0xbe, 0xff, 0x64, 0x0d, 0x67, 0x6d, 0x10, 0xe7, 0xb6, 0x56, 0xab, 0xda, 0x79, - 0x6f, 0x77, 0x9f, 0x3b, 0x35, 0x8d, 0x9f, 0xc4, 0x5b, 0x96, 0xbd, 0x11, 0x67, 0x36, 0xa3, 0xca, - 0x15, 0x12, 0xea, 0xe9, 0x33, 0x4c, 0x4e, 0xcb, 0xf0, 0x02, 0x44, 0x7e, 0x81, 0x1d, 0x80, 0x1d, - 0x2c, 0x5c, 0x6f, 0x44, 0x7e, 0xe5, 0x6e, 0x04, 0xfe, 0x9f, 0x77, 0xa8, 0x0d, 0x22, 0xbf, 0xd6, - 0x44, 0x0f, 0xaf, 0x50, 0x00, 0xd5, 0x30, 0x2e, 0x49, 0x67, 0xfc, 0xd4, 0x4f, 0x8f, 0x39, 0xf7, - 0xd4, 0xb5, 0x1f, 0x7c, 0x12, 0x70, 0xc4, 0x51, 0xbd, 0x7a, 0x7c, 0x35, 0x6e, 0x17, 0xe6, 0x18, - 0x8a, 0xb5, 0x52, 0x01, 0x55, 0xd9, 0xc0, 0x4d, 0x89, 0xa8, 0xca, 0x79, 0x11, 0x76, 0x66, 0xa1, - 0x73, 0x5d, 0x88, 0xe5, 0xdc, 0xba, 0xa5, 0xc1, 0xd2, 0x39, 0xb7, 0xf4, 0xfa, 0x80, 0xe9, 0x7c, - 0x5b, 0x5e, 0x0f, 0x9a, 0xce, 0x7b, 0x14, 0x26, 0x0f, 0x12, 0xc7, 0xa1, 0x49, 0x92, 0x4f, 0x92, - 0x2f, 0xdc, 0x35, 0xd3, 0x8d, 0x71, 0xce, 0x35, 0x1f, 0xf1, 0x14, 0x3e, 0x34, 0x32, 0x0e, 0x8f, - 0xc4, 0x43, 0xa4, 0xd2, 0x86, 0x2a, 0x74, 0xa8, 0xf4, 0x58, 0x51, 0xb9, 0x0f, 0x99, 0x20, 0x3c, - 0xe5, 0xf5, 0x9d, 0xf3, 0x52, 0xd9, 0x99, 0x1d, 0x93, 0x8e, 0xda, 0xf6, 0x44, 0xec, 0x9f, 0x02, - 0xdc, 0x56, 0x12, 0xc7, 0x15, 0xe7, 0xba, 0x52, 0x39, 0xef, 0x0c, 0x31, 0xab, 0x7d, 0x92, 0xd3, - 0x9e, 0x6c, 0x72, 0x26, 0x9f, 0xa4, 0x49, 0xe0, 0xc4, 0x52, 0xb9, 0xf1, 0xcc, 0x52, 0x34, 0xaa, - 0x7b, 0x8d, 0xf5, 0x5b, 0x8d, 0x82, 0x4c, 0xe7, 0x37, 0x5a, 0x65, 0xa2, 0x04, 0xe7, 0xe8, 0xa4, - 0x2d, 0x21, 0x27, 0xa9, 0x44, 0x71, 0x34, 0xe5, 0x34, 0x7d, 0x09, 0x4a, 0xe8, 0x87, 0x6e, 0xe6, - 0xe0, 0x6b, 0xef, 0xef, 0x1f, 0x5e, 0x5e, 0xfe, 0x53, 0x86, 0x63, 0x48, 0xa2, 0xfb, 0xca, 0x92, - 0xef, 0x40, 0x55, 0x06, 0x01, 0xe6, 0x42, 0x81, 0xbf, 0x9d, 0xeb, 0x52, 0x48, 0x46, 0x99, 0xce, - 0xd5, 0x99, 0xad, 0xd6, 0xce, 0x10, 0xb5, 0xf5, 0xed, 0xb8, 0x7d, 0x6a, 0x91, 0x24, 0xf1, 0x7a, - 0x01, 0x75, 0x2d, 0x16, 0x66, 0x5e, 0xba, 0x85, 0x19, 0xf5, 0xca, 0xb2, 0xf1, 0x2c, 0xa5, 0xfe, - 0x53, 0xe5, 0xfb, 0x70, 0x66, 0x2f, 0x2e, 0xb9, 0x18, 0x52, 0x5e, 0xfe, 0x0c, 0x3d, 0xa3, 0xd2, - 0xf4, 0x3a, 0xd3, 0x8e, 0xb4, 0x4b, 0xbc, 0xfc, 0x13, 0xc8, 0x31, 0x05, 0x95, 0xd7, 0xb2, 0x51, - 0x9c, 0xc1, 0xbf, 0x69, 0x0f, 0x24, 0x1e, 0x24, 0x1e, 0x24, 0x9e, 0x87, 0xc4, 0xa7, 0xc7, 0x87, - 0xf7, 0x2a, 0xc4, 0xdb, 0x73, 0x54, 0x13, 0x20, 0x49, 0x62, 0x57, 0x23, 0x5e, 0x66, 0x47, 0xc6, - 0x15, 0x89, 0x49, 0x6b, 0xd9, 0x55, 0x89, 0x21, 0x88, 0x93, 0x81, 0x97, 0xb3, 0x4b, 0x13, 0x57, - 0x17, 0x5f, 0x4f, 0xff, 0x25, 0x18, 0x96, 0xf4, 0x49, 0x74, 0x92, 0x44, 0xef, 0x50, 0xbc, 0x1c, - 0xa4, 0xe1, 0xe4, 0x48, 0xa1, 0xb1, 0xa3, 0xa9, 0xe1, 0xbd, 0x54, 0x21, 0x8e, 0x08, 0x9e, 0x81, - 0x08, 0xf4, 0x21, 0x82, 0x20, 0xb3, 0x56, 0x48, 0x32, 0xe8, 0x4f, 0x37, 0x06, 0x2c, 0x00, 0x2c, - 0x00, 0x2c, 0xc0, 0x83, 0x05, 0x60, 0xd0, 0x1f, 0x77, 0x04, 0x06, 0x7d, 0x18, 0xf4, 0x57, 0x6f, - 0x35, 0x60, 0xd0, 0xcf, 0xd9, 0x96, 0x11, 0x06, 0xfd, 0x0c, 0x35, 0xc3, 0x9e, 0x2f, 0xa1, 0xe1, - 0x77, 0xed, 0xf9, 0xa3, 0xa9, 0x5e, 0x7d, 0x73, 0xfe, 0x69, 0x26, 0x79, 0x86, 0x16, 0x64, 0x2f, - 0xb1, 0x1e, 0x88, 0xef, 0xb9, 0x56, 0x37, 0x8c, 0xd3, 0xd9, 0x0e, 0x7e, 0x58, 0xd9, 0x7c, 0xc0, - 0xac, 0xaf, 0x76, 0x3b, 0xce, 0x6c, 0xc9, 0x9c, 0x8b, 0x02, 0xf3, 0x3e, 0xc8, 0xbc, 0x2e, 0x32, - 0x9f, 0xed, 0xc0, 0x8c, 0x3a, 0x25, 0xe2, 0x64, 0x7e, 0xba, 0x31, 0x90, 0x79, 0x90, 0x79, 0x90, - 0xf9, 0x9c, 0x3b, 0x66, 0x10, 0x88, 0xa9, 0xb8, 0x89, 0x3d, 0x7f, 0x4f, 0xa0, 0x8d, 0xd1, 0x70, - 0x4a, 0x83, 0x9d, 0xc5, 0x2d, 0x1c, 0x12, 0x2d, 0x1d, 0x92, 0x2d, 0x1e, 0xf2, 0xa6, 0x4b, 0x89, - 0x05, 0x44, 0x95, 0x25, 0x44, 0x39, 0x07, 0x57, 0xc7, 0xc5, 0x25, 0x32, 0x01, 0x25, 0x96, 0x12, - 0x85, 0x16, 0x93, 0x55, 0x58, 0xb5, 0x92, 0x60, 0xeb, 0x9b, 0x22, 0xdd, 0x88, 0xb2, 0x65, 0x73, - 0x9c, 0x89, 0x42, 0x79, 0xe2, 0xb9, 0xb6, 0x2b, 0xa1, 0xad, 0x73, 0xc2, 0x18, 0x8d, 0x03, 0x69, - 0x12, 0xba, 0xf2, 0xb1, 0x51, 0xdd, 0xfb, 0x5e, 0xb5, 0x1b, 0x37, 0xbf, 0x1b, 0xd5, 0xef, 0x55, - 0x7b, 0xf7, 0xe6, 0x7b, 0xd5, 0xde, 0xbb, 0xf9, 0xfd, 0xbd, 0x66, 0x6f, 0x0d, 0x7f, 0xfd, 0xb5, - 0xf5, 0x9c, 0xfe, 0xb5, 0x37, 0xfa, 0xab, 0xf6, 0xa9, 0x3e, 0xfa, 0x7b, 0xe3, 0xfa, 0xfa, 0xf3, - 0xf5, 0xf5, 0x67, 0x81, 0x06, 0xc4, 0x29, 0xe1, 0x8d, 0x8c, 0x29, 0x3d, 0xbb, 0xec, 0xfc, 0x25, - 0x7d, 0x5e, 0xff, 0x5b, 0xe4, 0xc4, 0xfe, 0xa3, 0x52, 0xf4, 0x51, 0x36, 0x84, 0x26, 0x0b, 0x25, - 0x05, 0x9b, 0xc6, 0x26, 0x62, 0xc9, 0xc1, 0xa6, 0x55, 0xa6, 0xf4, 0x24, 0x61, 0x93, 0xc6, 0xc5, - 0x93, 0x85, 0xcd, 0x36, 0xc5, 0x9d, 0x34, 0x4c, 0x74, 0xe5, 0x60, 0x56, 0x2f, 0x8b, 0x59, 0x13, - 0x66, 0x75, 0x85, 0x60, 0x5a, 0x71, 0x94, 0xbc, 0xef, 0x87, 0x3f, 0xa9, 0x9b, 0x99, 0x70, 0x13, - 0xab, 0x4f, 0x9e, 0xac, 0x3b, 0x6a, 0x25, 0x11, 0x75, 0xbc, 0xae, 0x47, 0xdf, 0xda, 0x72, 0xaf, - 0x83, 0x17, 0x63, 0xee, 0x67, 0x98, 0xd8, 0xf5, 0x44, 0xce, 0xf3, 0x2f, 0x10, 0xcc, 0xed, 0x1a, - 0xb5, 0xd1, 0x2a, 0x99, 0xdb, 0x4b, 0x5d, 0x33, 0x4c, 0x52, 0xe6, 0x97, 0xe9, 0x4c, 0x2a, 0xb9, - 0x0a, 0x69, 0xe5, 0x9f, 0xa5, 0x3c, 0x99, 0xeb, 0xf2, 0x15, 0xd8, 0x9a, 0x11, 0xe7, 0x79, 0x0a, - 0x6d, 0xcd, 0xb0, 0x53, 0xde, 0x2c, 0x1b, 0x75, 0x64, 0xd9, 0x28, 0x54, 0x87, 0x20, 0xcb, 0xc6, - 0xb2, 0xbb, 0x06, 0x59, 0x36, 0x2c, 0xf8, 0xf1, 0x24, 0x80, 0x32, 0x04, 0xe5, 0x22, 0x28, 0x17, - 0x41, 0xb9, 0x08, 0xca, 0x5d, 0xcd, 0xd5, 0x40, 0x50, 0xee, 0x2a, 0x5a, 0x0f, 0x91, 0x65, 0x03, - 0x59, 0x36, 0x90, 0x65, 0x63, 0xb5, 0x6d, 0x85, 0xc8, 0xb2, 0xa1, 0x4e, 0xcf, 0x20, 0x29, 0x05, - 0x38, 0x2f, 0x38, 0x2f, 0x92, 0x52, 0x20, 0x29, 0xc5, 0x4c, 0x6b, 0x48, 0x4a, 0xf1, 0xee, 0x41, - 0x42, 0x52, 0x0a, 0xe4, 0x70, 0x80, 0xea, 0x84, 0xea, 0x5c, 0x43, 0xd5, 0x09, 0x73, 0xf1, 0xc4, - 0x46, 0x09, 0x73, 0x31, 0xcc, 0xc5, 0x2b, 0xb7, 0x1a, 0x30, 0x17, 0xe7, 0x6c, 0x0b, 0xc1, 0xa6, - 0xb2, 0x74, 0x3f, 0x82, 0x4d, 0x65, 0xcb, 0x45, 0xe4, 0x70, 0xc8, 0xbb, 0x07, 0x91, 0xc3, 0x41, - 0xb7, 0xce, 0xb0, 0x60, 0x3c, 0x9e, 0xbb, 0xaa, 0x48, 0x79, 0x00, 0xee, 0x0b, 0xee, 0x5b, 0x16, - 0xee, 0x8b, 0x94, 0x07, 0x4a, 0x0c, 0x02, 0x12, 0x0d, 0x03, 0x92, 0x0d, 0x04, 0xf2, 0xa6, 0x4b, - 0x89, 0xc1, 0x40, 0x95, 0xe1, 0x40, 0x39, 0x65, 0x55, 0x47, 0x5d, 0x25, 0x02, 0x67, 0x25, 0x86, - 0x05, 0x85, 0x06, 0x86, 0x55, 0x58, 0x35, 0xa4, 0x3c, 0x40, 0xca, 0x03, 0xbe, 0x06, 0x91, 0xf2, - 0x00, 0x29, 0x0f, 0x14, 0x1c, 0x65, 0xa4, 0x3c, 0xe0, 0x55, 0x99, 0x48, 0x79, 0xb0, 0x54, 0x0f, - 0x60, 0x85, 0x2e, 0x8b, 0x15, 0x10, 0x56, 0x68, 0x85, 0x60, 0x1a, 0x29, 0x0f, 0x84, 0xf6, 0x23, - 0x52, 0x1e, 0x14, 0x4d, 0x09, 0x56, 0xde, 0x3a, 0xbd, 0x76, 0x19, 0x02, 0x86, 0x17, 0xeb, 0x55, - 0x25, 0x08, 0xf8, 0x20, 0x71, 0x1a, 0x79, 0xa7, 0x4f, 0xc5, 0xb4, 0x55, 0x72, 0x65, 0x3e, 0x88, - 0x07, 0x0e, 0x0b, 0x46, 0x42, 0xba, 0x33, 0x6e, 0xfc, 0xb6, 0xfd, 0xd2, 0xf8, 0xed, 0xe5, 0xa8, - 0xf1, 0x6f, 0x4b, 0x5b, 0x94, 0xdf, 0x9f, 0xda, 0xbf, 0xff, 0xc6, 0x3b, 0x93, 0x5e, 0x69, 0x0f, - 0x7a, 0xa9, 0xd8, 0xa2, 0xee, 0x52, 0x50, 0x6a, 0xb9, 0xd5, 0x98, 0x68, 0xaa, 0xcd, 0xd0, 0xb1, - 0xbd, 0x6e, 0x6b, 0x6a, 0xce, 0xdf, 0x7c, 0x90, 0xfe, 0xed, 0x93, 0x5e, 0x6b, 0x6a, 0x01, 0x96, - 0x9c, 0xf2, 0x37, 0x2a, 0xb6, 0xd2, 0x76, 0xdd, 0xd1, 0xc5, 0x91, 0x84, 0x32, 0xe6, 0x05, 0xbd, - 0xc4, 0x62, 0xa1, 0x45, 0xac, 0xe3, 0xf6, 0x1f, 0x2f, 0xde, 0xbf, 0x65, 0xdb, 0xce, 0x97, 0x50, - 0x22, 0xb7, 0xa3, 0x87, 0xc7, 0xb1, 0x23, 0xe0, 0xc8, 0xe1, 0x55, 0xd7, 0xc2, 0x8e, 0x1a, 0x61, - 0x8d, 0x2b, 0xe6, 0x88, 0x91, 0x2b, 0x95, 0xf2, 0x26, 0x80, 0xa8, 0xbc, 0x16, 0x24, 0xfc, 0x19, - 0x51, 0x38, 0xe5, 0xd1, 0xbc, 0x43, 0x72, 0x18, 0x38, 0x7e, 0x98, 0x78, 0x41, 0xcf, 0x72, 0xc2, - 0x80, 0x11, 0x2f, 0xa0, 0x71, 0x86, 0x46, 0x86, 0xbe, 0xf3, 0x09, 0xa2, 0x1e, 0x41, 0x15, 0xe7, - 0x3a, 0x70, 0x09, 0x23, 0x56, 0x18, 0x58, 0x87, 0xec, 0x9e, 0xc6, 0x01, 0x65, 0x53, 0x8e, 0xf4, - 0xcf, 0x96, 0x75, 0x75, 0x4f, 0x13, 0x6a, 0x91, 0x98, 0x66, 0x8d, 0x24, 0x8c, 0x04, 0x2e, 0x89, - 0xdd, 0xeb, 0xe0, 0xb8, 0xfe, 0xc9, 0x9a, 0x74, 0x3b, 0x61, 0x4f, 0xfe, 0xd0, 0x3b, 0x9f, 0x1b, - 0x7f, 0x0a, 0x27, 0x76, 0xa9, 0x22, 0xb1, 0x4b, 0xa1, 0x48, 0xb9, 0x90, 0xc4, 0x2e, 0xb2, 0xe5, - 0x83, 0xa0, 0x02, 0x7e, 0xc7, 0xd8, 0xc9, 0x63, 0x12, 0xc9, 0x67, 0xfa, 0xe0, 0xd3, 0x31, 0x5e, - 0xb7, 0x35, 0x04, 0x4f, 0x23, 0x95, 0xcd, 0x9e, 0xa2, 0x8c, 0x65, 0x7b, 0x24, 0x20, 0x5e, 0x97, - 0xb5, 0x3c, 0x4a, 0xe9, 0x6e, 0xb5, 0xbe, 0x45, 0xdc, 0x63, 0xd2, 0xfb, 0xa7, 0x66, 0x6d, 0xc4, - 0x61, 0xb0, 0x90, 0xae, 0x8b, 0x72, 0x4e, 0x90, 0x92, 0x64, 0x5b, 0x22, 0x66, 0x86, 0xa9, 0x9c, - 0x42, 0x59, 0xfc, 0x54, 0x3a, 0xa7, 0xaf, 0x2f, 0xda, 0x5a, 0x5e, 0x92, 0x82, 0xa9, 0xec, 0x02, - 0x6e, 0x3a, 0xb8, 0xe3, 0xf6, 0x1f, 0x79, 0x27, 0x5d, 0x40, 0xa2, 0xc9, 0x33, 0x08, 0x48, 0x11, - 0x67, 0xaf, 0x96, 0x3f, 0xd7, 0x94, 0x95, 0x5c, 0x7a, 0xdd, 0x88, 0xd1, 0x87, 0x7c, 0x5c, 0x4d, - 0x0e, 0x47, 0x5b, 0x62, 0x0f, 0x2c, 0xc3, 0xc6, 0xfe, 0x7e, 0x65, 0x16, 0xcf, 0xdc, 0xdf, 0xcc, - 0x49, 0xc5, 0x19, 0x43, 0x8f, 0xbf, 0x9f, 0x8b, 0xc9, 0xe1, 0x1b, 0x7d, 0xff, 0x9d, 0x59, 0x5e, - 0x0e, 0x07, 0x2d, 0x8d, 0x7b, 0xf2, 0xe0, 0x9c, 0xd7, 0x3a, 0x61, 0x99, 0x99, 0xcf, 0x79, 0xe6, - 0xb9, 0x51, 0x0b, 0xf7, 0xb1, 0x9e, 0x95, 0xe4, 0x15, 0xc5, 0x24, 0x7b, 0x59, 0xee, 0xf0, 0x4a, - 0xd0, 0xb5, 0xf2, 0xb2, 0xed, 0xfc, 0x52, 0x32, 0x67, 0x84, 0xa3, 0x76, 0xa2, 0xbb, 0xd4, 0x86, - 0x5b, 0x3d, 0x9a, 0xbb, 0xcc, 0x86, 0x54, 0x43, 0x72, 0x73, 0x47, 0x0f, 0x4e, 0x25, 0xee, 0xcc, - 0xae, 0x63, 0xe7, 0x58, 0xae, 0x49, 0x80, 0x85, 0xd4, 0x11, 0x08, 0x78, 0x18, 0x2b, 0x31, 0xed, - 0xd2, 0x98, 0x06, 0x4e, 0xfe, 0x50, 0x3a, 0x01, 0xbe, 0x78, 0x71, 0xb4, 0x6f, 0xd5, 0x77, 0x9b, - 0x5b, 0xad, 0x94, 0x4e, 0x5b, 0x13, 0x45, 0x95, 0x58, 0x7f, 0xc4, 0xe1, 0x20, 0xb2, 0x4e, 0x3a, - 0x5f, 0x2c, 0xdb, 0xf2, 0xba, 0x6d, 0xdf, 0x23, 0x49, 0xc1, 0xa4, 0xf2, 0x65, 0x7e, 0xca, 0xc4, - 0x2b, 0x73, 0x4d, 0x60, 0x69, 0xc8, 0xe7, 0x4d, 0x29, 0x4c, 0xe6, 0xc2, 0xc9, 0x9a, 0x97, 0x60, - 0xc7, 0x4b, 0x40, 0x06, 0x1a, 0xa4, 0x87, 0xd5, 0xcd, 0xaf, 0xf2, 0xc6, 0x0f, 0x2e, 0x6d, 0x33, - 0xee, 0x92, 0x81, 0xcf, 0x72, 0x1d, 0xef, 0x4a, 0xba, 0x4d, 0x97, 0xdb, 0x37, 0x37, 0xd0, 0xba, - 0xd0, 0xba, 0x5a, 0xb5, 0xee, 0x5d, 0x18, 0xfa, 0x34, 0x9f, 0x33, 0x60, 0xac, 0x76, 0x6b, 0x50, - 0xbb, 0xcb, 0x68, 0x0d, 0xb7, 0xef, 0x05, 0x97, 0x8c, 0xb0, 0x01, 0x94, 0xaf, 0x88, 0xf2, 0x9d, - 0x9a, 0x46, 0xa8, 0xe0, 0x32, 0xaa, 0x60, 0x3f, 0x0c, 0xa3, 0x3b, 0xe2, 0xfc, 0xc8, 0x97, 0xb7, - 0x6d, 0x72, 0x9c, 0x5e, 0x3f, 0x0e, 0x3d, 0x08, 0x3d, 0xa8, 0x55, 0x0f, 0xbe, 0xda, 0x7e, 0x79, - 0xd3, 0x9c, 0xf1, 0xa4, 0x35, 0xe3, 0x4b, 0x63, 0x26, 0x96, 0xb6, 0x6c, 0x98, 0xa6, 0xec, 0xf4, - 0xec, 0xf4, 0x90, 0x47, 0x15, 0x65, 0x49, 0xc9, 0x8e, 0xda, 0xfb, 0x9d, 0xe3, 0xce, 0xd5, 0x7f, - 0x78, 0x1a, 0xa8, 0x67, 0x59, 0xcd, 0x0e, 0x2f, 0x4e, 0x3a, 0xa7, 0xed, 0x63, 0x9e, 0x06, 0xb6, - 0xb2, 0x38, 0x8d, 0xcb, 0xce, 0xfe, 0xed, 0xf9, 0x9f, 0xff, 0xb9, 0x3d, 0x3e, 0xdb, 0xe7, 0x6b, - 0xa6, 0xf1, 0xaa, 0x99, 0x8b, 0xc3, 0x93, 0xb3, 0x2b, 0xae, 0x09, 0xd9, 0x9e, 0xb4, 0x73, 0xd2, - 0xde, 0xe7, 0xef, 0x4e, 0xf3, 0x55, 0x33, 0xa3, 0xee, 0x28, 0x0d, 0x2f, 0xe3, 0x4f, 0xeb, 0xf6, - 0x76, 0xb8, 0x2d, 0x6b, 0xfb, 0x93, 0x40, 0x23, 0xa3, 0xc1, 0x72, 0xdd, 0x61, 0x7c, 0xbb, 0x11, - 0x5a, 0xd6, 0x96, 0x48, 0x23, 0x93, 0xae, 0x70, 0x5c, 0x2f, 0x7b, 0x39, 0x15, 0x5c, 0x77, 0x0a, - 0x87, 0x27, 0x92, 0xeb, 0x06, 0xc1, 0xcb, 0x71, 0x6a, 0x59, 0xf5, 0x12, 0x14, 0xef, 0x79, 0xe1, - 0xc7, 0x79, 0xc5, 0x4c, 0xaa, 0x85, 0x5e, 0x9e, 0x4e, 0x95, 0x10, 0xc0, 0xd5, 0x4b, 0x37, 0xfa, - 0x6c, 0x90, 0x1f, 0x52, 0xa5, 0x0f, 0x01, 0x48, 0x01, 0x48, 0x69, 0x05, 0x52, 0x03, 0x2f, 0x60, - 0xb5, 0x26, 0x07, 0x78, 0xca, 0xa1, 0x02, 0x38, 0xaf, 0xab, 0x73, 0xa8, 0x3b, 0x91, 0xeb, 0xe7, - 0x93, 0x3b, 0xcb, 0xbc, 0xd9, 0x3b, 0x64, 0x5d, 0x4c, 0x16, 0xbf, 0x80, 0xcc, 0x93, 0x8b, 0x45, - 0xe4, 0x1a, 0xf8, 0x64, 0xea, 0x9a, 0xdb, 0xdb, 0x5b, 0xdb, 0xe6, 0x4f, 0x1f, 0xec, 0x0f, 0xea, - 0x55, 0xe4, 0x28, 0x52, 0x23, 0xa7, 0x8e, 0xcc, 0x9e, 0x82, 0x92, 0x84, 0x92, 0xd4, 0xaa, 0x24, - 0xcb, 0xe2, 0xeb, 0x36, 0xfc, 0xc8, 0xb3, 0xc8, 0xe3, 0x70, 0xf9, 0x65, 0x4f, 0xa9, 0xf4, 0xf7, - 0x8d, 0xe2, 0x94, 0x33, 0x2b, 0x52, 0xd2, 0xba, 0x3a, 0xef, 0x1c, 0xdc, 0x56, 0xff, 0xda, 0xad, - 0x55, 0xab, 0x6b, 0xe5, 0x04, 0xc4, 0x1d, 0x13, 0xa3, 0x44, 0x92, 0xe7, 0xd2, 0x80, 0x79, 0xec, - 0x29, 0xa6, 0x5d, 0x1e, 0xb9, 0x94, 0x03, 0xa4, 0x55, 0x3a, 0xa3, 0x57, 0x7d, 0x21, 0x89, 0x40, - 0xa1, 0xdf, 0xec, 0x5c, 0x5d, 0xfd, 0xe7, 0xfc, 0x30, 0x6f, 0xc5, 0x85, 0x21, 0xb8, 0x4c, 0xb8, - 0x6e, 0xfe, 0x0b, 0xa6, 0x14, 0xcc, 0x2d, 0x0b, 0x04, 0x41, 0xb8, 0xa4, 0xee, 0xee, 0xb6, 0x77, - 0x0d, 0xea, 0xee, 0x9e, 0x59, 0xb3, 0xbb, 0x57, 0x37, 0xa8, 0xbb, 0xed, 0xd3, 0xff, 0xa8, 0x76, - 0xbf, 0xde, 0x18, 0x76, 0x69, 0xb8, 0x2c, 0x58, 0x28, 0x8f, 0xe4, 0x7f, 0xc1, 0x42, 0xcb, 0x3b, - 0xba, 0x40, 0x7f, 0x40, 0x7f, 0xde, 0x18, 0x78, 0x02, 0x97, 0xb0, 0x30, 0x7e, 0xca, 0x71, 0xd1, - 0x79, 0x8d, 0xf0, 0xc9, 0xcb, 0x6d, 0x58, 0x8e, 0xa2, 0x59, 0x05, 0x62, 0x14, 0x52, 0xab, 0x9f, - 0x44, 0xd1, 0x30, 0xcf, 0x80, 0x09, 0x7a, 0x89, 0x10, 0xbf, 0x6e, 0x48, 0x3f, 0xb7, 0x8d, 0xe8, - 0xa7, 0xc3, 0xa8, 0xef, 0x25, 0x27, 0x94, 0x91, 0xe3, 0xb3, 0xb3, 0x73, 0x23, 0xba, 0xec, 0x26, - 0xbe, 0x29, 0xfd, 0xac, 0x1b, 0xd3, 0xd1, 0xc8, 0xe7, 0x8a, 0xb5, 0xd3, 0xdf, 0xd9, 0xae, 0x4f, - 0x82, 0xec, 0xa6, 0xac, 0x51, 0xbd, 0x35, 0x43, 0x18, 0xf8, 0x83, 0xc3, 0xe3, 0x73, 0x53, 0x7a, - 0x1a, 0x85, 0x81, 0x41, 0x5d, 0x3d, 0x0e, 0x7b, 0x9e, 0x43, 0xfc, 0x63, 0x2f, 0xf8, 0x61, 0x50, - 0xaf, 0xcf, 0x82, 0x81, 0x41, 0xbd, 0x3d, 0xbf, 0x7f, 0x4a, 0xd2, 0x49, 0xfe, 0x1a, 0x78, 0x86, - 0xf4, 0xfa, 0x0f, 0xa3, 0xe6, 0xf8, 0x0f, 0x03, 0xe7, 0x38, 0x26, 0x91, 0x19, 0xfd, 0x74, 0x02, - 0xca, 0xcc, 0xe9, 0xe9, 0xb9, 0x29, 0x70, 0x21, 0x79, 0x0a, 0x1c, 0x23, 0x3a, 0xca, 0xfa, 0x86, - 0x74, 0xf3, 0xe0, 0xd1, 0x33, 0xa4, 0xa7, 0x47, 0x83, 0xc0, 0x94, 0xae, 0x76, 0xfa, 0xc4, 0x90, - 0x9e, 0x8e, 0x80, 0x8c, 0x21, 0xbd, 0xbd, 0x20, 0xae, 0x17, 0x1a, 0xd2, 0xd7, 0xcb, 0xc1, 0xdd, - 0xe4, 0x46, 0x94, 0x21, 0x5d, 0xfe, 0xe6, 0x78, 0x87, 0x81, 0x7b, 0xce, 0x4c, 0xe9, 0xae, 0x17, - 0xb3, 0x81, 0x31, 0x7b, 0xf7, 0x2e, 0x0c, 0x5c, 0x23, 0xba, 0xfa, 0xe0, 0x39, 0xde, 0x59, 0xc4, - 0x52, 0xb1, 0x90, 0x65, 0xfe, 0x33, 0xa1, 0xd3, 0x77, 0x24, 0xf1, 0x9c, 0xce, 0xe5, 0xc1, 0xa9, - 0x11, 0x9d, 0xed, 0x45, 0x51, 0xe8, 0x7b, 0xce, 0x13, 0x71, 0x9c, 0x70, 0x10, 0x30, 0x2f, 0xe8, - 0x19, 0xd1, 0x6d, 0x8f, 0x19, 0x01, 0x12, 0xef, 0x62, 0xcf, 0xed, 0x19, 0x21, 0x72, 0xef, 0x12, - 0x23, 0xc0, 0xac, 0x43, 0xee, 0x7c, 0x7a, 0x10, 0xfe, 0x0c, 0x12, 0x16, 0x53, 0xd2, 0xbf, 0xe8, - 0x9e, 0x87, 0x31, 0x33, 0xa3, 0xe3, 0xd1, 0x4f, 0x12, 0x1d, 0x84, 0xac, 0x56, 0xfb, 0x92, 0x24, - 0x86, 0xf5, 0xf8, 0x3c, 0x0e, 0xbb, 0x9e, 0x4f, 0xcd, 0xe9, 0xf5, 0xbf, 0x59, 0x34, 0xd2, 0xc8, - 0xc6, 0xc0, 0x34, 0xe7, 0xce, 0xff, 0x46, 0x1d, 0x46, 0x2e, 0x19, 0x31, 0x42, 0xcd, 0x39, 0x0e, - 0x3b, 0xec, 0x0f, 0x8c, 0x40, 0x3c, 0x5c, 0xd5, 0x76, 0x0b, 0xe8, 0xe6, 0x3d, 0x09, 0x02, 0x6a, - 0xc6, 0x8c, 0x7a, 0x89, 0x13, 0x76, 0x2e, 0x8f, 0x39, 0xf3, 0xe8, 0xea, 0xef, 0x6f, 0x60, 0xc6, - 0x99, 0x0a, 0xbb, 0x5d, 0x6a, 0x86, 0x98, 0x0d, 0xfb, 0x51, 0x98, 0x78, 0x8c, 0x9a, 0xe2, 0x76, - 0x70, 0x1d, 0x23, 0x36, 0xaa, 0xeb, 0x06, 0x7f, 0x99, 0xe1, 0xd2, 0x73, 0xbd, 0x9e, 0xc7, 0x88, - 0x7f, 0x1e, 0xfe, 0xa4, 0xb1, 0xef, 0x05, 0xd4, 0xa0, 0x3e, 0xff, 0x3b, 0x26, 0x51, 0x44, 0xe3, - 0xb3, 0x07, 0x1a, 0xdf, 0x53, 0xe2, 0xee, 0x9b, 0x23, 0x77, 0x5d, 0x3f, 0xf9, 0x69, 0x44, 0x3f, - 0x43, 0x27, 0xd9, 0x7f, 0x0d, 0xd5, 0x8d, 0xea, 0xf6, 0xc9, 0x7e, 0x9f, 0x25, 0xa6, 0xf6, 0x9d, - 0x38, 0x3e, 0x79, 0x32, 0xc3, 0x56, 0x32, 0xe9, 0xf4, 0xa9, 0xdb, 0x35, 0xac, 0xbf, 0x66, 0xcd, - 0xef, 0xa5, 0xc3, 0xe8, 0xf6, 0xb6, 0x5b, 0x3b, 0xfa, 0xe9, 0x9e, 0x85, 0x77, 0x46, 0x76, 0xfd, - 0x82, 0x32, 0x43, 0xbb, 0x5e, 0x3f, 0x48, 0x4c, 0xed, 0xf9, 0x57, 0xe3, 0x7a, 0xfe, 0x35, 0x32, - 0x50, 0x66, 0x8f, 0x3b, 0x6d, 0x12, 0x14, 0x79, 0xdb, 0x77, 0x73, 0x6c, 0x71, 0x69, 0xd7, 0xcf, - 0xba, 0x6e, 0xdf, 0x3c, 0x05, 0x9f, 0xf6, 0x9a, 0x18, 0xb5, 0xc3, 0x93, 0xaa, 0x21, 0xdd, 0xfc, - 0x32, 0x08, 0x5c, 0x33, 0x4c, 0x9c, 0x6e, 0x52, 0x33, 0xa4, 0x9b, 0x47, 0x07, 0xc7, 0x66, 0xf4, - 0xd4, 0x88, 0x90, 0x5f, 0xd7, 0x8c, 0x40, 0x1e, 0xf7, 0xe1, 0xae, 0x9d, 0x78, 0x9d, 0xc0, 0x9c, - 0xbe, 0x9e, 0x0d, 0x98, 0x21, 0x9d, 0xbd, 0x70, 0x1c, 0xc3, 0x94, 0x56, 0xd6, 0xe7, 0x13, 0xe2, - 0x1c, 0x1b, 0x43, 0x49, 0xb3, 0x1e, 0x1b, 0xa5, 0x63, 0xd3, 0x1e, 0x27, 0xc6, 0xcd, 0x71, 0x72, - 0xe5, 0x9a, 0x11, 0x9a, 0xe6, 0x3e, 0xdc, 0x5d, 0xb9, 0x46, 0xec, 0x04, 0x6a, 0x04, 0x30, 0xa0, - 0x4e, 0x68, 0x48, 0x44, 0x32, 0x35, 0xe3, 0x22, 0x08, 0x8d, 0xfc, 0xd8, 0x08, 0x0f, 0x27, 0x4d, - 0x1c, 0x43, 0x66, 0x74, 0x54, 0x66, 0x76, 0xeb, 0xe4, 0xce, 0x63, 0x26, 0x75, 0x78, 0x3f, 0xe9, - 0x13, 0xc7, 0x88, 0xd8, 0xbe, 0x2e, 0x49, 0x98, 0x29, 0xfd, 0x34, 0x26, 0xf6, 0x70, 0xd2, 0xd9, - 0xa3, 0xbf, 0x4c, 0xe9, 0xae, 0x21, 0x77, 0x6e, 0xbb, 0x8e, 0x17, 0x99, 0xe2, 0xeb, 0xee, 0xba, - 0xae, 0x11, 0xb7, 0x13, 0xba, 0xde, 0x5d, 0x4c, 0x0d, 0x32, 0x79, 0x76, 0xe3, 0x03, 0xdf, 0xa0, - 0xb0, 0xf4, 0x6e, 0x7c, 0x14, 0xc6, 0x3f, 0x49, 0x6c, 0x86, 0x3a, 0x88, 0x49, 0x9f, 0x5e, 0x50, - 0x9f, 0x3c, 0x99, 0xd5, 0xdb, 0xec, 0x5e, 0x85, 0x13, 0x06, 0x01, 0x75, 0x98, 0x59, 0x3d, 0x3f, - 0x39, 0xef, 0x98, 0xd5, 0xe1, 0x4b, 0x1a, 0x3f, 0x78, 0x66, 0x5c, 0x60, 0xe9, 0xc6, 0xdd, 0x5a, - 0xf3, 0xa4, 0x1b, 0x9b, 0x63, 0x54, 0xee, 0xed, 0x54, 0xb7, 0x08, 0xab, 0xf7, 0xef, 0xcc, 0xe9, - 0x6c, 0xb3, 0x61, 0x84, 0x36, 0xee, 0xed, 0xed, 0xed, 0xd6, 0x4c, 0xe9, 0x68, 0xdd, 0x94, 0x8e, - 0x1a, 0x61, 0xb1, 0xef, 0x99, 0x42, 0x72, 0x7a, 0x5d, 0x23, 0xee, 0xb2, 0xf7, 0xbc, 0x1e, 0xb9, - 0xf3, 0x86, 0x0c, 0xc7, 0x10, 0x13, 0x52, 0xcf, 0x90, 0x64, 0x22, 0xbd, 0x78, 0xab, 0xba, 0xd5, - 0x39, 0xb8, 0x32, 0xa6, 0xaf, 0x17, 0x86, 0xf4, 0x95, 0x19, 0x71, 0xb2, 0xee, 0xb7, 0xea, 0x5b, - 0x7f, 0x10, 0x46, 0x7f, 0x50, 0x1a, 0x99, 0x61, 0xea, 0x48, 0x7b, 0x7c, 0x1e, 0x87, 0x8f, 0x46, - 0xf0, 0x85, 0x7b, 0xf7, 0xbe, 0xb6, 0x5b, 0xaf, 0x9b, 0xd1, 0x55, 0xdf, 0x31, 0xa3, 0x9f, 0x86, - 0x24, 0x41, 0xbb, 0xf7, 0x22, 0x1a, 0xfb, 0x24, 0x30, 0xa5, 0xb3, 0x91, 0x67, 0x4c, 0x47, 0x8d, - 0x4a, 0x6a, 0x70, 0x1f, 0xf6, 0x69, 0x14, 0x10, 0x33, 0xba, 0x9a, 0xb0, 0x73, 0x62, 0x84, 0xdd, - 0xe8, 0x3e, 0x49, 0xcc, 0xd8, 0xaf, 0x4f, 0x11, 0x8d, 0x0d, 0xba, 0xe1, 0xe7, 0x91, 0x80, 0xd8, - 0x42, 0xb9, 0x67, 0x27, 0x4d, 0x0a, 0xe4, 0xa0, 0x15, 0x1b, 0xcc, 0xcc, 0xa0, 0xc4, 0x72, 0xd2, - 0x0a, 0x2c, 0x86, 0xec, 0x71, 0x70, 0xe5, 0xaa, 0x2d, 0x55, 0xff, 0xb7, 0x8d, 0xee, 0xbf, 0x68, - 0x6e, 0xdb, 0x12, 0x0d, 0x85, 0xcb, 0xff, 0x56, 0xae, 0xfe, 0xd7, 0x8d, 0x1f, 0x00, 0x5f, 0x8e, - 0xdc, 0x12, 0x0d, 0x42, 0x20, 0x77, 0x6e, 0x09, 0x47, 0x61, 0xb6, 0x70, 0xe2, 0xcc, 0xb5, 0x5b, - 0xae, 0x11, 0x70, 0x99, 0xcd, 0x4a, 0x37, 0x04, 0xa1, 0xdc, 0xbc, 0xa5, 0x1b, 0x0d, 0x57, 0x3e, - 0xd9, 0xd2, 0x8d, 0x42, 0x28, 0xcf, 0x6c, 0xa9, 0x46, 0xf3, 0xc7, 0x4a, 0xac, 0xc9, 0x1f, 0x2b, - 0xb4, 0x26, 0x5c, 0x39, 0x81, 0xcb, 0xd4, 0x7f, 0xbe, 0x5c, 0xc1, 0x65, 0x1b, 0xc1, 0xb9, 0xe9, - 0x70, 0x8a, 0x2f, 0xb7, 0x70, 0x89, 0x06, 0xc0, 0x73, 0x55, 0xa9, 0x54, 0xdd, 0xe7, 0xca, 0x45, - 0x5c, 0xaa, 0x11, 0xf0, 0xe5, 0x28, 0x2e, 0xd5, 0x10, 0xb8, 0x72, 0x17, 0x97, 0x6a, 0x04, 0xdc, - 0x39, 0x8d, 0x4b, 0x35, 0x0a, 0xce, 0x24, 0x7a, 0xa5, 0x1a, 0x83, 0x58, 0x0e, 0xe4, 0x52, 0x0d, - 0x85, 0x3f, 0x37, 0x72, 0xb9, 0x86, 0xc1, 0x9b, 0x33, 0xb9, 0x54, 0xa3, 0xe0, 0xcb, 0xa5, 0x5c, - 0xa2, 0x21, 0x88, 0xe7, 0x58, 0x2e, 0xcf, 0x60, 0x04, 0x72, 0x2f, 0x97, 0x68, 0x10, 0x32, 0x72, - 0x32, 0x97, 0x68, 0x38, 0x5c, 0xb9, 0x9a, 0x4b, 0xd4, 0x7f, 0xce, 0x1c, 0xce, 0x25, 0x1a, 0x41, - 0x62, 0x34, 0x99, 0x90, 0x94, 0xf3, 0xb9, 0x4c, 0x03, 0x12, 0xcb, 0x05, 0x5d, 0xca, 0x91, 0x70, - 0xe7, 0x88, 0x2e, 0xdb, 0x68, 0x84, 0x73, 0x47, 0x97, 0x68, 0x40, 0x42, 0x39, 0xa5, 0x4b, 0x34, - 0x0e, 0xde, 0x5c, 0xd3, 0x25, 0x1a, 0x02, 0x35, 0xfb, 0xa0, 0xf3, 0x46, 0xae, 0x94, 0x68, 0x08, - 0x42, 0x39, 0xab, 0x4b, 0x34, 0x8e, 0xc0, 0xec, 0xb3, 0xcc, 0x99, 0xe3, 0xba, 0x4c, 0x23, 0x10, - 0xca, 0x7d, 0x5d, 0x9e, 0x81, 0x70, 0xe5, 0xc4, 0x2e, 0x51, 0xf7, 0x39, 0x73, 0x65, 0x97, 0x68, - 0x04, 0xc2, 0x39, 0xb4, 0x4b, 0x37, 0x16, 0x59, 0xb9, 0xb5, 0x4b, 0x34, 0x30, 0xae, 0x9c, 0xdb, - 0x25, 0xea, 0xbf, 0x8c, 0x5c, 0xdc, 0x25, 0x1c, 0x8e, 0x70, 0x8e, 0xee, 0x32, 0x8e, 0x89, 0x3b, - 0x77, 0x77, 0x09, 0x07, 0xc3, 0x95, 0xd3, 0xbb, 0x94, 0xe3, 0x58, 0x8d, 0xf5, 0x10, 0xcd, 0x01, - 0x5e, 0xe2, 0x21, 0xf1, 0xe6, 0x06, 0x2f, 0xef, 0x90, 0x78, 0x73, 0x86, 0x97, 0x78, 0x44, 0x5f, - 0x57, 0x66, 0x44, 0xfc, 0xd9, 0x21, 0x4b, 0x3c, 0x98, 0x55, 0x80, 0x6a, 0xb2, 0x72, 0x92, 0x97, - 0x6b, 0x48, 0xa2, 0xb9, 0xca, 0xcb, 0x37, 0x1a, 0xb2, 0x12, 0x27, 0x88, 0x27, 0xb7, 0x79, 0xa9, - 0xba, 0xcf, 0x9b, 0x9e, 0xa6, 0x4c, 0x83, 0xa8, 0x19, 0xde, 0x7d, 0xae, 0x1c, 0xe9, 0x65, 0x1a, - 0x81, 0xd1, 0x57, 0x3e, 0x5c, 0xb3, 0x03, 0x15, 0xf9, 0x73, 0xad, 0x97, 0x6d, 0x0c, 0x5c, 0x39, - 0xd8, 0x4b, 0x35, 0x08, 0xc1, 0xdc, 0xec, 0x65, 0x1b, 0x0b, 0x7f, 0x3e, 0xf1, 0xb2, 0x8d, 0x64, - 0x25, 0xb0, 0x86, 0x60, 0x8e, 0xf7, 0xb2, 0x8d, 0x84, 0x2f, 0xf7, 0x7b, 0xa9, 0x46, 0xc1, 0x95, - 0x13, 0xbe, 0x3c, 0x23, 0xa0, 0x46, 0x03, 0x27, 0xde, 0x1c, 0xf2, 0x25, 0x1a, 0x81, 0xd9, 0x17, - 0x1c, 0x39, 0x73, 0xce, 0x97, 0x68, 0x00, 0x7c, 0xb9, 0xe8, 0x4b, 0x34, 0x00, 0xb1, 0x1c, 0xf5, - 0xe5, 0x1b, 0x08, 0x6f, 0xee, 0xfa, 0xf2, 0x8c, 0x84, 0x2f, 0xdd, 0x63, 0xb9, 0xfa, 0x6f, 0x7c, - 0x0c, 0xb8, 0x50, 0x0e, 0xfc, 0x72, 0x0d, 0xc3, 0xf0, 0xdc, 0x1c, 0xfc, 0x39, 0xf3, 0x4b, 0x34, - 0x06, 0xae, 0x5c, 0xfa, 0x25, 0xea, 0xbf, 0x50, 0x8e, 0xfd, 0x12, 0x8d, 0x43, 0x24, 0xf7, 0x7e, - 0x99, 0x86, 0xc1, 0x9d, 0x93, 0xbf, 0x4c, 0x83, 0xe0, 0xcf, 0xd5, 0x5f, 0xc6, 0x51, 0x88, 0xe5, - 0xf0, 0x2f, 0xe3, 0x88, 0xb8, 0x72, 0xfb, 0x97, 0x71, 0x20, 0xdc, 0x39, 0xff, 0xcb, 0x34, 0x18, - 0xb1, 0x5a, 0x00, 0xe5, 0x19, 0x89, 0x40, 0x8d, 0x80, 0xb2, 0x0d, 0x82, 0xab, 0x76, 0x40, 0x89, - 0x06, 0xc1, 0x57, 0x53, 0xa0, 0x5c, 0x03, 0xa8, 0x9b, 0x3e, 0x00, 0xa3, 0x3d, 0x5f, 0x3d, 0xd3, - 0xc9, 0x2a, 0x57, 0xcd, 0x82, 0x12, 0x75, 0x5f, 0xb4, 0x96, 0x41, 0x89, 0x86, 0x62, 0x78, 0xb2, - 0x36, 0xfe, 0xda, 0x07, 0x25, 0x1b, 0xc3, 0x85, 0xe1, 0x63, 0x60, 0x46, 0x9f, 0x68, 0xd1, 0x1a, - 0x0a, 0xe5, 0x1a, 0x09, 0x67, 0x6d, 0x85, 0x12, 0x0d, 0x82, 0xb7, 0xe6, 0x42, 0x99, 0x86, 0xe0, - 0x3b, 0x66, 0xf7, 0xdf, 0xf0, 0xe4, 0xbc, 0x02, 0xb5, 0x1b, 0x4a, 0x35, 0x88, 0xc8, 0x33, 0x7e, - 0x00, 0x2b, 0x91, 0xbc, 0x89, 0xbb, 0x06, 0x44, 0x99, 0x86, 0xc0, 0x59, 0x1b, 0xa2, 0x44, 0x43, - 0xe0, 0xaa, 0x19, 0x51, 0xa2, 0xfe, 0x0b, 0xd5, 0x92, 0x28, 0xcf, 0x38, 0xbc, 0xbb, 0xfe, 0xd6, - 0x4e, 0x35, 0x22, 0xf1, 0xfe, 0xbd, 0xd9, 0x57, 0xf2, 0x3d, 0xc3, 0x1d, 0x75, 0x1e, 0xa5, 0xb4, - 0xb6, 0xb5, 0xd7, 0x30, 0x7d, 0x0c, 0xbb, 0xd5, 0x7a, 0xad, 0xb6, 0x0a, 0x83, 0xa8, 0xaf, 0xc2, - 0x20, 0xb6, 0x57, 0x62, 0x3f, 0x35, 0xff, 0x7d, 0xd2, 0x3e, 0x5d, 0x81, 0x81, 0x6c, 0x11, 0xf7, - 0x98, 0x18, 0x9d, 0x48, 0xce, 0xeb, 0xda, 0xbd, 0xc4, 0x6c, 0x3d, 0xd1, 0x3d, 0xff, 0x79, 0xf5, - 0x14, 0x51, 0xb3, 0xc7, 0xf0, 0xad, 0xeb, 0x19, 0x3f, 0x08, 0xc3, 0x73, 0x00, 0x79, 0x7d, 0xa3, - 0x0d, 0xc6, 0x5e, 0xd0, 0xf5, 0x02, 0xef, 0x8e, 0x98, 0x9d, 0x39, 0x35, 0xab, 0x8e, 0xe6, 0x53, - 0xf2, 0x60, 0xf6, 0x51, 0x88, 0xcc, 0xee, 0xfd, 0x0a, 0xc4, 0xd3, 0x78, 0xd1, 0xd9, 0x03, 0x8d, - 0xdb, 0x66, 0x5f, 0x45, 0x1b, 0x0e, 0x62, 0xdf, 0x70, 0x8b, 0xe5, 0x68, 0x14, 0x3e, 0xf9, 0x69, - 0xf6, 0x28, 0xcc, 0xaf, 0x71, 0xe8, 0x25, 0x6e, 0x60, 0x7a, 0xff, 0x13, 0xd3, 0x07, 0x30, 0x30, - 0x7b, 0x00, 0xe1, 0xee, 0x6e, 0xb5, 0x5e, 0xf7, 0x0d, 0x17, 0x49, 0xc3, 0x61, 0x6c, 0x99, 0x7f, - 0x3d, 0x62, 0x34, 0x92, 0xc6, 0x55, 0xf8, 0x83, 0x06, 0x5f, 0x06, 0xc9, 0x0a, 0x8c, 0x65, 0x7b, - 0xff, 0xe2, 0xe8, 0xbc, 0x13, 0xb0, 0x55, 0x18, 0xca, 0x01, 0x8b, 0x57, 0x61, 0x18, 0x47, 0xde, - 0x1d, 0x5d, 0x89, 0x81, 0x64, 0xc7, 0xe4, 0xc2, 0xf0, 0xec, 0xff, 0xa3, 0xc1, 0x34, 0x4f, 0x0c, - 0x27, 0xdc, 0xc9, 0xc0, 0x68, 0x9e, 0xe4, 0xd7, 0x4d, 0x4f, 0x7b, 0xec, 0x6f, 0x79, 0xd1, 0x2a, - 0x8c, 0xe1, 0xd1, 0xf8, 0x41, 0x90, 0xe8, 0xce, 0xf0, 0xfe, 0xbb, 0x86, 0xf7, 0xdf, 0xe8, 0xbc, - 0x9a, 0xbe, 0x17, 0xd0, 0x5e, 0x1c, 0x1a, 0x2e, 0x4f, 0xfb, 0x66, 0x77, 0x3f, 0x74, 0x88, 0x7f, - 0x45, 0x7c, 0xa3, 0x2f, 0x41, 0xf4, 0x89, 0x73, 0x49, 0x9d, 0xfd, 0x30, 0x60, 0x71, 0xe8, 0xfb, - 0xd4, 0xed, 0x1c, 0x99, 0x3f, 0x9a, 0xaf, 0x81, 0xb3, 0x2a, 0xe3, 0xa1, 0xae, 0x47, 0x4e, 0x88, - 0xe7, 0x9f, 0x3d, 0xd0, 0xb8, 0x63, 0xf4, 0x69, 0xe9, 0x77, 0x2f, 0xbd, 0x9e, 0xe9, 0x17, 0x99, - 0xfb, 0x5e, 0xf8, 0x68, 0x76, 0xb6, 0xfc, 0x7e, 0xe8, 0x90, 0x6f, 0x34, 0x4e, 0xbc, 0x30, 0xa8, - 0x99, 0x3d, 0x0e, 0x97, 0x1a, 0x6d, 0xea, 0xef, 0x47, 0x8e, 0xd9, 0xdd, 0xa7, 0xbd, 0xab, 0x98, - 0x04, 0x49, 0x64, 0x78, 0x6e, 0xd8, 0x7e, 0xe4, 0x27, 0xa6, 0xf7, 0xff, 0x6a, 0x60, 0x7a, 0x14, - 0x63, 0x3f, 0x31, 0x3c, 0xfa, 0xaf, 0xff, 0x60, 0x76, 0xf7, 0x9f, 0x62, 0xcf, 0xf0, 0x0b, 0x74, - 0x41, 0x97, 0x18, 0x7d, 0x90, 0x83, 0xc4, 0xec, 0x28, 0x82, 0x70, 0x58, 0xfe, 0x76, 0x05, 0xd2, - 0xa4, 0xbc, 0x1e, 0xc9, 0x1f, 0xa6, 0xd3, 0xec, 0xd1, 0x70, 0x56, 0x42, 0x5b, 0x87, 0xa6, 0x27, - 0xd6, 0x0a, 0x59, 0x70, 0xe6, 0x0e, 0x4c, 0x1f, 0x01, 0x33, 0x7a, 0x04, 0x11, 0x89, 0x8d, 0xbe, - 0x3d, 0x14, 0xb9, 0x41, 0x76, 0xe3, 0xfd, 0x38, 0x0c, 0xa3, 0xda, 0xaa, 0x0c, 0xc4, 0xe8, 0x68, - 0xfd, 0xc8, 0x6c, 0xd5, 0x1d, 0x99, 0x1d, 0xdc, 0x11, 0x85, 0x41, 0x6d, 0x7b, 0xdb, 0xf0, 0x11, - 0x34, 0xcd, 0xbe, 0x65, 0x1d, 0x85, 0x46, 0x83, 0xef, 0x28, 0x8a, 0x0c, 0xef, 0xfe, 0xc9, 0xc0, - 0x67, 0x9e, 0xef, 0x05, 0x3f, 0xcc, 0x4f, 0x91, 0x15, 0xc5, 0x5e, 0x9f, 0xc4, 0x4f, 0x9d, 0xcb, - 0x83, 0x53, 0xb3, 0x87, 0x11, 0x46, 0x86, 0xc7, 0x23, 0xa7, 0x43, 0xf8, 0xf2, 0xef, 0x76, 0x54, - 0x3f, 0x89, 0x4c, 0x1f, 0xc6, 0x7e, 0x60, 0xb6, 0x9d, 0x2f, 0x1d, 0xc3, 0x41, 0xe8, 0x24, 0xff, - 0xf6, 0x62, 0xea, 0xd3, 0x64, 0x45, 0x8a, 0x76, 0xbe, 0x1d, 0xd5, 0x2a, 0xd4, 0xee, 0x7c, 0x3b, - 0xa6, 0x55, 0x28, 0x9d, 0x91, 0x8e, 0x29, 0xd3, 0x30, 0x91, 0x4f, 0x1f, 0x43, 0xe3, 0x97, 0xe7, - 0x3c, 0xf4, 0x02, 0x76, 0x15, 0x66, 0xff, 0xbb, 0xa4, 0xb1, 0x47, 0x7c, 0xd3, 0x47, 0xf4, 0xcd, - 0x8b, 0xd9, 0xc0, 0xfc, 0x61, 0x8c, 0xcf, 0xcc, 0x79, 0xfd, 0xdc, 0xf0, 0xa1, 0x30, 0x1a, 0x06, - 0xb5, 0xaa, 0xe9, 0x65, 0x05, 0x46, 0x03, 0xd9, 0x35, 0x7f, 0x20, 0x66, 0x03, 0xb1, 0xff, 0xad, - 0xef, 0x6d, 0x19, 0x6d, 0xea, 0xf9, 0x5f, 0xb3, 0xf5, 0xdf, 0xff, 0x1a, 0x7e, 0xff, 0x25, 0x26, - 0xae, 0x17, 0x9e, 0xb4, 0xf7, 0x0d, 0x1f, 0x83, 0xd9, 0x3e, 0xe2, 0x98, 0x12, 0xe7, 0xfe, 0xe0, - 0xf2, 0xd8, 0xec, 0x31, 0xf4, 0x06, 0x3e, 0x89, 0x4d, 0x4f, 0x0a, 0x18, 0x77, 0x9d, 0x5a, 0xc3, - 0xec, 0xdc, 0xc3, 0x71, 0xd7, 0xd9, 0xdd, 0xd9, 0x31, 0x3c, 0x1c, 0x2d, 0x8e, 0x8c, 0xe6, 0x12, - 0x71, 0x52, 0xdf, 0x32, 0xfb, 0x1c, 0x24, 0xb1, 0xd1, 0xf7, 0x10, 0x12, 0xd7, 0xf1, 0xcc, 0xee, - 0xbf, 0xd9, 0xb8, 0xc2, 0xf4, 0xb0, 0xad, 0xe4, 0xde, 0xf4, 0x01, 0x98, 0xed, 0x79, 0x4c, 0xbc, - 0xe8, 0xd2, 0xeb, 0x19, 0x3e, 0x82, 0x2b, 0xc3, 0x07, 0xf0, 0x78, 0x15, 0x1e, 0x85, 0x03, 0xa3, - 0x15, 0x71, 0xe2, 0x1b, 0x7e, 0x0e, 0xfa, 0x6e, 0x72, 0xf0, 0xe8, 0x99, 0x3e, 0x84, 0x8e, 0x63, - 0xf8, 0x32, 0x84, 0x5d, 0xf6, 0x93, 0xc4, 0xf4, 0x38, 0x0c, 0xa3, 0x3b, 0xe2, 0xfc, 0x30, 0x7b, - 0x2c, 0x86, 0x07, 0xf4, 0x66, 0x03, 0x38, 0x7b, 0xa0, 0xf1, 0x3d, 0x25, 0xee, 0x0a, 0x84, 0x95, - 0x66, 0xe3, 0x39, 0x27, 0xec, 0xde, 0xf8, 0x41, 0x7c, 0x33, 0xba, 0x42, 0x46, 0x12, 0x9b, 0x2d, - 0xa3, 0x92, 0x9d, 0x15, 0xb8, 0x49, 0x97, 0x30, 0xe2, 0xfc, 0xb8, 0x0a, 0x2f, 0x99, 0xe9, 0x52, - 0x96, 0x91, 0xf8, 0xd8, 0xec, 0x5c, 0x04, 0xcc, 0x70, 0x0e, 0xca, 0xa8, 0xe9, 0x87, 0x81, 0xd1, - 0xb8, 0x6f, 0x78, 0x39, 0x00, 0x16, 0x57, 0xab, 0xbb, 0x66, 0x0f, 0x80, 0x04, 0x49, 0xf4, 0xa7, - 0xe9, 0x67, 0xc1, 0xf8, 0x9b, 0x80, 0x03, 0x9f, 0x99, 0x1d, 0x9d, 0x3f, 0x48, 0x8c, 0xb6, 0xa8, - 0x3e, 0x98, 0x9d, 0xfc, 0xff, 0x61, 0x6b, 0xdb, 0xec, 0xee, 0x37, 0xcd, 0xee, 0xfe, 0x8e, 0xd1, - 0xdd, 0x37, 0xdc, 0x18, 0xfc, 0x60, 0x7a, 0xa9, 0xb0, 0x87, 0x61, 0x14, 0x5b, 0x27, 0x6a, 0xbb, - 0x6e, 0x4c, 0x93, 0x64, 0x05, 0xc6, 0x62, 0xb6, 0x71, 0xf8, 0xa1, 0xff, 0x93, 0xc4, 0xf4, 0xd4, - 0x73, 0xae, 0x0c, 0x0f, 0x60, 0x1d, 0x0e, 0x64, 0x14, 0x25, 0x79, 0xea, 0x19, 0x0d, 0xf2, 0x1e, - 0x42, 0xcf, 0xa1, 0x07, 0x9d, 0x03, 0xe3, 0xc7, 0x70, 0xf8, 0xe5, 0xd2, 0xfc, 0x31, 0x9c, 0xac, - 0xc0, 0x10, 0x8e, 0xfe, 0x58, 0x81, 0xcd, 0x14, 0x38, 0x24, 0x32, 0x7e, 0x14, 0x47, 0x7f, 0x1c, - 0x1c, 0xb6, 0x4f, 0xdb, 0xab, 0x30, 0x8e, 0x33, 0xf3, 0x0f, 0xf7, 0xd1, 0x5f, 0x67, 0x2b, 0x30, - 0x06, 0xf3, 0xd7, 0x61, 0x05, 0x4a, 0x7b, 0x4c, 0xc6, 0xb1, 0x4f, 0xee, 0xcc, 0xbe, 0x9e, 0x39, - 0x19, 0xc9, 0x51, 0x4c, 0xfa, 0xf4, 0x82, 0xfa, 0xe4, 0x69, 0x25, 0x86, 0x63, 0x76, 0x7e, 0xc5, - 0x9f, 0x3f, 0x49, 0x70, 0x7e, 0x6e, 0xfe, 0x08, 0x8c, 0xe6, 0xaf, 0x8f, 0xf5, 0xda, 0x96, 0xd9, - 0xfd, 0xdf, 0xbe, 0x1f, 0x04, 0xcc, 0xf8, 0x94, 0x47, 0x8f, 0xf5, 0xed, 0xbe, 0x6f, 0xfa, 0x08, - 0x22, 0xb3, 0xd5, 0xc4, 0xe3, 0x6e, 0xf3, 0x98, 0x44, 0x46, 0x9b, 0x70, 0x1e, 0xef, 0xc2, 0xc7, - 0xf1, 0x8d, 0x44, 0x81, 0x71, 0x70, 0x3d, 0x79, 0xf3, 0x41, 0xc3, 0x7c, 0xf1, 0xcd, 0x93, 0xac, - 0xda, 0xd3, 0x05, 0x74, 0x98, 0xcb, 0xc0, 0x5b, 0x40, 0x3f, 0xb9, 0x6b, 0x49, 0x17, 0xd3, 0x57, - 0xce, 0x9a, 0xd1, 0xc5, 0x75, 0xb6, 0x6e, 0x52, 0x67, 0xb7, 0x8d, 0xda, 0x07, 0x9c, 0xb5, 0x9e, - 0x0b, 0xeb, 0x30, 0x6f, 0x4d, 0xe7, 0x02, 0x3a, 0xcc, 0x59, 0xbb, 0xb9, 0x88, 0x9e, 0xf2, 0xd6, - 0x68, 0x2e, 0xa2, 0xaf, 0xdc, 0xb5, 0x98, 0x0b, 0xe8, 0xac, 0x6f, 0x88, 0xa2, 0xe5, 0xa9, 0xad, - 0x5c, 0x40, 0x37, 0x05, 0x6a, 0x28, 0x17, 0xd1, 0x5b, 0xfe, 0x5a, 0xc9, 0x05, 0xf4, 0x36, 0x32, - 0xa3, 0x97, 0xdc, 0xb5, 0x8f, 0x8b, 0xe8, 0x2c, 0xb7, 0x21, 0xb4, 0xa8, 0xce, 0xf2, 0xd5, 0x32, - 0x2e, 0xac, 0xb7, 0x5c, 0x35, 0x8b, 0x8b, 0xe8, 0x2d, 0x6f, 0x6d, 0xe2, 0x02, 0xfa, 0xca, 0x55, - 0x83, 0xb8, 0x98, 0x7e, 0x26, 0xa6, 0x74, 0x74, 0x60, 0x46, 0x47, 0x05, 0x6a, 0x07, 0x17, 0xd6, - 0x5d, 0xee, 0x1a, 0xc1, 0x85, 0xf5, 0x58, 0xa0, 0x16, 0x70, 0x61, 0x7d, 0xe6, 0xaf, 0xf9, 0x5b, - 0x5c, 0x97, 0xb9, 0x6a, 0xfb, 0x16, 0xd7, 0x5d, 0xce, 0x1a, 0xbe, 0xc5, 0x75, 0x58, 0xa0, 0x56, - 0x6f, 0x61, 0x9d, 0xe6, 0xab, 0xc9, 0x5b, 0x44, 0x77, 0x07, 0x46, 0xe0, 0x71, 0xde, 0x1a, 0xbb, - 0x05, 0xf4, 0x94, 0xbb, 0x96, 0x6e, 0x31, 0x7d, 0x7d, 0x34, 0xa6, 0xb3, 0x5c, 0xb5, 0x71, 0x0b, - 0xe9, 0xa7, 0x6b, 0x48, 0x3f, 0xbb, 0x46, 0xf4, 0x93, 0xbf, 0xa6, 0x6d, 0x01, 0x9d, 0xed, 0x9b, - 0xd1, 0x4d, 0xfe, 0x1a, 0xb5, 0xfa, 0x3b, 0x2b, 0xa3, 0x16, 0x6d, 0x51, 0xbd, 0x16, 0xad, 0x39, - 0x5b, 0x40, 0xbf, 0x45, 0x6b, 0xcb, 0x16, 0xd0, 0x65, 0xfe, 0x1a, 0xb2, 0x05, 0x74, 0x96, 0xb3, - 0x56, 0x6c, 0x01, 0x3d, 0x15, 0xaa, 0x09, 0x5b, 0x44, 0x7f, 0xb9, 0x6a, 0xbf, 0x16, 0xd0, 0xd1, - 0xc8, 0x31, 0xa3, 0x9b, 0x42, 0xb5, 0x5c, 0x8b, 0xe8, 0xb0, 0x9f, 0x98, 0xd2, 0x4f, 0xde, 0xda, - 0xac, 0x05, 0xf4, 0x36, 0x31, 0x24, 0x3a, 0x86, 0xab, 0xd6, 0x6a, 0x01, 0xdd, 0xe4, 0xad, 0xa9, - 0xaa, 0xbf, 0xab, 0x7c, 0xb5, 0x53, 0x0b, 0xe8, 0x67, 0x62, 0x86, 0x57, 0x51, 0xb4, 0x16, 0x6a, - 0xd1, 0x3d, 0xfe, 0xc3, 0x14, 0x1a, 0x26, 0x5e, 0xdb, 0xb4, 0x80, 0x3e, 0xf3, 0xd5, 0x30, 0x2d, - 0xa2, 0xa3, 0x7c, 0xb5, 0x4a, 0x8b, 0xe9, 0x29, 0x33, 0xa2, 0xa7, 0x7c, 0xb5, 0x47, 0x0b, 0xe8, - 0xa7, 0x58, 0x8d, 0xd1, 0x62, 0x3b, 0x6c, 0x44, 0x74, 0x67, 0x64, 0x86, 0x2a, 0x8b, 0xcc, 0x70, - 0xde, 0xf2, 0xd6, 0x00, 0x2d, 0xa4, 0xa7, 0x5c, 0xb5, 0x3e, 0x8b, 0xe8, 0xa9, 0x11, 0xa0, 0x90, - 0xab, 0x76, 0x67, 0x21, 0xdd, 0x14, 0xae, 0xd1, 0x59, 0x40, 0xaf, 0x45, 0x6a, 0x71, 0x16, 0xd1, - 0x5d, 0xce, 0x9a, 0x9b, 0xc5, 0x74, 0x95, 0xbb, 0xb6, 0x66, 0x31, 0xdd, 0xe5, 0xab, 0xa1, 0x59, - 0x4c, 0x5f, 0x65, 0xd5, 0xca, 0x2c, 0xbe, 0xf7, 0xfc, 0x35, 0x31, 0x8b, 0xef, 0x3b, 0x7f, 0xed, - 0xcb, 0x62, 0xfa, 0x2e, 0x54, 0xe3, 0xb2, 0x98, 0x2e, 0xcb, 0xa8, 0x65, 0x59, 0x4c, 0xcf, 0xb9, - 0x6b, 0x56, 0x16, 0xd3, 0x5d, 0xa1, 0xda, 0x94, 0x85, 0x74, 0x59, 0xa4, 0x06, 0x65, 0x61, 0x1d, - 0xde, 0x35, 0xa7, 0xc3, 0x66, 0x00, 0x0d, 0xce, 0xda, 0x91, 0x05, 0x74, 0xd4, 0x0c, 0x3d, 0xf1, - 0xbf, 0x86, 0xc4, 0x33, 0xf3, 0xd7, 0x7c, 0x2c, 0xa4, 0xaf, 0x66, 0xf8, 0x9e, 0xf8, 0x6b, 0x38, - 0x16, 0xd1, 0x57, 0x81, 0x5a, 0x8d, 0x05, 0x74, 0x97, 0xb7, 0x26, 0x63, 0x21, 0x5d, 0xe5, 0xad, - 0xbd, 0x58, 0x40, 0x67, 0x23, 0x23, 0xb0, 0x2c, 0x67, 0x2d, 0xc5, 0x22, 0x3a, 0x1a, 0x1b, 0x11, - 0x9f, 0xca, 0x57, 0x1b, 0xb1, 0x88, 0x7e, 0x9a, 0xa1, 0x4f, 0x4d, 0x09, 0x8f, 0xe0, 0xac, 0x69, - 0x58, 0x40, 0x47, 0xcd, 0xf0, 0x80, 0xf0, 0xd6, 0x28, 0x2c, 0xa4, 0xa7, 0x57, 0x86, 0x74, 0x94, - 0xbb, 0xe6, 0x60, 0x01, 0x9d, 0xf5, 0x0d, 0xd9, 0xa7, 0xbc, 0x35, 0x04, 0x8b, 0xe9, 0x2a, 0x5f, - 0xad, 0xc0, 0x02, 0xfa, 0x2a, 0x5c, 0x13, 0xb0, 0x88, 0x3e, 0x1b, 0x12, 0x78, 0x26, 0xa7, 0xc6, - 0x5f, 0x41, 0xfd, 0xe6, 0xab, 0xe5, 0x57, 0x50, 0x67, 0x79, 0x6a, 0xf6, 0x15, 0xd0, 0xd5, 0xd8, - 0x0c, 0x99, 0x20, 0x50, 0x83, 0xaf, 0x80, 0xde, 0x0a, 0xd5, 0xda, 0x2b, 0xa4, 0xbf, 0x7c, 0x35, - 0xf5, 0xf4, 0x77, 0x95, 0x19, 0xc2, 0x5d, 0x78, 0x6b, 0xe4, 0x15, 0xd1, 0x53, 0xce, 0x5a, 0x78, - 0x05, 0x74, 0x95, 0xaf, 0xe6, 0x5d, 0x11, 0x1d, 0xe5, 0xaf, 0x6d, 0x57, 0x40, 0x6f, 0x8d, 0xb9, - 0x31, 0xc1, 0x59, 0xab, 0xae, 0x80, 0x8e, 0x26, 0x46, 0x58, 0xac, 0x1e, 0xcc, 0x48, 0x22, 0xca, - 0x55, 0x63, 0xae, 0x88, 0x6e, 0x36, 0xcd, 0xe8, 0xe6, 0x8e, 0x11, 0xdd, 0x34, 0xc4, 0xa8, 0xc6, - 0x59, 0x03, 0xae, 0x80, 0x8e, 0x0a, 0xd7, 0x7a, 0x2b, 0xac, 0xcf, 0x66, 0x18, 0xd9, 0x04, 0x6b, - 0xb7, 0x15, 0xd5, 0x61, 0x91, 0x1a, 0x6d, 0x05, 0xf4, 0x99, 0xbb, 0x16, 0x5b, 0x41, 0x7d, 0xe5, - 0xaa, 0xb9, 0x56, 0x54, 0x5f, 0x4f, 0x0c, 0xea, 0x2a, 0x57, 0x0d, 0xb5, 0xa2, 0x7a, 0xcb, 0x57, - 0x2b, 0xad, 0xa0, 0xde, 0x72, 0xd7, 0x44, 0x2b, 0xae, 0xbf, 0x67, 0xe6, 0x1c, 0x32, 0xae, 0x1a, - 0x67, 0x85, 0xf5, 0xd5, 0x9c, 0x79, 0x35, 0x28, 0x55, 0xaf, 0x68, 0x6d, 0xb2, 0x02, 0x7b, 0x2c, - 0x52, 0x83, 0xac, 0xc0, 0x6e, 0x9b, 0x91, 0x6f, 0x87, 0xb7, 0xa6, 0x58, 0x51, 0x3d, 0x35, 0x82, - 0xf7, 0xf0, 0xd5, 0x08, 0x2b, 0xa2, 0x9f, 0x22, 0xb5, 0xc0, 0x0a, 0xe9, 0x2f, 0x57, 0xcd, 0xaf, - 0x42, 0x7a, 0x1a, 0x99, 0x21, 0x66, 0xb9, 0x6b, 0x78, 0x15, 0xd0, 0x55, 0xa1, 0x5a, 0x5d, 0xf9, - 0x6a, 0x74, 0x2d, 0x5f, 0x9b, 0x6b, 0xb9, 0x76, 0x97, 0x9c, 0xad, 0x0a, 0x7d, 0x64, 0x31, 0xb1, - 0x07, 0x41, 0xc2, 0x32, 0x3d, 0xdd, 0xca, 0x31, 0x67, 0x95, 0x98, 0x76, 0x69, 0x4c, 0x03, 0x27, - 0x7d, 0xec, 0xfb, 0x07, 0xb5, 0x0b, 0x33, 0x59, 0x94, 0x8b, 0xa3, 0x7d, 0xab, 0xbe, 0xdb, 0xdc, - 0x6a, 0x59, 0x57, 0xf7, 0xd4, 0xea, 0x04, 0x8c, 0xc6, 0x5d, 0xe2, 0xd0, 0xc4, 0xca, 0xa4, 0x8a, - 0x75, 0xd2, 0xf9, 0x62, 0xd9, 0x96, 0xd7, 0xcd, 0xaa, 0xaf, 0xe4, 0xdf, 0x31, 0x95, 0xcb, 0x70, - 0x10, 0x3b, 0xf9, 0xe6, 0xe1, 0xd5, 0xf3, 0xff, 0xa2, 0x4f, 0x3f, 0xc3, 0xd8, 0x1d, 0xc6, 0x4a, - 0x8f, 0xa7, 0x87, 0xaf, 0xea, 0x5c, 0xe5, 0x4f, 0x92, 0xb4, 0xe3, 0xde, 0xa0, 0x4f, 0x03, 0x56, - 0x69, 0x59, 0x2c, 0x1e, 0x50, 0xce, 0x86, 0xa6, 0x5a, 0xc9, 0x35, 0x7f, 0x8a, 0xf7, 0xfc, 0xf2, - 0xdf, 0xbe, 0x91, 0xba, 0xe7, 0xdb, 0x41, 0x10, 0x32, 0xc2, 0xbc, 0x30, 0xc8, 0xb7, 0xdf, 0x9f, - 0x7a, 0x21, 0xb3, 0x43, 0xc7, 0x76, 0xc2, 0x7e, 0x14, 0xd3, 0x24, 0xa1, 0xae, 0xed, 0x53, 0xd2, - 0x4d, 0x1b, 0x59, 0xf2, 0x50, 0x7e, 0x10, 0xfb, 0xc6, 0x3b, 0x03, 0xac, 0x1c, 0x3e, 0xb2, 0x64, - 0xa9, 0xb3, 0xb8, 0xdc, 0xa0, 0xa7, 0x37, 0x73, 0xe8, 0xd8, 0xf4, 0x91, 0xb5, 0x18, 0xf5, 0x69, - 0x9f, 0xb2, 0xf8, 0xc9, 0x0e, 0x03, 0xdb, 0xb9, 0x27, 0x41, 0x6f, 0xd9, 0xdd, 0xfd, 0x66, 0x37, - 0x77, 0x89, 0x9f, 0xd0, 0x65, 0xd7, 0x6b, 0x6a, 0xfb, 0x56, 0x04, 0xa7, 0xf0, 0xe6, 0x9d, 0x29, - 0x6c, 0x0f, 0x7a, 0xe9, 0xab, 0xa8, 0x2b, 0x73, 0x1e, 0xc7, 0xb2, 0x6b, 0x33, 0x74, 0x6c, 0xaf, - 0xdb, 0xf2, 0x26, 0x87, 0xee, 0xed, 0x07, 0xa3, 0xbf, 0x9d, 0x30, 0xe8, 0x7a, 0xbd, 0x65, 0x27, - 0xf6, 0x80, 0x26, 0x4e, 0xec, 0x45, 0xa3, 0xfd, 0x5c, 0x69, 0xbb, 0x6e, 0x62, 0x5d, 0x9d, 0x77, - 0x0e, 0xac, 0x4d, 0x8b, 0xb2, 0x7b, 0x1a, 0xb3, 0xa7, 0x88, 0x5a, 0x09, 0x65, 0xcc, 0x0b, 0x7a, - 0x56, 0x37, 0x8c, 0x2d, 0x76, 0x4f, 0xad, 0x3b, 0x92, 0x50, 0x6b, 0xf2, 0xde, 0x65, 0x5f, 0xf5, - 0x2f, 0x2f, 0x48, 0x27, 0xa6, 0xb6, 0xe4, 0xd7, 0xf7, 0x87, 0xe3, 0x68, 0x59, 0xd5, 0x25, 0x1f, - 0x38, 0x8f, 0x69, 0xd7, 0x7b, 0xcc, 0x77, 0x2a, 0x27, 0x09, 0x7b, 0x1c, 0x3b, 0x4b, 0x47, 0xbd, - 0xbc, 0x8c, 0xe4, 0x15, 0xf6, 0xd3, 0xe7, 0x22, 0x1a, 0xf6, 0x38, 0x9f, 0x60, 0x16, 0x96, 0xec, - 0xaf, 0x8e, 0xc4, 0x78, 0xe0, 0x05, 0x21, 0x88, 0x03, 0x2f, 0xce, 0xb7, 0x60, 0x2c, 0xf2, 0xdc, - 0xfc, 0x73, 0x3e, 0x71, 0xe5, 0xa7, 0x4f, 0xe7, 0x9c, 0xad, 0x37, 0x27, 0xe4, 0x2c, 0xfb, 0x8d, - 0xf8, 0xfe, 0x53, 0x7a, 0x2c, 0xb2, 0xe3, 0xc0, 0x48, 0xcf, 0x8a, 0xe2, 0x90, 0x85, 0x4e, 0xe8, - 0x5b, 0x9e, 0x4b, 0x03, 0xe6, 0x75, 0x3d, 0x1a, 0x5b, 0x5d, 0x8f, 0xfa, 0xae, 0xf5, 0x31, 0x3d, - 0x4e, 0x1b, 0x16, 0xbb, 0x27, 0xec, 0x3a, 0xf0, 0x12, 0x8b, 0x38, 0x0e, 0x8d, 0x18, 0x75, 0xad, - 0x30, 0xc8, 0x9e, 0xfe, 0x76, 0xdc, 0x3e, 0xcd, 0xdf, 0xa7, 0x2e, 0x19, 0xf8, 0x2c, 0x37, 0x74, - 0xca, 0x1e, 0x1e, 0x2d, 0xb9, 0x9d, 0x1e, 0xed, 0xa4, 0x95, 0xf6, 0xee, 0xb6, 0xfa, 0xd7, 0x6e, - 0xad, 0x5a, 0xcd, 0xa7, 0xb2, 0x6f, 0x72, 0xf6, 0x79, 0x74, 0xfc, 0xab, 0x39, 0x1f, 0xcb, 0x2b, - 0x06, 0x44, 0xc4, 0x81, 0x04, 0xb1, 0xa0, 0x02, 0x0b, 0x72, 0x89, 0x09, 0xb5, 0x40, 0x30, 0xb7, - 0xd8, 0xe0, 0x04, 0x79, 0x39, 0xd7, 0x3c, 0x03, 0x9e, 0x42, 0x2b, 0x3e, 0x3c, 0xbe, 0xec, 0x29, - 0xa6, 0x5d, 0x9e, 0x55, 0x1f, 0xeb, 0xb8, 0x6d, 0x8e, 0x67, 0x3b, 0xa3, 0x57, 0x7f, 0x21, 0x89, - 0xc0, 0xbe, 0x19, 0x0f, 0x24, 0x3b, 0xd7, 0x57, 0xff, 0x39, 0x3f, 0xbc, 0xe4, 0xdd, 0x38, 0xdf, - 0x88, 0x3f, 0xa0, 0x09, 0x97, 0x8c, 0x11, 0xe3, 0xd0, 0xf3, 0xc7, 0xc2, 0x23, 0xa3, 0x04, 0x4d, - 0x00, 0x8a, 0x86, 0xb1, 0xdb, 0xde, 0x5d, 0x81, 0x61, 0xec, 0xad, 0xc6, 0x6a, 0xec, 0xd5, 0x57, - 0x60, 0x18, 0xed, 0xd3, 0xff, 0x18, 0x50, 0x0f, 0x5e, 0x11, 0xbf, 0xd7, 0x43, 0x9f, 0xdf, 0xe5, - 0x7e, 0xf9, 0xec, 0x02, 0x95, 0xc4, 0xb9, 0xa7, 0x7d, 0x12, 0x11, 0x76, 0x3f, 0x24, 0x77, 0x11, - 0x0d, 0x86, 0xcc, 0xcd, 0x9e, 0x62, 0x78, 0xf3, 0x7e, 0xdd, 0x1c, 0x11, 0xbc, 0x0f, 0x7c, 0x63, - 0xf9, 0x9b, 0x1d, 0x5b, 0xc9, 0x18, 0x5f, 0x40, 0xd9, 0xbb, 0x23, 0x98, 0xec, 0xbe, 0xc9, 0x13, - 0xef, 0xcc, 0xce, 0x72, 0xdc, 0x6f, 0x69, 0xb0, 0x97, 0x07, 0xdc, 0x4d, 0x83, 0x39, 0xca, 0xee, - 0x97, 0xd0, 0x86, 0x79, 0xb1, 0x1b, 0x37, 0x56, 0xe3, 0xc6, 0x66, 0x6f, 0xb1, 0x18, 0x5d, 0xe6, - 0xe2, 0x8f, 0x98, 0x79, 0x68, 0x59, 0xa6, 0x56, 0x71, 0xc6, 0x6b, 0x98, 0xd3, 0xbe, 0x91, 0xcf, - 0x6e, 0x51, 0x72, 0x63, 0xc2, 0x72, 0x1b, 0x6d, 0xf5, 0x6c, 0x09, 0x34, 0xcf, 0x0d, 0xb4, 0x82, - 0x4d, 0x09, 0xa4, 0xd7, 0x8b, 0x69, 0x8f, 0x30, 0x6a, 0x8b, 0x98, 0x14, 0x5e, 0xb5, 0xb2, 0x1e, - 0x94, 0xd8, 0x27, 0x3d, 0x30, 0xe2, 0x39, 0x9b, 0x3f, 0x9d, 0x97, 0x95, 0x23, 0xc4, 0x3e, 0x25, - 0x5d, 0x41, 0x32, 0xbc, 0xc3, 0xf1, 0xec, 0xf9, 0x04, 0x18, 0x2d, 0x67, 0xf5, 0x0e, 0xd2, 0xee, - 0x2a, 0x9d, 0x4a, 0x4e, 0xc7, 0xcf, 0xe4, 0x79, 0x61, 0x07, 0x10, 0x07, 0x32, 0xce, 0xa1, 0x82, - 0xc8, 0x80, 0x85, 0x76, 0x40, 0x7b, 0x21, 0xf3, 0x08, 0xa3, 0x02, 0xf2, 0xf0, 0x75, 0x3b, 0x3a, - 0x0d, 0x9b, 0xe9, 0x49, 0x86, 0x0d, 0x53, 0x18, 0x8d, 0xac, 0x8f, 0xc0, 0xa6, 0x5c, 0xf7, 0xe5, - 0x4b, 0x2e, 0xb0, 0xef, 0xc2, 0xd0, 0xa7, 0x7c, 0x36, 0xeb, 0xb1, 0xc0, 0xae, 0x29, 0x1d, 0xa2, - 0x40, 0xd4, 0xc8, 0xa4, 0x0d, 0xfe, 0xe8, 0x11, 0x71, 0xf3, 0xcb, 0x64, 0xa6, 0x3b, 0x87, 0x87, - 0x87, 0xd6, 0x6e, 0xb5, 0xfe, 0x79, 0xcb, 0xae, 0x57, 0x6b, 0x75, 0xeb, 0x95, 0xe8, 0xf3, 0xc2, - 0xc0, 0xca, 0xee, 0xb9, 0xf6, 0xbd, 0x24, 0x49, 0xff, 0x88, 0x48, 0x4c, 0xfa, 0x94, 0xd1, 0x38, - 0xa9, 0xf0, 0x1b, 0x8d, 0x44, 0xcf, 0xe4, 0xbc, 0xb3, 0x29, 0x1a, 0x6a, 0x22, 0xfd, 0x98, 0xce, - 0x3d, 0xae, 0xdc, 0x93, 0xad, 0xd9, 0x2e, 0x96, 0xff, 0xa9, 0x1b, 0xc0, 0x16, 0x7e, 0xd8, 0xe2, - 0x0e, 0x22, 0x9f, 0x3e, 0xda, 0xfd, 0xd0, 0x15, 0xc0, 0x2c, 0xd3, 0x8d, 0x00, 0x11, 0x00, 0x11, - 0xac, 0x18, 0x22, 0xa0, 0xc1, 0xa0, 0x4f, 0xe3, 0xa1, 0x0c, 0x10, 0x40, 0x05, 0x0d, 0x8e, 0x67, - 0x0f, 0x83, 0x41, 0x9f, 0x7f, 0xbb, 0x5c, 0x85, 0x97, 0x2c, 0xf6, 0x82, 0x9e, 0x90, 0xba, 0xab, - 0x54, 0xd3, 0x39, 0x38, 0xfa, 0x7a, 0x7c, 0x2c, 0xa2, 0x77, 0x6b, 0x69, 0x23, 0x7f, 0xb6, 0x8f, - 0x8f, 0xf8, 0xf4, 0x09, 0xa7, 0x9f, 0xa8, 0x72, 0x15, 0x76, 0x02, 0x26, 0x36, 0xfc, 0x6c, 0xe4, - 0xb9, 0x05, 0xcd, 0xeb, 0xd3, 0x96, 0x8e, 0xbb, 0x65, 0xd5, 0x34, 0x29, 0xc4, 0x67, 0x28, 0x44, - 0x7e, 0x85, 0x48, 0x83, 0x14, 0x55, 0xdb, 0x5d, 0x3f, 0xfc, 0x69, 0x8f, 0x4a, 0x80, 0xf3, 0x2b, - 0xc6, 0x79, 0x8d, 0xe9, 0x64, 0xf4, 0x59, 0xa0, 0x27, 0x28, 0x3d, 0x14, 0x38, 0x28, 0x3d, 0x28, - 0xbd, 0x5e, 0x4a, 0xff, 0x08, 0x96, 0x2e, 0xc4, 0xd2, 0x1f, 0x41, 0xbc, 0x57, 0x1a, 0x67, 0x74, - 0xa9, 0x23, 0xc8, 0xba, 0x27, 0x2d, 0x40, 0x63, 0x43, 0x63, 0xaf, 0x98, 0xc6, 0x5e, 0x99, 0x30, - 0xe2, 0xce, 0xe9, 0xd5, 0xe1, 0xc5, 0x51, 0x7b, 0xff, 0xf0, 0xf6, 0xe8, 0x70, 0xdf, 0xfc, 0x48, - 0xe2, 0xa3, 0xc3, 0xfd, 0xdb, 0x83, 0xce, 0x65, 0xfb, 0xcb, 0xf1, 0xe1, 0x81, 0xc9, 0x51, 0x9f, - 0xe9, 0x38, 0x8e, 0xf6, 0x4d, 0x1f, 0xc1, 0xc5, 0xe5, 0x76, 0x7d, 0x77, 0x05, 0x06, 0xd1, 0x68, - 0xac, 0xc4, 0x20, 0x6e, 0xeb, 0x7f, 0xdd, 0x66, 0xe7, 0xfd, 0xf8, 0xb0, 0xfd, 0xed, 0x70, 0xe5, - 0x02, 0x8a, 0x81, 0xdf, 0xa6, 0xbb, 0xd7, 0x27, 0x8e, 0x4d, 0x46, 0x99, 0x0e, 0xb9, 0x21, 0xdc, - 0x74, 0x23, 0x40, 0x71, 0x40, 0x71, 0x2b, 0x86, 0xe2, 0xf8, 0xb7, 0xf7, 0x2b, 0x14, 0xb7, 0xcb, - 0x17, 0xff, 0xc6, 0x68, 0x1c, 0x70, 0x63, 0xa6, 0xca, 0xf7, 0xaa, 0xbd, 0x47, 0xec, 0x6e, 0xdb, - 0x3e, 0xba, 0xf9, 0x55, 0x7f, 0xfe, 0xd8, 0x7a, 0xfd, 0xf7, 0xc6, 0xaf, 0xed, 0xe7, 0xfc, 0xeb, - 0x75, 0xc3, 0x33, 0x90, 0xb3, 0xcb, 0xce, 0x5f, 0xc2, 0xa3, 0xf9, 0xef, 0xfb, 0xc3, 0xf9, 0x47, - 0x05, 0x06, 0x00, 0x9d, 0x0a, 0x24, 0x0a, 0x63, 0x66, 0x27, 0x11, 0xa5, 0x02, 0xc1, 0xd3, 0x53, - 0x6d, 0x40, 0x7d, 0x40, 0x7d, 0xc0, 0x08, 0x50, 0x4e, 0x23, 0xc0, 0xe1, 0xd5, 0x9f, 0x87, 0x17, - 0xa7, 0x87, 0x57, 0xb7, 0x97, 0xe7, 0x87, 0x87, 0x07, 0xe6, 0x5b, 0x01, 0xb2, 0x61, 0xdc, 0xd6, - 0xaa, 0xd5, 0x3f, 0xbe, 0x98, 0x4c, 0xdc, 0x26, 0xc3, 0x38, 0x59, 0x89, 0x61, 0xac, 0xc6, 0x62, - 0xac, 0xc4, 0x5a, 0xac, 0xc2, 0x52, 0xd4, 0x57, 0xe3, 0x78, 0xd7, 0xb7, 0x57, 0xe3, 0x7c, 0xd7, - 0xb7, 0x57, 0x61, 0x35, 0x1a, 0xab, 0xb1, 0xa9, 0x1a, 0x2b, 0x31, 0x8a, 0xed, 0xd5, 0x18, 0xc5, - 0x2a, 0x0c, 0xa2, 0xb9, 0x1a, 0xe7, 0x62, 0x77, 0x35, 0x86, 0xf1, 0xf5, 0xf4, 0x5f, 0xa7, 0x67, - 0xff, 0x3e, 0x85, 0x05, 0x7f, 0xa5, 0x0d, 0x30, 0x09, 0x23, 0x81, 0x4b, 0xfc, 0x30, 0xa0, 0xb6, - 0xef, 0x05, 0x3f, 0x6c, 0x16, 0x13, 0x2f, 0xe0, 0x89, 0x96, 0x9e, 0x2e, 0x74, 0x39, 0xbf, 0x45, - 0xc4, 0x7c, 0xc2, 0x78, 0x04, 0xe3, 0x91, 0x56, 0xe3, 0x51, 0xe9, 0x63, 0x3e, 0x4d, 0x94, 0xae, - 0x72, 0x33, 0x41, 0xe7, 0xca, 0xf6, 0xcb, 0xa7, 0xe8, 0xf3, 0x65, 0xff, 0xa5, 0xec, 0xbe, 0x35, - 0xce, 0xc8, 0x34, 0xfe, 0x3b, 0x57, 0x5a, 0x9d, 0x29, 0x09, 0x3e, 0x9b, 0x16, 0xf8, 0xb8, 0xfd, - 0xc7, 0x38, 0x13, 0x70, 0x62, 0xb1, 0xd0, 0xf2, 0x02, 0xd7, 0x7b, 0xf0, 0xdc, 0x01, 0xf1, 0xad, - 0xc3, 0xd1, 0x4b, 0x5f, 0x92, 0x02, 0xf3, 0xfa, 0x83, 0x6b, 0xc8, 0x85, 0xb2, 0x12, 0x32, 0xb9, - 0x84, 0xb9, 0x50, 0xf2, 0x26, 0x08, 0x9a, 0x3c, 0x28, 0x94, 0x28, 0x68, 0x66, 0xd3, 0x08, 0x24, - 0x0c, 0x5a, 0x74, 0x3c, 0x2f, 0x23, 0xea, 0x78, 0xdd, 0xa7, 0x2c, 0x9d, 0xb0, 0x1f, 0xf6, 0x3c, - 0x87, 0xf8, 0xd6, 0xe4, 0x35, 0x2f, 0x67, 0x32, 0x3d, 0xb4, 0x3f, 0xef, 0x3d, 0xe7, 0xfe, 0x3a, - 0x60, 0xf7, 0x5e, 0x32, 0xf5, 0x0f, 0x77, 0xd4, 0x0f, 0x83, 0x1e, 0xef, 0xc5, 0x74, 0x4e, 0x3c, - 0x25, 0x7c, 0x86, 0x65, 0x9c, 0x65, 0x79, 0x67, 0x5a, 0xd6, 0xd9, 0x96, 0x7e, 0xc6, 0xa5, 0x9f, - 0x75, 0xa9, 0x67, 0x5e, 0x8c, 0x72, 0x72, 0xdf, 0xab, 0xe4, 0xc5, 0x67, 0x33, 0xfb, 0x85, 0x3f, - 0x3f, 0xd2, 0x8c, 0xea, 0xdb, 0x11, 0x68, 0x43, 0x7d, 0xbe, 0x24, 0xfe, 0x85, 0x2a, 0x16, 0xce, - 0xdd, 0x28, 0x2e, 0xec, 0xc1, 0x9f, 0xc8, 0x73, 0x02, 0xd5, 0x96, 0xc9, 0xe8, 0xb9, 0xfc, 0xa0, - 0x97, 0x38, 0x13, 0x29, 0xd3, 0xcf, 0x91, 0xe4, 0x69, 0xda, 0x40, 0xc0, 0x94, 0xd7, 0x7b, 0xa8, - 0x23, 0x45, 0xa3, 0x4c, 0xa9, 0x8d, 0x14, 0x8d, 0x48, 0xd1, 0x08, 0x5a, 0x82, 0x14, 0x8d, 0xb2, - 0xa1, 0x87, 0x8e, 0x14, 0x8d, 0xc8, 0x74, 0x38, 0xff, 0x61, 0x64, 0x3a, 0x94, 0xa2, 0xd4, 0xd7, - 0x47, 0xee, 0xc1, 0x44, 0x3e, 0x5f, 0xee, 0x21, 0x2d, 0xc2, 0x52, 0x33, 0x8d, 0x4c, 0x87, 0x1a, - 0x2d, 0x29, 0xc8, 0x74, 0xa8, 0x52, 0xfb, 0x3b, 0xe1, 0x20, 0xc8, 0x66, 0x8b, 0x5b, 0xef, 0x4f, - 0x5a, 0x58, 0x0f, 0x0f, 0x07, 0x54, 0xaa, 0x31, 0x2a, 0x95, 0xdb, 0xc3, 0xe1, 0x05, 0xf6, 0x6e, - 0xb5, 0x5e, 0xfb, 0x5f, 0xbb, 0x9b, 0x0a, 0x93, 0x44, 0xdc, 0xc9, 0xf1, 0xb6, 0x41, 0x38, 0x16, - 0xf8, 0x8f, 0x92, 0x4a, 0x8d, 0x68, 0x86, 0x63, 0x81, 0xeb, 0xa8, 0x09, 0x2a, 0xb7, 0xc2, 0x1d, - 0x0b, 0x23, 0x35, 0xd3, 0x6c, 0x48, 0x70, 0x2d, 0xec, 0x0a, 0x34, 0x71, 0x91, 0xd5, 0x69, 0x16, - 0xb9, 0xb5, 0x63, 0x09, 0xc7, 0x37, 0x66, 0x1d, 0x39, 0xf1, 0x02, 0xe1, 0xbd, 0x3f, 0x69, 0x2c, - 0xbb, 0x8c, 0x24, 0x96, 0x16, 0xf3, 0x55, 0x7b, 0x47, 0x31, 0x71, 0x52, 0x70, 0x76, 0xe0, 0xf5, - 0xbc, 0xac, 0x8e, 0xb6, 0xac, 0x86, 0x4f, 0x69, 0x8f, 0x30, 0xef, 0x81, 0x8e, 0xcb, 0x5e, 0x0b, - 0xb7, 0xfa, 0xfc, 0x49, 0xc2, 0x52, 0x90, 0x47, 0xf9, 0x4b, 0x51, 0xdb, 0x6d, 0x34, 0x9a, 0x3b, - 0x8d, 0x46, 0x75, 0x67, 0x6b, 0xa7, 0xba, 0xb7, 0xbd, 0x5d, 0x6b, 0xf2, 0x5c, 0x7d, 0x33, 0x7d, - 0x75, 0x3e, 0x14, 0xf3, 0xf4, 0x8d, 0x2e, 0x5f, 0xe0, 0x27, 0x2e, 0x74, 0x72, 0xe7, 0x87, 0xce, - 0x0f, 0x9b, 0xc6, 0x71, 0x18, 0xcb, 0x41, 0x27, 0xaf, 0x1a, 0x04, 0x3a, 0x01, 0x3a, 0x01, 0x3a, - 0x01, 0x3a, 0x01, 0x3a, 0x01, 0x3a, 0x01, 0x3a, 0x01, 0x3a, 0xc9, 0x8b, 0x4e, 0x1c, 0x12, 0xc7, - 0x1e, 0x8d, 0x65, 0xe2, 0x93, 0x37, 0x4d, 0x02, 0xa1, 0x00, 0xa1, 0x00, 0xa1, 0x00, 0xa1, 0x00, - 0xa1, 0x00, 0xa1, 0x00, 0xa1, 0xac, 0x0e, 0x42, 0xe1, 0x94, 0x92, 0x12, 0x02, 0x0b, 0x26, 0x6d, - 0x89, 0x07, 0x18, 0x48, 0x94, 0x51, 0x63, 0xe1, 0x7d, 0x71, 0xb4, 0x6f, 0xd5, 0x9a, 0x8d, 0x2d, - 0xeb, 0x80, 0x76, 0xbd, 0xc0, 0x4b, 0xf7, 0x5e, 0x62, 0x85, 0x5d, 0xeb, 0x84, 0x04, 0xa4, 0x47, - 0xdd, 0xeb, 0xe0, 0xec, 0xee, 0xff, 0x51, 0x87, 0x25, 0x56, 0x37, 0x8c, 0xb3, 0x6b, 0x2f, 0xe3, - 0x1b, 0x68, 0xb6, 0xef, 0xfd, 0xa0, 0x56, 0x67, 0x72, 0xb3, 0x25, 0xd5, 0x27, 0xc9, 0xe7, 0x8a, - 0x84, 0x33, 0x2b, 0x09, 0x3d, 0xcc, 0x43, 0x11, 0xb2, 0xe2, 0x12, 0x94, 0x01, 0x8a, 0xb9, 0xc0, - 0x42, 0xf6, 0x1a, 0x81, 0x9d, 0x28, 0x62, 0x27, 0xb1, 0x23, 0x95, 0x99, 0xbc, 0x34, 0x07, 0x56, - 0x02, 0x56, 0x02, 0x56, 0x02, 0x56, 0x02, 0x56, 0x02, 0x56, 0x02, 0x56, 0x02, 0x56, 0xb2, 0x0e, - 0xac, 0xa4, 0xbe, 0x5b, 0xdb, 0x6b, 0x59, 0x17, 0xb4, 0x1f, 0x32, 0x6a, 0x9d, 0x52, 0xf6, 0x33, - 0x8c, 0x7f, 0x58, 0x27, 0x61, 0xe0, 0xb1, 0x30, 0xf6, 0x82, 0x9e, 0x75, 0xd2, 0xf9, 0x62, 0xd9, - 0xd7, 0x41, 0x76, 0xb7, 0xf3, 0x92, 0x11, 0x96, 0xec, 0x5f, 0xec, 0xb7, 0x7d, 0xaf, 0x17, 0x1c, - 0x8a, 0x60, 0x26, 0x30, 0x91, 0xf7, 0x98, 0x88, 0xe8, 0xba, 0x80, 0x7d, 0xa8, 0x61, 0x1f, 0xdd, - 0x98, 0x64, 0x69, 0x72, 0x64, 0x86, 0x96, 0xbe, 0x6d, 0x13, 0x3c, 0x04, 0x3c, 0x04, 0x3c, 0x04, - 0x3c, 0x04, 0x3c, 0x04, 0x3c, 0x04, 0x3c, 0x04, 0x18, 0x25, 0x2f, 0x46, 0xc9, 0x6e, 0xaa, 0xc7, - 0x83, 0x88, 0x51, 0xd7, 0x66, 0x8f, 0x52, 0x20, 0xca, 0x9b, 0x26, 0x81, 0x50, 0x80, 0x50, 0x80, - 0x50, 0x80, 0x50, 0x80, 0x50, 0x80, 0x50, 0x80, 0x50, 0x56, 0x07, 0xa1, 0xc0, 0x52, 0x3a, 0x5f, - 0x78, 0x23, 0x7e, 0xa3, 0x54, 0x80, 0x62, 0x2e, 0xb0, 0x40, 0xfc, 0x86, 0x19, 0xec, 0xe4, 0xff, - 0x91, 0xbb, 0x3b, 0x1a, 0xcb, 0xb4, 0x9f, 0xbe, 0x6e, 0x11, 0xdc, 0x04, 0xdc, 0x04, 0xdc, 0x04, - 0xdc, 0x04, 0xdc, 0x04, 0xdc, 0x04, 0xdc, 0x04, 0xf8, 0x24, 0x2f, 0x3e, 0xf1, 0x09, 0xa3, 0xb6, - 0x13, 0xfa, 0xbe, 0x97, 0xf0, 0x16, 0x83, 0x79, 0x0b, 0x50, 0xde, 0x34, 0x09, 0x84, 0x02, 0x84, - 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0xb2, 0x3a, 0x08, 0x05, 0xd6, 0xd3, - 0xf9, 0xc2, 0x1b, 0xd6, 0xd3, 0x52, 0x01, 0x8a, 0xb9, 0xc0, 0x02, 0xd6, 0x53, 0x33, 0xd8, 0x49, - 0x9f, 0x38, 0xb6, 0x13, 0x06, 0x2c, 0x0e, 0x7d, 0x99, 0x26, 0xd4, 0x39, 0xcd, 0x82, 0xa5, 0x80, - 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x00, 0xa9, 0xf0, 0x20, 0x95, - 0xe1, 0xc5, 0x7a, 0x3b, 0x7e, 0x94, 0x06, 0x52, 0x5e, 0x5a, 0x04, 0x3e, 0x01, 0x3e, 0x01, 0x3e, - 0x01, 0x3e, 0x01, 0x3e, 0x01, 0x3e, 0x01, 0x3e, 0x59, 0x1d, 0x7c, 0x02, 0x2b, 0xea, 0x7c, 0xe1, - 0x0d, 0x2b, 0x6a, 0xa9, 0x00, 0xc5, 0x5c, 0x60, 0x01, 0x2b, 0xaa, 0x39, 0xdc, 0x24, 0x22, 0x83, - 0x84, 0xca, 0xb6, 0xa1, 0xbe, 0x6a, 0x14, 0x0c, 0x05, 0x0c, 0x05, 0x0c, 0x05, 0x0c, 0x05, 0x0c, - 0x05, 0x0c, 0x05, 0x0c, 0x05, 0x28, 0x25, 0x3f, 0x4a, 0x79, 0x4c, 0xbc, 0xff, 0x8f, 0xda, 0xf4, - 0xd1, 0xa1, 0xd4, 0xa5, 0xae, 0x24, 0x94, 0xf2, 0xa6, 0x51, 0xa0, 0x14, 0xa0, 0x14, 0xa0, 0x14, - 0xa0, 0x14, 0xa0, 0x14, 0xa0, 0x14, 0xa0, 0x14, 0xa0, 0x94, 0xbc, 0x28, 0x25, 0x7c, 0xa0, 0x71, - 0x86, 0x28, 0x24, 0x9a, 0x52, 0xde, 0xb6, 0x09, 0x8c, 0x02, 0x8c, 0x02, 0x8c, 0x02, 0x8c, 0x02, - 0x8c, 0x02, 0x8c, 0x02, 0x8c, 0x02, 0x8c, 0x92, 0x17, 0xa3, 0x24, 0x5e, 0xd0, 0xf3, 0x65, 0xdf, - 0xea, 0x9d, 0x69, 0x14, 0x28, 0x05, 0x28, 0x05, 0x28, 0x05, 0x28, 0x05, 0x28, 0x05, 0x28, 0x05, - 0x28, 0x65, 0x75, 0x50, 0x0a, 0x22, 0xd2, 0xe6, 0x0b, 0x6f, 0x44, 0xa4, 0x95, 0x0a, 0x50, 0xcc, - 0x05, 0x16, 0x88, 0x48, 0x33, 0x84, 0xa1, 0x3c, 0xf5, 0xef, 0x42, 0x7f, 0x78, 0xbd, 0x45, 0x0e, - 0x3b, 0x99, 0x6e, 0x10, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, - 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x04, 0xcc, 0x64, 0x19, 0x66, 0x32, 0x08, - 0x5c, 0xf9, 0x01, 0x1e, 0x33, 0x8d, 0x82, 0xa1, 0x80, 0xa1, 0x80, 0xa1, 0x80, 0xa1, 0x80, 0xa1, - 0x80, 0xa1, 0x80, 0xa1, 0x80, 0xa1, 0xa0, 0xf6, 0xfe, 0x9c, 0x1a, 0xef, 0x5f, 0xc7, 0xa8, 0xe9, - 0xfc, 0x07, 0x43, 0xe9, 0xfd, 0xd2, 0x94, 0xde, 0x7f, 0xbd, 0x2c, 0xe0, 0x21, 0x0a, 0x78, 0x48, - 0x38, 0x60, 0xf6, 0x6e, 0xb5, 0x5e, 0xfb, 0x5f, 0x69, 0x24, 0x64, 0xa6, 0x45, 0x30, 0x10, 0x30, - 0x10, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0x30, 0x10, 0xe0, 0x93, 0xdc, 0xf8, 0x44, - 0x45, 0x6a, 0xf6, 0x05, 0xed, 0x02, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, 0xab, 0x00, - 0xab, 0x00, 0xab, 0x00, 0xab, 0x70, 0x61, 0x95, 0x51, 0x2a, 0x75, 0xf6, 0x28, 0x0f, 0xa6, 0xbc, - 0x34, 0x09, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0x02, 0x84, 0xb2, - 0x3a, 0x08, 0x05, 0xfe, 0xdc, 0xf9, 0xc2, 0x1b, 0x11, 0xa7, 0xa5, 0x02, 0x14, 0x73, 0x81, 0x05, - 0x22, 0x4e, 0x0d, 0x62, 0x27, 0x72, 0xd3, 0xb3, 0xcf, 0x6d, 0x15, 0x1c, 0x05, 0x1c, 0x05, 0x1c, - 0x05, 0x1c, 0x05, 0x1c, 0x05, 0x1c, 0x05, 0x1c, 0x65, 0x9d, 0x71, 0xca, 0x07, 0x85, 0x7b, 0xb5, - 0xd2, 0x0e, 0x82, 0x90, 0x11, 0xc6, 0x9b, 0x76, 0xac, 0x92, 0x38, 0xf7, 0xb4, 0x4f, 0x22, 0xc2, - 0xee, 0x53, 0x09, 0xbc, 0x19, 0x46, 0x34, 0x70, 0x32, 0x0c, 0x61, 0x7b, 0x63, 0x44, 0x9a, 0x6c, - 0xce, 0xfb, 0x75, 0x93, 0x8e, 0xf0, 0xeb, 0x66, 0xc2, 0x08, 0xa3, 0x9b, 0x23, 0xe1, 0xcd, 0x03, - 0x7c, 0x2a, 0x09, 0x8b, 0x07, 0x0e, 0x0b, 0x46, 0x6a, 0x60, 0x02, 0x85, 0x6f, 0xc7, 0x10, 0xf9, - 0x76, 0x7f, 0xdc, 0xf8, 0x07, 0x35, 0x33, 0x9f, 0x63, 0xd6, 0x2b, 0xee, 0x20, 0xf2, 0xe9, 0xa3, - 0xdd, 0x0f, 0xdd, 0xfc, 0x6a, 0x6f, 0xa2, 0xea, 0xa6, 0x1b, 0xc9, 0xb9, 0xe2, 0x7c, 0x08, 0x91, - 0x1b, 0x19, 0x8a, 0x20, 0x42, 0x71, 0x24, 0x28, 0x8a, 0x00, 0xa5, 0x21, 0x3f, 0x69, 0x88, 0x4f, - 0x0a, 0xd2, 0x53, 0x2b, 0x53, 0xb8, 0x11, 0xdd, 0x64, 0xbd, 0x69, 0x30, 0xe8, 0xd3, 0x78, 0x28, - 0x96, 0x38, 0x16, 0x7d, 0xb4, 0xc5, 0x6b, 0x0d, 0x8e, 0x67, 0x0f, 0x83, 0x41, 0x9f, 0x7f, 0xbb, - 0x5c, 0x85, 0x97, 0x2c, 0xf6, 0x82, 0x9e, 0x18, 0xa0, 0xad, 0xa6, 0x73, 0x70, 0xf4, 0xf5, 0xf8, - 0x58, 0x04, 0xc8, 0xd6, 0xd2, 0x46, 0xfe, 0x6c, 0x1f, 0x1f, 0x55, 0xf4, 0xc2, 0xf9, 0xb0, 0x93, - 0xed, 0x4d, 0x81, 0xe1, 0x67, 0x23, 0x17, 0x42, 0x1c, 0xc3, 0x71, 0xb7, 0xac, 0x5a, 0x39, 0x75, - 0xb4, 0x12, 0xbd, 0x42, 0x03, 0x72, 0xe7, 0x53, 0xbb, 0xeb, 0x87, 0x3f, 0xc7, 0x11, 0x59, 0xfc, - 0xfa, 0x65, 0x5e, 0x63, 0x39, 0xa5, 0xc0, 0x01, 0xed, 0x92, 0x81, 0xcf, 0xb8, 0x78, 0x50, 0x25, - 0x83, 0x86, 0xf9, 0x36, 0xee, 0x0d, 0xf4, 0x20, 0xf4, 0xe0, 0x8a, 0xe9, 0xc1, 0xbb, 0x30, 0xf4, - 0x29, 0x11, 0xd2, 0x81, 0x35, 0xa5, 0x43, 0x94, 0xe0, 0x3a, 0x91, 0xe0, 0x32, 0x91, 0x60, 0x3b, - 0xea, 0x1c, 0x1e, 0x1e, 0x5a, 0xbb, 0xd5, 0xfa, 0xe7, 0xad, 0xc7, 0x92, 0x19, 0x1c, 0x65, 0xb9, - 0x33, 0xd4, 0xda, 0x1c, 0xa7, 0xe7, 0x4f, 0xb7, 0xe1, 0xf1, 0x83, 0x5a, 0xea, 0xae, 0x46, 0x5d, - 0x77, 0xa9, 0x23, 0xc8, 0x01, 0x27, 0x2d, 0x40, 0xf1, 0x41, 0xf1, 0xad, 0x98, 0xe2, 0xf3, 0x5c, - 0x1a, 0x30, 0x8f, 0x3d, 0xc5, 0xb4, 0x2b, 0xa2, 0xfc, 0x38, 0xac, 0xa1, 0x95, 0xce, 0xe8, 0xd5, - 0x5f, 0x48, 0x42, 0xc5, 0x7d, 0x7b, 0x9d, 0xd3, 0xab, 0xc3, 0x8b, 0xa3, 0xf6, 0xfe, 0xe1, 0xed, - 0xd1, 0xe1, 0x3e, 0xef, 0xd6, 0xc9, 0xec, 0xbd, 0x89, 0x90, 0x47, 0x41, 0x50, 0x1f, 0x8d, 0x87, - 0x73, 0x74, 0xb8, 0x7f, 0x7b, 0xd0, 0xb9, 0x6c, 0x7f, 0x39, 0x3e, 0x3c, 0x10, 0x90, 0xf3, 0x9f, - 0xca, 0x30, 0x8e, 0xa3, 0x7d, 0xd3, 0x47, 0x70, 0x71, 0xb9, 0x5d, 0xdf, 0x5d, 0x81, 0x41, 0x34, - 0x1a, 0x2b, 0x31, 0x88, 0xdb, 0xfa, 0x5f, 0xb7, 0xd9, 0x79, 0x3f, 0x3e, 0x6c, 0x7f, 0x3b, 0xd4, - 0x0d, 0x83, 0x6e, 0x8c, 0xb4, 0x5a, 0xdc, 0xff, 0xcc, 0x42, 0x1f, 0x88, 0xeb, 0xc6, 0x34, 0x49, - 0xf8, 0xc1, 0xd0, 0x9b, 0x76, 0x00, 0x89, 0x00, 0x89, 0x56, 0x0c, 0x12, 0xf1, 0x6f, 0xef, 0x57, - 0x90, 0x88, 0x23, 0xb0, 0xa1, 0x72, 0x4e, 0x18, 0xa3, 0x71, 0xc0, 0x0d, 0x40, 0x2a, 0xdf, 0xab, - 0xf6, 0x1e, 0xb1, 0xbb, 0x6d, 0xfb, 0xe8, 0xe6, 0x57, 0xfd, 0xf9, 0x63, 0xeb, 0xf5, 0xdf, 0x1b, - 0xbf, 0xb6, 0x9f, 0xf3, 0xaf, 0xd7, 0x0d, 0xcf, 0x40, 0xce, 0x2e, 0x3b, 0x7f, 0x09, 0x8f, 0xe6, - 0xbf, 0xef, 0x0f, 0xe7, 0x1f, 0x15, 0x23, 0x49, 0xa9, 0x14, 0x51, 0x0c, 0x39, 0x0c, 0x39, 0x0c, - 0x39, 0x0c, 0x39, 0x0c, 0x39, 0xcc, 0x2d, 0x87, 0x03, 0xda, 0x0b, 0x99, 0x47, 0x18, 0x75, 0x6d, - 0x29, 0xe1, 0x22, 0x0b, 0xda, 0x83, 0x74, 0x86, 0x74, 0x5e, 0x31, 0xe9, 0x8c, 0xc8, 0x11, 0x44, - 0x8e, 0x20, 0x72, 0x84, 0x5b, 0xdb, 0x44, 0x61, 0xcc, 0xec, 0x24, 0xa2, 0xd4, 0x95, 0xa2, 0x6c, - 0xa6, 0x9a, 0x83, 0xae, 0x81, 0xae, 0x59, 0x31, 0x5d, 0xb3, 0x32, 0x4e, 0xaa, 0xc3, 0xab, 0x3f, - 0x0f, 0x2f, 0x4e, 0x0f, 0xaf, 0x6e, 0x2f, 0xcf, 0x0f, 0x0f, 0x0f, 0xcc, 0xf7, 0x52, 0x65, 0xc3, - 0xb8, 0xad, 0x55, 0xab, 0x7f, 0x7c, 0x31, 0xd9, 0xb1, 0x30, 0x19, 0xc6, 0xc9, 0x4a, 0x0c, 0x63, - 0x35, 0x16, 0x63, 0x25, 0xd6, 0x62, 0x15, 0x96, 0xa2, 0xbe, 0x1a, 0xc7, 0xbb, 0xbe, 0xbd, 0x1a, - 0xe7, 0xbb, 0xbe, 0xbd, 0x0a, 0xab, 0xd1, 0x58, 0x8d, 0x4d, 0xd5, 0x58, 0x89, 0x51, 0x6c, 0xaf, - 0xc6, 0x28, 0x56, 0x61, 0x10, 0xcd, 0xd5, 0x38, 0x17, 0xbb, 0xab, 0x31, 0x8c, 0xaf, 0xa7, 0xff, - 0x3a, 0x3d, 0xfb, 0xf7, 0x29, 0x22, 0x4c, 0x96, 0x99, 0x3a, 0x19, 0x26, 0x0d, 0xd8, 0x31, 0x60, - 0xc7, 0x80, 0x1d, 0x03, 0x76, 0x0c, 0xd8, 0x31, 0x60, 0xc7, 0x80, 0x1d, 0x03, 0x76, 0x0c, 0xd8, - 0x31, 0x60, 0xc7, 0x80, 0x1d, 0x03, 0x76, 0x0c, 0xd8, 0x31, 0x60, 0xc7, 0x80, 0x1d, 0x03, 0x76, - 0x0c, 0x1d, 0x76, 0x8c, 0x84, 0x91, 0xc0, 0x25, 0x7e, 0x18, 0x50, 0xdb, 0xf7, 0x82, 0x1f, 0x36, - 0x8b, 0x89, 0x17, 0xf0, 0x04, 0x0c, 0x4d, 0x16, 0x61, 0x61, 0x8b, 0xc8, 0xf4, 0x01, 0x1b, 0x0c, - 0x6c, 0x30, 0x5a, 0x6d, 0x30, 0xfa, 0x33, 0x7d, 0x7c, 0x90, 0xfb, 0xcd, 0x25, 0xa7, 0xac, 0xd2, - 0x1e, 0xf4, 0xd2, 0xb5, 0xcc, 0xac, 0xb1, 0xcb, 0x8b, 0x0b, 0x4e, 0x09, 0xb7, 0x19, 0x3a, 0xb6, - 0xd7, 0x6d, 0x4d, 0xe5, 0x1f, 0x7c, 0xf3, 0xc1, 0xe6, 0x70, 0x3f, 0xb5, 0x26, 0xc9, 0x08, 0x47, - 0x7f, 0x67, 0x39, 0x09, 0xf3, 0xcb, 0xc1, 0xc4, 0x89, 0xbd, 0x68, 0x94, 0x4c, 0xb1, 0xd2, 0x76, - 0xdd, 0xc4, 0x3a, 0x6e, 0xff, 0x61, 0x25, 0x94, 0x31, 0x2f, 0xe8, 0x25, 0x16, 0x0b, 0x2d, 0x2f, - 0x70, 0xbd, 0x07, 0xcf, 0x1d, 0x10, 0x7f, 0x92, 0xc0, 0xdb, 0x7a, 0xe9, 0x1e, 0xa7, 0x75, 0xb9, - 0x66, 0x98, 0x64, 0xf3, 0x49, 0x0f, 0x92, 0x6d, 0x8e, 0x64, 0x4b, 0xe7, 0xa5, 0x64, 0x92, 0xed, - 0xc0, 0x8b, 0xf9, 0x96, 0x9b, 0xf4, 0x7a, 0x31, 0xed, 0x11, 0x46, 0x6d, 0xcf, 0x15, 0xb7, 0xec, - 0xbe, 0x6a, 0x8d, 0x73, 0xb2, 0xdf, 0x1c, 0xcf, 0xcb, 0x88, 0x3a, 0x5e, 0xf7, 0x29, 0xcb, 0xa5, - 0xef, 0x87, 0x3d, 0xcf, 0x21, 0xbe, 0x35, 0x79, 0xcd, 0xcb, 0x99, 0x4c, 0x0f, 0xed, 0xcf, 0x7b, - 0xcf, 0xb9, 0xbf, 0x0e, 0xd8, 0xbd, 0x97, 0x4c, 0xfd, 0xc3, 0x1d, 0xf5, 0xc3, 0xa0, 0x87, 0x4c, - 0xed, 0x22, 0x67, 0x5a, 0xd6, 0xd9, 0x96, 0x7e, 0xc6, 0xa5, 0x9f, 0x75, 0xa9, 0x67, 0x5e, 0x8c, - 0xff, 0x14, 0x9f, 0xa9, 0xdd, 0xa7, 0xa4, 0xcb, 0xe7, 0x6d, 0x9a, 0x51, 0x7d, 0x3b, 0x02, 0x6d, - 0x9c, 0x4f, 0xd2, 0x16, 0x2f, 0x01, 0x13, 0xbc, 0x6e, 0x2b, 0xcb, 0x30, 0x6c, 0xfa, 0xc5, 0x80, - 0x0f, 0x12, 0x29, 0x16, 0x6f, 0xfa, 0x68, 0x69, 0x69, 0xa3, 0x97, 0x5b, 0x8d, 0xf7, 0xc7, 0xbc, - 0xc4, 0x91, 0xa8, 0x24, 0x3f, 0x3d, 0xe6, 0xdc, 0x53, 0xd7, 0x7e, 0xf0, 0xc9, 0xf2, 0xc3, 0x7d, - 0x61, 0xdb, 0xaf, 0x1e, 0x5f, 0x72, 0x7e, 0xf3, 0x01, 0xbc, 0xdc, 0x4a, 0x81, 0x47, 0x09, 0x4c, - 0x0b, 0xfd, 0x1c, 0x43, 0x11, 0x91, 0xf2, 0xc2, 0x52, 0x5d, 0x58, 0x8a, 0xbf, 0x95, 0xda, 0xd9, - 0xc0, 0x0b, 0x62, 0x50, 0x79, 0x21, 0x59, 0xc5, 0x19, 0xef, 0x0a, 0x4e, 0x16, 0x35, 0x7a, 0x7e, - 0x3d, 0xb8, 0x49, 0xce, 0x2d, 0xbd, 0x3e, 0xe4, 0x24, 0xdf, 0x96, 0x2f, 0x3b, 0x3b, 0x71, 0x1c, - 0x9a, 0x24, 0xf9, 0x24, 0xf9, 0x62, 0x72, 0x32, 0xd5, 0x18, 0xc8, 0x80, 0xc0, 0x21, 0x02, 0x1b, - 0xe0, 0x3b, 0x64, 0xa6, 0xd3, 0x81, 0x74, 0xd4, 0xfc, 0xc4, 0x7e, 0xfa, 0x00, 0x35, 0x51, 0xb6, - 0xe9, 0x4d, 0x63, 0x93, 0x5a, 0x41, 0x28, 0xdb, 0xc4, 0xb3, 0x14, 0x2a, 0xca, 0x36, 0x35, 0xaa, - 0x7b, 0x0d, 0x94, 0x69, 0xd2, 0xf4, 0xb4, 0xb9, 0xa5, 0x64, 0x7f, 0xde, 0xd3, 0xa0, 0x4c, 0x55, - 0x64, 0x3f, 0x7f, 0x7e, 0xa1, 0xe1, 0x59, 0xfe, 0x18, 0xeb, 0x7f, 0xac, 0x7f, 0xb6, 0xf7, 0xf7, - 0x0f, 0x2f, 0x2f, 0xff, 0x59, 0xf2, 0x92, 0xb0, 0xd9, 0x54, 0x9a, 0x54, 0x0d, 0xf6, 0x6f, 0xe7, - 0xba, 0x14, 0x92, 0xf1, 0xb5, 0x35, 0x5d, 0xd2, 0x92, 0x8d, 0xb7, 0x5a, 0x3b, 0x43, 0xd4, 0xd6, - 0xb7, 0xe3, 0xf6, 0xa9, 0x45, 0x92, 0xc4, 0xeb, 0x05, 0xd4, 0xb5, 0x58, 0x98, 0xd9, 0xea, 0xb9, - 0xbd, 0x65, 0xba, 0x36, 0xde, 0xdb, 0xcd, 0xe7, 0x4e, 0xcd, 0xd4, 0x27, 0x79, 0x6f, 0x50, 0xb5, - 0x0f, 0x67, 0xf6, 0xe2, 0x92, 0x8b, 0x21, 0xe5, 0xe5, 0xcf, 0xd0, 0x33, 0x2a, 0xed, 0xae, 0x33, - 0xed, 0x3c, 0xf5, 0x42, 0x66, 0x87, 0x8e, 0xed, 0x84, 0xfd, 0x28, 0xa6, 0x49, 0x42, 0x5d, 0xdb, - 0xa7, 0xa4, 0x9b, 0x36, 0xfa, 0x5c, 0xe2, 0x3a, 0xcc, 0xaf, 0x65, 0xa3, 0x38, 0x83, 0x7f, 0xd3, - 0x1e, 0x48, 0x3c, 0x48, 0x3c, 0x48, 0x3c, 0x0f, 0x89, 0x4f, 0x8f, 0x8f, 0xcd, 0xd2, 0x36, 0x25, - 0xb8, 0xf6, 0x04, 0x48, 0x92, 0x58, 0x32, 0xb6, 0x97, 0xd9, 0x91, 0x91, 0x94, 0x6d, 0xd2, 0x5a, - 0x96, 0x9c, 0x6d, 0x08, 0xe2, 0x64, 0xe0, 0xe5, 0x2c, 0x4d, 0xdb, 0xd5, 0xc5, 0xd7, 0xd3, 0x7f, - 0x89, 0xe9, 0x5e, 0x41, 0x34, 0x28, 0x21, 0x6f, 0xdb, 0xcb, 0x41, 0x1a, 0x4e, 0x8e, 0x14, 0x1a, - 0x3b, 0x9a, 0x1a, 0xde, 0x54, 0x6e, 0xe2, 0x88, 0xe0, 0x19, 0x88, 0x40, 0x1f, 0x22, 0x08, 0x32, - 0x6b, 0x85, 0x24, 0x83, 0xfe, 0x74, 0x63, 0xc0, 0x02, 0xc0, 0x02, 0xc0, 0x02, 0x3c, 0x58, 0x00, - 0x06, 0xfd, 0x71, 0x47, 0x60, 0xd0, 0x87, 0x41, 0x7f, 0xf5, 0x56, 0x03, 0x06, 0xfd, 0x9c, 0x6d, - 0x19, 0x61, 0xd0, 0xcf, 0x50, 0x33, 0xec, 0xf9, 0x12, 0x1a, 0x7e, 0xd7, 0x9e, 0x3f, 0x9a, 0xea, - 0xd5, 0x37, 0xe7, 0x9f, 0x66, 0x92, 0x67, 0x68, 0x41, 0xf6, 0x12, 0xeb, 0x81, 0xf8, 0x9e, 0x6b, - 0x75, 0xc3, 0x38, 0x9d, 0xed, 0xe0, 0x87, 0x95, 0xcd, 0x07, 0xcc, 0xfa, 0x6a, 0xb7, 0xe3, 0xcc, - 0x96, 0xcc, 0xb9, 0x28, 0x30, 0xef, 0x83, 0xcc, 0xeb, 0x22, 0xf3, 0xd9, 0x0e, 0xcc, 0xa8, 0x53, - 0x22, 0x4e, 0xe6, 0xa7, 0x1b, 0x03, 0x99, 0x07, 0x99, 0x07, 0x99, 0xcf, 0xb9, 0x63, 0x06, 0x81, - 0x98, 0x8a, 0x9b, 0xd8, 0xf3, 0xf7, 0x04, 0xda, 0x18, 0x0d, 0xa7, 0x34, 0xd8, 0x59, 0xdc, 0xc2, - 0x21, 0xd1, 0xd2, 0x21, 0xd9, 0xe2, 0x21, 0x6f, 0xba, 0x94, 0x58, 0x40, 0x54, 0x59, 0x42, 0x94, - 0x73, 0x70, 0x75, 0x5c, 0x5c, 0x22, 0x13, 0x50, 0x62, 0x29, 0x51, 0x68, 0x31, 0x59, 0x85, 0x55, - 0x2b, 0x09, 0xb6, 0xbe, 0x29, 0xd2, 0x8d, 0x28, 0x5b, 0x36, 0xc7, 0x99, 0x28, 0x94, 0x27, 0x9e, - 0x79, 0x0a, 0x36, 0xce, 0x02, 0x39, 0xc1, 0x92, 0x87, 0x33, 0x0d, 0x7e, 0x6c, 0x54, 0xf7, 0xbe, - 0x57, 0xed, 0xc6, 0xcd, 0xef, 0x46, 0xf5, 0x7b, 0xd5, 0xde, 0xbd, 0xf9, 0x5e, 0xb5, 0xf7, 0x6e, - 0x7e, 0x7f, 0xaf, 0xd9, 0x5b, 0xc3, 0x5f, 0x7f, 0x6d, 0x3d, 0xa7, 0x7f, 0xed, 0x8d, 0xfe, 0xaa, - 0x7d, 0xaa, 0x8f, 0xfe, 0xde, 0xb8, 0xbe, 0xfe, 0x7c, 0x7d, 0xfd, 0x59, 0xa0, 0x01, 0x71, 0x4a, - 0x78, 0x23, 0x63, 0x4a, 0x65, 0x94, 0x92, 0x9c, 0x69, 0xf5, 0xbf, 0x45, 0x4e, 0xec, 0x3f, 0x2a, - 0x45, 0x1f, 0x65, 0x43, 0x68, 0xf2, 0xb1, 0x97, 0xb0, 0x36, 0x63, 0xb1, 0x18, 0xce, 0x3d, 0xf1, - 0x82, 0x43, 0x9f, 0xa6, 0x30, 0x5f, 0x50, 0x6b, 0xa4, 0x2a, 0x73, 0xaa, 0xa5, 0xda, 0x6e, 0xa3, - 0xd1, 0xdc, 0x69, 0x34, 0xaa, 0x3b, 0x5b, 0x3b, 0xd5, 0xbd, 0xed, 0xed, 0x5a, 0x93, 0x27, 0x45, - 0xf2, 0xa4, 0xf1, 0xb3, 0xd8, 0xa5, 0x31, 0x75, 0xbf, 0x3c, 0x55, 0x5a, 0x56, 0x30, 0xf0, 0x7d, - 0x19, 0x4d, 0x7d, 0x4d, 0x68, 0x2c, 0xa4, 0xce, 0x60, 0x56, 0x9f, 0x55, 0x3f, 0x30, 0xab, 0xc3, - 0xac, 0x3e, 0xee, 0xac, 0xda, 0x28, 0x79, 0xdf, 0x0f, 0x7f, 0x52, 0x37, 0x33, 0xe1, 0x26, 0x56, - 0x9f, 0x3c, 0x59, 0x77, 0xd4, 0x4a, 0xb2, 0xb4, 0x36, 0x1e, 0x7d, 0x6b, 0xcb, 0xbd, 0x0e, 0x5e, - 0x8c, 0xb9, 0x9f, 0x61, 0x62, 0xd7, 0x13, 0x39, 0xcf, 0xbf, 0x40, 0x30, 0xb7, 0x6b, 0xd4, 0x46, - 0xab, 0x64, 0x6e, 0x57, 0x7a, 0xdf, 0x5e, 0x70, 0xa2, 0xa4, 0xa4, 0x7d, 0x99, 0x4e, 0xa3, 0xb2, - 0x39, 0x4a, 0x4d, 0x51, 0x8e, 0xf4, 0xac, 0x8c, 0x0a, 0xe5, 0x62, 0x65, 0x54, 0x77, 0x8a, 0x8d, - 0x3a, 0x52, 0x6c, 0x14, 0xaa, 0x40, 0x90, 0x62, 0x63, 0xd9, 0x5d, 0x83, 0x14, 0x1b, 0x16, 0x9c, - 0x78, 0x12, 0x10, 0x19, 0x22, 0x72, 0x11, 0x91, 0x8b, 0x88, 0x5c, 0x44, 0xe4, 0xae, 0xe6, 0x6a, - 0x20, 0x22, 0x77, 0x15, 0x4d, 0x87, 0x48, 0xb1, 0x81, 0x14, 0x1b, 0x48, 0xb1, 0xb1, 0xda, 0x86, - 0x42, 0xa4, 0xd8, 0x50, 0xa7, 0x67, 0x90, 0x91, 0x02, 0x9c, 0x17, 0x9c, 0x17, 0x19, 0x29, 0x90, - 0x91, 0x62, 0xa6, 0x35, 0x64, 0xa4, 0x78, 0xf7, 0x20, 0x21, 0x23, 0x05, 0x12, 0x38, 0x40, 0x75, - 0x42, 0x75, 0xae, 0xa1, 0xea, 0x84, 0xb9, 0x78, 0x62, 0xa3, 0x84, 0xb9, 0x18, 0xe6, 0xe2, 0x95, - 0x5b, 0x0d, 0x98, 0x8b, 0x73, 0xb6, 0x85, 0x48, 0x53, 0x59, 0xba, 0x1f, 0x91, 0xa6, 0xb2, 0xe5, - 0x22, 0x12, 0x38, 0xe4, 0xdd, 0x83, 0x48, 0xe0, 0xa0, 0x5b, 0x67, 0x58, 0x30, 0x1e, 0xcf, 0x5d, - 0x55, 0xe4, 0x3b, 0x00, 0xf7, 0x05, 0xf7, 0x2d, 0x0b, 0xf7, 0x45, 0xbe, 0x03, 0x25, 0x06, 0x01, - 0x89, 0x86, 0x01, 0xc9, 0x06, 0x02, 0x79, 0xd3, 0xa5, 0xc4, 0x60, 0xa0, 0xca, 0x70, 0xa0, 0x9c, - 0xb2, 0xaa, 0xa3, 0xae, 0x12, 0x81, 0xb3, 0x12, 0xc3, 0x82, 0x42, 0x03, 0xc3, 0x2a, 0xac, 0x1a, - 0xf2, 0x1d, 0x20, 0xdf, 0x01, 0x5f, 0x83, 0xc8, 0x77, 0x80, 0x7c, 0x07, 0x0a, 0x8e, 0x32, 0xf2, - 0x1d, 0xf0, 0xaa, 0x4c, 0xe4, 0x3b, 0x58, 0xaa, 0x07, 0xb0, 0x42, 0x97, 0xc5, 0x0a, 0x08, 0x2b, - 0xb4, 0x42, 0x30, 0x8d, 0x7c, 0x07, 0x42, 0xfb, 0x11, 0xf9, 0x0e, 0x8a, 0xa6, 0x04, 0x2b, 0x6f, - 0x9d, 0x5e, 0xaf, 0xf4, 0x00, 0xc3, 0x5b, 0xf5, 0xaa, 0xb2, 0x03, 0x7c, 0x90, 0x38, 0x87, 0xbc, - 0x73, 0x27, 0x7d, 0xce, 0x2a, 0xb9, 0x72, 0x1e, 0xc4, 0x03, 0x87, 0x05, 0x23, 0xf1, 0xdc, 0x19, - 0xb7, 0x7c, 0x7b, 0x38, 0x6a, 0xf9, 0xf6, 0x72, 0xd4, 0xf2, 0xb7, 0xa5, 0x0d, 0xc9, 0xef, 0x4f, - 0xea, 0xdf, 0x7f, 0xe3, 0x9d, 0xe9, 0xae, 0xb4, 0x07, 0xbd, 0x54, 0x5a, 0x51, 0x77, 0x29, 0x04, - 0xb5, 0xdc, 0x3a, 0x4c, 0x14, 0xd4, 0x66, 0xe8, 0xd8, 0x5e, 0xb7, 0x35, 0x35, 0xdb, 0x6f, 0x3e, - 0x48, 0xff, 0xa6, 0xec, 0xbe, 0x35, 0x9e, 0xfa, 0x25, 0x27, 0xfb, 0x8d, 0x5a, 0xad, 0xb4, 0x5d, - 0x77, 0x74, 0x59, 0x24, 0xa1, 0x8c, 0x79, 0x41, 0x2f, 0xb1, 0x58, 0x68, 0x79, 0x81, 0xeb, 0x3d, - 0x78, 0xee, 0x80, 0xf8, 0xd6, 0x78, 0x01, 0xf2, 0x3b, 0x65, 0x73, 0xe6, 0x94, 0xc8, 0xed, 0xeb, - 0xe1, 0xf1, 0xed, 0x08, 0xf8, 0x72, 0x78, 0x35, 0xb6, 0xb0, 0xaf, 0x46, 0x58, 0xe9, 0x8a, 0xf9, - 0x62, 0xe4, 0xca, 0xa6, 0xbc, 0x39, 0x20, 0x2a, 0xaf, 0x25, 0x0a, 0x7f, 0x52, 0x14, 0x4e, 0xc1, - 0x34, 0xef, 0xcc, 0x1c, 0x06, 0x8e, 0x1f, 0x26, 0x5e, 0xd0, 0xb3, 0x9c, 0x30, 0x60, 0xc4, 0x0b, - 0x68, 0x9c, 0x01, 0x92, 0xa1, 0xfb, 0x7c, 0x02, 0xaa, 0x47, 0x68, 0xc5, 0xb9, 0x0e, 0x5c, 0xc2, - 0x88, 0x15, 0x06, 0xf3, 0xce, 0xd2, 0x67, 0xcb, 0xba, 0xba, 0xa7, 0x09, 0xb5, 0x48, 0x4c, 0xb3, - 0x46, 0x12, 0x46, 0x02, 0x97, 0xc4, 0xee, 0x75, 0x70, 0x5c, 0xff, 0x64, 0x4d, 0xba, 0x9d, 0xb0, - 0x27, 0x7f, 0xe8, 0xa0, 0xcf, 0x0d, 0x41, 0x85, 0x73, 0xbb, 0x54, 0x91, 0xdb, 0xa5, 0x50, 0xb0, - 0x5c, 0x48, 0x6e, 0x17, 0xd9, 0xf2, 0x41, 0x50, 0x19, 0xbf, 0x63, 0xef, 0xe4, 0xb1, 0x8a, 0xe4, - 0xb3, 0x7e, 0xf0, 0xe9, 0x18, 0xaf, 0xdb, 0x1a, 0x42, 0xa8, 0x91, 0xfa, 0x66, 0x4f, 0x51, 0x46, - 0xb4, 0x3d, 0x12, 0x10, 0xaf, 0xcb, 0x26, 0xda, 0x7b, 0x3f, 0xe9, 0x13, 0xc7, 0xfd, 0xa7, 0x15, - 0xc6, 0xd6, 0x12, 0x4f, 0x79, 0x94, 0xd2, 0xdd, 0x6a, 0x7d, 0x8b, 0xb8, 0xc7, 0xa4, 0xf7, 0x4f, - 0xcd, 0x3a, 0x8c, 0xc3, 0xd2, 0x21, 0x5d, 0x83, 0x69, 0x99, 0x56, 0x25, 0xb9, 0xbd, 0x44, 0xac, - 0x1a, 0x2f, 0xd6, 0x0b, 0xd7, 0xf5, 0xd2, 0x16, 0x88, 0xff, 0xa2, 0x49, 0xac, 0xe1, 0xd0, 0x06, - 0x71, 0x06, 0xfc, 0xad, 0x88, 0xc4, 0xa4, 0x4f, 0x19, 0x8d, 0x13, 0x2b, 0x5d, 0xb0, 0xeb, 0xe0, - 0xd5, 0xfd, 0x5f, 0x2b, 0x1b, 0xba, 0x97, 0x4c, 0x34, 0xd2, 0xa7, 0x74, 0x8a, 0x5e, 0x7f, 0xc5, - 0x4b, 0x2c, 0x12, 0x58, 0xa4, 0xd7, 0x8b, 0x69, 0x8f, 0xb0, 0x69, 0x8e, 0x9d, 0x5b, 0x01, 0x09, - 0x48, 0x64, 0x79, 0x36, 0x0d, 0x29, 0xe2, 0xf8, 0xb5, 0x8d, 0xa2, 0xe8, 0x65, 0x28, 0xb9, 0x44, - 0xbf, 0x11, 0xa3, 0x57, 0xf9, 0x58, 0xac, 0x04, 0xf6, 0xba, 0xc4, 0xa6, 0x7a, 0x97, 0xa7, 0xfe, - 0xfd, 0x9a, 0x2c, 0x9e, 0xb3, 0xbf, 0x99, 0x8d, 0xca, 0x7d, 0xe8, 0xbb, 0x36, 0xf3, 0xfa, 0xef, - 0x9f, 0xa0, 0x89, 0x84, 0x78, 0x79, 0xe4, 0x9d, 0x59, 0x5e, 0x0e, 0x1b, 0x2e, 0x8d, 0x05, 0xf3, - 0x60, 0xbf, 0xd7, 0x7a, 0x72, 0x99, 0xc9, 0xcf, 0x29, 0x47, 0xb8, 0x91, 0x1c, 0xb7, 0xa8, 0x98, - 0xd5, 0x53, 0x15, 0xc5, 0x46, 0x88, 0x65, 0xf9, 0x54, 0xc5, 0x19, 0xaf, 0x60, 0x4e, 0x43, 0xc4, - 0xe8, 0xb9, 0xd5, 0xa0, 0xfc, 0x4b, 0x6d, 0xb3, 0xd5, 0x23, 0xfc, 0xcb, 0x6c, 0xc3, 0x92, 0xd0, - 0x7d, 0x37, 0xfc, 0x29, 0x00, 0x8c, 0xb2, 0xa7, 0x73, 0x93, 0xfb, 0x2e, 0x19, 0xf8, 0x8c, 0xcb, - 0x0d, 0x5a, 0xa9, 0xe6, 0xd3, 0xc1, 0x37, 0x7c, 0xcc, 0xbd, 0x6a, 0x18, 0x73, 0xcf, 0x75, 0xcc, - 0xd6, 0x87, 0xb7, 0xe7, 0x39, 0x86, 0x7a, 0xbc, 0x2c, 0xdc, 0x91, 0xce, 0x2f, 0x11, 0xce, 0x5e, - 0xc0, 0xb6, 0xea, 0x3c, 0xcb, 0x3d, 0xda, 0xdb, 0x3b, 0x1c, 0x8f, 0x8a, 0xc5, 0xea, 0x8a, 0xc5, - 0xbb, 0x88, 0xc7, 0xee, 0x8f, 0x03, 0x39, 0x05, 0x83, 0x2c, 0xa5, 0x47, 0x6d, 0xca, 0x8b, 0xd2, - 0x7c, 0x16, 0x0b, 0x04, 0x92, 0x37, 0xc5, 0x8d, 0xfa, 0x5e, 0x63, 0xaf, 0xb9, 0x53, 0xdf, 0xdb, - 0x5e, 0xdd, 0xb9, 0xd6, 0xe4, 0xee, 0xbd, 0x29, 0xb5, 0xbb, 0x57, 0x5a, 0xba, 0x7c, 0x35, 0x19, - 0xdd, 0x07, 0x11, 0x3f, 0xa6, 0x19, 0x44, 0x40, 0x34, 0x40, 0x34, 0x40, 0x34, 0x40, 0x34, 0x40, - 0x34, 0x40, 0x34, 0x40, 0x34, 0x40, 0x34, 0xcf, 0x46, 0x44, 0xa1, 0x1d, 0x3e, 0x66, 0xdb, 0x6a, - 0x79, 0x89, 0xc6, 0x6f, 0x65, 0x0b, 0x1d, 0x9b, 0x3e, 0xb2, 0x16, 0xa3, 0x3e, 0xed, 0x53, 0x16, - 0x3f, 0xd9, 0x61, 0x60, 0x3b, 0xf7, 0x1c, 0xb7, 0x98, 0xde, 0x28, 0xca, 0x6c, 0x1f, 0x0b, 0x98, - 0xde, 0x64, 0x5b, 0xdd, 0x6e, 0x4a, 0x1b, 0x00, 0x38, 0xf1, 0x37, 0xe4, 0x2a, 0xa3, 0xb4, 0x44, - 0x50, 0xc0, 0x52, 0x2e, 0x99, 0x3c, 0xe5, 0x92, 0xb8, 0xca, 0x24, 0x71, 0xdb, 0xb5, 0xeb, 0xb0, - 0x6b, 0x4b, 0x84, 0xa1, 0xb0, 0x6b, 0x83, 0x05, 0x82, 0x05, 0x82, 0x05, 0x82, 0x05, 0x82, 0x05, - 0x82, 0x05, 0x82, 0x05, 0x16, 0xc0, 0x02, 0x61, 0x1e, 0x06, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, - 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x28, 0xda, 0xca, 0x5a, 0xa4, 0xa9, 0x2f, 0xc7, 0x95, - 0x68, 0xd5, 0x77, 0x71, 0xcb, 0x78, 0xfd, 0xe7, 0xf3, 0x66, 0x44, 0x03, 0xe2, 0xb3, 0x27, 0xfb, - 0x8e, 0x24, 0xd4, 0xb5, 0x89, 0x47, 0xdd, 0x91, 0x79, 0x74, 0x33, 0x19, 0x44, 0x99, 0x55, 0xdf, - 0x66, 0xf7, 0x31, 0x4d, 0xd2, 0x29, 0xb5, 0xfe, 0xc7, 0xaa, 0x5e, 0x07, 0x61, 0x6c, 0xfd, 0xdd, - 0x63, 0x31, 0x1d, 0x24, 0x34, 0xe7, 0x33, 0x5d, 0x9f, 0x44, 0xf6, 0xe8, 0x9f, 0xd3, 0x07, 0xd6, - 0xed, 0xba, 0x50, 0x59, 0x97, 0xa1, 0xbc, 0xd7, 0x8b, 0xfe, 0x4c, 0xc7, 0x94, 0x9e, 0x70, 0x8b, - 0x04, 0xae, 0x35, 0x3b, 0xa4, 0xec, 0xae, 0x2a, 0xfb, 0x19, 0x5a, 0xc4, 0xef, 0x85, 0xb1, 0xc7, - 0xee, 0xfb, 0xd9, 0xa5, 0xf1, 0xf1, 0x64, 0x5e, 0x07, 0xbe, 0x17, 0xfc, 0xb0, 0x58, 0x4c, 0x82, - 0x24, 0xbb, 0x1f, 0x93, 0x64, 0xed, 0xf4, 0x07, 0x09, 0xb3, 0xee, 0xa8, 0xd5, 0x1f, 0xb0, 0x01, - 0xf1, 0xfd, 0x27, 0x8b, 0x3e, 0x3a, 0xfe, 0x20, 0xf1, 0x1e, 0x70, 0x9f, 0x68, 0xb4, 0x53, 0xf5, - 0xcf, 0x3b, 0x2e, 0x10, 0xc9, 0x55, 0x89, 0x22, 0x37, 0x88, 0xd2, 0xd5, 0xbf, 0x4a, 0xdb, 0x50, - 0x70, 0x83, 0x68, 0xf4, 0xb6, 0x25, 0x2f, 0x0f, 0x65, 0xdf, 0x5e, 0xee, 0xde, 0x50, 0x15, 0xf7, - 0x86, 0x64, 0x88, 0x04, 0xfd, 0xf7, 0x86, 0x96, 0x26, 0xc2, 0x93, 0xd9, 0xf6, 0x29, 0xe9, 0xc6, - 0x74, 0xa9, 0xf9, 0x1e, 0x7b, 0x4b, 0x97, 0xa0, 0xba, 0x95, 0xf3, 0xd1, 0x79, 0xfb, 0xfc, 0x79, - 0xac, 0x29, 0xb3, 0xed, 0xa7, 0xe0, 0x10, 0xcc, 0x0a, 0xd4, 0xe5, 0x8f, 0xc4, 0x9c, 0x67, 0x71, - 0xb1, 0x0e, 0x17, 0xeb, 0x70, 0xb1, 0x0e, 0x01, 0x08, 0xc5, 0xf0, 0xfe, 0xfc, 0x01, 0x08, 0xd4, - 0x21, 0x4f, 0xf6, 0x3d, 0xf1, 0xbb, 0xb6, 0xef, 0x75, 0xa9, 0x40, 0x2c, 0xc2, 0x9b, 0x86, 0xe0, - 0x7d, 0x80, 0xf7, 0x01, 0xde, 0x07, 0x78, 0x1f, 0xe0, 0x7d, 0x80, 0xf7, 0x01, 0xde, 0x87, 0x82, - 0xbc, 0x0f, 0xb8, 0x6e, 0x37, 0xdd, 0xbd, 0x69, 0x5b, 0x2b, 0x3f, 0xd0, 0x79, 0xd5, 0x0a, 0x50, - 0x0e, 0x50, 0x0e, 0x50, 0x0e, 0x50, 0x0e, 0x50, 0x0e, 0x50, 0x0e, 0x50, 0x0e, 0x50, 0x4e, 0x09, - 0x50, 0x4e, 0x9f, 0x3c, 0xda, 0x2f, 0x0e, 0xec, 0x65, 0xd2, 0xc3, 0x2d, 0x14, 0xb8, 0xb3, 0x4d, - 0x01, 0xef, 0x00, 0xef, 0x00, 0xef, 0x00, 0xef, 0x00, 0xef, 0x00, 0xef, 0x00, 0xef, 0x00, 0xef, - 0x94, 0x00, 0xef, 0xbc, 0x89, 0xba, 0xe3, 0x47, 0x3b, 0x6f, 0x1b, 0x02, 0xd6, 0x01, 0xd6, 0x01, - 0xd6, 0x01, 0xd6, 0x01, 0xd6, 0x01, 0xd6, 0x01, 0xd6, 0x01, 0xd6, 0x29, 0x01, 0xd6, 0x99, 0xbd, - 0x98, 0x20, 0x50, 0xfa, 0x6a, 0xb6, 0x2d, 0x20, 0x1e, 0x20, 0x1e, 0x20, 0x1e, 0x20, 0x1e, 0x20, - 0x1e, 0x20, 0x1e, 0x20, 0x1e, 0x20, 0x1e, 0x5c, 0x75, 0x9e, 0x7b, 0xaf, 0x6b, 0xe1, 0x6d, 0x4e, - 0xa4, 0x37, 0x44, 0x7a, 0x43, 0xf9, 0xa0, 0x08, 0xb7, 0x0b, 0x70, 0xbb, 0x00, 0x4c, 0x05, 0x4c, - 0x05, 0x4c, 0x05, 0x4c, 0x05, 0x4c, 0x05, 0x4c, 0xa5, 0x34, 0x4c, 0x05, 0x41, 0xfa, 0x00, 0x0b, - 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0x00, 0x0b, 0xfa, 0xc1, 0x02, 0x62, - 0xdd, 0x01, 0x1b, 0x00, 0x1b, 0x00, 0x1b, 0x00, 0x1b, 0x00, 0x1b, 0x00, 0x1b, 0x00, 0x1b, 0x96, - 0x9c, 0x34, 0x84, 0x8c, 0x03, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, 0x00, 0x32, - 0x00, 0x32, 0x2c, 0x31, 0x69, 0x88, 0xbc, 0x06, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, 0x70, 0x00, - 0x70, 0x00, 0x70, 0x40, 0xad, 0x26, 0x79, 0x3b, 0xaa, 0x1c, 0x01, 0xcc, 0x25, 0x2a, 0xda, 0xa4, - 0xaf, 0x40, 0x47, 0xee, 0xf4, 0xfd, 0xd6, 0xdf, 0x55, 0xea, 0x38, 0x1f, 0xb6, 0xf6, 0x25, 0x6d, - 0xac, 0x9d, 0xb6, 0xa5, 0xa0, 0x58, 0x41, 0x1c, 0x0e, 0x18, 0x75, 0xed, 0x07, 0x9f, 0x04, 0xcb, - 0x57, 0x29, 0x98, 0x7e, 0xc8, 0x8c, 0xf2, 0x04, 0x4b, 0x74, 0xd5, 0x32, 0xb2, 0x40, 0x41, 0x36, - 0x30, 0x94, 0x28, 0x90, 0xc8, 0x03, 0x44, 0x2f, 0x11, 0x2c, 0xb9, 0xd5, 0x44, 0x11, 0x7f, 0xf9, - 0xae, 0x11, 0x2c, 0xb7, 0x15, 0xd5, 0xa8, 0xbc, 0xdc, 0x17, 0x09, 0x96, 0x12, 0x78, 0x0b, 0x97, - 0x39, 0xe7, 0x1a, 0x9b, 0x4c, 0x63, 0x39, 0x86, 0xba, 0x1e, 0x44, 0x36, 0xdf, 0x76, 0x37, 0x86, - 0xca, 0x06, 0x9c, 0x55, 0xea, 0xc6, 0x52, 0x79, 0x8f, 0xe3, 0xd9, 0x51, 0xb7, 0xb5, 0x33, 0xd9, - 0x69, 0xfe, 0x5e, 0x6b, 0x56, 0x04, 0x08, 0xdb, 0x68, 0xf4, 0x4d, 0x81, 0x26, 0xc4, 0xf8, 0xbc, - 0xf8, 0x6c, 0x48, 0xe5, 0xf7, 0xb2, 0x79, 0xbe, 0x32, 0x0e, 0x2a, 0x9f, 0x8b, 0x4a, 0xe0, 0xff, - 0x52, 0xed, 0x00, 0x33, 0x4b, 0xd1, 0xdc, 0xde, 0xde, 0xda, 0x5e, 0xbf, 0xe5, 0xf8, 0x50, 0xcc, - 0xd3, 0x37, 0x1f, 0x34, 0x6e, 0x1e, 0x09, 0xb2, 0x30, 0x61, 0xb1, 0x17, 0xf4, 0x24, 0xc8, 0xc2, - 0xda, 0x2e, 0xae, 0xc3, 0xe3, 0x3a, 0x3c, 0x8f, 0x15, 0x65, 0xca, 0xbc, 0x50, 0xc0, 0x3d, 0x78, - 0x2f, 0x7a, 0x68, 0xe4, 0xa7, 0xb0, 0xd9, 0x53, 0x2b, 0x52, 0x63, 0x2f, 0x5a, 0xcf, 0x5b, 0xf0, - 0x91, 0x31, 0xe4, 0x95, 0xb8, 0x6e, 0x26, 0x4a, 0x12, 0x7e, 0x06, 0xfb, 0xd2, 0x04, 0x1f, 0x8d, - 0xad, 0x99, 0xe6, 0x8d, 0x8d, 0x40, 0x62, 0x05, 0x37, 0xbd, 0x1e, 0x0a, 0x9b, 0xf7, 0x30, 0xbc, - 0x3d, 0x14, 0xfc, 0x8b, 0xf5, 0xe6, 0x68, 0xf0, 0x2e, 0x15, 0xdf, 0x01, 0x11, 0x3e, 0x28, 0x32, - 0x0e, 0x8c, 0xb4, 0x83, 0x23, 0xeb, 0x00, 0x49, 0x3f, 0x48, 0xd2, 0x0f, 0x94, 0xcc, 0x83, 0x25, - 0x46, 0x36, 0x38, 0x29, 0x03, 0xf7, 0x81, 0x9b, 0x34, 0x90, 0xd3, 0xea, 0xff, 0xee, 0xa6, 0xcb, - 0xe5, 0x0d, 0x50, 0x74, 0x0c, 0xa5, 0x1d, 0x47, 0x99, 0xc7, 0x52, 0xfa, 0xf1, 0x94, 0x7d, 0x4c, - 0x95, 0x1d, 0x57, 0x65, 0xc7, 0x56, 0xc5, 0xf1, 0x95, 0x64, 0x71, 0x10, 0xdc, 0x6f, 0xa2, 0xc7, - 0x7a, 0x8a, 0x0f, 0xc9, 0xdb, 0x17, 0x2f, 0x6c, 0x49, 0xd6, 0x86, 0xe0, 0xf3, 0xaa, 0x28, 0x3f, - 0xee, 0x2a, 0x8e, 0xbd, 0xb2, 0xe3, 0xaf, 0x4a, 0x0c, 0x28, 0x17, 0x07, 0xca, 0xc5, 0x82, 0x4a, - 0xf1, 0x20, 0x47, 0x4c, 0x48, 0x12, 0x17, 0x93, 0x81, 0x72, 0x7b, 0x90, 0x96, 0xb2, 0x90, 0xd8, - 0x62, 0xd8, 0xfa, 0xef, 0xcd, 0x8d, 0x12, 0xdb, 0x3c, 0x27, 0x8c, 0xd1, 0x38, 0x10, 0xf6, 0xc6, - 0xcc, 0x34, 0xfc, 0xf1, 0x7b, 0xd5, 0xde, 0xbb, 0xf9, 0xfd, 0xbd, 0x66, 0xef, 0xdd, 0x0c, 0x7f, - 0xad, 0x65, 0xff, 0xfb, 0x55, 0x7f, 0xfe, 0x5d, 0xff, 0x5e, 0xb5, 0x1b, 0xa3, 0x4f, 0xeb, 0xdb, - 0xdf, 0xab, 0xf6, 0xf6, 0xcd, 0xc6, 0xc7, 0xeb, 0xeb, 0xcf, 0x79, 0x9f, 0xd9, 0xf8, 0xb5, 0xf5, - 0x2c, 0x6f, 0x7b, 0xde, 0xc8, 0x9c, 0xd6, 0xb3, 0xcb, 0xce, 0x5f, 0xca, 0xe6, 0xf6, 0xbf, 0x1f, - 0x75, 0xcd, 0xee, 0xc6, 0x3f, 0x24, 0xce, 0x6f, 0xa9, 0x8e, 0xbf, 0xa0, 0xb5, 0x7b, 0x61, 0xbb, - 0xd2, 0xac, 0xe0, 0xea, 0xa4, 0xa8, 0x0c, 0x7f, 0xdd, 0x50, 0xbb, 0xd9, 0x3e, 0x0d, 0x7a, 0x99, - 0xd9, 0x5b, 0x32, 0x6c, 0x7a, 0xdd, 0x3c, 0x10, 0x14, 0x10, 0x14, 0x10, 0xd4, 0x1a, 0x21, 0xa8, - 0x81, 0x17, 0xb0, 0x5d, 0x05, 0xd0, 0x69, 0x5b, 0x62, 0x93, 0x72, 0xa2, 0x58, 0xde, 0xfe, 0xc8, - 0x3d, 0x4d, 0x96, 0xec, 0x28, 0x97, 0x99, 0xc6, 0x25, 0x47, 0xbd, 0xcc, 0xb4, 0xaf, 0x2a, 0xec, - 0x62, 0x76, 0xeb, 0xc9, 0x0e, 0xc3, 0x50, 0x74, 0xea, 0x5e, 0x2f, 0x2d, 0x79, 0x54, 0xbf, 0xb4, - 0x5b, 0x75, 0xac, 0xad, 0x16, 0xb9, 0x2c, 0xbf, 0x35, 0x40, 0xee, 0x15, 0x82, 0xdc, 0x4c, 0xa6, - 0xba, 0x9d, 0xa8, 0xda, 0xac, 0x55, 0x49, 0x0b, 0x2c, 0x72, 0xb7, 0x7a, 0x31, 0x2a, 0xbe, 0xe8, - 0x9c, 0xb4, 0x2f, 0xfe, 0x23, 0x07, 0x44, 0xdd, 0x80, 0x4a, 0x80, 0x4a, 0x80, 0x4a, 0xac, 0xa9, - 0x31, 0xd6, 0x96, 0x28, 0xec, 0xa6, 0xc5, 0x40, 0xad, 0x21, 0xb1, 0xcd, 0xc3, 0x60, 0xd0, 0x97, - 0x7f, 0x16, 0xae, 0xc2, 0xcb, 0x61, 0xb8, 0xab, 0x0a, 0xb8, 0x58, 0xa9, 0xa6, 0x33, 0x3d, 0x16, - 0xd4, 0x0a, 0x70, 0x6e, 0x2d, 0x6d, 0xff, 0xf2, 0x70, 0xff, 0xec, 0xf4, 0x40, 0x9a, 0x2a, 0x50, - 0x84, 0xcb, 0x2b, 0x57, 0x61, 0x27, 0x3b, 0xb0, 0x0a, 0xa6, 0x79, 0x3c, 0xc3, 0x4a, 0x90, 0xf2, - 0xd4, 0xfc, 0xb6, 0xac, 0x5a, 0x49, 0x01, 0xed, 0x33, 0x00, 0x6d, 0x49, 0x00, 0x6d, 0xa1, 0x2e, - 0x7f, 0xc9, 0x13, 0x2f, 0x29, 0x82, 0x3b, 0x55, 0x35, 0x9b, 0x93, 0x70, 0xd3, 0xf1, 0x6f, 0xb9, - 0x02, 0xbb, 0xe5, 0x4f, 0xb7, 0x48, 0x72, 0x0e, 0x09, 0x01, 0x11, 0xf2, 0x02, 0x21, 0x24, 0x61, - 0x6e, 0xc4, 0x39, 0x95, 0x0a, 0x4b, 0x23, 0xce, 0x49, 0x3f, 0x46, 0x9e, 0xec, 0xb6, 0x54, 0xa9, - 0xc4, 0xb4, 0x2b, 0x63, 0xbf, 0x8d, 0x91, 0xf0, 0x8e, 0x84, 0xb6, 0xce, 0x47, 0x72, 0xf8, 0xf3, - 0xe7, 0x91, 0xec, 0xdc, 0x14, 0x5d, 0xbc, 0x62, 0xc4, 0x67, 0xbe, 0x3a, 0x93, 0xef, 0xae, 0x56, - 0x9e, 0xfa, 0x93, 0xef, 0xae, 0x93, 0x2c, 0x21, 0x5a, 0x87, 0x10, 0x85, 0x10, 0x35, 0x48, 0x88, - 0x22, 0x58, 0xb4, 0x48, 0xcc, 0xa4, 0xe2, 0xd8, 0x2b, 0x3b, 0xfe, 0xaa, 0xc4, 0x80, 0x72, 0x71, - 0xa0, 0x5c, 0x2c, 0xa8, 0x14, 0x0f, 0xe5, 0x64, 0xfa, 0x08, 0x16, 0x45, 0xb0, 0xe8, 0xab, 0x1f, - 0x04, 0x8b, 0x1a, 0x11, 0x2c, 0x5a, 0x0a, 0xc7, 0x6d, 0x18, 0x7b, 0x3d, 0x99, 0x99, 0x66, 0x26, - 0x8a, 0x6e, 0xd8, 0x2e, 0x20, 0x03, 0x20, 0x03, 0x20, 0xc3, 0x5a, 0x41, 0x86, 0x89, 0x43, 0x53, - 0xaa, 0x08, 0xb0, 0xe0, 0xd2, 0x7c, 0x69, 0x3d, 0x73, 0x69, 0x9e, 0x5d, 0xfd, 0x79, 0x78, 0xa1, - 0xce, 0xa1, 0x79, 0xd5, 0xbe, 0xea, 0xec, 0xab, 0x68, 0xbe, 0x9e, 0x36, 0x7f, 0xf0, 0xe7, 0xfe, - 0xb9, 0x8a, 0xc6, 0xb7, 0xd2, 0xc6, 0x8f, 0x3b, 0xa7, 0xff, 0xba, 0x3d, 0x6e, 0xff, 0x47, 0xcd, - 0xf4, 0x34, 0xd2, 0x57, 0x5c, 0xb4, 0x4f, 0x0f, 0xce, 0x4e, 0xd6, 0xd6, 0xd9, 0x9b, 0x2d, 0x9f, - 0xb0, 0x81, 0x6d, 0x6e, 0xd3, 0x53, 0x8b, 0xd7, 0xb2, 0xb6, 0x14, 0xbc, 0x60, 0x78, 0x6e, 0xd4, - 0xb8, 0xa9, 0x47, 0xdb, 0xa2, 0x65, 0x35, 0x54, 0xf8, 0xc0, 0x87, 0x47, 0x72, 0xe5, 0x1d, 0xe0, - 0xb8, 0x43, 0x04, 0x94, 0x0c, 0x94, 0x0c, 0x94, 0xbc, 0xc2, 0x28, 0x19, 0x77, 0x88, 0x24, 0xee, - 0x47, 0xdc, 0x21, 0x5a, 0x6a, 0xeb, 0xe1, 0x0e, 0xd1, 0x82, 0xa5, 0xc5, 0x1d, 0x22, 0x8d, 0x18, - 0xd1, 0x2a, 0xe3, 0x1d, 0x22, 0x5c, 0xa1, 0x59, 0x8e, 0xf5, 0xe1, 0x0a, 0x0d, 0x90, 0x34, 0x90, - 0x34, 0x90, 0x74, 0x89, 0x90, 0x34, 0xae, 0xd0, 0x58, 0xb8, 0x42, 0xa3, 0x11, 0x96, 0xe2, 0x0a, - 0x8d, 0x4a, 0x3c, 0x87, 0x1b, 0x24, 0xc6, 0xdd, 0x20, 0xc9, 0x51, 0x61, 0x52, 0xfe, 0x6c, 0x8b, - 0x44, 0x40, 0x3f, 0xc4, 0xb1, 0xc4, 0x2b, 0x24, 0x59, 0x6b, 0x48, 0x96, 0xab, 0x0d, 0x5d, 0x22, - 0xfe, 0x19, 0xf1, 0xcf, 0x7f, 0x7b, 0xb4, 0xed, 0x5e, 0x1c, 0x0e, 0x14, 0xc4, 0x41, 0x4f, 0xb5, - 0x2d, 0x97, 0x6c, 0xd6, 0x40, 0x36, 0x41, 0x36, 0x41, 0x36, 0x25, 0x98, 0xa9, 0x24, 0x89, 0x91, - 0x49, 0x83, 0x92, 0x52, 0xeb, 0x2f, 0x3c, 0x04, 0x52, 0x52, 0xed, 0x2b, 0x16, 0x2b, 0xca, 0xc4, - 0x8b, 0x4a, 0x31, 0xa3, 0x5c, 0xdc, 0xa8, 0x16, 0x3b, 0xda, 0xc4, 0x8f, 0x36, 0x31, 0xa4, 0x43, - 0x1c, 0xc9, 0xe7, 0xa5, 0x2a, 0x0c, 0x09, 0xb2, 0xc5, 0xd4, 0xa4, 0x61, 0xe2, 0x38, 0x34, 0x62, - 0x76, 0x3f, 0x74, 0x15, 0x6e, 0xc8, 0x49, 0x99, 0x9e, 0xa9, 0x97, 0x29, 0xda, 0x29, 0x2a, 0xdc, - 0x0e, 0x33, 0x2f, 0xc9, 0xfc, 0x66, 0x15, 0x25, 0xed, 0xdf, 0x28, 0x9a, 0x17, 0xb9, 0x4e, 0x0a, - 0x6d, 0x82, 0x5e, 0x87, 0xc0, 0xd7, 0x26, 0xf8, 0x75, 0x29, 0x00, 0xed, 0x8a, 0x40, 0xbb, 0x42, - 0xd0, 0xa9, 0x18, 0xd4, 0x28, 0x08, 0x45, 0x8a, 0x62, 0x32, 0x31, 0xd2, 0x9d, 0x28, 0x0b, 0x4f, - 0xcb, 0x5d, 0x18, 0xfa, 0x94, 0x04, 0x2a, 0xcf, 0xcb, 0x18, 0x9d, 0xd6, 0x8c, 0x5a, 0x02, 0x45, - 0x49, 0x95, 0x66, 0xde, 0xa3, 0x3c, 0xc9, 0x92, 0xfa, 0x93, 0xa0, 0x22, 0x1c, 0x88, 0xb8, 0x0f, - 0x34, 0x66, 0x5e, 0x42, 0x53, 0xf9, 0x30, 0x34, 0x5e, 0x3f, 0x10, 0x5f, 0x03, 0xc8, 0x99, 0xff, - 0x5e, 0x93, 0xf1, 0x4e, 0xad, 0x5a, 0x05, 0xda, 0x01, 0xda, 0x01, 0xda, 0x01, 0xda, 0x59, 0x77, - 0xb4, 0x33, 0xf0, 0x02, 0x56, 0x6b, 0x6a, 0x00, 0x3b, 0x4d, 0x85, 0xaf, 0x50, 0x13, 0xad, 0xfd, - 0xf6, 0x47, 0xed, 0x71, 0xb7, 0x54, 0x47, 0x73, 0xcf, 0xbc, 0x6c, 0x1c, 0x02, 0x5c, 0xfb, 0xa4, - 0xe7, 0x7d, 0xba, 0x22, 0x82, 0x67, 0xf7, 0xba, 0xea, 0x08, 0x61, 0x4d, 0x62, 0xe1, 0xf5, 0x56, - 0x21, 0x8f, 0xfa, 0xb7, 0x4a, 0xa3, 0xba, 0xb7, 0x8d, 0xdd, 0x62, 0x84, 0x6a, 0x52, 0xdf, 0xfa, - 0x0d, 0xd8, 0x2b, 0xd8, 0xeb, 0xb2, 0xd3, 0x12, 0xc5, 0x94, 0xf6, 0x23, 0xa6, 0x9e, 0xae, 0x8e, - 0x5f, 0x64, 0x32, 0x3f, 0x4d, 0xa1, 0x37, 0x08, 0x2a, 0x08, 0x2a, 0x08, 0x2a, 0x08, 0xea, 0xba, - 0x13, 0x54, 0x98, 0xe3, 0x01, 0x68, 0x4a, 0x0c, 0x68, 0x6c, 0x97, 0xfa, 0xe4, 0x49, 0x1b, 0xac, - 0x19, 0xbd, 0xce, 0x64, 0x70, 0x03, 0xd3, 0x3b, 0x90, 0x0d, 0x90, 0x0d, 0x90, 0xcd, 0xda, 0x23, - 0x1b, 0x98, 0xde, 0x97, 0xfe, 0x59, 0x55, 0xd3, 0x7b, 0x15, 0xc6, 0x54, 0x33, 0xc4, 0xc2, 0xeb, - 0xad, 0x52, 0x84, 0xe9, 0x7d, 0xab, 0x59, 0xc5, 0x6e, 0x31, 0x43, 0x35, 0xa9, 0x6f, 0x1d, 0xa6, - 0x77, 0x30, 0xd5, 0x1c, 0x4c, 0xd5, 0x0b, 0x63, 0x8f, 0x69, 0x21, 0xa9, 0xa3, 0x37, 0x21, 0x38, - 0x0c, 0x0c, 0x15, 0x0c, 0x15, 0x0c, 0x15, 0x0c, 0xd5, 0x78, 0x86, 0xba, 0xab, 0x81, 0xa0, 0x6e, - 0x83, 0xa0, 0x96, 0x94, 0xa0, 0x22, 0x36, 0x0c, 0x04, 0x75, 0xc9, 0xad, 0x52, 0xdf, 0x6e, 0x60, - 0xb3, 0x80, 0x9f, 0x82, 0x9f, 0x82, 0x9f, 0xe6, 0x9b, 0x96, 0x07, 0x2f, 0x66, 0x03, 0xe2, 0x4f, - 0x6a, 0xed, 0x29, 0xa7, 0xa9, 0x6f, 0x5f, 0x08, 0x5e, 0x06, 0x5e, 0x06, 0x5e, 0x06, 0x5e, 0x66, - 0x0c, 0x2f, 0x7b, 0xa9, 0x33, 0xa6, 0x23, 0x2c, 0x6a, 0x4f, 0xe1, 0x3b, 0x46, 0x73, 0x66, 0x3c, - 0x39, 0x53, 0x5c, 0x34, 0xf6, 0xdd, 0x35, 0xda, 0xd5, 0xf0, 0x2e, 0x55, 0x85, 0x50, 0x17, 0xbe, - 0xd0, 0xbc, 0xe2, 0xb3, 0x0b, 0xf1, 0xb0, 0x8e, 0xe5, 0x51, 0x59, 0xac, 0x76, 0xe1, 0x5b, 0xcd, - 0x2c, 0x62, 0xab, 0x97, 0xb7, 0x68, 0xa2, 0xfe, 0x7a, 0xc5, 0x5c, 0x13, 0x62, 0x4e, 0x96, 0x98, - 0xcb, 0x4e, 0x03, 0xb1, 0xbb, 0x6d, 0xfb, 0xe8, 0xe6, 0x57, 0xed, 0x53, 0xe3, 0xb9, 0xb5, 0xf1, - 0x6b, 0xe7, 0xf9, 0xed, 0x87, 0xbf, 0xe7, 0x7d, 0xad, 0xf6, 0x69, 0xe7, 0xb9, 0xb5, 0xe0, 0x5f, - 0x9a, 0xcf, 0xad, 0x25, 0xdb, 0xd8, 0x7e, 0xfe, 0x38, 0xf3, 0xd5, 0xf4, 0xf3, 0xfa, 0xa2, 0x07, - 0x1a, 0x0b, 0x1e, 0xd8, 0x5a, 0xf4, 0xc0, 0xd6, 0x82, 0x07, 0x16, 0x76, 0xa9, 0xbe, 0xe0, 0x81, - 0xed, 0xe7, 0xdf, 0x33, 0xdf, 0xff, 0x38, 0xff, 0xab, 0xcd, 0xe7, 0x8d, 0xdf, 0x8b, 0xfe, 0x6d, - 0xe7, 0xf9, 0x77, 0x6b, 0x63, 0x03, 0x82, 0x5f, 0x58, 0xf0, 0x63, 0xdb, 0xea, 0xdf, 0xb6, 0xe6, - 0x2b, 0x42, 0x18, 0x1e, 0xb3, 0x33, 0x74, 0xec, 0x25, 0xac, 0xcd, 0x58, 0xac, 0x96, 0x35, 0x9e, - 0x78, 0xc1, 0xa1, 0x9f, 0x65, 0xef, 0x51, 0x6c, 0x2b, 0xaf, 0x9c, 0x90, 0xc7, 0xa9, 0x37, 0xd5, - 0x76, 0x1b, 0x8d, 0xe6, 0x4e, 0xa3, 0x51, 0xdd, 0xd9, 0xda, 0xa9, 0xee, 0x6d, 0x6f, 0xd7, 0x9a, - 0x35, 0x95, 0x8e, 0xbe, 0xb3, 0xd8, 0xa5, 0x31, 0x75, 0xbf, 0x3c, 0x55, 0x5a, 0x56, 0x30, 0xf0, - 0x7d, 0x1d, 0xaf, 0xfa, 0x9a, 0xd0, 0x58, 0xa9, 0x33, 0x00, 0x26, 0xef, 0xc2, 0x45, 0x8b, 0x4a, - 0x93, 0x77, 0x56, 0x62, 0x22, 0xb6, 0x3d, 0x57, 0x9f, 0xd1, 0xfb, 0xe5, 0x95, 0x30, 0x7b, 0xcf, - 0x87, 0x53, 0x30, 0x7b, 0x73, 0x2c, 0x3a, 0xcc, 0xde, 0x65, 0x87, 0x47, 0x08, 0x47, 0x5a, 0x56, - 0x74, 0x21, 0x1c, 0x69, 0x39, 0x54, 0x89, 0x70, 0x24, 0xf9, 0x5b, 0x1d, 0xe1, 0x48, 0x92, 0xb6, - 0x4a, 0x7d, 0x1b, 0x99, 0xaa, 0xcc, 0xe1, 0xed, 0xb0, 0x0a, 0x80, 0x9b, 0x15, 0xde, 0xa2, 0xec, - 0x22, 0x17, 0x8a, 0x17, 0x52, 0x6d, 0x69, 0xc3, 0x87, 0x38, 0x8e, 0x36, 0x5f, 0xea, 0x7d, 0x6d, - 0x8e, 0xea, 0xf4, 0x94, 0xb5, 0x76, 0xa6, 0xc4, 0x2a, 0x5a, 0x93, 0x69, 0xb2, 0x59, 0x4c, 0x9c, - 0x1f, 0x2a, 0x0a, 0xcb, 0xbe, 0x38, 0xd2, 0x66, 0xdf, 0x85, 0x4a, 0x48, 0xa8, 0x84, 0x54, 0x34, - 0xcd, 0x46, 0x25, 0x24, 0x6d, 0x4a, 0x42, 0x59, 0x25, 0x24, 0x45, 0x85, 0xdb, 0x66, 0x0e, 0x93, - 0x92, 0x02, 0x6e, 0x8a, 0xc5, 0x97, 0x72, 0x31, 0xa6, 0x43, 0x9c, 0x69, 0x13, 0x6b, 0xba, 0xc4, - 0x9b, 0x76, 0x31, 0xa7, 0x5d, 0xdc, 0xe9, 0x14, 0x7b, 0x6a, 0x69, 0x95, 0x2a, 0xf2, 0xa3, 0x4a, - 0x1c, 0x4e, 0x5e, 0x30, 0xbe, 0xa3, 0x6e, 0xbb, 0xd4, 0x89, 0xe9, 0x68, 0x0d, 0x14, 0xef, 0xe7, - 0xb7, 0xf7, 0xe3, 0xa7, 0xde, 0xad, 0x78, 0x9f, 0xe9, 0xb8, 0x31, 0x3f, 0x79, 0x59, 0x55, 0x6d, - 0x5c, 0x82, 0xe2, 0x58, 0x1a, 0xc5, 0x8e, 0x2b, 0x6d, 0x2a, 0x47, 0xa7, 0xea, 0xd1, 0xae, 0x82, - 0x74, 0xab, 0xa2, 0xc2, 0x54, 0x52, 0x61, 0xaa, 0xa9, 0x08, 0x15, 0xa5, 0x56, 0x55, 0x29, 0x56, - 0x59, 0x93, 0x09, 0x53, 0xee, 0x08, 0x9b, 0x39, 0x6d, 0xaa, 0x1d, 0x62, 0x6f, 0x45, 0xa3, 0x06, - 0x8b, 0xba, 0x26, 0x07, 0xd9, 0xf8, 0x47, 0x8f, 0xf4, 0xb0, 0x74, 0x3b, 0xcc, 0x26, 0x2f, 0xd5, - 0x9c, 0x68, 0x6e, 0xf2, 0xde, 0xa2, 0x7c, 0x22, 0x2f, 0x47, 0x44, 0xb7, 0x6f, 0x44, 0x93, 0x94, - 0x79, 0xbd, 0xa5, 0x34, 0x3a, 0xd6, 0x66, 0xb6, 0x94, 0xb6, 0xfb, 0xfe, 0xd8, 0x54, 0x8a, 0x15, - 0xa3, 0xbe, 0xb7, 0x18, 0x7d, 0xbf, 0x46, 0x97, 0x63, 0x6e, 0xf2, 0x3e, 0xed, 0x0e, 0x3a, 0xf5, - 0x1b, 0x41, 0xe1, 0x12, 0x55, 0x32, 0x0f, 0xca, 0x8b, 0xeb, 0x4b, 0x1f, 0xad, 0x7f, 0xfb, 0x62, - 0xf0, 0x54, 0xf0, 0x54, 0xf0, 0x54, 0xf0, 0x54, 0xf0, 0xd4, 0xd1, 0x69, 0x4b, 0xb5, 0x56, 0x4c, - 0xbb, 0x3a, 0x6f, 0x8a, 0xee, 0xe8, 0xb9, 0x29, 0x3a, 0x8a, 0xbc, 0x70, 0x6c, 0xaf, 0xdb, 0x9a, - 0x8a, 0xb4, 0x78, 0xf3, 0xc1, 0xe8, 0xef, 0x20, 0x9d, 0x0e, 0xa3, 0xb7, 0x8e, 0x96, 0x0b, 0x4b, - 0xd3, 0x8c, 0x59, 0xcf, 0xc5, 0xa5, 0x69, 0x42, 0x55, 0xd8, 0x05, 0xa6, 0x49, 0x27, 0xf4, 0x5d, - 0x64, 0x9a, 0x7d, 0xa5, 0xf2, 0x0b, 0x4d, 0xc0, 0xea, 0xe6, 0x60, 0x75, 0x44, 0x4d, 0xce, 0x79, - 0x8f, 0xd6, 0xa0, 0xbb, 0xd9, 0xf0, 0x30, 0x25, 0x71, 0x78, 0xea, 0x56, 0x5c, 0xc5, 0xe5, 0xb9, - 0x84, 0x11, 0x46, 0xd5, 0xc7, 0xb5, 0x0c, 0x5f, 0x63, 0x78, 0x58, 0x4b, 0x1d, 0x61, 0x2d, 0xa5, - 0xe1, 0x68, 0x08, 0x6b, 0x59, 0x5f, 0xed, 0x84, 0xb0, 0x16, 0xb9, 0xd3, 0x89, 0xb0, 0x96, 0xbc, - 0xaa, 0x06, 0xe6, 0xc2, 0x12, 0xab, 0x20, 0xdd, 0xaa, 0xa8, 0x30, 0x95, 0x54, 0x98, 0x6a, 0x2a, - 0x42, 0x45, 0xa9, 0xa7, 0x68, 0x16, 0xc2, 0x5a, 0x24, 0x88, 0x46, 0x84, 0xb5, 0x88, 0x98, 0xcc, - 0x10, 0xd6, 0xa2, 0xb1, 0x03, 0x08, 0x6b, 0x51, 0xbd, 0xa5, 0x10, 0xd6, 0x82, 0xb0, 0x96, 0xdc, - 0x10, 0x1e, 0xd1, 0x18, 0x33, 0x9b, 0x0a, 0xd1, 0x18, 0xa0, 0x57, 0xa0, 0x57, 0xa0, 0x57, 0xa0, - 0x57, 0x65, 0xa3, 0x57, 0x88, 0xc6, 0x40, 0x34, 0x06, 0x1f, 0xd1, 0x43, 0x34, 0xc6, 0xaa, 0x46, - 0x63, 0xc0, 0x4d, 0x63, 0xad, 0x53, 0x10, 0xc1, 0xd0, 0xb7, 0x8d, 0x24, 0x4f, 0xe5, 0xdf, 0x32, - 0x45, 0x6f, 0x95, 0x8a, 0x92, 0x00, 0x8e, 0x78, 0xe0, 0xb0, 0x60, 0x04, 0x47, 0x3a, 0xe3, 0x77, - 0xde, 0x5e, 0x64, 0x1d, 0xfe, 0xe6, 0x93, 0xe0, 0xb6, 0x13, 0x3d, 0x34, 0x6e, 0xdb, 0xc3, 0x5e, - 0xde, 0x7e, 0x8b, 0xe3, 0xe8, 0x8f, 0xb4, 0x7f, 0xb7, 0x93, 0xef, 0x5e, 0x8d, 0xbb, 0xb7, 0x06, - 0xf9, 0xa8, 0xd4, 0xc4, 0xbb, 0x28, 0x8d, 0x73, 0x51, 0x9e, 0x75, 0xaa, 0x8e, 0xac, 0x53, 0xda, - 0x58, 0x2d, 0xb2, 0x4e, 0xad, 0x9e, 0xd6, 0x52, 0x96, 0x75, 0x8a, 0x38, 0x0e, 0x8d, 0x98, 0xdd, - 0x0f, 0x5d, 0x0d, 0x21, 0x7a, 0xd3, 0x2f, 0x53, 0x15, 0xb8, 0xa3, 0x21, 0xd2, 0xa4, 0x92, 0x01, - 0x7c, 0x35, 0x70, 0xec, 0x06, 0x59, 0xfe, 0x75, 0x0b, 0x7c, 0x6d, 0x82, 0x5f, 0x97, 0x02, 0xd0, - 0xae, 0x08, 0xb4, 0x2b, 0x04, 0x9d, 0x8a, 0xc1, 0x4c, 0x66, 0xac, 0x2f, 0xcb, 0xff, 0x5d, 0x18, - 0xfa, 0x94, 0x04, 0x3a, 0x2a, 0xdb, 0xd6, 0xd6, 0x38, 0x8a, 0x9e, 0xb8, 0x0f, 0x34, 0x66, 0x5e, - 0x92, 0xd9, 0xd7, 0x86, 0x5c, 0xf2, 0x81, 0xf8, 0x1a, 0x74, 0xf6, 0xfc, 0xf7, 0x9a, 0xac, 0xbe, - 0x6b, 0xd5, 0x2a, 0x94, 0x37, 0x94, 0x37, 0x94, 0x37, 0x94, 0xf7, 0xba, 0x2b, 0xef, 0x81, 0x17, - 0xb0, 0x5a, 0x53, 0x83, 0xee, 0x6e, 0xa2, 0x46, 0xcf, 0xfb, 0x03, 0x41, 0x8d, 0x1e, 0x25, 0x7b, - 0x1d, 0x35, 0x7a, 0x24, 0x6d, 0x95, 0x46, 0x75, 0x0f, 0x45, 0x7a, 0xcc, 0x50, 0x4d, 0xea, 0x5b, - 0xbf, 0x59, 0x63, 0x32, 0xe6, 0x0c, 0xe2, 0x38, 0xa5, 0x43, 0xe3, 0x9b, 0x74, 0x1a, 0xb2, 0xf6, - 0xbf, 0x7d, 0x23, 0xa8, 0x06, 0xa8, 0x06, 0xa8, 0x06, 0xa8, 0x86, 0x51, 0x54, 0x03, 0xd5, 0x40, - 0xd7, 0x99, 0x69, 0x54, 0x81, 0x1d, 0xc1, 0x34, 0x96, 0xdb, 0x2a, 0xa8, 0x06, 0x0a, 0xa2, 0x01, - 0xa2, 0x91, 0xc1, 0x31, 0xda, 0x8f, 0x98, 0x7a, 0x7e, 0x31, 0x7e, 0x91, 0xc9, 0x7e, 0x9d, 0x14, - 0x47, 0xc2, 0xb1, 0x03, 0xb6, 0x05, 0xb6, 0x05, 0xb6, 0xb5, 0xee, 0x6c, 0x0b, 0x51, 0x19, 0x3a, - 0xf5, 0xb3, 0xed, 0x52, 0x9f, 0x3c, 0x69, 0xd3, 0xd2, 0xa3, 0xd7, 0x99, 0xac, 0xab, 0x11, 0x81, - 0x01, 0x45, 0x0d, 0x45, 0x0d, 0x45, 0xbd, 0xf6, 0x8a, 0x1a, 0x11, 0x18, 0x4b, 0xff, 0xc0, 0x2e, - 0x2a, 0xf6, 0x3e, 0xd8, 0x45, 0xa5, 0x6e, 0x95, 0x22, 0xec, 0xa2, 0x5b, 0xcd, 0x2a, 0x76, 0x8b, - 0x19, 0xaa, 0x49, 0x7d, 0xeb, 0xeb, 0x6d, 0x18, 0xd5, 0x15, 0x79, 0xa1, 0x3a, 0xe2, 0x02, 0x21, - 0xef, 0x20, 0x5c, 0x20, 0x5c, 0x20, 0x5c, 0x20, 0x5c, 0x88, 0x43, 0x01, 0xdf, 0xd2, 0x01, 0xa2, - 0x11, 0xf1, 0x0e, 0xbe, 0xb5, 0xe4, 0x56, 0xd1, 0x96, 0x5d, 0x18, 0x74, 0x0b, 0x74, 0xab, 0xc4, - 0x74, 0xeb, 0xc1, 0x8b, 0xd9, 0x80, 0xf8, 0xf6, 0x28, 0x11, 0x95, 0x7a, 0xd6, 0xf5, 0xf6, 0x85, - 0xa0, 0x19, 0xa0, 0x19, 0xa0, 0x19, 0xa0, 0x19, 0xc6, 0xd0, 0x0c, 0x2f, 0x52, 0x2c, 0xbb, 0xa6, - 0xe5, 0x57, 0x6d, 0x4f, 0xe1, 0x3b, 0x46, 0x73, 0x66, 0x3c, 0xd7, 0x78, 0x59, 0x99, 0x87, 0x86, - 0x86, 0xb5, 0x99, 0x59, 0xa3, 0x5d, 0x3d, 0x49, 0x95, 0x19, 0x8d, 0x03, 0x6d, 0x85, 0x6b, 0x2a, - 0x1f, 0xbf, 0x57, 0xed, 0xbd, 0x9b, 0xdf, 0xdf, 0x6b, 0xf6, 0xde, 0xcd, 0xf0, 0xd7, 0x5a, 0xf6, - 0xbf, 0x5f, 0xf5, 0xe7, 0xdf, 0xf5, 0xef, 0x55, 0xbb, 0x31, 0xfa, 0xb4, 0xbe, 0xfd, 0xbd, 0x6a, - 0x6f, 0xdf, 0x6c, 0x7c, 0xbc, 0xbe, 0xfe, 0x9c, 0xf7, 0x99, 0x8d, 0x5f, 0x5b, 0xcf, 0xea, 0xd3, - 0x92, 0xdf, 0xe8, 0x58, 0x9e, 0xb3, 0xcb, 0xce, 0x5f, 0xda, 0xd7, 0xe8, 0xbf, 0x1f, 0x75, 0xad, - 0xd2, 0xc6, 0x3f, 0x2a, 0xa6, 0x17, 0xef, 0xf8, 0xb4, 0x42, 0x62, 0xae, 0x09, 0x31, 0x27, 0x4b, - 0xcc, 0x65, 0xa7, 0x81, 0xd8, 0xdd, 0xb6, 0x7d, 0x74, 0xf3, 0xab, 0xf6, 0xa9, 0xf1, 0xdc, 0xda, - 0xf8, 0xb5, 0xf3, 0xfc, 0xf6, 0xc3, 0xdf, 0xf3, 0xbe, 0x56, 0xfb, 0xb4, 0xf3, 0xdc, 0x5a, 0xf0, - 0x2f, 0xcd, 0xe7, 0xd6, 0x92, 0x6d, 0x6c, 0x3f, 0x7f, 0x9c, 0xf9, 0x6a, 0xfa, 0x79, 0x7d, 0xd1, - 0x03, 0x8d, 0x05, 0x0f, 0x6c, 0x2d, 0x7a, 0x60, 0x6b, 0xc1, 0x03, 0x0b, 0xbb, 0x54, 0x5f, 0xf0, - 0xc0, 0xf6, 0xf3, 0xef, 0x99, 0xef, 0x7f, 0x9c, 0xff, 0xd5, 0xe6, 0xf3, 0xc6, 0xef, 0x45, 0xff, - 0xb6, 0xf3, 0xfc, 0xbb, 0xb5, 0xb1, 0x01, 0xc1, 0x2f, 0x2c, 0xf8, 0xb1, 0x6d, 0xf5, 0x6f, 0x5b, - 0xf3, 0x15, 0xa1, 0x69, 0x76, 0x34, 0x45, 0x8c, 0x51, 0x4b, 0xd1, 0x0e, 0x7d, 0xc5, 0x3a, 0x0a, - 0x2d, 0xd2, 0xa1, 0xb1, 0x38, 0x87, 0xc6, 0xa2, 0x1c, 0x66, 0x59, 0x70, 0xb3, 0x2a, 0x03, 0xb1, - 0xed, 0xb9, 0xfa, 0x6c, 0xb8, 0x2f, 0xaf, 0x84, 0x15, 0x17, 0x56, 0x5c, 0x58, 0x71, 0x61, 0xc5, - 0x35, 0xc6, 0x8a, 0x8b, 0x60, 0x91, 0x12, 0x59, 0x36, 0x10, 0x2c, 0xa2, 0x64, 0xab, 0x23, 0x58, - 0x44, 0xd2, 0x56, 0x41, 0xd2, 0x12, 0x93, 0x68, 0xa8, 0x85, 0x60, 0x11, 0x14, 0x6b, 0xd3, 0x59, - 0xac, 0x4d, 0x41, 0x11, 0xbf, 0x72, 0x16, 0x40, 0x53, 0x4f, 0x35, 0xb5, 0x51, 0x4c, 0x45, 0xd4, - 0x52, 0x19, 0xa5, 0x44, 0x61, 0xb4, 0x32, 0x50, 0x46, 0x14, 0x46, 0xd3, 0xa6, 0x21, 0x94, 0x51, - 0x41, 0x0d, 0xe5, 0xb7, 0x55, 0x96, 0xdb, 0x9e, 0x94, 0xd7, 0xfe, 0xfc, 0x79, 0x73, 0xa8, 0xd2, - 0x36, 0x67, 0x65, 0x65, 0x59, 0x75, 0xd1, 0x87, 0x12, 0xed, 0xb4, 0x54, 0x68, 0xa8, 0xd4, 0x34, - 0x6a, 0x1c, 0x0c, 0xea, 0x1c, 0x0a, 0x5a, 0x1d, 0x08, 0x0a, 0x1d, 0x06, 0x0a, 0x1d, 0x04, 0xb2, - 0x76, 0x9e, 0x22, 0xf4, 0xab, 0x15, 0xf5, 0x56, 0xa4, 0x16, 0xd6, 0xe5, 0xac, 0x43, 0x2c, 0x47, - 0xd0, 0x89, 0x8b, 0x25, 0xb1, 0x16, 0x04, 0xb7, 0x55, 0x85, 0x3e, 0xb2, 0x98, 0xd8, 0x83, 0x20, - 0x61, 0xe4, 0xce, 0x97, 0xa3, 0x34, 0x2b, 0x31, 0xed, 0xd2, 0x98, 0x06, 0x8e, 0x3c, 0xfb, 0xa2, - 0xc4, 0x7d, 0x3e, 0xd6, 0xe0, 0x17, 0x47, 0xfb, 0xd6, 0xf6, 0xce, 0xde, 0xae, 0x65, 0x5b, 0xdf, - 0x86, 0x52, 0xdc, 0xca, 0xb6, 0x4c, 0x6c, 0x5d, 0x50, 0x77, 0x10, 0xb8, 0x24, 0x70, 0x9e, 0xac, - 0xf3, 0x38, 0x64, 0xa1, 0x13, 0xfa, 0xd7, 0xc1, 0xc7, 0x6f, 0x17, 0x17, 0xe7, 0x1b, 0xd6, 0x37, - 0x1a, 0x27, 0x5e, 0x18, 0x58, 0x5b, 0x56, 0x37, 0x8c, 0xad, 0xce, 0xf9, 0x43, 0xc3, 0x22, 0x81, - 0x9b, 0xfe, 0x22, 0x33, 0x5b, 0x8b, 0x2a, 0xcc, 0x3b, 0x8d, 0x75, 0x5f, 0x16, 0x49, 0x32, 0xf8, - 0x52, 0x0d, 0x73, 0x5f, 0xc1, 0x5b, 0xf9, 0xab, 0x58, 0x36, 0xc0, 0xf2, 0xa1, 0x58, 0xa3, 0x93, - 0xa8, 0x7c, 0x91, 0xac, 0xae, 0xd4, 0xab, 0x29, 0xb1, 0x0d, 0xc0, 0xbf, 0x5c, 0x7c, 0x4f, 0x72, - 0x2e, 0xcf, 0x18, 0xbf, 0x72, 0x33, 0x76, 0x39, 0x00, 0x55, 0x1e, 0x20, 0x55, 0x0a, 0x40, 0x25, - 0x02, 0x4e, 0x89, 0x00, 0x93, 0x77, 0xe9, 0xdb, 0x83, 0x5e, 0x3a, 0x4d, 0xd4, 0x15, 0xd2, 0xce, - 0x62, 0x47, 0x79, 0xa2, 0x85, 0x37, 0x43, 0xc7, 0xf6, 0xba, 0xad, 0xa9, 0x03, 0xfb, 0xe6, 0x83, - 0xf4, 0xef, 0xf4, 0xc8, 0xb6, 0xa6, 0x8f, 0x6f, 0x66, 0xd4, 0x68, 0x65, 0x87, 0x78, 0xf8, 0xeb, - 0xcb, 0x51, 0x7e, 0xf5, 0xb7, 0xa0, 0x6a, 0xab, 0x1c, 0xd0, 0xc4, 0x89, 0xbd, 0x68, 0x24, 0xbd, - 0x2a, 0x6d, 0xd7, 0xf5, 0xd2, 0xdf, 0x89, 0x6f, 0x75, 0xce, 0xad, 0xf4, 0x1d, 0x56, 0x97, 0xf4, - 0x3d, 0xff, 0xc9, 0x1a, 0x8a, 0xa0, 0x41, 0x9c, 0x09, 0xba, 0x54, 0xa9, 0x5c, 0x07, 0x2f, 0x43, - 0x12, 0xed, 0xc5, 0xd8, 0x20, 0x20, 0xd8, 0x8c, 0x2c, 0xeb, 0xa2, 0x4c, 0x6b, 0xa2, 0x74, 0xeb, - 0xa1, 0x6c, 0xe4, 0xa4, 0xcc, 0x3a, 0xa8, 0x0c, 0x26, 0xa9, 0xb0, 0xfe, 0x15, 0x4b, 0x51, 0x0e, - 0x3c, 0x39, 0x66, 0x90, 0x4a, 0xa6, 0xde, 0xa5, 0xed, 0x8c, 0x89, 0xb7, 0x21, 0x6d, 0x55, 0xd2, - 0xda, 0xbd, 0x11, 0x38, 0x87, 0x81, 0xe3, 0x87, 0x89, 0x17, 0xf4, 0x52, 0x01, 0xc3, 0x88, 0x17, - 0xd0, 0x38, 0x43, 0xac, 0x29, 0x8a, 0xb5, 0x32, 0x26, 0x9d, 0x58, 0xf7, 0x24, 0x70, 0x7d, 0xea, - 0x5a, 0x77, 0x4f, 0x16, 0xbb, 0xf7, 0x92, 0xeb, 0xa0, 0x73, 0x6e, 0x4d, 0x64, 0x8f, 0xac, 0x7e, - 0xc9, 0x11, 0x41, 0xd2, 0x45, 0x91, 0x0a, 0x91, 0xa4, 0x4c, 0x34, 0xe9, 0x24, 0x77, 0x4a, 0x1c, - 0x19, 0x7a, 0x99, 0x9d, 0x64, 0xc7, 0x45, 0xb9, 0xcc, 0xc7, 0x0a, 0xac, 0x2e, 0x0a, 0xad, 0x2f, - 0xf2, 0xad, 0x30, 0x46, 0x59, 0x63, 0x54, 0x1f, 0x5c, 0x9d, 0xd6, 0x19, 0x6d, 0x67, 0xd9, 0x34, - 0x6b, 0x8d, 0x5c, 0x39, 0x21, 0xbf, 0xb5, 0x9b, 0xd5, 0xb0, 0x56, 0x6b, 0x36, 0x8f, 0xdc, 0xf0, - 0x72, 0x64, 0x39, 0x56, 0x2b, 0xa5, 0xd6, 0x2a, 0x01, 0xc9, 0x90, 0xd7, 0x69, 0xc2, 0x77, 0xcc, - 0xf2, 0x2f, 0x59, 0xbe, 0x27, 0x72, 0x2a, 0x63, 0xd1, 0x45, 0x55, 0xb2, 0x98, 0xf9, 0x66, 0x76, - 0xf9, 0xf9, 0xc9, 0x31, 0x37, 0x15, 0x67, 0x8c, 0xc6, 0xf3, 0xcd, 0xc9, 0x4b, 0x15, 0xe2, 0xe1, - 0xf3, 0x39, 0x57, 0x83, 0x8f, 0x52, 0x70, 0x53, 0x07, 0x11, 0x8a, 0x20, 0x4c, 0x05, 0x44, 0x91, - 0x83, 0x34, 0x68, 0x2f, 0x4d, 0xed, 0xcb, 0x80, 0xea, 0x6a, 0x4f, 0x3b, 0xaf, 0xd5, 0xa0, 0xe2, - 0xde, 0x3b, 0x91, 0xed, 0xf8, 0xde, 0x70, 0x70, 0x9c, 0x0b, 0x36, 0xde, 0x31, 0xd3, 0x8d, 0x71, - 0xce, 0xb4, 0x8c, 0x54, 0xd0, 0x95, 0xcc, 0xcc, 0x5c, 0xd1, 0xaa, 0x43, 0xc5, 0x82, 0x24, 0x85, - 0x6d, 0x04, 0x32, 0x6c, 0x02, 0xd2, 0x6c, 0x00, 0xb2, 0xa8, 0x83, 0x74, 0x8e, 0x2f, 0x9d, 0x07, - 0xc8, 0xe4, 0xf0, 0x7a, 0x5d, 0x62, 0xc2, 0x41, 0x83, 0x12, 0xcb, 0xac, 0x09, 0x96, 0x51, 0x7b, - 0x2e, 0x18, 0xf6, 0x3e, 0xf5, 0x42, 0x66, 0x87, 0x8e, 0xed, 0x84, 0xfd, 0x28, 0xc3, 0x39, 0xae, - 0xed, 0x53, 0xd2, 0x4d, 0x1b, 0x7d, 0xd6, 0x05, 0x25, 0x39, 0xb4, 0x34, 0x0d, 0xc8, 0x9d, 0x4f, - 0x5d, 0x71, 0xa9, 0x3f, 0x6e, 0xa8, 0x48, 0x89, 0xcf, 0x5f, 0xf7, 0x14, 0x02, 0x1f, 0x02, 0x1f, - 0x02, 0x1f, 0x02, 0x7f, 0xf5, 0x05, 0x7e, 0x2f, 0x26, 0x6c, 0xe0, 0xb1, 0x70, 0x90, 0xd8, 0x24, - 0x8e, 0x6c, 0xe2, 0x38, 0x34, 0x62, 0x32, 0x14, 0xc0, 0xa2, 0x86, 0x21, 0x59, 0x21, 0x59, 0x21, - 0x59, 0xd7, 0x41, 0xb2, 0x4a, 0xf4, 0xf0, 0x49, 0xf4, 0xe8, 0x49, 0x8c, 0xd8, 0xb9, 0x38, 0xda, - 0xb7, 0x76, 0xeb, 0xcd, 0x96, 0xd5, 0x0e, 0xac, 0x43, 0x76, 0x4f, 0xe3, 0x80, 0x32, 0x6b, 0x64, - 0x2f, 0xb6, 0x2e, 0x68, 0x12, 0xfa, 0x83, 0x2c, 0x18, 0x6a, 0xec, 0xce, 0x29, 0x79, 0x70, 0x8f, - 0x6c, 0x87, 0x9b, 0x9e, 0xf8, 0x9e, 0xdc, 0x8b, 0x60, 0xac, 0xff, 0xe7, 0x06, 0xb8, 0x48, 0x1f, - 0x2e, 0xea, 0xb3, 0x81, 0x38, 0x06, 0x4a, 0x1b, 0x01, 0xde, 0x01, 0xde, 0x01, 0xde, 0xc9, 0xb1, - 0x5b, 0x84, 0x0b, 0x3f, 0x4b, 0x28, 0xec, 0x2c, 0x29, 0x37, 0x94, 0x04, 0xac, 0x21, 0x33, 0xb7, - 0xd3, 0x24, 0x21, 0x4f, 0x53, 0x52, 0x2e, 0x6a, 0x65, 0xf9, 0x76, 0xe4, 0xe7, 0xd3, 0x91, 0x10, - 0xb6, 0x26, 0x35, 0x79, 0xd2, 0xcb, 0x5a, 0x6c, 0x6f, 0x6f, 0x6d, 0xaf, 0xdf, 0x72, 0xac, 0x05, - 0x86, 0x5a, 0x0b, 0x06, 0xb4, 0xb3, 0x57, 0x6b, 0x59, 0x59, 0xfc, 0x4c, 0x8a, 0xbc, 0xc1, 0x75, - 0x14, 0x73, 0x9d, 0x05, 0xd3, 0x8d, 0x13, 0xb9, 0x76, 0xac, 0x66, 0x5d, 0x22, 0xc5, 0x46, 0xc1, - 0x55, 0x25, 0x08, 0x13, 0x0b, 0xa8, 0xd7, 0xbb, 0xbf, 0x0b, 0xe3, 0x84, 0x3f, 0x52, 0xec, 0xa5, - 0x09, 0x04, 0x8b, 0x29, 0x93, 0xfc, 0x08, 0x16, 0xd3, 0x18, 0x2c, 0x36, 0xde, 0xd1, 0xe2, 0xe6, - 0x92, 0x49, 0x4b, 0x62, 0x36, 0x93, 0x1a, 0x6c, 0x26, 0xb0, 0x99, 0x98, 0x60, 0x33, 0x11, 0xbd, - 0xd5, 0xc9, 0x1b, 0xb6, 0xbc, 0x70, 0xd3, 0x71, 0x85, 0x31, 0x4b, 0x3e, 0x86, 0xd2, 0x8e, 0xa3, - 0xcc, 0x63, 0x29, 0xfd, 0x78, 0xea, 0xe0, 0x38, 0xb8, 0xac, 0x5d, 0x88, 0xa9, 0x48, 0xde, 0x65, - 0x6d, 0x4f, 0xc1, 0x55, 0x6d, 0x69, 0xf7, 0x78, 0x25, 0x67, 0x80, 0xc5, 0x85, 0x68, 0x5c, 0x88, - 0xd6, 0x25, 0x1e, 0xe4, 0x88, 0x09, 0x49, 0xe2, 0x62, 0x32, 0x50, 0xe9, 0x19, 0x5b, 0x55, 0x17, - 0xf6, 0x55, 0x51, 0xd9, 0x52, 0x59, 0x05, 0x4b, 0x03, 0x0b, 0xf2, 0xde, 0xc8, 0x9c, 0x56, 0x95, - 0x75, 0x16, 0x0d, 0x2d, 0xa4, 0x7b, 0xb3, 0x16, 0x49, 0x4d, 0xa5, 0x5b, 0x2a, 0xe5, 0x4b, 0x51, - 0x19, 0xbe, 0x39, 0xdf, 0x0b, 0x7e, 0xd8, 0x3e, 0x79, 0xa2, 0xf1, 0x44, 0xd2, 0x49, 0xc7, 0x4e, - 0x73, 0xde, 0x01, 0x2c, 0x05, 0x2c, 0x05, 0x2c, 0x55, 0x3a, 0x2c, 0x75, 0x42, 0x02, 0x97, 0xb0, - 0x30, 0x7e, 0x92, 0x98, 0xb1, 0x49, 0x1d, 0x3e, 0x8b, 0xee, 0x9f, 0x12, 0xe0, 0xb3, 0xe9, 0x9a, - 0xc1, 0x6f, 0x4b, 0x11, 0xd7, 0x9f, 0x37, 0xfe, 0xcf, 0xc6, 0xff, 0x5d, 0x4f, 0x68, 0xf5, 0xfe, - 0xbc, 0x00, 0x13, 0xad, 0x20, 0x26, 0x42, 0xca, 0xe2, 0xf9, 0xde, 0xe0, 0x89, 0x03, 0x75, 0xf2, - 0x1b, 0x97, 0x83, 0x58, 0xde, 0x7c, 0x0b, 0xcc, 0xb5, 0x0c, 0x0b, 0x9f, 0x3c, 0xcb, 0x9e, 0x24, - 0x14, 0x0a, 0xc3, 0x7d, 0xa9, 0xd0, 0x25, 0x0c, 0xf7, 0xfa, 0x11, 0x9e, 0x82, 0x1a, 0x49, 0x32, - 0x6b, 0x22, 0xcd, 0xa9, 0x81, 0xe4, 0x45, 0x26, 0x8a, 0xcf, 0x61, 0xe5, 0x40, 0x69, 0x12, 0x74, - 0xd8, 0x5c, 0xc9, 0xbc, 0x9f, 0x75, 0x08, 0x51, 0x08, 0x51, 0x83, 0x84, 0x28, 0xbc, 0x9f, 0xb0, - 0xd8, 0xc1, 0x62, 0x07, 0x8b, 0x5d, 0x69, 0xac, 0x6b, 0xf0, 0x7e, 0xc2, 0xfb, 0x09, 0xef, 0xa7, - 0x2a, 0x4b, 0x1f, 0x9c, 0x7f, 0x80, 0x12, 0x80, 0x12, 0x80, 0x12, 0x25, 0x82, 0x12, 0x70, 0xfe, - 0xc1, 0xf9, 0xb7, 0x2a, 0xc8, 0xc2, 0x44, 0xe7, 0x5f, 0x29, 0x20, 0x41, 0x18, 0x7b, 0x3d, 0x99, - 0xa9, 0x13, 0x26, 0x0a, 0x6b, 0xd8, 0x2e, 0x54, 0x3f, 0x54, 0x3f, 0x54, 0xff, 0x1a, 0x59, 0x11, - 0xc6, 0xce, 0x66, 0x5b, 0xaa, 0x00, 0x78, 0xa5, 0xa9, 0x1b, 0x12, 0xdb, 0x3c, 0x0c, 0x06, 0x7d, - 0xf9, 0x27, 0xe1, 0x2a, 0xbc, 0x64, 0xb1, 0x17, 0xf4, 0x94, 0xd4, 0x7f, 0xaa, 0x54, 0xd3, 0x79, - 0x3e, 0xbb, 0xfa, 0xf3, 0xf0, 0x42, 0x45, 0xe5, 0xaa, 0x5a, 0xda, 0xfa, 0xe5, 0x55, 0xfb, 0xaa, - 0xb3, 0xaf, 0xa2, 0xf9, 0x7a, 0xda, 0xfc, 0xc1, 0x7f, 0x4e, 0xdb, 0x27, 0x9d, 0x7d, 0xb9, 0x25, - 0x99, 0x9e, 0x3f, 0xc9, 0x5e, 0xc4, 0x8e, 0x40, 0x59, 0x87, 0xbf, 0x6d, 0x7a, 0x3c, 0x7e, 0x61, - 0xaf, 0xd5, 0xdc, 0xd6, 0x87, 0x5b, 0x43, 0x9a, 0x72, 0x7b, 0xad, 0x3b, 0x86, 0x1b, 0xa3, 0x65, - 0xd5, 0x4a, 0x5a, 0xfc, 0x0a, 0x71, 0x49, 0xe6, 0xc5, 0x25, 0x0d, 0xfd, 0xc9, 0x28, 0xa6, 0xbe, - 0x4c, 0x03, 0x28, 0xa6, 0x2e, 0xd8, 0x54, 0x61, 0xc5, 0xd4, 0x91, 0xe6, 0x17, 0x69, 0x7e, 0x91, - 0xe6, 0x57, 0xde, 0xd3, 0x66, 0x26, 0xc4, 0x52, 0xaa, 0x49, 0x75, 0xd4, 0x79, 0x3c, 0x1d, 0xbf, - 0x0b, 0xe9, 0xbb, 0x14, 0x2d, 0x67, 0x19, 0x32, 0x78, 0x45, 0x71, 0xf8, 0xf8, 0x64, 0x13, 0x8e, - 0x22, 0xf8, 0x2f, 0x06, 0xfb, 0x49, 0x13, 0xc8, 0xe0, 0xa5, 0x4c, 0x81, 0x21, 0x83, 0x97, 0xc6, - 0x0c, 0x5e, 0x82, 0x69, 0x84, 0xe4, 0xa4, 0x0f, 0x42, 0xf6, 0x2e, 0x05, 0xf8, 0x0f, 0xd9, 0xbb, - 0xd4, 0x21, 0x27, 0xe1, 0xec, 0x5d, 0xfd, 0xd0, 0x95, 0x18, 0xbc, 0x9e, 0xb5, 0x26, 0x1a, 0xbb, - 0x2b, 0xa1, 0xea, 0xde, 0x4b, 0x63, 0x9d, 0xcb, 0xf6, 0x97, 0xe3, 0x43, 0x31, 0x20, 0x7e, 0x83, - 0x2b, 0x4d, 0xca, 0x85, 0x8d, 0x0e, 0xd2, 0x89, 0x68, 0xfc, 0x62, 0x0c, 0xa6, 0xf2, 0xaf, 0x34, - 0xd1, 0x60, 0xd0, 0xa7, 0xf1, 0x90, 0x5a, 0x48, 0xbc, 0xd6, 0x24, 0xc1, 0xf9, 0x25, 0xd7, 0xe9, - 0xa5, 0xc6, 0xd9, 0x35, 0x74, 0x72, 0x8d, 0x45, 0xa3, 0x44, 0x87, 0x5f, 0xe6, 0xde, 0xba, 0x38, - 0x3c, 0x39, 0xbb, 0x3a, 0xbc, 0x3d, 0x3b, 0x3d, 0xfe, 0x8f, 0xcc, 0xb6, 0x33, 0xdf, 0x56, 0xfb, - 0xf8, 0xb8, 0x52, 0x2e, 0x5f, 0xaf, 0x74, 0x3f, 0x56, 0x36, 0x46, 0xa9, 0xbe, 0xab, 0xc9, 0x4a, - 0x4b, 0xf5, 0x5a, 0xbd, 0x5a, 0x67, 0x59, 0x2e, 0x2b, 0xd3, 0x5d, 0x43, 0x12, 0xcd, 0xd0, 0x93, - 0x36, 0xe5, 0x99, 0xa3, 0xc7, 0x3f, 0x0a, 0x22, 0x13, 0x2e, 0x8e, 0xf6, 0x6b, 0xd5, 0xfa, 0x4e, - 0xcb, 0xfa, 0x9a, 0x78, 0x41, 0xcf, 0x6a, 0x5f, 0x9c, 0x5b, 0x2c, 0xb4, 0x3a, 0xfd, 0x68, 0xe8, - 0xbe, 0xb0, 0xae, 0x62, 0x12, 0x24, 0x11, 0x89, 0xd3, 0xdf, 0x2f, 0x07, 0x77, 0x01, 0x65, 0xd6, - 0x1f, 0x84, 0xd1, 0x9f, 0xe4, 0x29, 0x31, 0x2c, 0xfa, 0x46, 0xb6, 0xe5, 0x5a, 0x39, 0x9e, 0x98, - 0x8b, 0x2b, 0x44, 0xd6, 0x6b, 0xe5, 0xdc, 0xc9, 0x37, 0x2b, 0xe5, 0x4e, 0x56, 0x96, 0x57, 0xc4, - 0x14, 0x37, 0x70, 0x09, 0xbd, 0x09, 0x13, 0x73, 0xad, 0x50, 0x9a, 0x10, 0x3d, 0x45, 0x07, 0xc5, - 0xee, 0xb3, 0x4b, 0xb9, 0xc7, 0x2e, 0xcd, 0x0c, 0x57, 0x87, 0x19, 0x0e, 0x66, 0x38, 0x98, 0xe1, - 0x60, 0x86, 0x83, 0x19, 0x0e, 0x66, 0x38, 0x98, 0xe1, 0x60, 0x86, 0x83, 0x19, 0x0e, 0x66, 0x38, - 0x98, 0xe1, 0x60, 0x86, 0x83, 0x19, 0x0e, 0x66, 0x38, 0x98, 0xe1, 0x56, 0xca, 0x0c, 0x07, 0xeb, - 0x94, 0xb8, 0x75, 0x4a, 0xe0, 0xb2, 0x08, 0x82, 0x4f, 0xdf, 0x9f, 0xdf, 0x0a, 0x97, 0x39, 0x6e, - 0xb9, 0xd0, 0xe1, 0xf3, 0xf4, 0x25, 0xed, 0x38, 0x2a, 0x43, 0x80, 0x2b, 0x9f, 0x09, 0x51, 0xc8, - 0x74, 0x28, 0x1c, 0xd8, 0x5a, 0x47, 0x60, 0x6b, 0x81, 0xda, 0x72, 0xa5, 0x03, 0x5b, 0x07, 0xe9, - 0xa1, 0x4d, 0x64, 0x84, 0xb6, 0x8e, 0x5a, 0x42, 0x70, 0x2b, 0xac, 0xea, 0x85, 0x18, 0xb2, 0x0c, - 0xb3, 0xaa, 0x7b, 0x81, 0xed, 0x7a, 0x89, 0x43, 0x62, 0x97, 0xba, 0x76, 0xf4, 0x83, 0x25, 0x12, - 0x13, 0xdd, 0xcf, 0x34, 0x0d, 0xeb, 0xb4, 0xf2, 0x43, 0xab, 0x8a, 0x60, 0xc2, 0x3a, 0x6d, 0xad, - 0xa0, 0x75, 0x7a, 0xa4, 0x2e, 0x9b, 0x0d, 0x89, 0xb6, 0x69, 0x09, 0x89, 0xcc, 0x2a, 0x17, 0x24, - 0xe8, 0x95, 0xd2, 0x8a, 0x74, 0xe2, 0x05, 0xf2, 0x6d, 0x36, 0xdf, 0x88, 0x3f, 0xa0, 0xf2, 0x13, - 0x66, 0x54, 0x8e, 0x62, 0xe2, 0xa4, 0xec, 0xee, 0xc0, 0xeb, 0x79, 0xa2, 0x17, 0xed, 0xe7, 0x6f, - 0x23, 0xda, 0x23, 0xcc, 0x7b, 0xa0, 0x42, 0xf7, 0xd9, 0x15, 0x9c, 0x94, 0xd7, 0x4b, 0x46, 0x1e, - 0xd5, 0x2d, 0x99, 0xdc, 0x84, 0x03, 0xab, 0xb6, 0x8a, 0x08, 0x5e, 0x5b, 0x73, 0x4b, 0xbb, 0xd5, - 0xa8, 0xef, 0x6d, 0x59, 0xb6, 0x75, 0x42, 0x02, 0xd2, 0x1b, 0xda, 0x6b, 0x3b, 0x41, 0x37, 0x8c, - 0xfb, 0x99, 0xd5, 0xc9, 0xfa, 0x42, 0x12, 0x6a, 0x75, 0xc3, 0xd8, 0x62, 0xf7, 0xf4, 0x3a, 0xc8, - 0x0c, 0x37, 0x01, 0x65, 0x93, 0xdc, 0x00, 0xd6, 0xc7, 0xce, 0xf9, 0x06, 0x8c, 0xee, 0x6a, 0x61, - 0xd2, 0x5c, 0xb8, 0x24, 0x69, 0xe9, 0x20, 0x49, 0x24, 0xbd, 0x5f, 0xa8, 0x76, 0x59, 0x60, 0xd3, - 0x38, 0x0e, 0x63, 0xf9, 0xec, 0x6e, 0xaa, 0x59, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, - 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, - 0x30, 0x3b, 0xb5, 0xcc, 0xae, 0x1b, 0xc6, 0x3f, 0x87, 0x0e, 0xb6, 0xd0, 0x61, 0x54, 0x32, 0xbf, - 0x9b, 0x69, 0x1c, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, - 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x4f, 0x17, 0xcb, 0x93, - 0xee, 0xc3, 0x7b, 0xd3, 0x34, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, - 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x9e, 0x5a, - 0x86, 0xd7, 0x1f, 0xf8, 0xcc, 0x73, 0x48, 0xc2, 0x54, 0xf8, 0xf1, 0x66, 0x1a, 0x07, 0xcb, 0x03, - 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x5b, - 0x07, 0x96, 0xd7, 0x5a, 0x86, 0x29, 0x58, 0x63, 0xa2, 0x70, 0x1d, 0xbc, 0x62, 0x0a, 0x96, 0x6d, - 0x79, 0xd1, 0xe5, 0x53, 0xc2, 0x68, 0xff, 0x92, 0x11, 0x96, 0xfc, 0xb9, 0xdf, 0x09, 0x4e, 0x52, - 0x4c, 0x79, 0x26, 0x03, 0x52, 0x82, 0x03, 0x8a, 0x70, 0x40, 0xa5, 0x0b, 0x0b, 0x29, 0x54, 0x36, - 0x86, 0x28, 0xdd, 0x07, 0xf8, 0xa6, 0x69, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, - 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0x5e, 0x12, 0x71, 0xfe, 0x03, - 0xdc, 0x70, 0x05, 0xb9, 0x61, 0xb6, 0xac, 0x90, 0x40, 0xe5, 0x60, 0x86, 0x0a, 0x3c, 0x86, 0xf0, - 0x13, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, - 0x09, 0xae, 0x11, 0x13, 0x44, 0x34, 0xa8, 0xb1, 0x6c, 0x0f, 0xd1, 0xa0, 0x2b, 0xc1, 0xe8, 0xa4, - 0x7b, 0xf8, 0xe0, 0xd7, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, - 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x53, 0xcd, 0xe6, 0xc2, - 0x01, 0x53, 0x56, 0x60, 0x6f, 0x4e, 0xdb, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, - 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, - 0x78, 0x8a, 0x39, 0x9e, 0x8a, 0x12, 0x7b, 0x6f, 0xda, 0x05, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, - 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, - 0xb7, 0x03, 0xb7, 0x53, 0xcc, 0xed, 0xd4, 0x15, 0xd9, 0x9b, 0xdb, 0x3a, 0x78, 0x1e, 0x78, 0x1e, - 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, - 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x9e, 0x36, 0x9e, 0x27, 0xdf, 0x8f, 0x87, 0x3a, 0x7b, 0xe0, 0x78, - 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, - 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0x7a, 0x39, 0x9e, 0xba, 0x42, 0x7b, 0x73, 0x5b, 0x07, 0xcf, - 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, - 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0xd3, 0xc6, 0xf3, 0xe4, 0xfb, 0xf2, 0x50, 0x2f, - 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, - 0x0f, 0x1c, 0x2f, 0x27, 0x51, 0xb8, 0x0e, 0x66, 0x6b, 0xab, 0x9d, 0x0d, 0x18, 0x6a, 0xe6, 0x99, - 0xcf, 0x01, 0xdf, 0x5d, 0x5a, 0x48, 0xa2, 0x92, 0x70, 0x44, 0x15, 0x1e, 0x40, 0xf8, 0xfd, 0xc0, - 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, - 0x09, 0xe1, 0xf7, 0x5b, 0x75, 0xce, 0x07, 0x4e, 0x57, 0x16, 0x4e, 0x27, 0xdf, 0xdb, 0x07, 0x1f, - 0x1f, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, - 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x9c, 0xba, 0x27, 0x39, 0x25, 0x57, 0xa5, 0x1d, - 0x04, 0x21, 0xcb, 0x96, 0x59, 0xe8, 0xa8, 0x54, 0x12, 0xe7, 0x9e, 0xf6, 0x49, 0x44, 0xd8, 0x7d, - 0xba, 0xa7, 0x36, 0xc3, 0x88, 0x06, 0x4e, 0xc6, 0xbd, 0x6c, 0x2f, 0xdd, 0x2f, 0x5d, 0xe2, 0xd0, - 0x64, 0x73, 0xde, 0xaf, 0x9b, 0x71, 0x38, 0x60, 0xd4, 0xb5, 0x1f, 0x7c, 0x12, 0x6c, 0x7a, 0xd1, - 0x43, 0x63, 0x33, 0x61, 0x84, 0xd1, 0xcd, 0x11, 0x5c, 0x15, 0x21, 0x92, 0x95, 0x84, 0xc5, 0x03, - 0x87, 0x05, 0x23, 0x19, 0xd5, 0x19, 0xbf, 0xf2, 0xf6, 0x22, 0x7b, 0xe5, 0x37, 0x9f, 0x04, 0xb7, - 0x9d, 0xe8, 0xa1, 0x71, 0xbb, 0x3f, 0x7e, 0xd7, 0x07, 0x3d, 0x0b, 0xc6, 0xb1, 0x58, 0x15, 0xf7, - 0xde, 0x89, 0x6c, 0xc7, 0xf7, 0x86, 0xa7, 0x96, 0x6f, 0xa5, 0x26, 0xe2, 0x7a, 0xba, 0x31, 0xce, - 0x8d, 0x73, 0x40, 0xbb, 0x64, 0xe0, 0x33, 0x21, 0xa5, 0x54, 0xc9, 0x30, 0x08, 0xdf, 0xac, 0xdf, - 0x70, 0xf6, 0x5b, 0xcc, 0xb0, 0x20, 0x6c, 0x50, 0x90, 0x61, 0x48, 0x90, 0x66, 0x40, 0x90, 0xa5, - 0x24, 0xa5, 0x1b, 0x0c, 0xa4, 0x6b, 0x40, 0x99, 0x06, 0x02, 0xbd, 0x02, 0x5a, 0xd8, 0x10, 0x30, - 0xd9, 0x2d, 0x77, 0x61, 0xe8, 0x53, 0x12, 0x88, 0xec, 0x97, 0xd1, 0xe1, 0xa9, 0xd5, 0x4a, 0x2c, - 0x28, 0x69, 0x90, 0x62, 0x6f, 0x57, 0x5c, 0x48, 0x8e, 0x1b, 0x2a, 0x52, 0x40, 0xa6, 0x3b, 0x1f, - 0xf2, 0x11, 0xf2, 0x11, 0xf2, 0x11, 0xf2, 0x51, 0x92, 0x7c, 0xec, 0xc5, 0x84, 0x0d, 0x3c, 0x16, - 0x0e, 0x12, 0x9b, 0xc4, 0x91, 0x4d, 0x1c, 0x87, 0x46, 0x4c, 0x86, 0xbc, 0x5c, 0xd4, 0x30, 0x04, - 0x11, 0x04, 0x11, 0x04, 0x91, 0x51, 0x82, 0x88, 0x73, 0x0a, 0x24, 0x9a, 0x3f, 0x25, 0x9a, 0x3d, - 0x25, 0xfa, 0xd0, 0x2e, 0x8e, 0xf6, 0xad, 0xdd, 0x7a, 0xb3, 0x65, 0xb5, 0x03, 0xeb, 0x90, 0xdd, - 0x0f, 0xed, 0x60, 0x6d, 0xd7, 0x8d, 0x69, 0x92, 0x58, 0x17, 0x34, 0x09, 0xfd, 0x41, 0x66, 0x31, - 0x1b, 0x9b, 0xc6, 0x4a, 0xee, 0xdc, 0x95, 0x6d, 0xc0, 0xd4, 0xe3, 0xdf, 0xcd, 0xbd, 0x08, 0x45, - 0xbb, 0x82, 0x3f, 0xe8, 0x35, 0x41, 0xea, 0x81, 0x11, 0x7d, 0x36, 0x10, 0x87, 0x0c, 0x69, 0x23, - 0x80, 0x07, 0x80, 0x07, 0x80, 0x07, 0x39, 0x76, 0xcb, 0xc0, 0x0b, 0x58, 0xad, 0x29, 0x01, 0x1d, - 0x34, 0x05, 0x9a, 0x90, 0x13, 0xb5, 0x21, 0x41, 0x35, 0xcb, 0x8c, 0xd2, 0x98, 0xb8, 0xfa, 0x9b, - 0xbb, 0x92, 0xf4, 0x96, 0x2a, 0x87, 0xbe, 0x7c, 0x47, 0xbe, 0x84, 0x30, 0x0c, 0xa9, 0xe1, 0x17, - 0x2f, 0x6b, 0xb1, 0xbd, 0xbd, 0xb5, 0xbd, 0x7e, 0xcb, 0x61, 0x16, 0xe4, 0x00, 0x61, 0x58, 0x4c, - 0x18, 0x76, 0xf6, 0x6a, 0x2d, 0x6b, 0xc6, 0x6b, 0x0e, 0x6a, 0xa0, 0x88, 0x1a, 0x2c, 0x98, 0x6e, - 0x90, 0x00, 0xa9, 0x4f, 0xe4, 0x3c, 0xf1, 0xa2, 0x71, 0x06, 0xd2, 0xe3, 0x0b, 0xf2, 0xed, 0x87, - 0xe5, 0xe7, 0x26, 0xc7, 0xbc, 0x54, 0x06, 0x41, 0x30, 0xe8, 0xdf, 0xd1, 0x98, 0xc3, 0xf8, 0xfa, - 0x02, 0x06, 0x5f, 0xda, 0xc8, 0xb9, 0x22, 0x63, 0x13, 0x51, 0xce, 0xc7, 0x78, 0x89, 0x93, 0x08, - 0x61, 0x7a, 0x45, 0x94, 0xba, 0x1c, 0x12, 0x49, 0x54, 0x52, 0x4a, 0x23, 0x46, 0xd2, 0xc4, 0xe0, - 0x0c, 0x11, 0xea, 0x56, 0x4a, 0x76, 0xe2, 0x0f, 0xbc, 0x98, 0x6f, 0xb1, 0x9d, 0xf1, 0x0e, 0x13, - 0x34, 0x2e, 0x8c, 0xda, 0x11, 0xb3, 0x2f, 0xd4, 0x56, 0xc5, 0xbe, 0xd0, 0x85, 0x7d, 0x41, 0xd3, - 0xb1, 0x2a, 0xc6, 0xbe, 0xc0, 0x7b, 0xdc, 0x5e, 0xb0, 0xb8, 0x60, 0xdc, 0xc4, 0xcc, 0xae, 0x13, - 0x8b, 0x9f, 0x78, 0x19, 0x98, 0x84, 0x38, 0x8a, 0x49, 0x63, 0x02, 0x01, 0x67, 0x13, 0x3c, 0x86, - 0x9b, 0x6d, 0xca, 0x05, 0x8e, 0x0e, 0x86, 0x63, 0xe8, 0xcd, 0xb6, 0x2e, 0x6e, 0xb6, 0xbd, 0xdd, - 0x6d, 0xe2, 0xfe, 0xd2, 0x19, 0xad, 0x5f, 0x2b, 0x74, 0x8a, 0x24, 0x05, 0x65, 0x4f, 0xda, 0x7b, - 0xea, 0x85, 0xcc, 0x0e, 0x1d, 0xdb, 0x09, 0xfb, 0x51, 0x4c, 0x93, 0x84, 0xba, 0xb6, 0x4f, 0x49, - 0x37, 0x6d, 0xfc, 0x79, 0x2d, 0xa2, 0xdc, 0x0f, 0x1f, 0x33, 0x6b, 0x1f, 0xbf, 0x02, 0x91, 0x87, - 0x7b, 0x42, 0xc7, 0xa6, 0x8f, 0xac, 0xc5, 0xa8, 0x4f, 0xfb, 0x94, 0xc5, 0x4f, 0x76, 0x18, 0xd8, - 0xce, 0x7d, 0x66, 0x4d, 0x97, 0x8a, 0x85, 0x32, 0x4d, 0x27, 0x11, 0x0c, 0xe9, 0xc6, 0x41, 0x37, - 0xab, 0x73, 0xa1, 0xe1, 0x85, 0xa3, 0x6f, 0x8e, 0x38, 0x49, 0x89, 0xfd, 0xba, 0x93, 0x71, 0xd8, - 0x31, 0xed, 0x8a, 0x93, 0xb0, 0xd7, 0xcd, 0x81, 0x8b, 0x81, 0x8b, 0x81, 0x8b, 0x29, 0x37, 0x81, - 0xc8, 0x35, 0x85, 0x48, 0x3a, 0x86, 0x60, 0x2e, 0x60, 0x2e, 0x66, 0x33, 0x17, 0xd1, 0x63, 0x3d, - 0xab, 0x63, 0xe5, 0x6d, 0x8f, 0x19, 0x7d, 0x2b, 0x6b, 0x7b, 0xc8, 0x31, 0x57, 0x48, 0x3f, 0xfc, - 0x2a, 0x84, 0x80, 0x32, 0x61, 0xa0, 0x4a, 0x28, 0x28, 0x17, 0x0e, 0xca, 0x85, 0x84, 0x4a, 0x61, - 0x21, 0x47, 0x68, 0x48, 0x12, 0x1e, 0xf2, 0xcd, 0x1f, 0x33, 0xbb, 0x35, 0xa5, 0xf4, 0xfc, 0x20, - 0xfb, 0x6f, 0x35, 0xfe, 0x8e, 0xc4, 0x36, 0xcf, 0x27, 0x94, 0x2a, 0x5d, 0xe6, 0xd6, 0x14, 0x85, - 0x7a, 0xf3, 0xc1, 0xe8, 0xef, 0xec, 0xfa, 0x76, 0xa9, 0x96, 0x50, 0xb2, 0x79, 0x46, 0xbd, 0x99, - 0x46, 0xde, 0x49, 0x90, 0x11, 0x25, 0x96, 0x0c, 0xee, 0x14, 0x2a, 0xc0, 0x57, 0xad, 0x43, 0x07, - 0x42, 0x07, 0x42, 0x07, 0x42, 0x07, 0x1a, 0xab, 0x03, 0xbf, 0xbf, 0xe8, 0xc0, 0xff, 0x71, 0x06, - 0x71, 0x4c, 0x03, 0xf6, 0x71, 0x63, 0xf3, 0xf3, 0xe7, 0x17, 0x73, 0xe3, 0xcd, 0xe8, 0x91, 0x69, - 0xb9, 0x97, 0xcc, 0xf9, 0x6c, 0xd2, 0xb2, 0x4b, 0x1f, 0xa1, 0x4e, 0xcb, 0xa2, 0x4e, 0x0b, 0xe5, - 0xb3, 0xc2, 0x5e, 0x91, 0xf1, 0x8f, 0x7c, 0x13, 0x87, 0x32, 0x2f, 0xc9, 0x02, 0x69, 0x2e, 0xc1, - 0x5b, 0x32, 0x57, 0x8c, 0x17, 0x6d, 0xf2, 0xb8, 0x29, 0x99, 0x27, 0x52, 0x8d, 0x57, 0xe5, 0x95, - 0x93, 0x41, 0xc8, 0xc7, 0x22, 0x3e, 0xeb, 0xcf, 0x42, 0xf9, 0xaa, 0x08, 0xa3, 0xf2, 0xac, 0xbe, - 0xc3, 0xe6, 0x4a, 0x66, 0xf4, 0xad, 0xc3, 0xe8, 0x5b, 0x3c, 0xa6, 0x85, 0xd1, 0x77, 0xe9, 0x01, - 0xc1, 0xe8, 0x0b, 0xc2, 0x0b, 0xc2, 0x0b, 0xc2, 0x0b, 0xc2, 0xab, 0x85, 0xf0, 0xca, 0x37, 0xfa, - 0xc2, 0xe6, 0x09, 0x15, 0x00, 0x15, 0x00, 0x15, 0x00, 0x15, 0x60, 0x88, 0x0a, 0x28, 0xb5, 0xcd, - 0xd3, 0x70, 0x36, 0x63, 0xa2, 0x3d, 0x87, 0xe3, 0xbe, 0xae, 0x44, 0x73, 0xce, 0xba, 0x67, 0x63, - 0x5f, 0xb4, 0x2c, 0x3a, 0xf2, 0xb2, 0x7f, 0x9d, 0xbc, 0xfb, 0x76, 0xf2, 0xa5, 0x0b, 0xda, 0x2d, - 0x73, 0xf8, 0xb4, 0x98, 0x09, 0x4f, 0x8a, 0xe9, 0x4e, 0x5a, 0xb8, 0x74, 0x1d, 0xe1, 0xd2, 0xea, - 0xa0, 0x16, 0xc2, 0xa5, 0xa5, 0x99, 0xd8, 0x70, 0x75, 0x75, 0xc9, 0x1f, 0x5c, 0x5d, 0xd5, 0xc7, - 0xfd, 0xe0, 0x0b, 0xc0, 0xd5, 0xd5, 0xf7, 0x77, 0x5b, 0xf9, 0xae, 0xae, 0x02, 0x29, 0x4b, 0x40, - 0xca, 0x02, 0x94, 0x05, 0x89, 0x9b, 0x96, 0x98, 0xe0, 0x0a, 0x17, 0x32, 0xcf, 0x4b, 0x3a, 0x94, - 0xe5, 0x88, 0xfa, 0x20, 0x71, 0xa1, 0x78, 0x17, 0x48, 0xe2, 0xc2, 0xe4, 0x58, 0x8d, 0x65, 0x57, - 0x61, 0xb9, 0xa9, 0x7f, 0x7f, 0x22, 0x97, 0x98, 0xc4, 0x8a, 0x17, 0x3d, 0x34, 0x97, 0x9e, 0xba, - 0x17, 0x9f, 0x6b, 0xfa, 0xd4, 0x92, 0x4b, 0x94, 0x8f, 0x90, 0xe5, 0xc6, 0x47, 0x3c, 0x38, 0x88, - 0x3b, 0xf7, 0x30, 0x2f, 0xae, 0x11, 0xc6, 0x2f, 0xc2, 0x38, 0x45, 0x24, 0x77, 0xb0, 0xdc, 0x23, - 0x9b, 0x97, 0xf0, 0x54, 0xc8, 0x30, 0xbb, 0x39, 0x4d, 0xf8, 0x13, 0xc5, 0xbd, 0x34, 0xb1, 0x26, - 0x79, 0xe2, 0x22, 0xe4, 0x89, 0x93, 0x94, 0x30, 0xbb, 0xa4, 0x79, 0xe2, 0x46, 0x3b, 0x5a, 0xdc, - 0xd8, 0x36, 0x6e, 0x08, 0xd9, 0x09, 0x90, 0x89, 0x5e, 0xeb, 0xc1, 0x32, 0xd4, 0xdc, 0x86, 0xec, - 0x04, 0x45, 0x1a, 0xa7, 0x22, 0x18, 0xa7, 0x54, 0x18, 0xa7, 0x22, 0x04, 0xaa, 0x4e, 0xf8, 0x90, - 0x82, 0x08, 0xd5, 0x08, 0x71, 0x49, 0xe5, 0x39, 0xfe, 0xaa, 0xc4, 0x80, 0x72, 0x71, 0xa0, 0x5c, - 0x2c, 0xa8, 0x14, 0x0f, 0x72, 0xc4, 0x84, 0x24, 0x71, 0x31, 0x19, 0xa8, 0xba, 0xb8, 0x24, 0x2f, - 0x7a, 0x68, 0xda, 0x62, 0xd8, 0xfa, 0x6f, 0x15, 0xfd, 0xae, 0xdc, 0xe0, 0x24, 0x46, 0xe3, 0x40, - 0x8a, 0xa7, 0xee, 0x55, 0xc3, 0x1f, 0x3f, 0x7e, 0xaf, 0xda, 0x7b, 0xc4, 0xee, 0xb6, 0xed, 0xa3, - 0x9b, 0x5f, 0xb5, 0x4f, 0x8d, 0xe7, 0xd6, 0xc6, 0xaf, 0x9d, 0xe7, 0xb7, 0x1f, 0xfe, 0x9e, 0xf7, - 0xb5, 0xda, 0xa7, 0x9d, 0xe7, 0xd6, 0x82, 0x7f, 0x69, 0x3e, 0xb7, 0x96, 0x6c, 0x63, 0xfb, 0xf9, - 0xe3, 0xcc, 0x57, 0xd3, 0xcf, 0xeb, 0x8b, 0x1e, 0x68, 0x2c, 0x78, 0x60, 0x6b, 0xd1, 0x03, 0x5b, - 0x0b, 0x1e, 0x58, 0xd8, 0xa5, 0xfa, 0x82, 0x07, 0xb6, 0x9f, 0x7f, 0xcf, 0x7c, 0xff, 0xe3, 0xfc, - 0xaf, 0x36, 0x9f, 0x37, 0x7e, 0x2f, 0xfa, 0xb7, 0x9d, 0xe7, 0xdf, 0xad, 0x8d, 0x0d, 0x79, 0x07, - 0xf6, 0x46, 0xe6, 0x46, 0x3b, 0xbb, 0xec, 0xfc, 0xa5, 0x6c, 0xb7, 0xfd, 0x17, 0xdb, 0xad, 0xa8, - 0xed, 0xf6, 0x0f, 0x89, 0xfb, 0x0d, 0xd7, 0xb3, 0xcb, 0xa1, 0x67, 0x65, 0x44, 0xfe, 0x0f, 0xf1, - 0x8f, 0xed, 0xd3, 0xa0, 0x97, 0x79, 0x5a, 0x24, 0x03, 0xeb, 0xd7, 0xcd, 0x03, 0x63, 0x03, 0x63, - 0x03, 0x63, 0x97, 0x0e, 0x63, 0x9f, 0x90, 0xc0, 0x25, 0x2c, 0x8c, 0x9f, 0xc4, 0xed, 0x53, 0x1a, - 0x70, 0xfb, 0xc0, 0x0b, 0xd8, 0xae, 0x02, 0xc0, 0xbe, 0x2d, 0xb1, 0x49, 0x39, 0xe5, 0x27, 0xdf, - 0xfe, 0xc8, 0x3d, 0xa1, 0x96, 0xec, 0xf2, 0x94, 0x33, 0x8d, 0x8f, 0x4b, 0x24, 0x56, 0x3f, 0xa9, - 0x69, 0x5f, 0x55, 0xb9, 0xc4, 0xd9, 0xad, 0x27, 0xbb, 0x7c, 0xa2, 0xa2, 0x93, 0xfc, 0xe6, 0x54, - 0x3f, 0xaa, 0x5f, 0xda, 0x5a, 0x7d, 0x17, 0x8b, 0xab, 0x45, 0xd8, 0xcb, 0x6f, 0x0d, 0x38, 0x7e, - 0x85, 0x70, 0x3c, 0x93, 0xa9, 0x6f, 0x27, 0xba, 0x36, 0x6b, 0x55, 0xd2, 0x02, 0xcb, 0x8c, 0x36, - 0x9f, 0x34, 0xfa, 0xc7, 0xf1, 0xd9, 0x97, 0xf6, 0xf1, 0xed, 0xd7, 0xd3, 0xce, 0x7e, 0xfb, 0xf2, - 0x4a, 0x0e, 0x40, 0xbb, 0x01, 0x4d, 0x01, 0x4d, 0x01, 0x4d, 0x59, 0x53, 0x57, 0x80, 0x2d, 0x51, - 0xe6, 0x4d, 0x8b, 0x81, 0x5a, 0x43, 0x62, 0x9b, 0x87, 0xc1, 0xa0, 0x2f, 0xff, 0x2c, 0x5c, 0x85, - 0x97, 0x2c, 0xf6, 0x82, 0x9e, 0x12, 0xd8, 0x58, 0xa9, 0xa6, 0x33, 0xfd, 0x46, 0x5e, 0x2b, 0x80, - 0xbd, 0xb5, 0xf4, 0x35, 0xc7, 0x9d, 0xd3, 0x7f, 0xdd, 0x1e, 0x9f, 0xed, 0xcb, 0x56, 0x0d, 0x8a, - 0xf0, 0x7a, 0xe5, 0x2a, 0xec, 0x64, 0x07, 0x58, 0xc1, 0xb4, 0xbf, 0x99, 0x71, 0x25, 0x38, 0x7a, - 0xde, 0x7c, 0xb7, 0xac, 0x5a, 0x49, 0x71, 0xef, 0x33, 0x70, 0x6f, 0x49, 0x70, 0x2f, 0x72, 0x0d, - 0xcc, 0xbb, 0xb0, 0xd0, 0xdc, 0x9c, 0x04, 0x43, 0x8f, 0x7f, 0x33, 0x38, 0x69, 0xa4, 0x84, 0x70, - 0x1d, 0x79, 0x61, 0x3a, 0x6b, 0x73, 0x45, 0x14, 0x51, 0x78, 0x65, 0xc5, 0xd6, 0xab, 0x76, 0x45, - 0x54, 0x5e, 0x7a, 0x1f, 0x99, 0x69, 0x7d, 0x26, 0xe9, 0x7c, 0x3e, 0x7f, 0x1e, 0xc9, 0xce, 0x4d, - 0xd1, 0xc5, 0x43, 0xce, 0xdd, 0xb7, 0xeb, 0xb4, 0xea, 0x39, 0x77, 0x21, 0x44, 0x21, 0x44, 0xe7, - 0x0d, 0x08, 0xa1, 0xcc, 0x45, 0x62, 0x26, 0x15, 0xc7, 0x5e, 0xd9, 0xf1, 0x57, 0x25, 0x06, 0x94, - 0x8b, 0x03, 0xe5, 0x62, 0x41, 0xa5, 0x78, 0x28, 0x27, 0xd3, 0x47, 0x28, 0x33, 0x42, 0x99, 0x11, - 0xca, 0xfc, 0xb7, 0x3f, 0x08, 0x65, 0xc6, 0x76, 0x33, 0x30, 0x94, 0xb9, 0x14, 0x11, 0x00, 0x61, - 0xec, 0xf5, 0x24, 0x46, 0x73, 0xbd, 0x40, 0xa1, 0x61, 0xbb, 0x00, 0x95, 0x00, 0x95, 0x00, 0x95, - 0x6b, 0x05, 0x2a, 0x27, 0x2e, 0x71, 0xa9, 0x22, 0xc0, 0x82, 0x53, 0xfc, 0xa5, 0xf5, 0xcc, 0x29, - 0x7e, 0x76, 0xf5, 0xe7, 0xe1, 0x85, 0x32, 0x5f, 0xf8, 0xe5, 0x55, 0xfb, 0xaa, 0xb3, 0xaf, 0xa2, - 0xf9, 0x7a, 0xda, 0xfc, 0xc1, 0x9f, 0xfb, 0xe7, 0x2a, 0x1a, 0xdf, 0x7a, 0xf1, 0xe3, 0xb7, 0xff, - 0xa3, 0x66, 0x7a, 0x1a, 0xe9, 0x2b, 0x2e, 0xda, 0xa7, 0x07, 0x67, 0x27, 0x6b, 0x1b, 0x1e, 0x90, - 0x2d, 0x9f, 0xb0, 0x09, 0x76, 0x6e, 0xd3, 0x53, 0x8b, 0xd7, 0xb2, 0xb6, 0x14, 0xbc, 0x60, 0x78, - 0x6e, 0xd4, 0x44, 0x34, 0x8c, 0xb6, 0x45, 0xcb, 0x6a, 0x28, 0x68, 0x7c, 0x74, 0x24, 0x57, 0x3e, - 0x44, 0x02, 0x37, 0xdc, 0x80, 0x92, 0x81, 0x92, 0x81, 0x92, 0x0b, 0x47, 0xc9, 0xb8, 0xe1, 0x86, - 0x1b, 0x6e, 0x0a, 0x7e, 0x70, 0xc3, 0xad, 0x28, 0x48, 0x6c, 0xe1, 0x86, 0x5b, 0x99, 0x16, 0x77, - 0xb5, 0x6f, 0xb8, 0x95, 0xa3, 0x44, 0x23, 0x23, 0x6c, 0x90, 0x28, 0x28, 0xce, 0x38, 0x6c, 0x17, - 0xc0, 0x15, 0xc0, 0x15, 0xc0, 0x75, 0x8d, 0xcc, 0xbb, 0x34, 0x18, 0xf4, 0x69, 0x3c, 0x8c, 0x7f, - 0x87, 0x61, 0x57, 0xba, 0xce, 0xcd, 0x0c, 0xbb, 0xe7, 0x17, 0x87, 0x47, 0x87, 0x17, 0x17, 0x87, - 0x07, 0xca, 0x8c, 0xbb, 0x07, 0x87, 0xe7, 0x17, 0x87, 0xfb, 0xed, 0x2b, 0x35, 0xaf, 0xc8, 0x0c, - 0xbc, 0x9d, 0xd3, 0x6f, 0xed, 0xe3, 0xce, 0x81, 0x32, 0x1b, 0x6f, 0xe7, 0xb4, 0xbd, 0xbf, 0x7f, - 0x78, 0x79, 0xd9, 0xf9, 0x72, 0x7c, 0xa8, 0xcc, 0xca, 0xfb, 0xf5, 0xf4, 0x5f, 0xa7, 0x67, 0xff, - 0x3e, 0x55, 0xd1, 0xfe, 0x76, 0xda, 0xfe, 0xd5, 0xe1, 0xe9, 0x55, 0xfb, 0xaa, 0xf3, 0x4d, 0xc9, - 0x08, 0x9a, 0xd9, 0x4a, 0x7f, 0x3d, 0x3f, 0xee, 0xa4, 0x2b, 0xad, 0xe2, 0x0d, 0x3b, 0x99, 0x1b, - 0xe2, 0xfc, 0xaa, 0x73, 0xd2, 0xb9, 0xbc, 0xea, 0xec, 0xaf, 0xaf, 0x35, 0xfc, 0xe5, 0x38, 0x49, - 0x33, 0x14, 0xbc, 0x7e, 0xc1, 0x64, 0x15, 0x5b, 0x56, 0x53, 0x41, 0xfb, 0xaf, 0x0e, 0x93, 0x1a, - 0xab, 0xfb, 0x58, 0x1e, 0xa8, 0x71, 0x1a, 0x4c, 0x6d, 0xc2, 0x96, 0xb5, 0xa3, 0xe0, 0x05, 0x2f, - 0x32, 0x59, 0x8d, 0xe3, 0xe0, 0x45, 0x12, 0x48, 0x35, 0xb8, 0x4c, 0xda, 0x1f, 0x4b, 0xb2, 0x96, - 0xd5, 0xc0, 0xfd, 0xca, 0x25, 0xe6, 0x8b, 0x3e, 0xb2, 0x98, 0xd8, 0x83, 0x20, 0x61, 0xe4, 0xce, - 0x97, 0x8c, 0xa5, 0x62, 0xda, 0xa5, 0x31, 0x0d, 0x1c, 0x23, 0x0c, 0x61, 0x63, 0xe0, 0x77, 0x71, - 0xb4, 0x6f, 0x35, 0xea, 0x7b, 0x5b, 0x2d, 0xeb, 0x84, 0x04, 0xa4, 0x47, 0x53, 0x1c, 0x6d, 0x75, - 0x82, 0x6e, 0x18, 0xf7, 0x33, 0x34, 0x68, 0x7d, 0x21, 0x09, 0xb5, 0xba, 0x61, 0x6c, 0xb1, 0x7b, - 0x7a, 0x1d, 0x4c, 0x35, 0x91, 0x95, 0x43, 0x0a, 0x28, 0xb3, 0xce, 0xe3, 0x90, 0x85, 0x4e, 0xe8, - 0x5b, 0x1f, 0x3b, 0xe7, 0x1b, 0xaf, 0xbe, 0x62, 0x5b, 0x9d, 0xa8, 0x3d, 0x8c, 0x1a, 0xb8, 0xcc, - 0x88, 0xe5, 0xd5, 0xfe, 0x75, 0x60, 0x65, 0xaf, 0xdc, 0x6d, 0xd6, 0x5b, 0x56, 0xe7, 0xfc, 0xa1, - 0x69, 0xa5, 0xff, 0x42, 0x7d, 0x9a, 0x24, 0xd6, 0xe8, 0xab, 0x56, 0x7b, 0x90, 0xb6, 0x97, 0x72, - 0xbd, 0x81, 0x74, 0x48, 0xaa, 0x9a, 0x4e, 0xcd, 0xa3, 0x55, 0x2f, 0x1b, 0x43, 0x91, 0x49, 0x47, - 0x35, 0xc3, 0x9a, 0xcb, 0xb4, 0xcc, 0xd8, 0x39, 0xb0, 0x6e, 0x19, 0x68, 0xdd, 0x42, 0xfa, 0x22, - 0xa4, 0x2f, 0x82, 0x29, 0x0f, 0xa6, 0x3c, 0x98, 0xf2, 0x38, 0x76, 0x2b, 0xd2, 0x17, 0x59, 0x48, - 0x5f, 0xb4, 0xa2, 0x16, 0x19, 0xa4, 0x2f, 0x52, 0x24, 0xd5, 0x90, 0xbd, 0xe7, 0x55, 0x7b, 0x4a, - 0xb3, 0xf7, 0x08, 0xd4, 0xdb, 0x16, 0x9f, 0x6d, 0x91, 0xec, 0x13, 0x0f, 0x71, 0x2c, 0x31, 0x7d, - 0x4f, 0xd6, 0x1a, 0xca, 0xe8, 0x69, 0x43, 0x9f, 0xc8, 0x3d, 0x81, 0xdc, 0x13, 0x7f, 0x7b, 0xb4, - 0xed, 0x5e, 0x1c, 0x0e, 0x14, 0xe4, 0xa0, 0x98, 0x6a, 0x5b, 0x2e, 0x19, 0xad, 0x81, 0x8c, 0x82, - 0x8c, 0x82, 0x8c, 0x4a, 0xb0, 0x66, 0x49, 0x12, 0x23, 0x93, 0x06, 0x25, 0x15, 0xdd, 0x5d, 0x78, - 0x08, 0xa4, 0x14, 0xe1, 0x55, 0x2c, 0x56, 0x94, 0x89, 0x17, 0x95, 0x62, 0x46, 0xb9, 0xb8, 0x51, - 0x2d, 0x76, 0xb4, 0x89, 0x1f, 0x6d, 0x62, 0x48, 0x87, 0x38, 0x92, 0xcf, 0x4b, 0x55, 0x18, 0x16, - 0x64, 0x8b, 0xa9, 0x49, 0xc3, 0xc4, 0x71, 0x68, 0xc4, 0xec, 0x7e, 0xe8, 0x2a, 0xdc, 0x90, 0x93, - 0x02, 0xfe, 0x53, 0x2f, 0x53, 0xb4, 0x53, 0x54, 0x78, 0x27, 0x66, 0x5e, 0x92, 0x05, 0x8f, 0x57, - 0x94, 0xb4, 0x7f, 0xa3, 0x68, 0x5e, 0xe4, 0x3a, 0x31, 0xb4, 0x09, 0x7a, 0x1d, 0x02, 0x5f, 0x9b, - 0xe0, 0xd7, 0xa5, 0x00, 0xb4, 0x2b, 0x02, 0xed, 0x0a, 0x41, 0xa7, 0x62, 0x50, 0xa3, 0x20, 0x14, - 0x29, 0x8a, 0xc9, 0xc4, 0x48, 0x77, 0xb2, 0x2c, 0x3c, 0x2d, 0x77, 0x61, 0xe8, 0x53, 0x12, 0xa8, - 0x3c, 0x2f, 0x63, 0x74, 0x5a, 0x33, 0x6a, 0x09, 0x14, 0x25, 0xb4, 0x9f, 0x79, 0x8f, 0xf2, 0x04, - 0xf7, 0xea, 0x4f, 0x82, 0x8a, 0x4b, 0x71, 0xc4, 0x7d, 0xa0, 0x31, 0xf3, 0x92, 0x2c, 0x3a, 0x67, - 0x68, 0xbc, 0x7e, 0x20, 0xbe, 0x06, 0x90, 0x33, 0xff, 0xbd, 0x26, 0xe3, 0x9d, 0x5a, 0xb5, 0x0a, - 0xb4, 0x03, 0xb4, 0x03, 0xb4, 0x03, 0xb4, 0xb3, 0xee, 0x68, 0x67, 0xe0, 0x05, 0xac, 0xd6, 0xd4, - 0x00, 0x76, 0x9a, 0x0a, 0x5f, 0xa1, 0x26, 0x67, 0xc1, 0xdb, 0x1f, 0xb5, 0xc7, 0xdd, 0x52, 0x9d, - 0xd3, 0x60, 0xe6, 0x65, 0x93, 0x8b, 0xf0, 0x9f, 0xf4, 0xbc, 0x4f, 0xd7, 0xb5, 0xf8, 0xd9, 0xbd, - 0xae, 0xfa, 0x9a, 0xbc, 0x26, 0xb1, 0xf0, 0x7a, 0xab, 0x90, 0x47, 0xfd, 0x5b, 0xa5, 0x51, 0xdd, - 0xdb, 0xc6, 0x6e, 0x31, 0x42, 0x35, 0xa9, 0x6f, 0xfd, 0x06, 0xec, 0x15, 0xec, 0x75, 0xd9, 0x69, - 0x89, 0x62, 0x4a, 0xfb, 0x11, 0x53, 0x4f, 0x57, 0xc7, 0x2f, 0x32, 0x99, 0x9f, 0xa6, 0xd0, 0x1b, - 0x04, 0x15, 0x04, 0x15, 0x04, 0x15, 0x04, 0x75, 0xdd, 0x09, 0x2a, 0xcc, 0xf1, 0x00, 0x34, 0x25, - 0x06, 0x34, 0xb6, 0x4b, 0x7d, 0xf2, 0xa4, 0x0d, 0xd6, 0x8c, 0x5e, 0x67, 0x32, 0xb8, 0x81, 0xe9, - 0x1d, 0xc8, 0x06, 0xc8, 0x06, 0xc8, 0x66, 0xed, 0x91, 0x0d, 0x4c, 0xef, 0x4b, 0xff, 0xac, 0xaa, - 0xe9, 0xbd, 0x0a, 0x63, 0xaa, 0x19, 0x62, 0xe1, 0xf5, 0x56, 0x29, 0xc2, 0xf4, 0xbe, 0xd5, 0xac, - 0x62, 0xb7, 0x98, 0xa1, 0x9a, 0xd4, 0xb7, 0x0e, 0xd3, 0x3b, 0x98, 0x6a, 0x0e, 0xa6, 0xea, 0x85, - 0xb1, 0xc7, 0xb4, 0x90, 0xd4, 0xd1, 0x9b, 0x10, 0x1c, 0x06, 0x86, 0x0a, 0x86, 0x0a, 0x86, 0x0a, - 0x86, 0x6a, 0x3c, 0x43, 0xdd, 0xd5, 0x40, 0x50, 0xb7, 0x41, 0x50, 0x4b, 0x4a, 0x50, 0x11, 0x1b, - 0x06, 0x82, 0xba, 0xe4, 0x56, 0xa9, 0x6f, 0x37, 0xb0, 0x59, 0xc0, 0x4f, 0xc1, 0x4f, 0xc1, 0x4f, - 0xf3, 0x4d, 0xcb, 0x83, 0x17, 0xb3, 0x01, 0xf1, 0xc7, 0x89, 0x0e, 0xd5, 0xd3, 0xd4, 0xb7, 0x2f, - 0x04, 0x2f, 0x03, 0x2f, 0x03, 0x2f, 0x03, 0x2f, 0x33, 0x86, 0x97, 0xbd, 0x54, 0xf0, 0xd7, 0x11, - 0x16, 0xb5, 0xa7, 0xf0, 0x1d, 0xa3, 0x39, 0x33, 0x9e, 0x9c, 0x4d, 0x65, 0xec, 0x6d, 0x68, 0x58, - 0x9b, 0x99, 0x35, 0xda, 0xd5, 0xf0, 0xae, 0x73, 0xc2, 0x18, 0x8d, 0x03, 0xe5, 0xcb, 0x35, 0x79, - 0xe1, 0xc7, 0xef, 0x55, 0x7b, 0xef, 0xe6, 0xf7, 0xf7, 0x9a, 0xbd, 0x77, 0x33, 0xfc, 0xb5, 0x96, - 0xfd, 0xef, 0x57, 0xfd, 0xf9, 0x77, 0xfd, 0x7b, 0xd5, 0x6e, 0x8c, 0x3e, 0xad, 0x6f, 0x7f, 0xaf, - 0xda, 0xdb, 0x37, 0x1b, 0x1f, 0xaf, 0xaf, 0x3f, 0xe7, 0x7d, 0x66, 0xe3, 0xd7, 0xd6, 0x73, 0x45, - 0xf9, 0x70, 0x6e, 0x74, 0x2c, 0xcf, 0xd9, 0x65, 0xe7, 0x2f, 0xed, 0x6b, 0xf4, 0xdf, 0x8f, 0xba, - 0x56, 0x69, 0xe3, 0x1f, 0x1a, 0xd6, 0xe9, 0x83, 0xc1, 0xd4, 0x5f, 0xaf, 0x98, 0x6b, 0x42, 0xcc, - 0xc9, 0x12, 0x73, 0xd9, 0x69, 0x20, 0x76, 0xb7, 0x6d, 0x1f, 0xdd, 0xfc, 0xaa, 0x7d, 0x6a, 0x3c, - 0xb7, 0x36, 0x7e, 0xed, 0x3c, 0xbf, 0xfd, 0xf0, 0xf7, 0xbc, 0xaf, 0xd5, 0x3e, 0xed, 0x3c, 0xb7, - 0x16, 0xfc, 0x4b, 0xf3, 0xb9, 0xb5, 0x64, 0x1b, 0xdb, 0xcf, 0x1f, 0x67, 0xbe, 0x9a, 0x7e, 0x5e, - 0x5f, 0xf4, 0x40, 0x63, 0xc1, 0x03, 0x5b, 0x8b, 0x1e, 0xd8, 0x5a, 0xf0, 0xc0, 0xc2, 0x2e, 0xd5, - 0x17, 0x3c, 0xb0, 0xfd, 0xfc, 0x7b, 0xe6, 0xfb, 0x1f, 0xe7, 0x7f, 0xb5, 0xf9, 0xbc, 0xf1, 0x7b, - 0xd1, 0xbf, 0xed, 0x3c, 0xff, 0x6e, 0x6d, 0x6c, 0x40, 0xf0, 0x0b, 0x0b, 0x7e, 0x6c, 0x5b, 0xfd, - 0xdb, 0xd6, 0x7c, 0x45, 0x08, 0xc3, 0x63, 0x76, 0x86, 0x8e, 0xbd, 0x84, 0xb5, 0x19, 0x8b, 0xd5, - 0xb2, 0xc6, 0x13, 0x2f, 0x38, 0xf4, 0xb3, 0xec, 0x3d, 0x8a, 0x6d, 0xe5, 0x95, 0x13, 0xf2, 0x38, - 0xf5, 0xa6, 0xda, 0x6e, 0xa3, 0xd1, 0xdc, 0x69, 0x34, 0xaa, 0x3b, 0x5b, 0x3b, 0xd5, 0xbd, 0xed, - 0xed, 0x5a, 0xb3, 0xa6, 0xd2, 0xd1, 0x77, 0x16, 0xbb, 0x34, 0xa6, 0xee, 0x97, 0xa7, 0x4a, 0xcb, - 0x0a, 0x06, 0xbe, 0xaf, 0xe3, 0x55, 0x5f, 0x13, 0x1a, 0x2b, 0x75, 0x06, 0xc0, 0xe4, 0x5d, 0xb8, - 0x68, 0x51, 0x69, 0xf2, 0xf6, 0xbd, 0xe0, 0x87, 0xed, 0x87, 0x8e, 0x8e, 0x3c, 0x5e, 0x73, 0xde, - 0x09, 0xc3, 0xf7, 0x7c, 0x40, 0x05, 0xc3, 0x37, 0xc7, 0xa2, 0xc3, 0xf0, 0x5d, 0x76, 0x80, 0x04, - 0xc3, 0x77, 0x3e, 0x6b, 0x03, 0x0c, 0xdf, 0xb9, 0x2c, 0x42, 0x30, 0x7c, 0x4b, 0xb3, 0x08, 0xc1, - 0xf0, 0x6d, 0x8a, 0xfd, 0x03, 0x86, 0xef, 0xe2, 0x14, 0x4f, 0x31, 0x62, 0x0e, 0x86, 0x6f, 0x69, - 0x62, 0x0e, 0x16, 0x44, 0x18, 0xbe, 0x4d, 0x15, 0xfc, 0xd8, 0xb6, 0x30, 0x7c, 0x97, 0x84, 0xd7, - 0x59, 0x88, 0xb8, 0x85, 0xf9, 0x91, 0xc7, 0xfc, 0x98, 0x55, 0xb8, 0x8d, 0x6d, 0xcf, 0xd5, 0x67, - 0x7d, 0x7c, 0x79, 0x25, 0x8c, 0x8f, 0x30, 0x3e, 0xc2, 0xf8, 0x08, 0xe3, 0xa3, 0x31, 0xc6, 0x47, - 0xdc, 0x86, 0x2c, 0x11, 0x21, 0xc7, 0x6d, 0x48, 0x25, 0x5b, 0x1d, 0xb7, 0x21, 0x25, 0x6d, 0x95, - 0xfa, 0x36, 0x12, 0xe5, 0x9b, 0xc3, 0x9e, 0xc0, 0xcd, 0xc0, 0xcd, 0x0a, 0x6f, 0x51, 0x76, 0x8d, - 0xdd, 0xf6, 0xa0, 0x97, 0x22, 0x46, 0xea, 0x2a, 0xd1, 0xf7, 0x8a, 0xf9, 0xe2, 0x66, 0x0a, 0x72, - 0xbb, 0xad, 0xac, 0xdc, 0x5c, 0x97, 0x38, 0x34, 0x79, 0xfb, 0x41, 0xfa, 0xf7, 0x83, 0x4f, 0x82, - 0x56, 0xc6, 0x28, 0xdd, 0xec, 0xf7, 0xec, 0x3b, 0x51, 0xcb, 0x8b, 0x1e, 0x9a, 0xa3, 0x5f, 0x47, - 0xa6, 0xfa, 0xd1, 0xe3, 0x93, 0xbf, 0x37, 0x1f, 0xe2, 0x38, 0xca, 0xfe, 0x63, 0xf7, 0xe2, 0x70, - 0x10, 0x6d, 0x2a, 0xa9, 0x42, 0x3e, 0x19, 0xd4, 0x01, 0x4d, 0x9c, 0xd8, 0x8b, 0x46, 0x67, 0xaa, - 0xd2, 0x76, 0x5d, 0x2f, 0xfd, 0x9d, 0xf8, 0xd6, 0xb7, 0x8b, 0x8b, 0x73, 0xcb, 0x25, 0x8c, 0x58, - 0xdd, 0x30, 0xb6, 0x3a, 0xe7, 0x0f, 0x4d, 0xeb, 0x65, 0xc8, 0x8a, 0x29, 0x72, 0x0d, 0x14, 0x19, - 0x14, 0x19, 0x14, 0x79, 0xf5, 0x29, 0xb2, 0xaa, 0x62, 0xeb, 0x93, 0x17, 0x68, 0x0c, 0x67, 0x9c, - 0x39, 0xa0, 0xda, 0xc2, 0x1a, 0x17, 0x49, 0xf3, 0xa3, 0x30, 0x1e, 0x8a, 0xf1, 0x30, 0x78, 0x2b, - 0xc0, 0x3f, 0x59, 0x09, 0x65, 0x89, 0xc5, 0xee, 0xa9, 0x35, 0xea, 0xa6, 0x95, 0x76, 0xd3, 0xca, - 0xba, 0x79, 0x1d, 0xe8, 0xf1, 0x23, 0x2b, 0xb6, 0x88, 0x6a, 0x13, 0xfb, 0x3a, 0xc5, 0xbf, 0x76, - 0x35, 0xa0, 0x5b, 0x1d, 0x14, 0xa6, 0x16, 0x0a, 0x53, 0x0f, 0x45, 0xa8, 0x09, 0x4d, 0xc4, 0x55, - 0xf1, 0x79, 0x53, 0x6e, 0x61, 0x9d, 0x39, 0x6d, 0x5a, 0xc2, 0x3c, 0x67, 0xe0, 0xf0, 0x9e, 0x86, - 0x77, 0x69, 0x09, 0xfb, 0x54, 0x4b, 0xd1, 0xde, 0x59, 0x39, 0xad, 0x61, 0xa0, 0x33, 0x6b, 0xb8, - 0xab, 0xf1, 0x9d, 0xba, 0x23, 0x4f, 0x26, 0x2f, 0x5e, 0x9d, 0xf0, 0xd0, 0x89, 0x85, 0x4c, 0xe7, - 0xb2, 0x15, 0x11, 0x35, 0x34, 0x79, 0xfb, 0x6a, 0x85, 0x8d, 0x4e, 0xd6, 0x4f, 0xcb, 0x9b, 0x9e, - 0x3f, 0xad, 0xb0, 0xd8, 0x6c, 0x42, 0x6c, 0xaa, 0x16, 0x9b, 0x88, 0xdb, 0x5b, 0xd9, 0x70, 0xd3, - 0xb5, 0x55, 0x24, 0xd8, 0xce, 0x2b, 0x19, 0x86, 0xaa, 0x59, 0xb1, 0x22, 0xac, 0x56, 0xaf, 0xa1, - 0xb7, 0xe4, 0x9e, 0xc8, 0x1b, 0xd9, 0x9e, 0x48, 0xb5, 0x2e, 0xe5, 0x4a, 0xe2, 0xdc, 0xd3, 0x3e, - 0x89, 0x08, 0xbb, 0x1f, 0xba, 0x0e, 0x23, 0x1a, 0x0c, 0x1d, 0x7a, 0xf6, 0x94, 0xff, 0x70, 0xde, - 0xaf, 0x9b, 0xd3, 0xce, 0xc3, 0xcc, 0x6d, 0xf8, 0xe2, 0x30, 0x7c, 0xc7, 0x55, 0xf8, 0xa1, 0x9c, - 0xcb, 0x27, 0x11, 0x23, 0x57, 0x26, 0xd3, 0x64, 0xb3, 0x98, 0x38, 0x3f, 0xbc, 0xa0, 0x27, 0x7d, - 0xf9, 0x5e, 0x10, 0xf0, 0xec, 0xbb, 0x24, 0x6f, 0x42, 0x35, 0x5e, 0x4f, 0x65, 0x66, 0x6f, 0x95, - 0x66, 0x6e, 0xe5, 0x66, 0x6d, 0xd5, 0x66, 0x6c, 0x6d, 0x66, 0x6b, 0x6d, 0x66, 0x6a, 0x1d, 0x66, - 0xe9, 0x72, 0x87, 0xab, 0xa8, 0xf2, 0x52, 0x56, 0x9c, 0xf1, 0x09, 0x55, 0x1c, 0xb2, 0xa2, 0x36, - 0x86, 0x04, 0x41, 0x1b, 0xc5, 0x8b, 0x35, 0x5d, 0xe2, 0x4d, 0xbb, 0x98, 0xd3, 0x2e, 0xee, 0x74, - 0x8a, 0x3d, 0xc5, 0x58, 0xde, 0xd4, 0xa0, 0x8d, 0x71, 0xb1, 0x3e, 0xdb, 0xa5, 0x4e, 0x4c, 0x47, - 0x6b, 0xa0, 0x29, 0x68, 0x63, 0xce, 0xbb, 0x95, 0x07, 0x6d, 0xa8, 0x2f, 0x1d, 0x38, 0x79, 0x59, - 0x55, 0xad, 0x81, 0xe0, 0x06, 0x01, 0x23, 0x65, 0x53, 0x3d, 0xda, 0x55, 0x90, 0x6e, 0x55, 0x54, - 0x98, 0x4a, 0x2a, 0x4c, 0x35, 0x15, 0xa1, 0xa2, 0xd4, 0x1b, 0xb4, 0xac, 0x95, 0x0c, 0x18, 0x51, - 0x7d, 0x35, 0xef, 0xad, 0x68, 0xd4, 0x70, 0xb7, 0x47, 0xd3, 0x55, 0xbd, 0xf1, 0x8f, 0x46, 0xa7, - 0xa7, 0xce, 0xab, 0x7b, 0x93, 0x97, 0x6a, 0xae, 0xb8, 0x3f, 0x79, 0x6f, 0x51, 0xb7, 0xb3, 0x5e, - 0x8e, 0x88, 0xee, 0x5b, 0x5a, 0x9a, 0xa4, 0xcc, 0xeb, 0x2d, 0xa5, 0xf1, 0x8a, 0xdf, 0xcc, 0x96, - 0xd2, 0x56, 0xf8, 0x10, 0x9b, 0x4a, 0x83, 0xa7, 0xca, 0x5a, 0x05, 0x7f, 0x98, 0x6a, 0xd2, 0xae, - 0xe7, 0x8a, 0xe0, 0xe4, 0x7d, 0xda, 0xaf, 0x0a, 0xaa, 0xdf, 0x08, 0x0a, 0x97, 0xa8, 0x92, 0x79, - 0x50, 0x5e, 0x5c, 0x5f, 0xfa, 0x68, 0xfd, 0xdb, 0x17, 0x83, 0xa7, 0x82, 0xa7, 0x82, 0xa7, 0x82, - 0xa7, 0x82, 0xa7, 0x8e, 0x4e, 0x5b, 0xaa, 0xb5, 0x62, 0xda, 0xd5, 0x79, 0xab, 0x61, 0x47, 0x4f, - 0xe6, 0xd0, 0xfb, 0xa5, 0x2f, 0x6d, 0x7b, 0xdd, 0x56, 0x90, 0x4e, 0x87, 0xd1, 0x5b, 0x47, 0x4b, - 0xe5, 0x96, 0x69, 0xc6, 0xac, 0xa7, 0x82, 0xcb, 0x34, 0xa1, 0x2a, 0xac, 0x92, 0xcb, 0xa4, 0x13, - 0xfa, 0x2a, 0xba, 0xcc, 0xbe, 0x52, 0x79, 0x65, 0x17, 0x60, 0x75, 0x73, 0xb0, 0x3a, 0xf2, 0xb7, - 0xcc, 0x79, 0x8f, 0xd6, 0xa0, 0xbb, 0xd9, 0xf0, 0x30, 0x25, 0x71, 0x78, 0xea, 0x56, 0x5c, 0x45, - 0x1a, 0xcf, 0x84, 0x11, 0x46, 0xd5, 0xc7, 0xb5, 0x0c, 0x5f, 0x63, 0x78, 0x58, 0x4b, 0x1d, 0x61, - 0x2d, 0xa5, 0xe1, 0x68, 0x08, 0x6b, 0x59, 0x5f, 0xed, 0x84, 0xb0, 0x16, 0xb9, 0xd3, 0x89, 0xb0, - 0x96, 0xbc, 0xaa, 0x06, 0xe6, 0xc2, 0x12, 0xab, 0x20, 0xdd, 0xaa, 0xa8, 0x30, 0x95, 0x54, 0x98, - 0x6a, 0x2a, 0x42, 0x45, 0xa9, 0xa7, 0x68, 0x16, 0xc2, 0x5a, 0x24, 0x88, 0x46, 0x84, 0xb5, 0x88, - 0x98, 0xcc, 0x10, 0xd6, 0xa2, 0xb1, 0x03, 0x08, 0x6b, 0x51, 0xbd, 0xa5, 0x10, 0xd6, 0x82, 0xb0, - 0x96, 0xdc, 0x10, 0x1e, 0xd1, 0x18, 0x33, 0x9b, 0x0a, 0xd1, 0x18, 0xa0, 0x57, 0xa0, 0x57, 0xa0, - 0x57, 0xa0, 0x57, 0x65, 0xa3, 0x57, 0x88, 0xc6, 0x40, 0x34, 0x06, 0x1f, 0xd1, 0x43, 0x34, 0xc6, - 0xaa, 0x46, 0x63, 0xc0, 0x4d, 0x63, 0xad, 0x53, 0x10, 0xc1, 0xd0, 0xb7, 0x8d, 0x72, 0x33, 0xe5, - 0xdf, 0x32, 0x45, 0x6f, 0x95, 0x8a, 0x92, 0x00, 0x8e, 0x78, 0xe0, 0xb0, 0x60, 0x04, 0x47, 0x3a, - 0xe3, 0x77, 0xde, 0x5e, 0x64, 0x1d, 0xfe, 0xe6, 0x93, 0xe0, 0xb6, 0x13, 0x3d, 0x34, 0x6f, 0xdb, - 0xc3, 0x5e, 0xde, 0x7e, 0x8b, 0xe3, 0xe8, 0x8f, 0xb4, 0x7f, 0xb7, 0x93, 0xef, 0x5e, 0x8d, 0xbb, - 0xb7, 0x06, 0xf9, 0xa8, 0xd4, 0xc4, 0xbb, 0x28, 0x8d, 0x73, 0x51, 0x9e, 0x75, 0xaa, 0x8e, 0xac, - 0x53, 0xda, 0x58, 0x2d, 0xb2, 0x4e, 0xad, 0x9e, 0xd6, 0x52, 0x96, 0x75, 0x8a, 0x38, 0x0e, 0x8d, - 0x98, 0xdd, 0x0f, 0x5d, 0x0d, 0x21, 0x7a, 0xd3, 0x2f, 0x53, 0x56, 0xc3, 0x4c, 0x7d, 0xa4, 0x49, - 0x25, 0x03, 0xf8, 0x6a, 0xe0, 0xd8, 0x0d, 0xea, 0x8d, 0xeb, 0x16, 0xf8, 0xda, 0x04, 0xbf, 0x2e, - 0x05, 0xa0, 0x5d, 0x11, 0x68, 0x57, 0x08, 0x3a, 0x15, 0x83, 0x99, 0xcc, 0x58, 0x5f, 0xbd, 0xf1, - 0xbb, 0x30, 0xf4, 0x29, 0x09, 0x34, 0x54, 0x1c, 0xaf, 0xd5, 0xd6, 0x38, 0x8a, 0x9e, 0xb8, 0x0f, - 0x34, 0x66, 0x5e, 0x92, 0xd9, 0xd7, 0x86, 0x5c, 0xf2, 0x41, 0x61, 0x01, 0xbb, 0x17, 0x9d, 0x3d, - 0xff, 0xbd, 0x26, 0xab, 0xef, 0x5a, 0xb5, 0x0a, 0xe5, 0x0d, 0xe5, 0x0d, 0xe5, 0x0d, 0xe5, 0xbd, - 0xee, 0xca, 0x7b, 0xe0, 0x05, 0xac, 0xd6, 0xd4, 0xa0, 0xbb, 0x9b, 0x0a, 0x5f, 0xa1, 0x27, 0x56, - 0x53, 0x8f, 0xcb, 0x4e, 0x5f, 0xac, 0xc3, 0x38, 0x80, 0xae, 0xa6, 0x29, 0xd2, 0xa0, 0xa8, 0xb0, - 0x39, 0xfd, 0xe1, 0x72, 0xcf, 0x7a, 0x7c, 0xad, 0xfa, 0xb7, 0x4a, 0xa3, 0xba, 0xb7, 0x8d, 0xdd, - 0x62, 0x84, 0x6a, 0x52, 0xdf, 0xfa, 0xcd, 0x1a, 0x93, 0x31, 0x67, 0x10, 0xc7, 0x29, 0x1d, 0x1a, - 0xdf, 0xa4, 0xd3, 0x90, 0xb5, 0xff, 0xed, 0x1b, 0x41, 0x35, 0x40, 0x35, 0x40, 0x35, 0x40, 0x35, - 0x8c, 0xa2, 0x1a, 0xbb, 0x1a, 0x98, 0xc6, 0x36, 0x98, 0x46, 0x49, 0x99, 0x46, 0x15, 0xd8, 0x11, - 0x4c, 0x63, 0xb9, 0xad, 0x52, 0xdf, 0x06, 0xd1, 0x00, 0xd1, 0x00, 0xd1, 0x88, 0x62, 0x4a, 0xfb, - 0x11, 0x53, 0xcf, 0x2f, 0xc6, 0x2f, 0x32, 0xd9, 0xaf, 0x93, 0xe2, 0x48, 0x38, 0x76, 0xc0, 0xb6, - 0xc0, 0xb6, 0xc0, 0xb6, 0xd6, 0x9d, 0x6d, 0x21, 0x2a, 0x43, 0xa7, 0x7e, 0xb6, 0x5d, 0xea, 0x93, - 0x27, 0x6d, 0x5a, 0x7a, 0xf4, 0x3a, 0x93, 0x75, 0x35, 0x22, 0x30, 0xa0, 0xa8, 0xa1, 0xa8, 0xa1, - 0xa8, 0xd7, 0x5e, 0x51, 0x23, 0x02, 0x63, 0xe9, 0x1f, 0xd8, 0x45, 0xc5, 0xde, 0x07, 0xbb, 0xa8, - 0xd4, 0xad, 0x52, 0x84, 0x5d, 0x74, 0xab, 0x59, 0xc5, 0x6e, 0x31, 0x43, 0x35, 0xa9, 0x6f, 0x7d, - 0xbd, 0x0d, 0xa3, 0xba, 0x22, 0x2f, 0x54, 0x47, 0x5c, 0x20, 0xe4, 0x1d, 0x84, 0x0b, 0x84, 0x0b, - 0x84, 0x0b, 0x84, 0x0b, 0x71, 0x28, 0xe0, 0x5b, 0x3a, 0x40, 0x34, 0x22, 0xde, 0xc1, 0xb7, 0x96, - 0xdc, 0x2a, 0xda, 0xb2, 0x0b, 0x83, 0x6e, 0x81, 0x6e, 0x95, 0x98, 0x6e, 0x3d, 0x78, 0x31, 0x1b, - 0x10, 0xdf, 0x1e, 0x25, 0xa2, 0x52, 0xcf, 0xba, 0xde, 0xbe, 0x10, 0x34, 0x03, 0x34, 0x03, 0x34, - 0x03, 0x34, 0xc3, 0x18, 0x9a, 0xe1, 0x45, 0x8a, 0x65, 0xd7, 0xb4, 0xfc, 0xaa, 0xed, 0x29, 0x7c, - 0xc7, 0x68, 0xce, 0x8c, 0xe7, 0x1a, 0x2f, 0x2b, 0xf3, 0xd0, 0xd0, 0xb0, 0x36, 0x33, 0x6b, 0xb4, - 0xab, 0x27, 0xa9, 0x32, 0xa3, 0x71, 0xa0, 0xad, 0x70, 0x4d, 0xe5, 0xe3, 0xf7, 0xaa, 0xbd, 0x77, - 0xf3, 0xfb, 0x7b, 0xcd, 0xde, 0xbb, 0x19, 0xfe, 0x5a, 0xcb, 0xfe, 0xf7, 0xab, 0xfe, 0xfc, 0xbb, - 0xfe, 0xbd, 0x6a, 0x37, 0x46, 0x9f, 0xd6, 0xb7, 0xbf, 0x57, 0xed, 0xed, 0x9b, 0x8d, 0x8f, 0xd7, - 0xd7, 0x9f, 0xf3, 0x3e, 0xb3, 0xf1, 0x6b, 0xeb, 0x59, 0x7d, 0x5a, 0xf2, 0x1b, 0x1d, 0xcb, 0x73, - 0x76, 0xd9, 0xf9, 0x4b, 0xfb, 0x1a, 0xfd, 0xf7, 0xa3, 0xae, 0x55, 0xda, 0xf8, 0x47, 0xc5, 0xf4, - 0xe2, 0x1d, 0x9f, 0x56, 0x48, 0xcc, 0x35, 0x21, 0xe6, 0x64, 0x89, 0xb9, 0xec, 0x34, 0x10, 0xbb, - 0xdb, 0xb6, 0x8f, 0x6e, 0x7e, 0xd5, 0x3e, 0x35, 0x9e, 0x5b, 0x1b, 0xbf, 0x76, 0x9e, 0xdf, 0x7e, - 0xf8, 0x7b, 0xde, 0xd7, 0x6a, 0x9f, 0x76, 0x9e, 0x5b, 0x0b, 0xfe, 0xa5, 0xf9, 0xdc, 0x5a, 0xb2, - 0x8d, 0xed, 0xe7, 0x8f, 0x33, 0x5f, 0x4d, 0x3f, 0xaf, 0x2f, 0x7a, 0xa0, 0xb1, 0xe0, 0x81, 0xad, - 0x45, 0x0f, 0x6c, 0x2d, 0x78, 0x60, 0x61, 0x97, 0xea, 0x0b, 0x1e, 0xd8, 0x7e, 0xfe, 0x3d, 0xf3, - 0xfd, 0x8f, 0xf3, 0xbf, 0xda, 0x7c, 0xde, 0xf8, 0xbd, 0xe8, 0xdf, 0x76, 0x9e, 0x7f, 0xb7, 0x36, - 0x36, 0x20, 0xf8, 0x85, 0x05, 0x3f, 0xb6, 0xad, 0xfe, 0x6d, 0x6b, 0xbe, 0x22, 0x34, 0xcd, 0x8e, - 0xa6, 0x88, 0x31, 0x6a, 0x29, 0xda, 0xa1, 0xaf, 0x58, 0x47, 0xa1, 0x45, 0x3a, 0x34, 0x16, 0xe7, - 0xd0, 0x58, 0x94, 0xc3, 0x2c, 0x0b, 0xae, 0xef, 0x05, 0x3f, 0x6c, 0x3f, 0x74, 0x74, 0xe4, 0x8e, - 0x9c, 0xf3, 0x4e, 0xd8, 0x71, 0x61, 0xc7, 0x85, 0x1d, 0x17, 0x76, 0x5c, 0xd8, 0x71, 0x61, 0xc7, - 0x85, 0x1d, 0x17, 0x76, 0x5c, 0xd0, 0x79, 0xd8, 0x71, 0x61, 0xc7, 0x85, 0x1d, 0x17, 0x76, 0x5c, - 0xd8, 0x71, 0x21, 0xf8, 0x61, 0xc7, 0x85, 0x1d, 0x77, 0xdd, 0xed, 0xb8, 0x46, 0x59, 0xd3, 0xb2, - 0x9a, 0x9d, 0xb1, 0xed, 0xb9, 0xfa, 0x8c, 0x69, 0x2f, 0xaf, 0x84, 0x2d, 0x0d, 0xb6, 0x34, 0xd8, - 0xd2, 0x60, 0x4b, 0x33, 0xc6, 0x96, 0x86, 0xab, 0x57, 0x25, 0xe2, 0x97, 0xb8, 0x7a, 0xa5, 0x64, - 0xab, 0xe3, 0xea, 0x95, 0xa4, 0xad, 0x82, 0x14, 0xc0, 0x26, 0x91, 0x01, 0x50, 0x0d, 0xab, 0xf4, - 0x45, 0xa4, 0xdb, 0x83, 0x5e, 0x0a, 0x80, 0xa8, 0xab, 0x44, 0x7d, 0x29, 0xa6, 0x3f, 0x9b, 0x29, - 0x66, 0xeb, 0xb6, 0xb2, 0x02, 0x94, 0x5d, 0xe2, 0xd0, 0xe4, 0xed, 0x07, 0xe9, 0xdf, 0x0f, 0x3e, - 0x09, 0x5a, 0x19, 0x41, 0x72, 0xb3, 0xdf, 0xb3, 0xef, 0x44, 0x2d, 0x2f, 0x7a, 0x68, 0x8e, 0x7e, - 0x1d, 0x19, 0x52, 0x47, 0x8f, 0x4f, 0xfe, 0xde, 0x7c, 0x88, 0xe3, 0x28, 0xfb, 0x8f, 0xdd, 0x8b, - 0xc3, 0x41, 0xb4, 0xa9, 0xa2, 0xca, 0xfe, 0x64, 0x4c, 0x07, 0x34, 0x71, 0x62, 0x2f, 0x4a, 0x65, - 0x4e, 0x3a, 0xb4, 0xb6, 0xeb, 0x7a, 0xe9, 0xef, 0xc4, 0xb7, 0xbe, 0x5d, 0x5c, 0x9c, 0x5b, 0x2e, - 0x61, 0xc4, 0xea, 0x86, 0xb1, 0xd5, 0x39, 0x7f, 0x68, 0x5a, 0x2f, 0x23, 0x56, 0x4c, 0xf8, 0x6a, - 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0xab, 0x4f, 0xf8, 0x0e, 0x3c, 0xc5, 0xd1, 0x8c, 0x1a, 0x63, - 0xcd, 0x16, 0x9a, 0xc9, 0x94, 0xc7, 0x9c, 0x2d, 0x92, 0xe6, 0x47, 0x61, 0x3c, 0x14, 0xe3, 0x61, - 0xf0, 0x56, 0x80, 0x7f, 0xb2, 0x12, 0xca, 0x12, 0x8b, 0xdd, 0x53, 0x6b, 0xd4, 0x4d, 0x2b, 0xed, - 0xa6, 0x95, 0x75, 0xf3, 0x3a, 0xd0, 0xe3, 0xe4, 0x53, 0x6c, 0xdf, 0xd3, 0x26, 0xf6, 0x75, 0x8a, - 0x7f, 0xed, 0x6a, 0x40, 0xb7, 0x3a, 0x28, 0x4c, 0x2d, 0x14, 0xa6, 0x1e, 0x8a, 0x50, 0x13, 0x9a, - 0x68, 0x98, 0xe2, 0xf3, 0xa6, 0xdc, 0x5e, 0x38, 0x73, 0xda, 0xb4, 0xc4, 0xe0, 0xcd, 0xc0, 0xe1, - 0x3d, 0x0d, 0xef, 0xd2, 0x12, 0x93, 0xa7, 0x96, 0xa1, 0xbd, 0xb3, 0x72, 0x5a, 0x63, 0xf4, 0x66, - 0xd6, 0x70, 0x57, 0xe3, 0x3b, 0x75, 0x87, 0x05, 0x4c, 0x5e, 0xbc, 0x3a, 0xb1, 0x7b, 0x13, 0x7b, - 0x8f, 0xce, 0x65, 0x2b, 0x22, 0xa4, 0x63, 0xf2, 0xf6, 0xd5, 0x8a, 0xe9, 0x53, 0x6b, 0xaf, 0xd3, - 0xac, 0xe8, 0x8a, 0x15, 0x9b, 0x4d, 0x88, 0x4d, 0xd5, 0x62, 0x13, 0x41, 0x55, 0x2b, 0x1b, 0x0b, - 0xb8, 0xb6, 0x8a, 0x04, 0xdb, 0x79, 0x25, 0x63, 0x04, 0x35, 0x2b, 0x56, 0xc4, 0x3c, 0xea, 0x35, - 0xf4, 0x96, 0xdc, 0x11, 0x79, 0x23, 0xdb, 0x11, 0x19, 0x04, 0x21, 0x23, 0x23, 0x83, 0xa9, 0x7c, - 0x78, 0x55, 0x49, 0x9c, 0x7b, 0xda, 0x27, 0x11, 0x61, 0xf7, 0x43, 0xcf, 0x61, 0x44, 0x03, 0x27, - 0xb3, 0x46, 0xda, 0x53, 0xee, 0xc3, 0x79, 0xbf, 0x6e, 0x4e, 0xfb, 0x0e, 0x33, 0xaf, 0xe1, 0x8b, - 0xbf, 0xf0, 0xef, 0x3d, 0x85, 0x1f, 0xca, 0xb9, 0x7a, 0x12, 0x21, 0xb2, 0x86, 0x98, 0x57, 0x6d, - 0xb1, 0xae, 0x8a, 0x6c, 0xe0, 0xca, 0x6c, 0xde, 0x2a, 0x6d, 0xdc, 0xca, 0x6d, 0xda, 0xaa, 0x6d, - 0xd8, 0xda, 0x6c, 0xd6, 0xda, 0x6c, 0xd4, 0x3a, 0x6c, 0xd2, 0xe5, 0x0e, 0x55, 0x51, 0x66, 0x63, - 0x9e, 0xec, 0x76, 0x9f, 0x92, 0x6e, 0x4c, 0xbb, 0x2a, 0xf6, 0xfb, 0x98, 0x45, 0xef, 0x28, 0x68, - 0xfb, 0x7c, 0xa4, 0xd4, 0x3e, 0x7f, 0xde, 0x1c, 0xaa, 0xb4, 0xcd, 0x59, 0x59, 0x59, 0x56, 0x5d, - 0xf4, 0xa1, 0x44, 0x3b, 0x2d, 0x15, 0x1a, 0x2a, 0x35, 0x8d, 0x9a, 0xbc, 0x41, 0xea, 0xf2, 0x04, - 0x69, 0xcd, 0x0b, 0xa4, 0x30, 0x0f, 0x90, 0xc2, 0xbc, 0x3f, 0xb2, 0x76, 0x9e, 0x22, 0xf4, 0xab, - 0x15, 0xf5, 0x4a, 0x14, 0x9b, 0x95, 0x84, 0xc5, 0x03, 0x87, 0x05, 0x23, 0xb9, 0xdc, 0x19, 0xf7, - 0xea, 0xf6, 0x22, 0xeb, 0xd5, 0x37, 0x9f, 0x04, 0xb7, 0x9d, 0xe8, 0xa1, 0x79, 0xdb, 0x1e, 0x76, - 0xe5, 0xf6, 0x5b, 0x1c, 0x47, 0x7f, 0x64, 0x9d, 0xf8, 0x50, 0x0e, 0xb1, 0x24, 0xd6, 0x82, 0xe0, - 0xb6, 0xaa, 0xd0, 0x47, 0x16, 0x13, 0x7b, 0x10, 0x24, 0x8c, 0xdc, 0xf9, 0x72, 0x94, 0x66, 0x25, - 0xa6, 0x5d, 0x1a, 0xd3, 0xc0, 0x91, 0xe7, 0x9b, 0x94, 0xb8, 0xcf, 0xc7, 0x1a, 0xfc, 0xe2, 0x68, - 0xdf, 0xda, 0xde, 0xd9, 0xdb, 0xb5, 0x6c, 0xeb, 0xdb, 0x28, 0x9a, 0x26, 0xdb, 0x32, 0xb1, 0x75, - 0x41, 0xdd, 0x41, 0xe0, 0x92, 0xc0, 0x79, 0xb2, 0xce, 0xe3, 0x90, 0x85, 0x4e, 0xe8, 0x5f, 0x07, - 0x1f, 0xbf, 0x5d, 0x5c, 0x9c, 0x6f, 0x58, 0xdf, 0x68, 0x9c, 0x78, 0x61, 0x60, 0x6d, 0x8d, 0x23, - 0x2c, 0x1b, 0x16, 0x09, 0xdc, 0x2c, 0x52, 0x47, 0xe6, 0xa6, 0x56, 0x84, 0x79, 0xa7, 0xb1, 0xee, - 0xcb, 0x22, 0x49, 0x06, 0x5f, 0xaa, 0x61, 0xee, 0x2b, 0x78, 0x2b, 0x7f, 0x15, 0xcb, 0x06, 0x58, - 0x3e, 0x14, 0x6b, 0x2c, 0x13, 0x95, 0x2f, 0x92, 0xd5, 0x95, 0x7a, 0x35, 0x25, 0xb6, 0x01, 0xf8, - 0x97, 0x8b, 0xef, 0x49, 0xce, 0xe5, 0x19, 0xe3, 0x57, 0x6e, 0xc6, 0x2e, 0x07, 0xa0, 0xca, 0x03, - 0xa4, 0x4a, 0x01, 0xa8, 0x44, 0xc0, 0x29, 0x11, 0x60, 0xf2, 0x2e, 0xbd, 0x9c, 0x7b, 0x1c, 0x62, - 0x47, 0x59, 0xd3, 0xbd, 0x0c, 0x41, 0xd5, 0xf6, 0x37, 0x37, 0x2d, 0x3a, 0xe7, 0x56, 0xfa, 0x0e, - 0xab, 0x4b, 0xfa, 0x9e, 0xff, 0x64, 0x0d, 0x45, 0xd0, 0x20, 0xce, 0x04, 0x5d, 0xaa, 0x54, 0xae, - 0x03, 0x69, 0x17, 0x2f, 0x24, 0x5d, 0xb0, 0x90, 0x66, 0x5d, 0x94, 0x69, 0x4d, 0x94, 0x6e, 0x3d, - 0x94, 0x8d, 0x9c, 0x94, 0x59, 0x07, 0x95, 0xc1, 0x24, 0x15, 0xd6, 0xbf, 0x62, 0x29, 0x8a, 0xac, - 0x0b, 0x07, 0x95, 0x4c, 0xbd, 0x4b, 0xdb, 0x19, 0x13, 0x6f, 0x43, 0xda, 0xaa, 0xa4, 0xb5, 0x7b, - 0x23, 0x70, 0x0e, 0x03, 0xc7, 0x0f, 0x13, 0x2f, 0xe8, 0xa5, 0x02, 0x86, 0x11, 0x2f, 0xa0, 0x71, - 0x86, 0x58, 0xb3, 0x0b, 0x02, 0x19, 0x93, 0x4e, 0xac, 0x7b, 0x12, 0xb8, 0x3e, 0x75, 0xad, 0xbb, - 0x27, 0x8b, 0xdd, 0x7b, 0xc9, 0x75, 0xd0, 0x39, 0x7f, 0xb9, 0x33, 0x20, 0xab, 0x5f, 0x72, 0xef, - 0x78, 0x49, 0x77, 0x74, 0xa8, 0x70, 0x70, 0x28, 0x73, 0x6c, 0xe8, 0x20, 0x77, 0x4a, 0x1c, 0x19, - 0x7a, 0x99, 0x9d, 0x64, 0xc7, 0x45, 0xb9, 0xcc, 0xc7, 0x0a, 0xac, 0x2e, 0x0a, 0xad, 0x2f, 0xf2, - 0xad, 0x30, 0x46, 0x59, 0x63, 0x54, 0x1f, 0x5c, 0x9d, 0xd6, 0x19, 0x6d, 0x67, 0xd9, 0x34, 0x6b, - 0x8d, 0x5c, 0x39, 0x21, 0xbf, 0xb5, 0x9b, 0xd5, 0xb0, 0x56, 0x6b, 0x36, 0x8f, 0xdc, 0xf0, 0x72, - 0x64, 0x39, 0x56, 0x2b, 0xa5, 0xd6, 0x2a, 0x01, 0xc9, 0x90, 0xd7, 0x69, 0xc2, 0x77, 0xcc, 0xf2, - 0x2f, 0x59, 0xbe, 0x27, 0x72, 0x2a, 0x63, 0xd1, 0x45, 0x55, 0xb2, 0x98, 0xf9, 0x66, 0x76, 0xf9, - 0xf9, 0xc9, 0x31, 0x37, 0x15, 0x67, 0x8c, 0xc6, 0xf3, 0xcd, 0xc9, 0x44, 0x77, 0x8f, 0x9e, 0xcf, - 0xb9, 0x1a, 0x7c, 0x94, 0x82, 0x9b, 0x3a, 0x88, 0x50, 0x04, 0x61, 0x2a, 0x20, 0x8a, 0x1c, 0xa4, - 0x41, 0x7b, 0x69, 0x6a, 0x5f, 0x06, 0x54, 0x57, 0x7b, 0xda, 0x79, 0xad, 0x06, 0x15, 0xf7, 0xde, - 0x89, 0x6c, 0xc7, 0xf7, 0x86, 0x83, 0xe3, 0x5c, 0xb0, 0xf1, 0x8e, 0x99, 0x6e, 0x8c, 0x73, 0xa6, - 0x0f, 0x68, 0x97, 0x0c, 0x7c, 0x26, 0x84, 0xe6, 0x2b, 0x99, 0x99, 0xb9, 0xa2, 0x55, 0x87, 0x8a, - 0x05, 0x49, 0x0a, 0xdb, 0x08, 0x64, 0xd8, 0x04, 0xa4, 0xd9, 0x00, 0x64, 0x51, 0x07, 0xe9, 0x1c, - 0x5f, 0x3a, 0x0f, 0x90, 0xc9, 0xe1, 0xf5, 0xba, 0xc4, 0x84, 0x83, 0x06, 0x27, 0xbb, 0xe5, 0x2e, - 0x0c, 0x7d, 0x4a, 0x02, 0x91, 0xfd, 0x32, 0xd6, 0x8e, 0x35, 0xbd, 0xae, 0x21, 0x49, 0xb0, 0xf7, - 0xa9, 0x17, 0x32, 0x3b, 0x74, 0x6c, 0x27, 0xec, 0x47, 0x19, 0xce, 0x71, 0x6d, 0x9f, 0x92, 0x6e, - 0xda, 0xe8, 0xb3, 0x2e, 0x28, 0xc9, 0xa1, 0xa5, 0xdd, 0xc1, 0x30, 0x53, 0x80, 0xed, 0x52, 0x46, - 0x1d, 0x66, 0xb3, 0x98, 0x04, 0x49, 0x7f, 0x98, 0xd4, 0x4f, 0x54, 0x0f, 0x2c, 0x6c, 0xba, 0x48, - 0xad, 0x50, 0x83, 0x46, 0x80, 0x46, 0x80, 0x46, 0x50, 0xaf, 0x11, 0x06, 0x5e, 0xc0, 0xb6, 0xea, - 0x12, 0x14, 0x82, 0x40, 0x50, 0xb8, 0xa4, 0xdc, 0xc3, 0x12, 0xfc, 0x70, 0x32, 0x73, 0x07, 0x4f, - 0x12, 0xbe, 0xca, 0x72, 0x25, 0xa9, 0x4a, 0xe7, 0x2a, 0x3f, 0x5d, 0xab, 0x04, 0x67, 0x84, 0xd4, - 0xdc, 0xbc, 0x93, 0xa5, 0x68, 0xd4, 0xf7, 0x1a, 0x7b, 0xcd, 0x9d, 0xfa, 0xde, 0xf6, 0xfa, 0xad, - 0x49, 0x41, 0xe6, 0xd1, 0x1b, 0xad, 0x82, 0x51, 0xa2, 0xfb, 0x4a, 0xa2, 0xbb, 0x4a, 0x62, 0x38, - 0xca, 0xc5, 0xd1, 0xbe, 0xd5, 0xd8, 0x6d, 0xd6, 0x5b, 0xc3, 0x1c, 0x7c, 0x97, 0x8c, 0x30, 0xea, - 0xd3, 0x24, 0xb1, 0x46, 0x06, 0x51, 0xab, 0x3d, 0x60, 0xe1, 0xab, 0xa0, 0x9f, 0x92, 0xc7, 0xae, - 0xc8, 0xf6, 0x27, 0xe9, 0x09, 0x5f, 0xe1, 0x58, 0x06, 0x9c, 0x60, 0x30, 0xbd, 0x25, 0x04, 0x58, - 0x90, 0x0a, 0x2e, 0x57, 0x9c, 0xd7, 0x8d, 0x1b, 0x2a, 0x92, 0xc5, 0xa5, 0x87, 0x0f, 0x44, 0x0e, - 0x44, 0x0e, 0x44, 0x0e, 0xa6, 0x3d, 0x08, 0xfc, 0xf9, 0xdd, 0xf6, 0x29, 0x89, 0x83, 0x14, 0xb1, - 0x86, 0xbe, 0xe7, 0x78, 0x4c, 0x86, 0xe8, 0x9f, 0x6d, 0xb2, 0x48, 0x25, 0x70, 0x7a, 0x76, 0x7a, - 0x08, 0x25, 0x00, 0x25, 0x00, 0x25, 0xa0, 0x5e, 0x09, 0xd0, 0x60, 0xd0, 0xa7, 0xc2, 0xb4, 0x6f, - 0xa2, 0x08, 0x1a, 0x02, 0x6d, 0x1c, 0x06, 0x83, 0xbe, 0xf8, 0xae, 0xbb, 0x0a, 0x2f, 0x59, 0xec, - 0x05, 0x3d, 0x39, 0x61, 0xf6, 0xd5, 0x74, 0x8e, 0x32, 0x79, 0x24, 0x81, 0x13, 0xd7, 0xd2, 0xc6, - 0xfe, 0x38, 0x3e, 0xfb, 0xd2, 0x3e, 0x96, 0xd1, 0x5c, 0x3d, 0x6d, 0xee, 0xb8, 0x73, 0xfa, 0xaf, - 0xdb, 0xe3, 0xb3, 0x7d, 0x39, 0x4d, 0x6e, 0xa5, 0x4d, 0x7e, 0x39, 0xbb, 0xfa, 0xb3, 0x52, 0xe8, - 0x2d, 0x89, 0xab, 0xb0, 0x23, 0x10, 0xb0, 0xf0, 0xaa, 0xa9, 0x6c, 0x30, 0x2d, 0x6b, 0x4b, 0xc2, - 0xe4, 0x8c, 0x56, 0x4e, 0xca, 0xd5, 0x81, 0xe9, 0x75, 0x6b, 0x59, 0x75, 0x09, 0x0d, 0x66, 0x9b, - 0xb4, 0x65, 0x55, 0xd7, 0xe2, 0xca, 0xe7, 0x5a, 0x18, 0xed, 0xf6, 0x6a, 0x5b, 0xb5, 0xd6, 0x28, - 0xa8, 0x38, 0xb1, 0xf6, 0x63, 0x4a, 0x98, 0x17, 0xf4, 0xac, 0x7d, 0xe2, 0xdc, 0x53, 0xeb, 0x30, - 0x60, 0xb1, 0x47, 0x13, 0x6b, 0x10, 0x85, 0xc1, 0x75, 0x70, 0x41, 0x1d, 0xea, 0x3d, 0xa4, 0xff, - 0xfa, 0xf5, 0x05, 0xc3, 0x59, 0xa7, 0xd4, 0xeb, 0xdd, 0xdf, 0x85, 0xb1, 0xd5, 0x76, 0x1f, 0x68, - 0xcc, 0xbc, 0x64, 0x74, 0xa7, 0x14, 0xe6, 0x3d, 0x35, 0xe6, 0x3d, 0x65, 0x0b, 0x06, 0x43, 0x20, - 0x78, 0xe1, 0xfb, 0xdd, 0xee, 0xb3, 0x81, 0x38, 0x13, 0x4c, 0x1b, 0x01, 0x89, 0x02, 0x89, 0x02, - 0x89, 0xca, 0xb1, 0x5b, 0x10, 0x12, 0x31, 0xdd, 0x11, 0x25, 0x21, 0x11, 0xb5, 0xfa, 0x2e, 0xa2, - 0x22, 0xb8, 0x56, 0x03, 0x51, 0x11, 0x88, 0x8a, 0x00, 0xc1, 0x9a, 0x47, 0xb0, 0xea, 0x8d, 0x66, - 0xb5, 0x65, 0x65, 0x37, 0xc6, 0x02, 0xca, 0x26, 0x97, 0x35, 0x3f, 0x4d, 0x6e, 0x69, 0x36, 0xad, - 0x8f, 0x9d, 0xf3, 0x87, 0xe6, 0x86, 0x75, 0x19, 0x51, 0xc7, 0xeb, 0x7a, 0x4e, 0x06, 0x2e, 0xaf, - 0x83, 0x49, 0x73, 0x97, 0x34, 0xdb, 0xb5, 0xd6, 0x36, 0x38, 0x95, 0x22, 0x4e, 0x25, 0x73, 0x8d, - 0x70, 0xf6, 0xd7, 0x8e, 0x46, 0xad, 0xcb, 0x25, 0xcc, 0xd1, 0xbd, 0xc5, 0x12, 0xdc, 0xc0, 0x0c, - 0x46, 0x36, 0x8c, 0x84, 0xff, 0x12, 0xe6, 0x4b, 0x13, 0xb8, 0x87, 0xa9, 0x4c, 0x5d, 0xe0, 0x1e, - 0xa6, 0xc6, 0x7b, 0x98, 0xe3, 0x1d, 0x2d, 0x6e, 0x9f, 0x99, 0xb4, 0x24, 0x66, 0xa4, 0xa9, 0xc1, - 0x48, 0x03, 0x23, 0x8d, 0x09, 0x46, 0x1a, 0xd1, 0x84, 0x69, 0xbc, 0x19, 0x01, 0x16, 0x6e, 0x3a, - 0xae, 0x0c, 0x01, 0x92, 0x8f, 0xa1, 0xb4, 0xe3, 0x28, 0xf3, 0x58, 0x4a, 0x3f, 0x9e, 0x3a, 0x88, - 0x11, 0xf2, 0x20, 0x16, 0x62, 0x99, 0x92, 0x97, 0x07, 0xd1, 0x53, 0x90, 0x05, 0x51, 0x5a, 0x8a, - 0x3c, 0xc9, 0xc5, 0x95, 0x90, 0x6b, 0x10, 0xb9, 0x06, 0x75, 0x89, 0x07, 0x39, 0x62, 0x42, 0x92, - 0xb8, 0x98, 0x0c, 0x54, 0x7a, 0x31, 0x24, 0xd5, 0x75, 0x86, 0x55, 0xd4, 0x11, 0x56, 0x56, 0x27, - 0x18, 0x75, 0x80, 0x57, 0xa0, 0x0e, 0xf0, 0x8d, 0xcc, 0x8d, 0xa6, 0xb2, 0x8e, 0x2f, 0xea, 0xf4, - 0xae, 0x44, 0x9d, 0xde, 0x9b, 0xb5, 0xa8, 0x28, 0x25, 0xdd, 0x96, 0x2d, 0x5f, 0xcf, 0xca, 0x70, - 0x16, 0xfb, 0x5e, 0xf0, 0xc3, 0xf6, 0xc9, 0x13, 0x8d, 0x27, 0xba, 0x50, 0x3a, 0xba, 0x9e, 0xf3, - 0x0e, 0xa0, 0x6d, 0xa0, 0x6d, 0xa0, 0xed, 0xd2, 0xa1, 0xed, 0x13, 0x12, 0xb8, 0x84, 0x85, 0xf1, - 0x93, 0xc4, 0x74, 0xf9, 0xea, 0x10, 0x7c, 0x74, 0xff, 0x94, 0x00, 0xc1, 0x4f, 0xeb, 0xfc, 0xb7, - 0x50, 0xa2, 0xfe, 0xbc, 0xf1, 0x7f, 0x36, 0xfe, 0xef, 0x7a, 0x42, 0xcd, 0xf7, 0xe7, 0x05, 0x98, - 0x68, 0x05, 0x31, 0x11, 0xea, 0xc5, 0xcd, 0x8f, 0x17, 0x98, 0xb8, 0xd8, 0x27, 0xbf, 0x71, 0x85, - 0x10, 0xc8, 0x9b, 0x6f, 0x81, 0xb9, 0x96, 0x61, 0x03, 0x96, 0x67, 0xfb, 0x95, 0x84, 0x42, 0xe1, - 0xda, 0x29, 0x15, 0xba, 0x84, 0x6b, 0x47, 0x3f, 0xc2, 0x53, 0x50, 0xa0, 0x5e, 0x66, 0x41, 0xfa, - 0x39, 0x05, 0xe8, 0xbd, 0xc8, 0x44, 0xf1, 0x99, 0x30, 0xc2, 0xa8, 0x3c, 0x09, 0x3a, 0x6c, 0xae, - 0x64, 0xfe, 0xf1, 0x3a, 0x84, 0x28, 0x84, 0xa8, 0x41, 0x42, 0x14, 0xfe, 0x71, 0x58, 0xec, 0x60, - 0xb1, 0x83, 0xc5, 0xae, 0x34, 0xd6, 0x35, 0xf8, 0xc7, 0xe1, 0x1f, 0x87, 0x7f, 0x5c, 0xb3, 0xd1, - 0x12, 0xdb, 0x0d, 0xfe, 0x71, 0x69, 0xa6, 0x50, 0x09, 0x44, 0xc3, 0x4b, 0xec, 0xcc, 0x92, 0x18, - 0x2b, 0xc0, 0x94, 0x93, 0xa6, 0x01, 0x2d, 0x01, 0x2d, 0x01, 0x2d, 0xd7, 0x08, 0x5a, 0x8a, 0xe7, - 0xa1, 0x5d, 0x88, 0x2a, 0x6b, 0x88, 0xcd, 0xc9, 0x67, 0x69, 0x45, 0x6c, 0x0e, 0xc4, 0x31, 0xc4, - 0xb1, 0x01, 0xe2, 0x18, 0xb1, 0x39, 0x88, 0xcd, 0x59, 0x15, 0x9a, 0x6b, 0x62, 0x6c, 0x4e, 0x29, - 0x20, 0xc1, 0x38, 0x76, 0xc3, 0x96, 0xe3, 0xc2, 0x9b, 0x39, 0xb6, 0x6f, 0xda, 0x07, 0x14, 0x00, - 0x14, 0x00, 0x14, 0x58, 0x23, 0x66, 0x26, 0x27, 0x39, 0xfc, 0x42, 0xad, 0xdd, 0x90, 0xd8, 0xa6, - 0x94, 0xe4, 0xf1, 0xb3, 0x53, 0x2b, 0x33, 0x99, 0xfc, 0x4c, 0xeb, 0x59, 0x72, 0xf9, 0xce, 0xe9, - 0xfe, 0xd9, 0xc9, 0xf9, 0xf1, 0xe1, 0xd5, 0xa1, 0xe4, 0x13, 0x66, 0x4d, 0x52, 0xce, 0x5f, 0x1c, - 0xb6, 0xf7, 0xff, 0x6c, 0x7f, 0x39, 0x56, 0xf2, 0x86, 0x2c, 0x0b, 0xfd, 0xe5, 0x55, 0x5b, 0x4d, - 0xeb, 0x59, 0x42, 0xfa, 0x83, 0xc3, 0xe3, 0xf6, 0x7f, 0x54, 0xb4, 0xde, 0x48, 0x5b, 0x3f, 0xbf, - 0x38, 0xfb, 0x72, 0x58, 0x91, 0xda, 0xf8, 0xf3, 0x27, 0xd9, 0xdb, 0x50, 0x56, 0x3e, 0xfc, 0x99, - 0xa6, 0x87, 0x73, 0x2b, 0x25, 0x41, 0xfe, 0x4c, 0xdb, 0x53, 0x5b, 0x5b, 0x9a, 0x76, 0x7e, 0xad, - 0xa9, 0xb3, 0xa5, 0x6b, 0x59, 0x0d, 0x05, 0x6d, 0xbf, 0x1c, 0x1a, 0x69, 0x04, 0xeb, 0xb5, 0xe2, - 0xce, 0x8e, 0x4c, 0xcb, 0xaa, 0xcb, 0xdd, 0x79, 0x2b, 0xaa, 0xe3, 0x24, 0xe6, 0xa3, 0x9c, 0x69, - 0x5b, 0x5e, 0x7e, 0xca, 0xb7, 0x3f, 0x0a, 0xce, 0xeb, 0x9b, 0xaa, 0x9e, 0xb5, 0xd6, 0x4b, 0xd2, - 0xf8, 0x03, 0x2f, 0x71, 0xc2, 0x07, 0x1a, 0x3f, 0x59, 0xdd, 0x30, 0xb6, 0x3a, 0xe7, 0xd6, 0xc3, - 0x9b, 0x14, 0x89, 0xc3, 0xa4, 0x88, 0xe3, 0x7c, 0x88, 0x3b, 0x9f, 0xb7, 0x3e, 0xd7, 0x55, 0x48, - 0x55, 0x45, 0x90, 0x74, 0x1e, 0x34, 0x95, 0x9d, 0xd7, 0x52, 0x3b, 0x4a, 0x9d, 0x8b, 0x56, 0x65, - 0xad, 0xad, 0xf4, 0x9e, 0x3e, 0x97, 0x54, 0x56, 0xad, 0x12, 0xa7, 0x0f, 0x63, 0xaf, 0x27, 0x33, - 0x81, 0xf6, 0x84, 0x79, 0x0e, 0xdb, 0x05, 0x87, 0x07, 0x87, 0x07, 0x87, 0x5f, 0x23, 0x0e, 0x3f, - 0xb1, 0xe1, 0x49, 0x15, 0x00, 0xe0, 0xf1, 0x6f, 0x79, 0xfc, 0xd9, 0xd5, 0x9f, 0x87, 0x17, 0xca, - 0x28, 0xfc, 0xe5, 0x55, 0xfb, 0xaa, 0xb3, 0xaf, 0x8c, 0xbf, 0x1f, 0xfc, 0xe7, 0xb4, 0x7d, 0xd2, - 0xd9, 0x5f, 0x5f, 0x16, 0x3c, 0x1a, 0xbf, 0x94, 0x52, 0x6c, 0x33, 0xad, 0x0f, 0xb7, 0x86, 0x1a, - 0x0a, 0x3c, 0xda, 0x18, 0x2d, 0xab, 0xb6, 0xda, 0x3c, 0x12, 0x57, 0x81, 0x5f, 0xb5, 0xa7, 0xf6, - 0x2a, 0xf0, 0xd0, 0xdd, 0xb3, 0x16, 0x95, 0x04, 0xff, 0x45, 0x9f, 0x84, 0xae, 0xb4, 0x54, 0x8e, - 0xbd, 0x84, 0xb5, 0x19, 0x13, 0xcc, 0x52, 0x7b, 0xe2, 0x05, 0x87, 0xfe, 0xa8, 0xda, 0x9b, 0x90, - 0xa0, 0xa8, 0x9c, 0x90, 0xc7, 0xa9, 0x96, 0x6a, 0xbb, 0x8d, 0x46, 0x73, 0xa7, 0xd1, 0xa8, 0xee, - 0x6c, 0xed, 0x54, 0xf7, 0xb6, 0xb7, 0x6b, 0xcd, 0x9a, 0x40, 0xc9, 0x96, 0xca, 0x59, 0xec, 0xd2, - 0x98, 0xba, 0x5f, 0xd2, 0x39, 0x0b, 0x06, 0xbe, 0x2f, 0xa3, 0xa9, 0xaf, 0x49, 0x16, 0x4f, 0xca, - 0x5f, 0x9d, 0xa5, 0xe8, 0x3a, 0x07, 0x4a, 0xcf, 0x62, 0x45, 0xe8, 0x62, 0x67, 0x3c, 0x70, 0x58, - 0x30, 0x02, 0x82, 0x9d, 0xf1, 0x6b, 0x6f, 0xb3, 0x0a, 0x85, 0xee, 0x37, 0x9f, 0x04, 0xb7, 0x9d, - 0xe8, 0xa1, 0x79, 0x3b, 0xb6, 0x32, 0x54, 0x50, 0x95, 0x41, 0xd1, 0x72, 0x96, 0xa1, 0x30, 0xc3, - 0x30, 0xbc, 0xda, 0x26, 0xd3, 0xa5, 0x25, 0xf9, 0x6b, 0x34, 0xcc, 0x6d, 0x0d, 0xe5, 0x1a, 0x94, - 0x91, 0x7c, 0x94, 0x6b, 0xd0, 0x58, 0xae, 0x41, 0x30, 0x67, 0xbc, 0x9c, 0x5c, 0xf1, 0x28, 0xd5, - 0xa0, 0xc0, 0x46, 0x86, 0x52, 0x0d, 0xea, 0xf0, 0x94, 0x70, 0xa9, 0x06, 0x1a, 0x48, 0x71, 0xee, - 0x4d, 0x85, 0xaf, 0x64, 0xed, 0x89, 0x5e, 0xc5, 0xa7, 0x5d, 0x32, 0xf0, 0x99, 0x14, 0xe7, 0x60, - 0x25, 0xdd, 0x1f, 0x62, 0xc4, 0xea, 0x06, 0xe9, 0x89, 0x94, 0x4b, 0x1b, 0xd9, 0x52, 0x47, 0x99, - 0xf4, 0x51, 0x26, 0x85, 0x54, 0x48, 0xa3, 0x72, 0x58, 0x62, 0xe4, 0xa7, 0x27, 0x92, 0x77, 0x7f, - 0x49, 0xd2, 0xbd, 0xa5, 0xb2, 0x19, 0xab, 0x94, 0x25, 0x0a, 0x2c, 0x28, 0xdd, 0x5c, 0x4a, 0xf8, - 0x1e, 0x88, 0x2f, 0x31, 0xe9, 0xdc, 0xb8, 0x45, 0xc8, 0x76, 0xc8, 0x76, 0xc8, 0xf6, 0x12, 0xc9, - 0x76, 0xe1, 0xca, 0xee, 0x6f, 0xcf, 0xa6, 0x8c, 0xc4, 0x73, 0x72, 0x2a, 0xbd, 0x8f, 0x7f, 0x24, - 0xfa, 0x9c, 0x65, 0x56, 0x7e, 0x9f, 0x34, 0x3a, 0xae, 0x39, 0x2e, 0xd9, 0x7b, 0xa6, 0xac, 0xe4, - 0xf8, 0xcb, 0x1e, 0x92, 0x5d, 0x7a, 0x5c, 0xd2, 0x31, 0x79, 0xbd, 0x64, 0xe4, 0x51, 0xdd, 0x92, - 0xc9, 0x2e, 0x13, 0xbf, 0x0a, 0x6b, 0x57, 0x12, 0x77, 0xe8, 0x0d, 0x10, 0x66, 0x79, 0x11, 0xa6, - 0xef, 0x75, 0x29, 0xf3, 0xfa, 0x12, 0x4d, 0x21, 0x93, 0x16, 0x81, 0x30, 0x81, 0x30, 0x81, 0x30, - 0x81, 0x30, 0x81, 0x30, 0x81, 0x30, 0x81, 0x30, 0x81, 0x30, 0x81, 0x30, 0xd7, 0x12, 0x61, 0xf6, - 0x49, 0x40, 0x7a, 0xd4, 0x95, 0x07, 0x30, 0xc7, 0x0d, 0x96, 0xc9, 0xd9, 0x96, 0x9d, 0x2b, 0x78, - 0xdb, 0x80, 0x97, 0x81, 0x97, 0x57, 0x07, 0x2f, 0xaf, 0x9c, 0xb7, 0x4d, 0xc1, 0xd5, 0x66, 0x05, - 0x57, 0x9a, 0x15, 0xdc, 0x4c, 0xba, 0x38, 0xda, 0x7f, 0xe7, 0x96, 0xeb, 0x43, 0xf3, 0x93, 0x95, - 0x8c, 0xae, 0xb4, 0x36, 0xa4, 0x5e, 0x56, 0xd6, 0x71, 0xe7, 0x4e, 0xd5, 0xe5, 0x64, 0xbd, 0xd7, - 0xee, 0xf2, 0xaf, 0x12, 0x90, 0x2c, 0x90, 0xac, 0x46, 0x24, 0x1b, 0xba, 0x12, 0xed, 0xa4, 0x59, - 0x6b, 0x65, 0xc2, 0xb0, 0xed, 0xe3, 0x63, 0x20, 0x58, 0x20, 0x58, 0x20, 0xd8, 0xd5, 0x41, 0xb0, - 0x72, 0xb3, 0xaa, 0xc9, 0xbc, 0x85, 0x2d, 0xf7, 0xf6, 0xb5, 0x9a, 0x5b, 0xd7, 0xc3, 0xdb, 0xd6, - 0xa9, 0x58, 0x94, 0x88, 0x06, 0xb3, 0x3b, 0xd6, 0x07, 0x9d, 0xcb, 0xf6, 0x97, 0xe3, 0xc3, 0xdb, - 0xaf, 0xa7, 0x97, 0x67, 0xc7, 0x9d, 0xfd, 0xce, 0xd5, 0xe1, 0xc1, 0xed, 0x45, 0xbb, 0x52, 0xae, - 0x3c, 0x01, 0xd2, 0xef, 0x40, 0x67, 0x53, 0x29, 0xd5, 0xbc, 0xb9, 0x68, 0x22, 0x65, 0xdd, 0x51, - 0x36, 0xfd, 0x2e, 0x30, 0x08, 0xdf, 0xf2, 0x69, 0x8d, 0x40, 0xf9, 0x4a, 0x49, 0xf9, 0x66, 0xd7, - 0x09, 0xa4, 0x0f, 0xa4, 0x4f, 0x1f, 0xe9, 0x0b, 0xd9, 0x3d, 0x8d, 0x6d, 0xc1, 0x6b, 0x7a, 0xb3, - 0x34, 0x60, 0xba, 0x55, 0x38, 0x32, 0x40, 0x03, 0x41, 0x03, 0x41, 0x03, 0x95, 0xd1, 0x40, 0x38, - 0x32, 0xd6, 0x07, 0xd7, 0xc2, 0x91, 0x61, 0x02, 0xaa, 0x85, 0x23, 0x03, 0x98, 0xb6, 0x38, 0x4c, - 0x9b, 0x0c, 0xa2, 0x48, 0x4a, 0x55, 0xb7, 0x89, 0x5c, 0x9a, 0xb4, 0x08, 0x2c, 0x0b, 0x2c, 0x0b, - 0x2c, 0x0b, 0x2c, 0x0b, 0x2c, 0x5b, 0x24, 0x96, 0x4d, 0x18, 0x61, 0x83, 0xa4, 0xcc, 0x40, 0xd6, - 0xa5, 0x51, 0x4c, 0x1d, 0xc2, 0x84, 0xe3, 0x38, 0x75, 0x23, 0xd4, 0xd1, 0xd4, 0x9a, 0x0c, 0x4f, - 0xa7, 0xe6, 0x1e, 0xb8, 0x13, 0xb8, 0x53, 0xc7, 0x93, 0x2b, 0x94, 0x38, 0x73, 0x5e, 0x3a, 0xc2, - 0xcd, 0x91, 0x25, 0x57, 0x57, 0x56, 0x4b, 0x8e, 0xa4, 0x80, 0x43, 0x04, 0x44, 0x13, 0xf1, 0x54, - 0x73, 0x93, 0x96, 0x90, 0x6c, 0x0e, 0xc9, 0xe6, 0x0a, 0xc1, 0xb6, 0x86, 0x25, 0x9b, 0x8b, 0xe4, - 0x90, 0xae, 0x37, 0x07, 0x50, 0xd2, 0xfd, 0xea, 0x1a, 0xa8, 0x29, 0xa8, 0xe9, 0x3a, 0x52, 0x53, - 0xd1, 0x63, 0x3d, 0x69, 0x48, 0x92, 0x6f, 0x78, 0x66, 0xf3, 0x4a, 0xf1, 0x0e, 0x4b, 0x3e, 0xee, - 0xd2, 0x8f, 0xbd, 0x8a, 0xe3, 0xaf, 0x4c, 0x0c, 0xe8, 0xe4, 0x99, 0x28, 0xa3, 0xa4, 0x88, 0x62, - 0x4a, 0xda, 0xaf, 0xb2, 0xc4, 0xc7, 0xa4, 0x41, 0xd7, 0x4b, 0xc8, 0x9d, 0x4f, 0x05, 0xb3, 0xa6, - 0x2f, 0x6f, 0x80, 0x99, 0xfb, 0x3a, 0xc9, 0xbb, 0x41, 0x6e, 0xed, 0x36, 0x65, 0xc2, 0x47, 0xa5, - 0x10, 0x52, 0x2e, 0x8c, 0x54, 0x0b, 0x25, 0x6d, 0xc2, 0x49, 0x9b, 0x90, 0xd2, 0x21, 0xac, 0xe4, - 0x0a, 0x2d, 0xc9, 0xc2, 0x6b, 0x32, 0x01, 0xd2, 0x6b, 0xc1, 0xcd, 0xec, 0x76, 0x79, 0xe6, 0xfa, - 0x85, 0x88, 0xa6, 0x56, 0xea, 0x29, 0x96, 0x6c, 0x12, 0xd4, 0x67, 0x22, 0x54, 0xb7, 0x93, 0x65, - 0xa6, 0x7c, 0x99, 0xa8, 0xb1, 0x01, 0x0b, 0x87, 0x80, 0x79, 0x10, 0xab, 0x99, 0xed, 0x59, 0xcd, - 0x39, 0xf3, 0x4a, 0x68, 0x4f, 0x68, 0x4f, 0x68, 0x4f, 0x68, 0x4f, 0x68, 0x4f, 0x59, 0xbd, 0x54, - 0x58, 0x8c, 0x7f, 0xf2, 0x0e, 0x75, 0x45, 0xf9, 0xc7, 0x3f, 0x6a, 0x44, 0x8a, 0x25, 0x12, 0x18, - 0xda, 0xfc, 0x5c, 0x53, 0x24, 0x80, 0x74, 0x48, 0xd3, 0x79, 0x52, 0x55, 0x75, 0x81, 0x7e, 0xed, - 0x02, 0x76, 0xae, 0xa0, 0xe5, 0x59, 0x67, 0x65, 0xbd, 0x7b, 0xfe, 0x60, 0x46, 0xab, 0x37, 0x60, - 0x08, 0xeb, 0xcb, 0x10, 0x86, 0xa5, 0x99, 0xec, 0x30, 0xf0, 0xbd, 0xe0, 0x87, 0x3a, 0x56, 0xf0, - 0xfa, 0x35, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, - 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x60, 0x02, 0x05, 0x33, 0x81, 0x28, 0x13, 0x0c, 0x71, 0x3a, - 0x6a, 0x59, 0x55, 0x4f, 0x16, 0x4a, 0xe1, 0x39, 0xef, 0x02, 0x27, 0x00, 0x27, 0x00, 0x27, 0x00, - 0x27, 0x90, 0xb6, 0xdb, 0xa5, 0xd5, 0x73, 0x59, 0x24, 0x5b, 0x76, 0x14, 0x34, 0x2d, 0xb7, 0xde, - 0x8b, 0x46, 0x7c, 0xad, 0xa2, 0x1e, 0xcc, 0xcc, 0x4b, 0x14, 0xd5, 0x87, 0x99, 0x79, 0x8f, 0xea, - 0x9a, 0x23, 0xb3, 0x7b, 0x56, 0x55, 0x0d, 0x12, 0xc5, 0xc7, 0xf8, 0xf5, 0x16, 0x20, 0x8f, 0xfa, - 0xb6, 0x80, 0xaa, 0x7a, 0x33, 0xeb, 0xb4, 0x17, 0xc0, 0x4a, 0x60, 0x79, 0x29, 0xb3, 0xe5, 0xa5, - 0x0e, 0xcb, 0xcb, 0x5a, 0x58, 0x5e, 0xea, 0xb0, 0xbc, 0xc0, 0xf2, 0xb2, 0xe6, 0x96, 0x17, 0x05, - 0xdc, 0x5f, 0xee, 0x8d, 0x48, 0x58, 0x58, 0x60, 0x61, 0x81, 0x85, 0x05, 0x16, 0x96, 0xa9, 0xdd, - 0xee, 0x45, 0x0f, 0x4d, 0x5b, 0xd9, 0x76, 0x99, 0x78, 0x5e, 0x77, 0x15, 0xb4, 0x7d, 0x4e, 0x18, - 0xa3, 0x71, 0xa0, 0x0c, 0x4f, 0x57, 0x3e, 0x7e, 0xfc, 0x5e, 0xb5, 0xf7, 0x88, 0xdd, 0x6d, 0xdb, - 0x47, 0x37, 0xbf, 0x6a, 0x9f, 0x1a, 0xcf, 0xad, 0x8d, 0x5f, 0x3b, 0xcf, 0x6f, 0x3f, 0xfc, 0x3d, - 0xef, 0x6b, 0xb5, 0x4f, 0x3b, 0xcf, 0xad, 0x05, 0xff, 0xd2, 0x7c, 0x6e, 0x2d, 0xd9, 0xc6, 0xf6, - 0xf3, 0xc7, 0x99, 0xaf, 0xa6, 0x9f, 0xd7, 0x17, 0x3d, 0xd0, 0x58, 0xf0, 0xc0, 0xd6, 0xa2, 0x07, - 0xb6, 0x16, 0x3c, 0xb0, 0xb0, 0x4b, 0xf5, 0x05, 0x0f, 0x6c, 0x3f, 0xff, 0x9e, 0xf9, 0xfe, 0xc7, - 0xf9, 0x5f, 0x6d, 0x3e, 0x6f, 0xfc, 0x5e, 0xf4, 0x6f, 0x3b, 0xcf, 0xbf, 0x5b, 0x1b, 0x1b, 0x9b, - 0x1f, 0x6b, 0xf5, 0xef, 0x55, 0x7b, 0xf7, 0xe6, 0x77, 0xed, 0x7b, 0xd5, 0xae, 0xdd, 0xa4, 0xdf, - 0xbc, 0xf9, 0xfd, 0xbd, 0x66, 0xef, 0x8d, 0x7f, 0x4d, 0xff, 0xbb, 0x21, 0x5f, 0x1c, 0xdc, 0xa8, - 0xd8, 0xa7, 0x67, 0x97, 0x9d, 0xbf, 0x94, 0x6f, 0xd6, 0xff, 0x62, 0xb7, 0x96, 0x7c, 0xb7, 0xfe, - 0xa3, 0x02, 0xca, 0x01, 0xca, 0x21, 0x8f, 0x72, 0x3c, 0x10, 0xdf, 0xd3, 0xe1, 0xe8, 0x7d, 0xf3, - 0x1e, 0x50, 0x10, 0x50, 0x10, 0x50, 0x10, 0x50, 0x10, 0x69, 0xbb, 0x1d, 0x4e, 0xde, 0x99, 0x1f, - 0x38, 0x79, 0x97, 0x7b, 0x0f, 0x9c, 0xbc, 0x5c, 0x5b, 0x00, 0x4e, 0x5e, 0xb3, 0xf6, 0x02, 0x1c, - 0x20, 0x12, 0x96, 0x0b, 0x4e, 0xde, 0x25, 0xf5, 0x31, 0x9c, 0xbc, 0x70, 0xf2, 0xc2, 0xc9, 0x0b, - 0x8b, 0xcb, 0x8a, 0x58, 0x5c, 0x4a, 0x95, 0x53, 0x4f, 0xd1, 0x02, 0x29, 0xcf, 0xfe, 0x3d, 0xce, - 0x88, 0x3d, 0xfa, 0x45, 0x28, 0x1b, 0xb8, 0xfc, 0x15, 0x92, 0xb0, 0x3a, 0xb2, 0x1d, 0xf8, 0x6a, - 0x1c, 0xf7, 0x92, 0xad, 0x65, 0xc8, 0x71, 0x8a, 0x1c, 0xa7, 0xba, 0xad, 0x5e, 0xe5, 0x92, 0xc7, - 0xd2, 0xad, 0x5b, 0x93, 0xdd, 0x9a, 0xea, 0xc5, 0x98, 0x76, 0x65, 0xee, 0xd7, 0xb1, 0x33, 0x5d, - 0xa2, 0x3d, 0xab, 0x72, 0x3e, 0x52, 0x19, 0x9f, 0x3f, 0x8f, 0x64, 0xfa, 0x48, 0xc2, 0xaf, 0x92, - 0x68, 0x4f, 0x18, 0x61, 0x54, 0xbe, 0x64, 0x1f, 0x36, 0x5b, 0xf2, 0xe4, 0xd5, 0x75, 0x08, 0x76, - 0x08, 0xf6, 0x35, 0x14, 0xec, 0x48, 0x5e, 0xad, 0x1d, 0x4d, 0x2a, 0x43, 0x95, 0x2a, 0x85, 0x90, - 0x72, 0x61, 0xa4, 0xcb, 0x8e, 0x05, 0xdf, 0x6b, 0xf1, 0x06, 0x22, 0x24, 0xdd, 0x99, 0x83, 0x68, - 0x6a, 0xc8, 0xd1, 0xac, 0x54, 0x41, 0x20, 0x47, 0x33, 0x94, 0x04, 0x94, 0x04, 0x94, 0x04, 0x94, - 0x84, 0xb2, 0x29, 0x86, 0xeb, 0x78, 0xc9, 0x9d, 0x82, 0xcc, 0x6c, 0x70, 0x1d, 0x23, 0x33, 0xdb, - 0x82, 0x9f, 0x1b, 0xa4, 0x22, 0x96, 0x25, 0x67, 0x90, 0x8a, 0x18, 0x80, 0x17, 0x80, 0x17, 0x80, - 0x17, 0x80, 0x17, 0x80, 0x17, 0x80, 0x17, 0x80, 0x17, 0x80, 0x17, 0x80, 0xb7, 0x18, 0xc0, 0x8b, - 0x8c, 0xbb, 0x80, 0xbe, 0x80, 0xbe, 0x80, 0xbe, 0xab, 0x02, 0x7d, 0x71, 0x19, 0x53, 0x27, 0x8c, - 0xc4, 0x65, 0x4c, 0xa1, 0x3d, 0x8b, 0xcb, 0x98, 0x39, 0xb7, 0x00, 0x2e, 0x63, 0x02, 0x7c, 0xc3, - 0xc0, 0xb0, 0xda, 0x06, 0x06, 0x5c, 0xc6, 0x5c, 0x0f, 0x03, 0x03, 0x2e, 0x63, 0xae, 0x8d, 0x81, - 0x01, 0x89, 0x65, 0x61, 0x48, 0x80, 0x21, 0x01, 0x86, 0x04, 0x93, 0x0c, 0x09, 0x48, 0x2c, 0xbb, - 0xf8, 0x05, 0x48, 0xd5, 0x89, 0xc4, 0xb2, 0x32, 0xf6, 0x29, 0x12, 0xcb, 0x62, 0xb7, 0x1a, 0x91, - 0x58, 0x16, 0xf9, 0x53, 0xe1, 0xb2, 0x03, 0xd2, 0x06, 0xd2, 0x06, 0xd2, 0x56, 0xb0, 0xdb, 0xe1, - 0xb2, 0xd3, 0x69, 0x98, 0x85, 0xcb, 0x4e, 0x68, 0xcf, 0xc2, 0x65, 0x97, 0x73, 0x0b, 0xc0, 0x65, - 0x57, 0x32, 0x05, 0xa1, 0xae, 0x55, 0xb8, 0xec, 0xe0, 0xb2, 0xb3, 0x4c, 0xc3, 0xac, 0xf3, 0xb0, - 0x2b, 0x5c, 0x76, 0x70, 0xd9, 0x99, 0x66, 0x58, 0x40, 0x9a, 0x50, 0x05, 0x69, 0x42, 0x87, 0x29, - 0xd2, 0xca, 0x92, 0x4a, 0xee, 0x43, 0x81, 0x4b, 0x9b, 0x8a, 0x47, 0x69, 0xb4, 0xbe, 0x72, 0xec, - 0x25, 0xac, 0xcd, 0x98, 0x9c, 0x14, 0x57, 0x29, 0xa5, 0x39, 0xf4, 0xb3, 0x05, 0x94, 0x04, 0xfb, - 0x52, 0x84, 0x3c, 0xd5, 0x62, 0x6d, 0xb7, 0xd1, 0x68, 0xee, 0x34, 0x1a, 0xd5, 0x9d, 0xad, 0x9d, - 0xea, 0xde, 0xf6, 0x76, 0xad, 0x59, 0x93, 0x00, 0x66, 0x2b, 0x67, 0xb1, 0x4b, 0x63, 0xea, 0x7e, - 0x49, 0xe7, 0x35, 0x18, 0xf8, 0xbe, 0xcc, 0x26, 0xbf, 0x26, 0x34, 0x96, 0x82, 0x4b, 0x45, 0xb7, - 0x8d, 0x64, 0x49, 0xa0, 0x5b, 0x02, 0x54, 0xa4, 0xa4, 0x6f, 0x8c, 0x07, 0x0e, 0x0b, 0x46, 0xe8, - 0xaa, 0x33, 0xee, 0xd0, 0xed, 0x45, 0xd6, 0xa1, 0x6f, 0x3e, 0x09, 0x6e, 0x3b, 0xd1, 0x43, 0x73, - 0xf8, 0x77, 0xdc, 0x9e, 0xee, 0xce, 0xed, 0xb9, 0x84, 0x64, 0x96, 0xfc, 0x72, 0x83, 0xef, 0x49, - 0xce, 0x2d, 0x23, 0x6b, 0xab, 0x68, 0xdb, 0x22, 0x7c, 0xab, 0x92, 0x7f, 0x4e, 0x39, 0xe6, 0x53, - 0x30, 0x65, 0xa8, 0x94, 0x14, 0xa1, 0x82, 0x29, 0x41, 0x85, 0x53, 0x80, 0xca, 0xb0, 0xd4, 0x4b, - 0xb3, 0xc8, 0xcb, 0x62, 0x31, 0xd2, 0x2d, 0xec, 0xd2, 0x29, 0x88, 0x4c, 0x8b, 0xb9, 0x5e, 0xf9, - 0x23, 0x9a, 0x72, 0x73, 0x94, 0xd5, 0x41, 0x7c, 0x8d, 0x5f, 0x67, 0x89, 0x10, 0x5d, 0xe0, 0x03, - 0xda, 0x25, 0x03, 0x9f, 0x49, 0xb1, 0x48, 0x54, 0xd2, 0xfd, 0x21, 0xa6, 0x8d, 0x6e, 0x44, 0x71, - 0xa8, 0x14, 0x7f, 0xa1, 0x34, 0xff, 0xa0, 0x4c, 0x7f, 0xa0, 0x74, 0xff, 0x9f, 0x6c, 0xdb, 0x89, - 0x32, 0xff, 0x9e, 0x32, 0x43, 0x88, 0x0a, 0xff, 0x5d, 0xb1, 0x3c, 0x4c, 0x9a, 0x3f, 0x4e, 0x41, - 0xb6, 0x08, 0x49, 0xd9, 0x21, 0x04, 0x00, 0xab, 0x80, 0x86, 0xce, 0x60, 0xe0, 0x03, 0xf1, 0xe5, - 0xc9, 0xef, 0x49, 0x8b, 0x10, 0x79, 0x10, 0x79, 0x10, 0x79, 0x25, 0x12, 0x79, 0xd2, 0x42, 0x0e, - 0x24, 0x86, 0x18, 0x48, 0x0e, 0x29, 0x90, 0x68, 0x75, 0x55, 0x11, 0x32, 0xa0, 0x2a, 0x44, 0x40, - 0xb9, 0x1b, 0x58, 0x9d, 0xdb, 0x57, 0x66, 0x6c, 0xa0, 0x0a, 0x17, 0xbf, 0x72, 0x97, 0xbe, 0xc9, - 0x6b, 0x57, 0x12, 0x1f, 0xc1, 0x8d, 0x81, 0xc0, 0x4b, 0x5a, 0x04, 0xeb, 0x4b, 0xed, 0x22, 0x39, - 0xb1, 0xaa, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x5e, 0x00, 0x5e, - 0x00, 0x5e, 0xab, 0x06, 0xbc, 0xfa, 0x24, 0x20, 0x3d, 0xea, 0xca, 0xc3, 0x5d, 0xe3, 0x06, 0xcb, - 0xe4, 0xb1, 0xc8, 0xb6, 0x1b, 0x5c, 0x16, 0x80, 0x91, 0x80, 0x91, 0xab, 0x03, 0x23, 0xcb, 0xe7, - 0xb2, 0x10, 0x9c, 0x22, 0x05, 0xc1, 0xe9, 0x0a, 0x82, 0xd1, 0x15, 0xd4, 0x4e, 0xcd, 0x1b, 0x84, - 0x5c, 0x37, 0xac, 0xce, 0xaa, 0xaa, 0x50, 0x72, 0xbd, 0xa5, 0x56, 0xf3, 0xaf, 0x12, 0x00, 0x5e, - 0x19, 0x00, 0x5e, 0xe8, 0x4a, 0xb4, 0xaa, 0x65, 0xad, 0x95, 0x09, 0xda, 0xb5, 0x8f, 0x8f, 0x01, - 0xec, 0x00, 0xec, 0x00, 0xec, 0x56, 0x07, 0xd8, 0xd1, 0x60, 0xd0, 0xa7, 0xd2, 0xea, 0x80, 0x4e, - 0xc0, 0x5d, 0x43, 0x42, 0x5b, 0x87, 0xc1, 0xa0, 0x2f, 0x6f, 0xf7, 0x5e, 0x85, 0x97, 0x2c, 0xf6, - 0x82, 0x9e, 0xdc, 0xfb, 0x31, 0xd5, 0x74, 0x0e, 0x53, 0xb1, 0x28, 0x11, 0x24, 0xd5, 0xd2, 0x36, - 0x0f, 0x3a, 0x97, 0xed, 0x2f, 0xc7, 0x87, 0xb7, 0x5f, 0x4f, 0x2f, 0xcf, 0x8e, 0x3b, 0xfb, 0x9d, - 0xab, 0xc3, 0x83, 0xdb, 0x8b, 0x76, 0xa5, 0x54, 0x97, 0x8e, 0xae, 0xc2, 0x8e, 0xe4, 0x8a, 0xe6, - 0xd9, 0x54, 0x4a, 0x35, 0x86, 0x2d, 0x9a, 0xc8, 0x96, 0x55, 0xc3, 0x2d, 0x23, 0xf0, 0xa0, 0xbf, - 0x43, 0xd8, 0xd6, 0x03, 0x8d, 0x93, 0x14, 0x5e, 0x37, 0xad, 0x8f, 0x29, 0xde, 0xde, 0x00, 0x13, - 0x2a, 0x25, 0x13, 0x9a, 0x5d, 0x27, 0x70, 0xa1, 0x12, 0x70, 0xa1, 0x90, 0xdd, 0xd3, 0xd8, 0x76, - 0xc6, 0x50, 0x5b, 0x12, 0x27, 0x7a, 0xd5, 0x2a, 0xcc, 0xde, 0x60, 0x47, 0x60, 0x47, 0x60, 0x47, - 0xca, 0xd8, 0x11, 0xcc, 0xde, 0xeb, 0x03, 0xf7, 0x60, 0xf6, 0x36, 0x01, 0xec, 0xc1, 0xec, 0x5d, - 0x42, 0xa8, 0x97, 0x0c, 0xa2, 0x28, 0xa6, 0x49, 0x22, 0x0f, 0xe6, 0x4d, 0x5a, 0x04, 0xc4, 0x03, - 0xc4, 0x03, 0xc4, 0x03, 0xc4, 0x03, 0xc4, 0x2b, 0x12, 0xe2, 0x25, 0x8c, 0xb0, 0x41, 0x52, 0x66, - 0x7c, 0xe7, 0xd2, 0x28, 0xa6, 0x0e, 0x61, 0xc2, 0xc1, 0x70, 0xba, 0x81, 0xdb, 0x68, 0x6a, 0x4d, - 0x46, 0x6d, 0x53, 0x73, 0x0f, 0x38, 0x26, 0x0b, 0x8e, 0x21, 0x13, 0xd0, 0x9c, 0x4c, 0x40, 0x02, - 0xe9, 0xe1, 0x38, 0xd2, 0x00, 0x7d, 0x50, 0x38, 0xf5, 0xa2, 0x53, 0xae, 0x7a, 0xaa, 0x2b, 0x5c, - 0x39, 0x90, 0xb8, 0xf3, 0x6e, 0xe5, 0x5b, 0xd3, 0xe5, 0x57, 0x26, 0xc7, 0xaa, 0x70, 0xa6, 0x70, - 0x12, 0x4a, 0xdd, 0xc4, 0x99, 0xb2, 0x89, 0x3b, 0x55, 0x93, 0x08, 0x5e, 0x17, 0xc6, 0xe7, 0xa2, - 0xda, 0x54, 0x1a, 0xfe, 0x96, 0xa6, 0x1d, 0x65, 0xe0, 0x6b, 0xb5, 0x52, 0x86, 0x37, 0xc5, 0x52, - 0xc5, 0x09, 0x07, 0xe9, 0xf9, 0x4d, 0xc4, 0x53, 0x9a, 0x4d, 0x5a, 0x2a, 0x38, 0xab, 0x59, 0x15, - 0x59, 0xcd, 0xd4, 0x51, 0x59, 0x64, 0x35, 0x13, 0x3e, 0x72, 0x93, 0x06, 0xbc, 0xc0, 0x76, 0xbd, - 0xc4, 0x21, 0xb1, 0x4b, 0x5d, 0x3b, 0xfa, 0xc1, 0x12, 0x99, 0x09, 0x72, 0xde, 0x36, 0x0d, 0x7b, - 0x14, 0xec, 0x51, 0xb0, 0x47, 0x95, 0xc8, 0x1e, 0x35, 0x52, 0x97, 0xcd, 0x86, 0x44, 0x8b, 0xd4, - 0x2e, 0xee, 0x6c, 0xe7, 0x6c, 0x14, 0x77, 0xb6, 0x25, 0x9f, 0x94, 0xd7, 0x4b, 0xa6, 0xf2, 0xce, - 0xb6, 0x9a, 0xe4, 0xe1, 0xab, 0xb2, 0x8a, 0xab, 0x61, 0x56, 0x43, 0x14, 0x04, 0x9f, 0x72, 0xb9, - 0x38, 0xda, 0xb7, 0x1a, 0xf5, 0xbd, 0x2d, 0xcb, 0xb6, 0x4e, 0xb2, 0xab, 0xe3, 0xa9, 0x32, 0xb6, - 0x3a, 0x41, 0x37, 0x8c, 0xfb, 0x99, 0x2d, 0xca, 0xfa, 0x42, 0x12, 0x9a, 0xb9, 0xda, 0xd9, 0x3d, - 0xbd, 0x0e, 0x32, 0x1b, 0x4e, 0x40, 0x99, 0x75, 0x1e, 0x87, 0x2c, 0x74, 0x42, 0xdf, 0xfa, 0xd8, - 0x39, 0x47, 0x1c, 0xac, 0x62, 0x98, 0x34, 0x17, 0x2e, 0x49, 0x5a, 0x3a, 0x48, 0x12, 0x49, 0xef, - 0x17, 0xcb, 0x7c, 0x6a, 0xd3, 0x38, 0x0e, 0x63, 0xf9, 0xec, 0x6e, 0xaa, 0x59, 0x30, 0x3b, 0x30, - 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, - 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0x30, 0x3b, 0xb5, 0xcc, 0xae, 0x1b, 0xc6, 0x3f, 0x87, 0x0e, 0xb6, - 0xd0, 0x61, 0x54, 0x32, 0xbf, 0x9b, 0x69, 0x1c, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, - 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, 0x2c, 0x0f, - 0x2c, 0x4f, 0x17, 0xcb, 0x93, 0xee, 0xc3, 0x7b, 0xd3, 0x34, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, - 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, 0x18, 0x1e, - 0x18, 0x1e, 0x18, 0x9e, 0x5a, 0x86, 0xd7, 0x1f, 0xf8, 0xcc, 0x73, 0x48, 0xc2, 0x54, 0xf8, 0xf1, - 0x66, 0x1a, 0x07, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, 0x03, 0xcb, - 0x03, 0xcb, 0x03, 0xcb, 0x5b, 0x07, 0x96, 0xd7, 0x5a, 0x86, 0x29, 0x58, 0x63, 0xa2, 0x70, 0x1d, - 0xbc, 0x62, 0x0a, 0x96, 0x6d, 0x79, 0xd1, 0xe5, 0x53, 0xc2, 0x68, 0xff, 0x92, 0x11, 0x96, 0xfc, - 0xb9, 0xdf, 0x09, 0x4e, 0x52, 0x4c, 0x79, 0x26, 0x03, 0x52, 0x82, 0x03, 0x8a, 0x70, 0x40, 0xa5, - 0x0b, 0x0b, 0x29, 0x54, 0x36, 0x86, 0x28, 0xdd, 0x07, 0xf8, 0xa6, 0x69, 0xb0, 0x43, 0xb0, 0x43, - 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, 0xb0, 0x43, - 0x5e, 0x12, 0x71, 0xfe, 0x03, 0xdc, 0x70, 0x05, 0xb9, 0x61, 0xb6, 0xac, 0x90, 0x40, 0xe5, 0x60, - 0x86, 0x0a, 0x3c, 0x86, 0xf0, 0x13, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, - 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0xae, 0x11, 0x13, 0x44, 0x34, 0xa8, 0xb1, 0x6c, 0x0f, 0xd1, - 0xa0, 0x2b, 0xc1, 0xe8, 0xa4, 0x7b, 0xf8, 0xe0, 0xd7, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, - 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, 0x9b, 0x03, - 0x9b, 0x53, 0xcd, 0xe6, 0xc2, 0x01, 0x53, 0x56, 0x60, 0x6f, 0x4e, 0xdb, 0xe0, 0x78, 0xe0, 0x78, - 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, - 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0x8a, 0x39, 0x9e, 0x8a, 0x12, 0x7b, 0x6f, 0xda, 0x05, 0xb7, - 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, - 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x03, 0xb7, 0x53, 0xcc, 0xed, 0xd4, 0x15, 0xd9, 0x9b, 0xdb, - 0x3a, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, - 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x1e, 0x78, 0x9e, 0x36, 0x9e, 0x27, 0xdf, 0x8f, - 0x87, 0x3a, 0x7b, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, - 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0xe0, 0x78, 0x7a, 0x39, 0x9e, 0xba, 0x42, - 0x7b, 0x73, 0x5b, 0x07, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, - 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0x03, 0xcf, 0xd3, 0xc6, 0xf3, - 0xe4, 0xfb, 0xf2, 0x50, 0x2f, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, - 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x0f, 0x1c, 0x2f, 0x27, 0x51, 0xb8, 0x0e, 0x66, 0x6b, 0xab, 0x9d, - 0x0d, 0x18, 0x6a, 0xe6, 0x99, 0xcf, 0x01, 0xdf, 0x5d, 0x5a, 0x48, 0xa2, 0x92, 0x70, 0x44, 0x15, - 0x1e, 0x40, 0xf8, 0xfd, 0xc0, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, - 0xc1, 0x09, 0xc1, 0x09, 0xc1, 0x09, 0xe1, 0xf7, 0x5b, 0x75, 0xce, 0x07, 0x4e, 0x57, 0x16, 0x4e, - 0x27, 0xdf, 0xdb, 0x07, 0x1f, 0x1f, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, - 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x1c, 0xf8, 0x9c, 0xba, 0x27, - 0x39, 0x25, 0x57, 0xa5, 0x1d, 0x04, 0x21, 0xcb, 0x96, 0x59, 0xe8, 0xa8, 0x54, 0x12, 0xe7, 0x9e, - 0xf6, 0x49, 0x44, 0xd8, 0x7d, 0xba, 0xa7, 0x36, 0xc3, 0x88, 0x06, 0x4e, 0xc6, 0xbd, 0x6c, 0x2f, - 0xdd, 0x2f, 0x5d, 0xe2, 0xd0, 0x64, 0x73, 0xde, 0xaf, 0x9b, 0x71, 0x38, 0x60, 0xd4, 0xb5, 0x1f, - 0x7c, 0x12, 0x6c, 0x7a, 0xd1, 0x43, 0x73, 0x33, 0x61, 0x84, 0xd1, 0xcd, 0x11, 0x5c, 0x15, 0x21, - 0x92, 0x95, 0x84, 0xc5, 0x03, 0x87, 0x05, 0x23, 0x19, 0xd5, 0x19, 0xbf, 0xf2, 0xf6, 0x22, 0x7b, - 0xe5, 0x37, 0x9f, 0x04, 0xb7, 0x9d, 0xe8, 0xa1, 0x79, 0xbb, 0x3f, 0x7e, 0xd7, 0x07, 0x3d, 0x0b, - 0xc6, 0xb1, 0x58, 0x15, 0xf7, 0xde, 0x89, 0x6c, 0xc7, 0xf7, 0x86, 0xa7, 0x96, 0x6f, 0xa5, 0x26, - 0xe2, 0x7a, 0xba, 0x31, 0xce, 0x8d, 0x73, 0x40, 0xbb, 0x64, 0xe0, 0x33, 0x21, 0xa5, 0x54, 0xc9, - 0x30, 0x08, 0xdf, 0xac, 0xdf, 0x70, 0xf6, 0x5b, 0xcc, 0xb0, 0x20, 0x6c, 0x50, 0x90, 0x61, 0x48, - 0x90, 0x66, 0x40, 0x90, 0xa5, 0x24, 0xa5, 0x1b, 0x0c, 0xa4, 0x6b, 0x40, 0x99, 0x06, 0x02, 0xbd, - 0x02, 0x5a, 0xd8, 0x10, 0x30, 0xd9, 0x2d, 0x77, 0x61, 0xe8, 0x53, 0x12, 0x88, 0xec, 0x97, 0xd1, - 0xe1, 0xa9, 0xd5, 0xca, 0x2c, 0x28, 0x07, 0x91, 0x4d, 0x5c, 0x37, 0xb6, 0x5d, 0xca, 0xa8, 0xc3, - 0x6c, 0x16, 0x93, 0x20, 0xe9, 0x7b, 0x02, 0x46, 0xce, 0x17, 0xb1, 0xb9, 0xb0, 0xe9, 0x22, 0x85, - 0x68, 0x0d, 0x02, 0x14, 0x02, 0x14, 0x02, 0x54, 0xbd, 0x00, 0x1d, 0x78, 0x01, 0xdb, 0xaa, 0x4b, - 0x90, 0x9f, 0x3b, 0x02, 0x4d, 0xc8, 0x31, 0x97, 0x4a, 0xb0, 0x4b, 0xc8, 0x34, 0x8f, 0xca, 0x36, - 0x8b, 0x2a, 0x33, 0xa4, 0xc9, 0x37, 0xa0, 0x49, 0x30, 0x7f, 0x4a, 0x35, 0x7b, 0x4e, 0x96, 0xa2, - 0x51, 0xdf, 0x6b, 0xec, 0x35, 0x77, 0xea, 0x7b, 0xdb, 0xeb, 0xb7, 0x26, 0x05, 0x51, 0xff, 0x1b, - 0xad, 0x82, 0x51, 0xa2, 0xb1, 0x52, 0xa2, 0x91, 0x52, 0xa2, 0xc7, 0x2b, 0xb3, 0x6c, 0xfd, 0xff, - 0xec, 0x7d, 0xff, 0x4f, 0xdb, 0x4a, 0xf3, 0xee, 0xef, 0xfd, 0x2b, 0xac, 0xe8, 0x95, 0x2e, 0x5c, - 0xd5, 0x25, 0x09, 0x21, 0x40, 0xa4, 0x8f, 0xae, 0x52, 0xa0, 0x3d, 0xd1, 0xcb, 0x97, 0x08, 0x68, - 0xdf, 0x73, 0xd4, 0xe6, 0x45, 0xc6, 0xde, 0x80, 0x55, 0xc7, 0xf6, 0xc7, 0x5e, 0xd3, 0xa2, 0x36, - 0xff, 0xfb, 0x95, 0x9d, 0xc4, 0x04, 0x42, 0xda, 0xc4, 0x9e, 0x5d, 0x7b, 0x9d, 0x87, 0x1f, 0xce, - 0x01, 0x4a, 0xf6, 0xfb, 0xce, 0x3c, 0xcf, 0xcc, 0xec, 0xcc, 0x41, 0xbb, 0xd9, 0xd1, 0x7a, 0xfd, - 0x87, 0xb6, 0x76, 0xc5, 0x0d, 0xce, 0x1c, 0x16, 0x86, 0x5a, 0xd7, 0xb2, 0x82, 0xe4, 0xff, 0x11, - 0xf7, 0x26, 0x56, 0x8a, 0x28, 0x98, 0xd8, 0x40, 0xca, 0xed, 0x8c, 0xa5, 0x36, 0x38, 0xca, 0xf1, - 0xc7, 0x66, 0xd8, 0x86, 0x4d, 0xbb, 0xc1, 0x52, 0x88, 0x11, 0x73, 0xe3, 0x7b, 0x6e, 0xe5, 0xa7, - 0x41, 0xb3, 0x86, 0x8a, 0x24, 0x3d, 0xf1, 0x59, 0x05, 0xef, 0x01, 0xef, 0x01, 0xef, 0x81, 0xe1, - 0x88, 0x48, 0x3e, 0x3a, 0xcc, 0x08, 0xdc, 0x18, 0x0f, 0x79, 0x8e, 0x6d, 0xda, 0x9c, 0x42, 0x52, - 0x2e, 0x36, 0x59, 0xa4, 0xcc, 0x3c, 0xbf, 0x38, 0x3f, 0x81, 0xcc, 0x84, 0xcc, 0x84, 0xcc, 0x14, - 0x2f, 0x33, 0x99, 0x1b, 0x8d, 0x58, 0x6e, 0x52, 0x91, 0xca, 0xcd, 0x56, 0x8e, 0x36, 0x4e, 0xdc, - 0x68, 0x94, 0xff, 0xd4, 0x5d, 0x7b, 0x57, 0x3c, 0xb0, 0xdd, 0x3b, 0x9a, 0xa0, 0x96, 0x7a, 0xbc, - 0x46, 0x89, 0x3c, 0x22, 0x60, 0x5c, 0x8d, 0xb8, 0xb1, 0x8f, 0xa7, 0x17, 0xef, 0xbb, 0xa7, 0x14, - 0xcd, 0x35, 0xe3, 0xe6, 0x4e, 0x7b, 0xe7, 0xff, 0xbe, 0x39, 0xbd, 0x38, 0xa2, 0x69, 0x72, 0x37, - 0x6e, 0xf2, 0xfd, 0xc5, 0xf5, 0x5f, 0xb5, 0x62, 0x83, 0x4a, 0xbd, 0x5e, 0x0e, 0xef, 0xf1, 0xb3, - 0xa6, 0x92, 0xc9, 0x74, 0xb4, 0x5d, 0x82, 0xc5, 0x99, 0xee, 0x5c, 0x47, 0x6b, 0x10, 0x34, 0x36, - 0xb7, 0x6f, 0x1d, 0xad, 0x49, 0xd0, 0x60, 0x72, 0x48, 0x3b, 0x5a, 0x7d, 0x23, 0xa2, 0x41, 0x36, - 0xc2, 0x24, 0x74, 0xd8, 0xd8, 0x6d, 0x74, 0xb4, 0x24, 0x06, 0x24, 0x08, 0xb5, 0xa3, 0x80, 0x19, - 0xdc, 0x76, 0xef, 0xb4, 0x23, 0xc3, 0xbc, 0x67, 0xda, 0x89, 0xcb, 0x03, 0x9b, 0x85, 0x5a, 0xe4, - 0x7b, 0xee, 0x57, 0xf7, 0x92, 0x99, 0xcc, 0x7e, 0x88, 0xff, 0xf5, 0xd3, 0x13, 0x86, 0xd3, 0xce, - 0x99, 0x7d, 0x77, 0x7f, 0xeb, 0x05, 0x5a, 0xd7, 0x7a, 0x60, 0x01, 0xb7, 0xc3, 0x24, 0x64, 0x2a, - 0x84, 0xf1, 0x48, 0x90, 0xf1, 0x48, 0xd8, 0x86, 0xc1, 0xcc, 0x24, 0x80, 0x46, 0x8d, 0x78, 0x94, - 0x9f, 0x38, 0xc5, 0x8d, 0x80, 0x73, 0x80, 0x73, 0x80, 0x73, 0xac, 0x71, 0x5a, 0xe0, 0x9f, 0x9e, - 0x1f, 0x88, 0x10, 0xff, 0x74, 0xa3, 0x79, 0x00, 0x17, 0x75, 0xa6, 0xdd, 0x80, 0x8b, 0x1a, 0x2e, - 0x6a, 0xf0, 0x91, 0xd7, 0xf8, 0x48, 0xb3, 0xd5, 0xae, 0x77, 0xb4, 0x85, 0x67, 0x15, 0x6f, 0xb5, - 0xcf, 0x2c, 0x08, 0x6d, 0xcf, 0xd5, 0xda, 0xda, 0x56, 0xaf, 0xff, 0xd0, 0xde, 0xd6, 0xae, 0x7c, - 0x66, 0xda, 0x43, 0xdb, 0x4c, 0xcc, 0x4a, 0x5f, 0xdd, 0xb4, 0xb9, 0x2b, 0x96, 0x9c, 0x5a, 0x6d, - 0x0f, 0x14, 0x44, 0x10, 0x05, 0xa1, 0xdc, 0x23, 0xb0, 0x0e, 0xd2, 0x4f, 0xac, 0x29, 0x5b, 0xf2, - 0xbe, 0x78, 0x21, 0x7f, 0xe9, 0xb2, 0xde, 0x79, 0x58, 0x7d, 0x6d, 0xd6, 0x58, 0x97, 0x5a, 0xe4, - 0xba, 0xd1, 0xe8, 0x96, 0x05, 0x19, 0x7c, 0x5e, 0x4f, 0xe8, 0xf3, 0xa9, 0x8d, 0x35, 0x77, 0x64, - 0x66, 0xe4, 0x5e, 0xf3, 0x63, 0x59, 0x99, 0x5a, 0x1e, 0x86, 0xf6, 0x8c, 0x99, 0x0d, 0x33, 0x88, - 0xb1, 0xbc, 0xe2, 0x95, 0x8c, 0x89, 0x91, 0xc9, 0xce, 0x05, 0xe6, 0x35, 0xac, 0x95, 0xec, 0xc6, - 0x1f, 0xdb, 0x41, 0xb6, 0xcd, 0x36, 0x67, 0x27, 0x2c, 0xa7, 0x35, 0x63, 0xda, 0x4e, 0x3e, 0x83, - 0x46, 0xa3, 0x2a, 0x06, 0x8d, 0x21, 0x0c, 0x1a, 0x92, 0xae, 0x55, 0x31, 0x06, 0x8d, 0xac, 0xd7, - 0xed, 0x09, 0xf5, 0xe7, 0x0c, 0x54, 0x5b, 0x38, 0x75, 0xf9, 0x02, 0xd6, 0x9e, 0x26, 0x46, 0x10, - 0x84, 0x91, 0x36, 0x96, 0xe3, 0xe9, 0x63, 0x8a, 0xc7, 0x90, 0x63, 0x49, 0xb8, 0xc0, 0x91, 0x41, - 0x8b, 0x14, 0xcd, 0xb1, 0x34, 0x44, 0x8e, 0xa5, 0x97, 0xa7, 0x2d, 0x7f, 0xa4, 0xdc, 0x82, 0xd6, - 0x6f, 0x14, 0xba, 0x44, 0x44, 0xe9, 0x01, 0xd2, 0xf6, 0x1e, 0xef, 0x3c, 0xae, 0x7b, 0xa6, 0x6e, - 0x7a, 0x23, 0x3f, 0x60, 0x61, 0xc8, 0x2c, 0xdd, 0x61, 0xc6, 0x30, 0x6e, 0x7c, 0xbc, 0x11, 0x1e, - 0xf6, 0x93, 0x1f, 0x89, 0x5d, 0x31, 0xbb, 0x02, 0xa1, 0xc3, 0x3d, 0x9e, 0xa9, 0xb3, 0x1f, 0xbc, - 0xc3, 0x99, 0xc3, 0x46, 0x8c, 0x07, 0x8f, 0xba, 0xe7, 0xea, 0xe6, 0x7d, 0x62, 0xbe, 0x27, 0xc5, - 0x42, 0x89, 0xa6, 0x23, 0x04, 0x43, 0xb2, 0x71, 0xd0, 0xa0, 0x3a, 0xa9, 0x35, 0x9e, 0x38, 0xfa, - 0xce, 0x94, 0x93, 0x94, 0xd8, 0x91, 0x9c, 0xce, 0x43, 0x0f, 0xd8, 0x30, 0x3f, 0x09, 0x7b, 0xde, - 0x1c, 0xb8, 0x18, 0xb8, 0x18, 0xb8, 0x98, 0x70, 0x13, 0x08, 0xad, 0x29, 0x84, 0xe8, 0x1a, 0x82, - 0xb9, 0x80, 0xb9, 0xa8, 0xcd, 0x5c, 0xf2, 0x5e, 0xeb, 0x45, 0x1d, 0x4b, 0x77, 0x3c, 0x16, 0xf4, - 0x2d, 0xd5, 0xf1, 0xa0, 0x31, 0x57, 0x90, 0x5f, 0x7e, 0x11, 0x42, 0x40, 0x98, 0x30, 0x10, 0x25, - 0x14, 0x84, 0x0b, 0x07, 0xe1, 0x42, 0x42, 0xa4, 0xb0, 0xa0, 0x11, 0x1a, 0x44, 0xc2, 0x83, 0xde, - 0xfc, 0xb1, 0x70, 0x5a, 0x63, 0x4a, 0x9f, 0x1d, 0x64, 0xff, 0x56, 0xe3, 0xef, 0x13, 0xb6, 0xd9, - 0x4f, 0x29, 0x55, 0xbc, 0xcd, 0x9d, 0x39, 0x0a, 0xf5, 0xe2, 0x17, 0xd3, 0x9f, 0x93, 0x44, 0x82, - 0xa5, 0xda, 0x42, 0x62, 0xf3, 0x8c, 0x78, 0x33, 0x0d, 0xdd, 0x4d, 0xa0, 0x08, 0x4a, 0x0b, 0xa3, - 0x5b, 0x81, 0x0a, 0xf0, 0x59, 0xeb, 0xd0, 0x81, 0xd0, 0x81, 0xd0, 0x81, 0xd0, 0x81, 0xca, 0xea, - 0xc0, 0x2f, 0x4f, 0x3a, 0xf0, 0x7f, 0xcc, 0x28, 0x08, 0x98, 0xcb, 0xb7, 0xb6, 0x77, 0xde, 0xbd, - 0x7b, 0x32, 0x37, 0x0e, 0xa6, 0x1f, 0x99, 0x97, 0x7b, 0xe1, 0x2b, 0xbf, 0x4b, 0x5b, 0xb6, 0xd8, - 0x0f, 0xa8, 0xd3, 0xb2, 0xa8, 0xd3, 0x42, 0xf9, 0x6c, 0x6e, 0xaf, 0xc8, 0xec, 0x8b, 0xde, 0xc4, - 0x21, 0xcc, 0x4b, 0xb2, 0x44, 0x9a, 0x13, 0x78, 0x4b, 0x5e, 0x15, 0xe3, 0x45, 0x9b, 0x3c, 0x06, - 0x25, 0xf3, 0x44, 0x8a, 0xf1, 0xaa, 0x3c, 0x73, 0x32, 0xe4, 0xf2, 0xb1, 0xe4, 0x5f, 0xf5, 0x71, - 0xae, 0xcc, 0xe9, 0x06, 0x67, 0x74, 0x56, 0xdf, 0x49, 0x73, 0x25, 0x33, 0xfa, 0x36, 0x61, 0xf4, - 0x2d, 0x1e, 0xd3, 0xc2, 0xe8, 0xbb, 0xf2, 0x84, 0x60, 0xf4, 0x05, 0xe1, 0x05, 0xe1, 0x05, 0xe1, - 0x05, 0xe1, 0x95, 0x42, 0x78, 0xe9, 0x8d, 0xbe, 0xb0, 0x79, 0x42, 0x05, 0x40, 0x05, 0x40, 0x05, - 0x40, 0x05, 0x28, 0xa2, 0x02, 0x4a, 0x6d, 0xf3, 0x54, 0x9c, 0xcd, 0xa8, 0x68, 0xcf, 0xc9, 0xf0, - 0x5e, 0x97, 0xd0, 0x9c, 0xb3, 0xe9, 0x75, 0x01, 0x97, 0x6d, 0x8b, 0x8c, 0x0a, 0x81, 0x9f, 0xd2, - 0xbe, 0x6f, 0xd2, 0x3f, 0xba, 0x64, 0xc3, 0x32, 0x87, 0x4f, 0xe7, 0x33, 0xe1, 0x91, 0x98, 0xee, - 0xc8, 0xc2, 0xa5, 0x9b, 0x08, 0x97, 0x16, 0x07, 0xb5, 0x10, 0x2e, 0x4d, 0x66, 0x62, 0xc3, 0xd3, - 0xd5, 0x15, 0xbf, 0xf0, 0x74, 0x55, 0x1e, 0xf7, 0x83, 0x2f, 0x00, 0x4f, 0x57, 0xff, 0x7c, 0xda, - 0xca, 0xf7, 0x74, 0x15, 0x48, 0x99, 0x00, 0x29, 0xe7, 0xa0, 0x2c, 0x48, 0xdc, 0xb4, 0xc2, 0x02, - 0xd7, 0x32, 0x21, 0xf3, 0x75, 0x49, 0x87, 0xb0, 0x1c, 0x51, 0x6f, 0x08, 0x37, 0x2a, 0xeb, 0x06, - 0x11, 0x6e, 0xcc, 0x1a, 0xbb, 0xb1, 0xea, 0x2e, 0xac, 0xb6, 0xf4, 0x7f, 0x5e, 0xc8, 0x15, 0x16, - 0x71, 0x4d, 0xca, 0x96, 0x89, 0xa2, 0xad, 0x49, 0xc9, 0xd6, 0xa6, 0x60, 0x59, 0x90, 0xd0, 0x3c, - 0xe2, 0x89, 0xb7, 0x72, 0x9d, 0x5d, 0xcc, 0x88, 0x6d, 0x72, 0x63, 0x98, 0xdc, 0x58, 0xe5, 0x25, - 0x26, 0x49, 0x26, 0x5e, 0xd0, 0xc5, 0x5d, 0x97, 0xf6, 0xd4, 0x92, 0xc1, 0x66, 0xce, 0x14, 0xb7, - 0xe6, 0x1e, 0xe7, 0x00, 0xfc, 0x85, 0xe7, 0x88, 0xcb, 0x30, 0x55, 0x6d, 0x23, 0xb2, 0xc4, 0xad, - 0x77, 0xdc, 0xe5, 0x00, 0x8c, 0xcc, 0xa0, 0x7a, 0x2e, 0x07, 0x62, 0xb6, 0x7a, 0x3f, 0xa9, 0x54, - 0x3e, 0xcc, 0xf0, 0xd9, 0xe9, 0xb0, 0xb3, 0x11, 0x7b, 0xa2, 0xb4, 0xe3, 0x8d, 0x36, 0x41, 0xda, - 0xf1, 0x36, 0xd2, 0x8e, 0xbf, 0x68, 0x0c, 0x65, 0xb1, 0x73, 0x6d, 0x85, 0x88, 0x9c, 0xe3, 0xed, - 0xbd, 0xbd, 0x5d, 0xa4, 0x1b, 0x97, 0xf5, 0x69, 0xa9, 0xe9, 0xc6, 0x09, 0x64, 0x61, 0x38, 0xa9, - 0x91, 0x46, 0x50, 0xf1, 0xed, 0x40, 0x12, 0x67, 0x1f, 0x80, 0x5a, 0xfe, 0x91, 0x5a, 0xae, 0x61, - 0x44, 0x59, 0x81, 0x08, 0xbe, 0xc9, 0xb1, 0x20, 0xb5, 0x6e, 0x74, 0x17, 0xa3, 0xa8, 0xc4, 0xc5, - 0xf0, 0x67, 0x5d, 0xb7, 0x26, 0x91, 0x5c, 0x29, 0x26, 0x2e, 0x5e, 0x91, 0xce, 0xdc, 0xea, 0xac, - 0x4a, 0x3c, 0x8f, 0x59, 0x68, 0x06, 0xb6, 0x3f, 0xdd, 0xc3, 0x5a, 0xaf, 0xff, 0xd0, 0xd2, 0x8c, - 0x69, 0x05, 0xf0, 0xa1, 0x31, 0xb2, 0x9d, 0x47, 0xed, 0x59, 0x11, 0x70, 0x6d, 0xe8, 0x05, 0x5f, - 0xdd, 0xa7, 0xb1, 0x88, 0x26, 0xb8, 0x75, 0x39, 0x04, 0x77, 0xad, 0x7a, 0x3e, 0xd5, 0xa1, 0xb7, - 0xeb, 0xd4, 0xe3, 0x29, 0x98, 0xdc, 0xda, 0xfe, 0x43, 0x2b, 0x3b, 0xb9, 0x4d, 0x3e, 0xbd, 0x6e, - 0x82, 0xea, 0xe7, 0x57, 0xa3, 0x6f, 0x04, 0xc6, 0x88, 0x25, 0xc5, 0xce, 0x86, 0x5e, 0xa0, 0xf1, - 0x7b, 0xa6, 0xbd, 0x72, 0x5b, 0xde, 0x6d, 0x4a, 0x9a, 0x75, 0x1f, 0x04, 0x9a, 0xa8, 0xc0, 0xd5, - 0xb8, 0x58, 0x5d, 0x4f, 0x61, 0x23, 0x2d, 0xb7, 0x46, 0x6b, 0x43, 0xa3, 0x41, 0xa3, 0x95, 0x52, - 0xa3, 0xb5, 0x73, 0x69, 0xb4, 0xb6, 0x10, 0x8d, 0xd6, 0x86, 0x46, 0x83, 0x46, 0xab, 0xb8, 0x46, - 0xfb, 0xed, 0x5f, 0xfc, 0x21, 0x0a, 0x2a, 0x4b, 0xf9, 0xb3, 0xda, 0xf7, 0x7b, 0xe6, 0xae, 0x6c, - 0x07, 0xcd, 0x20, 0xf0, 0x9f, 0xe2, 0xe0, 0x27, 0x9a, 0x74, 0xa2, 0xe1, 0xa6, 0x3f, 0xf0, 0x47, - 0x9f, 0x69, 0xff, 0xa3, 0xfd, 0x1f, 0xdb, 0x70, 0x0d, 0x7b, 0xc8, 0x3b, 0xce, 0xae, 0xed, 0xc7, - 0x1a, 0xf5, 0xff, 0x48, 0xd6, 0x10, 0xc9, 0x22, 0x14, 0xa9, 0x1f, 0x32, 0xae, 0x92, 0x90, 0xe2, - 0x4e, 0xcf, 0x65, 0x71, 0x46, 0x25, 0xd0, 0x35, 0xb9, 0xfd, 0xc0, 0xb4, 0x78, 0x61, 0x13, 0xf1, - 0x9d, 0xa2, 0x18, 0xcd, 0x0e, 0x35, 0x43, 0x73, 0xbc, 0x3b, 0xdb, 0x34, 0x9c, 0xb9, 0x5f, 0xfb, - 0x81, 0xf7, 0x60, 0x5b, 0xb6, 0x7b, 0xf7, 0xd5, 0x3d, 0xdd, 0xd5, 0x62, 0x74, 0x65, 0xbb, 0x77, - 0x89, 0xf4, 0xff, 0x7c, 0xda, 0x3d, 0x5f, 0xb7, 0x58, 0x76, 0x1e, 0xe9, 0x37, 0x7f, 0x30, 0xac, - 0xb9, 0xb5, 0xc8, 0x20, 0x83, 0x29, 0x44, 0xdf, 0xb3, 0x73, 0x42, 0xbe, 0xac, 0x25, 0x97, 0x87, - 0x83, 0x7c, 0xc6, 0xaf, 0xf5, 0xac, 0x80, 0x34, 0xd6, 0xbf, 0xda, 0x4a, 0x81, 0x1b, 0x7f, 0x8a, - 0x25, 0xf9, 0xfd, 0xc6, 0x2c, 0x5f, 0xb8, 0xdf, 0x2c, 0xc9, 0x8a, 0xe1, 0x22, 0x6b, 0x85, 0x89, - 0xac, 0x08, 0xa9, 0x56, 0x0e, 0x0b, 0x59, 0x07, 0x32, 0xad, 0x1d, 0xf8, 0xba, 0xae, 0x50, 0xc8, - 0x0c, 0x81, 0x32, 0xdf, 0xfb, 0x2c, 0x81, 0xa7, 0xf9, 0xec, 0xc3, 0xab, 0x72, 0x83, 0x9a, 0x61, - 0x8d, 0x6c, 0x57, 0x8f, 0xcf, 0x44, 0x14, 0xae, 0x1f, 0x72, 0xf4, 0xec, 0xd3, 0xeb, 0xd1, 0xd8, - 0x7a, 0x59, 0x69, 0xec, 0x70, 0x33, 0x69, 0xec, 0xb0, 0x28, 0x1a, 0x7b, 0x66, 0xb8, 0x96, 0xc1, - 0xbd, 0xe0, 0x71, 0x0d, 0xdb, 0xc6, 0xda, 0x21, 0x1a, 0x73, 0x0f, 0x29, 0xa2, 0x11, 0x9b, 0xd8, - 0x61, 0xd6, 0xd9, 0xe7, 0x99, 0x3c, 0x6c, 0xad, 0xf1, 0x99, 0x13, 0x37, 0x1a, 0xad, 0x7f, 0x32, - 0xae, 0xbd, 0xab, 0x89, 0xf3, 0x30, 0x13, 0xc6, 0xa9, 0xc7, 0x73, 0xfc, 0xd4, 0xcf, 0x02, 0x6a, - 0x1a, 0xf1, 0x47, 0x8f, 0x2f, 0xfe, 0x73, 0x9e, 0xe5, 0xc3, 0xcd, 0xf8, 0xc3, 0xd7, 0x27, 0x57, - 0xd7, 0xbd, 0xf3, 0x8f, 0x35, 0xb1, 0xd1, 0x39, 0x5e, 0x2f, 0x39, 0xb4, 0x19, 0x16, 0x27, 0x99, - 0x5c, 0xa6, 0x67, 0x68, 0xe9, 0xd4, 0x32, 0xbd, 0x41, 0x8b, 0x37, 0xa4, 0xa3, 0xd5, 0x95, 0xf0, - 0xb0, 0xae, 0x9d, 0x82, 0x2f, 0xbb, 0xe0, 0x23, 0x4b, 0xa9, 0x97, 0x3f, 0x75, 0x5e, 0xc6, 0x14, - 0x79, 0x6b, 0x9c, 0xdd, 0xdc, 0xcb, 0xe4, 0xf9, 0x53, 0xb1, 0x65, 0x38, 0xca, 0x2c, 0xcf, 0x4a, - 0x7f, 0xb9, 0xe2, 0x1b, 0xb0, 0x3c, 0x45, 0xe0, 0x73, 0x14, 0x7d, 0xcf, 0x61, 0xe2, 0x4b, 0x0a, - 0x86, 0x1f, 0xb4, 0x77, 0x3b, 0xda, 0xf5, 0x3d, 0xd3, 0x52, 0x36, 0x10, 0x6a, 0x1f, 0x03, 0x2f, - 0xf2, 0xb5, 0xb3, 0xde, 0x7b, 0x4d, 0xd7, 0xec, 0x61, 0x37, 0xc6, 0x50, 0x57, 0xeb, 0x40, 0x28, - 0x51, 0xf6, 0xc0, 0xbc, 0x75, 0xd9, 0xc5, 0x98, 0x04, 0x33, 0x2c, 0x63, 0x69, 0xec, 0x87, 0x03, - 0x89, 0xaf, 0x06, 0x4c, 0x2f, 0x8a, 0xd7, 0x26, 0x03, 0x8a, 0x4f, 0x3f, 0x59, 0x11, 0x47, 0x14, - 0x10, 0xbc, 0x5c, 0xcc, 0xb0, 0xb6, 0x23, 0xca, 0x34, 0x82, 0xc0, 0x66, 0x81, 0xce, 0x03, 0xc3, - 0x0d, 0xed, 0x58, 0xa9, 0x85, 0xd9, 0x4d, 0x92, 0xaf, 0x35, 0xb6, 0x19, 0xaf, 0x0a, 0x50, 0x79, - 0x3e, 0xf7, 0x45, 0xc8, 0xa8, 0x00, 0xa4, 0xbf, 0x28, 0x98, 0x8a, 0xe8, 0x76, 0x2b, 0xc7, 0xab, - 0x82, 0x83, 0x0c, 0x1f, 0xcd, 0x17, 0x4f, 0x9f, 0x23, 0x92, 0x96, 0x22, 0x7e, 0x9e, 0x2a, 0x6e, - 0x9e, 0x3c, 0x40, 0x9b, 0x2e, 0x30, 0x3b, 0x4f, 0x72, 0x67, 0x8a, 0xb8, 0xf8, 0x74, 0x89, 0x1b, - 0x07, 0xad, 0x56, 0x7b, 0xbf, 0xd5, 0xaa, 0xef, 0xef, 0xee, 0xd7, 0x0f, 0xf7, 0xf6, 0x1a, 0xed, - 0xc6, 0x5e, 0x75, 0x57, 0xbd, 0x9c, 0x41, 0xd9, 0x6b, 0x4a, 0xa5, 0xcc, 0xd9, 0xf6, 0xf3, 0x2b, - 0x0e, 0xf2, 0x6c, 0xfa, 0x74, 0xd9, 0xf3, 0x73, 0x66, 0xcb, 0xcf, 0x70, 0x21, 0xc9, 0x96, 0x33, - 0xbb, 0x89, 0xa0, 0x7c, 0xcb, 0xf8, 0x46, 0xcc, 0x3d, 0x59, 0xc7, 0x61, 0x6e, 0xbb, 0xfa, 0x6d, - 0xe0, 0x19, 0x96, 0x69, 0x84, 0x5c, 0xf7, 0xbf, 0xf1, 0x1c, 0x18, 0x75, 0xb1, 0x29, 0x20, 0x54, - 0x20, 0x54, 0x20, 0x54, 0x20, 0x54, 0x20, 0x54, 0x20, 0x54, 0x20, 0xd4, 0x25, 0xcb, 0x91, 0xc3, - 0xe4, 0x9f, 0xb6, 0x91, 0xdd, 0xf4, 0x4f, 0x20, 0x23, 0xd6, 0x74, 0x05, 0xfc, 0x75, 0xd4, 0x73, - 0xdf, 0xcf, 0x70, 0x42, 0xff, 0x1b, 0x0f, 0xdf, 0x7d, 0x75, 0xe3, 0x8f, 0xb6, 0x9a, 0x87, 0xbb, - 0x1d, 0xed, 0xcc, 0x70, 0x8d, 0x3b, 0x16, 0xab, 0x11, 0xad, 0xe7, 0x0e, 0xbd, 0x60, 0x34, 0x79, - 0x4d, 0xf0, 0xde, 0x08, 0xd9, 0x2c, 0x9c, 0xfa, 0xab, 0x9b, 0xb4, 0xed, 0x32, 0xae, 0xf5, 0x03, - 0x8f, 0x7b, 0xa6, 0xe7, 0x68, 0x5b, 0xbd, 0xfe, 0xf6, 0xbb, 0x92, 0x25, 0xac, 0xcc, 0xeb, 0x69, - 0x20, 0xd7, 0xd0, 0xaf, 0x6a, 0xea, 0xe2, 0x77, 0xad, 0x6a, 0xf7, 0x5f, 0x14, 0x4e, 0xb7, 0xec, - 0xd0, 0x34, 0x02, 0x2b, 0x1f, 0x42, 0x4f, 0x1b, 0x01, 0x36, 0x07, 0x36, 0x07, 0x36, 0x07, 0x36, - 0x07, 0x36, 0x07, 0x36, 0x07, 0x36, 0x07, 0x36, 0x4f, 0x50, 0x5e, 0xcf, 0x3d, 0x9e, 0xe2, 0x03, - 0x80, 0x72, 0x05, 0x40, 0xb9, 0x88, 0xed, 0x02, 0x1a, 0x5f, 0x0d, 0x8d, 0xb3, 0x20, 0xf0, 0x82, - 0x7c, 0x58, 0x7c, 0xda, 0x04, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, - 0x38, 0x90, 0x38, 0x90, 0xf8, 0x14, 0xda, 0x9d, 0x24, 0xe8, 0x00, 0x38, 0x5c, 0x09, 0x1c, 0x4e, - 0xbd, 0x59, 0x40, 0xe1, 0xab, 0xa1, 0xf0, 0xa1, 0x19, 0x52, 0x20, 0xf1, 0xb9, 0x66, 0x80, 0xc6, - 0x81, 0xc6, 0x81, 0xc6, 0x81, 0xc6, 0x81, 0xc6, 0x81, 0xc6, 0x81, 0xc6, 0x97, 0x2c, 0x47, 0xf1, - 0x51, 0xd5, 0x08, 0x03, 0xa6, 0x86, 0x52, 0xa3, 0xc8, 0xe1, 0x36, 0x4d, 0x18, 0xf0, 0x8b, 0xa6, - 0x00, 0xa9, 0x00, 0xa9, 0x00, 0xa9, 0x00, 0xa9, 0x00, 0xa9, 0x00, 0xa9, 0x00, 0xa9, 0x60, 0xe0, - 0x4c, 0x03, 0x4a, 0xcf, 0x66, 0x38, 0x01, 0x61, 0xc0, 0x8a, 0x58, 0x3a, 0x05, 0xee, 0x1a, 0x4c, - 0x9e, 0xab, 0xe1, 0x74, 0xcf, 0xe4, 0x2c, 0x27, 0x3e, 0x9f, 0x36, 0x01, 0x5c, 0x0e, 0x5c, 0x0e, - 0x5c, 0x0e, 0x5c, 0x0e, 0x5c, 0x0e, 0x5c, 0x0e, 0x5c, 0x0e, 0x5c, 0x9e, 0x22, 0xbc, 0x8b, 0x04, - 0x1f, 0x00, 0x90, 0x2b, 0x02, 0xc8, 0xa9, 0xb7, 0x0b, 0x48, 0x7c, 0x35, 0x24, 0x9e, 0xdb, 0x4e, - 0x0e, 0xeb, 0x38, 0x50, 0x38, 0x50, 0x38, 0x50, 0x38, 0x50, 0x38, 0x50, 0x38, 0x50, 0xf8, 0x06, - 0xa1, 0xf0, 0xc6, 0x61, 0x47, 0xbb, 0x64, 0x23, 0x8f, 0x33, 0xed, 0x9c, 0xf1, 0xef, 0x5e, 0xf0, - 0x4d, 0x3b, 0xf3, 0x5c, 0x9b, 0x7b, 0x81, 0xed, 0xde, 0xfd, 0x0e, 0xbc, 0x01, 0x93, 0x17, 0x8f, - 0xc9, 0x4b, 0xb0, 0x79, 0x40, 0xe8, 0xab, 0x21, 0xf4, 0xc8, 0x25, 0x8a, 0x68, 0x79, 0xd6, 0x10, - 0x10, 0x3b, 0x10, 0x3b, 0x10, 0x3b, 0x10, 0x3b, 0x10, 0x3b, 0x10, 0x3b, 0x10, 0xfb, 0x66, 0x20, - 0xf6, 0x95, 0x0c, 0xb1, 0x9f, 0x10, 0xcb, 0x52, 0x1e, 0x98, 0x5e, 0xd4, 0x8e, 0x01, 0x9b, 0xaf, - 0x8a, 0xcd, 0xbf, 0xb9, 0xde, 0x77, 0x57, 0xf7, 0xe3, 0xe5, 0xcb, 0x8b, 0xce, 0x9f, 0x35, 0x05, - 0x7c, 0x0e, 0x7c, 0x0e, 0x7c, 0x0e, 0x7c, 0x0e, 0x7c, 0x0e, 0x7c, 0x0e, 0x7c, 0xbe, 0x64, 0x39, - 0xf0, 0x84, 0x6f, 0xa9, 0x16, 0x11, 0xfe, 0x84, 0x0f, 0x54, 0xea, 0x0f, 0xe9, 0x34, 0x3e, 0x4d, - 0x00, 0x5d, 0x3f, 0x0b, 0x9e, 0x03, 0x07, 0xca, 0xb1, 0xd4, 0x20, 0x2f, 0x2b, 0xac, 0xb3, 0x63, - 0x84, 0x5c, 0x37, 0x1d, 0x66, 0x04, 0xd9, 0x59, 0xcb, 0x5c, 0x1b, 0xa0, 0x2b, 0xa0, 0x2b, 0x95, - 0xa2, 0x2b, 0xdc, 0x1e, 0x31, 0x6e, 0x9b, 0xdf, 0x42, 0xe9, 0x84, 0xe5, 0x93, 0x3b, 0xc1, 0x8a, - 0x35, 0xd7, 0x70, 0xbd, 0x90, 0x99, 0x9e, 0x6b, 0x65, 0xaa, 0x37, 0x0d, 0xe2, 0x03, 0xe2, 0x03, - 0xe2, 0x03, 0xe2, 0x23, 0x86, 0xf8, 0x54, 0xb1, 0x22, 0x64, 0x09, 0x72, 0x98, 0x78, 0x11, 0x27, - 0xab, 0x65, 0xf8, 0x4a, 0x5b, 0x80, 0x69, 0x80, 0x69, 0x95, 0x82, 0x69, 0xb0, 0x2a, 0x03, 0x5c, - 0x01, 0x5c, 0x01, 0x5c, 0x51, 0x4a, 0xa5, 0xcd, 0x8b, 0xfa, 0xb8, 0x88, 0x38, 0xaa, 0x19, 0xaa, - 0x66, 0xf6, 0x14, 0xb9, 0x6d, 0x30, 0xa1, 0xae, 0x88, 0xd5, 0xf3, 0xd7, 0x33, 0x7c, 0xd6, 0x0a, - 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x39, 0xf0, 0x79, - 0x02, 0xf4, 0x2e, 0x22, 0x8e, 0x8a, 0x86, 0x0a, 0x01, 0x73, 0x21, 0xfb, 0x05, 0x44, 0xbe, 0x22, - 0x22, 0xcf, 0x5b, 0x49, 0x65, 0xae, 0x0d, 0xa0, 0x71, 0xa0, 0x71, 0xa0, 0x71, 0xa0, 0x71, 0xa0, - 0x71, 0xa0, 0x71, 0xa0, 0x71, 0xa0, 0xf1, 0x19, 0xba, 0x43, 0x55, 0x43, 0x95, 0xb0, 0x38, 0xca, - 0x1a, 0x16, 0x84, 0xc4, 0xa9, 0x8a, 0xf1, 0xbc, 0xd2, 0x16, 0x90, 0x39, 0x90, 0x39, 0x90, 0x39, - 0x90, 0x39, 0x90, 0x39, 0x90, 0x39, 0x90, 0x39, 0x90, 0xf9, 0x53, 0x40, 0x04, 0xca, 0xf1, 0xa8, - 0x06, 0xd1, 0x45, 0x6e, 0x1b, 0xb0, 0xfa, 0x8a, 0x58, 0x3d, 0x6f, 0x41, 0x9e, 0xb9, 0x36, 0x80, - 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x81, 0xcd, 0x9f, - 0x40, 0x1e, 0x4a, 0xf2, 0xa8, 0x05, 0xca, 0x51, 0x93, 0xa7, 0x20, 0x34, 0x9e, 0xdf, 0x5e, 0x0e, - 0x2b, 0x39, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, 0x38, 0x90, 0xf8, 0x06, 0x21, - 0x71, 0x54, 0xe5, 0x41, 0x55, 0x1e, 0x60, 0x74, 0x09, 0x18, 0x9d, 0xa6, 0x2c, 0xcf, 0x42, 0x4b, - 0xc0, 0xec, 0xc0, 0xec, 0xc0, 0xec, 0xc0, 0xec, 0xc0, 0xec, 0xc0, 0xec, 0xc0, 0xec, 0x9b, 0x81, - 0xd9, 0x57, 0xb3, 0xc6, 0xa2, 0x30, 0x4f, 0x89, 0x90, 0x7a, 0x61, 0x5b, 0x06, 0x7c, 0xbe, 0xd2, - 0xdd, 0x0e, 0x73, 0x45, 0xb3, 0x4c, 0x3f, 0x0f, 0x2c, 0x0e, 0x2c, 0x0e, 0x2c, 0x0e, 0x2c, 0x0e, - 0x2c, 0x0e, 0x2c, 0x0e, 0x2c, 0xbe, 0x64, 0x39, 0x90, 0x8a, 0xfa, 0x8f, 0xda, 0x24, 0x83, 0x22, - 0x79, 0x8b, 0x92, 0x46, 0x5a, 0x89, 0x33, 0x7a, 0xbf, 0x21, 0xdc, 0xc4, 0x5a, 0xd7, 0x75, 0x3d, - 0x9e, 0xac, 0xf8, 0x5a, 0x82, 0xb4, 0x16, 0x9a, 0xf7, 0x6c, 0x64, 0xf8, 0x06, 0xbf, 0x8f, 0x57, - 0x67, 0xc7, 0xf3, 0x99, 0x6b, 0x26, 0x58, 0x52, 0xb7, 0x53, 0x56, 0xb2, 0xf3, 0xda, 0xb7, 0x3b, - 0x21, 0x37, 0x38, 0xdb, 0x99, 0xa2, 0x81, 0x75, 0x70, 0x6e, 0x2d, 0xe4, 0x41, 0x64, 0x72, 0x77, - 0x8a, 0x27, 0x52, 0xf6, 0x73, 0x73, 0x34, 0x6b, 0xeb, 0x0d, 0xcd, 0xfa, 0xad, 0xb0, 0x76, 0x35, - 0xd3, 0x8f, 0x56, 0x5e, 0xb0, 0x27, 0x08, 0xe4, 0x47, 0x2b, 0xce, 0x77, 0x4d, 0x3c, 0xbf, 0x36, - 0x8e, 0xcf, 0x82, 0xdf, 0x33, 0xe3, 0xf6, 0xac, 0x78, 0x3d, 0x37, 0x4e, 0xcf, 0x8d, 0xcf, 0xf3, - 0xe0, 0x72, 0xda, 0x7b, 0xba, 0x36, 0xfe, 0x4e, 0x77, 0xeb, 0xd6, 0xf3, 0x1c, 0x66, 0xb8, 0xeb, - 0xec, 0xd7, 0xf4, 0xf0, 0x35, 0x1a, 0xa4, 0x53, 0x58, 0x5b, 0x59, 0x67, 0x3f, 0x2d, 0x64, 0xca, - 0x39, 0xbf, 0x36, 0xc9, 0xa8, 0x45, 0xd6, 0x50, 0xc2, 0xb9, 0x97, 0x29, 0xbb, 0xd2, 0x2d, 0x6e, - 0x79, 0xde, 0xd0, 0x28, 0xd5, 0x55, 0x44, 0xbd, 0xc5, 0x42, 0x33, 0xb0, 0xfd, 0xb5, 0x74, 0x64, - 0x7a, 0xfb, 0xe6, 0x3f, 0x0c, 0xd1, 0x0f, 0xd1, 0x2f, 0x55, 0xf4, 0x87, 0x3c, 0xb0, 0xdd, 0xbb, - 0x2c, 0x92, 0xff, 0x80, 0x74, 0x06, 0x39, 0x5c, 0x26, 0x39, 0x5c, 0x25, 0x39, 0x6c, 0x55, 0x2b, - 0xda, 0xd9, 0xbb, 0x8e, 0x6d, 0x84, 0x05, 0x1b, 0x30, 0xf3, 0x3a, 0x2e, 0xc4, 0xd8, 0x30, 0xd7, - 0x5a, 0x40, 0xd1, 0xa6, 0xce, 0x37, 0xb4, 0x24, 0x8c, 0x86, 0x40, 0x30, 0x37, 0xbe, 0x0b, 0xd6, - 0xfa, 0x1a, 0x65, 0xf6, 0xc1, 0x15, 0xef, 0xde, 0x31, 0x1b, 0x1a, 0x91, 0xc3, 0xd7, 0xba, 0x3d, - 0xb5, 0xf8, 0x14, 0xac, 0xb6, 0x2d, 0x03, 0x28, 0x35, 0x28, 0xb5, 0xcd, 0xe4, 0x33, 0x95, 0xd5, - 0x6a, 0xd6, 0xc8, 0x76, 0xaf, 0xb8, 0xc1, 0x23, 0xe8, 0xb6, 0x3c, 0xba, 0x6d, 0x6e, 0x19, 0x37, - 0x52, 0xc3, 0xd9, 0x43, 0xdb, 0xb5, 0xd8, 0x8f, 0xf5, 0x35, 0xdc, 0xec, 0x83, 0x50, 0x2d, 0x50, - 0x2d, 0x52, 0x55, 0x4b, 0x64, 0xbb, 0x7c, 0xb7, 0x99, 0x41, 0xb3, 0xec, 0xaf, 0xf1, 0x91, 0x6c, - 0xfe, 0xe8, 0x0c, 0x62, 0x3f, 0x8f, 0xff, 0x39, 0xaf, 0xdf, 0x99, 0xcc, 0xf3, 0x99, 0xdf, 0xe3, - 0x99, 0xc1, 0x9d, 0x95, 0xcb, 0xaf, 0x9c, 0x2e, 0x5d, 0xab, 0x79, 0xd8, 0x3a, 0x6c, 0xef, 0x37, - 0x0f, 0xf7, 0xd4, 0x5f, 0xc3, 0x62, 0xd5, 0x11, 0x0c, 0xcc, 0x30, 0x30, 0x97, 0xd3, 0xc0, 0x5c, - 0x75, 0xaa, 0xa0, 0xe9, 0x4b, 0x41, 0x2e, 0xb8, 0xc1, 0x6f, 0xb8, 0xc1, 0xef, 0xd6, 0x6d, 0x23, - 0xc9, 0x80, 0x63, 0x84, 0x7c, 0x26, 0x21, 0xd7, 0x26, 0x04, 0xf3, 0x1f, 0x06, 0x29, 0x00, 0x29, - 0x90, 0x4a, 0x0a, 0xb8, 0x3d, 0x62, 0xdc, 0x36, 0xbf, 0x85, 0x6b, 0x45, 0xae, 0x66, 0x88, 0x58, - 0xad, 0x7d, 0x72, 0x27, 0x30, 0xaf, 0xe6, 0x1a, 0xae, 0x17, 0x32, 0xd3, 0x73, 0xd7, 0xaa, 0xca, - 0x09, 0x66, 0xb1, 0x29, 0xcc, 0x82, 0x2e, 0x52, 0x15, 0x1c, 0x03, 0x1c, 0x03, 0x1c, 0x63, 0x03, - 0x82, 0x58, 0x1c, 0xef, 0xce, 0x36, 0x0d, 0x27, 0x03, 0xf6, 0x9a, 0x7e, 0x10, 0xb8, 0x0b, 0xb8, - 0x4b, 0x2a, 0xee, 0x42, 0xdc, 0x22, 0x44, 0x3e, 0x44, 0x7e, 0x2e, 0x91, 0xef, 0xf9, 0xb7, 0x86, - 0xf9, 0x4d, 0x1f, 0x79, 0x56, 0x16, 0xd2, 0xfd, 0xec, 0xe3, 0x10, 0xff, 0x10, 0xff, 0x52, 0xc5, - 0xff, 0xb3, 0xe3, 0xa7, 0xf3, 0xb8, 0x9d, 0x0c, 0x9a, 0xa0, 0xb5, 0xc6, 0x67, 0x4e, 0xdc, 0x68, - 0xb4, 0xfe, 0x66, 0x5f, 0x7b, 0x57, 0x93, 0x28, 0xcb, 0x4c, 0x8f, 0x63, 0xeb, 0xf1, 0x54, 0xcf, - 0x2f, 0xce, 0x4f, 0xb2, 0x58, 0x53, 0x1b, 0xf1, 0x87, 0x3f, 0x74, 0x8f, 0x7a, 0xa7, 0xbd, 0xeb, - 0x7f, 0xb2, 0x34, 0xd0, 0x8c, 0x1b, 0xb8, 0x3e, 0xb9, 0x3c, 0xeb, 0x9d, 0x77, 0x4f, 0xb3, 0x34, - 0xb0, 0x1b, 0x37, 0xd0, 0xbd, 0xea, 0x1d, 0xdd, 0xf4, 0xff, 0xfa, 0xe7, 0xe6, 0xf4, 0xe2, 0x28, - 0x5b, 0x33, 0xad, 0x67, 0xcd, 0x5c, 0x9e, 0x9c, 0x5d, 0x5c, 0x67, 0x5a, 0x90, 0xbd, 0xb4, 0x9d, - 0xb3, 0xee, 0x51, 0xf6, 0xe1, 0xb4, 0x9f, 0x35, 0x33, 0x1d, 0x8e, 0xd8, 0xd7, 0xd5, 0x5e, 0x2f, - 0xb9, 0xac, 0x19, 0x4e, 0xd0, 0x8b, 0xe9, 0x76, 0xb4, 0x0c, 0x96, 0x80, 0x85, 0xc9, 0x76, 0xb4, - 0x76, 0xd6, 0x56, 0x9e, 0x0e, 0x42, 0x47, 0xdb, 0xcd, 0xd3, 0x48, 0x3a, 0x94, 0x56, 0x86, 0x56, - 0xd2, 0x5b, 0xd1, 0xd1, 0x1a, 0x19, 0x3e, 0x9e, 0xdc, 0xc8, 0x4c, 0xb6, 0x90, 0xa7, 0xeb, 0xd4, - 0xd1, 0x9a, 0x25, 0xc8, 0x46, 0xf1, 0x14, 0xfe, 0xb9, 0xae, 0x98, 0x89, 0xb5, 0xd0, 0xd3, 0xa7, - 0x63, 0x25, 0x24, 0xd1, 0x5d, 0x30, 0x4a, 0xd3, 0x94, 0xac, 0x0f, 0x5c, 0xe6, 0x3e, 0x0b, 0xd4, - 0x02, 0xd4, 0x02, 0xd2, 0x0a, 0xd2, 0x0a, 0xd2, 0xaa, 0x0a, 0x69, 0x1d, 0xf1, 0x0c, 0xef, 0xaa, - 0xe3, 0x0f, 0x41, 0xd4, 0x43, 0xd4, 0x4b, 0x15, 0xf5, 0x91, 0xed, 0xf2, 0x46, 0x3b, 0x83, 0xa4, - 0x6f, 0xc3, 0xa5, 0xfb, 0x12, 0xad, 0xc3, 0xa5, 0xdb, 0xde, 0xdb, 0xdb, 0x85, 0x0f, 0x37, 0xbb, - 0x6e, 0xa1, 0xa3, 0x1e, 0xd3, 0xfc, 0x22, 0x6b, 0xaa, 0xa0, 0xe4, 0x53, 0xd0, 0x41, 0xd0, 0x41, - 0x52, 0x75, 0x90, 0xf0, 0x07, 0xde, 0x24, 0x37, 0x2a, 0x86, 0xbc, 0x7a, 0x38, 0x79, 0x09, 0xb5, - 0xf6, 0xc5, 0x9a, 0xff, 0x30, 0xee, 0x17, 0xee, 0x57, 0x86, 0xfb, 0x75, 0x66, 0xb8, 0x96, 0xc1, - 0xbd, 0xe0, 0x71, 0x75, 0x6b, 0x60, 0x8e, 0x3b, 0xc9, 0xdc, 0x68, 0x34, 0xa5, 0x78, 0x55, 0xf4, - 0x58, 0x24, 0x4e, 0x87, 0x4f, 0xfd, 0xcc, 0xee, 0x86, 0xe3, 0x8b, 0xff, 0x9c, 0x67, 0x76, 0x35, - 0x5c, 0x9f, 0x5c, 0x5d, 0xf7, 0xce, 0x3f, 0x66, 0xf6, 0x31, 0x7c, 0x3a, 0xff, 0xf7, 0x79, 0xc6, - 0xfe, 0xf7, 0x26, 0x83, 0xbf, 0x3c, 0xeb, 0x9e, 0x5f, 0x67, 0x76, 0x2a, 0x9c, 0x5f, 0x5c, 0xdf, - 0xf4, 0x2f, 0x4f, 0xae, 0x4e, 0xb2, 0xb5, 0xb1, 0x1f, 0xb7, 0x71, 0x7a, 0xf1, 0x9f, 0x93, 0xcb, - 0x9b, 0xd3, 0xee, 0x3f, 0x27, 0x97, 0x37, 0xc9, 0x62, 0x96, 0xd5, 0x33, 0x31, 0x5b, 0xac, 0x6c, - 0x2e, 0x89, 0x64, 0x6a, 0x1d, 0xad, 0x99, 0xe1, 0xa3, 0x0b, 0x2b, 0xb4, 0xd6, 0x03, 0xbd, 0xa7, - 0x0b, 0x3d, 0xb7, 0x59, 0xd9, 0x1c, 0x22, 0xb3, 0xe3, 0x9a, 0xcd, 0x13, 0x32, 0x3b, 0xac, 0xd9, - 0x3c, 0x20, 0x9f, 0xfa, 0xb1, 0x34, 0x11, 0xe5, 0x81, 0x80, 0xad, 0x12, 0xb6, 0x4a, 0x95, 0x6d, - 0x95, 0x1b, 0x9e, 0xe2, 0xe1, 0xc2, 0x67, 0x01, 0x32, 0x3c, 0x2c, 0x3d, 0x6e, 0xeb, 0xaf, 0xe2, - 0x46, 0x5a, 0x4a, 0xb8, 0x6f, 0x67, 0xc8, 0x5f, 0x94, 0x7c, 0x4a, 0x64, 0xf2, 0x22, 0xcf, 0xd4, - 0x1f, 0x1c, 0xc3, 0x4d, 0x62, 0x86, 0xc2, 0xce, 0x75, 0xbf, 0x77, 0x7c, 0x53, 0xff, 0xfb, 0xa0, - 0x51, 0xaf, 0x6f, 0x54, 0x46, 0xa3, 0x78, 0x09, 0x36, 0x92, 0x67, 0x26, 0x13, 0x57, 0xce, 0x92, - 0x63, 0x5b, 0xcc, 0xe5, 0x36, 0x7f, 0x0c, 0xd8, 0x30, 0x0b, 0x6b, 0x5c, 0x03, 0x61, 0xd7, 0x7a, - 0xd3, 0xae, 0xde, 0x1b, 0x21, 0xcb, 0x5e, 0xa6, 0x24, 0xb9, 0x57, 0xd7, 0xff, 0xf4, 0x4f, 0xae, - 0xd6, 0xdd, 0xf0, 0xc4, 0xe4, 0x2d, 0x35, 0x6d, 0xfb, 0xb3, 0x31, 0xaf, 0x23, 0x0b, 0x72, 0x30, - 0x27, 0xc2, 0xe1, 0x1e, 0x74, 0x0f, 0x14, 0x1a, 0xee, 0xa1, 0x5a, 0xab, 0x7b, 0xd8, 0x54, 0x68, - 0xb8, 0xdd, 0xf3, 0x7f, 0x94, 0x4b, 0x44, 0x4f, 0x03, 0x35, 0xd6, 0x11, 0xac, 0x4f, 0x50, 0x63, - 0xf5, 0xa8, 0x61, 0x18, 0x8d, 0x61, 0x34, 0x2e, 0xd0, 0x68, 0xac, 0x9c, 0xfa, 0x4f, 0xeb, 0x39, - 0xac, 0x1b, 0x9a, 0x5f, 0x30, 0x04, 0x30, 0x1a, 0xcd, 0x33, 0xdf, 0xbf, 0xfa, 0x6e, 0x73, 0xf3, - 0x5e, 0x05, 0xb1, 0x6f, 0x18, 0x4e, 0x53, 0x91, 0x71, 0xee, 0x29, 0x31, 0x4e, 0x93, 0x33, 0xc7, - 0x0e, 0xcf, 0x18, 0x37, 0x4e, 0x2f, 0x2e, 0xfa, 0x4a, 0x0c, 0xd9, 0x0a, 0x1d, 0x55, 0xc6, 0xd9, - 0x54, 0x66, 0xa0, 0xbe, 0x93, 0xc9, 0x6c, 0x23, 0x7f, 0xb0, 0x43, 0xc7, 0x70, 0xd9, 0x41, 0xbd, - 0xb9, 0xab, 0xd4, 0x68, 0xd5, 0x10, 0x06, 0x4e, 0x74, 0x72, 0xda, 0x57, 0x65, 0xa4, 0xbe, 0xe7, - 0x2a, 0x34, 0xd4, 0xd3, 0x49, 0xde, 0x80, 0x53, 0xdb, 0xfd, 0xa6, 0xd0, 0xa8, 0x2f, 0xdc, 0x48, - 0xa1, 0xd1, 0xf6, 0xef, 0x1f, 0xc3, 0x78, 0x91, 0x3f, 0xb9, 0xb6, 0x22, 0xa3, 0xfe, 0xa8, 0xd4, - 0x1a, 0x7f, 0x54, 0x70, 0x8d, 0x03, 0xc3, 0x57, 0x63, 0x9c, 0xa6, 0xcb, 0xb8, 0x3a, 0x23, 0xed, - 0xab, 0x02, 0x17, 0xc2, 0x47, 0xd7, 0x54, 0x62, 0xa0, 0x7c, 0xa4, 0xc8, 0x30, 0x8f, 0x7f, 0xd8, - 0x8a, 0x8c, 0xf4, 0x43, 0xe4, 0xaa, 0x32, 0xd4, 0xde, 0xc8, 0x50, 0x64, 0xa4, 0x53, 0x20, 0xa3, - 0xc8, 0x68, 0x2f, 0x0d, 0xcb, 0xf6, 0x14, 0x19, 0xeb, 0x55, 0x74, 0x9b, 0xfa, 0xd6, 0x15, 0x19, - 0xf2, 0x67, 0xd3, 0x3e, 0x71, 0xad, 0x3e, 0x57, 0x65, 0xb8, 0x76, 0xc0, 0x23, 0x65, 0xce, 0xee, - 0xad, 0xe7, 0x5a, 0x4a, 0x0c, 0xf5, 0xc1, 0x36, 0xed, 0x0b, 0x9f, 0xc7, 0x62, 0xe1, 0x84, 0xdf, - 0xb3, 0x40, 0x85, 0x41, 0xdf, 0x1a, 0xa1, 0x6d, 0xf6, 0xae, 0x8e, 0xcf, 0x95, 0x18, 0xec, 0x9d, - 0xef, 0x7b, 0x8e, 0x6d, 0x3e, 0x1a, 0x66, 0x52, 0x28, 0xd8, 0x76, 0xef, 0x94, 0x18, 0xb6, 0xcd, - 0x95, 0x00, 0x89, 0xb7, 0x81, 0x6d, 0xdd, 0x29, 0x21, 0x72, 0x6f, 0x43, 0x25, 0xc0, 0xac, 0x69, - 0xdc, 0x3a, 0xec, 0xd8, 0xfb, 0xee, 0x86, 0x3c, 0x60, 0xc6, 0xe8, 0x72, 0xd8, 0xf7, 0x02, 0xae, - 0xc6, 0xc0, 0xfd, 0xef, 0x86, 0x7f, 0xec, 0xf1, 0x46, 0xe3, 0x7d, 0x18, 0x2a, 0x36, 0xe2, 0x7e, - 0xe0, 0x0d, 0x6d, 0x87, 0xa9, 0x33, 0xea, 0xff, 0x70, 0x7f, 0xaa, 0x91, 0x95, 0x81, 0x69, 0xe6, - 0xad, 0xf3, 0x99, 0x99, 0xdc, 0xb8, 0xe2, 0x86, 0x12, 0x6a, 0xce, 0x34, 0xf9, 0xc9, 0x28, 0x52, - 0x02, 0xf1, 0x98, 0x4c, 0x8d, 0x0b, 0x77, 0x6f, 0xb8, 0x2e, 0x53, 0x63, 0x45, 0xed, 0xd0, 0xf4, - 0x7a, 0x57, 0xa7, 0xeb, 0x85, 0x00, 0x16, 0x38, 0x5e, 0x57, 0x8d, 0x3b, 0xe5, 0x0d, 0x87, 0x4c, - 0x0d, 0x31, 0xeb, 0x8d, 0x7c, 0x2f, 0xb4, 0x39, 0x53, 0xc5, 0xed, 0x60, 0x99, 0x4a, 0x1c, 0x54, - 0xcb, 0x72, 0xff, 0x56, 0xc3, 0xa5, 0x67, 0xd9, 0x77, 0x36, 0x37, 0x9c, 0xbe, 0xf7, 0x9d, 0x05, - 0x8e, 0xed, 0x32, 0x85, 0xc6, 0xfc, 0x9f, 0xc0, 0xf0, 0x7d, 0x16, 0x5c, 0x3c, 0xb0, 0xe0, 0x9e, - 0x19, 0xd6, 0x91, 0x3a, 0x72, 0xd7, 0x72, 0xc2, 0xef, 0x4a, 0x8c, 0xd3, 0x33, 0xc3, 0xa3, 0xe7, - 0x50, 0x5d, 0xa9, 0x61, 0x9f, 0x1d, 0x8d, 0x78, 0xa8, 0xea, 0xd8, 0x0d, 0xd3, 0x31, 0x1e, 0xd5, - 0xb0, 0x95, 0xa4, 0x83, 0x3e, 0xb7, 0x86, 0x8a, 0x8d, 0x57, 0xad, 0xf5, 0xbd, 0x32, 0x39, 0xdb, - 0xdb, 0xb3, 0x1a, 0x1f, 0xbe, 0x5b, 0x17, 0xde, 0xad, 0x92, 0x43, 0xbf, 0x64, 0x5c, 0xd1, 0xa1, - 0x37, 0x8f, 0x43, 0x55, 0x47, 0xfe, 0x49, 0xb9, 0x91, 0x7f, 0xf2, 0x15, 0x94, 0xd9, 0xb3, 0x41, - 0xab, 0x04, 0x45, 0x5e, 0x8e, 0x5d, 0x1d, 0x5b, 0x5c, 0x3c, 0xf4, 0x8b, 0xa1, 0x35, 0x52, 0x4f, - 0xc1, 0xc7, 0xa3, 0x36, 0x94, 0x3a, 0xe1, 0x61, 0x5d, 0x91, 0x61, 0xbe, 0x8f, 0x5c, 0x4b, 0x0d, - 0x13, 0xa7, 0x15, 0x36, 0x14, 0x19, 0xe6, 0x87, 0xe3, 0x53, 0x35, 0x46, 0xaa, 0x44, 0xc8, 0xaf, - 0xa5, 0x46, 0x20, 0x8f, 0xf5, 0x70, 0xdb, 0x0d, 0xed, 0x9e, 0xab, 0xce, 0x58, 0x2f, 0x22, 0xae, - 0xc8, 0x60, 0x2f, 0x4d, 0x53, 0x31, 0xa5, 0x95, 0x8c, 0xf9, 0xcc, 0x30, 0x4f, 0x95, 0xa1, 0xa4, - 0xc9, 0x88, 0x95, 0xd2, 0xb1, 0xf1, 0x88, 0x43, 0xe5, 0xd6, 0x38, 0xbc, 0xb6, 0xd4, 0x08, 0x4d, - 0xb3, 0x1e, 0x6e, 0xaf, 0x2d, 0x25, 0x4e, 0x02, 0x53, 0x02, 0x18, 0x30, 0xd3, 0x53, 0x24, 0x22, - 0x99, 0xa9, 0xf1, 0x10, 0x84, 0xf9, 0x4e, 0xa0, 0x84, 0x87, 0x93, 0x85, 0xa6, 0x22, 0x2b, 0xca, - 0xef, 0x59, 0xe0, 0x32, 0xbe, 0x7b, 0x76, 0x6b, 0x73, 0x95, 0x06, 0x7c, 0x14, 0x8e, 0x0c, 0x53, - 0x89, 0xd8, 0xbe, 0xa1, 0x11, 0x72, 0x55, 0xc6, 0xa9, 0x4c, 0xec, 0x61, 0x3a, 0xd8, 0x0f, 0x7f, - 0xab, 0x32, 0x5c, 0x45, 0xde, 0xdc, 0x0e, 0x4d, 0xdb, 0x57, 0xc5, 0xd7, 0x3d, 0xb4, 0x2c, 0x25, - 0x5e, 0x27, 0x0c, 0xed, 0xdb, 0x80, 0x29, 0x64, 0xf2, 0x1c, 0x06, 0xc7, 0x8e, 0x42, 0x61, 0xe9, - 0xc3, 0xe0, 0x83, 0x17, 0x7c, 0x37, 0x02, 0x35, 0xd4, 0x41, 0x60, 0x8c, 0xd8, 0x25, 0x73, 0x8c, - 0x47, 0xb5, 0x46, 0x9b, 0xbc, 0xab, 0x30, 0x3d, 0xd7, 0x65, 0x26, 0x57, 0x6b, 0xe4, 0x67, 0xfd, - 0x9e, 0x5a, 0x03, 0xbe, 0x62, 0xc1, 0x83, 0xad, 0xc6, 0x03, 0x96, 0x61, 0x30, 0x6c, 0xb4, 0xcf, - 0x86, 0x81, 0x3a, 0x46, 0xe5, 0xbb, 0xfd, 0xfa, 0xae, 0xc1, 0x9b, 0xa3, 0x5b, 0x75, 0x06, 0xdb, - 0x6e, 0x29, 0xa1, 0x8d, 0xef, 0x0e, 0x0f, 0x0f, 0x1a, 0xaa, 0x0c, 0xb4, 0xa9, 0xca, 0x40, 0x95, - 0xb0, 0xd8, 0xdf, 0xa9, 0x42, 0x72, 0xee, 0x86, 0x4a, 0xbc, 0x65, 0xbf, 0xb3, 0xef, 0x8c, 0x5b, - 0x7b, 0xc2, 0x70, 0x14, 0x31, 0x21, 0xdd, 0x29, 0x92, 0x4c, 0xe4, 0x2e, 0xd8, 0xad, 0xef, 0xf6, - 0x8e, 0xaf, 0x95, 0x19, 0xeb, 0xa5, 0x22, 0x63, 0xe5, 0x4a, 0xdc, 0xac, 0xfb, 0xdd, 0xe6, 0xee, - 0x47, 0x83, 0xb3, 0x6f, 0x8c, 0xf9, 0x6a, 0x98, 0x3a, 0xe2, 0x11, 0xf7, 0x03, 0xef, 0x87, 0x12, - 0x7c, 0xe1, 0xde, 0xba, 0x6f, 0x1c, 0x34, 0x9b, 0x6a, 0x0c, 0xd5, 0x31, 0xd5, 0x18, 0xa7, 0x22, - 0x49, 0xd0, 0xee, 0x6d, 0x9f, 0x05, 0x8e, 0xe1, 0xaa, 0x32, 0x58, 0xdf, 0x56, 0x66, 0xa0, 0x4a, - 0x25, 0x35, 0xb8, 0xf7, 0x46, 0xcc, 0x77, 0x0d, 0x35, 0x86, 0x1a, 0xf2, 0xbe, 0xa1, 0x84, 0xdd, - 0xe8, 0x3e, 0x0c, 0xd5, 0x38, 0xaf, 0x8f, 0x3e, 0x0b, 0x14, 0x7a, 0xe1, 0x67, 0x1b, 0xae, 0xa1, - 0xe7, 0xca, 0x3d, 0x9b, 0x36, 0x99, 0x23, 0x07, 0x6d, 0xbe, 0xc9, 0x2c, 0x4c, 0x2a, 0x5f, 0x4e, - 0xda, 0x1c, 0x9b, 0x41, 0x3d, 0x8f, 0x4c, 0xb9, 0x6a, 0x4b, 0x35, 0xfe, 0x3d, 0xa5, 0xc7, 0x9f, - 0x37, 0xb7, 0x6d, 0x89, 0xa6, 0x92, 0xc9, 0xff, 0x56, 0xae, 0xf1, 0x37, 0x95, 0x9f, 0x40, 0xb6, - 0x1c, 0xb9, 0x25, 0x9a, 0x44, 0x8e, 0xdc, 0xb9, 0x25, 0x9c, 0x85, 0xda, 0xc2, 0x29, 0x63, 0xae, - 0xdd, 0x72, 0xcd, 0x20, 0x93, 0xd9, 0xac, 0x74, 0x53, 0xc8, 0x95, 0x9b, 0xb7, 0x74, 0xb3, 0xc9, - 0x94, 0x4f, 0xb6, 0x74, 0xb3, 0xc8, 0x95, 0x67, 0xb6, 0x54, 0xb3, 0xf9, 0x58, 0x89, 0x3d, 0xf9, - 0x58, 0xa1, 0x3d, 0xc9, 0x94, 0x13, 0xb8, 0x4c, 0xe3, 0xcf, 0x96, 0x2b, 0xb8, 0x6c, 0x33, 0xe8, - 0xab, 0x0e, 0xa7, 0xb2, 0xe5, 0x16, 0x2e, 0xd1, 0x04, 0xb2, 0x3c, 0x55, 0x2a, 0xd5, 0xf0, 0x33, - 0xe5, 0x22, 0x2e, 0xd5, 0x0c, 0xb2, 0xe5, 0x28, 0x2e, 0xd5, 0x14, 0x32, 0xe5, 0x2e, 0x2e, 0xd5, - 0x0c, 0x32, 0xe7, 0x34, 0x2e, 0xd5, 0x2c, 0x32, 0x26, 0xd1, 0x2b, 0xd5, 0x1c, 0xf2, 0xe5, 0x40, - 0x2e, 0xd5, 0x54, 0xb2, 0xe7, 0x46, 0x2e, 0xd7, 0x34, 0xb2, 0xe6, 0x4c, 0x2e, 0xd5, 0x2c, 0xb2, - 0xe5, 0x52, 0x2e, 0xd1, 0x14, 0xf2, 0xe7, 0x58, 0x2e, 0xcf, 0x64, 0x72, 0xe4, 0x5e, 0x2e, 0xd1, - 0x24, 0x28, 0x72, 0x32, 0x97, 0x68, 0x3a, 0x99, 0x72, 0x35, 0x97, 0x68, 0xfc, 0x19, 0x73, 0x38, - 0x97, 0x68, 0x06, 0xa1, 0xd2, 0x64, 0x82, 0x28, 0xe7, 0x73, 0x99, 0x26, 0x94, 0x2f, 0x17, 0x74, - 0x29, 0x67, 0x92, 0x39, 0x47, 0x74, 0xd9, 0x66, 0x93, 0x3b, 0x77, 0x74, 0x89, 0x26, 0x94, 0x2b, - 0xa7, 0x74, 0x89, 0xe6, 0x91, 0x35, 0xd7, 0x74, 0x89, 0xa6, 0xc0, 0xd4, 0xbe, 0xe8, 0x59, 0x23, - 0x57, 0x4a, 0x34, 0x85, 0x5c, 0x39, 0xab, 0x4b, 0x34, 0x0f, 0x57, 0xed, 0xbb, 0x9c, 0x31, 0xc7, - 0x75, 0x99, 0x66, 0x90, 0x2b, 0xf7, 0x75, 0x79, 0x26, 0x92, 0x29, 0x27, 0x76, 0x89, 0x86, 0x9f, - 0x31, 0x57, 0x76, 0x89, 0x66, 0x90, 0x3b, 0x87, 0x76, 0xe9, 0xe6, 0x42, 0x95, 0x5b, 0xbb, 0x44, - 0x13, 0xcb, 0x94, 0x73, 0xbb, 0x44, 0xe3, 0xa7, 0xc8, 0xc5, 0x5d, 0xc2, 0xe9, 0xe4, 0xce, 0xd1, - 0x5d, 0xc6, 0x39, 0x65, 0xce, 0xdd, 0x5d, 0xc2, 0xc9, 0x64, 0xca, 0xe9, 0x5d, 0xca, 0x79, 0x54, - 0x63, 0x3f, 0xf2, 0xe6, 0x00, 0x2f, 0xf1, 0x94, 0xb2, 0xe6, 0x06, 0x2f, 0xef, 0x94, 0xb2, 0xe6, - 0x0c, 0x2f, 0xf1, 0x8c, 0x3e, 0x55, 0x66, 0x46, 0xd9, 0xb3, 0x43, 0x96, 0x78, 0x32, 0x55, 0x80, - 0x6a, 0x54, 0x39, 0xc9, 0xcb, 0x35, 0xa5, 0xbc, 0xb9, 0xca, 0xcb, 0x37, 0x1b, 0xa3, 0x12, 0x37, - 0x28, 0x4b, 0x6e, 0xf3, 0x52, 0x0d, 0x3f, 0x6b, 0x7a, 0x9a, 0x32, 0x4d, 0xa2, 0xa1, 0xf8, 0xf0, - 0x33, 0xe5, 0x48, 0x2f, 0xd3, 0x0c, 0x94, 0x7e, 0xf2, 0x61, 0xa9, 0x1d, 0xa8, 0x98, 0x3d, 0xd7, - 0x7a, 0xd9, 0xe6, 0x90, 0x29, 0x07, 0x7b, 0xa9, 0x26, 0x91, 0x33, 0x37, 0x7b, 0xd9, 0xe6, 0x92, - 0x3d, 0x9f, 0x78, 0xd9, 0x66, 0x52, 0x09, 0xac, 0x91, 0x33, 0xc7, 0x7b, 0xd9, 0x66, 0x92, 0x2d, - 0xf7, 0x7b, 0xa9, 0x66, 0x91, 0x29, 0x27, 0x7c, 0x79, 0x66, 0xc0, 0x94, 0x06, 0x4e, 0x59, 0x73, - 0xc8, 0x97, 0x68, 0x06, 0x6a, 0x3f, 0x70, 0xcc, 0x98, 0x73, 0xbe, 0x44, 0x13, 0xc8, 0x96, 0x8b, - 0xbe, 0x44, 0x13, 0xc8, 0x97, 0xa3, 0xbe, 0x7c, 0x13, 0xc9, 0x9a, 0xbb, 0xbe, 0x3c, 0x33, 0xc9, - 0x96, 0xee, 0xb1, 0x5c, 0xe3, 0x57, 0x3e, 0x06, 0x3c, 0x57, 0x0e, 0xfc, 0x72, 0x4d, 0x43, 0xf1, - 0xdc, 0x1c, 0xd9, 0x73, 0xe6, 0x97, 0x68, 0x0e, 0x99, 0x72, 0xe9, 0x97, 0x68, 0xfc, 0xb9, 0x72, - 0xec, 0x97, 0x68, 0x1e, 0x79, 0x72, 0xef, 0x97, 0x69, 0x1a, 0x99, 0x73, 0xf2, 0x97, 0x69, 0x12, - 0xd9, 0x73, 0xf5, 0x97, 0x71, 0x16, 0xf9, 0x72, 0xf8, 0x97, 0x71, 0x46, 0x99, 0x72, 0xfb, 0x97, - 0x71, 0x22, 0x99, 0x73, 0xfe, 0x97, 0x69, 0x32, 0xf9, 0x6a, 0x01, 0x94, 0x67, 0x26, 0x39, 0x6a, - 0x04, 0x94, 0x6d, 0x12, 0x99, 0x6a, 0x07, 0x94, 0x68, 0x12, 0xd9, 0x6a, 0x0a, 0x94, 0x6b, 0x02, - 0x4d, 0xd5, 0x27, 0xa0, 0xb4, 0xe7, 0xeb, 0x4e, 0x75, 0xb2, 0x9a, 0xa9, 0x66, 0x41, 0x89, 0x86, - 0x9f, 0xb7, 0x96, 0x41, 0x89, 0xa6, 0xa2, 0x78, 0xb2, 0xb6, 0xec, 0xb5, 0x0f, 0x4a, 0x36, 0x87, - 0x4b, 0xc5, 0xe7, 0xc0, 0x95, 0xbe, 0xd1, 0x79, 0x6b, 0x28, 0x94, 0x6b, 0x26, 0x19, 0x6b, 0x2b, - 0x94, 0x68, 0x12, 0x59, 0x6b, 0x2e, 0x94, 0x69, 0x0a, 0x8e, 0xa9, 0xf6, 0xf8, 0x15, 0x4f, 0xce, - 0x9b, 0xa3, 0x76, 0x43, 0xa9, 0x26, 0xe1, 0xdb, 0xca, 0x4f, 0xa0, 0x12, 0xc9, 0x9b, 0x32, 0xd7, - 0x80, 0x28, 0xd3, 0x14, 0x32, 0xd6, 0x86, 0x28, 0xd1, 0x14, 0x32, 0xd5, 0x8c, 0x28, 0xd1, 0xf8, - 0x73, 0xd5, 0x92, 0x28, 0xcf, 0x3c, 0xec, 0xdb, 0xd1, 0xee, 0x7e, 0xdd, 0x37, 0x82, 0xa3, 0x7b, - 0xb5, 0x9f, 0xe4, 0xdb, 0x8a, 0x3b, 0xea, 0x6c, 0xc6, 0x58, 0x63, 0xf7, 0xb0, 0xa5, 0xfa, 0x1c, - 0x0e, 0xea, 0xcd, 0x46, 0xa3, 0x0a, 0x93, 0x68, 0x56, 0x61, 0x12, 0x7b, 0x95, 0x38, 0x4f, 0xed, - 0xff, 0x9c, 0x75, 0xcf, 0x2b, 0x30, 0x91, 0x5d, 0xc3, 0x3a, 0x35, 0x94, 0x4e, 0x24, 0x67, 0x0f, - 0xf5, 0xbb, 0x50, 0x6d, 0x3d, 0x31, 0xec, 0x7f, 0xbf, 0x7e, 0xf4, 0x99, 0xda, 0x73, 0xf8, 0x3c, - 0xb4, 0x95, 0x9f, 0x84, 0xe2, 0x39, 0x80, 0xec, 0x91, 0xd2, 0x06, 0x63, 0xdb, 0x1d, 0xda, 0xae, - 0x7d, 0x6b, 0xa8, 0x9d, 0x39, 0x35, 0xa9, 0x8e, 0xe6, 0x30, 0xe3, 0x41, 0xed, 0xab, 0xe0, 0xab, - 0x3d, 0xfa, 0x0a, 0xc4, 0xd3, 0xd8, 0xfe, 0xc5, 0x03, 0x0b, 0xba, 0x6a, 0x3f, 0x45, 0x9b, 0x4c, - 0xe2, 0x48, 0x71, 0x8b, 0xe5, 0x74, 0x16, 0x8e, 0xf1, 0x5d, 0xed, 0x59, 0xa8, 0x5f, 0xe3, 0xd0, - 0x0e, 0x2d, 0x57, 0xf5, 0xf1, 0x87, 0xaa, 0x4f, 0x20, 0x52, 0x7b, 0x02, 0xde, 0xc1, 0x41, 0xbd, - 0xd9, 0x74, 0x14, 0x17, 0x49, 0x93, 0x69, 0xec, 0xaa, 0xff, 0x3c, 0x62, 0x3a, 0x93, 0xd6, 0xb5, - 0xf7, 0x8d, 0xb9, 0xef, 0xa3, 0xb0, 0x02, 0x73, 0xd9, 0x3b, 0xba, 0xfc, 0xd0, 0xef, 0xb9, 0xbc, - 0x0a, 0x53, 0x39, 0xe6, 0x41, 0x15, 0xa6, 0xf1, 0xc1, 0xbe, 0x65, 0x95, 0x98, 0x48, 0x72, 0x4d, - 0x2e, 0x15, 0xcf, 0xfe, 0x3f, 0x9d, 0x4c, 0xfb, 0x4c, 0x71, 0xc2, 0x1d, 0x46, 0x4a, 0xf3, 0x24, - 0xa7, 0xa9, 0x7a, 0xda, 0x63, 0x67, 0xd7, 0xf6, 0xab, 0x30, 0x87, 0x1f, 0xca, 0x4f, 0xc2, 0xf0, - 0x6f, 0x15, 0x1f, 0xbf, 0xa5, 0xf8, 0xf8, 0x95, 0xce, 0xab, 0xe9, 0xd8, 0x2e, 0xbb, 0x0b, 0x3c, - 0xc5, 0xe5, 0xe9, 0x48, 0xed, 0xe1, 0x7b, 0xa6, 0xe1, 0x5c, 0x1b, 0x8e, 0xd2, 0x8f, 0x20, 0x46, - 0x86, 0x79, 0xc5, 0xcc, 0x23, 0xcf, 0xe5, 0x81, 0xe7, 0x38, 0xcc, 0xea, 0x7d, 0x50, 0x7f, 0x36, - 0x9f, 0x5c, 0xb3, 0x2a, 0xf3, 0x61, 0x96, 0x6d, 0x9c, 0x19, 0xb6, 0x73, 0xf1, 0xc0, 0x82, 0x9e, - 0xd2, 0xb7, 0x65, 0x34, 0xbc, 0xb2, 0xef, 0x54, 0x7f, 0xc8, 0x3c, 0xb2, 0xbd, 0x1f, 0x6a, 0x67, - 0xcb, 0x1f, 0x79, 0xa6, 0xf1, 0x99, 0x05, 0xa1, 0xed, 0xb9, 0x0d, 0xb5, 0xe7, 0x61, 0x31, 0xa5, - 0x4d, 0xfd, 0x23, 0xdf, 0x54, 0x7b, 0xf8, 0xec, 0xee, 0x3a, 0x30, 0xdc, 0xd0, 0x57, 0x3c, 0x37, - 0xec, 0xc8, 0x77, 0x42, 0xd5, 0xc7, 0x7f, 0x1d, 0xa9, 0x1e, 0xc5, 0x38, 0x0a, 0x15, 0x8f, 0xfe, - 0x1b, 0x3d, 0xa8, 0x3d, 0xfc, 0xc7, 0xc0, 0x56, 0xfc, 0x01, 0x9d, 0x3b, 0x34, 0x94, 0xbe, 0xc8, - 0x6e, 0xa8, 0x76, 0x14, 0x81, 0x37, 0x29, 0x7f, 0x5b, 0x81, 0x34, 0x29, 0xcf, 0x67, 0xf2, 0x51, - 0x75, 0x9a, 0x3d, 0x9d, 0x4e, 0x25, 0xb4, 0xb5, 0xa7, 0x7a, 0x62, 0x2d, 0x8f, 0xbb, 0x17, 0x56, - 0xa4, 0xfa, 0x0c, 0xb8, 0xd2, 0x33, 0xf0, 0x8d, 0x40, 0xe9, 0xd7, 0x43, 0xbe, 0xe5, 0x26, 0x2f, - 0xde, 0x4f, 0x3d, 0xcf, 0x6f, 0x54, 0x65, 0x22, 0x4a, 0x47, 0xeb, 0xfb, 0x6a, 0xab, 0x6e, 0x5f, - 0xed, 0xe0, 0x0e, 0xdf, 0x73, 0x1b, 0x7b, 0x7b, 0x8a, 0xcf, 0xa0, 0xad, 0xf6, 0x2b, 0x6b, 0xdf, - 0x53, 0x1a, 0x7c, 0xfb, 0xbe, 0xaf, 0xf8, 0xf0, 0xcf, 0x22, 0x87, 0xdb, 0x8e, 0xed, 0x7e, 0x53, - 0x3f, 0x45, 0x96, 0x1f, 0xd8, 0x23, 0x23, 0x78, 0xec, 0x5d, 0x1d, 0x9f, 0xab, 0x3d, 0x0d, 0xcf, - 0x57, 0x3c, 0x1e, 0x39, 0x9e, 0xc2, 0xfb, 0xff, 0x74, 0xfd, 0xe6, 0x99, 0xaf, 0xfa, 0x34, 0x8e, - 0x5c, 0xb5, 0xed, 0x7c, 0xf1, 0x1c, 0x8e, 0x3d, 0x33, 0xfc, 0x8f, 0x1d, 0x30, 0x87, 0x85, 0x15, - 0x29, 0xda, 0xf9, 0x72, 0x56, 0x55, 0xa8, 0xdd, 0xf9, 0x72, 0x4e, 0x55, 0x28, 0x9d, 0x11, 0xcf, - 0x29, 0xd1, 0x30, 0xbe, 0xc3, 0x7e, 0x78, 0xca, 0x6f, 0x4f, 0xdf, 0xb3, 0x5d, 0x7e, 0xed, 0x25, - 0xff, 0xbb, 0x62, 0x81, 0x6d, 0x38, 0xaa, 0xcf, 0xe8, 0xb3, 0x1d, 0xf0, 0x48, 0xfd, 0x69, 0xcc, - 0xee, 0x4c, 0xbf, 0xd9, 0x57, 0x7c, 0x2a, 0x9c, 0x79, 0x6e, 0xa3, 0xae, 0x7a, 0x59, 0x81, 0xe9, - 0x44, 0x0e, 0xd4, 0x9f, 0x88, 0xda, 0x40, 0xec, 0x7f, 0x9b, 0x87, 0xbb, 0x4a, 0x9b, 0x7a, 0xfe, - 0x57, 0x6d, 0xfd, 0xf7, 0xbf, 0x8a, 0xbf, 0x7f, 0x09, 0x0c, 0xcb, 0xf6, 0xce, 0xba, 0x47, 0x8a, - 0xcf, 0x41, 0x6d, 0x1f, 0x71, 0xc0, 0x0c, 0xf3, 0xfe, 0xf8, 0xea, 0x54, 0xed, 0x39, 0xdc, 0x45, - 0x8e, 0x11, 0xa8, 0x9e, 0x14, 0x30, 0x18, 0x9a, 0x8d, 0x96, 0xda, 0xb9, 0x87, 0x83, 0xa1, 0x79, - 0xb0, 0xbf, 0xaf, 0x78, 0x38, 0x5a, 0xe0, 0x2b, 0xcd, 0x25, 0x82, 0xb0, 0xb9, 0xab, 0xf6, 0x3d, - 0x08, 0x03, 0xa5, 0xdf, 0x21, 0x84, 0x96, 0x69, 0xab, 0x3d, 0x7e, 0xb5, 0x71, 0x85, 0xea, 0x61, - 0x5b, 0xe1, 0xbd, 0xea, 0x13, 0x50, 0xdb, 0xf3, 0x18, 0xda, 0xfe, 0x95, 0x7d, 0xa7, 0xf8, 0x0c, - 0xae, 0x15, 0x9f, 0xc0, 0x8f, 0x6b, 0xef, 0x83, 0x17, 0x29, 0xad, 0x88, 0x43, 0x47, 0xf1, 0x7b, - 0x30, 0xb2, 0xc2, 0xe3, 0x1f, 0xb6, 0xea, 0x53, 0xe8, 0x99, 0x8a, 0x6f, 0x83, 0x37, 0xe4, 0xdf, - 0x8d, 0x80, 0x9d, 0x7a, 0x9e, 0x7f, 0x6b, 0x98, 0xdf, 0xd4, 0x9e, 0x8b, 0xe2, 0x01, 0xbd, 0xc9, - 0x04, 0x2e, 0x1e, 0x58, 0x70, 0xcf, 0x0c, 0xab, 0x02, 0x61, 0xa5, 0xc9, 0x7c, 0xfa, 0x06, 0xbf, - 0x57, 0x7e, 0x12, 0x9f, 0x95, 0xae, 0x90, 0x11, 0x06, 0x6a, 0xcb, 0xa8, 0x70, 0xbf, 0x02, 0x2f, - 0xe9, 0x42, 0x6e, 0x98, 0xdf, 0xae, 0xbd, 0x2b, 0xae, 0xba, 0x94, 0xe5, 0x46, 0x70, 0xaa, 0x76, - 0x2e, 0x02, 0xae, 0x38, 0x07, 0xe5, 0x4c, 0xf5, 0xcb, 0xc0, 0x59, 0x30, 0x52, 0xbc, 0x1c, 0x00, - 0x0f, 0xea, 0xf5, 0x03, 0xb5, 0x27, 0x60, 0xb8, 0xa1, 0xff, 0x97, 0xea, 0x77, 0x41, 0xf9, 0x97, - 0x80, 0x91, 0xc3, 0xd5, 0x8e, 0xce, 0x8f, 0x42, 0xa5, 0x2d, 0xaa, 0x0f, 0x6a, 0x27, 0xff, 0x7f, - 0xd8, 0xdd, 0x53, 0x7b, 0xf8, 0x6d, 0xb5, 0x87, 0xbf, 0xaf, 0xf4, 0xf0, 0x15, 0x37, 0x06, 0x3f, - 0xa8, 0x5e, 0x2a, 0xec, 0x61, 0x12, 0xc5, 0xd6, 0xf3, 0xbb, 0x96, 0x15, 0xb0, 0x30, 0xac, 0xc0, - 0x5c, 0xd4, 0x36, 0x0e, 0x3f, 0x8c, 0xbe, 0x1b, 0x01, 0x3b, 0xb7, 0xcd, 0x6b, 0xc5, 0x03, 0x58, - 0x27, 0x13, 0x99, 0x46, 0x49, 0x9e, 0xdb, 0x4a, 0x83, 0xbc, 0x07, 0xcf, 0x36, 0xd9, 0x71, 0xef, - 0x58, 0xf9, 0x39, 0x9c, 0xbc, 0xbf, 0x52, 0x7f, 0x0e, 0x67, 0x15, 0x98, 0xc2, 0x87, 0x8f, 0x15, - 0x38, 0x4c, 0xae, 0x69, 0xf8, 0xca, 0xcf, 0xe2, 0xc3, 0xc7, 0xe3, 0x93, 0xee, 0x79, 0xb7, 0x0a, - 0xf3, 0xb8, 0x50, 0xff, 0x72, 0x7f, 0xf8, 0xfb, 0xa2, 0x02, 0x73, 0x50, 0x7f, 0x1f, 0x2a, 0x50, - 0xda, 0x23, 0x9d, 0xc7, 0x91, 0x71, 0xab, 0xf6, 0xf3, 0xcc, 0x74, 0x26, 0x1f, 0x02, 0x63, 0xc4, - 0x2e, 0x99, 0x63, 0x3c, 0x56, 0x62, 0x3a, 0x6a, 0xe7, 0x57, 0xfc, 0xfe, 0xdd, 0x70, 0xfb, 0x7d, - 0xf5, 0x67, 0xa0, 0x34, 0x7f, 0xfd, 0xd1, 0x6c, 0xec, 0xaa, 0x3d, 0xfe, 0xbd, 0xfb, 0xc8, 0xe5, - 0xca, 0xa7, 0x3c, 0xfa, 0xd1, 0xdc, 0x1b, 0x39, 0xaa, 0xcf, 0xc0, 0x57, 0x5b, 0x4d, 0xfc, 0x38, - 0x68, 0x9f, 0x1a, 0xbe, 0xd2, 0x26, 0x9c, 0x1f, 0xb7, 0xde, 0x8f, 0xd9, 0x8b, 0xc4, 0x1c, 0xf3, - 0xc8, 0xf4, 0xc9, 0xc1, 0x1b, 0x09, 0xeb, 0x95, 0x6d, 0x9d, 0xa8, 0x6a, 0x4f, 0x17, 0x30, 0xe0, - 0x4c, 0x06, 0xde, 0x02, 0xc6, 0x99, 0xb9, 0x96, 0x74, 0x31, 0x63, 0xcd, 0x58, 0x33, 0xba, 0xb8, - 0xc1, 0x36, 0x55, 0x1a, 0xec, 0x9e, 0x52, 0xe7, 0x20, 0x63, 0xad, 0xe7, 0xc2, 0x06, 0x9c, 0xb5, - 0xa6, 0x73, 0x01, 0x03, 0xce, 0x58, 0xbb, 0xb9, 0x88, 0x91, 0x66, 0xad, 0xd1, 0x5c, 0xc4, 0x58, - 0x33, 0xd7, 0x62, 0x2e, 0x60, 0xb0, 0x8e, 0x22, 0x8a, 0x36, 0x4b, 0x6d, 0xe5, 0x02, 0x86, 0x99, - 0xa3, 0x86, 0x72, 0x11, 0xa3, 0xcd, 0x5e, 0x2b, 0xb9, 0x80, 0xd1, 0xfa, 0x6a, 0x8c, 0x32, 0x73, - 0xed, 0xe3, 0x22, 0x06, 0x9b, 0xd9, 0x10, 0x5a, 0xd4, 0x60, 0xb3, 0xd5, 0x32, 0x2e, 0x6c, 0xb4, - 0x99, 0x6a, 0x16, 0x17, 0x31, 0xda, 0xac, 0xb5, 0x89, 0x0b, 0x18, 0x6b, 0xa6, 0x1a, 0xc4, 0xc5, - 0x8c, 0x33, 0x54, 0x65, 0xa0, 0x91, 0x1a, 0x03, 0xcd, 0x51, 0x3b, 0xb8, 0xb0, 0xe1, 0x66, 0xae, - 0x11, 0x5c, 0xd8, 0x88, 0x73, 0xd4, 0x02, 0x2e, 0x6c, 0xcc, 0xd9, 0x6b, 0xfe, 0x16, 0x37, 0xe4, - 0x4c, 0xb5, 0x7d, 0x8b, 0x1b, 0x6e, 0xc6, 0x1a, 0xbe, 0xc5, 0x0d, 0x38, 0x47, 0xad, 0xde, 0xc2, - 0x06, 0x9d, 0xad, 0x26, 0x6f, 0x11, 0xc3, 0x8d, 0x94, 0xc0, 0xe3, 0x59, 0x6b, 0xec, 0x16, 0x30, - 0xd2, 0xcc, 0xb5, 0x74, 0x8b, 0x19, 0xeb, 0x0f, 0x65, 0x06, 0x9b, 0xa9, 0x36, 0x6e, 0x21, 0xe3, - 0xb4, 0x14, 0x19, 0xe7, 0x50, 0x89, 0x71, 0x66, 0xaf, 0x69, 0x5b, 0xc0, 0x60, 0x47, 0x6a, 0x0c, - 0x33, 0x7b, 0x8d, 0x5a, 0xf9, 0x83, 0xa5, 0xa8, 0x45, 0x5b, 0xd4, 0xa8, 0xf3, 0xd6, 0x9c, 0x2d, - 0x60, 0xdc, 0x79, 0x6b, 0xcb, 0x16, 0x30, 0xe4, 0xec, 0x35, 0x64, 0x0b, 0x18, 0x6c, 0xc6, 0x5a, - 0xb1, 0x05, 0x8c, 0x34, 0x57, 0x4d, 0xd8, 0x22, 0xc6, 0x9b, 0xa9, 0xf6, 0x6b, 0x01, 0x03, 0xf5, - 0x4d, 0x35, 0x86, 0x99, 0xab, 0x96, 0x6b, 0x11, 0x03, 0x76, 0x42, 0x55, 0xc6, 0x99, 0xb5, 0x36, - 0x6b, 0x01, 0xa3, 0x0d, 0x15, 0x89, 0x8e, 0xc9, 0x54, 0x6b, 0xb5, 0x80, 0x61, 0x66, 0xad, 0xa9, - 0x2a, 0x7f, 0xa8, 0xd9, 0x6a, 0xa7, 0x16, 0x30, 0xce, 0x50, 0x0d, 0xaf, 0x62, 0xde, 0x5a, 0xa8, - 0x45, 0x8f, 0xf8, 0xa3, 0x2a, 0x34, 0x2c, 0x7f, 0x6d, 0xd3, 0x02, 0xc6, 0x9c, 0xad, 0x86, 0x69, - 0x11, 0x03, 0xcd, 0x56, 0xab, 0xb4, 0x98, 0x91, 0x72, 0x25, 0x46, 0x9a, 0xad, 0xf6, 0x68, 0x01, - 0xe3, 0xcc, 0x57, 0x63, 0xb4, 0xd8, 0x01, 0x2b, 0x11, 0xdd, 0xe9, 0xab, 0xa1, 0xca, 0x7c, 0x35, - 0x9c, 0xb7, 0x59, 0x6b, 0x80, 0x16, 0x32, 0xd2, 0x4c, 0xb5, 0x3e, 0x8b, 0x18, 0xa9, 0x12, 0xa0, - 0x30, 0x53, 0xed, 0xce, 0x42, 0x86, 0x99, 0xbb, 0x46, 0x67, 0x01, 0xa3, 0xce, 0x53, 0x8b, 0xb3, - 0x88, 0xe1, 0x66, 0xac, 0xb9, 0x59, 0xcc, 0x50, 0x33, 0xd7, 0xd6, 0x2c, 0x66, 0xb8, 0xd9, 0x6a, - 0x68, 0x16, 0x33, 0x56, 0xaa, 0x5a, 0x99, 0xc5, 0x8f, 0x3e, 0x7b, 0x4d, 0xcc, 0xe2, 0xc7, 0x9e, - 0xbd, 0xf6, 0x65, 0x31, 0x63, 0xcf, 0x55, 0xe3, 0xb2, 0x98, 0x21, 0x53, 0xd4, 0xb2, 0x2c, 0x66, - 0xe4, 0x99, 0x6b, 0x56, 0x16, 0x33, 0xdc, 0x5c, 0xb5, 0x29, 0x0b, 0x19, 0x72, 0x9e, 0x1a, 0x94, - 0x85, 0x0d, 0xf8, 0x40, 0x9d, 0x01, 0xab, 0x01, 0x34, 0x32, 0xd6, 0x8e, 0x2c, 0x60, 0xa0, 0x6a, - 0xe8, 0x89, 0xff, 0x55, 0x24, 0x9e, 0x39, 0x7b, 0xcd, 0xc7, 0x42, 0xc6, 0xaa, 0x86, 0xef, 0x29, - 0x7b, 0x0d, 0xc7, 0x22, 0xc6, 0x9a, 0xa3, 0x56, 0x63, 0x01, 0xc3, 0xcd, 0x5a, 0x93, 0xb1, 0x90, - 0xa1, 0x66, 0xad, 0xbd, 0x58, 0xc0, 0x60, 0x7d, 0x25, 0xb0, 0x6c, 0xc6, 0x5a, 0x8a, 0x45, 0x0c, - 0x34, 0x50, 0x22, 0x3e, 0x35, 0x5b, 0x6d, 0xc4, 0x22, 0xc6, 0xa9, 0x86, 0x3e, 0x55, 0x25, 0x3c, - 0x22, 0x63, 0x4d, 0xc3, 0x02, 0x06, 0xaa, 0x86, 0x07, 0x24, 0x6b, 0x8d, 0xc2, 0x42, 0x46, 0x7a, - 0xad, 0xc8, 0x40, 0x33, 0xd7, 0x1c, 0x2c, 0x60, 0xb0, 0x8e, 0x22, 0xe7, 0x34, 0x6b, 0x0d, 0xc1, - 0x62, 0x86, 0x9a, 0xad, 0x56, 0x60, 0x01, 0x63, 0xcd, 0x5d, 0x13, 0xb0, 0x88, 0x31, 0x2b, 0x12, - 0x78, 0x46, 0x53, 0xe3, 0xaf, 0xa0, 0x71, 0x67, 0xab, 0xe5, 0x57, 0xd0, 0x60, 0xb3, 0xd4, 0xec, - 0x2b, 0x60, 0xa8, 0x81, 0x1a, 0x32, 0x21, 0x47, 0x0d, 0xbe, 0x02, 0x46, 0x9b, 0xab, 0xd6, 0x5e, - 0x21, 0xe3, 0xcd, 0x56, 0x53, 0x4f, 0xfe, 0x50, 0xb9, 0x22, 0xdc, 0x25, 0x6b, 0x8d, 0xbc, 0x22, - 0x46, 0x9a, 0xb1, 0x16, 0x5e, 0x01, 0x43, 0xcd, 0x56, 0xf3, 0xae, 0x88, 0x81, 0x66, 0xaf, 0x6d, - 0x57, 0xc0, 0x68, 0x95, 0x79, 0x31, 0x91, 0xb1, 0x56, 0x5d, 0x01, 0x03, 0x0d, 0x95, 0xb0, 0x58, - 0x3d, 0xa8, 0x91, 0x44, 0x34, 0x53, 0x8d, 0xb9, 0x22, 0x86, 0xd9, 0x56, 0x63, 0x98, 0xfb, 0x4a, - 0x0c, 0x53, 0x11, 0xa3, 0x5a, 0xc6, 0x1a, 0x70, 0x05, 0x0c, 0x34, 0x77, 0xad, 0xb7, 0xc2, 0xc6, - 0xac, 0x86, 0x91, 0x2d, 0x67, 0xed, 0xb6, 0xa2, 0x06, 0x9c, 0xa7, 0x46, 0x5b, 0x01, 0x63, 0xce, - 0x5c, 0x8b, 0xad, 0xa0, 0xb1, 0x66, 0xaa, 0xb9, 0x56, 0xd4, 0x58, 0xcf, 0x14, 0x1a, 0x6a, 0xa6, - 0x1a, 0x6a, 0x45, 0x8d, 0x36, 0x5b, 0xad, 0xb4, 0x82, 0x46, 0x9b, 0xb9, 0x26, 0x5a, 0x71, 0xe3, - 0xbd, 0x50, 0xe7, 0x92, 0x65, 0xaa, 0x71, 0x56, 0xd8, 0x58, 0xd5, 0x59, 0x57, 0x85, 0x52, 0xf5, - 0xe6, 0xad, 0x4d, 0x56, 0xe0, 0x88, 0xf3, 0xd4, 0x20, 0x2b, 0x70, 0xd8, 0x6a, 0xe4, 0xdb, 0xc9, - 0x5a, 0x53, 0xac, 0xa8, 0x91, 0x2a, 0xc1, 0x7b, 0xb2, 0xd5, 0x08, 0x2b, 0x62, 0x9c, 0x79, 0x6a, - 0x81, 0x15, 0x32, 0xde, 0x4c, 0x35, 0xbf, 0x0a, 0x19, 0xa9, 0xaf, 0x86, 0x98, 0xcd, 0x5c, 0xc3, - 0xab, 0x80, 0xa1, 0xe6, 0xaa, 0xd5, 0xb5, 0x5e, 0x8d, 0xae, 0xd5, 0x6b, 0x73, 0xad, 0xd6, 0xee, - 0x8a, 0xab, 0x55, 0x63, 0x3f, 0x78, 0x60, 0xe8, 0x91, 0x1b, 0xf2, 0x44, 0x4f, 0x77, 0xd6, 0x58, - 0xb3, 0x5a, 0xc0, 0x86, 0x2c, 0x60, 0xae, 0x19, 0x7f, 0xec, 0xcb, 0x1b, 0xb1, 0x1b, 0x93, 0x6e, - 0xca, 0xe5, 0x87, 0x23, 0xad, 0x79, 0xd0, 0xde, 0xed, 0x68, 0xd7, 0xf7, 0x4c, 0xeb, 0xb9, 0x9c, - 0x05, 0x43, 0xc3, 0x64, 0xa1, 0x96, 0x48, 0x15, 0xed, 0xac, 0xf7, 0x5e, 0xd3, 0x35, 0x7b, 0x98, - 0x54, 0x5f, 0x59, 0xff, 0xc4, 0xd4, 0xae, 0xbc, 0x28, 0x30, 0xd7, 0x5b, 0x87, 0x67, 0x9f, 0xff, - 0x37, 0x7b, 0xfc, 0xee, 0x05, 0xd6, 0x24, 0x56, 0x7a, 0xb6, 0x3c, 0xd9, 0xaa, 0xce, 0xd5, 0xfe, - 0x32, 0xc2, 0x6e, 0x70, 0x17, 0x8d, 0x98, 0xcb, 0x6b, 0x1d, 0x8d, 0x07, 0x11, 0xcb, 0xd8, 0xd0, - 0x5c, 0x2b, 0x6b, 0xad, 0x9f, 0xe0, 0x33, 0xbf, 0xfa, 0x5f, 0xaf, 0x76, 0x3b, 0xfe, 0xdc, 0xde, - 0xef, 0xff, 0xe2, 0x0f, 0x77, 0xa6, 0xd6, 0x8d, 0xee, 0xe2, 0x55, 0x64, 0xd6, 0x4a, 0xe7, 0x7d, - 0xb5, 0x03, 0x94, 0x9e, 0xeb, 0x1d, 0xcf, 0xd4, 0xed, 0x61, 0xc7, 0x4e, 0x37, 0xe4, 0xe5, 0x2f, - 0xa6, 0x3f, 0x87, 0xdc, 0xe0, 0xab, 0x9e, 0xa8, 0xda, 0x31, 0x0b, 0xcd, 0xc0, 0xf6, 0xb9, 0xed, - 0xb9, 0x71, 0x1f, 0x5d, 0xcb, 0x0a, 0xb5, 0xeb, 0x7e, 0xef, 0x58, 0xdb, 0xd1, 0x18, 0xbf, 0x67, - 0x01, 0x7f, 0xf4, 0x99, 0xe6, 0xf9, 0x49, 0x9b, 0xda, 0xd0, 0x0b, 0x34, 0x7e, 0xcf, 0xb4, 0x5b, - 0x23, 0x64, 0x5a, 0xda, 0xed, 0xaa, 0x5d, 0xfd, 0xdb, 0x76, 0xe3, 0x75, 0x69, 0xac, 0xf8, 0xe7, - 0x47, 0x9e, 0x3b, 0xb4, 0xef, 0x6a, 0x1d, 0xad, 0xbe, 0xe2, 0x07, 0xfa, 0x01, 0x1b, 0xda, 0x3f, - 0xd6, 0x13, 0x50, 0x69, 0x2e, 0x17, 0x53, 0x4f, 0x32, 0x15, 0xaf, 0x7e, 0x7d, 0xb2, 0xca, 0x81, - 0xf9, 0xfb, 0xef, 0x4f, 0x46, 0xbc, 0xde, 0x9d, 0xcd, 0x7d, 0xe9, 0x9f, 0x5d, 0xf6, 0xd9, 0xc4, - 0x0b, 0x52, 0x2e, 0xc7, 0x76, 0xb0, 0xde, 0x86, 0x71, 0xdf, 0xb6, 0xd6, 0x5f, 0xf3, 0xd4, 0xcb, - 0x1b, 0x7f, 0x7a, 0xcd, 0xd5, 0x7a, 0x71, 0x43, 0x2e, 0x92, 0xef, 0x0c, 0xc7, 0x79, 0xd4, 0x42, - 0xc6, 0x93, 0xeb, 0xc0, 0x8d, 0x3b, 0xcd, 0x0f, 0x3c, 0xee, 0x99, 0x9e, 0xa3, 0xd9, 0x16, 0x73, - 0xb9, 0x3d, 0xb4, 0x59, 0xa0, 0x0d, 0x6d, 0xe6, 0x58, 0xda, 0x56, 0x7c, 0x9d, 0xb6, 0x35, 0x7e, - 0x6f, 0xf0, 0xaf, 0xae, 0x1d, 0x6a, 0x86, 0x69, 0x32, 0x9f, 0x33, 0x4b, 0xf3, 0xdc, 0xe4, 0xd3, - 0x9f, 0x4f, 0xbb, 0xe7, 0xeb, 0x8f, 0x69, 0x68, 0x44, 0x0e, 0x5f, 0x5b, 0xab, 0x26, 0x1f, 0x9e, - 0x6e, 0xb9, 0x1e, 0x5f, 0xed, 0xb0, 0x13, 0x8f, 0xee, 0xa6, 0xfe, 0xf7, 0x41, 0xa3, 0x5e, 0x5f, - 0x4f, 0x9a, 0x0f, 0xd6, 0x1c, 0xf3, 0xf4, 0xfa, 0xd7, 0xd7, 0xfc, 0xd8, 0xba, 0x62, 0x20, 0x8f, - 0x38, 0x20, 0x10, 0x0b, 0x22, 0x60, 0x42, 0x26, 0x31, 0x21, 0x16, 0x23, 0xac, 0x2d, 0x36, 0x32, - 0xea, 0xff, 0x35, 0xf7, 0x3c, 0xc1, 0x24, 0xb9, 0x76, 0x7c, 0x72, 0x7d, 0xf9, 0x63, 0xc0, 0x86, - 0x59, 0x76, 0x7d, 0xa6, 0xe3, 0xf6, 0x32, 0x7c, 0xb6, 0x37, 0xed, 0xfa, 0xbd, 0x11, 0xe6, 0x38, - 0x37, 0xb3, 0x89, 0x24, 0xf7, 0xfa, 0xfa, 0x9f, 0xfe, 0xc9, 0x55, 0xd6, 0x83, 0xf3, 0xd9, 0x70, - 0x22, 0x16, 0x66, 0x92, 0x31, 0xf9, 0xe8, 0xd5, 0xeb, 0x73, 0xc9, 0x22, 0xa3, 0x72, 0xb2, 0x43, - 0x41, 0xd3, 0x38, 0xe8, 0x1e, 0x54, 0x60, 0x1a, 0x87, 0xd5, 0xd8, 0x8d, 0xc3, 0x66, 0x05, 0xa6, - 0xd1, 0x3d, 0xff, 0x47, 0x81, 0x52, 0xe1, 0x82, 0xa8, 0xdf, 0x58, 0x0a, 0xf5, 0x1b, 0xfc, 0x89, - 0xfa, 0xb9, 0xae, 0xc7, 0x8d, 0x29, 0x4a, 0xfc, 0xf3, 0xde, 0xd6, 0x42, 0xf3, 0x9e, 0x8d, 0x0c, - 0xdf, 0xe0, 0xf7, 0x13, 0x6e, 0xe7, 0x33, 0xd7, 0x4c, 0xa0, 0x8e, 0x3e, 0x47, 0xf0, 0x5e, 0xfb, - 0x76, 0x67, 0xc2, 0xef, 0xde, 0x64, 0x9b, 0xca, 0x6f, 0x0e, 0x6c, 0x2d, 0x8c, 0x6e, 0x9f, 0x3a, - 0xfc, 0xe3, 0x2c, 0x9e, 0x22, 0xa7, 0x9f, 0x7d, 0xec, 0x0f, 0xcb, 0xb4, 0x1a, 0x09, 0x5c, 0x19, - 0xf5, 0xad, 0x83, 0xf2, 0xe6, 0x51, 0x9d, 0xbd, 0x8a, 0x76, 0x5f, 0x17, 0xc3, 0x65, 0xc6, 0x6c, - 0x99, 0x31, 0xda, 0x4b, 0x4c, 0x66, 0xaf, 0x50, 0x73, 0x25, 0x9f, 0x85, 0x63, 0x55, 0xc2, 0xf6, - 0xec, 0x54, 0xac, 0xbe, 0x82, 0xaf, 0x9d, 0xa9, 0x8a, 0xd8, 0x17, 0xec, 0xe1, 0x46, 0x5a, 0x17, - 0xec, 0xa1, 0x32, 0xb6, 0x05, 0x73, 0x76, 0x22, 0x32, 0x5a, 0x17, 0xa6, 0x9f, 0xcf, 0xc6, 0x8b, - 0x1b, 0x8a, 0xf1, 0x62, 0x7b, 0x08, 0x56, 0x9c, 0xf3, 0xb8, 0xcb, 0xe1, 0xc4, 0xeb, 0x5e, 0x83, - 0xf4, 0x83, 0xd6, 0x33, 0xc3, 0x57, 0x4e, 0x3a, 0x3a, 0xdf, 0x58, 0xc6, 0x95, 0xce, 0x66, 0x40, - 0xca, 0x7d, 0x61, 0x28, 0x2e, 0x0e, 0xd9, 0x05, 0xa2, 0xba, 0x48, 0xe4, 0x17, 0x8a, 0xfc, 0x62, - 0x51, 0x5e, 0xb0, 0x7c, 0x4c, 0x27, 0x23, 0xc7, 0xcb, 0x6e, 0x8c, 0x5a, 0x44, 0x43, 0x3c, 0xb0, - 0xdd, 0xbb, 0x3c, 0xc7, 0x65, 0xa6, 0x64, 0x0e, 0xa4, 0xae, 0x40, 0x0e, 0xd7, 0xf1, 0x42, 0x5b, - 0xd9, 0x5d, 0xc9, 0xb4, 0xc4, 0x5b, 0xcb, 0xe0, 0x6a, 0xee, 0x3a, 0xb6, 0x11, 0xe6, 0xbc, 0x58, - 0x94, 0xb7, 0xfe, 0xb5, 0xdb, 0x9f, 0xd7, 0x17, 0x2d, 0x5c, 0x10, 0xbc, 0x2a, 0x10, 0xd6, 0xda, - 0x80, 0xdc, 0xdd, 0x8f, 0xdf, 0x14, 0xf3, 0xe9, 0x81, 0xd4, 0x5b, 0xbb, 0xa6, 0x25, 0x63, 0x69, - 0x3b, 0x8f, 0x77, 0x1e, 0xd7, 0x3d, 0x53, 0x37, 0xbd, 0x91, 0x1f, 0xb0, 0x30, 0x64, 0x96, 0xee, - 0x30, 0x63, 0x18, 0x37, 0x9a, 0x51, 0x10, 0xcb, 0x88, 0x08, 0xaa, 0x31, 0x37, 0x16, 0x56, 0x56, - 0x7e, 0xc8, 0x33, 0x6b, 0x28, 0xe3, 0x36, 0xe4, 0xf1, 0xf1, 0xa5, 0x8d, 0xc4, 0xd7, 0x2e, 0xdb, - 0xb9, 0x1f, 0x00, 0xa5, 0x01, 0xa5, 0x01, 0xa5, 0xad, 0x71, 0x5a, 0x6e, 0x3d, 0xcf, 0x61, 0x86, - 0x4b, 0x01, 0xd3, 0x1a, 0x80, 0x69, 0x45, 0xc0, 0x34, 0x6b, 0x64, 0xbb, 0x57, 0xdc, 0xe0, 0x11, - 0xc0, 0x5a, 0x91, 0x60, 0x6d, 0x6e, 0x1b, 0x00, 0xd9, 0x00, 0xd9, 0xfe, 0x3c, 0x6c, 0xdb, 0xb5, - 0xd8, 0x8f, 0xfc, 0x80, 0x6d, 0xd2, 0x4c, 0x91, 0x70, 0xad, 0x0e, 0xac, 0x06, 0xac, 0x06, 0xac, - 0x26, 0x1e, 0xab, 0x45, 0xb6, 0xcb, 0x77, 0x9b, 0x04, 0x50, 0x6d, 0x3f, 0x47, 0x13, 0x97, 0x86, - 0x7b, 0x57, 0x0a, 0x9c, 0x74, 0x66, 0xbb, 0x74, 0x30, 0x25, 0x09, 0x1b, 0xcb, 0x2e, 0x14, 0x16, - 0xda, 0xfb, 0x10, 0x18, 0x66, 0xac, 0xd9, 0x8e, 0xed, 0x3b, 0x9b, 0x87, 0x84, 0x0d, 0x9f, 0xb3, - 0x3b, 0x83, 0xdb, 0x0f, 0xf1, 0x58, 0x87, 0x86, 0x13, 0xb2, 0xfc, 0x58, 0x83, 0x00, 0x34, 0x9e, - 0x19, 0x3f, 0xe8, 0xb7, 0xa2, 0xd5, 0x3c, 0x6c, 0x1d, 0xb6, 0xf7, 0x9b, 0x87, 0x7b, 0x9b, 0xb7, - 0x27, 0xc0, 0x7f, 0x8a, 0xe1, 0x3f, 0xa1, 0xce, 0xd0, 0x93, 0x1f, 0x3c, 0x5b, 0x44, 0x6b, 0x7e, - 0x7f, 0xb5, 0x67, 0xea, 0xec, 0x07, 0xef, 0x70, 0xe6, 0xb0, 0x11, 0xe3, 0xc1, 0xa3, 0xee, 0xb9, - 0xba, 0x79, 0x9f, 0xa8, 0x00, 0x12, 0x1f, 0x76, 0x72, 0x5f, 0x08, 0x9c, 0xd8, 0xc2, 0xdf, 0x31, - 0xae, 0x1b, 0x4f, 0x92, 0xef, 0x6c, 0xe7, 0x09, 0xb4, 0x9b, 0x0f, 0x6c, 0x7b, 0xf6, 0xd3, 0xce, - 0x34, 0xd4, 0x43, 0x54, 0x44, 0xe3, 0x1a, 0x81, 0x42, 0xd9, 0xb8, 0x4f, 0x2e, 0xce, 0xa3, 0xea, - 0x53, 0x0e, 0x84, 0xac, 0x90, 0xe1, 0xff, 0xb2, 0x3f, 0xe3, 0x88, 0xb5, 0x56, 0xce, 0x27, 0x1c, - 0x19, 0x90, 0x7d, 0xad, 0x3f, 0x95, 0x32, 0xef, 0xde, 0x4d, 0x25, 0xc4, 0xce, 0xe4, 0x7e, 0x95, - 0x41, 0x4e, 0xf8, 0x0f, 0xad, 0x1c, 0x62, 0x22, 0xfe, 0xf4, 0x86, 0x04, 0xb6, 0xf9, 0x90, 0x12, - 0xaf, 0x49, 0x09, 0xbf, 0x32, 0x81, 0x6d, 0xc6, 0x24, 0xf7, 0xe3, 0x0a, 0x31, 0xee, 0x7f, 0x3c, - 0x2f, 0x4f, 0x4d, 0xe5, 0x33, 0xc1, 0x35, 0xaa, 0x62, 0x82, 0xf3, 0x61, 0x82, 0x93, 0x74, 0xb9, - 0x8a, 0x31, 0xc1, 0x65, 0xbd, 0x74, 0x2f, 0x2f, 0x5f, 0xfe, 0x4d, 0x7e, 0x71, 0x05, 0xf3, 0x6e, - 0x71, 0xbe, 0x8b, 0x48, 0x76, 0x21, 0x29, 0x2f, 0x26, 0xf9, 0x05, 0xa5, 0xbe, 0xa8, 0xc2, 0x2e, - 0xac, 0xb0, 0x8b, 0x2b, 0xe2, 0x02, 0x13, 0x99, 0xaa, 0x72, 0x9e, 0xb7, 0xbc, 0x17, 0x3b, 0x6d, - 0x28, 0xe3, 0x2b, 0x8a, 0x3f, 0x1e, 0xde, 0x4c, 0xaf, 0x2b, 0x04, 0x5f, 0x77, 0xf2, 0x6b, 0x2f, - 0xe2, 0xfa, 0x0b, 0x13, 0x03, 0xa2, 0xc4, 0x81, 0x70, 0xb1, 0x20, 0x5c, 0x3c, 0x88, 0x14, 0x13, - 0x34, 0xe2, 0x82, 0x48, 0x6c, 0x90, 0x8b, 0x8f, 0x39, 0xbe, 0x4a, 0x7f, 0x9e, 0x9e, 0xd8, 0x2c, - 0xf5, 0x41, 0xca, 0xe7, 0x49, 0x97, 0x26, 0x56, 0x44, 0x8a, 0x17, 0xe1, 0x62, 0x46, 0xb4, 0xb8, - 0x91, 0x26, 0x76, 0xa4, 0x89, 0x1f, 0x19, 0x62, 0x88, 0x56, 0x1c, 0x11, 0x8b, 0xa5, 0xfc, 0x16, - 0xc5, 0xb5, 0x2c, 0x64, 0x3a, 0x0d, 0x17, 0xf9, 0x2d, 0x60, 0x39, 0x10, 0xd0, 0x76, 0xdf, 0xe0, - 0x9c, 0x05, 0x6e, 0xee, 0x50, 0x84, 0xa5, 0x1d, 0x6c, 0x7d, 0xa9, 0xeb, 0x87, 0x83, 0x5f, 0x5f, - 0x1a, 0xfa, 0xe1, 0x60, 0xf2, 0x6d, 0x23, 0xf9, 0xdf, 0xcf, 0xe6, 0xf8, 0x57, 0xf3, 0x4b, 0x5d, - 0x6f, 0x4d, 0x7f, 0xdb, 0xdc, 0xfb, 0x52, 0xd7, 0xf7, 0x06, 0xdb, 0x5b, 0x5f, 0xbf, 0xbe, 0x5b, - 0xf7, 0x33, 0xdb, 0x3f, 0x77, 0xc7, 0xf4, 0xc7, 0x7a, 0x20, 0x62, 0xb9, 0x2f, 0xae, 0x7a, 0x7f, - 0x0b, 0x5f, 0xf3, 0xff, 0x6e, 0xc9, 0x5a, 0xf5, 0xed, 0x7f, 0x09, 0x58, 0xf7, 0x52, 0x8b, 0x13, - 0x22, 0x7f, 0xfb, 0xd2, 0xf6, 0xc9, 0xfd, 0xf0, 0xe2, 0xa5, 0x36, 0xe1, 0x12, 0x4f, 0xb5, 0xae, - 0xee, 0x30, 0xf7, 0x2e, 0xf1, 0xa7, 0x08, 0x82, 0x81, 0xcf, 0xbb, 0x01, 0x22, 0x04, 0x22, 0x04, - 0x22, 0x04, 0x22, 0x24, 0x3b, 0xed, 0x91, 0xed, 0xf2, 0x03, 0x81, 0x50, 0x70, 0x4f, 0x40, 0xd3, - 0x34, 0x21, 0xa9, 0xcb, 0xbe, 0xc4, 0xdc, 0x4e, 0x8d, 0x3a, 0x84, 0x75, 0x69, 0x27, 0xc4, 0xa1, - 0xad, 0x4b, 0xfb, 0x11, 0x15, 0x5e, 0xb9, 0xfc, 0xc8, 0x52, 0x87, 0x5d, 0x4a, 0xba, 0xc5, 0xcf, - 0x8f, 0x80, 0xf1, 0x43, 0xde, 0x11, 0xd8, 0x6d, 0xe2, 0x0c, 0x94, 0x42, 0x2f, 0x88, 0x6b, 0x15, - 0x14, 0x64, 0x83, 0x29, 0x08, 0x17, 0x01, 0x0f, 0x9e, 0xf2, 0x90, 0x67, 0xab, 0x3d, 0xf1, 0xdb, - 0xb6, 0x29, 0x1e, 0xa0, 0x2d, 0x67, 0x07, 0x97, 0xbd, 0xb3, 0xee, 0xe5, 0x3f, 0xb4, 0x20, 0x71, - 0x00, 0xca, 0x05, 0xca, 0x05, 0xca, 0x05, 0xca, 0x45, 0x76, 0xda, 0xe7, 0x8d, 0xf0, 0xba, 0x00, - 0x21, 0x3b, 0x2f, 0x66, 0x1a, 0x2d, 0x01, 0x6d, 0x9f, 0xb8, 0xd1, 0x48, 0xdc, 0x9d, 0xba, 0xf6, - 0xae, 0x26, 0x99, 0xc4, 0x44, 0xc2, 0xe4, 0x5a, 0x3d, 0xde, 0x89, 0x99, 0xc2, 0x10, 0x88, 0xf7, - 0x1b, 0x71, 0x3f, 0x57, 0x27, 0x47, 0x17, 0xe7, 0xc7, 0xe4, 0xaa, 0x49, 0x30, 0x5f, 0xa9, 0x5d, - 0x7b, 0xbd, 0x44, 0x10, 0x08, 0xdc, 0x86, 0xd9, 0x0e, 0x08, 0x65, 0x0e, 0x73, 0xeb, 0xdf, 0xd1, - 0x1a, 0x8a, 0x00, 0xfb, 0x31, 0x80, 0xbd, 0x62, 0xc0, 0xbe, 0x54, 0xa1, 0x2e, 0x82, 0x36, 0x48, - 0xcc, 0x43, 0xb5, 0x58, 0x23, 0xee, 0xa4, 0x51, 0xea, 0xb3, 0xef, 0x32, 0xbd, 0x5f, 0x13, 0xb7, - 0x3b, 0x14, 0x0f, 0xa7, 0x09, 0xe3, 0x85, 0xe8, 0xe3, 0x84, 0x88, 0xa9, 0x09, 0xc2, 0x0d, 0x11, - 0x6e, 0x28, 0x9b, 0x62, 0x94, 0x4b, 0x06, 0x93, 0x53, 0x09, 0x82, 0x97, 0x83, 0x7f, 0x24, 0x0c, - 0xfb, 0x84, 0x6d, 0xbe, 0xf2, 0xd2, 0xd0, 0xaf, 0x92, 0x38, 0x9f, 0x14, 0x39, 0x21, 0x97, 0xe8, - 0xeb, 0xd4, 0xc6, 0x5c, 0x79, 0x5f, 0xa9, 0x85, 0x7a, 0x13, 0x42, 0x1d, 0x42, 0x7d, 0x03, 0x85, - 0x3a, 0x62, 0xc8, 0x61, 0xbe, 0x16, 0x2c, 0x66, 0x44, 0x8b, 0x1b, 0x69, 0x62, 0x47, 0x9a, 0xf8, - 0x91, 0x21, 0x86, 0xd4, 0x30, 0xcc, 0x20, 0x86, 0xfc, 0x0f, 0x80, 0x14, 0x31, 0xe4, 0xaf, 0x7f, - 0x21, 0x86, 0xbc, 0x12, 0x31, 0xe4, 0xa5, 0x8c, 0x53, 0xf0, 0x02, 0xfb, 0x4e, 0x40, 0xe8, 0xdb, - 0x93, 0x02, 0x9e, 0xb4, 0x0f, 0xa8, 0x03, 0xa8, 0x03, 0xa8, 0x03, 0xa8, 0x43, 0x08, 0x75, 0x52, - 0x3f, 0xbd, 0x10, 0x11, 0xa3, 0xc1, 0x53, 0xff, 0xe7, 0x5e, 0x12, 0x4f, 0xfd, 0xc5, 0xf5, 0x5f, - 0x27, 0x97, 0xe2, 0xfd, 0xf4, 0xd7, 0xdd, 0xeb, 0xde, 0x91, 0xc8, 0x6e, 0x9a, 0x71, 0x37, 0xc7, - 0x7f, 0x1d, 0xf5, 0x45, 0x76, 0xb2, 0x1b, 0x77, 0x72, 0xda, 0x3b, 0xff, 0xf7, 0xcd, 0x69, 0xf7, - 0x1f, 0xb1, 0xcb, 0xd6, 0x4a, 0x4a, 0x26, 0x74, 0xcf, 0x8f, 0x2f, 0xce, 0x10, 0xdb, 0xf0, 0xd2, - 0x52, 0x14, 0x6f, 0x33, 0x99, 0xa1, 0xf4, 0xd5, 0x2e, 0xe6, 0x36, 0xb9, 0xa3, 0xed, 0x0a, 0xec, - 0x68, 0x72, 0xff, 0xc4, 0x46, 0x69, 0x4c, 0x8f, 0x51, 0x47, 0x6b, 0x89, 0x0c, 0x05, 0x99, 0x5c, - 0xf1, 0x8d, 0x8d, 0x03, 0xc1, 0x53, 0x4a, 0x3c, 0xa5, 0x04, 0x5b, 0x00, 0x5b, 0x00, 0x5b, 0x20, - 0x3f, 0xed, 0x78, 0x4a, 0xf9, 0xf2, 0x0b, 0x4f, 0x29, 0x57, 0xeb, 0x07, 0x4f, 0x29, 0x33, 0x1d, - 0x01, 0x3c, 0xa5, 0x54, 0xe3, 0x0c, 0x6c, 0xe6, 0x53, 0x4a, 0xbc, 0x18, 0xa4, 0x61, 0xd1, 0x78, - 0x31, 0x08, 0x66, 0x01, 0x66, 0x01, 0x66, 0xb1, 0xc1, 0xcc, 0x02, 0x2f, 0x06, 0x7f, 0xbf, 0x01, - 0x78, 0x31, 0x58, 0x0e, 0x58, 0x8e, 0x17, 0x83, 0x45, 0xe2, 0x57, 0x3c, 0x8c, 0x5b, 0x49, 0x5d, - 0x55, 0xe0, 0x61, 0xdc, 0xe4, 0x81, 0x40, 0x85, 0x1e, 0x52, 0x3c, 0x04, 0x81, 0x80, 0x97, 0x71, - 0x49, 0xab, 0x48, 0xc5, 0x5f, 0x3a, 0xb0, 0x8d, 0x67, 0x14, 0x45, 0x80, 0xe9, 0x8a, 0x3f, 0xa3, - 0x88, 0x2f, 0xbb, 0x7e, 0x17, 0x78, 0x91, 0xc0, 0xe7, 0x14, 0x73, 0x7d, 0x88, 0xe1, 0xf8, 0x0d, - 0x70, 0x7c, 0x70, 0x7c, 0x70, 0xfc, 0xf2, 0x71, 0x7c, 0x6a, 0x71, 0x95, 0x36, 0x4c, 0x5c, 0x88, - 0x68, 0xe9, 0x65, 0x22, 0x2d, 0x4c, 0x24, 0x49, 0x7c, 0x09, 0x17, 0x63, 0x32, 0xc4, 0x99, 0x34, - 0xb1, 0x26, 0x4b, 0xbc, 0x49, 0x17, 0x73, 0xd2, 0xc5, 0x9d, 0x4c, 0xb1, 0x27, 0xce, 0x1c, 0x20, - 0xd2, 0xce, 0x23, 0x4a, 0x1c, 0xa6, 0x1d, 0x18, 0xa6, 0xc9, 0x7c, 0xae, 0x8f, 0x3c, 0x4b, 0xc2, - 0x41, 0x4e, 0x8b, 0x34, 0xce, 0x75, 0x2a, 0xf8, 0x64, 0x89, 0xf4, 0x6a, 0x2d, 0x74, 0x96, 0xb8, - 0x77, 0x6b, 0x42, 0xfb, 0x19, 0x08, 0x5e, 0x2f, 0x31, 0x3e, 0x30, 0xe9, 0x8a, 0x46, 0xa6, 0xc2, - 0x91, 0xae, 0x78, 0x64, 0x2b, 0xa0, 0xc2, 0x14, 0x51, 0x61, 0x0a, 0xa9, 0x08, 0xc5, 0x24, 0x56, - 0x41, 0x09, 0x56, 0x54, 0xe9, 0x82, 0x09, 0xf3, 0xd1, 0x2d, 0xbd, 0x6d, 0xb7, 0x9e, 0xe7, 0x30, - 0xc3, 0x95, 0x71, 0xdf, 0x66, 0xe8, 0xbb, 0xa1, 0xf4, 0x16, 0x09, 0x4e, 0x29, 0xb8, 0xd0, 0x9f, - 0xb4, 0x14, 0x83, 0xf2, 0x6e, 0x92, 0xc8, 0x68, 0x3b, 0xc3, 0x7a, 0x60, 0x01, 0xb7, 0x43, 0x16, - 0xcb, 0x9d, 0x89, 0x4f, 0xe3, 0xc1, 0x70, 0x24, 0x82, 0xb3, 0xd7, 0xfb, 0xaf, 0x12, 0x4e, 0x6b, - 0xd4, 0xeb, 0x40, 0x69, 0x40, 0x69, 0x40, 0x69, 0x40, 0x69, 0x40, 0x69, 0x72, 0x6e, 0x5b, 0x64, - 0xbb, 0xbc, 0xd1, 0x96, 0x08, 0xd2, 0xda, 0x12, 0xba, 0x12, 0xfb, 0xa8, 0xe3, 0xe5, 0x97, 0x1c, - 0xf1, 0xa1, 0xc9, 0x7a, 0xf4, 0xb1, 0xd0, 0xe9, 0xec, 0x05, 0x40, 0xe3, 0xad, 0xdc, 0x7e, 0x65, - 0x3f, 0x08, 0x58, 0xbc, 0x23, 0xb2, 0x1e, 0x08, 0x48, 0x16, 0x33, 0xcf, 0x8f, 0x94, 0xf1, 0xa3, - 0xb8, 0x23, 0xd5, 0xaa, 0x1f, 0xee, 0xe1, 0x54, 0xc9, 0x3a, 0x55, 0x6f, 0xaa, 0xd1, 0xcb, 0x00, - 0x2c, 0x1f, 0x2c, 0x5f, 0xd4, 0x72, 0xf9, 0x01, 0x63, 0x23, 0x9f, 0xcb, 0xa3, 0xf5, 0xb3, 0x0e, - 0xab, 0xc4, 0xe3, 0x63, 0x8a, 0x01, 0x22, 0x0f, 0x22, 0x0f, 0x22, 0x0f, 0x22, 0x0f, 0x22, 0x2f, - 0xe7, 0xb6, 0xc1, 0xdd, 0x02, 0x20, 0x56, 0x41, 0x20, 0xa6, 0x5b, 0xcc, 0x31, 0x1e, 0xa5, 0xc3, - 0xb1, 0x69, 0xb7, 0x55, 0x02, 0x65, 0x70, 0xad, 0x00, 0x91, 0x01, 0x91, 0x01, 0x91, 0x01, 0x91, - 0x49, 0xba, 0x6d, 0x70, 0xad, 0xe4, 0xfe, 0xda, 0x14, 0xd7, 0x4a, 0x1d, 0x46, 0x70, 0x49, 0x5f, - 0x1b, 0xe3, 0x5a, 0xd9, 0x6d, 0xd7, 0x71, 0xaa, 0xa4, 0x9d, 0x2a, 0xb8, 0x56, 0xc0, 0xe8, 0xc1, - 0xe8, 0xff, 0xc4, 0xe8, 0x6d, 0x2f, 0xb0, 0xb9, 0x54, 0x32, 0x3f, 0xed, 0x11, 0x41, 0x92, 0x60, - 0xf2, 0x60, 0xf2, 0x60, 0xf2, 0x60, 0xf2, 0x60, 0xf2, 0x19, 0x99, 0xfc, 0x81, 0x44, 0x22, 0xbf, - 0x07, 0x22, 0xaf, 0x28, 0x91, 0x47, 0x8c, 0x24, 0x88, 0x3c, 0xf1, 0x91, 0x6a, 0xee, 0xb5, 0x70, - 0xa8, 0xc0, 0xe3, 0xc1, 0xe3, 0xc1, 0xe3, 0xcb, 0xc1, 0xe3, 0x1f, 0xec, 0x80, 0x47, 0x86, 0x93, - 0x96, 0x40, 0x96, 0x46, 0xe7, 0x5f, 0x76, 0x0c, 0x9e, 0x0a, 0x9e, 0x0a, 0x9e, 0x0a, 0x9e, 0x0a, - 0x9e, 0xba, 0x50, 0xae, 0x55, 0x66, 0x18, 0xe0, 0xa1, 0x84, 0xbe, 0xa6, 0x6b, 0x59, 0x39, 0xb2, - 0xfa, 0x5a, 0x82, 0xfb, 0x9a, 0x44, 0x66, 0x33, 0xdb, 0xc3, 0x03, 0x89, 0x7d, 0x8a, 0xae, 0x87, - 0xbf, 0xb4, 0x63, 0x59, 0x55, 0xf2, 0x6b, 0xd2, 0xa6, 0x35, 0x90, 0xb9, 0x6d, 0x17, 0x57, 0xbd, - 0xbf, 0x0b, 0xdb, 0xbb, 0xff, 0x6e, 0xc9, 0xda, 0xbd, 0xed, 0x7f, 0x49, 0xdc, 0xbf, 0x37, 0x15, - 0x32, 0x95, 0x14, 0x23, 0x36, 0xdb, 0x10, 0x9b, 0xa2, 0xc5, 0x66, 0x72, 0x8b, 0x0c, 0x7d, 0xd8, - 0xd5, 0x3f, 0x0c, 0x7e, 0x36, 0xde, 0xb6, 0xc6, 0x9d, 0xed, 0x9f, 0xfb, 0xe3, 0x97, 0xbf, 0xfc, - 0xf5, 0xda, 0x9f, 0x35, 0xde, 0xee, 0x8f, 0x3b, 0x4b, 0xfe, 0xa5, 0x3d, 0xee, 0xac, 0xd8, 0xc6, - 0xde, 0x78, 0x6b, 0xe1, 0x4f, 0xe3, 0xdf, 0x37, 0x97, 0x7d, 0xa0, 0xb5, 0xe4, 0x03, 0xbb, 0xcb, - 0x3e, 0xb0, 0xbb, 0xe4, 0x03, 0x4b, 0x87, 0xd4, 0x5c, 0xf2, 0x81, 0xbd, 0xf1, 0xaf, 0x85, 0xbf, - 0xdf, 0x7a, 0xfd, 0x4f, 0xdb, 0xe3, 0xed, 0x5f, 0xcb, 0xfe, 0x6d, 0x7f, 0xfc, 0xab, 0xb3, 0xbd, - 0x0d, 0x45, 0x22, 0x4c, 0x91, 0xe0, 0x38, 0xcb, 0x3f, 0xce, 0xd5, 0x53, 0xac, 0x30, 0xe4, 0xfe, - 0xf6, 0xae, 0x9d, 0xda, 0x21, 0xef, 0x72, 0x1e, 0xc8, 0x61, 0xc1, 0x67, 0xb6, 0x7b, 0xe2, 0x24, - 0xd9, 0xd1, 0x24, 0xf9, 0x2c, 0x6a, 0x67, 0xc6, 0x8f, 0xb9, 0x1e, 0x1b, 0x07, 0xad, 0x56, 0x7b, - 0xbf, 0xd5, 0xaa, 0xef, 0xef, 0xee, 0xd7, 0x0f, 0xf7, 0xf6, 0x1a, 0xed, 0x86, 0x0c, 0x47, 0xee, - 0x45, 0x60, 0xb1, 0x80, 0x59, 0xef, 0x1f, 0x6b, 0x1d, 0xcd, 0x8d, 0x1c, 0x47, 0x66, 0x97, 0x9f, - 0x42, 0x16, 0x48, 0x71, 0xd2, 0xc0, 0xe5, 0x50, 0x7a, 0x91, 0x25, 0xc3, 0xe5, 0x10, 0x78, 0x11, - 0x67, 0x81, 0x6e, 0x5b, 0xf2, 0x9d, 0x0e, 0x4f, 0x5d, 0xc3, 0xed, 0xb0, 0x1e, 0xdc, 0x83, 0xdb, - 0x81, 0xf0, 0x70, 0xc0, 0xed, 0x00, 0xb7, 0xc3, 0xef, 0x17, 0x0c, 0xe1, 0x71, 0x14, 0x5d, 0x21, - 0x3c, 0x8e, 0xb2, 0x53, 0x84, 0xc7, 0x21, 0x3c, 0x4e, 0xd0, 0x91, 0x6a, 0xee, 0x21, 0x83, 0xa0, - 0xb4, 0x43, 0x05, 0xab, 0x0a, 0xb8, 0x6a, 0x25, 0xb8, 0xaa, 0x52, 0xc5, 0xa6, 0x24, 0x6d, 0xb8, - 0xd4, 0x0a, 0xce, 0x0f, 0x41, 0xe0, 0xef, 0x3c, 0x95, 0x13, 0xdd, 0x99, 0x96, 0xe7, 0x53, 0xa5, - 0xd2, 0xb8, 0x80, 0xa2, 0x9c, 0xe9, 0x92, 0xe9, 0x3c, 0x30, 0xcc, 0x6f, 0x22, 0xcb, 0xf9, 0x3f, - 0xf9, 0x4f, 0x17, 0xfb, 0x44, 0x81, 0xc4, 0xa2, 0xac, 0x18, 0x28, 0x90, 0xa8, 0x9c, 0x95, 0x02, - 0x05, 0x12, 0x97, 0x2d, 0x8c, 0xf0, 0x02, 0x89, 0x82, 0xeb, 0xc6, 0x2e, 0x5c, 0x4a, 0xa1, 0xf5, - 0x63, 0x25, 0x89, 0x49, 0x69, 0xe2, 0x52, 0xa6, 0xd8, 0x94, 0x2e, 0x3e, 0x65, 0x8b, 0xd1, 0xc2, - 0xc4, 0x69, 0x61, 0x62, 0xb5, 0x08, 0xf1, 0x2a, 0x87, 0x7d, 0x8a, 0xe6, 0x86, 0xa2, 0xc5, 0x6e, - 0xda, 0xd1, 0x2c, 0xb5, 0x86, 0x6e, 0x31, 0x33, 0x60, 0xd3, 0x3d, 0x92, 0x74, 0x0f, 0x5e, 0xa6, - 0xf7, 0x98, 0x1b, 0x83, 0xa4, 0x73, 0x29, 0x33, 0xe1, 0x47, 0xda, 0x69, 0x5d, 0x4e, 0xf8, 0x8c, - 0xa4, 0x50, 0x30, 0x49, 0x7e, 0x4e, 0xe9, 0x2a, 0xaf, 0x08, 0xd5, 0x57, 0x98, 0x0a, 0x2c, 0x4a, - 0x15, 0x16, 0xae, 0x12, 0x0b, 0x57, 0x8d, 0x45, 0xaa, 0x48, 0x39, 0xaa, 0x52, 0x92, 0xca, 0x4c, - 0x17, 0x52, 0x9a, 0xdf, 0x74, 0xe1, 0xb6, 0xca, 0xf2, 0x9f, 0xbe, 0x14, 0xbd, 0x12, 0x1d, 0x27, - 0x92, 0xfd, 0xa9, 0xb3, 0x2f, 0xb9, 0xd2, 0x48, 0x2b, 0xca, 0xbf, 0x9a, 0x76, 0x5e, 0x50, 0x3e, - 0xd1, 0xb4, 0xff, 0xa2, 0x5d, 0x63, 0x4f, 0x57, 0xab, 0x28, 0x17, 0x99, 0x64, 0xa9, 0xf5, 0xfc, - 0xe8, 0x15, 0xe0, 0x87, 0x5d, 0x38, 0x7a, 0xd2, 0xd3, 0x95, 0xe0, 0xf0, 0x15, 0xa4, 0x98, 0xe5, - 0xf7, 0x56, 0xa9, 0xe7, 0x72, 0xb2, 0xfd, 0xb8, 0x69, 0xbf, 0x85, 0xf9, 0x73, 0xe5, 0x1d, 0x18, - 0x09, 0x5b, 0x58, 0x4b, 0x3c, 0x66, 0x4f, 0x9e, 0x51, 0xf9, 0xe6, 0x8f, 0x97, 0x03, 0x00, 0x6f, - 0x07, 0x6f, 0x07, 0x6f, 0x07, 0x6f, 0x07, 0x6f, 0x97, 0x74, 0x5b, 0x63, 0xad, 0x19, 0xb0, 0x61, - 0x11, 0x0f, 0xcf, 0xf7, 0xe5, 0x3e, 0x3c, 0x9f, 0x06, 0x04, 0x99, 0xba, 0x3d, 0xec, 0xcc, 0x05, - 0xfa, 0xbc, 0xf8, 0xc5, 0xf4, 0x67, 0x37, 0x5e, 0x9e, 0x4a, 0x1d, 0x31, 0xa9, 0xef, 0x18, 0xe7, - 0x2d, 0x09, 0x72, 0xdf, 0x33, 0xce, 0x13, 0xc9, 0xc2, 0xdf, 0x35, 0xa6, 0x83, 0x91, 0xff, 0xbe, - 0x71, 0xb1, 0x6b, 0x69, 0xef, 0x1c, 0xc1, 0x41, 0xaa, 0xc3, 0x41, 0x10, 0x64, 0xbc, 0x46, 0x7f, - 0x45, 0xc6, 0x9e, 0x2e, 0x46, 0x41, 0x0a, 0x0d, 0x47, 0x15, 0x7f, 0x40, 0x44, 0x3e, 0xc5, 0x0d, - 0xb9, 0xc1, 0x99, 0xbc, 0xb0, 0xab, 0x49, 0x77, 0x15, 0x8b, 0xba, 0x6a, 0x22, 0xea, 0x4a, 0x19, - 0xca, 0x8a, 0xa8, 0x2b, 0x44, 0x5d, 0xfd, 0x69, 0xc1, 0x10, 0x75, 0x25, 0x65, 0x04, 0x88, 0xba, - 0x22, 0x53, 0x75, 0xb0, 0xde, 0x2a, 0xac, 0x02, 0x8b, 0x52, 0x85, 0x85, 0xab, 0xc4, 0xc2, 0x55, - 0x63, 0x91, 0x2a, 0x52, 0x1e, 0x73, 0xd5, 0x10, 0x75, 0x25, 0x50, 0xf4, 0x22, 0xea, 0x4a, 0xc0, - 0x44, 0x11, 0x75, 0x85, 0xc0, 0x17, 0x44, 0x5d, 0xe1, 0xf0, 0x21, 0xea, 0x4a, 0x00, 0x35, 0x41, - 0x50, 0xd0, 0xca, 0x87, 0x10, 0x41, 0x41, 0xa0, 0x95, 0xa0, 0x95, 0xa0, 0x95, 0xa0, 0x95, 0x9b, - 0x4a, 0x2b, 0x11, 0x14, 0x84, 0xa0, 0x20, 0xb1, 0x44, 0x17, 0x41, 0x41, 0x9b, 0x1a, 0x14, 0x04, - 0x37, 0xdc, 0xef, 0xb5, 0xe7, 0x66, 0xc7, 0xac, 0x4c, 0x42, 0x25, 0x90, 0x91, 0x4f, 0xfc, 0x89, - 0xdb, 0x88, 0x8c, 0x7c, 0xd2, 0x72, 0xc3, 0x4d, 0x66, 0xca, 0x83, 0xc8, 0xe4, 0xee, 0x14, 0x44, - 0xf5, 0x66, 0x7d, 0xdf, 0x5c, 0xcd, 0x8d, 0xfc, 0xa6, 0xe7, 0x3f, 0xb4, 0x6e, 0xba, 0x93, 0xf1, - 0xde, 0x7c, 0x0e, 0x02, 0xff, 0x63, 0x3c, 0xd2, 0x9b, 0xf4, 0xaf, 0xaf, 0x67, 0x03, 0xdd, 0xe0, - 0x34, 0x82, 0x62, 0xe3, 0xb3, 0xa4, 0xc4, 0x65, 0x49, 0x4b, 0x16, 0xd8, 0x44, 0xb2, 0xc0, 0xd2, - 0x58, 0x03, 0x90, 0x2c, 0x70, 0x73, 0xd5, 0xa9, 0xf0, 0x64, 0x81, 0x86, 0x69, 0x32, 0x9f, 0xeb, - 0x23, 0xcf, 0x92, 0x18, 0xba, 0x3a, 0xdf, 0xa9, 0xe8, 0x00, 0x34, 0x89, 0x91, 0x51, 0xb5, 0x84, - 0xf0, 0x88, 0xc5, 0x99, 0x03, 0xd4, 0xd8, 0x29, 0x9b, 0xc2, 0x91, 0xae, 0x78, 0x64, 0x2b, 0xa0, - 0xc2, 0x14, 0x51, 0x61, 0x0a, 0xa9, 0x08, 0xc5, 0x54, 0x0d, 0x4b, 0x83, 0xfc, 0x1a, 0x3b, 0xb7, - 0x9e, 0xe7, 0x30, 0xc3, 0x95, 0x59, 0xd7, 0xbf, 0x81, 0xd7, 0x2f, 0x8b, 0x40, 0xc2, 0x7a, 0x60, - 0x01, 0xb7, 0xc3, 0xc4, 0x0e, 0x3a, 0x21, 0xe1, 0x0f, 0x86, 0x23, 0x11, 0x53, 0xbc, 0xde, 0x7f, - 0x95, 0xe0, 0x45, 0xa3, 0x5e, 0x07, 0xb8, 0x00, 0xb8, 0x00, 0xb8, 0x00, 0xb8, 0x00, 0xb8, 0x90, - 0x73, 0xdb, 0x22, 0xdb, 0xe5, 0x8d, 0xb6, 0x44, 0x6c, 0xd1, 0x46, 0x05, 0xbf, 0xec, 0x13, 0x43, - 0x05, 0x3f, 0x99, 0x03, 0x40, 0x05, 0x3f, 0xd1, 0x47, 0xaa, 0x55, 0x3f, 0x44, 0x09, 0x3f, 0x69, - 0xa7, 0x0a, 0x25, 0xfc, 0x2a, 0x4b, 0x4e, 0xcd, 0x28, 0x08, 0x62, 0x5a, 0x38, 0x7b, 0xa1, 0x2b, - 0xb1, 0x38, 0xce, 0xcb, 0x9e, 0x41, 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x50, - 0x23, 0x1d, 0x0c, 0x6b, 0x2d, 0x38, 0x5c, 0x07, 0x16, 0x06, 0xc3, 0xa2, 0x3d, 0x52, 0xa8, 0x91, - 0x0e, 0x82, 0x05, 0x82, 0x95, 0xff, 0x50, 0xf9, 0x01, 0x63, 0x23, 0x9f, 0xcb, 0xe3, 0x55, 0xb3, - 0x0e, 0xab, 0xe4, 0xdf, 0x8b, 0x71, 0x31, 0x1c, 0x7c, 0x60, 0x9f, 0x60, 0x9f, 0x60, 0x9f, 0x60, - 0x9f, 0x72, 0x6e, 0x1b, 0xa2, 0x87, 0xca, 0x84, 0x1f, 0x74, 0x8b, 0x39, 0xc6, 0xa3, 0x74, 0x14, - 0x31, 0xed, 0xb6, 0x4a, 0x58, 0x02, 0x91, 0x42, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00, 0x12, - 0x92, 0x6e, 0x1b, 0x22, 0x85, 0x72, 0x7f, 0xc1, 0x8e, 0x2d, 0xa6, 0x5f, 0xd8, 0xb1, 0xa5, 0x1c, - 0xa9, 0x22, 0xed, 0xd8, 0xbb, 0xed, 0x3a, 0x4e, 0x95, 0xb4, 0x53, 0x05, 0x43, 0x76, 0x85, 0x89, - 0xa8, 0xec, 0x08, 0x21, 0x59, 0x91, 0x41, 0x78, 0xaa, 0x02, 0x02, 0x0a, 0x02, 0x0a, 0x02, 0x0a, - 0x02, 0xaa, 0x21, 0x8e, 0x8a, 0x40, 0x34, 0x22, 0x8e, 0x4a, 0x55, 0xfe, 0x89, 0x97, 0x2a, 0xe0, - 0x9f, 0xc4, 0x47, 0x4a, 0x7a, 0x96, 0x7d, 0xd0, 0x4f, 0xd0, 0xcf, 0x0a, 0xd2, 0xcf, 0x07, 0x3b, - 0xe0, 0x91, 0xe1, 0xe8, 0xd3, 0xd4, 0x83, 0xf2, 0x58, 0xe8, 0xcb, 0x8e, 0x41, 0xaf, 0x40, 0xaf, - 0x40, 0xaf, 0x40, 0xaf, 0x40, 0xaf, 0xa6, 0xb7, 0xcd, 0xf6, 0x25, 0xc9, 0xc6, 0x79, 0xf9, 0xd8, - 0x38, 0x94, 0xd0, 0xd7, 0x74, 0x2d, 0x2b, 0xc7, 0xb1, 0x9e, 0x76, 0xee, 0xa1, 0x25, 0x71, 0xef, - 0x16, 0xf6, 0xf0, 0x40, 0x6e, 0xf1, 0x01, 0xce, 0x02, 0x57, 0x7a, 0x61, 0xbb, 0xda, 0xd6, 0x97, - 0xba, 0x7e, 0x38, 0xf8, 0xf5, 0xa5, 0xa1, 0x1f, 0x0e, 0x26, 0xdf, 0x36, 0x92, 0xff, 0xfd, 0x6c, - 0x8e, 0x7f, 0x35, 0xbf, 0xd4, 0xf5, 0xd6, 0xf4, 0xb7, 0xcd, 0xbd, 0x2f, 0x75, 0x7d, 0x6f, 0xb0, - 0xbd, 0xf5, 0xf5, 0xeb, 0xbb, 0x75, 0x3f, 0xb3, 0xfd, 0x73, 0x77, 0x2c, 0xaf, 0xec, 0xc7, 0x40, - 0xe6, 0xb6, 0x5d, 0x5c, 0xf5, 0xfe, 0x2e, 0x6c, 0xef, 0xfe, 0xbb, 0x25, 0x6b, 0xf7, 0xb6, 0xff, - 0x55, 0xab, 0x5a, 0x71, 0xae, 0xb7, 0x15, 0x16, 0x9b, 0x6d, 0x88, 0x4d, 0xd1, 0x62, 0x33, 0xb9, - 0x45, 0x86, 0x3e, 0xec, 0xea, 0x1f, 0x06, 0x3f, 0x1b, 0x6f, 0x5b, 0xe3, 0xce, 0xf6, 0xcf, 0xfd, - 0xf1, 0xcb, 0x5f, 0xfe, 0x7a, 0xed, 0xcf, 0x1a, 0x6f, 0xf7, 0xc7, 0x9d, 0x25, 0xff, 0xd2, 0x1e, - 0x77, 0x56, 0x6c, 0x63, 0x6f, 0xbc, 0xb5, 0xf0, 0xa7, 0xf1, 0xef, 0x9b, 0xcb, 0x3e, 0xd0, 0x5a, - 0xf2, 0x81, 0xdd, 0x65, 0x1f, 0xd8, 0x5d, 0xf2, 0x81, 0xa5, 0x43, 0x6a, 0x2e, 0xf9, 0xc0, 0xde, - 0xf8, 0xd7, 0xc2, 0xdf, 0x6f, 0xbd, 0xfe, 0xa7, 0xed, 0xf1, 0xf6, 0xaf, 0x65, 0xff, 0xb6, 0x3f, - 0xfe, 0xd5, 0xd9, 0xde, 0x86, 0x22, 0x11, 0xa6, 0x48, 0x70, 0x9c, 0xe5, 0x1f, 0xe7, 0xea, 0x29, - 0x56, 0xd5, 0xed, 0x8f, 0x82, 0x19, 0xb0, 0xd4, 0x22, 0x5b, 0xf2, 0x8b, 0x6b, 0x95, 0xa2, 0xa8, - 0x56, 0x01, 0xc5, 0xb4, 0x0a, 0x28, 0xa2, 0xa5, 0xb6, 0xa5, 0x3c, 0xf0, 0x22, 0xce, 0x02, 0xdd, - 0xb6, 0xe4, 0xdb, 0xca, 0x9f, 0xba, 0x86, 0xb5, 0x7c, 0x3d, 0x94, 0x02, 0x6b, 0x39, 0xe1, 0xe1, - 0x80, 0xb5, 0x1c, 0xd6, 0xf2, 0x95, 0x2c, 0xbc, 0x08, 0x46, 0xca, 0xd5, 0x15, 0x82, 0x91, 0x28, - 0x3b, 0x45, 0x30, 0x12, 0x82, 0x91, 0x04, 0x1d, 0x29, 0x24, 0x75, 0x42, 0x30, 0x52, 0xc9, 0x8c, - 0x01, 0x28, 0x67, 0xa7, 0x6d, 0x4a, 0x75, 0x58, 0x81, 0xc5, 0x86, 0xd5, 0xa8, 0xb3, 0x2a, 0x8f, - 0x99, 0x4b, 0x67, 0xe4, 0x82, 0x99, 0xb8, 0x70, 0x06, 0x8e, 0xfa, 0xab, 0x2a, 0x30, 0x6c, 0xd4, - 0x5f, 0x2d, 0x8d, 0xc2, 0x12, 0xce, 0x9c, 0xd3, 0xdb, 0xe2, 0x30, 0x63, 0x18, 0xb0, 0xa1, 0xc8, - 0xfb, 0x32, 0xf3, 0xac, 0xef, 0x0b, 0xec, 0xa3, 0x3f, 0xd5, 0xb9, 0xef, 0xde, 0xed, 0x4c, 0x34, - 0xee, 0xce, 0xa2, 0x6c, 0x56, 0x45, 0x37, 0xbe, 0x29, 0xf1, 0x09, 0x8d, 0x85, 0x92, 0x0c, 0xcd, - 0x27, 0xd6, 0xcf, 0x24, 0xde, 0xaf, 0x54, 0x88, 0x1f, 0x49, 0x82, 0xdf, 0x48, 0x82, 0x9f, 0x88, - 0xfa, 0xc4, 0x0a, 0x06, 0xff, 0x45, 0x82, 0x7e, 0x01, 0x52, 0xbb, 0x16, 0xf2, 0x20, 0x32, 0xb9, - 0x3b, 0x55, 0x0f, 0xbd, 0xd9, 0x88, 0x6e, 0xae, 0xe6, 0x86, 0x77, 0xd3, 0xf3, 0x1f, 0x5a, 0x37, - 0xdd, 0xc9, 0xa0, 0x6e, 0x3e, 0x07, 0x81, 0xff, 0x31, 0x19, 0xce, 0x9b, 0x72, 0xca, 0x41, 0x9a, - 0x96, 0x88, 0xce, 0x65, 0x8d, 0xfd, 0xe0, 0x81, 0xa1, 0x47, 0x6e, 0xc8, 0x8d, 0x5b, 0x87, 0x56, - 0xcb, 0xd7, 0x02, 0x36, 0x64, 0x01, 0x73, 0x4d, 0x7a, 0x7b, 0xb1, 0x80, 0x8b, 0x33, 0x83, 0x20, - 0x97, 0x1f, 0x8e, 0xb4, 0xbd, 0xfd, 0xc3, 0x03, 0x4d, 0xd7, 0x3e, 0x4f, 0xd4, 0x8a, 0x76, 0x99, - 0xa8, 0x15, 0xed, 0x92, 0x59, 0x91, 0x6b, 0x19, 0xae, 0xf9, 0xa8, 0xf5, 0x03, 0x8f, 0x7b, 0xa6, - 0xe7, 0x7c, 0x75, 0xb7, 0x3e, 0x5f, 0x5e, 0xf6, 0xb7, 0xb5, 0xcf, 0x2c, 0x08, 0x6d, 0xcf, 0xd5, - 0x76, 0xb5, 0xa1, 0x17, 0x68, 0xbd, 0xfe, 0x43, 0x4b, 0x33, 0x5c, 0x2b, 0xfe, 0x46, 0x44, 0x36, - 0x2c, 0xd1, 0xa0, 0x7f, 0x1e, 0xec, 0x3f, 0x6d, 0xa2, 0x20, 0x74, 0x29, 0x0b, 0xe7, 0x3f, 0xc3, - 0xf7, 0xf4, 0xbb, 0x5c, 0x76, 0xe4, 0xf5, 0xa6, 0x5c, 0x46, 0x42, 0x2a, 0xf9, 0x25, 0x48, 0x9f, - 0x4a, 0xd7, 0xa3, 0x34, 0xe7, 0x27, 0xff, 0x2e, 0xe7, 0x6b, 0x21, 0xe7, 0xae, 0xce, 0xf0, 0x7c, - 0x6e, 0x8b, 0x09, 0x2d, 0x60, 0xa7, 0x07, 0xe8, 0x52, 0x00, 0xb9, 0x00, 0x00, 0x2e, 0x00, 0x70, - 0xe7, 0x3d, 0x32, 0xdd, 0xe8, 0x2e, 0x5e, 0x46, 0x66, 0x91, 0x80, 0x0c, 0x1a, 0x09, 0x92, 0x82, - 0x89, 0x1d, 0xcf, 0xd4, 0xed, 0x61, 0x67, 0x4e, 0x1e, 0xbc, 0xf8, 0xc5, 0xf4, 0xe7, 0xe7, 0x32, - 0x63, 0xf1, 0x77, 0xc9, 0xaf, 0xfc, 0x4e, 0x22, 0x3f, 0x26, 0xdf, 0x3e, 0x49, 0x91, 0x67, 0x3f, - 0x13, 0x29, 0xe9, 0xda, 0x31, 0x0b, 0xcd, 0xc0, 0xf6, 0xa7, 0x72, 0xb5, 0xd6, 0xb5, 0x2c, 0x3b, - 0xfe, 0xde, 0x70, 0xb4, 0x5e, 0x5f, 0x8b, 0xfb, 0xd2, 0x86, 0xc6, 0xc8, 0x76, 0x1e, 0xb5, 0x89, - 0x50, 0x8c, 0x82, 0x44, 0x04, 0xc7, 0x6a, 0xf1, 0xab, 0xfb, 0x34, 0x13, 0xaa, 0xd1, 0xcc, 0x6c, - 0x36, 0x44, 0xcd, 0x51, 0x1b, 0x98, 0x45, 0x18, 0x94, 0x85, 0x19, 0x90, 0x45, 0x61, 0x47, 0xe1, - 0x06, 0x62, 0xe1, 0x40, 0x51, 0xa4, 0x01, 0xb8, 0x5c, 0xa4, 0xef, 0xd8, 0xa6, 0xb5, 0x64, 0xd5, - 0x12, 0x04, 0x43, 0x7e, 0xa2, 0x52, 0xc7, 0x56, 0xdc, 0x3a, 0xf1, 0x5e, 0xbf, 0x10, 0x70, 0x27, - 0xae, 0xe9, 0x78, 0xa1, 0xed, 0xde, 0xc5, 0x02, 0x8d, 0x1b, 0xb6, 0xcb, 0x82, 0x04, 0xe3, 0xc7, - 0xb8, 0x5f, 0x4b, 0xac, 0x1b, 0xa1, 0x76, 0x6f, 0xb8, 0x96, 0xc3, 0x2c, 0xed, 0xf6, 0x51, 0xe3, - 0xf7, 0x76, 0xf8, 0xd5, 0xed, 0xf5, 0xb5, 0x54, 0xd6, 0x51, 0x8f, 0x8f, 0x56, 0xe4, 0x09, 0x13, - 0x7d, 0x22, 0x45, 0xa0, 0x70, 0x51, 0x58, 0x04, 0x9d, 0x16, 0xea, 0x3b, 0x2b, 0x86, 0x4b, 0x0b, - 0xf2, 0x95, 0x95, 0xdb, 0xf3, 0x20, 0xd0, 0x6e, 0x26, 0xc1, 0x7e, 0x26, 0xce, 0x8e, 0xa6, 0xa4, - 0x3d, 0x4d, 0x96, 0x20, 0x28, 0xc2, 0xbe, 0x26, 0x5d, 0x36, 0xa8, 0x6a, 0x6f, 0x13, 0x23, 0x77, - 0xc4, 0xb5, 0x3a, 0xa8, 0xb6, 0x7f, 0xa3, 0x60, 0x4b, 0xd6, 0x20, 0xaf, 0x59, 0x82, 0xd6, 0x2e, - 0x29, 0xd3, 0x1e, 0x49, 0x20, 0x88, 0xd6, 0xf7, 0xdb, 0xe5, 0xbb, 0xcf, 0xd9, 0xf7, 0x3a, 0xdb, - 0x27, 0x33, 0xa2, 0x09, 0xaa, 0x53, 0x21, 0xe3, 0x34, 0x64, 0xdb, 0x90, 0xf5, 0x97, 0x33, 0xc3, - 0x52, 0xd6, 0xcc, 0x19, 0x8b, 0xc9, 0xb6, 0x84, 0x29, 0x36, 0x99, 0xb6, 0x93, 0x71, 0x33, 0xf3, - 0x51, 0xb4, 0xdc, 0x54, 0x8c, 0x82, 0x72, 0x91, 0x51, 0x2b, 0x2a, 0xe4, 0x44, 0x4e, 0x95, 0xc8, - 0x61, 0x0f, 0x25, 0xf5, 0x91, 0x2b, 0x7c, 0xf2, 0x5a, 0x7d, 0x6a, 0xd6, 0xbd, 0xe9, 0xeb, 0xa6, - 0x63, 0x4f, 0x26, 0x9f, 0x73, 0xa3, 0x67, 0x27, 0x6f, 0xbe, 0xd1, 0x9c, 0x3b, 0x43, 0x59, 0xdc, - 0xa1, 0x96, 0x78, 0x36, 0x6a, 0x85, 0x62, 0x08, 0x9a, 0x38, 0x6b, 0x32, 0x9b, 0x0f, 0xa5, 0x8d, - 0x87, 0xdc, 0xa6, 0x43, 0x4d, 0xdd, 0x84, 0xd9, 0x6c, 0x84, 0xf1, 0x30, 0x11, 0x36, 0x99, 0x62, - 0xbd, 0xc1, 0x64, 0x71, 0xc7, 0x02, 0x0a, 0xdd, 0x12, 0x15, 0xb2, 0x1d, 0x97, 0x8c, 0x66, 0x3c, - 0xde, 0x79, 0x5c, 0xf7, 0x4c, 0xdd, 0xf4, 0x46, 0x7e, 0x82, 0x03, 0x2d, 0xdd, 0x61, 0xc6, 0x30, - 0x6e, 0x7c, 0x5c, 0x14, 0x42, 0xcf, 0x81, 0x4a, 0x98, 0x6b, 0xdc, 0x3a, 0xcc, 0xa2, 0xd3, 0x56, - 0xb3, 0x06, 0xcb, 0xa4, 0xa9, 0xf2, 0x57, 0xcc, 0x87, 0xa2, 0x82, 0xa2, 0x82, 0xa2, 0x82, 0xa2, - 0x82, 0xa2, 0x2a, 0x4a, 0x51, 0xdd, 0x05, 0x06, 0x8f, 0x6c, 0xee, 0x45, 0xa1, 0x6e, 0x04, 0xbe, - 0x6e, 0x98, 0x26, 0xf3, 0x39, 0xa5, 0xe2, 0x5a, 0xd6, 0x01, 0x24, 0x3f, 0x24, 0x3f, 0x24, 0x3f, - 0x24, 0xbf, 0xb8, 0x25, 0x12, 0xe0, 0x29, 0x17, 0xe0, 0x19, 0x17, 0x10, 0xb9, 0x77, 0xf9, 0xe1, - 0x48, 0x3b, 0x68, 0xb6, 0x3b, 0x5a, 0xd7, 0xd5, 0x4e, 0xf8, 0x3d, 0x0b, 0x5c, 0xc6, 0xb5, 0xa9, - 0xbb, 0x43, 0xbb, 0x64, 0xa1, 0xe7, 0x44, 0x49, 0xd0, 0xe4, 0xcc, 0xed, 0xa9, 0x58, 0x90, 0x9f, - 0x28, 0xc7, 0xb5, 0xdc, 0x38, 0xbf, 0xb5, 0x37, 0xa9, 0x72, 0x7e, 0xd2, 0x01, 0x70, 0x61, 0x79, - 0x71, 0xe1, 0x88, 0x47, 0x74, 0x18, 0x30, 0x6e, 0x0c, 0x78, 0x0f, 0x78, 0x0f, 0x78, 0xaf, 0x44, - 0x78, 0x2f, 0xb2, 0x5d, 0xde, 0x68, 0x13, 0xc2, 0xbd, 0x36, 0x41, 0x53, 0xb4, 0x59, 0x1e, 0x09, - 0xb1, 0x95, 0x88, 0x2c, 0x8d, 0x69, 0xca, 0xbc, 0x36, 0x71, 0xb5, 0x0d, 0xe1, 0x19, 0xf1, 0xc4, - 0x65, 0xbc, 0x23, 0x0c, 0x97, 0x15, 0x92, 0x06, 0xf1, 0x69, 0xcf, 0xf6, 0xf6, 0x76, 0xf7, 0xb0, - 0x6d, 0xc0, 0x94, 0x60, 0x9c, 0x13, 0x32, 0xb3, 0x7f, 0xd8, 0xe8, 0x68, 0x49, 0xc0, 0x5d, 0xcc, - 0x64, 0xc0, 0x2d, 0x0b, 0xe6, 0x96, 0x4b, 0xb6, 0x03, 0x37, 0x1e, 0x2c, 0x52, 0xc6, 0x27, 0xab, - 0x1b, 0xa8, 0x3a, 0x8d, 0xdd, 0x2c, 0x71, 0x94, 0xaa, 0xcb, 0xec, 0xbb, 0xfb, 0x5b, 0x2f, 0x08, - 0xf3, 0x07, 0xaa, 0x3e, 0x35, 0x85, 0x58, 0x55, 0xc4, 0xaa, 0x16, 0xc2, 0xbf, 0x15, 0x8b, 0x55, - 0x9d, 0xdd, 0x18, 0x3a, 0xeb, 0x59, 0xda, 0x22, 0x8d, 0x09, 0xad, 0x01, 0x13, 0x1a, 0x4c, 0x68, - 0x9b, 0x68, 0x42, 0xa3, 0x4a, 0x3e, 0x90, 0xf7, 0x15, 0xc8, 0xd2, 0xc3, 0x9b, 0xeb, 0x55, 0x88, - 0xa0, 0xeb, 0x4e, 0x7e, 0xed, 0x45, 0x5c, 0x7f, 0x61, 0x62, 0x40, 0x26, 0xf5, 0x44, 0xee, 0x12, - 0x41, 0x14, 0xb3, 0xac, 0xb9, 0x4b, 0x6c, 0x81, 0x99, 0x4b, 0xc8, 0xd3, 0x55, 0x08, 0xca, 0xbd, - 0x8f, 0xbc, 0x20, 0x32, 0xc5, 0x8d, 0x34, 0xb1, 0x23, 0x4d, 0xfc, 0xc8, 0x10, 0x43, 0xb4, 0xe2, - 0x88, 0x58, 0x2c, 0xa5, 0x0b, 0x20, 0x2c, 0x57, 0xfe, 0x7c, 0x49, 0xfa, 0x96, 0xc0, 0x92, 0xf4, - 0x22, 0x4b, 0xcf, 0x0b, 0x2f, 0x31, 0x5f, 0x4b, 0x8a, 0x4f, 0x0f, 0x7e, 0x7d, 0x69, 0xe8, 0x87, - 0x83, 0xc9, 0xb7, 0x8d, 0xe4, 0x7f, 0x3f, 0x9b, 0xe3, 0x5f, 0xcd, 0x2f, 0x75, 0xbd, 0x35, 0xfd, - 0x6d, 0x73, 0xef, 0x4b, 0x5d, 0xdf, 0x1b, 0x6c, 0x6f, 0x7d, 0xfd, 0xfa, 0x6e, 0xdd, 0xcf, 0x6c, - 0xff, 0xdc, 0x1d, 0xd3, 0x1f, 0xeb, 0x81, 0x88, 0xe5, 0x96, 0x51, 0x08, 0x7d, 0x56, 0xf0, 0x5c, - 0xc2, 0xaa, 0x8b, 0x28, 0xf0, 0x3d, 0xd8, 0xe8, 0x74, 0xf1, 0xc2, 0x0c, 0xdd, 0xe2, 0xa4, 0x36, - 0xa5, 0x6b, 0xda, 0xb1, 0xdd, 0x6f, 0xba, 0x63, 0x3c, 0xb2, 0x20, 0x95, 0xa8, 0xc2, 0xb0, 0xe0, - 0x2b, 0x7d, 0x01, 0x1b, 0x02, 0x1b, 0x02, 0x1b, 0x6e, 0x0c, 0x36, 0x3c, 0x33, 0x5c, 0xcb, 0xe0, - 0x5e, 0xf0, 0x28, 0x20, 0xb1, 0xa3, 0x78, 0xdc, 0xe9, 0xdf, 0x3f, 0x86, 0xc0, 0x9d, 0xbf, 0xc3, - 0x9d, 0x86, 0x3e, 0xec, 0xea, 0x1f, 0x62, 0x04, 0xb3, 0xd5, 0x79, 0xfe, 0xf3, 0xf6, 0xff, 0xdd, - 0xfe, 0x7f, 0x80, 0x8c, 0xf3, 0x90, 0xf1, 0xcf, 0xeb, 0x05, 0xac, 0x07, 0xac, 0x37, 0x46, 0xad, - 0x89, 0x5c, 0x41, 0x12, 0x69, 0xdc, 0x40, 0xfa, 0x5d, 0xae, 0xb8, 0x09, 0xfa, 0xed, 0x21, 0xd8, - 0x1a, 0x4a, 0x03, 0x2e, 0xbd, 0xe1, 0x96, 0x18, 0x94, 0xc3, 0xff, 0x03, 0xff, 0x8f, 0x6c, 0x70, - 0x5d, 0x2e, 0x21, 0x4c, 0x0e, 0x74, 0x05, 0x16, 0x1f, 0x15, 0x51, 0x6c, 0xf4, 0x95, 0xe2, 0xa2, - 0xb6, 0x5f, 0x25, 0x71, 0x3e, 0x29, 0x1d, 0x4e, 0x2e, 0xd1, 0x27, 0xcd, 0x96, 0xdc, 0xa9, 0xdf, - 0x84, 0x50, 0x87, 0x50, 0xdf, 0x40, 0xa1, 0x0e, 0xa7, 0x3e, 0x0c, 0xb7, 0x82, 0xc5, 0x8c, 0x68, - 0x71, 0x23, 0x4d, 0xec, 0x48, 0x13, 0x3f, 0x32, 0xc4, 0x10, 0xbd, 0xc9, 0x40, 0x83, 0x53, 0xff, - 0x37, 0x80, 0x05, 0x4e, 0x7d, 0x38, 0xf5, 0x57, 0xea, 0x05, 0x4e, 0x7d, 0x11, 0xc2, 0x09, 0xbe, - 0x6b, 0x40, 0x20, 0x40, 0x20, 0x40, 0x20, 0xf5, 0x20, 0x10, 0x7c, 0xd7, 0xd5, 0x86, 0x57, 0xf0, - 0x5d, 0xaf, 0x8e, 0x8c, 0xaa, 0xe0, 0xbb, 0x2e, 0x25, 0xa4, 0xf1, 0x02, 0xfb, 0x4e, 0x44, 0x82, - 0x9f, 0x54, 0xa1, 0x4e, 0xda, 0x07, 0x74, 0x01, 0x74, 0x01, 0x74, 0x81, 0xf5, 0x86, 0xec, 0xb4, - 0xcf, 0x82, 0x2b, 0x74, 0x21, 0x02, 0xe6, 0x19, 0xc2, 0x68, 0x09, 0x68, 0xfb, 0xc4, 0x8d, 0x46, - 0xe2, 0x6e, 0xd4, 0xb5, 0x77, 0xc5, 0x03, 0xdb, 0xbd, 0x13, 0x5a, 0x55, 0xb5, 0x56, 0x8f, 0xf7, - 0xe1, 0xe2, 0xfa, 0xaf, 0x93, 0x4b, 0x91, 0xf5, 0x61, 0x1b, 0x71, 0x2f, 0x57, 0xd7, 0xdd, 0xeb, - 0xde, 0x91, 0xc8, 0x6e, 0x9a, 0x71, 0x37, 0xc7, 0xff, 0x9c, 0x77, 0xcf, 0x7a, 0x47, 0x62, 0x0a, - 0x9d, 0x8e, 0xdf, 0x8a, 0xda, 0xec, 0x1e, 0x41, 0x71, 0xb0, 0xdf, 0x76, 0x31, 0x5b, 0x17, 0x32, - 0x6f, 0xe9, 0xab, 0xbd, 0x4c, 0x8e, 0x12, 0xb9, 0xf2, 0x7d, 0xae, 0xcb, 0x26, 0x07, 0xa9, 0xa3, - 0x35, 0x14, 0x29, 0x39, 0x8b, 0x30, 0xc1, 0x95, 0x14, 0x6e, 0x15, 0xc2, 0x04, 0x27, 0xe1, 0x12, - 0x95, 0x28, 0xe5, 0x9b, 0x37, 0x61, 0xc5, 0xbf, 0xd9, 0x23, 0x89, 0xdb, 0xb7, 0x76, 0x6a, 0x87, - 0xbc, 0xcb, 0x39, 0x51, 0xfa, 0x8b, 0x33, 0xdb, 0x3d, 0x71, 0x58, 0x8c, 0xec, 0x88, 0x52, 0x54, - 0xd6, 0xce, 0x8c, 0x1f, 0x73, 0x2d, 0x36, 0x0e, 0x5a, 0xad, 0xf6, 0x7e, 0xab, 0x55, 0xdf, 0xdf, - 0xdd, 0xaf, 0x1f, 0xee, 0xed, 0x35, 0xda, 0x0d, 0x82, 0x44, 0x9b, 0xb5, 0x8b, 0xc0, 0x62, 0x01, - 0xb3, 0xde, 0xc7, 0x6b, 0xea, 0x46, 0x8e, 0x43, 0xd9, 0xe4, 0xa7, 0x90, 0x05, 0x24, 0x39, 0x35, - 0x91, 0x81, 0x32, 0x23, 0x12, 0x46, 0xcd, 0x83, 0x72, 0xb2, 0x41, 0xd4, 0x3c, 0x20, 0x34, 0xa6, - 0x8d, 0x37, 0xa6, 0x36, 0xfc, 0x22, 0x30, 0x90, 0x5b, 0x1c, 0xfe, 0x7c, 0xd6, 0x2b, 0x92, 0x6e, - 0x96, 0xeb, 0x3c, 0x94, 0x39, 0xef, 0xa6, 0x1f, 0x78, 0x3f, 0x1e, 0x75, 0x23, 0xf0, 0xf3, 0xe7, - 0xdd, 0x7c, 0x6a, 0x0a, 0x79, 0x37, 0x91, 0x77, 0x33, 0x9b, 0xb6, 0xdd, 0xac, 0xbc, 0x9b, 0x44, - 0x49, 0xf9, 0x68, 0x93, 0xf1, 0x21, 0xe7, 0x66, 0x81, 0x38, 0x1a, 0x39, 0x37, 0xb5, 0xea, 0xe4, - 0xdc, 0x1c, 0x79, 0x96, 0x80, 0xb7, 0x39, 0x49, 0xab, 0x54, 0x4f, 0x09, 0x08, 0x4b, 0x6b, 0x3f, - 0x35, 0xda, 0xbb, 0xea, 0xbe, 0x3f, 0x3d, 0xa1, 0x21, 0x42, 0x03, 0xbc, 0x2c, 0x2d, 0x8d, 0xb0, - 0x93, 0x69, 0x3c, 0xc0, 0x23, 0x24, 0x41, 0xe6, 0x80, 0xd2, 0xbf, 0x2c, 0x65, 0x6e, 0x34, 0x62, - 0xc1, 0x84, 0xd9, 0x09, 0x78, 0x5d, 0x4a, 0xe8, 0x13, 0x16, 0xe3, 0x0b, 0x16, 0xeb, 0x03, 0x9e, - 0xf8, 0x7e, 0x67, 0x22, 0x5a, 0x80, 0x7f, 0x3c, 0xf1, 0xfa, 0x5e, 0x9e, 0x9c, 0x5d, 0x5c, 0x9f, - 0xdc, 0x5c, 0x9c, 0x9f, 0xfe, 0x23, 0xa2, 0x8f, 0xc4, 0xe5, 0xdb, 0x3d, 0x3d, 0xad, 0x95, 0x3b, - 0x94, 0x42, 0x98, 0x7b, 0x37, 0x99, 0xbb, 0x10, 0x97, 0x6e, 0x7a, 0x32, 0x84, 0x38, 0x73, 0x9f, - 0x9d, 0x0b, 0x6a, 0x4f, 0x6e, 0x55, 0x3d, 0xa4, 0x02, 0xdc, 0x23, 0x69, 0xdb, 0xf4, 0x6e, 0x92, - 0xd9, 0x97, 0xc0, 0x00, 0xa2, 0xcb, 0x0f, 0x47, 0x8d, 0x7a, 0x73, 0xbf, 0xa3, 0x7d, 0x0a, 0x6d, - 0xf7, 0x4e, 0xeb, 0x5e, 0xf6, 0x35, 0xee, 0x69, 0xbd, 0x91, 0x3f, 0x71, 0xc7, 0x69, 0xd7, 0x81, - 0xe1, 0x86, 0xbe, 0x11, 0xc4, 0xdf, 0x5f, 0x45, 0xb7, 0x2e, 0xe3, 0xda, 0x47, 0x83, 0xb3, 0xef, - 0xc6, 0x63, 0xa8, 0x78, 0x90, 0x9d, 0x28, 0x8f, 0x8a, 0x34, 0x7c, 0xf4, 0x2a, 0x4e, 0xca, 0xb3, - 0x9f, 0x1b, 0x13, 0xb5, 0x31, 0xd8, 0x88, 0xa8, 0x0d, 0xe1, 0x59, 0xb7, 0x54, 0x0f, 0xaf, 0x50, - 0xc7, 0x1b, 0x96, 0x7a, 0x03, 0x48, 0x92, 0x68, 0x15, 0x53, 0x50, 0x9c, 0x26, 0xbb, 0x0a, 0x69, - 0x56, 0x15, 0x72, 0xeb, 0x6c, 0x13, 0xd6, 0xd9, 0xe2, 0x0d, 0x14, 0xb0, 0xce, 0xae, 0x4e, 0x50, - 0x60, 0x9d, 0x25, 0x21, 0x78, 0xb0, 0xce, 0x16, 0x23, 0xe4, 0x84, 0x09, 0x3b, 0xd1, 0x84, 0x04, - 0xd6, 0x59, 0x75, 0x6c, 0x06, 0xb0, 0xce, 0xc2, 0x3a, 0xfb, 0x6a, 0xfb, 0xb0, 0xce, 0x3e, 0xed, - 0x23, 0xac, 0xb3, 0x2f, 0x5a, 0x87, 0x75, 0x76, 0xfd, 0x35, 0x83, 0x75, 0xf6, 0x85, 0x82, 0x80, - 0x75, 0x16, 0xd6, 0x59, 0x58, 0x67, 0x0b, 0x1a, 0x0f, 0x8c, 0x93, 0xeb, 0x1a, 0x27, 0x09, 0x9e, - 0xee, 0x21, 0x62, 0x9e, 0x7c, 0x5b, 0x6a, 0xb9, 0x8c, 0xb6, 0xab, 0x3e, 0x98, 0xe8, 0xc7, 0xdd, - 0x75, 0x03, 0xbf, 0xcc, 0xf1, 0xf9, 0xf9, 0x4c, 0xd0, 0x24, 0xa6, 0x67, 0xb2, 0xb8, 0xfc, 0x26, - 0xe2, 0xf2, 0xc5, 0x59, 0x53, 0x10, 0x97, 0xff, 0xc4, 0x92, 0xf2, 0xc7, 0xe5, 0x47, 0xb1, 0xa4, - 0x08, 0x29, 0x23, 0xf3, 0xa7, 0x2d, 0x22, 0x36, 0x5f, 0xf8, 0x15, 0x15, 0x85, 0xfd, 0xe1, 0xfd, - 0xd1, 0xaa, 0xe3, 0xfd, 0xb1, 0x5d, 0xdd, 0xb2, 0x43, 0xd3, 0x08, 0x2c, 0x66, 0xe9, 0xfe, 0x37, - 0x1e, 0x0a, 0x28, 0x8b, 0xb4, 0xd0, 0x05, 0xbc, 0x25, 0xa5, 0x11, 0x0e, 0xa2, 0x0d, 0x04, 0xf0, - 0x96, 0xa8, 0x63, 0xc3, 0x13, 0xe7, 0x2d, 0x99, 0xaa, 0xfd, 0x76, 0x4b, 0x80, 0xaf, 0x84, 0x30, - 0x7d, 0x6a, 0xed, 0xd2, 0x70, 0xef, 0x94, 0xb0, 0x32, 0x9e, 0xd9, 0xae, 0x38, 0x5b, 0xde, 0x67, - 0xc3, 0x89, 0x98, 0xb8, 0x34, 0x56, 0xb5, 0x0f, 0x81, 0x61, 0xc6, 0xf4, 0xfb, 0xd8, 0xbe, 0xb3, - 0xa9, 0xf2, 0xd0, 0xbc, 0x7e, 0xfc, 0xd8, 0x9d, 0xc1, 0xed, 0x07, 0x46, 0x92, 0xde, 0x45, 0xe0, - 0xcd, 0x7b, 0xbe, 0xb5, 0xc6, 0x0f, 0xf1, 0x5b, 0x2b, 0x26, 0x4f, 0x4f, 0xd5, 0x77, 0x1b, 0x31, - 0xb1, 0x2b, 0x6c, 0x03, 0x3c, 0x41, 0x2f, 0x94, 0xdf, 0xe5, 0x87, 0x23, 0xad, 0xd5, 0x3c, 0xdc, - 0xd5, 0x74, 0xed, 0xcc, 0x70, 0x8d, 0xbb, 0x89, 0xbf, 0xa0, 0xe7, 0x0e, 0xbd, 0x60, 0x94, 0x98, - 0x21, 0xb5, 0xf7, 0x46, 0xc8, 0xb4, 0xa1, 0x17, 0x68, 0xfc, 0x9e, 0x7d, 0x75, 0x13, 0x53, 0x9d, - 0xcb, 0x78, 0x9a, 0x4a, 0x47, 0xdb, 0xea, 0xf5, 0xb7, 0xe1, 0x14, 0x2a, 0x16, 0x06, 0xbe, 0x0a, - 0x07, 0x89, 0xb6, 0x16, 0x92, 0x4a, 0xf2, 0x78, 0x48, 0x2a, 0x08, 0xbb, 0x3a, 0x0b, 0x02, 0x2f, - 0x10, 0xc7, 0x9a, 0xe7, 0x9a, 0x07, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, - 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x06, 0x63, 0x86, - 0xa4, 0x52, 0x89, 0x31, 0x0f, 0xbd, 0xe0, 0xfb, 0xc4, 0x11, 0xec, 0x99, 0x9c, 0x09, 0xe2, 0xcd, - 0x0b, 0x9d, 0x80, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, - 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x43, 0x52, 0xa9, 0xc9, - 0x9e, 0x85, 0xf9, 0x9c, 0x5f, 0x74, 0x01, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, - 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, 0x0c, 0xe6, - 0x0c, 0x49, 0xa5, 0x12, 0x73, 0x1e, 0x45, 0x0e, 0xb7, 0x4d, 0x23, 0xe4, 0x22, 0xfd, 0xce, 0x0b, - 0x9d, 0x80, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x83, - 0x3d, 0x83, 0x3d, 0x83, 0x3d, 0x57, 0x9f, 0x3d, 0x77, 0x56, 0x61, 0x58, 0xda, 0x8c, 0x60, 0x7d, - 0x75, 0x9f, 0x31, 0x2c, 0x4d, 0xd7, 0x6c, 0xff, 0xea, 0x31, 0xe4, 0x6c, 0x74, 0xc5, 0x0d, 0x1e, - 0xfe, 0x75, 0xd4, 0x73, 0xcf, 0x62, 0x4c, 0x7d, 0x41, 0x09, 0xa9, 0xc1, 0xad, 0x45, 0x70, 0x6b, - 0xa1, 0x1b, 0x0f, 0x29, 0xa7, 0x3a, 0xf3, 0x16, 0xe6, 0xb3, 0x7e, 0xd1, 0x05, 0x58, 0x37, 0x58, - 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, 0x37, 0x58, - 0x37, 0x58, 0x77, 0x36, 0xf2, 0xd5, 0xff, 0x06, 0xce, 0xbd, 0x81, 0x9c, 0x3b, 0xd9, 0x76, 0x48, - 0x38, 0x35, 0x19, 0xb7, 0x40, 0x0f, 0x37, 0xfc, 0xda, 0x60, 0xd8, 0x60, 0xd8, 0x60, 0xd8, 0x60, - 0xd8, 0x60, 0xd8, 0x60, 0xd8, 0x60, 0xd8, 0x60, 0xd8, 0x60, 0xd8, 0x1b, 0xc3, 0xb0, 0x11, 0x15, - 0x8e, 0xa8, 0x70, 0x44, 0x85, 0x57, 0x89, 0x29, 0x0b, 0xf3, 0x48, 0xc3, 0x0f, 0x0d, 0x96, 0x0c, - 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, - 0x96, 0x0c, 0x96, 0x0c, 0x96, 0x0c, 0x49, 0xa5, 0x16, 0x4b, 0xf6, 0x22, 0x2e, 0xbc, 0x40, 0xf4, - 0x2b, 0x7d, 0x80, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, - 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x83, 0x3b, 0x43, 0x52, 0x29, 0xc5, - 0x9d, 0x45, 0x96, 0x88, 0x7e, 0xd1, 0x3e, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, - 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, 0x33, 0x38, - 0x33, 0x24, 0x95, 0x52, 0x9c, 0x59, 0x7c, 0x91, 0xe8, 0x57, 0x7b, 0x01, 0x7f, 0x06, 0x7f, 0x06, - 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, - 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x86, 0xa4, 0x52, 0x94, 0x3f, 0x8b, 0xf3, 0x3b, 0xa3, 0x4e, 0x34, - 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, - 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0xb3, 0xca, 0xdc, 0x59, 0x7c, 0xa1, 0xe8, - 0x57, 0x7b, 0x01, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, - 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x06, 0x7f, 0x86, 0xa4, 0x52, 0x94, - 0x3f, 0x8b, 0xf3, 0x3d, 0xa3, 0xde, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, - 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0x33, 0xb8, 0xf3, 0x5a, 0x04, 0xeb, 0xab, 0xbb, - 0x58, 0xfb, 0xf7, 0x22, 0xe2, 0xa8, 0xf9, 0x5c, 0x7d, 0x6e, 0xfd, 0xc7, 0xad, 0x87, 0xa4, 0x53, - 0x94, 0x7b, 0x8b, 0xf4, 0x58, 0xc3, 0x4f, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, - 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0xae, 0x0d, 0x3f, 0xf5, 0x66, 0x73, - 0x69, 0x70, 0x65, 0x55, 0xb9, 0xb2, 0x38, 0xef, 0x34, 0x7c, 0xd2, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, - 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, 0xc9, 0xe0, - 0xc9, 0xe0, 0xc9, 0x90, 0x54, 0x12, 0x79, 0xf2, 0x9b, 0x02, 0x25, 0x65, 0xad, 0xeb, 0xba, 0x1e, - 0x4f, 0x8e, 0x07, 0xc9, 0xd5, 0xab, 0x85, 0xe6, 0x3d, 0x1b, 0x19, 0xbe, 0xc1, 0xef, 0xe3, 0x33, - 0xb9, 0xe3, 0xf9, 0xcc, 0x35, 0x13, 0x2e, 0xab, 0xdb, 0xf1, 0x79, 0x1b, 0x1a, 0x26, 0x0b, 0x77, - 0x5e, 0xfb, 0x76, 0x27, 0x8c, 0x6e, 0xe7, 0x7e, 0x3f, 0xff, 0xd3, 0x8e, 0xed, 0x3f, 0xb4, 0x76, - 0x42, 0x6e, 0x70, 0xb6, 0x33, 0x45, 0xef, 0x14, 0xbc, 0xbd, 0x16, 0xf2, 0x20, 0x32, 0xb9, 0x3b, - 0x15, 0x8d, 0xbd, 0x59, 0x77, 0x37, 0x57, 0x73, 0x7d, 0xdf, 0xf4, 0xfc, 0x87, 0xd6, 0xcd, 0xd1, - 0xac, 0xd7, 0x37, 0xc5, 0xec, 0x74, 0x8e, 0x5d, 0xae, 0x59, 0xf7, 0xa6, 0xaf, 0x9b, 0x8e, 0x3d, - 0x11, 0x13, 0xf9, 0xb6, 0x38, 0xd5, 0x23, 0xf3, 0x8d, 0xe6, 0x3c, 0x81, 0xc7, 0x6c, 0x68, 0x44, - 0x0e, 0x27, 0xd1, 0xa2, 0xb5, 0x04, 0x6c, 0xe5, 0xdb, 0xa5, 0x41, 0xce, 0xf9, 0xd0, 0x58, 0x82, - 0xc8, 0x2c, 0x40, 0x94, 0x96, 0x1f, 0x72, 0x8b, 0x0f, 0xb5, 0xd6, 0x17, 0x66, 0xe1, 0x11, 0xa6, - 0xd2, 0x45, 0x58, 0x74, 0x8a, 0xd5, 0x28, 0x64, 0x96, 0x9b, 0xf4, 0xb4, 0xdd, 0x7a, 0x9e, 0xc3, - 0x0c, 0x97, 0xe2, 0xbc, 0x4d, 0x2f, 0x67, 0xa3, 0xa1, 0xa0, 0x20, 0x67, 0x6e, 0x4c, 0x62, 0x2c, - 0x3a, 0x21, 0x3e, 0x6b, 0xb0, 0x4c, 0x02, 0x3c, 0xbe, 0x59, 0x90, 0xdf, 0x90, 0xdf, 0x90, 0xdf, - 0x90, 0xdf, 0x15, 0x93, 0xdf, 0x77, 0x81, 0xc1, 0x23, 0x9b, 0x7b, 0x51, 0xa8, 0x1b, 0x81, 0xaf, - 0x1b, 0xa6, 0xc9, 0x7c, 0x4e, 0x29, 0xcf, 0x97, 0x75, 0x00, 0x81, 0x08, 0x81, 0x08, 0x81, 0x08, - 0x81, 0x28, 0x6e, 0x89, 0x04, 0xd8, 0xd9, 0x05, 0xd8, 0xd7, 0x05, 0x38, 0x93, 0x2f, 0x3f, 0x1c, - 0x69, 0x07, 0xcd, 0x76, 0x47, 0xeb, 0xba, 0xda, 0x09, 0xbf, 0x9f, 0x18, 0x54, 0xbb, 0x96, 0x15, - 0xb0, 0x30, 0xd4, 0x2e, 0x59, 0xe8, 0x39, 0x51, 0x62, 0x7a, 0x9d, 0xd9, 0x58, 0x15, 0x8b, 0x92, - 0x10, 0x65, 0x29, 0x97, 0x1b, 0x28, 0xb1, 0xf6, 0x26, 0x95, 0x2d, 0xa6, 0x22, 0x77, 0x2b, 0x03, - 0x05, 0xe1, 0xd2, 0x88, 0x47, 0x74, 0xd0, 0x28, 0x6e, 0x0c, 0x30, 0x08, 0x30, 0x08, 0x30, 0xa8, - 0x44, 0x30, 0x28, 0xb2, 0x5d, 0xde, 0x68, 0x13, 0xa2, 0xa0, 0x36, 0x41, 0x53, 0xb4, 0x61, 0x57, - 0x84, 0x90, 0x43, 0x44, 0x98, 0x55, 0x1a, 0x83, 0xd3, 0x3e, 0x20, 0xd6, 0xbf, 0xa2, 0x23, 0x6d, - 0xc4, 0x45, 0xd8, 0x10, 0xc6, 0x51, 0x09, 0x89, 0x9f, 0x7a, 0xda, 0xb3, 0xbd, 0xbd, 0xdd, 0x3d, - 0x6c, 0x5b, 0xb5, 0xa0, 0x16, 0x88, 0x58, 0x76, 0x22, 0xb6, 0x7f, 0xd8, 0xe8, 0x68, 0x0b, 0x61, - 0x2d, 0xa0, 0x5c, 0x05, 0x51, 0xae, 0x25, 0xdb, 0x81, 0x1b, 0x4f, 0x45, 0xae, 0xde, 0x48, 0x94, - 0x30, 0x54, 0x81, 0x42, 0xa2, 0x03, 0x84, 0xb2, 0x1d, 0xaf, 0xf5, 0x97, 0x32, 0xc3, 0x32, 0xd6, - 0x22, 0xd7, 0x8d, 0x46, 0xb7, 0x2c, 0xc8, 0x61, 0xf3, 0x7f, 0xc2, 0xce, 0x4f, 0x6d, 0x65, 0xdc, - 0xd0, 0x99, 0xe5, 0x30, 0xe3, 0xc7, 0xf3, 0xf2, 0x58, 0x0a, 0xfe, 0xfa, 0x8c, 0xb7, 0x0e, 0x73, - 0x08, 0x4c, 0x2a, 0xc1, 0x4e, 0xce, 0x53, 0xc9, 0xa5, 0xf6, 0x02, 0x2f, 0x1d, 0xd6, 0x14, 0x11, - 0x40, 0xc7, 0x76, 0x90, 0xef, 0xb0, 0x98, 0xb3, 0x13, 0x4b, 0x64, 0x53, 0x9a, 0xb6, 0x47, 0x63, - 0x56, 0x6a, 0x54, 0xdd, 0xac, 0x34, 0x84, 0x59, 0x49, 0x84, 0x59, 0x69, 0xa8, 0xba, 0x59, 0x29, - 0xef, 0xb5, 0x7e, 0xa2, 0x3e, 0x44, 0xe1, 0x51, 0x0b, 0xa7, 0x97, 0x26, 0x4c, 0xea, 0x69, 0xc2, - 0x84, 0xe1, 0x52, 0x69, 0xa3, 0x04, 0x71, 0xaf, 0x29, 0x9c, 0xc5, 0x8b, 0xe8, 0xd2, 0x08, 0x3c, - 0x99, 0xc4, 0xb3, 0x22, 0x2f, 0xa2, 0x87, 0x78, 0x11, 0xbd, 0xee, 0x69, 0xa5, 0x0b, 0x47, 0x58, - 0x40, 0x35, 0x8d, 0x52, 0x2d, 0x21, 0xf1, 0x63, 0x97, 0xb4, 0xdd, 0xc7, 0x3b, 0x8f, 0xeb, 0x9e, - 0xa9, 0x9b, 0xde, 0xc8, 0x0f, 0x58, 0x18, 0x32, 0x4b, 0x77, 0x98, 0x31, 0x8c, 0x3b, 0x19, 0xe3, - 0x95, 0x91, 0xa6, 0xd5, 0x4e, 0x7e, 0x24, 0xc6, 0xe4, 0xfc, 0x0a, 0x8f, 0x1e, 0xf7, 0x79, 0xa6, - 0xce, 0x7e, 0xf0, 0x0e, 0x67, 0x0e, 0x1b, 0x31, 0x1e, 0x3c, 0xea, 0x9e, 0xab, 0x9b, 0xf7, 0x89, - 0x13, 0x48, 0x08, 0x16, 0x4c, 0x34, 0xb5, 0x00, 0x30, 0x58, 0x34, 0x0e, 0x1c, 0x6c, 0xcc, 0x43, - 0xb4, 0x27, 0xd3, 0xcb, 0xce, 0x94, 0x02, 0x2a, 0x18, 0x5d, 0x91, 0xce, 0x49, 0x0f, 0xd8, 0x90, - 0x8e, 0x13, 0x3f, 0x6f, 0x16, 0xd4, 0x18, 0xd4, 0x18, 0xd4, 0xb8, 0x78, 0x6a, 0x4c, 0x64, 0xf9, - 0x12, 0x63, 0x01, 0x23, 0xbe, 0xee, 0x20, 0x8c, 0x20, 0x8c, 0x20, 0x8c, 0x94, 0xe2, 0x63, 0x11, - 0x33, 0xd0, 0x1f, 0xab, 0x05, 0xfc, 0x40, 0x7d, 0xac, 0x68, 0xad, 0x51, 0xc2, 0x84, 0x8c, 0x48, - 0x61, 0x23, 0x5c, 0xe8, 0x88, 0x16, 0x3e, 0xd2, 0x84, 0x90, 0x34, 0x61, 0x24, 0x43, 0x28, 0xd1, - 0x0a, 0x27, 0x62, 0x21, 0x25, 0xce, 0xba, 0xb5, 0x70, 0xda, 0x1d, 0x66, 0x0c, 0xf3, 0x93, 0x92, - 0xdf, 0x22, 0x97, 0x7d, 0x01, 0x6d, 0xf7, 0x53, 0x06, 0x1b, 0x1f, 0x8b, 0xce, 0x1c, 0x33, 0x7d, - 0xf1, 0x8b, 0xe9, 0xcf, 0x49, 0x3a, 0x93, 0x52, 0x6f, 0xb5, 0x20, 0x2b, 0x9c, 0x3c, 0x6b, 0x1c, - 0xfd, 0x8d, 0xa2, 0x8c, 0x39, 0x9d, 0x37, 0x58, 0x88, 0x53, 0xd4, 0xcf, 0x7a, 0x81, 0xae, 0x86, - 0xae, 0x86, 0xae, 0x86, 0xae, 0x86, 0xae, 0x5e, 0x51, 0x57, 0x7f, 0x79, 0xd2, 0xd5, 0xff, 0x63, - 0x46, 0x41, 0xc0, 0x5c, 0xbe, 0xb5, 0xbd, 0xf3, 0xee, 0xdd, 0x93, 0x15, 0x7a, 0x30, 0xfd, 0xc8, - 0x73, 0x63, 0xf4, 0xe2, 0xef, 0xd2, 0x96, 0x2d, 0xf6, 0x03, 0x6a, 0x5f, 0x35, 0xb5, 0x5f, 0x2a, - 0x7b, 0x01, 0x99, 0x93, 0x6e, 0xf6, 0x25, 0xce, 0xf4, 0x24, 0xdc, 0x69, 0xb7, 0x44, 0xab, 0x10, - 0x3a, 0xef, 0x5e, 0x55, 0x27, 0x65, 0x33, 0x45, 0x0d, 0x4a, 0xee, 0x78, 0x97, 0xe2, 0xe4, 0x7b, - 0xe6, 0xd3, 0x22, 0x71, 0xf9, 0xd1, 0x6d, 0xd2, 0x98, 0x24, 0x0d, 0xa6, 0xc1, 0x19, 0xbd, 0x73, - 0x60, 0xd2, 0x6c, 0xc9, 0x7d, 0x03, 0x4d, 0xf8, 0x06, 0xd4, 0x81, 0xfa, 0xf0, 0x0d, 0xc0, 0x37, - 0x00, 0x7b, 0x03, 0xec, 0x0d, 0xb0, 0x37, 0xc0, 0xde, 0x00, 0x7b, 0x43, 0x39, 0x7c, 0x03, 0x30, - 0x81, 0x43, 0x25, 0x41, 0x25, 0x41, 0x25, 0x41, 0x25, 0x41, 0x25, 0x55, 0xcf, 0x04, 0x5e, 0x51, - 0xf6, 0x57, 0x21, 0x73, 0x5c, 0x8e, 0xa4, 0x0f, 0x02, 0xac, 0x71, 0x28, 0xe5, 0x93, 0x6b, 0x37, - 0xe5, 0x16, 0xf5, 0xf9, 0x94, 0x8e, 0xe2, 0x26, 0xfd, 0xb3, 0x4b, 0x36, 0x54, 0xf1, 0x35, 0x07, - 0x8d, 0x09, 0x97, 0xd4, 0x74, 0x4b, 0xfe, 0x7a, 0xa3, 0x89, 0xd7, 0x1b, 0xc5, 0x43, 0x4e, 0xbc, - 0xde, 0x58, 0x79, 0x42, 0x48, 0x6c, 0x40, 0xd1, 0x28, 0x12, 0x1b, 0x94, 0x81, 0x8b, 0xc3, 0x17, - 0x25, 0x9d, 0x6b, 0x23, 0xb1, 0x41, 0xfe, 0xd3, 0x5a, 0xfe, 0xc4, 0x06, 0xa0, 0x1c, 0xf2, 0x29, - 0x07, 0x01, 0x65, 0x44, 0xd2, 0x46, 0xfa, 0x7d, 0xa9, 0xe5, 0xe2, 0x3f, 0xeb, 0x93, 0x3e, 0x69, - 0x99, 0x22, 0xdf, 0x08, 0xdc, 0xe9, 0xbc, 0x3b, 0x2c, 0x6e, 0x67, 0x33, 0x6c, 0xe7, 0xea, 0xdb, - 0xb8, 0xde, 0xde, 0xad, 0xbe, 0x03, 0x6b, 0xac, 0x7e, 0xcd, 0xf6, 0x1f, 0xda, 0x6b, 0xaf, 0xf9, - 0x53, 0x30, 0x43, 0xfc, 0xe9, 0x35, 0xf7, 0x3a, 0x1b, 0xa3, 0xce, 0x0c, 0x30, 0xf3, 0x00, 0xc9, - 0xdc, 0x15, 0x25, 0xf2, 0x02, 0x43, 0x32, 0x00, 0x48, 0x06, 0xf4, 0x28, 0x2a, 0x42, 0x88, 0x95, - 0x25, 0x59, 0x19, 0x6b, 0xcd, 0x98, 0xd4, 0xd2, 0x61, 0x61, 0xfe, 0xbc, 0xb6, 0x4f, 0x4d, 0x21, - 0xad, 0x6d, 0xee, 0x72, 0x2c, 0x1b, 0x9c, 0xd6, 0xd6, 0xdf, 0x98, 0xb4, 0xb6, 0xd3, 0x1b, 0x43, - 0x67, 0xfd, 0x9d, 0x35, 0x88, 0xec, 0x3d, 0xc2, 0x2f, 0xa8, 0x28, 0x33, 0x08, 0xea, 0x25, 0x69, - 0xc8, 0xde, 0xf3, 0xa7, 0xc3, 0x8b, 0xec, 0x3d, 0x65, 0x13, 0x03, 0xb0, 0x8a, 0x16, 0x21, 0x26, - 0xca, 0x69, 0x15, 0xa5, 0x8f, 0xd0, 0xf7, 0x05, 0x86, 0xe6, 0xfb, 0x08, 0x80, 0x94, 0x13, 0x00, - 0xe9, 0x23, 0x00, 0xb2, 0x40, 0xf1, 0x23, 0x43, 0x0c, 0xd1, 0x8a, 0x23, 0x62, 0xb1, 0x94, 0x2e, - 0x80, 0xf8, 0x00, 0x48, 0xdb, 0x7f, 0x68, 0xeb, 0x34, 0x5c, 0xe4, 0xb7, 0x80, 0xe5, 0x40, 0x4c, - 0x14, 0x24, 0x67, 0x81, 0x4b, 0xea, 0x0a, 0x7f, 0xd6, 0xc1, 0xd6, 0xd6, 0x97, 0xba, 0x7e, 0x68, - 0xe8, 0xc3, 0xae, 0xfe, 0x61, 0xf0, 0xb3, 0xf1, 0xb6, 0x35, 0xee, 0x6c, 0xff, 0xdc, 0x1f, 0xbf, - 0xfc, 0xe5, 0xaf, 0xd7, 0xfe, 0xac, 0xf1, 0x76, 0x7f, 0xdc, 0x59, 0xf2, 0x2f, 0xed, 0x71, 0x67, - 0xc5, 0x36, 0xf6, 0xc6, 0x5b, 0x0b, 0x7f, 0x1a, 0xff, 0xbe, 0xb9, 0xec, 0x03, 0xad, 0x25, 0x1f, - 0xd8, 0x5d, 0xf6, 0x81, 0xdd, 0x25, 0x1f, 0x58, 0x3a, 0xa4, 0xe6, 0x92, 0x0f, 0xec, 0x8d, 0x7f, - 0x2d, 0xfc, 0xfd, 0xd6, 0xeb, 0x7f, 0xda, 0x1e, 0x6f, 0xff, 0x5a, 0xf6, 0x6f, 0xfb, 0xe3, 0x5f, - 0x9d, 0xed, 0x6d, 0xfa, 0x8b, 0x3e, 0x10, 0x71, 0x00, 0x2f, 0xae, 0x7a, 0x7f, 0x0b, 0x3f, 0x85, - 0xff, 0xc5, 0x31, 0x2c, 0xea, 0x18, 0xfe, 0x4b, 0xc0, 0x39, 0x44, 0xfa, 0x90, 0xcd, 0xcd, 0x1a, - 0x36, 0xc1, 0x65, 0xba, 0xc3, 0xdc, 0xbb, 0xc4, 0x15, 0x28, 0x88, 0x28, 0x3c, 0xef, 0x06, 0x9c, - 0x01, 0x9c, 0x01, 0x9c, 0x61, 0x63, 0x38, 0xc3, 0x99, 0xe1, 0x5a, 0x06, 0xf7, 0x82, 0x47, 0x3a, - 0x3b, 0xa1, 0x44, 0x3e, 0x12, 0xd9, 0x2e, 0x3f, 0x10, 0x48, 0x44, 0xf6, 0x04, 0x34, 0x4d, 0x5b, - 0xcc, 0xfe, 0xe5, 0x97, 0x98, 0x9b, 0xaf, 0x89, 0x2a, 0x76, 0xbf, 0xd0, 0xc9, 0xac, 0x90, 0x7a, - 0xfd, 0xad, 0xd8, 0x7e, 0x44, 0x17, 0x55, 0x5f, 0x3c, 0xb2, 0xa2, 0x8a, 0xac, 0x0b, 0x96, 0x10, - 0x2f, 0xa4, 0xc5, 0x0f, 0x79, 0x47, 0xa0, 0xd1, 0x3c, 0xc0, 0x21, 0x28, 0x85, 0xd2, 0x11, 0xd7, - 0x2a, 0xf8, 0xcd, 0x06, 0xf3, 0x1b, 0x2e, 0x02, 0x1f, 0xa4, 0xd8, 0x20, 0x69, 0x9d, 0xf8, 0x40, - 0x88, 0x78, 0x4e, 0x93, 0x36, 0xfe, 0xf1, 0xf4, 0xe2, 0x7d, 0xf7, 0xf4, 0xe6, 0xd3, 0x79, 0xef, - 0xa8, 0x7b, 0x75, 0x4d, 0x0b, 0x44, 0x07, 0xa0, 0x75, 0xa0, 0x75, 0xa0, 0x75, 0x1b, 0x43, 0xeb, - 0xe4, 0xba, 0x82, 0x74, 0x01, 0xb2, 0x76, 0x5e, 0xcc, 0x34, 0x5a, 0x02, 0xda, 0x3e, 0x71, 0xa3, - 0x91, 0xb8, 0x3b, 0x75, 0xed, 0x5d, 0xf1, 0xc0, 0x76, 0xef, 0x84, 0xc2, 0xe5, 0x5a, 0x3d, 0xde, - 0x89, 0x17, 0x7a, 0x43, 0x20, 0xfc, 0x6f, 0xc4, 0xdd, 0x9d, 0xf6, 0xce, 0xff, 0x7d, 0x73, 0x7a, - 0x71, 0x24, 0x4a, 0x55, 0x09, 0xe6, 0x31, 0xb5, 0x6b, 0xaf, 0x97, 0x08, 0x06, 0x81, 0xdb, 0xf2, - 0x62, 0x47, 0x84, 0xf2, 0x8a, 0xd7, 0xf6, 0xa3, 0xa3, 0x35, 0x14, 0xc1, 0xff, 0x63, 0xe0, 0x7f, - 0xa4, 0x47, 0x2f, 0xdd, 0x06, 0x09, 0x7b, 0x81, 0xd5, 0xde, 0x49, 0xdf, 0x52, 0xcc, 0xbe, 0xab, - 0x60, 0xf2, 0x6a, 0xc2, 0xa8, 0x36, 0xfa, 0x68, 0xb6, 0x8d, 0x4f, 0x15, 0x80, 0xa0, 0x58, 0x04, - 0xc5, 0x6a, 0x4a, 0xa4, 0x0a, 0xa0, 0x4f, 0xb7, 0x27, 0x22, 0xcd, 0x5e, 0x9a, 0x5e, 0xef, 0xdd, - 0xbb, 0xa9, 0x2c, 0xdf, 0xa1, 0xda, 0x6c, 0xd4, 0x22, 0x58, 0x77, 0x5f, 0x37, 0xb5, 0x16, 0x01, - 0x84, 0x3a, 0x84, 0xba, 0x86, 0x97, 0x0e, 0xc4, 0x6a, 0x02, 0xe6, 0x6d, 0x98, 0xb7, 0x4b, 0x24, - 0x7e, 0x64, 0x88, 0x21, 0x35, 0x0c, 0x33, 0x78, 0xe9, 0xf0, 0x07, 0x40, 0x8a, 0x97, 0x0e, 0x78, - 0xe9, 0xb0, 0xda, 0x17, 0x5e, 0x3a, 0xe0, 0x18, 0x56, 0xf0, 0xa5, 0x43, 0x29, 0x03, 0x5e, 0xbc, - 0xc0, 0xbe, 0x13, 0x10, 0x44, 0xf9, 0x04, 0xd1, 0x26, 0xed, 0x03, 0x0c, 0x03, 0x0c, 0x03, 0x0c, - 0x03, 0x0c, 0x13, 0x82, 0xe1, 0x34, 0xd2, 0x43, 0x88, 0x88, 0xd1, 0x10, 0xeb, 0xf1, 0xe7, 0x5e, - 0x92, 0x58, 0x8f, 0x8b, 0xeb, 0xbf, 0x4e, 0x2e, 0x85, 0x87, 0x78, 0x5c, 0x5d, 0x77, 0xaf, 0x7b, - 0x47, 0x22, 0xbb, 0x69, 0xc6, 0xdd, 0x1c, 0xff, 0x75, 0xd4, 0x17, 0xd9, 0xc9, 0xee, 0x53, 0xb8, - 0x4a, 0xf7, 0x1f, 0xb1, 0xcb, 0xd6, 0x8a, 0xbb, 0xba, 0xec, 0x9e, 0x1f, 0x5f, 0x9c, 0x21, 0x1a, - 0xe6, 0xa5, 0x2d, 0x31, 0xde, 0x66, 0x32, 0x53, 0xfa, 0xab, 0x5d, 0xcc, 0x6d, 0x72, 0x47, 0xdb, - 0x15, 0xd8, 0xd1, 0xe4, 0xfe, 0x89, 0x0d, 0xe8, 0x99, 0x1e, 0xa3, 0x8e, 0xd6, 0x12, 0xd8, 0xc9, - 0xf4, 0x8a, 0x6f, 0x6c, 0xa4, 0x10, 0x1e, 0xfc, 0xe2, 0xc1, 0x2f, 0xd8, 0x02, 0xd8, 0x02, 0x1e, - 0xfc, 0x2a, 0xc5, 0x44, 0xf0, 0xe0, 0xf7, 0xe5, 0x17, 0x1e, 0xfc, 0xae, 0xd6, 0x0f, 0x1e, 0xfc, - 0x66, 0x93, 0x16, 0x78, 0xf0, 0xab, 0xc6, 0x21, 0xd8, 0xcc, 0x07, 0xbf, 0xe5, 0x2c, 0x75, 0xce, - 0x0d, 0x1e, 0x85, 0x02, 0x8b, 0x9c, 0x4f, 0xda, 0x07, 0x70, 0x07, 0x70, 0x07, 0x70, 0xdf, 0x18, - 0xe0, 0x2e, 0x1e, 0x5c, 0x33, 0x37, 0x1a, 0xb1, 0x60, 0xf2, 0x9c, 0x06, 0x06, 0xfe, 0xf9, 0xa5, - 0x97, 0x67, 0xe0, 0xef, 0x5f, 0x9e, 0x7c, 0x38, 0xb9, 0xbc, 0x3c, 0x39, 0x16, 0x6e, 0xe4, 0x3f, - 0x3e, 0xe9, 0x5f, 0x9e, 0x1c, 0x75, 0xaf, 0xc5, 0x76, 0x95, 0x18, 0xfa, 0x7b, 0xe7, 0x9f, 0xbb, - 0xa7, 0xbd, 0x63, 0xe1, 0xb6, 0xfe, 0xde, 0x79, 0xf7, 0xe8, 0xe8, 0xe4, 0xea, 0xaa, 0xf7, 0xfe, - 0xf4, 0x44, 0xb8, 0xb5, 0xff, 0xd3, 0xf9, 0xbf, 0xcf, 0x2f, 0xfe, 0x73, 0x2e, 0xb2, 0x9f, 0xbd, - 0xb8, 0x9f, 0xeb, 0x93, 0xf3, 0xeb, 0xee, 0x75, 0xef, 0xb3, 0xd0, 0x19, 0xb5, 0x93, 0x13, 0xf1, - 0xa9, 0x7f, 0xda, 0x8b, 0x4f, 0x84, 0xc8, 0x9e, 0xf6, 0x13, 0x37, 0x56, 0xff, 0xba, 0x77, 0xd6, - 0xbb, 0xba, 0xee, 0x1d, 0xc1, 0x5b, 0xf2, 0xa2, 0x8b, 0xb9, 0x6b, 0x49, 0x6e, 0xa0, 0x79, 0xde, - 0x51, 0xba, 0xdb, 0x1d, 0xad, 0x2d, 0xb0, 0x9f, 0x67, 0x97, 0x52, 0xac, 0x77, 0x66, 0x26, 0x67, - 0xc4, 0x3a, 0x9b, 0xe6, 0x0e, 0x6f, 0x47, 0xdb, 0x17, 0xd8, 0xd1, 0x93, 0x2e, 0x10, 0xeb, 0x70, - 0x7a, 0x92, 0x30, 0x42, 0x0c, 0x60, 0x69, 0x3f, 0x33, 0x89, 0xd9, 0xd1, 0x5a, 0x78, 0x9e, 0x4e, - 0xb0, 0x9e, 0xec, 0x07, 0x0f, 0x0c, 0x3d, 0x72, 0x43, 0x6e, 0xdc, 0x3a, 0x82, 0xb0, 0x61, 0xc0, - 0x86, 0x2c, 0x60, 0xae, 0xa9, 0xa4, 0x01, 0x73, 0x06, 0x6c, 0x2f, 0x3f, 0x1c, 0x69, 0xad, 0xe6, - 0xe1, 0x6e, 0x47, 0x3b, 0x33, 0x5c, 0xe3, 0x8e, 0xc5, 0x3c, 0x42, 0xeb, 0xb9, 0x43, 0x2f, 0x18, - 0x25, 0x68, 0x57, 0x7b, 0x6f, 0x84, 0x4c, 0x1b, 0x7a, 0x81, 0xc6, 0xef, 0xd9, 0x57, 0x77, 0xae, - 0x89, 0xa4, 0xde, 0xa5, 0xcb, 0xb8, 0xd6, 0x0f, 0x3c, 0xee, 0x99, 0x9e, 0xa3, 0x6d, 0xf5, 0xfa, - 0xdb, 0xcf, 0xfe, 0x44, 0xd7, 0x7a, 0x7e, 0x77, 0x12, 0x1d, 0x73, 0x95, 0x10, 0xf3, 0xeb, 0xa3, - 0xaf, 0xae, 0x96, 0x74, 0x79, 0xd0, 0x6e, 0x76, 0xb4, 0x5e, 0xff, 0xa1, 0xad, 0xc5, 0xff, 0xc2, - 0x1c, 0x16, 0x86, 0xda, 0xf4, 0x4f, 0xb5, 0x6e, 0x14, 0xb7, 0x17, 0x73, 0xe3, 0x48, 0x18, 0xe4, - 0x96, 0x45, 0x37, 0x5f, 0xa3, 0x9d, 0x4f, 0x07, 0x47, 0xb0, 0x89, 0x4d, 0x16, 0x03, 0x7d, 0x95, - 0x89, 0xaa, 0x71, 0xb2, 0x60, 0x75, 0x44, 0x36, 0xbd, 0x9c, 0x22, 0x14, 0xd9, 0xf4, 0xe6, 0x8f, - 0x13, 0x4c, 0xaf, 0x30, 0xbd, 0xae, 0xa0, 0x03, 0x61, 0x7a, 0xad, 0x06, 0xd0, 0x46, 0x36, 0xbd, - 0x3f, 0xb6, 0x8d, 0x6c, 0x7a, 0x6b, 0x77, 0x87, 0x6c, 0x7a, 0x99, 0x34, 0x39, 0xb2, 0xe9, 0xc9, - 0x92, 0xa2, 0x48, 0x1a, 0xb7, 0x56, 0xbb, 0x32, 0x93, 0xc6, 0x4d, 0x92, 0xe7, 0x54, 0x28, 0xc9, - 0xd0, 0x43, 0x10, 0x08, 0xc8, 0x1a, 0x97, 0xb4, 0x8a, 0x62, 0xca, 0xa5, 0x03, 0xe3, 0x48, 0x31, - 0x54, 0x04, 0xd8, 0xae, 0x78, 0x8a, 0xa1, 0xf8, 0xb2, 0xeb, 0x77, 0x81, 0x17, 0x09, 0x4c, 0x35, - 0x34, 0xd7, 0x87, 0x18, 0x1b, 0x40, 0x03, 0x36, 0x00, 0xd8, 0x00, 0x60, 0x03, 0x28, 0x9f, 0x0d, - 0x80, 0x5a, 0x5c, 0xa5, 0x0d, 0x9b, 0xb3, 0x1b, 0x2a, 0xe8, 0x2c, 0xce, 0x2e, 0xd3, 0xb4, 0x1f, - 0x41, 0xe7, 0x43, 0x8c, 0xf8, 0x12, 0x2e, 0xc6, 0x64, 0x88, 0x33, 0x69, 0x62, 0x4d, 0x96, 0x78, - 0x93, 0x2e, 0xe6, 0xa4, 0x8b, 0x3b, 0x99, 0x62, 0x4f, 0x9c, 0x39, 0x40, 0xa4, 0xdd, 0x47, 0x94, - 0x38, 0x4c, 0x3b, 0x30, 0x4c, 0x93, 0xf9, 0x5c, 0x1f, 0x79, 0x96, 0x84, 0x83, 0x3c, 0xbb, 0x99, - 0xf3, 0x9d, 0x0a, 0x3e, 0x59, 0x22, 0x9d, 0x5f, 0x0b, 0x9d, 0x25, 0x6f, 0x4f, 0x6a, 0x42, 0xfb, - 0x19, 0x08, 0x5e, 0x2f, 0x31, 0x3e, 0x32, 0xe9, 0x8a, 0x46, 0xa6, 0xc2, 0x91, 0xae, 0x78, 0x64, - 0x2b, 0xa0, 0xc2, 0x14, 0x51, 0x61, 0x0a, 0xa9, 0x08, 0xc5, 0x24, 0x56, 0x41, 0x09, 0x56, 0x54, - 0xe9, 0x82, 0x09, 0xf3, 0xe1, 0x2d, 0xbd, 0x6d, 0xb7, 0x9e, 0xe7, 0x30, 0xc3, 0x95, 0x71, 0xdf, - 0x66, 0xe8, 0xbb, 0xa1, 0xf4, 0x16, 0x09, 0x2e, 0xb7, 0xb3, 0xd0, 0x9f, 0xb4, 0xf2, 0x3b, 0xf2, - 0x6e, 0x92, 0xc8, 0xb7, 0xc0, 0x86, 0xf5, 0xc0, 0x02, 0x6e, 0x87, 0x49, 0x90, 0xdb, 0xc4, 0xa7, - 0xf1, 0x60, 0x38, 0x12, 0xc1, 0xd9, 0xeb, 0xfd, 0x57, 0x09, 0xa7, 0x35, 0xea, 0x75, 0xa0, 0x34, - 0xa0, 0x34, 0xa0, 0x34, 0xa0, 0x34, 0xa0, 0x34, 0x39, 0xb7, 0x2d, 0xb2, 0x5d, 0xde, 0x68, 0x4b, - 0x04, 0x69, 0x6d, 0x09, 0x5d, 0x89, 0x4d, 0x39, 0xf3, 0xf2, 0x4b, 0x8e, 0xf8, 0xd0, 0x64, 0xa5, - 0xa4, 0x59, 0xe8, 0x34, 0xcd, 0x4f, 0xf2, 0x56, 0x6e, 0xbf, 0xb2, 0xb3, 0x95, 0x2c, 0xde, 0x11, - 0x59, 0xd9, 0x4b, 0x24, 0x8b, 0x99, 0xe7, 0x47, 0xca, 0xf8, 0x51, 0xdc, 0x91, 0x6a, 0xd5, 0x0f, - 0xf7, 0x70, 0xaa, 0x64, 0x9d, 0xaa, 0x37, 0xd5, 0xe8, 0x65, 0x00, 0x96, 0x0f, 0x96, 0x2f, 0x6a, - 0xb9, 0xfc, 0x80, 0xb1, 0x91, 0xcf, 0xe5, 0xd1, 0xfa, 0x59, 0x87, 0x55, 0xe2, 0xf1, 0x31, 0xc5, - 0x00, 0x91, 0x07, 0x91, 0x07, 0x91, 0x07, 0x91, 0x07, 0x91, 0x97, 0x73, 0xdb, 0xe0, 0x6e, 0x01, - 0x10, 0xab, 0x20, 0x10, 0xd3, 0x2d, 0xe6, 0x18, 0x8f, 0xd2, 0xe1, 0xd8, 0xb4, 0xdb, 0x2a, 0x81, - 0x32, 0xb8, 0x56, 0x80, 0xc8, 0x80, 0xc8, 0x80, 0xc8, 0x80, 0xc8, 0x24, 0xdd, 0x36, 0xb8, 0x56, - 0x72, 0x7f, 0x6d, 0x8a, 0x6b, 0xa5, 0x0e, 0x23, 0xb8, 0xa4, 0xaf, 0x8d, 0x71, 0xad, 0xec, 0xb6, - 0xeb, 0x38, 0x55, 0xd2, 0x4e, 0x15, 0x5c, 0x2b, 0x60, 0xf4, 0x60, 0xf4, 0x7f, 0x62, 0xf4, 0xb6, - 0x17, 0xd8, 0x5c, 0x2a, 0x99, 0x9f, 0xf6, 0x88, 0x20, 0x49, 0x30, 0x79, 0x30, 0x79, 0x30, 0x79, - 0x30, 0x79, 0x30, 0xf9, 0x8c, 0x4c, 0xfe, 0x40, 0x22, 0x91, 0xdf, 0x03, 0x91, 0x57, 0x94, 0xc8, - 0x23, 0x46, 0x12, 0x44, 0x9e, 0xf8, 0x48, 0x35, 0xf7, 0x5a, 0x38, 0x54, 0xe0, 0xf1, 0xe0, 0xf1, - 0xe0, 0xf1, 0xe5, 0xe0, 0xf1, 0x0f, 0x76, 0xc0, 0x23, 0xc3, 0x99, 0xe5, 0xeb, 0x95, 0x47, 0xe7, - 0x5f, 0x76, 0x0c, 0x9e, 0x0a, 0x9e, 0x0a, 0x9e, 0x0a, 0x9e, 0x0a, 0x9e, 0x9a, 0xa6, 0x51, 0x97, - 0x24, 0x1b, 0xe7, 0xe5, 0x63, 0xe3, 0x50, 0x42, 0x5f, 0xd3, 0xb5, 0xac, 0x1c, 0x59, 0x9d, 0x4b, - 0x80, 0xdf, 0x92, 0xb8, 0x77, 0x0b, 0x7b, 0x78, 0x20, 0xb1, 0xcf, 0xbe, 0xc1, 0x39, 0x0b, 0x5c, - 0x69, 0xdb, 0x99, 0x76, 0xbc, 0xf5, 0xa5, 0xae, 0x1f, 0x0e, 0x7e, 0x7d, 0x69, 0xe8, 0x87, 0x83, - 0xc9, 0xb7, 0x8d, 0xe4, 0x7f, 0x3f, 0x9b, 0xe3, 0x5f, 0xcd, 0x2f, 0x75, 0xbd, 0x35, 0xfd, 0x6d, - 0x73, 0xef, 0x4b, 0x5d, 0xdf, 0x1b, 0x6c, 0x6f, 0x7d, 0xfd, 0xfa, 0x6e, 0xdd, 0xcf, 0x6c, 0xff, - 0xdc, 0x1d, 0xd7, 0xa4, 0x4d, 0x6b, 0x20, 0x73, 0xdb, 0x2e, 0xae, 0x7a, 0x7f, 0x17, 0xb6, 0x77, - 0xff, 0xdd, 0x92, 0xb5, 0x7b, 0xdb, 0xff, 0x92, 0xb8, 0x7f, 0x6f, 0x2a, 0x64, 0x2a, 0x29, 0x46, - 0x6c, 0xb6, 0x21, 0x36, 0x45, 0x8b, 0xcd, 0xe4, 0x16, 0x19, 0xfa, 0xb0, 0xab, 0x7f, 0x18, 0xfc, - 0x6c, 0xbc, 0x6d, 0x8d, 0x3b, 0xdb, 0x3f, 0xf7, 0xc7, 0x2f, 0x7f, 0xf9, 0xeb, 0xb5, 0x3f, 0x6b, - 0xbc, 0xdd, 0x1f, 0x77, 0x96, 0xfc, 0x4b, 0x7b, 0xdc, 0x59, 0xb1, 0x8d, 0xbd, 0xf1, 0xd6, 0xc2, - 0x9f, 0xc6, 0xbf, 0x6f, 0x2e, 0xfb, 0x40, 0x6b, 0xc9, 0x07, 0x76, 0x97, 0x7d, 0x60, 0x77, 0xc9, - 0x07, 0x96, 0x0e, 0xa9, 0xb9, 0xe4, 0x03, 0x7b, 0xe3, 0x5f, 0x0b, 0x7f, 0xbf, 0xf5, 0xfa, 0x9f, - 0xb6, 0xc7, 0xdb, 0xbf, 0x96, 0xfd, 0xdb, 0xfe, 0xf8, 0x57, 0x67, 0x7b, 0x1b, 0x8a, 0x44, 0x98, - 0x22, 0xc1, 0x71, 0x96, 0x7f, 0x9c, 0xab, 0xa7, 0x58, 0x61, 0xc8, 0xfd, 0xed, 0x5d, 0x3b, 0xb5, - 0x43, 0xde, 0xe5, 0x3c, 0x90, 0xc3, 0x82, 0xcf, 0x6c, 0xf7, 0xc4, 0x49, 0xb2, 0xa3, 0x49, 0xf2, - 0x59, 0xd4, 0xce, 0x8c, 0x1f, 0x73, 0x3d, 0x36, 0x0e, 0x5a, 0xad, 0xf6, 0x7e, 0xab, 0x55, 0xdf, - 0xdf, 0xdd, 0xaf, 0x1f, 0xee, 0xed, 0x35, 0xda, 0x0d, 0x19, 0x8e, 0xdc, 0x8b, 0xc0, 0x62, 0x01, - 0xb3, 0xde, 0x3f, 0xd6, 0x3a, 0x9a, 0x1b, 0x39, 0x8e, 0xcc, 0x2e, 0x3f, 0x85, 0x2c, 0x90, 0xe2, - 0xa4, 0x81, 0xcb, 0xa1, 0xf4, 0x22, 0x4b, 0x86, 0xcb, 0xc1, 0xb1, 0xdd, 0x6f, 0xba, 0xe3, 0x99, - 0x32, 0xf3, 0x2e, 0xbe, 0xd2, 0x37, 0x1c, 0x0f, 0xeb, 0x01, 0x3e, 0x38, 0x1e, 0x08, 0x0f, 0x07, - 0x1c, 0x0f, 0x70, 0x3c, 0xfc, 0x7e, 0xc1, 0xe0, 0x78, 0x20, 0x5f, 0x4b, 0x38, 0x1e, 0x60, 0x41, - 0xcb, 0x61, 0x41, 0x83, 0xe3, 0x41, 0x75, 0x7b, 0x11, 0x1c, 0x0f, 0xe5, 0x53, 0x74, 0xc5, 0x8a, - 0x4d, 0x38, 0x1e, 0x84, 0x8b, 0x4d, 0x58, 0x6a, 0xe1, 0x78, 0xa8, 0x9a, 0x22, 0xc1, 0x71, 0x86, - 0xe3, 0xa1, 0xe4, 0xfc, 0x54, 0x43, 0x04, 0x39, 0xcc, 0xb9, 0x32, 0xcc, 0xb9, 0x81, 0x17, 0x71, - 0x16, 0xe8, 0xb6, 0x25, 0xdf, 0x9a, 0xfb, 0xd4, 0x35, 0x8c, 0xb9, 0x30, 0xe6, 0xc2, 0x98, 0x0b, - 0x63, 0x2e, 0x8c, 0xb9, 0x78, 0xed, 0xac, 0x9e, 0x41, 0x02, 0xaf, 0x9d, 0x65, 0x0e, 0x00, 0xaf, - 0x9d, 0x45, 0x1f, 0xa9, 0xe6, 0x1e, 0x0a, 0xc2, 0x48, 0x3b, 0x54, 0xe0, 0xaa, 0xe0, 0xaa, 0x95, - 0xe0, 0xaa, 0x6f, 0x14, 0xda, 0xf8, 0x5a, 0x37, 0xba, 0x8b, 0x11, 0x30, 0xb3, 0x84, 0xe2, 0x11, - 0x49, 0x7c, 0x7a, 0x27, 0x06, 0xf1, 0xc3, 0x4e, 0x52, 0x8e, 0x76, 0x68, 0x98, 0x2c, 0x7c, 0xf9, - 0x8b, 0xe9, 0xcf, 0x61, 0x74, 0xbb, 0xf0, 0x37, 0xf3, 0xbf, 0x4b, 0x7e, 0xe5, 0x77, 0x6c, 0xff, - 0xa1, 0x3d, 0xfd, 0x76, 0xea, 0x5d, 0x99, 0xfe, 0x75, 0xfa, 0xf3, 0xce, 0x43, 0x10, 0xf8, 0xc9, - 0x7f, 0xf4, 0xbb, 0xc0, 0x8b, 0xfc, 0x1d, 0x73, 0xc2, 0x7c, 0x85, 0xa7, 0x78, 0x0b, 0xcd, 0xc0, - 0xf6, 0xa7, 0xd7, 0xb4, 0xd6, 0xb5, 0x2c, 0x3b, 0xfe, 0xde, 0x70, 0xb4, 0xcf, 0x97, 0x97, 0x7d, - 0xcd, 0x32, 0xb8, 0xa1, 0x0d, 0xbd, 0x40, 0xeb, 0xf5, 0x1f, 0xda, 0xda, 0xd3, 0x4c, 0x25, 0x59, - 0x17, 0x1a, 0xb0, 0x2e, 0xc0, 0xba, 0x00, 0xeb, 0x02, 0xac, 0x0b, 0x6b, 0x8b, 0x35, 0x5b, 0x52, - 0x70, 0x7e, 0x01, 0x11, 0xbc, 0x0b, 0x17, 0x5d, 0x7a, 0x24, 0xef, 0x32, 0xed, 0xf1, 0xc1, 0x0b, - 0x26, 0x6a, 0xc3, 0x73, 0x5f, 0x2a, 0x8c, 0xb7, 0x5a, 0xc8, 0x78, 0xa8, 0xf1, 0x7b, 0xa6, 0x4d, - 0x87, 0xab, 0xc5, 0xc3, 0xd5, 0x92, 0xe1, 0x7e, 0x75, 0xe5, 0x86, 0x1c, 0x48, 0x32, 0x5e, 0x4b, - 0x57, 0x33, 0x45, 0xa8, 0x9b, 0xc2, 0xd4, 0x4e, 0x51, 0xea, 0xa7, 0x70, 0x35, 0x54, 0xb8, 0x3a, - 0x2a, 0x52, 0x2d, 0x49, 0xe6, 0xf8, 0x92, 0xee, 0xab, 0x34, 0x63, 0xf8, 0xc2, 0x6d, 0x95, 0x1a, - 0xe1, 0xbc, 0x00, 0xef, 0x0f, 0x25, 0xf6, 0x29, 0x35, 0xe2, 0x59, 0x0e, 0x5b, 0xfd, 0xc3, 0xce, - 0x16, 0x12, 0x01, 0xbd, 0xb0, 0xc7, 0x07, 0x05, 0xf4, 0x5d, 0x54, 0x30, 0x54, 0x3a, 0x80, 0xea, - 0x45, 0x46, 0xcf, 0xbe, 0x06, 0x45, 0x6c, 0x67, 0x91, 0x01, 0x6e, 0xe9, 0x28, 0xaa, 0x19, 0x31, - 0x9d, 0xee, 0xab, 0xd4, 0x1e, 0xc7, 0x6f, 0x37, 0x48, 0x0c, 0xb7, 0x21, 0x86, 0x8b, 0x12, 0xc3, - 0x08, 0x4d, 0xad, 0x7c, 0xa4, 0x35, 0x14, 0x13, 0x22, 0xb0, 0x37, 0x21, 0x02, 0xbb, 0x20, 0x45, - 0x8d, 0x08, 0xf3, 0x52, 0xf5, 0xa0, 0x9a, 0xb3, 0x79, 0x20, 0xca, 0xd9, 0x2c, 0x27, 0xba, 0xa0, - 0x16, 0x9a, 0xf7, 0x6c, 0x64, 0xf8, 0x06, 0xbf, 0x9f, 0x78, 0x85, 0x7d, 0xe6, 0x4e, 0x1c, 0xb3, - 0xfa, 0x9c, 0xdb, 0xf7, 0xb5, 0x6f, 0x77, 0x9e, 0x7b, 0x86, 0x9f, 0xf9, 0x84, 0x13, 0x6f, 0xf0, - 0x93, 0x1f, 0xf8, 0x0f, 0x1e, 0xe0, 0x37, 0x6a, 0xec, 0xb6, 0x00, 0x48, 0x5f, 0x4b, 0x97, 0x4c, - 0xe7, 0x81, 0x61, 0x7e, 0xb3, 0xdd, 0x3b, 0x61, 0xbb, 0xfd, 0x04, 0xd8, 0x17, 0xfb, 0x14, 0x74, - 0x86, 0xc5, 0x3a, 0xb9, 0x85, 0x7b, 0x1d, 0x64, 0x78, 0x19, 0xa4, 0x79, 0x15, 0x64, 0x79, 0x11, - 0xa4, 0x7b, 0x0d, 0xa4, 0x7b, 0x09, 0x64, 0x7a, 0x05, 0xd4, 0x0a, 0x90, 0x12, 0xed, 0x94, 0xae, - 0x99, 0xb3, 0x1b, 0x2f, 0x29, 0x48, 0x4a, 0x4e, 0x88, 0x12, 0x62, 0x81, 0xca, 0x2f, 0x3e, 0x65, - 0x8b, 0xd1, 0xc2, 0xc4, 0x69, 0x61, 0x62, 0xb5, 0x08, 0xf1, 0x2a, 0x89, 0xd2, 0x54, 0x25, 0x16, - 0x68, 0x56, 0x96, 0x57, 0xb7, 0x98, 0x19, 0xb0, 0xe9, 0x1e, 0x49, 0x8e, 0x05, 0x7a, 0x65, 0x0c, - 0xd2, 0x62, 0x81, 0xe4, 0x15, 0x0b, 0x4e, 0x3b, 0xad, 0xcb, 0xb1, 0xbf, 0x0c, 0x10, 0x97, 0xa4, - 0x9a, 0xea, 0x2b, 0x4c, 0x05, 0x16, 0xa5, 0x0a, 0x0b, 0x57, 0x89, 0x85, 0xab, 0xc6, 0x22, 0x55, - 0xa4, 0x1c, 0x55, 0x29, 0x49, 0x65, 0xa6, 0x0b, 0x59, 0x5c, 0x5c, 0x92, 0xac, 0xc7, 0xba, 0x2f, - 0x45, 0xaf, 0xc4, 0x57, 0x7a, 0x92, 0x1f, 0xef, 0xce, 0xbe, 0x0a, 0xf0, 0x85, 0x17, 0xf1, 0x98, - 0x37, 0xed, 0x7c, 0xf6, 0x02, 0xb3, 0xfe, 0xb6, 0x98, 0xfe, 0x8b, 0x7e, 0x87, 0xf9, 0x74, 0xb5, - 0x8a, 0x7a, 0x8f, 0x29, 0x59, 0x6a, 0x3d, 0x3f, 0x7a, 0x05, 0x3c, 0xfa, 0x5d, 0x38, 0x7a, 0xd2, - 0x4b, 0x1d, 0xe3, 0xf0, 0x15, 0xa4, 0x98, 0xe5, 0xf7, 0x56, 0xa9, 0x8c, 0x97, 0xb2, 0x1f, 0x0d, - 0xa7, 0xfd, 0x16, 0xf6, 0x78, 0x58, 0xde, 0x81, 0x91, 0xb0, 0x85, 0xb5, 0xc4, 0x63, 0xf6, 0xe4, - 0x19, 0x95, 0x6f, 0xfe, 0x78, 0x39, 0x00, 0xf0, 0x76, 0xf0, 0x76, 0xf0, 0x76, 0xf0, 0x76, 0xf0, - 0x76, 0x49, 0xb7, 0x35, 0xd6, 0x9a, 0x01, 0x1b, 0x16, 0xf1, 0x98, 0x68, 0x5f, 0x6e, 0xee, 0xe8, - 0xfb, 0x75, 0xd2, 0x44, 0xb8, 0xf1, 0xf2, 0x54, 0xea, 0x88, 0x49, 0xad, 0x81, 0x36, 0x6f, 0x49, - 0x90, 0x5b, 0x0b, 0x6d, 0x9e, 0x48, 0x16, 0x5e, 0x13, 0x2d, 0x1d, 0x8c, 0xfc, 0xda, 0x68, 0x8b, - 0x5d, 0x4b, 0xab, 0x91, 0x06, 0x0e, 0x52, 0x1d, 0x0e, 0x82, 0x8c, 0x56, 0x6b, 0xf4, 0x57, 0x64, - 0xec, 0xe9, 0x62, 0x14, 0xa4, 0xd0, 0x70, 0x54, 0xf1, 0x07, 0x44, 0x64, 0xde, 0xe7, 0x90, 0x1b, - 0x9c, 0xc9, 0x0b, 0xbb, 0x9a, 0x74, 0x57, 0xb1, 0xa8, 0xab, 0x26, 0xa2, 0xae, 0x94, 0xa1, 0xac, - 0x88, 0xba, 0x42, 0xd4, 0xd5, 0x9f, 0x16, 0x0c, 0x51, 0x57, 0x52, 0x46, 0x80, 0xa8, 0x2b, 0x32, - 0x55, 0x07, 0xeb, 0xad, 0xc2, 0x2a, 0xb0, 0x28, 0x55, 0x58, 0xb8, 0x4a, 0x2c, 0x5c, 0x35, 0x16, - 0xa9, 0x22, 0xe5, 0x31, 0x57, 0x0d, 0x51, 0x57, 0x02, 0x45, 0x2f, 0xa2, 0xae, 0x04, 0x4c, 0x14, - 0x51, 0x57, 0x08, 0x7c, 0x41, 0xd4, 0x15, 0x0e, 0x1f, 0xa2, 0xae, 0x04, 0x50, 0x13, 0x04, 0x05, - 0xad, 0x7c, 0x08, 0x11, 0x14, 0x04, 0x5a, 0x09, 0x5a, 0x09, 0x5a, 0x09, 0x5a, 0xb9, 0xa9, 0xb4, - 0x12, 0x41, 0x41, 0x08, 0x0a, 0x12, 0x4b, 0x74, 0x11, 0x14, 0xb4, 0xa9, 0x41, 0x41, 0x70, 0xc3, - 0xfd, 0x5e, 0x7b, 0x6e, 0x76, 0xcc, 0xca, 0x24, 0x54, 0x02, 0x19, 0xf9, 0xc4, 0x9f, 0xb8, 0x8d, - 0xc8, 0xc8, 0x27, 0x2d, 0x37, 0xdc, 0x64, 0xa6, 0x3c, 0x88, 0x4c, 0xee, 0x4e, 0x41, 0x54, 0x6f, - 0xd6, 0xf7, 0xcd, 0xd5, 0xdc, 0xc8, 0x6f, 0x7a, 0xfe, 0x43, 0xfb, 0xa6, 0x3b, 0x19, 0xef, 0xcd, - 0xe7, 0x20, 0xf0, 0x3f, 0xc6, 0x23, 0xbd, 0x49, 0xff, 0xfa, 0x7a, 0x36, 0xd0, 0x0d, 0x4e, 0x23, - 0x28, 0x36, 0x3e, 0x4b, 0x4a, 0x5c, 0x96, 0xb4, 0x64, 0x81, 0x4d, 0x24, 0x0b, 0x2c, 0x8d, 0x35, - 0x00, 0xc9, 0x02, 0x37, 0x57, 0x9d, 0x0a, 0x4f, 0x16, 0x68, 0x98, 0x26, 0xf3, 0xb9, 0x3e, 0xf2, - 0x2c, 0x89, 0xa1, 0xab, 0xf3, 0x9d, 0x0a, 0xaf, 0x6c, 0x2a, 0x2f, 0x32, 0xaa, 0x96, 0x10, 0x1e, - 0xb1, 0x38, 0x73, 0x20, 0x27, 0xe0, 0xb7, 0x8e, 0x34, 0x8b, 0xe5, 0x55, 0x3c, 0xb2, 0x15, 0x50, - 0x61, 0x8a, 0xa8, 0x30, 0x85, 0x54, 0x84, 0x62, 0xaa, 0x86, 0xa5, 0x41, 0x9a, 0x79, 0x39, 0xbd, - 0x6d, 0xb7, 0x9e, 0xe7, 0x30, 0xc3, 0x95, 0x71, 0xdf, 0x66, 0xe8, 0xbb, 0x81, 0xd7, 0x2f, 0x8b, - 0x40, 0xc2, 0x7a, 0x60, 0x01, 0xb7, 0xc3, 0xc4, 0x0e, 0x3a, 0x21, 0xe1, 0x0f, 0x12, 0xca, 0xe0, - 0x3e, 0x61, 0x8a, 0xd7, 0xfb, 0xaf, 0x12, 0xbc, 0x68, 0xd4, 0xeb, 0x00, 0x17, 0x00, 0x17, 0x00, - 0x17, 0x00, 0x17, 0x00, 0x17, 0x72, 0x6e, 0x5b, 0x64, 0xbb, 0xbc, 0xd1, 0x96, 0x88, 0x2d, 0xda, - 0x12, 0xba, 0x92, 0x1b, 0xfb, 0x2c, 0xd7, 0x05, 0x2c, 0x3f, 0x36, 0x67, 0x16, 0x68, 0xda, 0x90, - 0x1c, 0x11, 0x53, 0x74, 0x78, 0x69, 0x71, 0x61, 0xa5, 0x63, 0xb9, 0xbe, 0xfd, 0xe2, 0x8e, 0x54, - 0xab, 0x7e, 0xb8, 0x87, 0x53, 0x25, 0xeb, 0x54, 0x55, 0x24, 0x52, 0x61, 0x00, 0x72, 0xba, 0x70, - 0xa8, 0xcc, 0x28, 0x08, 0x62, 0x5a, 0x38, 0x7b, 0xa1, 0x2b, 0xb1, 0x38, 0xce, 0xcb, 0x9e, 0x41, - 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x40, 0xb1, 0x24, 0xbf, 0x36, 0x95, 0xf8, 0xca, 0x14, - 0x0c, 0x4b, 0x08, 0x1c, 0xae, 0x03, 0x0b, 0x83, 0x61, 0xd1, 0x1e, 0xa9, 0xe6, 0x1e, 0x08, 0x16, - 0x08, 0x16, 0x08, 0x56, 0xde, 0x43, 0xe5, 0x07, 0x8c, 0x8d, 0x7c, 0x2e, 0x8f, 0x57, 0xcd, 0x3a, - 0xac, 0x92, 0x7f, 0x2f, 0xc6, 0xc5, 0x70, 0xf0, 0x81, 0x7d, 0x82, 0x7d, 0x82, 0x7d, 0x82, 0x7d, - 0xca, 0xb9, 0x6d, 0x88, 0x1e, 0x2a, 0x13, 0x7e, 0xd0, 0x2d, 0xe6, 0x18, 0x8f, 0xd2, 0x51, 0xc4, - 0xb4, 0xdb, 0x2a, 0x61, 0x09, 0x44, 0x0a, 0x01, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x48, - 0xba, 0x6d, 0x88, 0x14, 0xca, 0xfd, 0x05, 0x3b, 0xb6, 0x98, 0x7e, 0x61, 0xc7, 0x96, 0x72, 0xa4, - 0x8a, 0xb4, 0x63, 0xef, 0xb6, 0xeb, 0x38, 0x55, 0xd2, 0x4e, 0x15, 0x0c, 0xd9, 0x15, 0x26, 0xa2, - 0xb2, 0x23, 0x84, 0x64, 0x45, 0x06, 0xe1, 0xa9, 0x0a, 0x08, 0x28, 0x08, 0x28, 0x08, 0x28, 0x08, - 0xa8, 0x86, 0x38, 0x2a, 0x02, 0xd1, 0x88, 0x38, 0x2a, 0x55, 0xf9, 0x27, 0x5e, 0xaa, 0x80, 0x7f, - 0x12, 0x1f, 0x29, 0xe9, 0x59, 0xf6, 0x41, 0x3f, 0x41, 0x3f, 0x2b, 0x48, 0x3f, 0x1f, 0xec, 0x80, - 0x47, 0x86, 0xa3, 0x4f, 0x53, 0x0f, 0xca, 0x63, 0xa1, 0x2f, 0x3b, 0x06, 0xbd, 0x02, 0xbd, 0x02, - 0xbd, 0x02, 0xbd, 0x02, 0xbd, 0x9a, 0xde, 0x36, 0xdb, 0x97, 0x24, 0x1b, 0xe7, 0xe5, 0x63, 0xe3, - 0x50, 0x42, 0x5f, 0xd3, 0xb5, 0xac, 0x1c, 0xc7, 0x7a, 0xda, 0xb9, 0x87, 0x96, 0xc4, 0xbd, 0x5b, - 0xd8, 0xc3, 0x03, 0xb9, 0xc5, 0x07, 0x38, 0x0b, 0x5c, 0xe9, 0x85, 0xed, 0x6a, 0x5b, 0x5f, 0xea, - 0xfa, 0xe1, 0xe0, 0xd7, 0x97, 0x86, 0x7e, 0x38, 0x98, 0x7c, 0xdb, 0x48, 0xfe, 0xf7, 0xb3, 0x39, - 0xfe, 0xd5, 0xfc, 0x52, 0xd7, 0x5b, 0xd3, 0xdf, 0x36, 0xf7, 0xbe, 0xd4, 0xf5, 0xbd, 0xc1, 0xf6, - 0xd6, 0xd7, 0xaf, 0xef, 0xd6, 0xfd, 0xcc, 0xf6, 0xcf, 0xdd, 0xb1, 0xbc, 0xb2, 0x1f, 0x03, 0x99, - 0xdb, 0x76, 0x71, 0xd5, 0xfb, 0xbb, 0xb0, 0xbd, 0xfb, 0xef, 0x96, 0xac, 0xdd, 0xdb, 0xfe, 0x57, - 0xad, 0x6a, 0xc5, 0xb9, 0xde, 0x56, 0x58, 0x6c, 0xb6, 0x21, 0x36, 0x45, 0x8b, 0xcd, 0xe4, 0x16, - 0x19, 0xfa, 0xb0, 0xab, 0x7f, 0x18, 0xfc, 0x6c, 0xbc, 0x6d, 0x8d, 0x3b, 0xdb, 0x3f, 0xf7, 0xc7, - 0x2f, 0x7f, 0xf9, 0xeb, 0xb5, 0x3f, 0x6b, 0xbc, 0xdd, 0x1f, 0x77, 0x96, 0xfc, 0x4b, 0x7b, 0xdc, - 0x59, 0xb1, 0x8d, 0xbd, 0xf1, 0xd6, 0xc2, 0x9f, 0xc6, 0xbf, 0x6f, 0x2e, 0xfb, 0x40, 0x6b, 0xc9, - 0x07, 0x76, 0x97, 0x7d, 0x60, 0x77, 0xc9, 0x07, 0x96, 0x0e, 0xa9, 0xb9, 0xe4, 0x03, 0x7b, 0xe3, - 0x5f, 0x0b, 0x7f, 0xbf, 0xf5, 0xfa, 0x9f, 0xb6, 0xc7, 0xdb, 0xbf, 0x96, 0xfd, 0xdb, 0xfe, 0xf8, - 0x57, 0x67, 0x7b, 0x1b, 0x8a, 0x44, 0x98, 0x22, 0xc1, 0x71, 0x96, 0x7f, 0x9c, 0xab, 0xa7, 0x58, - 0x55, 0xb7, 0x3f, 0x0a, 0x66, 0xc0, 0x52, 0x8b, 0x6c, 0xc9, 0x2f, 0xae, 0x55, 0x8a, 0xa2, 0x5a, - 0x05, 0x14, 0xd3, 0x2a, 0xa0, 0x88, 0x96, 0xda, 0x96, 0x72, 0xc7, 0x76, 0xbf, 0xe9, 0x8e, 0x67, - 0xca, 0xcc, 0x35, 0xfc, 0x4a, 0xdf, 0xb0, 0x97, 0xaf, 0x87, 0x53, 0x60, 0x2f, 0x27, 0x3c, 0x1c, - 0xb0, 0x97, 0xc3, 0x5e, 0xbe, 0x92, 0x8d, 0x17, 0xf6, 0x72, 0xba, 0xb5, 0x84, 0xbd, 0x1c, 0x86, - 0x9f, 0x1c, 0x86, 0x1f, 0xd8, 0xcb, 0x55, 0x37, 0x73, 0xc0, 0x5e, 0x5e, 0x3e, 0x45, 0x57, 0xac, - 0xd8, 0x84, 0xbd, 0x5c, 0xb8, 0xd8, 0x84, 0x81, 0x11, 0xf6, 0xf2, 0xaa, 0x29, 0x12, 0x1c, 0x67, - 0xd8, 0xcb, 0x4b, 0xce, 0x4f, 0x35, 0xc4, 0xeb, 0xfe, 0xd6, 0x0a, 0x19, 0x78, 0x11, 0x67, 0x81, - 0x6e, 0x5b, 0xf2, 0x8d, 0x90, 0x4f, 0x5d, 0xc3, 0x06, 0x09, 0x1b, 0x24, 0x6c, 0x90, 0xb0, 0x41, - 0xc2, 0x06, 0x89, 0x27, 0x91, 0xea, 0xf1, 0x68, 0x3c, 0x89, 0x94, 0x39, 0x00, 0x3c, 0x89, 0x14, - 0x7d, 0xa4, 0x90, 0x5a, 0x1e, 0x4f, 0x22, 0x37, 0x86, 0x62, 0xbd, 0x51, 0x48, 0x54, 0xd4, 0xba, - 0xd1, 0x5d, 0x0c, 0xdc, 0x98, 0x25, 0x54, 0x8d, 0x4a, 0xa2, 0x81, 0x3b, 0x31, 0xf6, 0x1c, 0x76, - 0x92, 0x82, 0xd7, 0x43, 0xc3, 0x64, 0xe1, 0xcb, 0x5f, 0x4c, 0x7f, 0x0e, 0xa3, 0xdb, 0x85, 0xbf, - 0x99, 0xff, 0x5d, 0xf2, 0x2b, 0xbf, 0x63, 0xfb, 0x0f, 0xed, 0xe9, 0xb7, 0x53, 0x5b, 0xf6, 0xf4, - 0xaf, 0xd3, 0x9f, 0x77, 0x1e, 0x82, 0xc0, 0x4f, 0xfe, 0xa3, 0xdf, 0x05, 0x5e, 0xe4, 0xef, 0x84, - 0xdc, 0xe0, 0x4c, 0x7c, 0xf6, 0xa2, 0xd0, 0x0c, 0x6c, 0x3f, 0x16, 0x6f, 0xf1, 0xac, 0xbb, 0x96, - 0x65, 0xc7, 0xdf, 0x1b, 0x8e, 0xf6, 0xf9, 0xf2, 0xb2, 0xaf, 0x59, 0x06, 0x37, 0xb4, 0xa1, 0x17, - 0x68, 0xbd, 0xfe, 0x43, 0x5b, 0x7b, 0x9a, 0xa8, 0x24, 0x4e, 0xdc, 0x00, 0x27, 0x06, 0x27, 0x06, - 0x27, 0x06, 0x27, 0x5e, 0x5b, 0xac, 0xd9, 0x92, 0x02, 0x78, 0x0b, 0x08, 0x97, 0x5c, 0xb8, 0xe8, - 0xd2, 0xc3, 0x26, 0x97, 0x69, 0x8f, 0x0f, 0x5e, 0x30, 0x51, 0x1b, 0x9e, 0xfb, 0x52, 0x61, 0xbc, - 0xd5, 0x42, 0xc6, 0x43, 0x8d, 0xdf, 0x33, 0x6d, 0x3a, 0x5c, 0x2d, 0x1e, 0xae, 0x96, 0x0c, 0xf7, - 0xab, 0x2b, 0xd7, 0xbf, 0x2b, 0xc9, 0xe4, 0x2a, 0x5d, 0xcd, 0x14, 0xa1, 0x6e, 0x0a, 0x53, 0x3b, - 0x45, 0xa9, 0x9f, 0xc2, 0xd5, 0x50, 0xe1, 0xea, 0xa8, 0x48, 0xb5, 0x24, 0x99, 0x99, 0x4a, 0xba, - 0xaf, 0xd2, 0x4c, 0xb8, 0x0b, 0xb7, 0x55, 0x6a, 0x38, 0xe9, 0x02, 0xbc, 0x3f, 0x94, 0xd8, 0xa7, - 0xd4, 0xf0, 0x52, 0x39, 0x64, 0xf5, 0x0f, 0x3b, 0x5b, 0x48, 0xb8, 0xe9, 0xc2, 0x1e, 0x1f, 0x14, - 0xd0, 0x77, 0x51, 0x91, 0x27, 0xe9, 0x00, 0xaa, 0x17, 0x86, 0x9a, 0x9a, 0xd2, 0x8a, 0xd8, 0xce, - 0x22, 0xa3, 0x89, 0xd2, 0x51, 0x54, 0x33, 0x3c, 0x35, 0xdd, 0x57, 0xa9, 0x3d, 0x8e, 0xdf, 0x6e, - 0x90, 0x18, 0x6e, 0x43, 0x0c, 0x17, 0x25, 0x86, 0x11, 0x07, 0x58, 0xf9, 0xb0, 0x56, 0x28, 0x26, - 0x84, 0xbb, 0x6e, 0x42, 0xb8, 0x6b, 0x41, 0x8a, 0x1a, 0xe1, 0xbc, 0xa5, 0xea, 0x41, 0x35, 0x5f, - 0xf3, 0x40, 0x94, 0xaf, 0xd9, 0x75, 0x3d, 0x6e, 0x4c, 0x0d, 0xcf, 0xe2, 0xe0, 0x5d, 0x2d, 0x34, - 0xef, 0xd9, 0xc8, 0xf0, 0x0d, 0x7e, 0x3f, 0x71, 0x0a, 0xfb, 0xcc, 0x35, 0x13, 0x6b, 0xae, 0x3e, - 0xe7, 0xf5, 0x7d, 0xed, 0xdb, 0x9d, 0xe7, 0x8e, 0xe1, 0x67, 0x2e, 0xe1, 0xc4, 0x19, 0xfc, 0xe4, - 0x06, 0xfe, 0xbd, 0x03, 0xf8, 0x8d, 0x1a, 0x9b, 0x2d, 0x00, 0xd1, 0x4b, 0x8c, 0x02, 0x97, 0x1e, - 0xfd, 0x2d, 0xd8, 0x05, 0x21, 0xdc, 0xe5, 0x20, 0xc3, 0xc5, 0x20, 0xcd, 0xa5, 0x20, 0xcb, 0x85, - 0x20, 0xdd, 0x65, 0x20, 0xdd, 0x45, 0x20, 0xd3, 0x25, 0xa0, 0x56, 0x70, 0x94, 0x70, 0x13, 0x7f, - 0x7a, 0x5b, 0x1c, 0x66, 0x0c, 0x03, 0x36, 0x14, 0x79, 0x5f, 0x66, 0x46, 0x85, 0x7d, 0x81, 0x7d, - 0xf4, 0xa7, 0x3a, 0xf7, 0xdd, 0xbb, 0x9d, 0x89, 0xc6, 0xdd, 0x59, 0x94, 0xcd, 0xaa, 0xe8, 0xc6, - 0x37, 0x25, 0x3e, 0xa1, 0xb1, 0x50, 0x92, 0xa1, 0xf9, 0xc4, 0x66, 0x56, 0x13, 0x9f, 0x49, 0xad, - 0x90, 0xcc, 0x69, 0x12, 0x32, 0xa5, 0x49, 0xc8, 0x8c, 0x46, 0x7d, 0x62, 0x05, 0x83, 0xff, 0x22, - 0x41, 0xbf, 0x00, 0xa9, 0x5d, 0x0b, 0x79, 0x10, 0x99, 0xdc, 0x9d, 0xaa, 0x87, 0xde, 0x6c, 0x44, - 0x37, 0x57, 0x73, 0xc3, 0xbb, 0xe9, 0xf9, 0x0f, 0xed, 0x9b, 0xee, 0x64, 0x50, 0x37, 0x9f, 0x83, - 0xc0, 0xff, 0x98, 0x0c, 0xe7, 0x4d, 0x39, 0xe5, 0x20, 0x4d, 0x4b, 0x44, 0xe7, 0xb2, 0xc6, 0x7e, - 0xf0, 0xc0, 0xd0, 0x23, 0x37, 0xe4, 0xc6, 0xad, 0x43, 0xab, 0xe5, 0x6b, 0x01, 0x1b, 0xb2, 0x80, - 0xb9, 0x26, 0xbd, 0xef, 0x5a, 0xc0, 0xc5, 0x99, 0x41, 0x90, 0xcb, 0x0f, 0x47, 0xda, 0xde, 0xfe, - 0xe1, 0x81, 0xa6, 0x6b, 0x9f, 0xa7, 0xd1, 0x5e, 0x97, 0x89, 0x5a, 0xd1, 0x2e, 0x99, 0x15, 0xb9, - 0x96, 0xe1, 0x9a, 0x8f, 0x5a, 0x3f, 0xf0, 0xb8, 0x67, 0x7a, 0xce, 0x57, 0x77, 0xeb, 0xf3, 0xe5, - 0x65, 0x7f, 0x5b, 0xfb, 0xcc, 0x82, 0xd0, 0xf6, 0x5c, 0x6d, 0x77, 0x16, 0x71, 0xdc, 0xd2, 0x0c, - 0xd7, 0x4a, 0x22, 0xc9, 0x44, 0x5c, 0x0b, 0xc1, 0xa0, 0x7f, 0x1e, 0xec, 0x3f, 0x6d, 0xa2, 0x20, - 0x74, 0x29, 0x0b, 0xe7, 0x3f, 0xc3, 0xf7, 0xf4, 0xbb, 0x5c, 0x76, 0xe4, 0x45, 0xd6, 0xda, 0xa0, - 0x54, 0xf2, 0x4b, 0x90, 0x3e, 0x95, 0xae, 0x47, 0x69, 0xce, 0x4f, 0xfe, 0x5d, 0xce, 0xd7, 0x42, - 0xce, 0x5d, 0x9d, 0xe1, 0xf9, 0xdc, 0x16, 0x13, 0x5a, 0xc0, 0x4e, 0x0f, 0xd0, 0xa5, 0x00, 0x72, - 0x01, 0x00, 0x5c, 0x00, 0xe0, 0xce, 0x7b, 0x64, 0x68, 0x5f, 0x6e, 0xd1, 0x48, 0x90, 0xe2, 0x5e, - 0x62, 0x11, 0x29, 0xe9, 0xdf, 0xbc, 0xad, 0xea, 0xf5, 0xb5, 0xb8, 0x2f, 0x6d, 0x68, 0x8c, 0x6c, - 0xe7, 0x51, 0x9b, 0x08, 0xc5, 0x28, 0x48, 0x44, 0x70, 0xac, 0x16, 0xbf, 0xba, 0xe4, 0x4f, 0xad, - 0x88, 0x9f, 0x54, 0x91, 0x1b, 0x98, 0x45, 0x18, 0x94, 0x85, 0x19, 0x90, 0x45, 0x61, 0x47, 0xe1, - 0x06, 0x62, 0xe1, 0x40, 0x51, 0xa4, 0x01, 0xb8, 0x5c, 0xa4, 0x8f, 0xfa, 0x89, 0x51, 0x2d, 0x41, - 0x30, 0xe4, 0x27, 0x2a, 0x75, 0x6c, 0xc5, 0xad, 0x13, 0xef, 0xf5, 0x0b, 0x01, 0x77, 0xe2, 0x9a, - 0x8e, 0x17, 0xda, 0xee, 0x5d, 0x2c, 0xd0, 0xb8, 0x61, 0xbb, 0x2c, 0x48, 0x30, 0x7e, 0xf2, 0x24, - 0x28, 0xb1, 0x6e, 0x84, 0xda, 0xbd, 0xe1, 0x5a, 0x0e, 0xb3, 0xb4, 0xdb, 0x47, 0x8d, 0xdf, 0xdb, - 0xe1, 0x57, 0xb7, 0xd7, 0x7f, 0x7a, 0x25, 0x44, 0x3d, 0x3e, 0x31, 0xaf, 0x48, 0x85, 0xf9, 0xd6, - 0x44, 0xfa, 0xd4, 0x84, 0xfb, 0xd2, 0x64, 0xd2, 0x69, 0xa1, 0xbe, 0xb3, 0x62, 0xb8, 0xb4, 0x20, - 0x5f, 0x59, 0xb9, 0x3d, 0x0f, 0x02, 0xed, 0x66, 0x12, 0xec, 0x67, 0xe2, 0xec, 0x68, 0x4a, 0xda, - 0xd3, 0x64, 0x09, 0x82, 0x22, 0xec, 0x6b, 0xd2, 0x65, 0x83, 0xaa, 0xf6, 0x36, 0x31, 0x72, 0x47, - 0x5c, 0xab, 0x83, 0x6a, 0xfb, 0x37, 0x0a, 0xb6, 0x64, 0x0d, 0xf2, 0x9a, 0x25, 0x68, 0xed, 0x92, - 0x32, 0xed, 0x91, 0x04, 0x82, 0x68, 0x7d, 0xbf, 0x5d, 0xbe, 0xfb, 0x9c, 0x7d, 0xaf, 0xb3, 0x7d, - 0x32, 0x23, 0x9a, 0xa0, 0x3a, 0x15, 0x32, 0x4e, 0x43, 0xb6, 0x0d, 0x59, 0x7f, 0x39, 0x33, 0x2c, - 0x65, 0xcd, 0x9c, 0xb1, 0x98, 0x6c, 0x4b, 0x98, 0x62, 0x93, 0x69, 0x3b, 0x19, 0x37, 0x33, 0x1f, - 0x45, 0xcb, 0x4d, 0xc5, 0x28, 0x28, 0x17, 0x19, 0xb5, 0xa2, 0x42, 0x4e, 0xe4, 0x54, 0x89, 0x1c, - 0xf6, 0x50, 0x52, 0x1f, 0xb9, 0xc2, 0x27, 0xaf, 0xd5, 0xa7, 0x66, 0xdd, 0x9b, 0xbe, 0x6e, 0x3a, - 0xf6, 0x64, 0xf2, 0x39, 0x37, 0x7a, 0x76, 0xf2, 0xe6, 0x1b, 0xcd, 0xb9, 0x33, 0xc7, 0x6c, 0x68, - 0x44, 0x0e, 0x27, 0x61, 0x4b, 0xb5, 0xc4, 0xb3, 0x51, 0x2b, 0x14, 0x43, 0xd0, 0xc4, 0x59, 0x93, - 0xd9, 0x7c, 0x28, 0x6d, 0x3c, 0xe4, 0x36, 0x1d, 0x6a, 0xea, 0x26, 0xcc, 0x66, 0x23, 0x8c, 0x87, - 0x89, 0xb0, 0xc9, 0x14, 0xeb, 0x0d, 0x26, 0x8b, 0x3b, 0x4e, 0x4f, 0xdb, 0xad, 0xe7, 0x39, 0xcc, - 0x70, 0x29, 0xce, 0xdb, 0x4c, 0xfb, 0x37, 0x8a, 0xf5, 0x7e, 0x12, 0xd3, 0x8c, 0xc7, 0x3b, 0x8f, - 0xeb, 0x9e, 0xa9, 0x9b, 0xde, 0xc8, 0x4f, 0x70, 0xa0, 0xa5, 0x3b, 0xcc, 0x18, 0xc6, 0x8d, 0x8f, - 0x8b, 0x42, 0xe8, 0x39, 0x50, 0x89, 0x15, 0x4d, 0x72, 0xc4, 0xe8, 0x16, 0xe3, 0xcc, 0xe4, 0x3a, - 0x0f, 0x0c, 0x37, 0x1c, 0x4d, 0x32, 0xe1, 0x52, 0xe9, 0xaf, 0xa5, 0x5d, 0x94, 0x49, 0x9b, 0x35, - 0xa0, 0xc9, 0xa0, 0xc9, 0xa0, 0xc9, 0xaa, 0xa3, 0xc9, 0x22, 0xdb, 0xe5, 0xbb, 0x4d, 0x42, 0x45, - 0x46, 0xf0, 0x1e, 0x86, 0xb8, 0x10, 0x01, 0xa1, 0x7f, 0x5a, 0x44, 0x21, 0x81, 0x34, 0xab, 0x3b, - 0xb5, 0x2b, 0x55, 0x74, 0xce, 0x76, 0x71, 0x39, 0xd9, 0x09, 0x9d, 0x6c, 0x42, 0x12, 0xf5, 0xa7, - 0x5b, 0xd6, 0x6a, 0x1e, 0xb6, 0x0e, 0xdb, 0xfb, 0xcd, 0xc3, 0x3d, 0xec, 0x1d, 0x89, 0x80, 0xa4, - 0x6b, 0x65, 0x50, 0xa8, 0xa0, 0x16, 0xe0, 0xd6, 0x15, 0xe0, 0xc6, 0x15, 0x10, 0x66, 0x76, 0xf9, - 0xe1, 0x48, 0x6b, 0x1d, 0xb4, 0x9b, 0x9d, 0x49, 0xf6, 0xdb, 0x2b, 0x6e, 0x70, 0xe6, 0xb0, 0x30, - 0xd4, 0xa6, 0xf6, 0x79, 0xad, 0x1b, 0x71, 0xef, 0x59, 0xb0, 0x9f, 0x62, 0x31, 0x69, 0xa2, 0xfc, - 0xac, 0x72, 0xc3, 0xd2, 0x32, 0x6c, 0x13, 0x24, 0x04, 0x18, 0xb7, 0x3c, 0xc6, 0xcd, 0xdc, 0x58, - 0x70, 0x5a, 0x74, 0xfc, 0x7a, 0xd6, 0x60, 0x99, 0xd8, 0x74, 0x7c, 0xc9, 0x41, 0xa8, 0x41, 0xa8, - 0x41, 0xa8, 0xab, 0x43, 0xa8, 0x61, 0x1a, 0xde, 0x2c, 0x45, 0xe5, 0x30, 0x23, 0x70, 0x63, 0xa4, - 0xef, 0x39, 0xb6, 0x69, 0x73, 0x4a, 0x95, 0xb5, 0xd8, 0x74, 0x99, 0x94, 0xd7, 0xf9, 0xc5, 0xf9, - 0x09, 0x94, 0x17, 0x94, 0x17, 0x94, 0x57, 0x75, 0x94, 0x17, 0x73, 0xa3, 0x11, 0x23, 0xa3, 0xe5, - 0xa9, 0x02, 0x6b, 0x11, 0xb4, 0x75, 0xe2, 0x46, 0x23, 0xba, 0xd3, 0x7b, 0xed, 0x5d, 0xf1, 0xc0, - 0x76, 0xef, 0x68, 0x9f, 0x2f, 0xd5, 0xe3, 0x35, 0x4c, 0xe4, 0x22, 0xa1, 0x4d, 0xa3, 0x11, 0x37, - 0xfa, 0xf1, 0xf4, 0xe2, 0x7d, 0xf7, 0x94, 0xb2, 0xd9, 0x66, 0xdc, 0xec, 0x69, 0xef, 0xfc, 0xdf, - 0x37, 0xa7, 0x17, 0x47, 0xb4, 0x4d, 0xef, 0xc6, 0x4d, 0xbf, 0xbf, 0xb8, 0xfe, 0xab, 0x56, 0xaa, - 0xd7, 0x6a, 0xd7, 0x5e, 0x8f, 0x20, 0xe0, 0xe8, 0x59, 0x93, 0xc9, 0x24, 0x3b, 0xda, 0x2e, 0xe1, - 0xe2, 0x4d, 0x77, 0x9a, 0xf4, 0xc9, 0xd6, 0xfc, 0x3e, 0x77, 0xb4, 0x26, 0x61, 0xc3, 0xc9, 0x61, - 0xef, 0x68, 0x75, 0x64, 0x1d, 0xd8, 0x74, 0xa3, 0xef, 0x61, 0x63, 0xb7, 0xd1, 0x99, 0x3e, 0xc6, - 0x08, 0xb5, 0xa3, 0x80, 0x19, 0xdc, 0x76, 0xef, 0xb4, 0x23, 0xc3, 0xbc, 0x67, 0xda, 0x89, 0xcb, - 0x03, 0x9b, 0x85, 0x5a, 0xe4, 0x7b, 0xee, 0x57, 0xf7, 0x92, 0x99, 0xcc, 0x7e, 0x88, 0xff, 0xf5, - 0xd3, 0x13, 0xb6, 0xd5, 0xce, 0x99, 0x7d, 0x77, 0x7f, 0xeb, 0x05, 0x5a, 0xd7, 0x7a, 0x60, 0x01, - 0xb7, 0xc3, 0x69, 0x5a, 0x03, 0x98, 0x87, 0xb5, 0x42, 0xcc, 0xc3, 0xc2, 0x36, 0x14, 0x86, 0x64, - 0xf0, 0x73, 0x79, 0xfc, 0x7c, 0xc4, 0x23, 0x3a, 0x46, 0x1e, 0x37, 0x06, 0xd2, 0x0a, 0xd2, 0x0a, - 0xd2, 0x5a, 0x22, 0xd2, 0x8a, 0x10, 0xa6, 0x75, 0x06, 0x26, 0x34, 0x84, 0xa9, 0xd1, 0x3c, 0x40, - 0x14, 0x13, 0x31, 0x6f, 0xd5, 0x10, 0xc5, 0x54, 0xc0, 0xde, 0x01, 0x5a, 0x6e, 0x3a, 0xa1, 0x6d, - 0xb6, 0xda, 0xf5, 0x8e, 0x96, 0x3c, 0x39, 0x76, 0x19, 0x4f, 0x93, 0x0a, 0xbc, 0x4d, 0xb3, 0x09, - 0xb4, 0xb5, 0xad, 0x5e, 0xff, 0xa1, 0xbd, 0xad, 0x5d, 0xf9, 0xcc, 0xb4, 0x87, 0xb6, 0x99, 0x80, - 0xf0, 0xaf, 0x6e, 0xda, 0xdc, 0x15, 0x4b, 0x4e, 0xbf, 0xb6, 0x07, 0x0e, 0x5b, 0x10, 0x87, 0xa5, - 0xdc, 0x43, 0xc8, 0x16, 0xd0, 0x56, 0x19, 0x9f, 0xac, 0x6e, 0x4e, 0x80, 0xe9, 0x33, 0xf9, 0x12, - 0x27, 0x04, 0x70, 0xa7, 0x26, 0xab, 0x30, 0x7f, 0x4e, 0x80, 0xa7, 0xa6, 0x90, 0x16, 0x00, 0x69, - 0x01, 0x0a, 0x21, 0xfc, 0x8a, 0xa5, 0x05, 0x98, 0xdd, 0x18, 0x3a, 0x73, 0x5d, 0xda, 0x22, 0x8d, - 0xcd, 0xae, 0x01, 0x9b, 0x1d, 0x6c, 0x76, 0x9b, 0x68, 0xb3, 0xa3, 0xca, 0xf3, 0x9a, 0x37, 0xe1, - 0xce, 0xd2, 0xc3, 0x9b, 0x2b, 0x01, 0x8f, 0xa0, 0xeb, 0x4e, 0x7e, 0xed, 0x45, 0x5c, 0x7f, 0x61, - 0x62, 0x40, 0x26, 0x5f, 0x45, 0x9a, 0x68, 0x41, 0x14, 0xb3, 0xac, 0x69, 0xa2, 0x6d, 0x81, 0x49, - 0xa2, 0xc9, 0x33, 0x03, 0x0b, 0x2a, 0x73, 0x8a, 0x14, 0xcc, 0x32, 0xc5, 0x8d, 0x34, 0xb1, 0x23, - 0x4d, 0xfc, 0xc8, 0x10, 0x43, 0xb4, 0xe2, 0x88, 0x58, 0x2c, 0xa5, 0x0b, 0x20, 0xac, 0x2c, 0xe9, - 0x9c, 0x4c, 0x79, 0x68, 0xeb, 0xb4, 0x95, 0x35, 0x5e, 0x05, 0x2c, 0x07, 0x02, 0xda, 0xee, 0x1b, - 0x9c, 0xb3, 0xc0, 0x15, 0x96, 0x3a, 0xba, 0xb6, 0xb5, 0xf5, 0xa5, 0xae, 0x1f, 0x1a, 0xfa, 0xb0, - 0xab, 0x7f, 0x18, 0xfc, 0x6c, 0xbc, 0x6d, 0x8d, 0x3b, 0xdb, 0x3f, 0xf7, 0xc7, 0x2f, 0x7f, 0xf9, - 0xeb, 0xb5, 0x3f, 0x6b, 0xbc, 0xdd, 0x1f, 0x77, 0x96, 0xfc, 0x4b, 0x7b, 0xdc, 0x59, 0xb1, 0x8d, - 0xbd, 0xf1, 0xd6, 0xc2, 0x9f, 0xc6, 0xbf, 0x6f, 0x2e, 0xfb, 0x40, 0x6b, 0xc9, 0x07, 0x76, 0x97, - 0x7d, 0x60, 0x77, 0xc9, 0x07, 0x96, 0x0e, 0xa9, 0xb9, 0xe4, 0x03, 0x7b, 0xe3, 0x5f, 0x0b, 0x7f, - 0xbf, 0xf5, 0xfa, 0x9f, 0xb6, 0xc7, 0xdb, 0xbf, 0x96, 0xfd, 0xdb, 0xfe, 0xf8, 0x57, 0x67, 0x7b, - 0x9b, 0xfe, 0xa2, 0x0f, 0x44, 0x1c, 0xc0, 0x8b, 0xab, 0xde, 0xdf, 0xc2, 0x4f, 0xe1, 0x7f, 0x71, - 0x0c, 0x8b, 0x3a, 0x86, 0xff, 0xaa, 0x95, 0x3d, 0xa7, 0xb5, 0x62, 0xb5, 0x5b, 0x85, 0xb9, 0x42, - 0xc4, 0xe9, 0x75, 0xca, 0x58, 0x09, 0xc7, 0x76, 0xbf, 0xe9, 0x8e, 0xf1, 0xc8, 0x82, 0x54, 0xe7, - 0x0a, 0x63, 0x0b, 0xaf, 0xf4, 0x05, 0xf6, 0x00, 0xf6, 0x00, 0xf6, 0xb0, 0x31, 0xec, 0xe1, 0xcc, - 0x70, 0x2d, 0x83, 0x7b, 0xc1, 0xa3, 0x80, 0x2a, 0x4b, 0xe2, 0x99, 0x89, 0x7f, 0xff, 0x18, 0x82, - 0x99, 0x2c, 0x63, 0x26, 0xf3, 0x98, 0xe5, 0x25, 0x14, 0x6a, 0x8e, 0xb7, 0xff, 0xef, 0xf6, 0xff, - 0x03, 0x84, 0x9e, 0x87, 0xd0, 0x7f, 0x5e, 0x2f, 0x60, 0x3d, 0x60, 0xbd, 0x31, 0x0a, 0x3f, 0xe7, - 0x0a, 0xa3, 0x49, 0x23, 0x4b, 0xd2, 0xef, 0x72, 0x45, 0xd6, 0xd0, 0x6f, 0x0f, 0xc1, 0xd6, 0x50, - 0x9a, 0xf8, 0xe9, 0x4d, 0xfb, 0xc4, 0xa0, 0x1c, 0x1e, 0x42, 0x78, 0x08, 0x65, 0x83, 0xeb, 0x72, - 0x09, 0x61, 0x72, 0xa0, 0x3b, 0x9f, 0x43, 0x67, 0x18, 0xb0, 0x21, 0xe5, 0x79, 0x9d, 0x61, 0xda, - 0x7d, 0xc2, 0x36, 0xfb, 0x53, 0x3d, 0xf1, 0xee, 0xdd, 0x54, 0x96, 0xef, 0xd8, 0x7e, 0x95, 0xc4, - 0x79, 0xc8, 0x0d, 0xce, 0xe8, 0x25, 0xfa, 0xa4, 0xd9, 0x92, 0x87, 0x7d, 0x34, 0x21, 0xd4, 0x21, - 0xd4, 0x37, 0x50, 0xa8, 0x23, 0xec, 0x03, 0x86, 0x5b, 0xc1, 0x62, 0x46, 0xb4, 0xb8, 0x91, 0x26, - 0x76, 0xa4, 0x89, 0x1f, 0x19, 0x62, 0x88, 0xde, 0x64, 0xa0, 0x21, 0xec, 0xe3, 0x37, 0x80, 0x05, - 0x61, 0x1f, 0xf0, 0xb7, 0x23, 0xec, 0x23, 0x53, 0x2f, 0x08, 0xfb, 0x40, 0xd8, 0x87, 0x78, 0xf5, - 0x45, 0x19, 0xdd, 0x60, 0x87, 0x7a, 0x90, 0xe4, 0xe4, 0x12, 0x88, 0x85, 0xd3, 0x2e, 0x00, 0x89, - 0x01, 0x89, 0x01, 0x89, 0x01, 0x89, 0xc9, 0x4e, 0x3b, 0x5d, 0x76, 0xfc, 0xa5, 0x68, 0xb8, 0x81, - 0x10, 0x37, 0xd2, 0x2d, 0x43, 0x88, 0x1b, 0xd4, 0x02, 0xd4, 0x02, 0x42, 0xdc, 0x10, 0xe2, 0x56, - 0x45, 0x2b, 0x0c, 0x42, 0xdc, 0xd6, 0x33, 0x17, 0x54, 0x21, 0xc4, 0xad, 0x94, 0x90, 0x66, 0x16, - 0xcb, 0xa4, 0xd3, 0xba, 0x8a, 0x17, 0xc4, 0xc1, 0x8b, 0x7e, 0x00, 0x65, 0x00, 0x65, 0x00, 0x65, - 0xc0, 0x70, 0xc9, 0x4e, 0x3b, 0x6d, 0x09, 0x9d, 0xa5, 0x68, 0xa3, 0x25, 0xa0, 0x6d, 0xd2, 0x12, - 0x3b, 0x8b, 0x4b, 0x2f, 0xa2, 0xe4, 0xce, 0x42, 0x2f, 0x49, 0x09, 0x9e, 0xde, 0xf9, 0xd1, 0xc5, - 0x59, 0xff, 0xf4, 0xe4, 0xfa, 0x44, 0xd0, 0x8d, 0xd5, 0xd2, 0xc2, 0x3c, 0x97, 0x27, 0xdd, 0xa3, - 0xbf, 0xba, 0xef, 0x4f, 0x85, 0xf6, 0x94, 0xd4, 0xea, 0xb9, 0xba, 0xee, 0x8a, 0xed, 0x25, 0x29, - 0xdb, 0x73, 0x7c, 0x72, 0xda, 0xfd, 0x47, 0x64, 0x2f, 0xad, 0xb8, 0x97, 0xfe, 0xe5, 0xc5, 0xfb, - 0x93, 0x9a, 0x90, 0x4e, 0xc6, 0x6f, 0x45, 0x1d, 0x5f, 0xea, 0xea, 0x41, 0x0b, 0x5d, 0x4c, 0xd6, - 0x9e, 0xb4, 0x9c, 0xd0, 0x42, 0x1f, 0x73, 0x57, 0x83, 0x1c, 0x4d, 0x3c, 0x47, 0x16, 0xc9, 0x16, - 0x77, 0xb4, 0x96, 0xc0, 0x3e, 0x9e, 0x2e, 0x1f, 0x39, 0x31, 0x7d, 0x0e, 0x34, 0x92, 0xab, 0xd7, - 0xd1, 0x9a, 0x62, 0x4e, 0xec, 0x86, 0xe9, 0x60, 0x01, 0x59, 0xa5, 0x17, 0xfa, 0xa0, 0xcf, 0x32, - 0xfd, 0xf2, 0x4b, 0xa0, 0x1c, 0x78, 0x51, 0x4b, 0xbf, 0xd1, 0x79, 0x2a, 0xa5, 0x73, 0x6c, 0x87, - 0xa6, 0xf7, 0xc0, 0x82, 0x47, 0x6d, 0xe8, 0x05, 0x5a, 0xaf, 0xaf, 0x3d, 0xbc, 0x48, 0x64, 0x3c, - 0x49, 0x5d, 0x3c, 0xcb, 0x5a, 0xbc, 0xff, 0x6e, 0xf7, 0x5d, 0x53, 0xa4, 0x34, 0x17, 0x0c, 0xc1, - 0x5f, 0x83, 0xe2, 0xa2, 0xb2, 0x53, 0x17, 0x86, 0xca, 0x5f, 0x45, 0xe7, 0x54, 0x7b, 0x2f, 0x6c, - 0xc4, 0x63, 0x45, 0x64, 0xe1, 0x26, 0xd8, 0x4e, 0xbc, 0xc0, 0xbe, 0x13, 0x51, 0xd6, 0x23, 0x65, - 0xf0, 0x93, 0xf6, 0x61, 0x2b, 0x81, 0xad, 0x04, 0xb6, 0x12, 0xd8, 0x4a, 0xc8, 0x4e, 0x7b, 0x6a, - 0x8b, 0x15, 0x22, 0x60, 0x60, 0x2f, 0x59, 0xd5, 0x5e, 0x72, 0x71, 0xfd, 0xd7, 0xc9, 0xa5, 0x70, - 0x53, 0xc9, 0xd5, 0x75, 0xf7, 0xba, 0x77, 0x24, 0xdc, 0x4e, 0x72, 0xfc, 0xcf, 0x79, 0xf7, 0xac, - 0x77, 0x04, 0xeb, 0xc2, 0x4b, 0xeb, 0xc2, 0x74, 0x5d, 0x48, 0x0b, 0x00, 0x2f, 0xf4, 0x32, 0x39, - 0x4a, 0x62, 0x4d, 0x0b, 0xd3, 0x83, 0xd4, 0xd1, 0x1a, 0x9b, 0xc9, 0xc7, 0x91, 0x89, 0x61, 0xad, - 0x76, 0xa5, 0x66, 0x62, 0x98, 0x78, 0x15, 0x51, 0x0e, 0x7b, 0x02, 0x09, 0x49, 0x5e, 0xd6, 0xd5, - 0x4e, 0xed, 0x90, 0x77, 0x39, 0x27, 0xca, 0x41, 0x7f, 0x66, 0xbb, 0x27, 0xce, 0xb4, 0x14, 0x31, - 0x89, 0x9c, 0xaa, 0x9d, 0x19, 0x3f, 0xe6, 0x5a, 0x6c, 0x1c, 0xb4, 0x5a, 0xed, 0xfd, 0x56, 0xab, - 0xbe, 0xbf, 0xbb, 0x5f, 0x3f, 0xdc, 0xdb, 0x6b, 0xb4, 0x1b, 0x04, 0x75, 0xf5, 0x6a, 0x17, 0x81, - 0xc5, 0x02, 0x66, 0xbd, 0x8f, 0xd7, 0xd4, 0x8d, 0x1c, 0x87, 0xb2, 0xc9, 0x4f, 0x61, 0x12, 0x4e, - 0x9e, 0xbf, 0x84, 0x5e, 0xd9, 0x8a, 0x42, 0xc9, 0xbc, 0xfa, 0x35, 0x92, 0x67, 0xf2, 0x41, 0x64, - 0x72, 0x77, 0x0a, 0x8f, 0x7b, 0xb3, 0x2e, 0x6f, 0xae, 0xe6, 0xfa, 0xbf, 0xe9, 0xf9, 0x0f, 0xed, - 0x9b, 0x99, 0x55, 0xa8, 0x86, 0xda, 0x56, 0xe5, 0x3a, 0x0f, 0x65, 0x2e, 0x6f, 0x35, 0x79, 0xd5, - 0xa1, 0x1b, 0xf3, 0xf5, 0xd8, 0xf3, 0x57, 0xba, 0x7a, 0xb5, 0x55, 0x14, 0xbd, 0x42, 0xd1, 0xab, - 0x42, 0x6c, 0x2d, 0x8a, 0x15, 0xbd, 0x22, 0xaa, 0x88, 0x43, 0x5b, 0x09, 0x07, 0x05, 0xaf, 0x0a, - 0xb8, 0xa6, 0xc2, 0xae, 0xab, 0xb0, 0x6b, 0x2b, 0xe2, 0xfa, 0x96, 0x83, 0xba, 0x90, 0x15, 0xbc, - 0x62, 0x2e, 0xa9, 0x8f, 0x7b, 0x2e, 0xca, 0x2c, 0x69, 0x97, 0x2a, 0x53, 0x0b, 0x1b, 0x1a, 0x91, - 0xc3, 0x49, 0x7d, 0xe5, 0xb5, 0xf8, 0x7c, 0xd1, 0x10, 0xe1, 0x01, 0xb2, 0xf6, 0x95, 0x46, 0xda, - 0x89, 0x92, 0x7a, 0xc2, 0xa5, 0x9f, 0x70, 0x29, 0x28, 0x52, 0x1a, 0x96, 0xd3, 0x60, 0x27, 0x2e, - 0x6b, 0x1f, 0xfd, 0x33, 0x51, 0xe2, 0xe7, 0xa1, 0x65, 0xb7, 0x79, 0x0a, 0x4f, 0x0b, 0x5c, 0x92, - 0x2c, 0xb1, 0x31, 0x09, 0x7f, 0x30, 0x1c, 0x01, 0xb9, 0x62, 0x67, 0x2d, 0x43, 0xf7, 0x40, 0xf7, - 0x40, 0xf7, 0x6c, 0x90, 0xee, 0x89, 0x6c, 0x97, 0xef, 0x36, 0x05, 0xa8, 0x1e, 0xca, 0x7c, 0xb1, - 0x97, 0x86, 0x7b, 0x47, 0x1f, 0xdb, 0x2a, 0x20, 0xd4, 0xe3, 0xcc, 0x76, 0xc5, 0x85, 0x48, 0x7c, - 0x36, 0x9c, 0x88, 0x89, 0x73, 0x36, 0xd7, 0x3e, 0x04, 0x46, 0x12, 0x4b, 0x79, 0x6c, 0xdf, 0xd9, - 0x54, 0xde, 0xa2, 0xd7, 0xcf, 0x1e, 0xbb, 0x33, 0xb8, 0xfd, 0xc0, 0x48, 0x9c, 0x30, 0x02, 0xaf, - 0xdd, 0xf3, 0xad, 0x35, 0x7e, 0x88, 0xdf, 0xda, 0x56, 0xf3, 0xb0, 0x75, 0xd8, 0xde, 0x6f, 0x1e, - 0xee, 0x61, 0x8f, 0xa5, 0x08, 0x68, 0xfa, 0xd6, 0x06, 0x40, 0xdc, 0xd5, 0x41, 0xdc, 0x8e, 0x3d, - 0x64, 0xdc, 0x1e, 0x09, 0x30, 0x69, 0xa5, 0x2d, 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, - 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, 0x03, 0x71, 0x6f, 0x30, 0xe2, 0x1e, - 0x19, 0xae, 0x71, 0xc7, 0x2c, 0x7a, 0xc0, 0x3d, 0x6b, 0xb8, 0xcc, 0x4e, 0xe4, 0xe4, 0xde, 0xc2, - 0x8b, 0x0c, 0x5e, 0x01, 0x5e, 0x01, 0x5e, 0xb1, 0xee, 0x69, 0xdd, 0x18, 0x2f, 0xb2, 0xc0, 0x8c, - 0x1a, 0x02, 0x33, 0x69, 0x08, 0x7c, 0x58, 0x7a, 0xf9, 0xe1, 0xe8, 0x0f, 0xc9, 0x13, 0x1e, 0xda, - 0x6f, 0xb5, 0x70, 0x9a, 0x29, 0xa1, 0x25, 0x24, 0x47, 0x86, 0xcc, 0x27, 0xd7, 0xa2, 0x73, 0x62, - 0x14, 0xf3, 0xea, 0x7a, 0xfd, 0x5d, 0x04, 0xc2, 0x07, 0xc2, 0x57, 0x10, 0xe1, 0x7b, 0x96, 0x00, - 0x7b, 0x7a, 0xd2, 0x6a, 0x99, 0xb1, 0x7d, 0xf7, 0xf4, 0x14, 0xc8, 0x1e, 0xc8, 0x1e, 0xc8, 0x1e, - 0xc8, 0x7e, 0xdd, 0xd3, 0x2a, 0x26, 0xc9, 0xaa, 0x88, 0x64, 0x21, 0x62, 0x92, 0x84, 0x88, 0x4d, - 0x0e, 0x32, 0x49, 0x0a, 0x12, 0x8b, 0x67, 0x01, 0xa8, 0x38, 0x49, 0x05, 0x72, 0xdc, 0xbb, 0xea, - 0xbe, 0x3f, 0x3d, 0xb9, 0xf9, 0x74, 0x7e, 0x75, 0x71, 0xda, 0x3b, 0xea, 0x5d, 0x9f, 0x1c, 0xdf, - 0x5c, 0x76, 0x6b, 0xe5, 0x4e, 0x87, 0x23, 0x2c, 0x45, 0x47, 0xb2, 0xd4, 0x42, 0xcc, 0xe0, 0xcb, - 0x16, 0x9a, 0x3a, 0x75, 0x46, 0x55, 0x53, 0x52, 0x80, 0x58, 0xaf, 0x4d, 0xac, 0x17, 0xb2, 0x12, - 0x82, 0x5a, 0x2b, 0x49, 0xad, 0x17, 0xf7, 0x11, 0xe4, 0x1a, 0xe4, 0x5a, 0x3d, 0x72, 0xed, 0xf1, - 0x7b, 0x16, 0xe8, 0x44, 0xcf, 0xac, 0x17, 0x69, 0xd3, 0x7c, 0xeb, 0x70, 0xa4, 0x81, 0x6e, 0x83, - 0x6e, 0x83, 0x6e, 0x57, 0x8e, 0x6e, 0xc3, 0x91, 0x06, 0xbc, 0x0f, 0x47, 0x5a, 0x95, 0xd1, 0x3e, - 0x1c, 0x69, 0xc0, 0xfa, 0xea, 0x63, 0xfd, 0x30, 0xf2, 0x7d, 0xd2, 0x62, 0xc8, 0xa9, 0x1c, 0x4c, - 0x5b, 0x06, 0xc6, 0x07, 0xc6, 0x07, 0xc6, 0x07, 0xc6, 0x07, 0xc6, 0x07, 0xc6, 0x7f, 0x45, 0x01, - 0x71, 0x83, 0x47, 0xa1, 0x4a, 0x00, 0xdf, 0x62, 0x7e, 0xc0, 0x4c, 0x83, 0x93, 0xc5, 0x81, 0x17, - 0x85, 0xdc, 0xa7, 0x4b, 0x5f, 0x25, 0xd8, 0x3e, 0xb7, 0x37, 0xc0, 0xe3, 0xc0, 0xe3, 0x92, 0xf1, - 0x38, 0x12, 0x81, 0xaf, 0x94, 0xf8, 0xf9, 0xb5, 0xec, 0xc7, 0x3b, 0x53, 0x87, 0x40, 0x51, 0xb9, - 0xb9, 0x73, 0xe4, 0x1c, 0x9e, 0x00, 0x40, 0x16, 0xd2, 0x65, 0xa4, 0x4d, 0x5b, 0x44, 0x4e, 0x5a, - 0x69, 0x94, 0x01, 0x39, 0x69, 0x91, 0x93, 0xf6, 0x0f, 0x57, 0x9c, 0xde, 0x46, 0x42, 0x7b, 0x30, - 0x68, 0xae, 0x3b, 0x2c, 0x07, 0xb0, 0x1c, 0xc0, 0x72, 0x40, 0x29, 0x3e, 0xd2, 0x06, 0x89, 0x43, - 0x2a, 0x16, 0x2e, 0x01, 0x69, 0x50, 0x85, 0x20, 0xb1, 0x22, 0x4c, 0xbc, 0x88, 0x14, 0x33, 0xc2, - 0xc5, 0x4d, 0x11, 0xf4, 0x1f, 0x45, 0x47, 0x0b, 0x62, 0xfe, 0xc4, 0xe7, 0x9d, 0x5a, 0x4c, 0xa5, - 0x0d, 0x5b, 0x76, 0x68, 0xdc, 0x3a, 0x8c, 0xa8, 0xf8, 0xcd, 0xea, 0xf6, 0xb5, 0x57, 0xbb, 0x15, - 0x74, 0x7a, 0xc4, 0x54, 0x54, 0x16, 0x2e, 0xe4, 0x64, 0x08, 0x3b, 0x69, 0x42, 0x4f, 0x96, 0xf0, - 0x93, 0x2e, 0x04, 0xa5, 0x0b, 0x43, 0x99, 0x42, 0x51, 0x8c, 0x70, 0x14, 0x24, 0x24, 0xd3, 0x85, - 0x11, 0x56, 0xa1, 0x79, 0xe1, 0xb6, 0xd0, 0x7b, 0x87, 0x96, 0x22, 0xb3, 0x86, 0x52, 0x5b, 0x20, - 0xc8, 0x42, 0xbc, 0xd0, 0x8f, 0x70, 0x8b, 0xb1, 0xf8, 0x9b, 0x20, 0x22, 0x23, 0x5a, 0xaa, 0x5e, - 0x23, 0xee, 0x4d, 0x08, 0x43, 0x14, 0x88, 0xdd, 0x8d, 0x45, 0xcd, 0xbe, 0xd0, 0x35, 0xb4, 0x3b, - 0xb4, 0x3b, 0xb4, 0x3b, 0xb4, 0x3b, 0xb4, 0xbb, 0xea, 0xda, 0x5d, 0x60, 0xac, 0xc8, 0x42, 0x5f, - 0xe2, 0xe2, 0xc3, 0x5f, 0x7e, 0x89, 0x15, 0x59, 0x5a, 0x9e, 0xf8, 0xf1, 0xf6, 0xbb, 0x86, 0x60, - 0x01, 0x27, 0x53, 0x7a, 0xbf, 0x26, 0xc5, 0x45, 0x47, 0x98, 0x17, 0x2e, 0xd0, 0x5f, 0x15, 0xec, - 0x59, 0xce, 0x81, 0xf0, 0x51, 0x8e, 0xdf, 0xa8, 0xd9, 0xfa, 0x00, 0x0c, 0x09, 0x0c, 0x69, 0x65, - 0x15, 0x96, 0x54, 0x0a, 0xd5, 0x3d, 0xd7, 0xb1, 0xdd, 0x6f, 0xe2, 0x59, 0xd1, 0xf3, 0xee, 0xc0, - 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, - 0x84, 0xc0, 0x84, 0xc0, 0x84, 0xc0, 0x84, 0x0a, 0x61, 0x42, 0x7e, 0x22, 0x70, 0x82, 0x78, 0x35, - 0xa8, 0x8b, 0xd8, 0x2d, 0x95, 0xfa, 0xaf, 0xf4, 0x09, 0x4e, 0x04, 0x4e, 0x04, 0x4e, 0x04, 0x4e, - 0xa4, 0x0c, 0x27, 0x22, 0x2f, 0xcf, 0xb7, 0x4c, 0x76, 0xed, 0x0b, 0xec, 0x42, 0x4c, 0xf9, 0xbe, - 0x02, 0xf8, 0x84, 0xc8, 0xf2, 0x7e, 0x0b, 0x9d, 0x09, 0x2e, 0xf7, 0xb7, 0xd0, 0x9f, 0xac, 0xd2, - 0x70, 0x8b, 0x67, 0x5d, 0x74, 0xa9, 0x38, 0x49, 0x62, 0xe1, 0xf9, 0x51, 0x31, 0x7e, 0xc8, 0x3f, - 0x2a, 0xa2, 0xcb, 0x07, 0x6e, 0xf2, 0x99, 0x01, 0x4b, 0x83, 0xa5, 0xab, 0x8a, 0x96, 0xae, 0x26, - 0x2c, 0x5d, 0xb0, 0x74, 0x25, 0xe7, 0x00, 0x32, 0x14, 0x96, 0x2e, 0x58, 0xba, 0x28, 0x2c, 0x5d, - 0x02, 0x6d, 0x29, 0x62, 0x5e, 0x7c, 0xc3, 0xa2, 0x05, 0x8b, 0x16, 0x2c, 0x5a, 0xb0, 0x68, 0x49, - 0xb8, 0x2d, 0xb6, 0xff, 0xd0, 0xd6, 0x85, 0x1f, 0xaf, 0xd4, 0xd3, 0x7f, 0x20, 0xb0, 0x8f, 0xbe, - 0xc1, 0x39, 0x0b, 0x5c, 0xe1, 0xfc, 0xa1, 0xb6, 0xb5, 0xf5, 0xa5, 0xae, 0x1f, 0x1a, 0xfa, 0xb0, - 0xab, 0x7f, 0x18, 0xfc, 0x6c, 0xbc, 0x6d, 0x8d, 0x3b, 0xdb, 0x3f, 0xf7, 0xc7, 0x2f, 0x7f, 0xf9, - 0xeb, 0xb5, 0x3f, 0x6b, 0xbc, 0xdd, 0x1f, 0x77, 0x96, 0xfc, 0x4b, 0x7b, 0xdc, 0x59, 0xb1, 0x8d, - 0xbd, 0xf1, 0xd6, 0xc2, 0x9f, 0xc6, 0xbf, 0x6f, 0x2e, 0xfb, 0x40, 0x6b, 0xc9, 0x07, 0x76, 0x97, - 0x7d, 0x60, 0x77, 0xc9, 0x07, 0x96, 0x0e, 0xa9, 0xb9, 0xe4, 0x03, 0x7b, 0xe3, 0x5f, 0x0b, 0x7f, - 0xbf, 0xf5, 0xfa, 0x9f, 0xb6, 0xc7, 0xdb, 0xbf, 0x96, 0xfd, 0xdb, 0xfe, 0xf8, 0x57, 0x67, 0x7b, - 0x7b, 0x67, 0xab, 0xd1, 0xfc, 0x52, 0xd7, 0x0f, 0x06, 0xbf, 0x1a, 0x5f, 0xea, 0x7a, 0x63, 0x10, - 0xff, 0xe5, 0xe0, 0xd7, 0x97, 0x86, 0x7e, 0x38, 0xfb, 0x36, 0xfe, 0xef, 0xb6, 0x38, 0x31, 0x32, - 0x10, 0x79, 0x7e, 0x2f, 0xae, 0x7a, 0x7f, 0x4b, 0x3b, 0xc4, 0xff, 0xc5, 0x29, 0x2e, 0xf9, 0x29, - 0xfe, 0x57, 0x0d, 0x14, 0x0a, 0x14, 0xaa, 0x78, 0x0a, 0xf5, 0x60, 0x38, 0xb6, 0xcc, 0x40, 0x81, - 0x17, 0xfd, 0x81, 0x52, 0x81, 0x52, 0x81, 0x52, 0x81, 0x52, 0x29, 0x43, 0xa9, 0x10, 0x24, 0xb0, - 0xf2, 0x17, 0x82, 0x04, 0xf2, 0xf5, 0x87, 0x20, 0x01, 0xd2, 0xa3, 0x82, 0x20, 0x81, 0x6a, 0x9d, - 0x19, 0x38, 0xb8, 0x24, 0x28, 0x56, 0x04, 0x09, 0xe4, 0xc4, 0x0b, 0x08, 0x12, 0xd0, 0x10, 0x24, - 0x80, 0x20, 0x01, 0x58, 0xb8, 0x60, 0xe1, 0x92, 0xde, 0x22, 0x75, 0xce, 0x56, 0xc1, 0x1b, 0x29, - 0xbb, 0x78, 0xc7, 0xac, 0x60, 0xc5, 0xf4, 0x1b, 0x92, 0x62, 0x1e, 0xe2, 0x36, 0x94, 0x70, 0x33, - 0x45, 0xc5, 0x8d, 0x88, 0x8d, 0x17, 0x11, 0x64, 0xd4, 0x44, 0x4a, 0xef, 0x22, 0x00, 0x12, 0x52, - 0x7a, 0x57, 0x4f, 0x3d, 0x08, 0x33, 0x42, 0xa6, 0xa7, 0x3d, 0x56, 0xe7, 0x01, 0x1b, 0x8a, 0x38, - 0xef, 0xb3, 0x18, 0x0e, 0x01, 0x66, 0xc7, 0x5a, 0x7f, 0xaa, 0xd1, 0xde, 0xbd, 0x9b, 0xea, 0x98, - 0xa9, 0xc6, 0xd9, 0x04, 0x55, 0x13, 0x72, 0x83, 0x33, 0x71, 0x9a, 0x66, 0xd2, 0xbc, 0x62, 0xb5, - 0x23, 0x9a, 0x50, 0x34, 0x50, 0x34, 0x50, 0x34, 0x99, 0x17, 0x00, 0xb5, 0x23, 0x4a, 0x87, 0xa2, - 0x85, 0xa3, 0x69, 0x19, 0xc2, 0x4e, 0x9a, 0xd0, 0x93, 0x25, 0xfc, 0xa4, 0x0b, 0x41, 0xe9, 0xc2, - 0x50, 0xa6, 0x50, 0x14, 0x67, 0xf6, 0xd1, 0x90, 0x53, 0x6d, 0x3d, 0x64, 0xd6, 0x40, 0x29, 0x04, - 0x94, 0x42, 0x80, 0xb2, 0x82, 0xb2, 0x82, 0xb2, 0x82, 0xb2, 0xda, 0x50, 0x65, 0x85, 0x88, 0x87, - 0x35, 0xbe, 0x90, 0x00, 0x14, 0x11, 0x0f, 0x12, 0x3a, 0x46, 0x02, 0x50, 0x41, 0x5f, 0x03, 0x64, - 0xf6, 0x47, 0x66, 0x7f, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, - 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, 0x00, 0x7b, 0x95, 0x81, 0x3d, 0x12, 0xd5, 0x03, 0xe2, 0x03, - 0xe2, 0x03, 0xe2, 0x03, 0xe2, 0xaf, 0x77, 0x5b, 0xf0, 0x06, 0xbd, 0x4c, 0xf0, 0x18, 0x6f, 0xd0, - 0x85, 0x9c, 0x75, 0xbc, 0x41, 0x27, 0x3a, 0x2a, 0x78, 0x83, 0x0e, 0xd2, 0x21, 0x87, 0x74, 0xc0, - 0x70, 0x53, 0x15, 0xc3, 0x0d, 0xde, 0xa0, 0xc3, 0x70, 0x83, 0x37, 0xe8, 0x30, 0xdc, 0xfc, 0xc6, - 0x70, 0x83, 0xbc, 0xeb, 0x30, 0xd0, 0xc0, 0x40, 0x03, 0x03, 0x0d, 0x0c, 0x34, 0x8b, 0xb7, 0x05, - 0x79, 0xd7, 0xd7, 0xef, 0x08, 0x19, 0xab, 0x91, 0x77, 0x5d, 0xc4, 0xf9, 0x45, 0xde, 0x75, 0x9c, - 0x62, 0xa5, 0xf3, 0xae, 0x23, 0x8d, 0xf8, 0x2b, 0x1a, 0x16, 0x69, 0xc4, 0xc1, 0x10, 0xc0, 0x10, - 0xc0, 0x10, 0x54, 0x65, 0x08, 0x70, 0xe1, 0xae, 0xfc, 0x05, 0x17, 0x6e, 0xbe, 0xfe, 0xe0, 0xc2, - 0x25, 0x3d, 0x2a, 0x70, 0xe1, 0x56, 0xeb, 0xcc, 0xc0, 0xfd, 0x20, 0x41, 0xb1, 0xc2, 0x85, 0x9b, - 0x13, 0x2f, 0xc0, 0x85, 0xab, 0xc1, 0x85, 0x0b, 0x17, 0xee, 0x86, 0x1a, 0x6c, 0x90, 0x15, 0xbb, - 0xb8, 0xac, 0xd8, 0x93, 0x0c, 0x9b, 0x65, 0xcd, 0x54, 0xfa, 0xa6, 0x44, 0x27, 0x22, 0x96, 0xce, - 0xe4, 0x56, 0x93, 0xda, 0xa9, 0x1d, 0xf2, 0x2e, 0xe7, 0xb4, 0x19, 0x0f, 0x63, 0xc6, 0x77, 0xe2, - 0x24, 0x1b, 0x4e, 0x8c, 0x6e, 0x63, 0x82, 0x30, 0xd7, 0x72, 0xe3, 0xa0, 0xd5, 0x6a, 0xef, 0xb7, - 0x5a, 0xf5, 0xfd, 0xdd, 0xfd, 0xfa, 0xe1, 0xde, 0x5e, 0xa3, 0xdd, 0x20, 0xc4, 0xf0, 0xb5, 0x8b, - 0xc0, 0x62, 0x01, 0xb3, 0xde, 0xc7, 0xeb, 0xee, 0x46, 0x8e, 0x23, 0xa2, 0xe9, 0x4f, 0x21, 0x0b, - 0x48, 0xe1, 0x38, 0xd5, 0x71, 0x13, 0x24, 0x78, 0x0a, 0x16, 0x38, 0x35, 0xd2, 0xe4, 0xc3, 0x41, - 0x64, 0x72, 0x77, 0x8a, 0x21, 0x7b, 0xb3, 0xc1, 0xdc, 0x5c, 0xcd, 0x8d, 0xec, 0xa6, 0xe7, 0x3f, - 0xb4, 0x6f, 0x2e, 0x93, 0x91, 0x75, 0xe7, 0x07, 0x76, 0xd3, 0x27, 0x4c, 0xd2, 0x9c, 0x5f, 0x50, - 0xe5, 0x6b, 0x21, 0xe7, 0x99, 0xa3, 0x3e, 0x6b, 0x45, 0x9d, 0xb1, 0x7c, 0x9b, 0x99, 0x7d, 0x0b, - 0x72, 0x2c, 0x3f, 0x51, 0x06, 0x6d, 0xd2, 0x8c, 0xd9, 0x44, 0x19, 0xb2, 0xc9, 0x32, 0x62, 0x53, - 0x3a, 0x7a, 0xc8, 0x1d, 0x3a, 0xd4, 0x24, 0x51, 0x98, 0x83, 0x46, 0x18, 0xc3, 0x13, 0xe1, 0x70, - 0x29, 0x56, 0x1c, 0x52, 0x65, 0xa0, 0x9e, 0x26, 0xdb, 0xa1, 0x3b, 0x1b, 0xcf, 0x93, 0xf8, 0x50, - 0x1d, 0x8c, 0x63, 0x36, 0x34, 0x22, 0x87, 0x93, 0x1a, 0x94, 0x6a, 0xf1, 0xf9, 0xa2, 0x51, 0xae, - 0x03, 0x2a, 0xfc, 0x4e, 0xea, 0xee, 0x26, 0x77, 0x6f, 0x8b, 0x70, 0x67, 0x0b, 0x73, 0x5f, 0x8b, - 0x32, 0x8d, 0x09, 0x77, 0x4f, 0x0b, 0xb7, 0x73, 0x89, 0x74, 0x3f, 0x97, 0x8b, 0x0f, 0x93, 0xbb, - 0x93, 0x05, 0x26, 0xf9, 0x21, 0x4e, 0xea, 0x43, 0x80, 0xf7, 0x09, 0x90, 0x47, 0x02, 0x8d, 0x1f, - 0x0c, 0x87, 0x5e, 0xbf, 0xa4, 0x2d, 0x43, 0xf4, 0x42, 0xf4, 0x42, 0xf4, 0x6e, 0x90, 0xe8, 0x25, - 0x8f, 0xdc, 0x11, 0x10, 0xa9, 0x23, 0x28, 0x32, 0x47, 0x80, 0x71, 0x5f, 0x64, 0xe4, 0x8d, 0xe8, - 0x48, 0x1b, 0x69, 0x51, 0x12, 0xe2, 0xa3, 0x22, 0x44, 0x84, 0x04, 0x8b, 0x8c, 0x94, 0x91, 0x16, - 0x19, 0x53, 0xa5, 0x3d, 0x2e, 0xa9, 0x0f, 0x6b, 0x50, 0x21, 0xc0, 0x49, 0x1e, 0x00, 0xff, 0x54, - 0xfa, 0x91, 0x36, 0xd4, 0x1d, 0x80, 0x13, 0x80, 0x13, 0x80, 0x13, 0x80, 0x13, 0x80, 0x13, 0x80, - 0x13, 0x80, 0x13, 0x80, 0x13, 0x80, 0x53, 0x4d, 0xc0, 0x39, 0x32, 0x5c, 0xe3, 0x8e, 0x59, 0xf4, - 0x78, 0x73, 0xd6, 0x70, 0x99, 0x3d, 0x68, 0xc9, 0xb1, 0x85, 0x0b, 0x0d, 0xb0, 0x1a, 0xb0, 0x1a, - 0xb0, 0x7a, 0xdd, 0xd3, 0x5a, 0x7e, 0x17, 0x1a, 0xd1, 0x12, 0x0a, 0x7c, 0x7b, 0x23, 0xf0, 0xad, - 0x8d, 0xc0, 0x52, 0xfe, 0xeb, 0xbe, 0xa1, 0x68, 0x2a, 0x5e, 0xf6, 0x5f, 0xf4, 0x4b, 0x99, 0x62, - 0x2a, 0xff, 0xaf, 0xbf, 0x8b, 0x00, 0xb8, 0x2a, 0x02, 0x5c, 0xcf, 0x12, 0x60, 0x4d, 0x4d, 0x5a, - 0x2d, 0x33, 0xb4, 0xed, 0x9e, 0x9e, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0x02, 0xd8, 0xae, 0x7b, - 0x5a, 0x99, 0x1b, 0x8d, 0x18, 0x79, 0x59, 0xfa, 0x14, 0xdc, 0xb6, 0x08, 0xdb, 0x3c, 0x71, 0xa3, - 0x11, 0xfd, 0x2d, 0xb8, 0xf6, 0xae, 0x78, 0x60, 0xbb, 0x77, 0x62, 0x9e, 0x23, 0xd6, 0xe3, 0x35, - 0x8e, 0xc5, 0xb3, 0x00, 0x50, 0xd8, 0x88, 0xdb, 0x3e, 0xee, 0x5d, 0x75, 0xdf, 0x9f, 0x9e, 0xdc, - 0x7c, 0x3a, 0xbf, 0xba, 0x38, 0xed, 0x1d, 0xf5, 0xae, 0x4f, 0x8e, 0x6f, 0x2e, 0xbb, 0xb5, 0x52, - 0xbf, 0x01, 0xbd, 0xf6, 0x7a, 0xc9, 0x9d, 0x15, 0xb0, 0xde, 0xf1, 0x52, 0x0b, 0x31, 0x82, 0x2e, - 0x5b, 0xe8, 0x8e, 0xd6, 0xc0, 0x6b, 0x4f, 0xf0, 0x4a, 0x11, 0xbc, 0x52, 0x7b, 0x60, 0x41, 0x18, - 0xd3, 0x91, 0xb6, 0xb6, 0x15, 0xf3, 0x93, 0x6d, 0x30, 0x4b, 0x25, 0x99, 0xe5, 0xe2, 0x3e, 0x82, - 0x5b, 0x2a, 0xc8, 0x2d, 0x3d, 0x7e, 0xcf, 0x02, 0xdd, 0x9c, 0x51, 0x11, 0x62, 0x8e, 0xf9, 0xac, - 0x75, 0xb8, 0x51, 0xc0, 0x36, 0xc1, 0x36, 0xc1, 0x36, 0x2b, 0xc7, 0x36, 0xe1, 0x46, 0x01, 0xdc, - 0x85, 0x1b, 0xa5, 0xca, 0x60, 0x17, 0x6e, 0x94, 0x0a, 0x40, 0xdd, 0x30, 0xf2, 0xfd, 0x80, 0x85, - 0x21, 0x3d, 0xcc, 0x4d, 0x5b, 0x06, 0xc4, 0x05, 0xc4, 0x05, 0xc4, 0x05, 0xc4, 0x05, 0xc4, 0x05, - 0xc4, 0x7d, 0x45, 0x01, 0x71, 0x83, 0x47, 0xa1, 0x4a, 0xf8, 0xd6, 0x62, 0x7e, 0xc0, 0x4c, 0x83, - 0x93, 0x05, 0xc1, 0x16, 0x05, 0x5c, 0xa7, 0x4b, 0x5f, 0x25, 0xd4, 0x3a, 0xb7, 0x37, 0x80, 0xa3, - 0xb2, 0xe1, 0x28, 0x12, 0xf1, 0x65, 0x4f, 0xc4, 0x47, 0x90, 0x4d, 0x36, 0x47, 0x16, 0xbe, 0x37, - 0x12, 0x77, 0x8c, 0x6a, 0xa7, 0x24, 0xef, 0x50, 0x2d, 0x57, 0xa6, 0xc2, 0x1c, 0xe9, 0x36, 0xb3, - 0x1d, 0x8a, 0xf5, 0xb7, 0x34, 0xc3, 0x76, 0xe6, 0x4c, 0xc1, 0x48, 0x92, 0x7a, 0x31, 0x67, 0xca, - 0xc5, 0xdc, 0xa9, 0x16, 0x29, 0xf8, 0x10, 0x19, 0xff, 0xa1, 0x42, 0x0f, 0xe4, 0xfc, 0x86, 0x1c, - 0x0d, 0x50, 0xf2, 0x17, 0xb9, 0xe2, 0x2f, 0x6f, 0x8a, 0xc4, 0x9a, 0xe9, 0x45, 0xb1, 0xd0, 0x08, - 0xe9, 0x52, 0x9f, 0xa6, 0x2d, 0x96, 0x2c, 0xfb, 0x69, 0x1d, 0xd9, 0x4f, 0x8b, 0x37, 0x49, 0x20, - 0xfb, 0xa9, 0xb4, 0xab, 0x9d, 0x36, 0x64, 0xbb, 0xba, 0x65, 0x87, 0xa6, 0x11, 0x58, 0xcc, 0xd2, - 0xfd, 0x6f, 0x3c, 0x14, 0x91, 0xa8, 0xee, 0x65, 0x17, 0xb0, 0x5f, 0xc2, 0x7e, 0x09, 0xfb, 0xe5, - 0x06, 0xd9, 0x2f, 0xa7, 0x6a, 0xbf, 0xdd, 0x12, 0x60, 0xc1, 0x3c, 0x40, 0x0e, 0x11, 0xe2, 0xc6, - 0x91, 0x43, 0x44, 0xf2, 0xcd, 0x7b, 0xbe, 0xb5, 0x32, 0x72, 0x88, 0x88, 0x2d, 0x0a, 0x53, 0xd5, - 0xdd, 0xae, 0xb6, 0x59, 0x16, 0x51, 0x4a, 0xc4, 0xe7, 0xf1, 0x29, 0x4a, 0x49, 0x6b, 0x35, 0x0f, - 0x77, 0x35, 0x5d, 0x3b, 0x4b, 0x52, 0x9a, 0xc4, 0x60, 0x42, 0xeb, 0xb9, 0x43, 0x2f, 0x18, 0x25, - 0xc6, 0x49, 0xed, 0xbd, 0x11, 0xb2, 0x24, 0xd4, 0x85, 0xdf, 0xb3, 0xaf, 0x6e, 0x62, 0xb5, 0x73, - 0x19, 0xd7, 0xfa, 0x81, 0xc7, 0x3d, 0xd3, 0x73, 0xb4, 0xad, 0x5e, 0x1f, 0x71, 0xfa, 0x05, 0xc3, - 0xc0, 0x57, 0xe1, 0x20, 0xd1, 0xd6, 0x42, 0x52, 0x49, 0x1e, 0x0f, 0x4d, 0x66, 0x77, 0x9d, 0x05, - 0x81, 0x17, 0x88, 0x63, 0xcd, 0x73, 0xcd, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, - 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, 0x31, 0x83, - 0x31, 0x43, 0x52, 0xa9, 0xc4, 0x98, 0x87, 0x5e, 0xf0, 0x7d, 0xe2, 0x08, 0xf6, 0x4c, 0xce, 0x04, - 0xf1, 0xe6, 0x85, 0x4e, 0xc0, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, - 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0x21, 0xa9, - 0xd4, 0x64, 0xcf, 0xc2, 0x7c, 0xce, 0x2f, 0xba, 0x00, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, - 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, 0x06, 0x73, - 0x06, 0x73, 0x86, 0xa4, 0x52, 0x89, 0x39, 0x8f, 0x22, 0x87, 0xdb, 0xa6, 0x11, 0x72, 0x91, 0x7e, - 0xe7, 0x85, 0x4e, 0xc0, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, - 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xc1, 0x9e, 0xab, 0xcf, 0x9e, 0x3b, 0xab, 0x30, 0x2c, 0x6d, 0x46, - 0xb0, 0xbe, 0xba, 0xcf, 0x18, 0x96, 0xa6, 0x6b, 0xb6, 0x7f, 0xf5, 0x18, 0x72, 0x36, 0xba, 0xe2, - 0x06, 0x0f, 0xff, 0x3a, 0xea, 0xb9, 0x67, 0x31, 0xa6, 0xbe, 0xa0, 0x84, 0xd4, 0xe0, 0xd6, 0x22, - 0xb8, 0xb5, 0xd0, 0x8d, 0x87, 0x94, 0x53, 0x9d, 0x79, 0x0b, 0xf3, 0x59, 0xbf, 0xe8, 0x02, 0xac, - 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, 0x1b, 0xac, - 0x1b, 0xac, 0x1b, 0xac, 0x3b, 0x1b, 0xf9, 0xea, 0x7f, 0x03, 0xe7, 0xde, 0x40, 0xce, 0x9d, 0x6c, - 0x3b, 0x24, 0x9c, 0x9a, 0x8c, 0x5b, 0xa0, 0x87, 0x1b, 0x7e, 0x6d, 0x30, 0x6c, 0x30, 0x6c, 0x30, - 0x6c, 0x30, 0x6c, 0x30, 0x6c, 0x30, 0x6c, 0x30, 0x6c, 0x30, 0x6c, 0x30, 0xec, 0x8d, 0x61, 0xd8, - 0x88, 0x0a, 0x47, 0x54, 0x38, 0xa2, 0xc2, 0xab, 0xc4, 0x94, 0x85, 0x79, 0xa4, 0xe1, 0x87, 0x06, - 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, - 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x06, 0x4b, 0x86, 0xa4, 0x52, 0x8b, 0x25, 0x7b, 0x11, 0x17, 0x5e, - 0x20, 0xfa, 0x95, 0x3e, 0xc0, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, - 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0xc1, 0x9d, 0x21, 0xa9, - 0x94, 0xe2, 0xce, 0x22, 0x4b, 0x44, 0xbf, 0x68, 0x1f, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, - 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, 0x19, 0x9c, - 0x19, 0x9c, 0x19, 0x92, 0x4a, 0x29, 0xce, 0x2c, 0xbe, 0x48, 0xf4, 0xab, 0xbd, 0x80, 0x3f, 0x83, - 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, - 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x43, 0x52, 0x29, 0xca, 0x9f, 0xc5, 0xf9, 0x9d, 0x51, - 0x27, 0x1a, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, - 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x59, 0x65, 0xee, 0x2c, 0xbe, - 0x50, 0xf4, 0xab, 0xbd, 0x80, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, - 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x83, 0x3f, 0x43, 0x52, - 0x29, 0xca, 0x9f, 0xc5, 0xf9, 0x9e, 0x51, 0xef, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, - 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x19, 0xdc, 0x79, 0x2d, 0x82, 0xf5, - 0xd5, 0x5d, 0xac, 0xfd, 0x7b, 0x11, 0x71, 0xd4, 0x7c, 0xae, 0x3e, 0xb7, 0xfe, 0xe3, 0xd6, 0x43, - 0xd2, 0x29, 0xca, 0xbd, 0x45, 0x7a, 0xac, 0xe1, 0xa7, 0x06, 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x06, - 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x06, 0xd7, 0x86, 0x9f, 0x7a, - 0xb3, 0xb9, 0x34, 0xb8, 0xb2, 0xaa, 0x5c, 0x59, 0x9c, 0x77, 0x1a, 0x3e, 0x69, 0xf0, 0x64, 0xf0, - 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, 0x64, 0xf0, - 0x64, 0xf0, 0x64, 0xf0, 0x64, 0x48, 0x2a, 0x89, 0x3c, 0xf9, 0x4d, 0x81, 0x92, 0xb2, 0xd6, 0x75, - 0x5d, 0x8f, 0x27, 0xc7, 0x83, 0xe4, 0xea, 0xd5, 0x42, 0xf3, 0x9e, 0x8d, 0x0c, 0xdf, 0xe0, 0xf7, - 0xf1, 0x99, 0xdc, 0xf1, 0x7c, 0xe6, 0x9a, 0x09, 0x97, 0xd5, 0xed, 0xf8, 0xbc, 0x0d, 0x0d, 0x93, - 0x85, 0x3b, 0xaf, 0x7d, 0xbb, 0x13, 0x46, 0xb7, 0x73, 0xbf, 0x9f, 0xff, 0x69, 0xc7, 0xf6, 0x1f, - 0xda, 0x3b, 0x21, 0x37, 0x38, 0xdb, 0x99, 0xa2, 0x77, 0x0a, 0xde, 0x5e, 0x0b, 0x79, 0x10, 0x99, - 0xdc, 0x9d, 0x8a, 0xc6, 0xde, 0xac, 0xbb, 0x9b, 0xab, 0xb9, 0xbe, 0x6f, 0x7a, 0xfe, 0x43, 0xfb, - 0xe6, 0x68, 0xd6, 0xeb, 0x9b, 0x62, 0x76, 0x3a, 0xc7, 0x2e, 0xd7, 0xac, 0x7b, 0xd3, 0xd7, 0x4d, - 0xc7, 0x9e, 0x88, 0x89, 0x7c, 0x5b, 0x9c, 0xea, 0x91, 0xf9, 0x46, 0x73, 0x9e, 0xc0, 0x63, 0x36, - 0x34, 0x22, 0x87, 0x93, 0x68, 0xd1, 0x5a, 0x02, 0xb6, 0xf2, 0xed, 0xd2, 0x20, 0xe7, 0x7c, 0x68, - 0x2c, 0x41, 0x64, 0x16, 0x20, 0x4a, 0xcb, 0x0f, 0xb9, 0xc5, 0x87, 0x5a, 0xeb, 0x0b, 0xb3, 0xf0, - 0x08, 0x53, 0xe9, 0x22, 0x2c, 0x3a, 0xc5, 0x6a, 0x14, 0x32, 0xcb, 0x4d, 0x7a, 0xda, 0x6e, 0x3d, - 0xcf, 0x61, 0x86, 0x4b, 0x71, 0xde, 0xa6, 0x97, 0xb3, 0xd1, 0x50, 0x51, 0x90, 0x47, 0xbe, 0x6e, - 0x58, 0x56, 0xa0, 0x5b, 0x8c, 0x33, 0x93, 0xeb, 0x3c, 0x30, 0xdc, 0x70, 0x64, 0x13, 0x58, 0xc7, - 0x9f, 0xc4, 0xfa, 0xd2, 0x2e, 0xca, 0x24, 0xe4, 0x1b, 0x10, 0xf0, 0x10, 0xf0, 0x10, 0xf0, 0xd5, - 0x11, 0xf0, 0x91, 0xed, 0xf2, 0xdd, 0x26, 0xa1, 0x7c, 0xdf, 0x27, 0x68, 0x8a, 0xd6, 0xfe, 0x4e, - 0x68, 0x78, 0x12, 0x61, 0x6f, 0x17, 0x65, 0x67, 0x17, 0x6e, 0x71, 0x15, 0x67, 0x69, 0x25, 0xb4, - 0xa7, 0x0b, 0xb1, 0xa3, 0xa7, 0x5b, 0xd6, 0x6a, 0x1e, 0xb6, 0x0e, 0xdb, 0xfb, 0xcd, 0xc3, 0x3d, - 0xec, 0x1d, 0xa9, 0x95, 0x28, 0x7f, 0x2b, 0x83, 0x42, 0x05, 0xb5, 0x00, 0xeb, 0xb7, 0x00, 0xab, - 0xb7, 0x00, 0x17, 0x6f, 0x62, 0x0a, 0x3d, 0x68, 0x37, 0x3b, 0x5a, 0xaf, 0xff, 0xd0, 0xd6, 0xae, - 0xb8, 0xc1, 0x99, 0xc3, 0xc2, 0x50, 0xeb, 0x5a, 0x56, 0x90, 0xfc, 0x3f, 0xe2, 0xde, 0xc4, 0x2c, - 0x15, 0x05, 0x13, 0xe3, 0x97, 0x5a, 0xd1, 0x0b, 0xa2, 0x2c, 0xd8, 0x72, 0x03, 0x18, 0x32, 0x6c, - 0x13, 0x24, 0x44, 0x09, 0x88, 0x28, 0x73, 0x63, 0x79, 0x62, 0xd1, 0xd1, 0xce, 0x59, 0x83, 0x65, - 0x22, 0x99, 0xf1, 0xd9, 0x07, 0xcf, 0x04, 0xcf, 0x04, 0xcf, 0xac, 0x0e, 0xcf, 0x84, 0x21, 0x31, - 0x19, 0xbb, 0xc3, 0x8c, 0xc0, 0x8d, 0x71, 0xa1, 0xe7, 0xd8, 0xa6, 0xcd, 0x29, 0x25, 0xf9, 0x62, - 0xd3, 0x65, 0x92, 0xe9, 0xe7, 0x17, 0xe7, 0x27, 0x90, 0xe9, 0x90, 0xe9, 0x90, 0xe9, 0xd5, 0x91, - 0xe9, 0xcc, 0x8d, 0x46, 0x8c, 0x8c, 0xc4, 0xa5, 0x72, 0xbd, 0x45, 0xd0, 0xd6, 0x89, 0x1b, 0x8d, - 0xe8, 0x4e, 0xef, 0xb5, 0x77, 0xc5, 0x03, 0xdb, 0xbd, 0xa3, 0x8d, 0x62, 0xab, 0xc7, 0x6b, 0x98, - 0xc8, 0x45, 0x42, 0x06, 0xdc, 0x88, 0x1b, 0xfd, 0x78, 0x7a, 0xf1, 0xbe, 0x7b, 0x4a, 0xd9, 0x6c, - 0x33, 0x6e, 0xf6, 0xb4, 0x77, 0xfe, 0xef, 0x9b, 0xd3, 0x8b, 0x23, 0xda, 0xa6, 0x77, 0xe3, 0xa6, - 0xdf, 0x5f, 0x5c, 0xff, 0x55, 0x2b, 0x57, 0x14, 0xbc, 0xd7, 0x23, 0x88, 0xda, 0x78, 0xd6, 0x64, - 0x32, 0xc9, 0x8e, 0xb6, 0x4b, 0xb8, 0x78, 0xd3, 0x9d, 0xee, 0x68, 0x0d, 0xc2, 0x46, 0xe7, 0xf6, - 0xb9, 0xa3, 0x35, 0x09, 0x1b, 0x4e, 0x0e, 0x7b, 0x47, 0xab, 0x23, 0xfc, 0x6b, 0xd3, 0x4d, 0x84, - 0x87, 0x8d, 0xdd, 0x46, 0x47, 0xbb, 0xf4, 0x22, 0xce, 0x82, 0x50, 0x3b, 0x0a, 0x98, 0xc1, 0x6d, - 0xf7, 0x4e, 0x3b, 0x32, 0xcc, 0x7b, 0xa6, 0x9d, 0xb8, 0x3c, 0xb0, 0x59, 0xa8, 0x45, 0xbe, 0xe7, - 0x7e, 0x75, 0x2f, 0x99, 0xc9, 0xec, 0x87, 0xf8, 0x5f, 0x3f, 0x3d, 0x61, 0x5b, 0xed, 0x9c, 0xd9, - 0x77, 0xf7, 0xb7, 0x5e, 0xa0, 0x75, 0xad, 0x07, 0x16, 0x70, 0x3b, 0x4c, 0x62, 0x2e, 0x43, 0x18, - 0x13, 0x0b, 0x32, 0x26, 0x0a, 0xdb, 0x50, 0x98, 0x1d, 0x4b, 0x40, 0x5b, 0x47, 0x3c, 0xa2, 0x23, - 0xaa, 0x71, 0x63, 0xe0, 0x72, 0xe0, 0x72, 0xe0, 0x72, 0x25, 0xe2, 0x72, 0x88, 0x03, 0x59, 0x67, - 0x60, 0x42, 0xe3, 0x40, 0x1a, 0xcd, 0x03, 0x84, 0x82, 0x10, 0xd3, 0x39, 0x0d, 0xa1, 0x20, 0x05, - 0xec, 0x1d, 0x42, 0x41, 0x36, 0x9d, 0xe7, 0x35, 0x5b, 0xed, 0x7a, 0x47, 0x5b, 0x78, 0xef, 0xf6, - 0x56, 0xfb, 0xcc, 0x82, 0xd0, 0xf6, 0x5c, 0xad, 0xad, 0x6d, 0xf5, 0xfa, 0x0f, 0xed, 0x6d, 0xed, - 0xca, 0x67, 0xa6, 0x3d, 0xb4, 0xcd, 0xc4, 0x9c, 0xf8, 0xd5, 0x4d, 0x9b, 0xbb, 0x62, 0xc9, 0xe9, - 0xd7, 0xf6, 0x40, 0xed, 0x0a, 0xa2, 0x76, 0x94, 0x7b, 0x08, 0xd9, 0x42, 0xc5, 0xe6, 0xde, 0x48, - 0x94, 0x65, 0x54, 0x4f, 0x15, 0x45, 0x3f, 0x51, 0xcc, 0x76, 0xbc, 0xd6, 0x5f, 0xca, 0x0c, 0xcb, - 0x58, 0x8b, 0x5c, 0x37, 0x1a, 0xdd, 0xb2, 0x20, 0x87, 0xcb, 0xf7, 0x09, 0xac, 0x3f, 0xb5, 0x95, - 0x71, 0x43, 0x67, 0xbe, 0x96, 0x8c, 0x1f, 0xcf, 0x4b, 0x9c, 0x29, 0x08, 0xf3, 0x33, 0xa2, 0x3c, - 0xcc, 0x21, 0x65, 0xa9, 0xb4, 0x01, 0x39, 0x31, 0x26, 0x17, 0xf5, 0x0b, 0x44, 0x78, 0x58, 0x53, - 0x44, 0x00, 0x1d, 0xdb, 0x41, 0xbe, 0xc3, 0x62, 0xce, 0x4e, 0x2c, 0x91, 0x11, 0x6b, 0xda, 0x1e, - 0x8d, 0x1d, 0xab, 0x51, 0x75, 0x3b, 0xd6, 0x10, 0x76, 0x2c, 0x11, 0x76, 0xac, 0xa1, 0xea, 0x76, - 0xac, 0xbc, 0xd7, 0xfa, 0x89, 0x64, 0x11, 0xc5, 0xc5, 0x2e, 0x9c, 0x5e, 0x9a, 0xf8, 0xd8, 0xa7, - 0x09, 0x13, 0xc6, 0x54, 0xa5, 0x8d, 0x12, 0xbc, 0xbc, 0x4f, 0xe1, 0x2c, 0x72, 0x32, 0x96, 0x46, - 0xe0, 0xc9, 0x64, 0xab, 0x15, 0xc9, 0xc9, 0x38, 0x44, 0x4e, 0xc6, 0x75, 0x4f, 0x2b, 0x5d, 0x60, - 0xee, 0x02, 0xaa, 0x69, 0x94, 0x6a, 0x09, 0x89, 0xd3, 0xed, 0xa4, 0xed, 0x3e, 0xde, 0x79, 0x5c, - 0xf7, 0x4c, 0xdd, 0xf4, 0x46, 0x7e, 0xc0, 0xc2, 0x90, 0x59, 0xba, 0xc3, 0x8c, 0x61, 0xdc, 0xc9, - 0x18, 0x81, 0x2e, 0x9a, 0x56, 0x3b, 0xf9, 0x91, 0x98, 0xad, 0xf3, 0x2b, 0x3c, 0x7a, 0xdc, 0xe7, - 0x99, 0x3a, 0xfb, 0xc1, 0x3b, 0x9c, 0x39, 0x6c, 0xc4, 0x78, 0xf0, 0xa8, 0x7b, 0xae, 0x6e, 0xde, - 0x27, 0x5e, 0x27, 0x21, 0x58, 0x30, 0xd1, 0xd4, 0x02, 0xc0, 0x60, 0xd1, 0x38, 0x70, 0xb0, 0x31, - 0xa9, 0xb0, 0x9e, 0x4c, 0x2f, 0x3b, 0x53, 0x0a, 0xa8, 0x60, 0x38, 0x47, 0x3a, 0x27, 0x3d, 0x60, - 0x43, 0x3a, 0x4e, 0xfc, 0xbc, 0x59, 0x50, 0x63, 0x50, 0x63, 0x50, 0xe3, 0xe2, 0xa9, 0x31, 0x91, - 0xe5, 0x4b, 0x8c, 0x05, 0x8c, 0xf8, 0xba, 0x83, 0x30, 0x82, 0x30, 0x82, 0x30, 0x52, 0x8a, 0x8f, - 0x45, 0xcc, 0x40, 0x7f, 0xac, 0x16, 0xf0, 0x03, 0xf5, 0xb1, 0xa2, 0xb5, 0x46, 0x09, 0x13, 0x32, - 0x22, 0x85, 0x8d, 0x70, 0xa1, 0x23, 0x5a, 0xf8, 0x48, 0x13, 0x42, 0xd2, 0x84, 0x91, 0x0c, 0xa1, - 0x44, 0x2b, 0x9c, 0x88, 0x85, 0x94, 0x38, 0xeb, 0xd6, 0xc2, 0x69, 0x77, 0x98, 0x31, 0xcc, 0x4f, - 0x4a, 0x7e, 0x8b, 0x5c, 0xf6, 0x05, 0xb4, 0xdd, 0x4f, 0x19, 0x6c, 0x7c, 0x2c, 0x3a, 0x73, 0xcc, - 0xf4, 0xc5, 0x2f, 0xa6, 0x3f, 0x27, 0x09, 0x95, 0x4b, 0xbd, 0xd5, 0x82, 0xac, 0x70, 0xf2, 0xac, - 0x71, 0xf4, 0x37, 0x8a, 0x32, 0xc4, 0x75, 0xde, 0x60, 0x21, 0x4e, 0x51, 0x3f, 0xeb, 0x05, 0xba, - 0x1a, 0xba, 0x1a, 0xba, 0x1a, 0xba, 0x1a, 0xba, 0x7a, 0x45, 0x5d, 0xfd, 0xe5, 0x49, 0x57, 0xff, - 0x8f, 0x19, 0x05, 0x01, 0x73, 0xf9, 0xd6, 0xf6, 0xce, 0xbb, 0x77, 0x4f, 0x56, 0xe8, 0xc1, 0xf4, - 0x23, 0xcf, 0x8d, 0xd1, 0x8b, 0xbf, 0x4b, 0x5b, 0xb6, 0xd8, 0x0f, 0xa8, 0x7d, 0xd5, 0xd4, 0x7e, - 0xa9, 0xec, 0x05, 0x64, 0x4e, 0xba, 0xd9, 0x97, 0x38, 0xd3, 0x93, 0x70, 0xa7, 0xdd, 0x12, 0xad, - 0x42, 0xe8, 0xbc, 0x7b, 0x55, 0x9d, 0x94, 0xcd, 0x14, 0x35, 0x28, 0xb9, 0xe3, 0x5d, 0x8a, 0x93, - 0xef, 0x99, 0x4f, 0x8b, 0xc4, 0xe5, 0x47, 0xb7, 0x49, 0x63, 0x92, 0x42, 0x3c, 0x06, 0x67, 0xf4, - 0xce, 0x81, 0x49, 0xb3, 0x25, 0xf7, 0x0d, 0x34, 0xe1, 0x1b, 0x50, 0x07, 0xea, 0xc3, 0x37, 0x00, - 0xdf, 0x00, 0xec, 0x0d, 0xb0, 0x37, 0xc0, 0xde, 0x00, 0x7b, 0x03, 0xec, 0x0d, 0xe5, 0xf0, 0x0d, - 0xc0, 0x04, 0x0e, 0x95, 0x04, 0x95, 0x04, 0x95, 0x04, 0x95, 0x04, 0x95, 0x54, 0x3d, 0x13, 0x78, - 0x45, 0xd9, 0x5f, 0x85, 0xcc, 0x71, 0x39, 0x92, 0x3e, 0x08, 0xb0, 0xc6, 0xa1, 0x98, 0x78, 0xae, - 0xdd, 0x94, 0x5b, 0x56, 0xfc, 0x53, 0x3a, 0x8a, 0x9b, 0xf4, 0xcf, 0x2e, 0xd9, 0x50, 0xc5, 0xd7, - 0x1c, 0x34, 0x26, 0x5c, 0x52, 0xd3, 0x2d, 0xf9, 0xeb, 0x8d, 0x26, 0x5e, 0x6f, 0x14, 0x0f, 0x39, - 0xf1, 0x7a, 0x63, 0xe5, 0x09, 0x21, 0xb1, 0x01, 0x45, 0xa3, 0x48, 0x6c, 0x50, 0x06, 0x2e, 0x0e, - 0x5f, 0x94, 0x74, 0xae, 0x8d, 0xc4, 0x06, 0xf9, 0x4f, 0x6b, 0xf9, 0x13, 0x1b, 0x80, 0x72, 0xc8, - 0xa7, 0x1c, 0x04, 0x94, 0x11, 0x49, 0x1b, 0xe9, 0xf7, 0xa5, 0x96, 0x8b, 0xff, 0xac, 0x4f, 0xfa, - 0xa4, 0x65, 0x8a, 0x7c, 0x23, 0x70, 0xa7, 0xf3, 0xee, 0xb0, 0xb8, 0x9d, 0xcd, 0xb0, 0x9d, 0xab, - 0x6f, 0xe3, 0x7a, 0x7b, 0xb7, 0xfa, 0x0e, 0xac, 0xb1, 0xfa, 0x19, 0x39, 0x77, 0x2e, 0x8e, 0x9d, - 0x91, 0x53, 0x67, 0xe6, 0xd0, 0x79, 0xa0, 0x64, 0x6e, 0xc8, 0x98, 0x17, 0x1a, 0x92, 0x41, 0x40, - 0x32, 0xa8, 0x47, 0x01, 0xe9, 0xc4, 0x4a, 0x93, 0xac, 0x9c, 0xb5, 0x66, 0x58, 0x23, 0xdb, 0xd5, - 0xe3, 0x33, 0x1d, 0x85, 0xf9, 0x93, 0xdb, 0x3e, 0x6b, 0x2d, 0x5f, 0x7a, 0xdb, 0x3a, 0xd2, 0xdb, - 0x22, 0xbd, 0xad, 0x0a, 0x50, 0xed, 0xcc, 0x70, 0x2d, 0x83, 0x7b, 0xc1, 0x63, 0x8e, 0x9c, 0xcc, - 0xb9, 0x99, 0x14, 0x71, 0x5d, 0x4f, 0x8a, 0x7a, 0x9e, 0x34, 0x75, 0x3c, 0x69, 0xeb, 0x77, 0x4e, - 0xea, 0x76, 0x7e, 0xea, 0x53, 0x58, 0x7e, 0x93, 0x6a, 0x9d, 0xc7, 0x17, 0xff, 0x39, 0xa7, 0x68, - 0x2c, 0xa9, 0xd1, 0x79, 0x7d, 0x72, 0x75, 0xdd, 0x3b, 0xff, 0x58, 0x2b, 0xb6, 0x3c, 0x11, 0x59, - 0xed, 0xcc, 0xc9, 0xe2, 0x90, 0xc4, 0x7e, 0xa7, 0x4b, 0x43, 0x12, 0xf8, 0x1d, 0x1f, 0x80, 0xbc, - 0x95, 0x2c, 0x55, 0x21, 0x92, 0xb9, 0xdf, 0x06, 0xd1, 0x29, 0x1e, 0x61, 0x6f, 0x7f, 0xe8, 0xdf, - 0xfa, 0x10, 0xbd, 0xed, 0xc9, 0x71, 0x17, 0xc9, 0x97, 0xdd, 0xf3, 0xa7, 0x6a, 0xc1, 0x70, 0xb0, - 0xdc, 0x58, 0x6e, 0x8a, 0xe5, 0xce, 0xf4, 0xc9, 0x8c, 0xce, 0x1c, 0xca, 0x52, 0x4c, 0x84, 0x25, - 0x98, 0x08, 0x5d, 0xd2, 0x49, 0xb9, 0x9e, 0x83, 0xf6, 0x6e, 0x47, 0xbb, 0xbe, 0x67, 0x5a, 0x6a, - 0x43, 0x09, 0xb5, 0x8f, 0x81, 0x17, 0xf9, 0xda, 0x59, 0xef, 0xbd, 0xa6, 0x6b, 0xf6, 0xb0, 0x1b, - 0x53, 0xac, 0xab, 0x3c, 0x0c, 0x4b, 0x04, 0xc1, 0x78, 0xed, 0x26, 0x50, 0x57, 0x51, 0x92, 0xe3, - 0xc2, 0xce, 0xb0, 0x0d, 0x45, 0xfb, 0x02, 0x32, 0x7f, 0x7a, 0x50, 0xe2, 0x9a, 0x3b, 0xa6, 0x17, - 0xc5, 0x6b, 0x4f, 0x60, 0x94, 0x48, 0x5b, 0x42, 0xbd, 0x1d, 0x18, 0x24, 0x36, 0xc0, 0x20, 0x91, - 0xbf, 0xde, 0x8e, 0x11, 0x04, 0x36, 0x0b, 0x74, 0x1e, 0x18, 0x6e, 0x68, 0xc7, 0x20, 0x26, 0x24, - 0x2c, 0xbe, 0xf3, 0x4a, 0xe3, 0xa8, 0x28, 0x2d, 0xfc, 0xe2, 0xca, 0x50, 0xf8, 0x08, 0x58, 0x2b, - 0xc8, 0x64, 0x43, 0x5e, 0x51, 0x7a, 0xaa, 0x32, 0xdb, 0x2d, 0xc2, 0xa2, 0xd2, 0x07, 0x28, 0x2a, - 0xbd, 0x66, 0xa3, 0xb3, 0xf2, 0xc4, 0xa8, 0x28, 0x4d, 0x74, 0x53, 0x9e, 0x6f, 0x99, 0xc8, 0x8a, - 0xd2, 0x8d, 0x83, 0x56, 0xab, 0xbd, 0xdf, 0x6a, 0xd5, 0xf7, 0x77, 0xf7, 0xeb, 0x87, 0x7b, 0x7b, - 0x8d, 0x76, 0x03, 0xb5, 0xa5, 0x69, 0xa4, 0x25, 0x5d, 0x2b, 0x03, 0x94, 0x56, 0xf9, 0xad, 0x0d, - 0x0b, 0xa5, 0x55, 0x28, 0x04, 0x8e, 0xb0, 0xed, 0xa1, 0x33, 0x31, 0xaa, 0xb7, 0x2d, 0x85, 0x56, - 0xbc, 0x11, 0x51, 0x15, 0x3e, 0x8d, 0xc0, 0x28, 0x6d, 0x49, 0x78, 0x8b, 0xf9, 0x01, 0x33, 0x0d, - 0x4e, 0xf6, 0xee, 0x40, 0x93, 0x14, 0x46, 0x1e, 0x52, 0x19, 0x4b, 0xa5, 0xd0, 0x93, 0x57, 0x6f, - 0xcc, 0xdc, 0xda, 0x43, 0x0b, 0x13, 0xf5, 0x9f, 0xaf, 0x08, 0x93, 0x7e, 0x1b, 0x78, 0x86, 0x65, - 0x1a, 0x21, 0xd7, 0xfd, 0x6f, 0x3c, 0xa4, 0x2c, 0xc4, 0xf4, 0xb2, 0x69, 0x58, 0x47, 0x60, 0x1d, - 0x81, 0x75, 0x04, 0xd6, 0x11, 0x58, 0x47, 0x60, 0x1d, 0x81, 0x75, 0x04, 0xd6, 0x91, 0x8d, 0xb0, - 0x8e, 0x88, 0xe0, 0x58, 0x74, 0x61, 0x1f, 0x02, 0x69, 0xd6, 0x8a, 0xf1, 0x07, 0x7f, 0x1d, 0xf5, - 0xdc, 0xf7, 0x33, 0x9c, 0xd8, 0xff, 0xc6, 0xc3, 0x77, 0x5f, 0xdd, 0xf8, 0xa3, 0xad, 0xe6, 0xe1, - 0x6e, 0x47, 0x3b, 0x33, 0x5c, 0xe3, 0x8e, 0xc5, 0x6a, 0x5c, 0xeb, 0xb9, 0x43, 0x2f, 0x18, 0x25, - 0x76, 0x02, 0xed, 0xbd, 0x11, 0x32, 0x6d, 0xe8, 0x05, 0x1a, 0xbf, 0x67, 0x5f, 0xdd, 0xa4, 0x6d, - 0x97, 0x71, 0xad, 0x1f, 0x78, 0xdc, 0x33, 0x3d, 0x47, 0xdb, 0xea, 0xf5, 0xb7, 0xdf, 0x29, 0xc6, - 0xee, 0xa8, 0xa3, 0x4c, 0x8a, 0x21, 0x78, 0xc5, 0xef, 0x3a, 0xe4, 0x57, 0x39, 0x78, 0xa5, 0x65, - 0x87, 0xa6, 0x11, 0x58, 0xb4, 0x8c, 0x32, 0x6d, 0x14, 0x5c, 0x12, 0x5c, 0x12, 0x5c, 0x12, 0x5c, - 0x12, 0x5c, 0x12, 0x5c, 0x12, 0x5c, 0x12, 0x5c, 0x12, 0x5c, 0x12, 0x5c, 0x72, 0xd8, 0x73, 0x8f, - 0xa7, 0xf8, 0x10, 0x24, 0x72, 0x03, 0x48, 0xa4, 0x88, 0xed, 0x86, 0xc4, 0x2a, 0x07, 0x7b, 0x64, - 0x41, 0xe0, 0x05, 0xb4, 0xdc, 0x71, 0xda, 0x24, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, - 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0xe3, 0xb0, 0xe7, 0x9e, 0x24, - 0xe8, 0x10, 0xbc, 0x71, 0x23, 0x78, 0x23, 0xf5, 0x66, 0x43, 0x5a, 0x95, 0x83, 0x35, 0x0e, 0xcd, - 0x50, 0x04, 0x73, 0x9c, 0x6b, 0x16, 0xec, 0x11, 0xec, 0x11, 0xec, 0x11, 0xec, 0x11, 0xec, 0x11, - 0xec, 0x11, 0xec, 0x11, 0xec, 0x71, 0x23, 0xd8, 0x63, 0xf9, 0x5f, 0xf8, 0xe2, 0x09, 0x69, 0xd6, - 0x83, 0x85, 0x27, 0xa4, 0x19, 0x40, 0x07, 0x9e, 0x90, 0x16, 0x47, 0xf2, 0xf1, 0x84, 0xb4, 0x74, - 0xb4, 0x7b, 0x14, 0x39, 0xdc, 0x16, 0xf3, 0x84, 0xf4, 0x45, 0xd3, 0xa0, 0xdf, 0xa0, 0xdf, 0xa0, - 0xdf, 0xa0, 0xdf, 0xa0, 0xdf, 0xa0, 0xdf, 0xa0, 0xdf, 0xa0, 0xdf, 0x1b, 0x41, 0xbf, 0xe1, 0xbc, - 0xfd, 0xf3, 0x63, 0xc2, 0xb3, 0x19, 0x4e, 0xc4, 0x13, 0xd2, 0x0d, 0x7a, 0x42, 0x2a, 0x68, 0xd7, - 0x21, 0xbf, 0xca, 0xc1, 0x2b, 0x3d, 0x93, 0x33, 0x62, 0x3e, 0x39, 0x6d, 0x12, 0x3c, 0x12, 0x3c, - 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, 0x12, 0x3c, - 0x32, 0x61, 0x14, 0x17, 0x09, 0x3e, 0x04, 0x81, 0xdc, 0x10, 0x02, 0x49, 0xbd, 0xdd, 0x90, 0x58, - 0xe5, 0x60, 0x8e, 0xe4, 0x7e, 0x48, 0x78, 0x1f, 0xc1, 0x1a, 0xc1, 0x1a, 0xc1, 0x1a, 0xc1, 0x1a, - 0xc1, 0x1a, 0xc1, 0x1a, 0xc1, 0x1a, 0xc1, 0x1a, 0x37, 0x84, 0x35, 0x36, 0x0e, 0x3b, 0xda, 0x25, - 0x1b, 0x79, 0x9c, 0x69, 0xe7, 0x8c, 0x7f, 0xf7, 0x82, 0x6f, 0xda, 0x99, 0xe7, 0xda, 0xdc, 0x0b, - 0x6c, 0xf7, 0xee, 0x77, 0x64, 0x01, 0x1c, 0x52, 0x7d, 0x0e, 0x59, 0x82, 0xcd, 0x87, 0x34, 0x2b, - 0x07, 0xa3, 0x8c, 0x5c, 0x41, 0x11, 0xae, 0xcf, 0x1a, 0x06, 0xc3, 0x04, 0xc3, 0x04, 0xc3, 0x04, - 0xc3, 0x04, 0xc3, 0x04, 0xc3, 0x04, 0xc3, 0x04, 0xc3, 0x04, 0xc3, 0xac, 0x3e, 0xc3, 0x5c, 0xc9, - 0x51, 0xf5, 0x09, 0xb1, 0xad, 0x1b, 0xe6, 0x9a, 0xfc, 0x84, 0xb8, 0xd6, 0xea, 0x72, 0xc9, 0x6f, - 0xae, 0xf7, 0xdd, 0xd5, 0xfd, 0x78, 0x7b, 0xa8, 0xd9, 0xe4, 0xb3, 0xa6, 0xc1, 0x27, 0xc1, 0x27, - 0xc1, 0x27, 0xc1, 0x27, 0xc1, 0x27, 0xc1, 0x27, 0xc1, 0x27, 0xc1, 0x27, 0x37, 0x82, 0x4f, 0x22, - 0x5d, 0x11, 0xd2, 0x15, 0xc1, 0xd4, 0x90, 0xc9, 0xd4, 0xd0, 0x73, 0x3f, 0x4d, 0x08, 0x44, 0x9f, - 0x82, 0x3f, 0xc0, 0x46, 0x20, 0xd0, 0x46, 0xf0, 0x72, 0xab, 0xaa, 0xa7, 0x44, 0xde, 0x22, 0x95, - 0x58, 0x89, 0x2f, 0x1b, 0x52, 0x89, 0xc1, 0x34, 0x46, 0x6c, 0x1a, 0x73, 0x8c, 0x90, 0xeb, 0xa6, - 0xc3, 0x8c, 0x80, 0xce, 0x26, 0x36, 0xd7, 0x26, 0x8c, 0x61, 0x30, 0x86, 0xc1, 0x18, 0x56, 0x22, - 0x63, 0x18, 0xb7, 0x47, 0x8c, 0xdb, 0xe6, 0xb7, 0xb0, 0x74, 0xe6, 0xb0, 0x4f, 0xee, 0x84, 0xf9, - 0xd7, 0x5c, 0xc3, 0xf5, 0x42, 0x66, 0x7a, 0xae, 0x45, 0xa1, 0xea, 0x60, 0x66, 0x83, 0x99, 0x0d, - 0x66, 0x36, 0x98, 0xd9, 0x60, 0x66, 0x93, 0x62, 0x66, 0xe3, 0xcc, 0x61, 0x23, 0xc6, 0x83, 0x47, - 0xdd, 0x73, 0x75, 0xf3, 0x3e, 0x91, 0xbd, 0x30, 0xb7, 0x49, 0x39, 0x60, 0x79, 0x68, 0x80, 0x17, - 0x71, 0xfd, 0x36, 0xf0, 0x0c, 0x4b, 0x40, 0xc0, 0xf5, 0x2b, 0x6d, 0x83, 0x16, 0x80, 0x16, 0x80, - 0x16, 0x94, 0x88, 0x16, 0xc0, 0x47, 0x0e, 0xf0, 0x0e, 0xf0, 0x0e, 0xf0, 0x0e, 0xf0, 0x2e, 0x4e, - 0x6a, 0xc3, 0x11, 0xfa, 0xa7, 0x08, 0xdc, 0x8b, 0x88, 0xbf, 0x9f, 0x01, 0x45, 0x04, 0x5e, 0x6f, - 0x4c, 0xe0, 0xb5, 0xb8, 0x6d, 0x87, 0x04, 0x23, 0xea, 0x3f, 0x2f, 0xb7, 0xb4, 0xec, 0xd0, 0x34, - 0x02, 0x8b, 0x98, 0x55, 0xa6, 0xad, 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, - 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, 0x82, 0x4f, 0x0e, 0x2f, 0x22, 0x7e, 0x3c, 0x05, - 0x88, 0x20, 0x92, 0x1b, 0x40, 0x24, 0x85, 0xec, 0x37, 0x64, 0x56, 0x49, 0x18, 0x24, 0x0b, 0x02, - 0x2f, 0x20, 0xe6, 0x8f, 0xd3, 0x36, 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, - 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, 0xc1, 0x1e, 0x63, 0x36, 0x71, 0x92, 0xc0, 0x43, - 0x70, 0xc7, 0xcd, 0xe0, 0x8e, 0xd4, 0xbb, 0x0d, 0x79, 0x55, 0x12, 0xe6, 0x38, 0x9a, 0x55, 0xac, - 0x15, 0x10, 0xd7, 0xfa, 0xa2, 0x6d, 0x30, 0x49, 0x30, 0x49, 0x30, 0x49, 0x30, 0x49, 0x30, 0x49, - 0x30, 0x49, 0x30, 0x49, 0x30, 0x49, 0x30, 0x49, 0x30, 0xc9, 0x49, 0x80, 0xe3, 0xd9, 0x0c, 0x28, - 0x22, 0xae, 0x75, 0x93, 0xe2, 0x5a, 0x05, 0x6d, 0x3b, 0x24, 0x58, 0x49, 0xb8, 0xa5, 0x97, 0x14, - 0xb3, 0xa5, 0xe5, 0x94, 0xd3, 0x36, 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, - 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, 0xc1, 0x25, 0x27, 0xa4, 0xe2, 0x22, 0x01, 0x88, - 0x20, 0x91, 0x9b, 0x42, 0x22, 0xa9, 0xf7, 0x1b, 0x32, 0xab, 0x24, 0xec, 0x91, 0xde, 0x1f, 0x09, - 0x2f, 0x24, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, 0x98, 0x23, - 0x98, 0xe3, 0x86, 0x30, 0xc7, 0xc6, 0x61, 0x47, 0xbb, 0x64, 0x23, 0x8f, 0x33, 0xed, 0x9c, 0xf1, - 0xef, 0x5e, 0xf0, 0x4d, 0x3b, 0xf3, 0x5c, 0x9b, 0x7b, 0x81, 0xed, 0xde, 0xfd, 0x8e, 0x2e, 0x80, - 0x46, 0xaa, 0x4f, 0x23, 0x4b, 0xb0, 0xf9, 0x90, 0x66, 0x25, 0xe1, 0x94, 0x91, 0x2b, 0x2a, 0xd6, - 0xf5, 0x59, 0xcb, 0xe0, 0x98, 0xe0, 0x98, 0xe0, 0x98, 0xe0, 0x98, 0xe0, 0x98, 0xe0, 0x98, 0xe0, - 0x98, 0xe0, 0x98, 0xe0, 0x98, 0xd5, 0xe7, 0x98, 0xab, 0x79, 0xab, 0x3e, 0x21, 0xca, 0x75, 0xd3, - 0x1c, 0x94, 0x9f, 0x10, 0xe1, 0x5a, 0x5e, 0x3e, 0xf9, 0x46, 0xa2, 0xa4, 0xcc, 0x5f, 0xa0, 0x26, - 0x27, 0x5f, 0x15, 0x59, 0xf7, 0x99, 0xbe, 0x00, 0x0d, 0x51, 0xe1, 0x99, 0x6c, 0x5b, 0x9c, 0xb1, - 0xd6, 0x6b, 0xad, 0xeb, 0xba, 0x1e, 0x4f, 0x56, 0x34, 0x97, 0x14, 0xad, 0x85, 0xe6, 0x3d, 0x1b, - 0x19, 0xbe, 0xc1, 0xef, 0xe3, 0xd9, 0xef, 0x78, 0x3e, 0x73, 0xcd, 0x84, 0xce, 0xeb, 0x76, 0x2a, - 0x6c, 0x76, 0x5e, 0xfb, 0x76, 0x27, 0x8c, 0x6e, 0xe7, 0x7e, 0x3f, 0xff, 0xd3, 0x4e, 0xc8, 0x0d, - 0xce, 0x76, 0xa6, 0x5c, 0x28, 0x8f, 0x95, 0xa2, 0x16, 0xf2, 0x20, 0x32, 0xb9, 0x3b, 0x55, 0x80, - 0xa9, 0xfc, 0xbb, 0xb9, 0x9a, 0xeb, 0xee, 0xe6, 0x68, 0xd6, 0xd1, 0x1b, 0x39, 0xfb, 0x96, 0xe1, - 0x5a, 0xd6, 0x4c, 0x3f, 0xca, 0xbc, 0x51, 0x4f, 0xec, 0xd2, 0x8f, 0x32, 0x2e, 0x66, 0x4e, 0x53, - 0x4f, 0x6e, 0x13, 0x0f, 0x85, 0x69, 0x87, 0xcc, 0xa4, 0x43, 0x05, 0x3f, 0xc8, 0x4d, 0x38, 0xe4, - 0xd8, 0x82, 0xd2, 0x64, 0x23, 0x57, 0x85, 0xe5, 0x36, 0xcd, 0xa4, 0xa7, 0xe5, 0xd6, 0xf3, 0x1c, - 0x66, 0xb8, 0x79, 0xce, 0xcb, 0xf4, 0xf2, 0x34, 0x1a, 0x1b, 0xae, 0xc5, 0xe9, 0xcb, 0xca, 0x95, - 0x57, 0x9b, 0xbf, 0x05, 0x78, 0xc2, 0x72, 0x03, 0xab, 0xe6, 0x23, 0x4f, 0x59, 0x90, 0x92, 0xc5, - 0x42, 0x33, 0xb0, 0xfd, 0x5c, 0xd0, 0x36, 0x15, 0xfe, 0xf3, 0x8d, 0x01, 0x39, 0x01, 0x39, 0x01, - 0x39, 0xad, 0x71, 0x5a, 0x42, 0x1e, 0xd8, 0xee, 0x1d, 0x05, 0x70, 0x3a, 0x90, 0xba, 0x02, 0x84, - 0x06, 0x62, 0x42, 0xc3, 0x30, 0xa1, 0x97, 0x71, 0x45, 0xab, 0x60, 0xd7, 0xb1, 0x8d, 0xb0, 0xe4, - 0xae, 0x6f, 0x6a, 0x33, 0xad, 0x1c, 0xef, 0xf7, 0x5a, 0x1b, 0x50, 0xb4, 0x93, 0xfc, 0x8d, 0x5c, - 0x63, 0xa9, 0x1c, 0x7b, 0x0a, 0x73, 0xe3, 0xbb, 0x6d, 0xe5, 0x47, 0x08, 0xb3, 0x86, 0x32, 0xca, - 0x9a, 0x63, 0x36, 0x34, 0x22, 0x87, 0xe7, 0x92, 0x0e, 0xb5, 0xf8, 0x94, 0xd6, 0xa4, 0x9a, 0x0f, - 0x01, 0x6a, 0x00, 0x6a, 0x60, 0x0e, 0x52, 0xca, 0x1c, 0x04, 0x54, 0x33, 0x55, 0xaa, 0xd6, 0xc8, - 0x76, 0xaf, 0xb8, 0xc1, 0x23, 0x60, 0x9b, 0x22, 0xb1, 0xcd, 0xdc, 0x36, 0x00, 0xe1, 0x08, 0x40, - 0x38, 0xf6, 0xd0, 0x76, 0x2d, 0xf6, 0x23, 0x3f, 0xc2, 0x99, 0x35, 0x04, 0xa8, 0x00, 0xa8, 0x00, - 0xa8, 0xb0, 0xc6, 0x69, 0x89, 0x6c, 0x97, 0xef, 0x36, 0x09, 0x90, 0xc2, 0x7e, 0x8e, 0x26, 0x68, - 0x22, 0x77, 0x09, 0xd4, 0x34, 0x65, 0xa4, 0x2e, 0x75, 0x84, 0xae, 0xb0, 0x98, 0x4e, 0xfa, 0x58, - 0x4e, 0x82, 0x48, 0x5c, 0xd2, 0x08, 0xdc, 0x74, 0x2b, 0x5a, 0xcd, 0xc3, 0xd6, 0x61, 0x7b, 0xbf, - 0x79, 0xb8, 0xb7, 0x79, 0x7b, 0xa2, 0x16, 0xfc, 0x80, 0x3f, 0x79, 0x55, 0x3d, 0x08, 0x07, 0x27, - 0xfc, 0xc9, 0x58, 0x6e, 0x09, 0xcb, 0x2d, 0xd5, 0x78, 0xb9, 0x31, 0x96, 0x10, 0x4d, 0x5f, 0xca, - 0xc1, 0x61, 0xfa, 0x10, 0x68, 0xfa, 0xf8, 0xdd, 0xba, 0xc3, 0xd6, 0x21, 0xc2, 0xd6, 0x41, 0x64, - 0xe9, 0xc8, 0x63, 0xe7, 0x20, 0xf1, 0xe4, 0xd4, 0xe1, 0xc6, 0x81, 0x6d, 0x06, 0xb6, 0x19, 0xd8, - 0x66, 0x60, 0x9b, 0x81, 0x6d, 0x06, 0xb6, 0x99, 0xcd, 0xb3, 0xcd, 0x48, 0x81, 0x4b, 0x8e, 0x11, - 0xf2, 0x99, 0xbd, 0x24, 0x37, 0x68, 0x9a, 0x6f, 0x0c, 0x30, 0x04, 0x30, 0x04, 0x30, 0x64, 0x8d, - 0xd3, 0xc2, 0xed, 0x11, 0xe3, 0xb6, 0xf9, 0x2d, 0xcc, 0x95, 0xf1, 0x85, 0x20, 0xd3, 0x4b, 0xed, - 0x93, 0x3b, 0x11, 0xe4, 0x35, 0xd7, 0x70, 0xbd, 0x90, 0x99, 0x9e, 0x6b, 0xe5, 0x7a, 0x79, 0x09, - 0x6c, 0x03, 0x6c, 0x23, 0x05, 0xdb, 0x88, 0xcb, 0xf8, 0x02, 0x94, 0x23, 0x0a, 0xe5, 0xc0, 0x03, - 0xb5, 0xaa, 0x9a, 0x85, 0x4b, 0x04, 0x1e, 0x28, 0x2c, 0xb7, 0x84, 0xe5, 0x2e, 0xf1, 0x8b, 0x46, - 0xc7, 0xbb, 0xb3, 0x4d, 0xc3, 0x21, 0xa0, 0x6a, 0xd3, 0x86, 0x40, 0xd3, 0x40, 0xd3, 0x40, 0xd3, - 0xd6, 0x38, 0x2d, 0xc8, 0x01, 0x01, 0xc4, 0x04, 0x15, 0x8e, 0xe5, 0xc6, 0x72, 0xab, 0x81, 0x98, - 0x46, 0x69, 0xd2, 0xc2, 0xfc, 0xa0, 0x69, 0xae, 0x2d, 0xe0, 0x26, 0xe0, 0x26, 0xe0, 0x26, 0xe0, - 0x26, 0xe0, 0x26, 0x28, 0x72, 0x2c, 0x37, 0x96, 0xbb, 0x72, 0xb8, 0x69, 0x9a, 0x28, 0x35, 0x27, - 0x62, 0x4a, 0x5a, 0x01, 0x56, 0x02, 0x56, 0x02, 0x56, 0x5a, 0xe3, 0xb4, 0xa8, 0x9a, 0x2d, 0x0b, - 0x50, 0x09, 0xba, 0x1b, 0xba, 0xbb, 0x78, 0xdd, 0x1d, 0x2f, 0xbf, 0x1e, 0x4e, 0x12, 0x6a, 0xe4, - 0x56, 0xe1, 0xf3, 0x8d, 0x41, 0x93, 0x43, 0x93, 0x6f, 0x80, 0x26, 0x3f, 0x33, 0x5c, 0xcb, 0xe0, - 0x5e, 0xf0, 0x18, 0xab, 0xd0, 0xc2, 0xd1, 0x00, 0x73, 0xa3, 0xd1, 0x54, 0x9c, 0x52, 0x40, 0x82, - 0x56, 0x8e, 0x36, 0x4e, 0xdc, 0x68, 0x94, 0xff, 0xe4, 0x5e, 0x7b, 0x57, 0x13, 0x80, 0x43, 0x52, - 0x6f, 0xa9, 0x11, 0xaf, 0xd1, 0xa7, 0x3e, 0xc5, 0x2b, 0xc6, 0x66, 0xdc, 0xd4, 0xf1, 0xc5, 0x7f, - 0xce, 0x29, 0x1a, 0xdb, 0x8d, 0x1b, 0xbb, 0x3e, 0xb9, 0xba, 0xee, 0x9d, 0x7f, 0xa4, 0x68, 0xaf, - 0x95, 0xcc, 0xf3, 0xfc, 0xdf, 0xe7, 0x44, 0xe3, 0xdb, 0x9b, 0x4c, 0xf6, 0xf2, 0xac, 0x7b, 0x7e, - 0x4d, 0xd1, 0x5e, 0x3b, 0x6e, 0xef, 0xfc, 0xe2, 0xfa, 0xa6, 0x7f, 0x79, 0x72, 0x75, 0x42, 0xd3, - 0xe6, 0x7e, 0xdc, 0xe6, 0xe9, 0xc5, 0x7f, 0x4e, 0x2e, 0x6f, 0x4e, 0xbb, 0xff, 0x9c, 0x5c, 0xde, - 0x24, 0x9b, 0x53, 0x6c, 0xa1, 0x47, 0xaf, 0x97, 0xc3, 0x95, 0xf0, 0xac, 0xa9, 0xd9, 0xe2, 0x77, - 0x34, 0x82, 0x28, 0xc5, 0xc9, 0xb9, 0xed, 0x68, 0x4d, 0x82, 0xa6, 0x16, 0x56, 0x3c, 0xd7, 0xdb, - 0xa6, 0x27, 0x81, 0x36, 0x77, 0x38, 0x3a, 0x5a, 0x9b, 0xa0, 0xc5, 0xd9, 0xf5, 0xea, 0x68, 0xbb, - 0x04, 0xad, 0xcd, 0x2e, 0x57, 0x47, 0x6b, 0x51, 0xb4, 0xd6, 0x8f, 0xa5, 0x2d, 0x8a, 0x44, 0x81, - 0xf7, 0x81, 0xf7, 0x61, 0xb9, 0xb1, 0xdc, 0x52, 0x69, 0x36, 0xd2, 0x81, 0xbc, 0xce, 0x25, 0x56, - 0xcc, 0xc8, 0x79, 0xe1, 0xb3, 0x00, 0x79, 0x51, 0x8b, 0xce, 0x8b, 0x3a, 0xb7, 0x0b, 0x78, 0xfb, - 0x4a, 0xfa, 0x89, 0x35, 0x85, 0x78, 0xde, 0x12, 0x89, 0x02, 0x4b, 0x23, 0xae, 0x77, 0x32, 0x56, - 0x5f, 0xa5, 0x35, 0x56, 0xa8, 0xf6, 0xe0, 0x18, 0xeb, 0xaf, 0x4b, 0x2a, 0x92, 0x92, 0x4f, 0xaf, - 0xb9, 0x1f, 0x33, 0x5b, 0xc6, 0x9a, 0x1f, 0xcb, 0x6a, 0x48, 0xcc, 0x63, 0x40, 0x9c, 0x37, 0x1c, - 0x66, 0x98, 0x2a, 0x85, 0x00, 0x25, 0x33, 0x15, 0x92, 0x49, 0xc7, 0x97, 0xa6, 0xc1, 0x64, 0x61, - 0x4a, 0x76, 0xe7, 0x8f, 0xed, 0x20, 0xdb, 0x86, 0x9b, 0xb3, 0x53, 0x96, 0xb7, 0x44, 0xe7, 0xa4, - 0x9d, 0x7c, 0x36, 0xf7, 0x46, 0x45, 0x6c, 0xee, 0x19, 0xaf, 0x0e, 0x35, 0x06, 0x51, 0xcf, 0xea, - 0x9e, 0xed, 0x6a, 0x15, 0x63, 0x47, 0xc8, 0x7a, 0xe5, 0x9e, 0x69, 0x22, 0xdd, 0xb6, 0xf2, 0x6f, - 0xf3, 0xbc, 0x72, 0x8a, 0x1b, 0xcc, 0xb9, 0x27, 0xf9, 0x1c, 0x60, 0x64, 0x97, 0x92, 0xf2, 0x72, - 0x0a, 0xb8, 0xa4, 0x32, 0x08, 0x03, 0xc9, 0xa5, 0x95, 0xcb, 0x16, 0x72, 0x5f, 0x62, 0x22, 0x0e, - 0x90, 0xd7, 0x70, 0x9e, 0xd7, 0x21, 0xb6, 0x70, 0xe2, 0x22, 0x37, 0x9f, 0x4b, 0x6c, 0x41, 0x57, - 0x1e, 0x52, 0x98, 0xa4, 0x27, 0xd3, 0xfc, 0x42, 0x72, 0x0e, 0x68, 0xce, 0xbf, 0x00, 0x89, 0xf6, - 0xda, 0xf2, 0xb5, 0x09, 0x9b, 0xa4, 0x49, 0x19, 0x22, 0x6e, 0x39, 0xd3, 0x81, 0x52, 0xa6, 0x14, - 0x59, 0x68, 0x3c, 0xcd, 0x6b, 0xf1, 0x56, 0x4c, 0xfb, 0xa2, 0x92, 0x5a, 0x2c, 0x1e, 0x3e, 0xea, - 0x24, 0x17, 0xc4, 0xc2, 0xe9, 0xf5, 0xad, 0x25, 0x4c, 0x51, 0xb2, 0x74, 0x6b, 0x5b, 0xf5, 0xc3, - 0x16, 0x76, 0x57, 0xa8, 0xe2, 0x12, 0xd7, 0xda, 0xe0, 0x4d, 0x89, 0xce, 0xae, 0x00, 0x5d, 0xf1, - 0xbf, 0xb6, 0xfb, 0xbf, 0x62, 0x74, 0x45, 0xe3, 0x80, 0xb0, 0xcd, 0xbe, 0xc1, 0x39, 0x0b, 0x5c, - 0x72, 0x75, 0x51, 0xdb, 0x6a, 0xd5, 0x0f, 0xbf, 0xd4, 0xf5, 0xd6, 0xe0, 0x57, 0xab, 0xfe, 0xa5, - 0xae, 0x1f, 0x0c, 0xbe, 0xd4, 0xf5, 0xc3, 0xc1, 0xaf, 0x2f, 0x0d, 0x7d, 0x77, 0xf2, 0xed, 0xcf, - 0xdd, 0x71, 0xfc, 0xd3, 0xe1, 0xf4, 0xa7, 0xc6, 0xdb, 0xe6, 0xf4, 0xe7, 0xff, 0xcf, 0xde, 0xf9, - 0xf5, 0xb6, 0x8d, 0x64, 0x59, 0xfc, 0xdd, 0x9f, 0x82, 0x10, 0x06, 0xe8, 0x78, 0xd0, 0x4a, 0xcb, - 0xb1, 0xfc, 0x2f, 0xc0, 0x3e, 0x38, 0xd3, 0xd9, 0x59, 0x03, 0xce, 0xd8, 0x68, 0x27, 0xd9, 0x1e, - 0xc4, 0x9e, 0x80, 0x2d, 0x56, 0x64, 0xa2, 0x65, 0x4a, 0x43, 0x52, 0xce, 0x06, 0x9b, 0x7c, 0xf7, - 0x01, 0x25, 0x59, 0x21, 0x45, 0x4b, 0xe1, 0x9f, 0xba, 0xc5, 0xa2, 0xfc, 0xeb, 0xa7, 0x76, 0x12, - 0x57, 0x49, 0x55, 0xb7, 0x6e, 0x9d, 0x73, 0xee, 0xe1, 0xe5, 0xee, 0xf5, 0xf5, 0xf3, 0x67, 0x35, - 0x7e, 0xfd, 0xeb, 0xf5, 0xf5, 0x5f, 0x77, 0x3b, 0xfa, 0x02, 0x55, 0xe7, 0x6a, 0x5f, 0x5c, 0x9d, - 0xfd, 0x2e, 0xb6, 0xe4, 0xff, 0x6a, 0x78, 0xcd, 0xff, 0xd2, 0xb1, 0x2d, 0x3b, 0xec, 0x34, 0xfb, - 0x39, 0xea, 0xc2, 0x7e, 0x8d, 0x25, 0xb5, 0xe5, 0x98, 0x4b, 0x6b, 0xab, 0xb5, 0x28, 0xdb, 0x53, - 0x93, 0x50, 0x0d, 0xdc, 0x58, 0x69, 0x4d, 0x9e, 0x9a, 0x79, 0xf1, 0x63, 0xfc, 0x38, 0xd2, 0x55, - 0xf5, 0x33, 0xc2, 0x93, 0x1f, 0xe5, 0xcb, 0xa9, 0xb5, 0xdf, 0xb1, 0x0b, 0x33, 0xb4, 0xfd, 0x2c, - 0xd7, 0x2c, 0x83, 0xe5, 0xc6, 0xfb, 0x32, 0x1c, 0xc7, 0xdd, 0xf1, 0xa0, 0x3b, 0x18, 0xdf, 0x4d, - 0x42, 0x15, 0x45, 0xca, 0xeb, 0x8e, 0x94, 0xfb, 0x29, 0x19, 0xfc, 0xdb, 0x93, 0x30, 0x4e, 0x69, - 0x5a, 0x50, 0x99, 0xfa, 0xe2, 0xfd, 0xc8, 0x0d, 0x7e, 0x59, 0x14, 0x21, 0x6c, 0x7e, 0x7d, 0xf7, - 0x30, 0x09, 0x9d, 0xee, 0x9d, 0x3b, 0x99, 0xd4, 0xf1, 0x14, 0x7f, 0xb7, 0x5b, 0x67, 0xc7, 0xa3, - 0xfc, 0x42, 0xf9, 0xa5, 0xea, 0x4d, 0xf4, 0xd4, 0xca, 0x2f, 0x35, 0x2b, 0x9f, 0xb9, 0xc0, 0xab, - 0x55, 0x01, 0xd5, 0x74, 0x14, 0xb5, 0x1d, 0x49, 0x9d, 0x47, 0x53, 0xe0, 0x88, 0x4a, 0x81, 0x4c, - 0x8a, 0x2f, 0x3a, 0xb0, 0x5f, 0x5d, 0xe4, 0x56, 0xf7, 0x68, 0x2f, 0x07, 0x8a, 0x27, 0x1a, 0xca, - 0xab, 0xb9, 0xf0, 0x9d, 0x8d, 0xaa, 0x69, 0xf7, 0xf4, 0xd4, 0x5a, 0xb5, 0x1f, 0x7b, 0x89, 0xe3, - 0x2f, 0x98, 0x06, 0x4c, 0x72, 0x4e, 0xad, 0x69, 0xa1, 0x19, 0xce, 0xa9, 0x2d, 0x4d, 0x68, 0x26, - 0x9c, 0x9a, 0x62, 0x56, 0x5b, 0xed, 0x36, 0x17, 0xb1, 0xbe, 0xa7, 0x82, 0xd8, 0x8f, 0xbf, 0x84, - 0xea, 0x93, 0x84, 0xcc, 0x7c, 0xa0, 0x71, 0xcc, 0xb3, 0xc5, 0x47, 0x7d, 0xe5, 0x46, 0x02, 0xe7, - 0xe1, 0x61, 0x41, 0xde, 0x5e, 0x9e, 0xfd, 0xfa, 0xf1, 0xed, 0x3f, 0x2f, 0x5f, 0x5f, 0xe9, 0x3e, - 0x10, 0xb3, 0x92, 0x53, 0xa4, 0x5d, 0xb2, 0x75, 0x44, 0x0a, 0xab, 0xf9, 0x35, 0xe9, 0xfd, 0x7e, - 0xbc, 0xd7, 0xeb, 0x75, 0xda, 0x50, 0x3a, 0x34, 0xb4, 0x1c, 0xc7, 0xa7, 0xc7, 0x2c, 0xc7, 0x72, - 0x39, 0x4e, 0x88, 0x8e, 0xcc, 0x72, 0xbc, 0x60, 0x39, 0x96, 0xcb, 0x71, 0xfa, 0x8f, 0x7f, 0x76, - 0x2c, 0xaf, 0x4a, 0xdf, 0x6c, 0x29, 0x74, 0xd0, 0xac, 0x19, 0x2f, 0xc7, 0x15, 0xd3, 0x8e, 0xf5, - 0x2d, 0xa3, 0x8e, 0xf7, 0xe4, 0xe8, 0x72, 0xb4, 0xe6, 0xce, 0x85, 0x5e, 0x1f, 0x18, 0xac, 0x0b, - 0xd6, 0x05, 0xeb, 0x6a, 0x0d, 0xeb, 0xc2, 0x04, 0xaa, 0x35, 0x26, 0x31, 0x81, 0x16, 0x0a, 0x3e, - 0x4c, 0xa0, 0x6b, 0xb6, 0x16, 0x13, 0xa8, 0x71, 0xb8, 0xbd, 0xa5, 0x26, 0x50, 0xe0, 0xb6, 0x06, - 0xb8, 0x1d, 0xc5, 0xee, 0xe0, 0xcf, 0xee, 0xfc, 0xdc, 0x08, 0x01, 0xef, 0xcc, 0x14, 0x40, 0x70, - 0x20, 0x38, 0x10, 0xfc, 0x29, 0x42, 0x70, 0x81, 0x34, 0xe0, 0x68, 0xea, 0xf5, 0x98, 0x1b, 0x53, - 0x4b, 0xef, 0xc7, 0xfc, 0x02, 0xeb, 0xec, 0x05, 0x99, 0x1b, 0xbd, 0x97, 0xac, 0xf4, 0xe5, 0xbb, - 0xab, 0xff, 0xe9, 0x08, 0x40, 0xc3, 0x59, 0xe3, 0xc9, 0xcb, 0x8b, 0x4b, 0x89, 0xb1, 0x67, 0x9d, - 0x28, 0xaf, 0xfe, 0xf7, 0xf4, 0x52, 0xaf, 0x6c, 0xa9, 0x19, 0x21, 0x6b, 0x6c, 0x86, 0x98, 0xbf, - 0x2d, 0x2e, 0x2e, 0x65, 0x48, 0xcf, 0x3c, 0x1e, 0x44, 0x80, 0xf0, 0x7c, 0xc7, 0x5e, 0x3a, 0x2f, - 0x2c, 0x85, 0xaa, 0x28, 0xc3, 0xb6, 0x40, 0xd5, 0xad, 0xb2, 0x71, 0xcb, 0xb9, 0x8f, 0xb3, 0x5e, - 0xdc, 0x5a, 0x66, 0xe4, 0xfa, 0x4b, 0x5f, 0x63, 0xd9, 0x3b, 0xf3, 0x5e, 0x4d, 0xda, 0x8c, 0x91, - 0xf3, 0xe1, 0x2c, 0xf3, 0x45, 0xbe, 0xc0, 0x17, 0x69, 0x03, 0x0f, 0xc0, 0x17, 0x59, 0xe2, 0x2b, - 0xe1, 0x8b, 0x44, 0x1e, 0x40, 0x1e, 0x40, 0x1e, 0xb0, 0x4e, 0x1e, 0xc0, 0x17, 0xb9, 0xb2, 0x20, - 0xf8, 0x22, 0xd7, 0xac, 0x09, 0xbe, 0x48, 0x7c, 0x91, 0x9b, 0x96, 0x03, 0x5f, 0x24, 0xbe, 0xc8, - 0x75, 0xcb, 0x81, 0x2f, 0xb2, 0x09, 0xf1, 0x07, 0x5b, 0x20, 0xa4, 0x03, 0xd2, 0x01, 0xe9, 0xb0, - 0x8e, 0x74, 0x60, 0x0b, 0xd4, 0x1a, 0x93, 0xd8, 0x02, 0x0b, 0x05, 0x1f, 0xb6, 0xc0, 0x35, 0x5b, - 0x8b, 0x2d, 0xd0, 0x38, 0xda, 0xfc, 0xb6, 0x75, 0xdd, 0xdf, 0x70, 0xc5, 0x81, 0x40, 0x41, 0xa0, - 0x20, 0x50, 0x07, 0x57, 0x1c, 0xae, 0xb8, 0xf9, 0xe8, 0xb8, 0xe2, 0x44, 0x01, 0x22, 0xae, 0xb8, - 0xd5, 0x3b, 0xe3, 0x49, 0xb8, 0xe2, 0x30, 0x85, 0x65, 0xc6, 0x33, 0x66, 0x0a, 0xab, 0xf0, 0x1a, - 0x3c, 0x7d, 0x2b, 0x4f, 0xbb, 0xd0, 0x4d, 0x7b, 0xd3, 0xa9, 0xe5, 0x98, 0x0b, 0xa7, 0x83, 0x38, - 0x58, 0xe0, 0x82, 0xe5, 0x3b, 0x32, 0x3f, 0x5e, 0xa5, 0xe6, 0xfc, 0xf8, 0x7e, 0xe4, 0x06, 0x1f, - 0x5f, 0xcf, 0xe6, 0x7c, 0xb3, 0x98, 0xd2, 0xe2, 0x4e, 0xa5, 0x7e, 0xa0, 0xb9, 0x55, 0xe9, 0xea, - 0x80, 0xf4, 0x2a, 0xa5, 0x57, 0x69, 0x63, 0x94, 0x85, 0x5e, 0xa5, 0xf4, 0x2a, 0x35, 0xac, 0x4a, - 0xe0, 0xc9, 0xc5, 0x93, 0xbb, 0x61, 0x20, 0x3c, 0xb9, 0x88, 0x93, 0x88, 0x93, 0x88, 0x93, 0xba, - 0x22, 0x16, 0x4f, 0xee, 0xca, 0x82, 0xe0, 0xc9, 0x5d, 0xb3, 0x26, 0x78, 0x72, 0xf1, 0xe4, 0x6e, - 0x5a, 0x0e, 0x3c, 0xb9, 0x78, 0x72, 0xd7, 0x2d, 0x07, 0x9e, 0xdc, 0xc6, 0xa0, 0x03, 0xcd, 0x93, - 0x6a, 0x7d, 0x4d, 0x4c, 0xc9, 0xb0, 0x2e, 0x58, 0x17, 0xac, 0xcb, 0xb1, 0xf8, 0xf0, 0x3b, 0x98, - 0x92, 0x31, 0x25, 0x17, 0x08, 0x3e, 0x4c, 0xc9, 0x6b, 0xb6, 0x16, 0x53, 0xb2, 0x71, 0xb8, 0x4d, - 0xaf, 0x52, 0xe0, 0xf6, 0x3a, 0xb8, 0x8d, 0x2b, 0x1b, 0x08, 0x0e, 0x04, 0x07, 0x82, 0xe3, 0xca, - 0x4e, 0x8f, 0x89, 0x2b, 0x7b, 0x65, 0x70, 0x5c, 0xd9, 0xb8, 0xb2, 0x57, 0xef, 0x0c, 0x7a, 0x95, - 0x02, 0x55, 0xc5, 0x47, 0x78, 0x3a, 0xb6, 0xf4, 0x15, 0x33, 0x2e, 0xcd, 0x4a, 0x69, 0x56, 0xda, - 0x18, 0x31, 0xc0, 0x18, 0x89, 0x31, 0x72, 0xc3, 0x40, 0x18, 0x23, 0xd1, 0x07, 0xd0, 0x07, 0xd0, - 0x07, 0x74, 0x45, 0x2c, 0xc6, 0xc8, 0x95, 0x05, 0xc1, 0x18, 0xb9, 0x66, 0x4d, 0x30, 0x46, 0x62, - 0x8c, 0xdc, 0xb4, 0x1c, 0x18, 0x23, 0x31, 0x46, 0xae, 0x5b, 0x0e, 0x8c, 0x91, 0x4d, 0xa8, 0x3f, - 0xf8, 0x02, 0x21, 0x1d, 0x90, 0x0e, 0x48, 0x87, 0x75, 0xa4, 0x03, 0x5f, 0xa0, 0xd6, 0x98, 0xc4, - 0x17, 0x58, 0x28, 0xf8, 0xf0, 0x05, 0xae, 0xd9, 0x5a, 0x7c, 0x81, 0xc6, 0xd1, 0x26, 0xcd, 0x4a, - 0xd7, 0xa2, 0x4d, 0x6c, 0x71, 0x20, 0x50, 0x10, 0x28, 0x08, 0x14, 0x5b, 0x5c, 0x7a, 0x4c, 0x6c, - 0x71, 0x2b, 0x83, 0x63, 0x8b, 0xc3, 0x16, 0xb7, 0x7a, 0x67, 0xd0, 0xac, 0x54, 0x7e, 0x84, 0xa7, - 0xeb, 0x0a, 0xa3, 0x5b, 0xa9, 0xbd, 0x9b, 0x63, 0xa6, 0x5d, 0xe9, 0x59, 0xd0, 0x96, 0x7e, 0xa5, - 0x77, 0x6e, 0x3c, 0xb8, 0xad, 0xdf, 0xa5, 0x74, 0x3e, 0x0c, 0xbd, 0x49, 0xe9, 0x4d, 0xda, 0x18, - 0x43, 0x69, 0x59, 0x6f, 0x52, 0x6f, 0x3c, 0xfd, 0x63, 0xa4, 0xba, 0xb1, 0x3b, 0x1c, 0x2a, 0x4f, - 0x9f, 0x11, 0x37, 0x3b, 0x2c, 0x9d, 0x4a, 0x0d, 0x4a, 0x12, 0x18, 0x72, 0x31, 0xe4, 0x6e, 0x18, - 0x48, 0x53, 0x33, 0xe2, 0x5c, 0x00, 0x6b, 0x69, 0x4a, 0xac, 0xf9, 0xc8, 0xa3, 0x4e, 0xa2, 0x4e, - 0xa2, 0x4e, 0xea, 0x4e, 0x21, 0xcb, 0x01, 0xfd, 0x20, 0x50, 0x61, 0x57, 0xb7, 0xe5, 0x26, 0x77, - 0x1e, 0xb2, 0xd3, 0x68, 0xde, 0x7f, 0xbd, 0x65, 0x10, 0xb1, 0x84, 0x23, 0x99, 0x78, 0x0c, 0x24, - 0x20, 0xe9, 0x44, 0x64, 0x2c, 0x21, 0x19, 0x4b, 0x4c, 0x66, 0x12, 0x94, 0x7e, 0xd1, 0xd0, 0x91, - 0xd0, 0x8d, 0x75, 0x97, 0x55, 0x72, 0x11, 0x2f, 0x93, 0x5c, 0x1c, 0x19, 0xa3, 0xcf, 0x72, 0x68, - 0x19, 0xc3, 0xcf, 0xc3, 0x7f, 0x32, 0x27, 0xd4, 0x91, 0x36, 0x00, 0x2d, 0x27, 0x11, 0x36, 0x02, - 0x2d, 0xe7, 0x31, 0x65, 0x19, 0xf9, 0x1e, 0xb4, 0xd2, 0xd6, 0x11, 0xa1, 0x73, 0x9c, 0x0d, 0x01, - 0x41, 0xa3, 0x50, 0x2e, 0x04, 0xe4, 0x0c, 0x43, 0x4f, 0x21, 0x0a, 0x76, 0xda, 0x31, 0xea, 0x8d, - 0xd5, 0x77, 0x98, 0x50, 0x57, 0x87, 0xe5, 0xf8, 0xe2, 0xdd, 0x1d, 0xf4, 0x6f, 0x9c, 0xc6, 0x25, - 0xee, 0x8c, 0xa7, 0xb1, 0x09, 0x2a, 0x92, 0x9d, 0x06, 0x2a, 0x02, 0x15, 0x81, 0x8a, 0x40, 0x45, - 0xa0, 0x22, 0x50, 0x11, 0xa8, 0x08, 0x54, 0x04, 0x2a, 0x02, 0x15, 0x81, 0x8a, 0xb4, 0x92, 0x8a, - 0x3c, 0x89, 0x0e, 0x80, 0x72, 0xee, 0xb6, 0x99, 0xef, 0xea, 0x97, 0x8c, 0xe9, 0x43, 0x4b, 0x53, - 0x3a, 0x7d, 0xfb, 0xa3, 0xe3, 0x71, 0x1f, 0x3d, 0xcd, 0xea, 0x72, 0x88, 0x4f, 0x47, 0xd3, 0xba, - 0x55, 0x8c, 0xa7, 0xbd, 0x70, 0xfe, 0x82, 0xc2, 0x79, 0x9b, 0xc8, 0x21, 0x85, 0x73, 0x0a, 0xe7, - 0x14, 0xce, 0x51, 0xab, 0x50, 0xab, 0x50, 0xab, 0x50, 0xab, 0x50, 0xab, 0x50, 0xab, 0x50, 0xab, - 0x50, 0xab, 0x50, 0xab, 0x0c, 0xa8, 0x55, 0xd4, 0x87, 0x41, 0xdc, 0x20, 0x6e, 0x10, 0x37, 0x88, - 0x1b, 0xc4, 0x0d, 0xe2, 0x06, 0x71, 0x83, 0xb8, 0x41, 0xdc, 0x20, 0xee, 0x76, 0x20, 0x6e, 0xca, - 0xa0, 0xda, 0xcb, 0xa0, 0x1a, 0xba, 0xb0, 0xe8, 0xdb, 0x1e, 0x5a, 0xe9, 0x54, 0xde, 0xc8, 0x8e, - 0x96, 0x02, 0x72, 0xd1, 0xce, 0x2d, 0x6f, 0x92, 0x0f, 0xf0, 0xf1, 0xd7, 0xd9, 0x07, 0x78, 0x3b, - 0x9f, 0xbf, 0x85, 0x6f, 0x77, 0xcb, 0x2c, 0x60, 0x77, 0x5e, 0x8e, 0x1a, 0xf9, 0x51, 0x2c, 0xd4, - 0x67, 0x22, 0x3d, 0x03, 0x2d, 0x27, 0x0c, 0x72, 0x67, 0x5a, 0x4e, 0xd0, 0x72, 0x62, 0xc3, 0x40, - 0xb4, 0x9c, 0xb0, 0x54, 0x4e, 0xc3, 0x39, 0xd3, 0x80, 0x5c, 0x86, 0x73, 0xa6, 0xc6, 0x80, 0x19, - 0x4b, 0x4b, 0x64, 0xc8, 0x3a, 0x13, 0xa1, 0xe4, 0xa3, 0xe4, 0x37, 0x98, 0x92, 0x8c, 0xa5, 0x26, - 0x33, 0x29, 0x4a, 0x46, 0x57, 0x41, 0xc9, 0xcf, 0x27, 0x18, 0x94, 0xfc, 0xd4, 0x07, 0x47, 0xc9, - 0xaf, 0x15, 0xb4, 0x28, 0xf9, 0x25, 0x43, 0x00, 0x25, 0xdf, 0x9a, 0xbb, 0x41, 0x6e, 0x54, 0xbb, - 0x9f, 0xf4, 0x3a, 0xf7, 0xa3, 0xf8, 0x34, 0x8e, 0x43, 0x99, 0x7b, 0xec, 0x8d, 0x1f, 0xbc, 0x1e, - 0xa9, 0x04, 0x26, 0x08, 0x85, 0x5e, 0x72, 0x5e, 0x53, 0x33, 0xec, 0x1d, 0xf7, 0xfb, 0x87, 0x47, - 0xfd, 0x7e, 0xef, 0x68, 0xff, 0xa8, 0x77, 0x72, 0x70, 0xb0, 0x77, 0xa8, 0xf3, 0x75, 0xcd, 0xcb, - 0x49, 0x2f, 0x42, 0x4f, 0x85, 0xca, 0x7b, 0xf5, 0xa5, 0xf3, 0xd2, 0x09, 0xa6, 0xa3, 0x91, 0xe4, - 0x14, 0xef, 0x22, 0x15, 0x8a, 0x9c, 0x25, 0x9e, 0x19, 0x14, 0x4f, 0x01, 0xd8, 0xd3, 0x20, 0xb5, - 0x90, 0x5a, 0x48, 0x2d, 0xa4, 0x16, 0x52, 0x0b, 0xa9, 0x85, 0xce, 0x40, 0x6a, 0x89, 0x02, 0x48, - 0x2d, 0x54, 0xa4, 0x09, 0x2a, 0x82, 0x6f, 0x4f, 0xb7, 0xdd, 0x2b, 0xe5, 0x25, 0xa2, 0x93, 0x49, - 0x51, 0xf0, 0x47, 0x27, 0x13, 0x6b, 0x79, 0x23, 0x7e, 0x8c, 0x66, 0x78, 0x21, 0x7e, 0x0c, 0x2d, - 0x07, 0x02, 0x3f, 0x06, 0xd2, 0x15, 0xd2, 0x15, 0xd2, 0x15, 0xd2, 0x15, 0xd2, 0x15, 0xd2, 0x15, - 0xd2, 0x15, 0xd2, 0x15, 0xd2, 0x55, 0xfb, 0xa4, 0x2b, 0xfc, 0x18, 0x15, 0x26, 0xdd, 0x0e, 0x3f, - 0x06, 0xb6, 0x03, 0x6c, 0x07, 0x70, 0x37, 0xb8, 0x1b, 0xdc, 0x0d, 0xee, 0x06, 0x77, 0x83, 0xbb, - 0xc1, 0xdd, 0xe0, 0x6e, 0x70, 0x37, 0x49, 0xee, 0x46, 0x75, 0xbd, 0xd4, 0xb8, 0x8d, 0x55, 0xd7, - 0x69, 0x90, 0x23, 0xb5, 0xb7, 0x8d, 0xed, 0x69, 0xd3, 0xbd, 0x72, 0xce, 0x92, 0x4f, 0x72, 0x9e, - 0x7c, 0x90, 0x2d, 0x69, 0x9a, 0x33, 0x67, 0xd0, 0xe1, 0x02, 0x2e, 0x0a, 0xf6, 0xce, 0x49, 0x4f, - 0x44, 0x0b, 0x1d, 0x83, 0x44, 0x9b, 0x16, 0x3a, 0xb4, 0xd0, 0xd9, 0x30, 0x10, 0x2d, 0x74, 0x2c, - 0xd5, 0xde, 0xb0, 0x6c, 0x35, 0xa0, 0xad, 0x61, 0xd9, 0xaa, 0x31, 0xe0, 0xfc, 0xa2, 0xbf, 0xf5, - 0x87, 0xb7, 0xa6, 0xde, 0x40, 0x95, 0x99, 0x0b, 0xf9, 0x1f, 0xf9, 0xbf, 0xb9, 0xd4, 0x64, 0x2c, - 0x45, 0x99, 0x49, 0x55, 0x32, 0x62, 0x0c, 0xf2, 0x7f, 0x3e, 0xc1, 0x20, 0xff, 0xa7, 0x3e, 0x38, - 0xf2, 0x7f, 0xad, 0xa0, 0x45, 0xfe, 0x2f, 0x19, 0x02, 0xc8, 0xff, 0xd6, 0xdc, 0x0d, 0x72, 0xa3, - 0xf2, 0xd4, 0xe1, 0x13, 0x6e, 0x80, 0xb2, 0xd0, 0x8e, 0xc7, 0x9f, 0x4d, 0x71, 0x92, 0xf4, 0x54, - 0x50, 0x12, 0x28, 0x09, 0x94, 0x04, 0x4a, 0x02, 0x25, 0x81, 0x92, 0x40, 0x49, 0xa0, 0x24, 0x50, - 0x12, 0x28, 0x09, 0x94, 0x84, 0x9e, 0x8c, 0xb1, 0xb1, 0x3a, 0xc9, 0x23, 0x73, 0x41, 0x4a, 0x20, - 0x25, 0x90, 0x12, 0x48, 0x09, 0xa4, 0x04, 0x52, 0x02, 0x29, 0x81, 0x94, 0x40, 0x4a, 0x20, 0x25, - 0x90, 0x12, 0x48, 0x49, 0x6c, 0xaa, 0x4e, 0x92, 0x9f, 0x0a, 0x4a, 0x02, 0x25, 0x81, 0x92, 0x40, - 0x49, 0xa0, 0x24, 0x50, 0x12, 0x28, 0x09, 0x94, 0x04, 0x4a, 0x02, 0x25, 0x81, 0x92, 0xd0, 0x30, - 0xde, 0xd2, 0x0d, 0x6a, 0xe4, 0xf1, 0xe7, 0xd4, 0x03, 0xb4, 0xf4, 0x8d, 0x2f, 0x8a, 0x01, 0xe9, - 0x1b, 0x6f, 0x2d, 0x7d, 0xe4, 0x21, 0xc4, 0x66, 0xe8, 0x21, 0x0f, 0x21, 0x6a, 0x3b, 0x14, 0x3c, - 0x84, 0x88, 0x92, 0x85, 0x92, 0x85, 0x92, 0x85, 0x92, 0x85, 0x92, 0x85, 0x92, 0x85, 0x92, 0x85, - 0x92, 0x85, 0x92, 0x65, 0x48, 0xc9, 0xe2, 0x59, 0x3b, 0x9e, 0xb5, 0x03, 0x79, 0x83, 0xbc, 0x41, - 0xde, 0x20, 0x6f, 0x90, 0x37, 0xc8, 0x1b, 0xe4, 0x0d, 0xf2, 0x06, 0x79, 0x3f, 0x59, 0xe4, 0xcd, - 0x23, 0x65, 0x60, 0x6f, 0xb0, 0x37, 0xd8, 0x1b, 0xec, 0x0d, 0xf6, 0x06, 0x7b, 0x83, 0xbd, 0xc1, - 0xde, 0x60, 0x6f, 0xb0, 0xb7, 0x49, 0xec, 0xcd, 0x93, 0x53, 0x20, 0x6f, 0x90, 0x37, 0xc8, 0x1b, - 0xe4, 0x0d, 0xf2, 0x06, 0x79, 0x83, 0xbc, 0x41, 0xde, 0x20, 0x6f, 0x90, 0xb7, 0xd4, 0x48, 0x3c, - 0x20, 0xb4, 0xf9, 0x01, 0x21, 0x5e, 0x7d, 0x29, 0xb5, 0xc5, 0x4d, 0x6f, 0xad, 0x15, 0x6f, 0xc0, - 0xbc, 0x48, 0x3e, 0xcf, 0x1c, 0x6f, 0x6d, 0xc9, 0x7b, 0x30, 0x0d, 0xbc, 0x01, 0x93, 0x77, 0x5f, - 0x1a, 0x27, 0xdc, 0xbc, 0xfb, 0x92, 0x77, 0x5f, 0x6e, 0x18, 0x88, 0x77, 0x5f, 0x5a, 0xaa, 0xc1, - 0xf1, 0xd8, 0x69, 0x03, 0x1a, 0x1b, 0x8f, 0x9d, 0xd6, 0x18, 0x90, 0xc7, 0x4e, 0x1b, 0x48, 0x3d, - 0x92, 0x29, 0xc8, 0x40, 0x2a, 0x92, 0x4e, 0x49, 0xc6, 0x52, 0x93, 0xb1, 0x14, 0x65, 0x26, 0x55, - 0xc9, 0x88, 0x32, 0x94, 0x01, 0xf2, 0x09, 0x86, 0x32, 0x40, 0xea, 0x83, 0x53, 0x06, 0xa8, 0x15, - 0xb4, 0x94, 0x01, 0x4a, 0x86, 0x00, 0x65, 0x00, 0x6b, 0xee, 0x06, 0xb9, 0x51, 0x69, 0xa0, 0xc6, - 0xbb, 0x2f, 0x79, 0x1e, 0x17, 0x4a, 0x02, 0x25, 0x81, 0x92, 0x40, 0x49, 0xa0, 0x24, 0x50, 0x12, - 0x28, 0x09, 0x94, 0x04, 0x4a, 0x02, 0x25, 0x81, 0x92, 0x34, 0x41, 0x49, 0xe6, 0x4e, 0x16, 0x43, - 0x0f, 0x4a, 0x40, 0x45, 0xa0, 0x22, 0x50, 0x11, 0xa8, 0x08, 0x54, 0x04, 0x2a, 0x02, 0x15, 0x81, - 0x8a, 0x40, 0x45, 0xa0, 0x22, 0x2d, 0xa2, 0x22, 0xe7, 0x7e, 0x14, 0x9f, 0xc6, 0x71, 0x28, 0x73, - 0x8f, 0xbd, 0xf1, 0x83, 0xd7, 0x23, 0x95, 0xc0, 0x04, 0xa1, 0xd0, 0x4b, 0xce, 0x6b, 0x6a, 0x86, - 0xbd, 0xe3, 0x7e, 0xff, 0xf0, 0xa8, 0xdf, 0xef, 0x1d, 0xed, 0x1f, 0xf5, 0x4e, 0x0e, 0x0e, 0xf6, - 0x0e, 0xf7, 0x0e, 0x04, 0x26, 0xbd, 0x08, 0x3d, 0x15, 0x2a, 0xef, 0xd5, 0x97, 0xce, 0x4b, 0x27, - 0x98, 0x8e, 0x46, 0x92, 0x53, 0xbc, 0x8b, 0x54, 0x28, 0x72, 0x96, 0x20, 0xb5, 0xf2, 0xa4, 0x96, - 0xe7, 0x90, 0x84, 0x1e, 0x56, 0xe1, 0x15, 0x45, 0xa5, 0x78, 0x04, 0xaf, 0x28, 0xb2, 0x56, 0x82, - 0xc0, 0x2b, 0xde, 0x8c, 0xc4, 0x80, 0x57, 0x5c, 0xdb, 0xa1, 0xc0, 0x2b, 0x6e, 0x20, 0x05, 0x19, - 0x48, 0x45, 0xd2, 0x29, 0xc9, 0x58, 0x6a, 0x32, 0x96, 0xa2, 0xcc, 0xa4, 0x2a, 0x19, 0x6e, 0x8a, - 0x1a, 0x9a, 0x4f, 0x30, 0xa8, 0xa1, 0x59, 0xf2, 0x8e, 0x1a, 0xda, 0x02, 0x1d, 0x0c, 0x35, 0x94, - 0x28, 0xa0, 0x65, 0x8c, 0x3d, 0xa7, 0x08, 0x4b, 0x34, 0xc8, 0x1b, 0xe4, 0x0d, 0xf2, 0x06, 0x79, - 0x83, 0xbc, 0x41, 0xde, 0x20, 0x6f, 0x90, 0x37, 0xc8, 0x1b, 0xe4, 0x6d, 0x04, 0x79, 0xe3, 0xfc, - 0x05, 0x71, 0x83, 0xb8, 0x41, 0xdc, 0x20, 0x6e, 0x10, 0x37, 0x88, 0x1b, 0xc4, 0x0d, 0xe2, 0x06, - 0x71, 0x6f, 0x0d, 0xe2, 0xc6, 0xf9, 0xbb, 0x7a, 0x5e, 0x71, 0xfe, 0x36, 0xcd, 0xdd, 0x30, 0xb8, - 0x8a, 0x1a, 0x5c, 0x69, 0xb1, 0x2f, 0xb5, 0xb9, 0xcd, 0x6d, 0xaa, 0x15, 0xcd, 0xf5, 0xb7, 0xa4, - 0xaf, 0xfe, 0xe2, 0x5d, 0x75, 0x7e, 0x14, 0x4b, 0xb5, 0xd5, 0x4f, 0xcd, 0x40, 0x57, 0x7d, 0x83, - 0x3a, 0x0d, 0x5d, 0xf5, 0xe9, 0xaa, 0xbf, 0x61, 0x20, 0xba, 0xea, 0xeb, 0x18, 0x90, 0x27, 0x25, - 0x1c, 0x9e, 0x94, 0x68, 0x19, 0xc8, 0x17, 0x7a, 0x52, 0xc2, 0x90, 0x53, 0x8b, 0x9a, 0x91, 0x43, - 0xcd, 0xa8, 0xf1, 0x84, 0x64, 0x2c, 0x31, 0x99, 0x49, 0x50, 0x32, 0x0a, 0x1e, 0x35, 0xa3, 0x7c, - 0x82, 0xa1, 0x66, 0x94, 0x95, 0x38, 0xa9, 0x19, 0x55, 0x0f, 0x5a, 0x6a, 0x46, 0x25, 0x43, 0x80, - 0x9a, 0x91, 0x35, 0x77, 0x83, 0xdc, 0xa8, 0x34, 0xae, 0xa4, 0x71, 0xe5, 0xfc, 0x1a, 0x8f, 0x0c, - 0xf9, 0xd7, 0x22, 0xc8, 0x08, 0x64, 0x04, 0x32, 0x02, 0x19, 0x81, 0x8c, 0x40, 0x46, 0x20, 0x23, - 0x90, 0x11, 0xc8, 0x08, 0x64, 0xa4, 0x0d, 0x64, 0x04, 0x03, 0x5b, 0x85, 0x49, 0x69, 0x5d, 0x09, - 0xad, 0x35, 0x37, 0x12, 0xce, 0xbe, 0xc7, 0xbd, 0x44, 0x74, 0xae, 0x2c, 0x4a, 0x23, 0xe8, 0x5c, - 0x69, 0xad, 0x02, 0x81, 0x1f, 0xa3, 0x19, 0x85, 0x01, 0x3f, 0x86, 0x8e, 0xf3, 0x80, 0x1f, 0x43, - 0x36, 0xf1, 0x18, 0x48, 0x40, 0xd2, 0x89, 0xc8, 0x58, 0x42, 0x32, 0x96, 0x98, 0xcc, 0x24, 0x28, - 0x19, 0x42, 0x8a, 0x04, 0x9a, 0x4f, 0x30, 0x48, 0xa0, 0x59, 0xc6, 0x8e, 0x04, 0xda, 0x02, 0xf1, - 0x0b, 0x09, 0x94, 0x28, 0xa0, 0x6b, 0x8e, 0x3d, 0xa7, 0x08, 0xdb, 0x01, 0x98, 0x1b, 0xcc, 0x0d, - 0xe6, 0x06, 0x73, 0x83, 0xb9, 0xc1, 0xdc, 0x60, 0x6e, 0x30, 0x37, 0x98, 0x7b, 0x9b, 0x30, 0x37, - 0xb6, 0x83, 0xd5, 0xf3, 0x8a, 0xed, 0xa0, 0x69, 0xf6, 0x46, 0x75, 0x5d, 0xb2, 0xba, 0x4e, 0xdb, - 0x1c, 0xa9, 0xbd, 0x6d, 0x6c, 0x4f, 0x9b, 0xee, 0x9a, 0x73, 0x91, 0x7c, 0x92, 0x24, 0xf5, 0x6f, - 0x4b, 0xd3, 0x9c, 0x70, 0x41, 0x39, 0x04, 0xbb, 0xe6, 0xe8, 0x68, 0x77, 0x44, 0xdb, 0x9c, 0x46, - 0x65, 0x19, 0xda, 0xe6, 0xd8, 0x90, 0xc4, 0x69, 0x9b, 0x63, 0xc3, 0xd1, 0x97, 0x48, 0x01, 0x82, - 0xa9, 0x40, 0x2a, 0x25, 0x88, 0xa7, 0x06, 0xf1, 0x14, 0x21, 0x9b, 0x2a, 0xec, 0xc4, 0xf8, 0xd8, - 0xb4, 0xd6, 0x27, 0x1a, 0x4a, 0x46, 0x94, 0x8c, 0xac, 0x4a, 0x4c, 0x66, 0x12, 0x94, 0x8c, 0x80, - 0x47, 0xc9, 0x28, 0x9f, 0x60, 0x28, 0x19, 0x65, 0x15, 0x4e, 0x4a, 0x46, 0xd5, 0x83, 0x96, 0x92, - 0x51, 0xc9, 0x10, 0xa0, 0x64, 0x64, 0xcd, 0xdd, 0x20, 0x37, 0x2a, 0x6d, 0x73, 0x9e, 0x7c, 0xdb, - 0x9c, 0x5b, 0x7f, 0x78, 0x6b, 0xea, 0xd5, 0x6f, 0x99, 0xb9, 0x20, 0x25, 0x90, 0x12, 0x48, 0x09, - 0xa4, 0x04, 0x52, 0x02, 0x29, 0x81, 0x94, 0x40, 0x4a, 0x20, 0x25, 0x90, 0x12, 0x48, 0x09, 0xa4, - 0x64, 0x66, 0x5d, 0x19, 0x7f, 0x36, 0xc5, 0x49, 0xd2, 0x53, 0x41, 0x49, 0xa0, 0x24, 0x50, 0x12, - 0x28, 0x09, 0x94, 0x04, 0x4a, 0x02, 0x25, 0x81, 0x92, 0x40, 0x49, 0xa0, 0x24, 0x50, 0x12, 0xfa, - 0x30, 0x5a, 0xba, 0x41, 0x8d, 0x3c, 0x55, 0x30, 0x7f, 0xc3, 0x32, 0x8d, 0x18, 0x0b, 0xa2, 0x3f, - 0x1a, 0x31, 0x5a, 0x4b, 0x1c, 0x71, 0xf8, 0x36, 0x43, 0x0c, 0x71, 0xf8, 0xea, 0x38, 0x0f, 0x38, - 0x7c, 0x51, 0xae, 0x50, 0xae, 0x50, 0xae, 0x50, 0xae, 0x50, 0xae, 0x50, 0xae, 0x50, 0xae, 0x50, - 0xae, 0x50, 0xae, 0xe4, 0x95, 0x2b, 0x8c, 0xac, 0x18, 0x59, 0xc1, 0xde, 0x60, 0x6f, 0xb0, 0x37, - 0xd8, 0x1b, 0xec, 0x0d, 0xf6, 0x06, 0x7b, 0x83, 0xbd, 0xc1, 0xde, 0x4f, 0x1e, 0x7b, 0xe3, 0xd7, - 0x04, 0x79, 0x83, 0xbc, 0x41, 0xde, 0x20, 0x6f, 0x90, 0x37, 0xc8, 0x1b, 0xe4, 0x0d, 0xf2, 0x06, - 0x79, 0x83, 0xbc, 0xa5, 0x46, 0xc2, 0x96, 0xb8, 0xce, 0x96, 0x48, 0x07, 0x6b, 0xa9, 0xcd, 0x6d, - 0x6e, 0x53, 0xad, 0x68, 0x61, 0x3d, 0x87, 0x57, 0x2d, 0xec, 0x61, 0x1d, 0xf9, 0xc1, 0x70, 0xb9, - 0xac, 0xfa, 0xfa, 0x56, 0x67, 0x87, 0xa5, 0x57, 0xb5, 0x41, 0x1e, 0x4d, 0xaf, 0x6a, 0x7a, 0x55, - 0x6f, 0x18, 0x88, 0x5e, 0xd5, 0x96, 0x4a, 0x6b, 0x38, 0xd9, 0x1b, 0x90, 0xce, 0x70, 0xb2, 0xd7, - 0x18, 0x50, 0x5c, 0xd1, 0x47, 0xc7, 0x77, 0xd0, 0xf1, 0x1b, 0x4f, 0x42, 0xc6, 0x92, 0x91, 0x99, - 0xa4, 0x24, 0xa3, 0xaa, 0xa0, 0xe3, 0xe7, 0x13, 0x0c, 0x3a, 0x7e, 0xea, 0x83, 0xa3, 0xe3, 0xd7, - 0x0a, 0x5a, 0x74, 0xfc, 0x92, 0x21, 0x80, 0x8e, 0x6f, 0xcd, 0xdd, 0x20, 0x37, 0x2a, 0x7d, 0x17, - 0xe8, 0xbb, 0x60, 0xdf, 0x06, 0x89, 0x6b, 0xe1, 0x19, 0x75, 0x95, 0x5e, 0x0b, 0x45, 0x11, 0x1f, - 0xbd, 0x16, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, - 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x50, 0xa8, 0x5a, 0xa2, 0x50, 0x21, - 0xc4, 0x58, 0x2c, 0xc4, 0xe0, 0x2e, 0x95, 0xda, 0x50, 0xb3, 0x1b, 0xd9, 0x84, 0xa3, 0xf4, 0x6a, - 0xf6, 0x01, 0xe6, 0x8e, 0xd2, 0xd6, 0xfb, 0x48, 0xbb, 0x23, 0x3f, 0x8a, 0x85, 0xcc, 0xa4, 0xf3, - 0xb1, 0x71, 0x94, 0x1a, 0xe4, 0xcb, 0x38, 0x4a, 0x71, 0x94, 0x6e, 0x18, 0x08, 0x47, 0xa9, 0xa5, - 0x12, 0x1a, 0x7a, 0x7d, 0x03, 0x12, 0x19, 0x7a, 0x7d, 0x8d, 0x01, 0x17, 0x8a, 0x57, 0x24, 0x2e, - 0xd8, 0x47, 0x28, 0xf6, 0x28, 0xf6, 0x0d, 0xa6, 0x21, 0x63, 0xe9, 0xc8, 0x4c, 0x5a, 0x92, 0xd1, - 0x4f, 0x50, 0xec, 0xf3, 0x09, 0x06, 0xc5, 0x3e, 0xf5, 0xc1, 0x51, 0xec, 0x6b, 0x05, 0x2d, 0x8a, - 0x7d, 0xc9, 0x10, 0x40, 0xb1, 0xb7, 0xe6, 0x6e, 0x90, 0x1b, 0xd5, 0x6e, 0x4f, 0xe9, 0xb9, 0x1f, - 0xc5, 0xa7, 0x71, 0x1c, 0xca, 0xdc, 0x63, 0x6f, 0xfc, 0xe0, 0xf5, 0x48, 0x25, 0x30, 0x41, 0x28, - 0xf4, 0x92, 0xf3, 0x9a, 0x9a, 0x61, 0xef, 0xb8, 0xdf, 0x3f, 0x3c, 0xea, 0xf7, 0x7b, 0x47, 0xfb, - 0x47, 0xbd, 0x93, 0x83, 0x83, 0xbd, 0xc3, 0xbd, 0x03, 0x81, 0x49, 0x2f, 0x42, 0x4f, 0x85, 0xca, - 0x7b, 0xf5, 0xa5, 0xf3, 0xd2, 0x09, 0xa6, 0xa3, 0x91, 0xe4, 0x14, 0xef, 0x22, 0x15, 0x8a, 0x9c, - 0x25, 0xdc, 0xc9, 0xe2, 0x29, 0x80, 0xa2, 0x98, 0xf6, 0x5a, 0xca, 0x4c, 0xae, 0xc7, 0xa2, 0x5c, - 0x94, 0x40, 0x60, 0x51, 0xb6, 0x56, 0x7b, 0x40, 0xf2, 0x6c, 0x46, 0x5b, 0x40, 0xf2, 0xd4, 0x23, - 0x4a, 0x20, 0x79, 0x22, 0x79, 0x36, 0x99, 0x86, 0x8c, 0xa5, 0x23, 0x33, 0x69, 0x49, 0x86, 0x80, - 0x22, 0x79, 0xe6, 0x13, 0x0c, 0x92, 0x67, 0x96, 0xa1, 0x23, 0x79, 0xb6, 0x40, 0xec, 0x42, 0xf2, - 0x24, 0x0a, 0x90, 0x3c, 0xb5, 0x6c, 0x17, 0x92, 0x67, 0x85, 0x49, 0xb7, 0x43, 0xf2, 0x44, 0xd9, - 0x2b, 0x27, 0x4a, 0x99, 0x57, 0xf6, 0xf0, 0xbc, 0x4b, 0xed, 0x6a, 0x03, 0xbb, 0xd9, 0xb4, 0xf1, - 0x3d, 0xc9, 0xf4, 0xed, 0x37, 0xbf, 0x87, 0x0b, 0x6e, 0x21, 0xe2, 0x7e, 0xd7, 0xd1, 0xf2, 0x1a, - 0xfb, 0x7b, 0xa3, 0xca, 0x0b, 0xf6, 0x77, 0x1b, 0xb2, 0x35, 0xf6, 0x77, 0x1b, 0x8e, 0xbe, 0x44, - 0x0a, 0x10, 0x4c, 0x05, 0x52, 0x29, 0x41, 0x3c, 0x35, 0x88, 0xa7, 0x08, 0xd9, 0x54, 0x61, 0x27, - 0x8c, 0xd7, 0x5e, 0x0b, 0x32, 0xf3, 0x8a, 0x72, 0x5e, 0x4e, 0x2e, 0x9a, 0x76, 0x0c, 0xa4, 0x1f, - 0xe9, 0x34, 0x64, 0x2c, 0x1d, 0x19, 0x4b, 0x4b, 0x66, 0xd2, 0x93, 0x8c, 0x42, 0x47, 0x4d, 0x28, - 0x9f, 0x60, 0xa8, 0x09, 0x65, 0x25, 0x4c, 0x6a, 0x42, 0xd5, 0x83, 0x96, 0x9a, 0x50, 0xc9, 0x10, - 0xa0, 0x26, 0x64, 0xcd, 0xdd, 0x20, 0x37, 0x2a, 0xad, 0x95, 0xdb, 0x66, 0x5e, 0xd6, 0x48, 0x6f, - 0x8d, 0xbc, 0xaf, 0x9d, 0x37, 0xb5, 0x43, 0x43, 0xa0, 0x21, 0xd0, 0x10, 0x68, 0x08, 0x34, 0x04, - 0x1a, 0x02, 0x0d, 0x81, 0x86, 0x40, 0x43, 0xa0, 0x21, 0xad, 0xa7, 0x21, 0x38, 0xad, 0xb4, 0x7b, - 0x73, 0xe6, 0x2f, 0xaf, 0xe7, 0x21, 0xca, 0x82, 0xb8, 0x8f, 0x87, 0x28, 0xad, 0xa5, 0x8c, 0x14, - 0xce, 0x9b, 0xa1, 0x84, 0x14, 0xce, 0x35, 0x1c, 0x07, 0x0a, 0xe7, 0x28, 0x56, 0x28, 0x56, 0x28, - 0x56, 0x28, 0x56, 0x28, 0x56, 0x28, 0x56, 0x28, 0x56, 0x28, 0x56, 0x28, 0x56, 0xe2, 0x8a, 0x15, - 0xf5, 0x61, 0xd0, 0x36, 0x68, 0x1b, 0xb4, 0x0d, 0xda, 0x06, 0x6d, 0x83, 0xb6, 0x41, 0xdb, 0xa0, - 0x6d, 0xd0, 0x36, 0x68, 0xdb, 0x7e, 0xb4, 0x4d, 0x19, 0x54, 0xa8, 0x0c, 0x4a, 0xc7, 0x09, 0xa9, - 0x6d, 0x6d, 0x62, 0x3b, 0x9b, 0x6e, 0x39, 0x31, 0x47, 0x53, 0x4d, 0xf5, 0x9c, 0xd8, 0x31, 0x18, - 0x35, 0xba, 0xa2, 0x45, 0x3a, 0x4a, 0x3a, 0x75, 0x1a, 0x71, 0x94, 0x8b, 0x84, 0x6a, 0xfb, 0x5e, - 0x7e, 0xd7, 0x2a, 0xec, 0x58, 0x4d, 0x6f, 0x84, 0x16, 0x2f, 0x44, 0x4d, 0xef, 0x43, 0x6d, 0xaf, - 0x83, 0x0e, 0xd9, 0x43, 0xa3, 0xbc, 0xa1, 0x4b, 0xc6, 0xd0, 0x2e, 0x57, 0x68, 0x97, 0x25, 0xf4, - 0xca, 0x0f, 0x66, 0xb3, 0x5c, 0x5d, 0x6f, 0x41, 0x47, 0x97, 0xae, 0xa9, 0x59, 0x66, 0xd0, 0xa4, - 0x59, 0xd2, 0xb4, 0xc7, 0x32, 0x8d, 0x91, 0xa6, 0x3d, 0x4d, 0x68, 0x82, 0xcb, 0x88, 0x9b, 0x06, - 0x09, 0x1e, 0xd2, 0x10, 0x6f, 0x0f, 0x77, 0xe5, 0x89, 0x86, 0xb1, 0x16, 0x5f, 0x53, 0x8f, 0xc2, - 0x27, 0xe0, 0x0b, 0xd4, 0x2f, 0x9c, 0x0a, 0x08, 0xa6, 0x42, 0x42, 0xa9, 0x4c, 0x0b, 0x52, 0xb9, - 0xda, 0x88, 0xb0, 0x20, 0x6a, 0x4c, 0x02, 0x93, 0x97, 0xbe, 0xbe, 0xc9, 0xf4, 0x7e, 0x95, 0xdf, - 0x5a, 0x39, 0xa1, 0x73, 0x9b, 0x76, 0xd7, 0x52, 0xa1, 0xf0, 0xc6, 0x26, 0xa1, 0x50, 0xe0, 0xae, - 0xf8, 0xb7, 0x1f, 0xfc, 0x5b, 0xe6, 0xae, 0xd8, 0x3b, 0xd6, 0x38, 0xe6, 0xa5, 0x1b, 0xc7, 0x2a, - 0x0c, 0xb4, 0x5f, 0x17, 0x9d, 0x67, 0xfd, 0xde, 0xc9, 0x87, 0x5e, 0xb7, 0x7f, 0xf3, 0xb5, 0xdf, - 0xfb, 0xd0, 0xeb, 0x1e, 0xdf, 0x7c, 0xe8, 0x75, 0x4f, 0x6e, 0xbe, 0x7e, 0xd8, 0xeb, 0xee, 0xcf, - 0xff, 0xf7, 0xff, 0xf7, 0xbf, 0x25, 0x3f, 0x9d, 0x2c, 0x7e, 0xda, 0xfb, 0xf9, 0xc5, 0xe2, 0xe7, - 0xdd, 0xeb, 0xeb, 0xe7, 0xcf, 0x6a, 0xfc, 0xfa, 0xd7, 0xeb, 0xeb, 0xbf, 0xee, 0xea, 0xab, 0x1a, - 0xdf, 0xe8, 0x5c, 0xed, 0x8b, 0xab, 0xb3, 0xdf, 0xc5, 0x96, 0xfc, 0x5f, 0x0d, 0xaf, 0xf9, 0x5f, - 0x3a, 0xb6, 0x65, 0x87, 0x9d, 0x66, 0x3f, 0x47, 0x5d, 0xd8, 0xaf, 0xfe, 0x2f, 0x0e, 0xdd, 0xee, - 0x34, 0x88, 0x62, 0xf7, 0x8f, 0x91, 0x26, 0x02, 0x10, 0xc5, 0x6e, 0x3c, 0x8d, 0x6c, 0x46, 0xd9, - 0x9e, 0x9a, 0x84, 0x6a, 0xe0, 0xc6, 0xca, 0x6b, 0xd9, 0x03, 0x38, 0x8b, 0xa5, 0x6d, 0xf3, 0x03, - 0x38, 0xa9, 0xb5, 0xb7, 0xad, 0x24, 0xd8, 0xf4, 0x59, 0xa6, 0xda, 0xa1, 0xa9, 0xda, 0x51, 0xa3, - 0x90, 0x59, 0xa1, 0x04, 0xb1, 0x23, 0xb8, 0xe8, 0x75, 0x17, 0x5b, 0x6e, 0x91, 0x3b, 0x95, 0x2a, - 0x2f, 0x05, 0x8b, 0x48, 0xe5, 0xf6, 0xae, 0xf8, 0x0e, 0x14, 0xfb, 0x97, 0x05, 0xf7, 0x28, 0x49, - 0xcc, 0xc9, 0xf7, 0xf0, 0x03, 0x4f, 0x15, 0xd5, 0x2c, 0xab, 0xbd, 0x72, 0xa5, 0xfa, 0xab, 0x54, - 0xb4, 0xbe, 0x22, 0xa5, 0xc6, 0xab, 0x4f, 0x6a, 0xbc, 0xd2, 0xa4, 0xe8, 0x6e, 0x9c, 0x4e, 0x87, - 0xc9, 0xd7, 0x54, 0x5e, 0x29, 0xe4, 0x51, 0xee, 0x48, 0x2d, 0x11, 0xc4, 0x2f, 0xe3, 0x41, 0xd7, - 0xff, 0xf4, 0x32, 0x75, 0x40, 0x56, 0xfe, 0x60, 0xf1, 0x73, 0xf6, 0x10, 0xe5, 0xff, 0xac, 0xe4, - 0x29, 0xea, 0xfc, 0xaa, 0xa2, 0x41, 0xe8, 0x4f, 0x16, 0xf9, 0xa0, 0x73, 0x76, 0x79, 0xdf, 0x77, - 0x5c, 0xcf, 0x0b, 0x55, 0x14, 0x39, 0x9f, 0xdc, 0x3b, 0x7f, 0xf4, 0xc5, 0x99, 0x1f, 0xef, 0x69, - 0x38, 0x4b, 0x1a, 0xce, 0xa7, 0x71, 0x78, 0x1d, 0x7c, 0xff, 0x08, 0x65, 0xe7, 0xab, 0x56, 0xa7, - 0xac, 0x5c, 0x0a, 0xa9, 0x53, 0xfa, 0x48, 0x97, 0x3a, 0xfc, 0x49, 0x95, 0xf4, 0x54, 0x13, 0xc0, - 0x69, 0x2b, 0x64, 0x68, 0x03, 0x64, 0xab, 0x85, 0x0a, 0x7f, 0xd2, 0xb1, 0xec, 0x7a, 0xab, 0x5a, - 0x53, 0xec, 0xf8, 0x93, 0xfb, 0x7e, 0xfd, 0x1a, 0xfe, 0x6c, 0x94, 0xaa, 0xe5, 0xd0, 0xec, 0x51, - 0xbc, 0x74, 0x43, 0xf7, 0x4e, 0xc5, 0x2a, 0x8c, 0x92, 0x33, 0xe7, 0xc4, 0xb7, 0xca, 0x79, 0xe4, - 0x74, 0x3e, 0x6f, 0xda, 0x30, 0xd0, 0xb3, 0xc3, 0x30, 0x50, 0xe9, 0x80, 0xea, 0x66, 0x5a, 0xed, - 0xb3, 0x0b, 0x54, 0x39, 0xc0, 0x35, 0x49, 0x82, 0x74, 0xc2, 0xd8, 0x11, 0x48, 0x2d, 0xad, 0xbf, - 0xd4, 0x0f, 0xb9, 0xd4, 0xb9, 0xd4, 0x9f, 0xe4, 0xa5, 0x7e, 0xa8, 0xe5, 0x52, 0x3f, 0x14, 0xbd, - 0xd4, 0x0f, 0xb9, 0xd4, 0xb9, 0xd4, 0xb9, 0xd4, 0xb9, 0xd4, 0x4b, 0x64, 0x92, 0x53, 0xcf, 0x8b, - 0x9c, 0xf7, 0xe7, 0xa7, 0xff, 0x70, 0x22, 0x15, 0xc7, 0x7e, 0x30, 0x8c, 0x9c, 0x78, 0xec, 0xf8, - 0x81, 0xe7, 0xdf, 0xfb, 0xde, 0xd4, 0x1d, 0x39, 0x99, 0xf9, 0x9f, 0xc8, 0x8d, 0x5e, 0x55, 0x47, - 0xdc, 0xfa, 0x3b, 0xbd, 0x9a, 0xa3, 0xd0, 0xd2, 0x5b, 0x7d, 0xf6, 0x65, 0x6a, 0xdf, 0xea, 0x35, - 0xdc, 0xab, 0xab, 0x67, 0xf1, 0x75, 0x30, 0x18, 0x8d, 0x23, 0x3f, 0x18, 0x26, 0xb0, 0x3a, 0x76, - 0xfd, 0x40, 0x85, 0xb3, 0xeb, 0x7d, 0x76, 0x3c, 0x97, 0x87, 0xb0, 0x1b, 0x4d, 0xd4, 0xc0, 0xff, - 0xe4, 0x0f, 0xae, 0x03, 0xcf, 0x8d, 0x5d, 0x67, 0x1c, 0xd4, 0x3a, 0xa3, 0xdb, 0x7a, 0xe9, 0x63, - 0xfd, 0x37, 0x7a, 0xc6, 0xb7, 0xe6, 0xe2, 0x2f, 0xf4, 0x2f, 0x6f, 0x8a, 0x6a, 0xff, 0xd5, 0xaa, - 0x64, 0x22, 0xd5, 0xb1, 0x12, 0x71, 0x57, 0xa8, 0x20, 0x56, 0x2c, 0x46, 0x7e, 0xbc, 0x9e, 0x9b, - 0xff, 0xc5, 0x0f, 0x6e, 0x83, 0xb2, 0x2b, 0xac, 0x6b, 0x65, 0x37, 0x7f, 0xf9, 0xf5, 0x5f, 0xe9, - 0xf1, 0xbf, 0x59, 0xf3, 0x25, 0x1f, 0x0a, 0x79, 0xb3, 0x7d, 0x58, 0xf3, 0x4f, 0x0a, 0xd5, 0xed, - 0x8a, 0xd7, 0xe9, 0x6a, 0xd5, 0xe5, 0x4a, 0xd4, 0xe1, 0x4a, 0xd4, 0xdd, 0xd6, 0x2d, 0x4e, 0xb1, - 0xba, 0xda, 0xe6, 0x90, 0x28, 0x8e, 0xc6, 0x7f, 0x70, 0x7a, 0x1e, 0x85, 0xd5, 0x59, 0x71, 0xcc, - 0x0d, 0x3c, 0x67, 0x66, 0x00, 0x98, 0xdd, 0xe9, 0xe1, 0x78, 0x1a, 0x2b, 0x6f, 0xe5, 0x6a, 0xff, - 0xd1, 0xdd, 0x5d, 0xf0, 0x8e, 0x2e, 0x7c, 0x17, 0x97, 0xb9, 0x73, 0x2b, 0xdc, 0xad, 0x65, 0xef, - 0xd0, 0xca, 0x77, 0x65, 0xe5, 0x3b, 0xb1, 0xda, 0xdd, 0x57, 0x2f, 0x63, 0x15, 0xc5, 0xab, 0x9d, - 0x79, 0x88, 0x74, 0x4b, 0xc1, 0xd4, 0xe5, 0x2e, 0xa5, 0x7f, 0xb9, 0xe0, 0x5a, 0xac, 0x84, 0xf0, - 0xdb, 0xf1, 0xa4, 0x3b, 0x52, 0xf7, 0x6a, 0xb4, 0x82, 0x46, 0x17, 0x91, 0x9b, 0x8c, 0x9c, 0x8a, - 0xdc, 0xe7, 0x8e, 0xf3, 0xf6, 0x56, 0x45, 0xea, 0x3a, 0x18, 0x8d, 0x87, 0xfe, 0xc0, 0x1d, 0xa5, - 0xfe, 0xce, 0x71, 0x43, 0xe5, 0xb8, 0xa3, 0x68, 0xec, 0xfc, 0x19, 0x8c, 0x3f, 0x07, 0x8e, 0x1b, - 0x39, 0x57, 0xef, 0xcf, 0x9c, 0x67, 0xd1, 0x67, 0x3f, 0x1e, 0xdc, 0x26, 0x63, 0xf9, 0x61, 0x3c, - 0x75, 0x47, 0x29, 0xed, 0x78, 0xf7, 0x67, 0xe7, 0xec, 0xb7, 0x57, 0xce, 0xb3, 0xe4, 0x0f, 0x86, - 0xa1, 0x9b, 0x4c, 0x98, 0xcc, 0x9b, 0x60, 0xe3, 0xe4, 0x1c, 0xfd, 0x11, 0xfa, 0xde, 0xd0, 0x0f, - 0x86, 0xbb, 0x3f, 0x3b, 0xbf, 0xbd, 0x3f, 0xbb, 0x0e, 0x9e, 0x3d, 0x7a, 0x9c, 0x76, 0x8b, 0x7e, - 0xf3, 0x72, 0xd0, 0xb7, 0x34, 0xd4, 0xad, 0x02, 0x6d, 0x6b, 0x40, 0xd9, 0xaa, 0xd0, 0xb5, 0x36, - 0x54, 0xad, 0x0d, 0x4d, 0xeb, 0x41, 0x51, 0xbd, 0x26, 0x9a, 0x1a, 0x0e, 0xd4, 0xce, 0xe7, 0x5b, - 0x55, 0xde, 0xe4, 0x5c, 0x43, 0xb2, 0x18, 0x4c, 0xc3, 0x50, 0x05, 0xf1, 0xb3, 0xdd, 0xc5, 0xad, - 0x35, 0xbf, 0x78, 0x16, 0x3f, 0xc4, 0x5f, 0x26, 0xca, 0xf9, 0x2f, 0xe7, 0x27, 0xdf, 0x0d, 0x5c, - 0xff, 0x53, 0xfc, 0x72, 0xb4, 0xef, 0x4f, 0x92, 0x85, 0xfd, 0xa9, 0x61, 0x85, 0x63, 0xb6, 0x48, - 0x36, 0xe9, 0x1b, 0x15, 0x57, 0xd1, 0x48, 0x6f, 0x80, 0x6c, 0x6e, 0xae, 0x29, 0x59, 0x9c, 0x0e, - 0x62, 0xff, 0x5e, 0x39, 0xc9, 0x06, 0xcc, 0x4a, 0x07, 0xcb, 0x84, 0xe9, 0xf8, 0x91, 0xe3, 0x3a, - 0xb9, 0x04, 0xee, 0x4c, 0xc2, 0xf1, 0xbd, 0xef, 0xf9, 0xc1, 0xf0, 0x3a, 0x38, 0xdf, 0x5f, 0x26, - 0xe2, 0x07, 0x69, 0xa2, 0xb2, 0xe2, 0xa0, 0x81, 0x62, 0xa7, 0x03, 0xca, 0x4b, 0xad, 0x51, 0x0d, - 0xe2, 0xaf, 0x93, 0x5f, 0x67, 0xe2, 0x4b, 0xfb, 0xb2, 0xb7, 0x9c, 0x6a, 0xdf, 0x98, 0x21, 0x90, - 0x3b, 0x15, 0xce, 0x61, 0x93, 0xac, 0xc1, 0xf5, 0xbc, 0xe4, 0x67, 0x77, 0xe4, 0xbc, 0x8e, 0x6f, - 0x55, 0x18, 0xa8, 0x78, 0xa9, 0xf8, 0xad, 0x30, 0x8a, 0x78, 0x9c, 0xae, 0xb6, 0x3b, 0x77, 0x63, - 0x4f, 0x8d, 0x5a, 0xc2, 0x20, 0x54, 0x7c, 0xbb, 0x95, 0x04, 0x22, 0xf9, 0x5e, 0xb6, 0xf0, 0x07, - 0xb5, 0x08, 0x9f, 0xf2, 0xe4, 0x61, 0xf9, 0x9b, 0x7a, 0x99, 0xc3, 0xc3, 0xb0, 0xd9, 0x30, 0xbe, - 0x0e, 0x96, 0xcc, 0x78, 0x4b, 0xf0, 0x7a, 0xb1, 0xe0, 0xde, 0x3e, 0xb8, 0x5e, 0x28, 0xf8, 0x41, - 0xeb, 0x05, 0xd0, 0xe5, 0xc3, 0x49, 0xf9, 0x5b, 0x74, 0xe7, 0x0e, 0xbc, 0x9f, 0x9c, 0x71, 0xe8, - 0x14, 0xf8, 0x2d, 0x5f, 0x29, 0x75, 0xdc, 0x7b, 0xb1, 0xef, 0x7a, 0xe7, 0xee, 0x10, 0x78, 0xff, - 0x88, 0xa3, 0xc1, 0xc4, 0xb2, 0xb7, 0x90, 0x0f, 0x78, 0x9e, 0xbf, 0x80, 0x1c, 0xdf, 0xc1, 0x67, - 0x16, 0x6a, 0x4c, 0xbe, 0x1b, 0x8e, 0x92, 0x8d, 0xbd, 0x0e, 0xb2, 0x00, 0x76, 0xb6, 0x24, 0x7e, - 0xb4, 0x44, 0x2c, 0x3f, 0x3b, 0x0b, 0x57, 0x52, 0x16, 0xe3, 0x06, 0x8e, 0x3b, 0x1c, 0x86, 0x6a, - 0xe8, 0xc6, 0x2a, 0x85, 0x5c, 0x9e, 0xc3, 0x1f, 0x8a, 0xf1, 0x87, 0xa6, 0xb7, 0x09, 0xbe, 0xb1, - 0x8d, 0x7c, 0xe3, 0xfc, 0xf4, 0xef, 0x39, 0x5e, 0xb1, 0x12, 0x14, 0x77, 0x63, 0x6f, 0x3a, 0x52, - 0x2d, 0xa1, 0x16, 0x23, 0x77, 0xb8, 0x95, 0xd4, 0x22, 0xf9, 0x5e, 0xb6, 0x50, 0x8b, 0x87, 0xfc, - 0x50, 0xe6, 0xfa, 0x59, 0xee, 0x51, 0xfa, 0x97, 0xab, 0x11, 0x8c, 0x8b, 0xd9, 0xff, 0xcd, 0xbd, - 0xaf, 0x8f, 0x94, 0x1b, 0x42, 0x35, 0x09, 0x55, 0xa4, 0x82, 0x78, 0x26, 0x9d, 0x2c, 0x73, 0x59, - 0xb4, 0x25, 0xf4, 0xa2, 0x58, 0x80, 0x6f, 0x1f, 0xbd, 0x28, 0x74, 0x00, 0xa0, 0x17, 0x10, 0x05, - 0x79, 0xa2, 0xd0, 0x7a, 0xc8, 0xef, 0x6e, 0xd2, 0xa2, 0x23, 0x15, 0xcf, 0x30, 0x40, 0xf2, 0xa5, - 0xcf, 0x4f, 0xff, 0x0e, 0x3c, 0x2f, 0x14, 0x36, 0xa5, 0x96, 0x14, 0x28, 0x5d, 0x0f, 0x4a, 0x3f, - 0xfa, 0x37, 0x37, 0xeb, 0x9c, 0x42, 0xc5, 0x3c, 0x62, 0xd5, 0xbd, 0x61, 0x1b, 0xe2, 0x71, 0x9d, - 0x95, 0xee, 0xf1, 0x08, 0xc8, 0x7f, 0xaf, 0xec, 0x9f, 0xac, 0xe4, 0x8d, 0x1f, 0x7d, 0xb3, 0xb2, - 0xdf, 0x28, 0xfb, 0xa1, 0xbe, 0x4f, 0x3d, 0xff, 0xbf, 0xc5, 0xe4, 0xeb, 0x26, 0xed, 0xf8, 0xd1, - 0xdf, 0xc6, 0x77, 0x09, 0xf2, 0x8a, 0x94, 0x77, 0x35, 0x9b, 0x38, 0x77, 0xc0, 0x3a, 0x7e, 0xf4, - 0xdf, 0xee, 0x9f, 0xea, 0xb7, 0xf1, 0x38, 0x7f, 0xf8, 0x56, 0x3f, 0x6c, 0x27, 0xfd, 0x57, 0x99, - 0x45, 0xfc, 0x55, 0xdd, 0xfb, 0x0f, 0x2b, 0xf8, 0x6d, 0xe7, 0xdb, 0x7f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x24, 0x9c, 0xc9, 0xb3, 0x5e, 0x2d, 0x21, 0x00, - } -) diff --git a/internal/provider/openconfig/structs.go b/internal/provider/openconfig/structs.go deleted file mode 100644 index 3e3b21e15..000000000 --- a/internal/provider/openconfig/structs.go +++ /dev/null @@ -1,14325 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which represent a YANG schema. The generated schema can be -compressed by a series of transformations (compression was true -in this case). - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -import ( - "encoding/json" - "fmt" - "reflect" - - "github.com/openconfig/goyang/pkg/yang" - "github.com/openconfig/ygot/ygot" - "github.com/openconfig/ygot/ytypes" -) - -// Binary is a type that is used for fields that have a YANG type of -// binary. It is used such that binary fields can be distinguished from -// leaf-lists of uint8s (which are mapped to []uint8, equivalent to -// []byte in reflection). -type Binary []byte - -// YANGEmpty is a type that is used for fields that have a YANG type of -// empty. It is used such that empty fields can be distinguished from boolean fields -// in the generated code. -type YANGEmpty bool - -// UnionInt8 is an int8 type assignable to unions of which it is a subtype. -type UnionInt8 int8 - -// UnionInt16 is an int16 type assignable to unions of which it is a subtype. -type UnionInt16 int16 - -// UnionInt32 is an int32 type assignable to unions of which it is a subtype. -type UnionInt32 int32 - -// UnionInt64 is an int64 type assignable to unions of which it is a subtype. -type UnionInt64 int64 - -// UnionUint8 is a uint8 type assignable to unions of which it is a subtype. -type UnionUint8 uint8 - -// UnionUint16 is a uint16 type assignable to unions of which it is a subtype. -type UnionUint16 uint16 - -// UnionUint32 is a uint32 type assignable to unions of which it is a subtype. -type UnionUint32 uint32 - -// UnionUint64 is a uint64 type assignable to unions of which it is a subtype. -type UnionUint64 uint64 - -// UnionFloat64 is a float64 type assignable to unions of which it is a subtype. -type UnionFloat64 float64 - -// UnionString is a string type assignable to unions of which it is a subtype. -type UnionString string - -// UnionBool is a bool type assignable to unions of which it is a subtype. -type UnionBool bool - -// UnionUnsupported is an interface{} wrapper type for unsupported types. It is -// assignable to unions of which it is a subtype. -type UnionUnsupported struct { - Value interface{} -} - -var ( - SchemaTree map[string]*yang.Entry - ΛEnumTypes map[string][]reflect.Type -) - -func init() { - var err error - initΛEnumTypes() - if SchemaTree, err = UnzipSchema(); err != nil { - panic("schema error: " + err.Error()) - } -} - -// Schema returns the details of the generated schema. -func Schema() (*ytypes.Schema, error) { - uzp, err := UnzipSchema() - if err != nil { - return nil, fmt.Errorf("cannot unzip schema, %v", err) - } - - return &ytypes.Schema{ - Root: &Device{}, - SchemaTree: uzp, - Unmarshal: Unmarshal, - }, nil -} - -// UnzipSchema unzips the zipped schema and returns a map of yang.Entry nodes, -// keyed by the name of the struct that the yang.Entry describes the schema for. -func UnzipSchema() (map[string]*yang.Entry, error) { - var schemaTree map[string]*yang.Entry - var err error - if schemaTree, err = ygot.GzipToSchema(ySchema); err != nil { - return nil, fmt.Errorf("could not unzip the schema; %v", err) - } - return schemaTree, nil -} - -// Unmarshal unmarshals data, which must be RFC7951 JSON format, into -// destStruct, which must be non-nil and the correct GoStruct type. It returns -// an error if the destStruct is not found in the schema or the data cannot be -// unmarshaled. The supplied options (opts) are used to control the behaviour -// of the unmarshal function - for example, determining whether errors are -// thrown for unknown fields in the input JSON. -func Unmarshal(data []byte, destStruct ygot.GoStruct, opts ...ytypes.UnmarshalOpt) error { - tn := reflect.TypeOf(destStruct).Elem().Name() - schema, ok := SchemaTree[tn] - if !ok { - return fmt.Errorf("could not find schema for type %s", tn) - } - var jsonTree interface{} - if err := json.Unmarshal([]byte(data), &jsonTree); err != nil { - return err - } - return ytypes.Unmarshal(schema, destStruct, jsonTree, opts...) -} - -// Device represents the /device YANG schema element. -type Device struct { - Interface map[string]*Interface `path:"interfaces/interface" module:"openconfig-interfaces/openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Device implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Device) IsYANGGoStruct() {} - -// NewInterface creates a new entry in the Interface list of the -// Device struct. The keys of the list are populated from the input -// arguments. -func (t *Device) NewInterface(Name string) (*Interface, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Interface == nil { - t.Interface = make(map[string]*Interface) - } - - key := Name - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Interface[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Interface", key) - } - - t.Interface[key] = &Interface{ - Name: &Name, - } - - return t.Interface[key], nil -} - -// RenameInterface renames an entry in the list Interface within -// the Device struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Device) RenameInterface(oldK, newK string) error { - if _, ok := t.Interface[newK]; ok { - return fmt.Errorf("key %v already exists in Interface", newK) - } - - e, ok := t.Interface[oldK] - if !ok { - return fmt.Errorf("key %v not found in Interface", oldK) - } - e.Name = &newK - - t.Interface[newK] = e - delete(t.Interface, oldK) - return nil -} - -// GetOrCreateInterfaceMap returns the list (map) from Device. -// -// It initializes the field if not already initialized. -func (t *Device) GetOrCreateInterfaceMap() map[string]*Interface { - if t.Interface == nil { - t.Interface = make(map[string]*Interface) - } - return t.Interface -} - -// GetOrCreateInterface retrieves the value with the specified keys from -// the receiver Device. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Device) GetOrCreateInterface(Name string) *Interface { - - key := Name - - if v, ok := t.Interface[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewInterface(Name) - if err != nil { - panic(fmt.Sprintf("GetOrCreateInterface got unexpected error: %v", err)) - } - return v -} - -// GetInterface retrieves the value with the specified key from -// the Interface map field of Device. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Device) GetInterface(Name string) *Interface { - - if t == nil { - return nil - } - - key := Name - - if lm, ok := t.Interface[key]; ok { - return lm - } - return nil -} - -// DeleteInterface deletes the value with the specified keys from -// the receiver Device. If there is no such element, the function -// is a no-op. -func (t *Device) DeleteInterface(Name string) { - key := Name - - delete(t.Interface, key) -} - -// AppendInterface appends the supplied Interface struct to the -// list Interface of Device. If the key value(s) specified in -// the supplied Interface already exist in the list, an error is -// returned. -func (t *Device) AppendInterface(v *Interface) error { - if v.Name == nil { - return fmt.Errorf("invalid nil key received for Name") - } - - key := *v.Name - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Interface == nil { - t.Interface = make(map[string]*Interface) - } - - if _, ok := t.Interface[key]; ok { - return fmt.Errorf("duplicate key for list Interface %v", key) - } - - t.Interface[key] = v - return nil -} - -// PopulateDefaults recursively populates unset leaf fields in the Device -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Device) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - for _, e := range t.Interface { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Device) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Device"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Device) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Device) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Device. -func (*Device) ΛBelongingModule() string { - return "" -} - -// Interface represents the /openconfig-interfaces/interfaces/interface YANG schema element. -type Interface struct { - AdminStatus E_Interface_AdminStatus `path:"state/admin-status" module:"openconfig-interfaces/openconfig-interfaces"` - Aggregation *Interface_Aggregation `path:"aggregation" module:"openconfig-if-aggregate"` - Counters *Interface_Counters `path:"state/counters" module:"openconfig-interfaces/openconfig-interfaces"` - Cpu *bool `path:"state/cpu" module:"openconfig-interfaces/openconfig-interfaces"` - Description *string `path:"config/description" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/description" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Enabled *bool `path:"config/enabled" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/enabled" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Ethernet *Interface_Ethernet `path:"ethernet" module:"openconfig-if-ethernet"` - HoldTime *Interface_HoldTime `path:"hold-time" module:"openconfig-interfaces"` - Ifindex *uint32 `path:"state/ifindex" module:"openconfig-interfaces/openconfig-interfaces"` - LastChange *uint64 `path:"state/last-change" module:"openconfig-interfaces/openconfig-interfaces"` - Logical *bool `path:"state/logical" module:"openconfig-interfaces/openconfig-interfaces"` - LoopbackMode E_TransportTypes_LoopbackModeType `path:"config/loopback-mode" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/loopback-mode" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Management *bool `path:"state/management" module:"openconfig-interfaces/openconfig-interfaces"` - Mtu *uint16 `path:"config/mtu" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/mtu" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Name *string `path:"config/name|name" module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces" shadow-path:"state/name|name" shadow-module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces"` - OperStatus E_Interface_OperStatus `path:"state/oper-status" module:"openconfig-interfaces/openconfig-interfaces"` - PenaltyBasedAied *Interface_PenaltyBasedAied `path:"penalty-based-aied" module:"openconfig-interfaces"` - RoutedVlan *Interface_RoutedVlan `path:"routed-vlan" module:"openconfig-vlan"` - Subinterface map[uint32]*Interface_Subinterface `path:"subinterfaces/subinterface" module:"openconfig-interfaces/openconfig-interfaces"` - Tpid E_VlanTypes_TPID_TYPES `path:"config/tpid" module:"openconfig-interfaces/openconfig-vlan" shadow-path:"state/tpid" shadow-module:"openconfig-interfaces/openconfig-vlan"` - Type E_IETFInterfaces_InterfaceType `path:"config/type" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/type" shadow-module:"openconfig-interfaces/openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Interface implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface) IsYANGGoStruct() {} - -// NewSubinterface creates a new entry in the Subinterface list of the -// Interface struct. The keys of the list are populated from the input -// arguments. -func (t *Interface) NewSubinterface(Index uint32) (*Interface_Subinterface, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Subinterface == nil { - t.Subinterface = make(map[uint32]*Interface_Subinterface) - } - - key := Index - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Subinterface[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Subinterface", key) - } - - t.Subinterface[key] = &Interface_Subinterface{ - Index: &Index, - } - - return t.Subinterface[key], nil -} - -// RenameSubinterface renames an entry in the list Subinterface within -// the Interface struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface) RenameSubinterface(oldK, newK uint32) error { - if _, ok := t.Subinterface[newK]; ok { - return fmt.Errorf("key %v already exists in Subinterface", newK) - } - - e, ok := t.Subinterface[oldK] - if !ok { - return fmt.Errorf("key %v not found in Subinterface", oldK) - } - e.Index = &newK - - t.Subinterface[newK] = e - delete(t.Subinterface, oldK) - return nil -} - -// GetOrCreateSubinterfaceMap returns the list (map) from Interface. -// -// It initializes the field if not already initialized. -func (t *Interface) GetOrCreateSubinterfaceMap() map[uint32]*Interface_Subinterface { - if t.Subinterface == nil { - t.Subinterface = make(map[uint32]*Interface_Subinterface) - } - return t.Subinterface -} - -// GetOrCreateSubinterface retrieves the value with the specified keys from -// the receiver Interface. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface) GetOrCreateSubinterface(Index uint32) *Interface_Subinterface { - - key := Index - - if v, ok := t.Subinterface[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewSubinterface(Index) - if err != nil { - panic(fmt.Sprintf("GetOrCreateSubinterface got unexpected error: %v", err)) - } - return v -} - -// GetSubinterface retrieves the value with the specified key from -// the Subinterface map field of Interface. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface) GetSubinterface(Index uint32) *Interface_Subinterface { - - if t == nil { - return nil - } - - key := Index - - if lm, ok := t.Subinterface[key]; ok { - return lm - } - return nil -} - -// DeleteSubinterface deletes the value with the specified keys from -// the receiver Interface. If there is no such element, the function -// is a no-op. -func (t *Interface) DeleteSubinterface(Index uint32) { - key := Index - - delete(t.Subinterface, key) -} - -// AppendSubinterface appends the supplied Interface_Subinterface struct to the -// list Subinterface of Interface. If the key value(s) specified in -// the supplied Interface_Subinterface already exist in the list, an error is -// returned. -func (t *Interface) AppendSubinterface(v *Interface_Subinterface) error { - if v.Index == nil { - return fmt.Errorf("invalid nil key received for Index") - } - - key := *v.Index - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Subinterface == nil { - t.Subinterface = make(map[uint32]*Interface_Subinterface) - } - - if _, ok := t.Subinterface[key]; ok { - return fmt.Errorf("duplicate key for list Subinterface %v", key) - } - - t.Subinterface[key] = v - return nil -} - -// GetOrCreateAggregation retrieves the value of the Aggregation field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreateAggregation() *Interface_Aggregation { - if t.Aggregation != nil { - return t.Aggregation - } - t.Aggregation = &Interface_Aggregation{} - return t.Aggregation -} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreateCounters() *Interface_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_Counters{} - return t.Counters -} - -// GetOrCreateEthernet retrieves the value of the Ethernet field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreateEthernet() *Interface_Ethernet { - if t.Ethernet != nil { - return t.Ethernet - } - t.Ethernet = &Interface_Ethernet{} - return t.Ethernet -} - -// GetOrCreateHoldTime retrieves the value of the HoldTime field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreateHoldTime() *Interface_HoldTime { - if t.HoldTime != nil { - return t.HoldTime - } - t.HoldTime = &Interface_HoldTime{} - return t.HoldTime -} - -// GetOrCreatePenaltyBasedAied retrieves the value of the PenaltyBasedAied field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreatePenaltyBasedAied() *Interface_PenaltyBasedAied { - if t.PenaltyBasedAied != nil { - return t.PenaltyBasedAied - } - t.PenaltyBasedAied = &Interface_PenaltyBasedAied{} - return t.PenaltyBasedAied -} - -// GetOrCreateRoutedVlan retrieves the value of the RoutedVlan field -// or returns the existing field if it already exists. -func (t *Interface) GetOrCreateRoutedVlan() *Interface_RoutedVlan { - if t.RoutedVlan != nil { - return t.RoutedVlan - } - t.RoutedVlan = &Interface_RoutedVlan{} - return t.RoutedVlan -} - -// GetAggregation returns the value of the Aggregation struct pointer -// from Interface. If the receiver or the field Aggregation is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetAggregation() *Interface_Aggregation { - if t != nil && t.Aggregation != nil { - return t.Aggregation - } - return nil -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetCounters() *Interface_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetEthernet returns the value of the Ethernet struct pointer -// from Interface. If the receiver or the field Ethernet is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetEthernet() *Interface_Ethernet { - if t != nil && t.Ethernet != nil { - return t.Ethernet - } - return nil -} - -// GetHoldTime returns the value of the HoldTime struct pointer -// from Interface. If the receiver or the field HoldTime is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetHoldTime() *Interface_HoldTime { - if t != nil && t.HoldTime != nil { - return t.HoldTime - } - return nil -} - -// GetPenaltyBasedAied returns the value of the PenaltyBasedAied struct pointer -// from Interface. If the receiver or the field PenaltyBasedAied is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetPenaltyBasedAied() *Interface_PenaltyBasedAied { - if t != nil && t.PenaltyBasedAied != nil { - return t.PenaltyBasedAied - } - return nil -} - -// GetRoutedVlan returns the value of the RoutedVlan struct pointer -// from Interface. If the receiver or the field RoutedVlan is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface) GetRoutedVlan() *Interface_RoutedVlan { - if t != nil && t.RoutedVlan != nil { - return t.RoutedVlan - } - return nil -} - -// GetAdminStatus retrieves the value of the leaf AdminStatus from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdminStatus is set, it can -// safely use t.GetAdminStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdminStatus == nil' before retrieving the leaf's value. -func (t *Interface) GetAdminStatus() E_Interface_AdminStatus { - if t == nil || t.AdminStatus == 0 { - return 0 - } - return t.AdminStatus -} - -// GetCpu retrieves the value of the leaf Cpu from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Cpu is set, it can -// safely use t.GetCpu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Cpu == nil' before retrieving the leaf's value. -func (t *Interface) GetCpu() bool { - if t == nil || t.Cpu == nil { - return false - } - return *t.Cpu -} - -// GetDescription retrieves the value of the leaf Description from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Description is set, it can -// safely use t.GetDescription() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Description == nil' before retrieving the leaf's value. -func (t *Interface) GetDescription() string { - if t == nil || t.Description == nil { - return "" - } - return *t.Description -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetIfindex retrieves the value of the leaf Ifindex from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ifindex is set, it can -// safely use t.GetIfindex() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ifindex == nil' before retrieving the leaf's value. -func (t *Interface) GetIfindex() uint32 { - if t == nil || t.Ifindex == nil { - return 0 - } - return *t.Ifindex -} - -// GetLastChange retrieves the value of the leaf LastChange from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LastChange is set, it can -// safely use t.GetLastChange() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LastChange == nil' before retrieving the leaf's value. -func (t *Interface) GetLastChange() uint64 { - if t == nil || t.LastChange == nil { - return 0 - } - return *t.LastChange -} - -// GetLogical retrieves the value of the leaf Logical from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Logical is set, it can -// safely use t.GetLogical() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Logical == nil' before retrieving the leaf's value. -func (t *Interface) GetLogical() bool { - if t == nil || t.Logical == nil { - return false - } - return *t.Logical -} - -// GetLoopbackMode retrieves the value of the leaf LoopbackMode from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LoopbackMode is set, it can -// safely use t.GetLoopbackMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LoopbackMode == nil' before retrieving the leaf's value. -func (t *Interface) GetLoopbackMode() E_TransportTypes_LoopbackModeType { - if t == nil || t.LoopbackMode == 0 { - return TransportTypes_LoopbackModeType_NONE - } - return t.LoopbackMode -} - -// GetManagement retrieves the value of the leaf Management from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Management is set, it can -// safely use t.GetManagement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Management == nil' before retrieving the leaf's value. -func (t *Interface) GetManagement() bool { - if t == nil || t.Management == nil { - return false - } - return *t.Management -} - -// GetMtu retrieves the value of the leaf Mtu from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mtu is set, it can -// safely use t.GetMtu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mtu == nil' before retrieving the leaf's value. -func (t *Interface) GetMtu() uint16 { - if t == nil || t.Mtu == nil { - return 0 - } - return *t.Mtu -} - -// GetName retrieves the value of the leaf Name from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Name is set, it can -// safely use t.GetName() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Name == nil' before retrieving the leaf's value. -func (t *Interface) GetName() string { - if t == nil || t.Name == nil { - return "" - } - return *t.Name -} - -// GetOperStatus retrieves the value of the leaf OperStatus from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OperStatus is set, it can -// safely use t.GetOperStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OperStatus == nil' before retrieving the leaf's value. -func (t *Interface) GetOperStatus() E_Interface_OperStatus { - if t == nil || t.OperStatus == 0 { - return 0 - } - return t.OperStatus -} - -// GetTpid retrieves the value of the leaf Tpid from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Tpid is set, it can -// safely use t.GetTpid() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Tpid == nil' before retrieving the leaf's value. -func (t *Interface) GetTpid() E_VlanTypes_TPID_TYPES { - if t == nil || t.Tpid == 0 { - return VlanTypes_TPID_TYPES_TPID_0X8100 - } - return t.Tpid -} - -// GetType retrieves the value of the leaf Type from the Interface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Type is set, it can -// safely use t.GetType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Type == nil' before retrieving the leaf's value. -func (t *Interface) GetType() E_IETFInterfaces_InterfaceType { - if t == nil || t.Type == 0 { - return 0 - } - return t.Type -} - -// SetAdminStatus sets the value of the leaf AdminStatus in the Interface -// struct. -func (t *Interface) SetAdminStatus(v E_Interface_AdminStatus) { - t.AdminStatus = v -} - -// SetCpu sets the value of the leaf Cpu in the Interface -// struct. -func (t *Interface) SetCpu(v bool) { - t.Cpu = &v -} - -// SetDescription sets the value of the leaf Description in the Interface -// struct. -func (t *Interface) SetDescription(v string) { - t.Description = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface -// struct. -func (t *Interface) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetIfindex sets the value of the leaf Ifindex in the Interface -// struct. -func (t *Interface) SetIfindex(v uint32) { - t.Ifindex = &v -} - -// SetLastChange sets the value of the leaf LastChange in the Interface -// struct. -func (t *Interface) SetLastChange(v uint64) { - t.LastChange = &v -} - -// SetLogical sets the value of the leaf Logical in the Interface -// struct. -func (t *Interface) SetLogical(v bool) { - t.Logical = &v -} - -// SetLoopbackMode sets the value of the leaf LoopbackMode in the Interface -// struct. -func (t *Interface) SetLoopbackMode(v E_TransportTypes_LoopbackModeType) { - t.LoopbackMode = v -} - -// SetManagement sets the value of the leaf Management in the Interface -// struct. -func (t *Interface) SetManagement(v bool) { - t.Management = &v -} - -// SetMtu sets the value of the leaf Mtu in the Interface -// struct. -func (t *Interface) SetMtu(v uint16) { - t.Mtu = &v -} - -// SetName sets the value of the leaf Name in the Interface -// struct. -func (t *Interface) SetName(v string) { - t.Name = &v -} - -// SetOperStatus sets the value of the leaf OperStatus in the Interface -// struct. -func (t *Interface) SetOperStatus(v E_Interface_OperStatus) { - t.OperStatus = v -} - -// SetTpid sets the value of the leaf Tpid in the Interface -// struct. -func (t *Interface) SetTpid(v E_VlanTypes_TPID_TYPES) { - t.Tpid = v -} - -// SetType sets the value of the leaf Type in the Interface -// struct. -func (t *Interface) SetType(v E_IETFInterfaces_InterfaceType) { - t.Type = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - if t.LoopbackMode == 0 { - t.LoopbackMode = TransportTypes_LoopbackModeType_NONE - } - if t.Tpid == 0 { - t.Tpid = VlanTypes_TPID_TYPES_TPID_0X8100 - } - t.Aggregation.PopulateDefaults() - t.Counters.PopulateDefaults() - t.Ethernet.PopulateDefaults() - t.HoldTime.PopulateDefaults() - t.PenaltyBasedAied.PopulateDefaults() - t.RoutedVlan.PopulateDefaults() - for _, e := range t.Subinterface { - e.PopulateDefaults() - } -} - -// ΛListKeyMap returns the keys of the Interface struct, which is a YANG list entry. -func (t *Interface) ΛListKeyMap() (map[string]interface{}, error) { - if t.Name == nil { - return nil, fmt.Errorf("nil value for key Name") - } - - return map[string]interface{}{ - "name": *t.Name, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface. -func (*Interface) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_Aggregation represents the /openconfig-interfaces/interfaces/interface/aggregation YANG schema element. -type Interface_Aggregation struct { - LagSpeed *uint32 `path:"state/lag-speed" module:"openconfig-if-aggregate/openconfig-if-aggregate"` - LagType E_IfAggregate_AggregationType `path:"config/lag-type" module:"openconfig-if-aggregate/openconfig-if-aggregate" shadow-path:"state/lag-type" shadow-module:"openconfig-if-aggregate/openconfig-if-aggregate"` - Member []string `path:"state/member" module:"openconfig-if-aggregate/openconfig-if-aggregate"` - MinLinks *uint16 `path:"config/min-links" module:"openconfig-if-aggregate/openconfig-if-aggregate" shadow-path:"state/min-links" shadow-module:"openconfig-if-aggregate/openconfig-if-aggregate"` - SwitchedVlan *Interface_Aggregation_SwitchedVlan `path:"switched-vlan" module:"openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Aggregation implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Aggregation) IsYANGGoStruct() {} - -// GetOrCreateSwitchedVlan retrieves the value of the SwitchedVlan field -// or returns the existing field if it already exists. -func (t *Interface_Aggregation) GetOrCreateSwitchedVlan() *Interface_Aggregation_SwitchedVlan { - if t.SwitchedVlan != nil { - return t.SwitchedVlan - } - t.SwitchedVlan = &Interface_Aggregation_SwitchedVlan{} - return t.SwitchedVlan -} - -// GetSwitchedVlan returns the value of the SwitchedVlan struct pointer -// from Interface_Aggregation. If the receiver or the field SwitchedVlan is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Aggregation) GetSwitchedVlan() *Interface_Aggregation_SwitchedVlan { - if t != nil && t.SwitchedVlan != nil { - return t.SwitchedVlan - } - return nil -} - -// GetLagSpeed retrieves the value of the leaf LagSpeed from the Interface_Aggregation -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LagSpeed is set, it can -// safely use t.GetLagSpeed() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LagSpeed == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation) GetLagSpeed() uint32 { - if t == nil || t.LagSpeed == nil { - return 0 - } - return *t.LagSpeed -} - -// GetLagType retrieves the value of the leaf LagType from the Interface_Aggregation -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LagType is set, it can -// safely use t.GetLagType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LagType == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation) GetLagType() E_IfAggregate_AggregationType { - if t == nil || t.LagType == 0 { - return 0 - } - return t.LagType -} - -// GetMember retrieves the value of the leaf Member from the Interface_Aggregation -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Member is set, it can -// safely use t.GetMember() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Member == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation) GetMember() []string { - if t == nil || t.Member == nil { - return nil - } - return t.Member -} - -// GetMinLinks retrieves the value of the leaf MinLinks from the Interface_Aggregation -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if MinLinks is set, it can -// safely use t.GetMinLinks() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.MinLinks == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation) GetMinLinks() uint16 { - if t == nil || t.MinLinks == nil { - return 0 - } - return *t.MinLinks -} - -// SetLagSpeed sets the value of the leaf LagSpeed in the Interface_Aggregation -// struct. -func (t *Interface_Aggregation) SetLagSpeed(v uint32) { - t.LagSpeed = &v -} - -// SetLagType sets the value of the leaf LagType in the Interface_Aggregation -// struct. -func (t *Interface_Aggregation) SetLagType(v E_IfAggregate_AggregationType) { - t.LagType = v -} - -// SetMember sets the value of the leaf Member in the Interface_Aggregation -// struct. -func (t *Interface_Aggregation) SetMember(v []string) { - t.Member = v -} - -// SetMinLinks sets the value of the leaf MinLinks in the Interface_Aggregation -// struct. -func (t *Interface_Aggregation) SetMinLinks(v uint16) { - t.MinLinks = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Aggregation -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Aggregation) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - t.SwitchedVlan.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Aggregation) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Aggregation"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Aggregation) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Aggregation) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Aggregation. -func (*Interface_Aggregation) ΛBelongingModule() string { - return "openconfig-if-aggregate" -} - -// Interface_Aggregation_SwitchedVlan represents the /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan YANG schema element. -type Interface_Aggregation_SwitchedVlan struct { - AccessVlan *uint16 `path:"config/access-vlan" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/access-vlan" shadow-module:"openconfig-vlan/openconfig-vlan"` - InterfaceMode E_VlanTypes_VlanModeType `path:"config/interface-mode" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/interface-mode" shadow-module:"openconfig-vlan/openconfig-vlan"` - NativeVlan *uint16 `path:"config/native-vlan" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/native-vlan" shadow-module:"openconfig-vlan/openconfig-vlan"` - TrunkVlans []Interface_Aggregation_SwitchedVlan_TrunkVlans_Union `path:"config/trunk-vlans" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/trunk-vlans" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Aggregation_SwitchedVlan implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Aggregation_SwitchedVlan) IsYANGGoStruct() {} - -// GetAccessVlan retrieves the value of the leaf AccessVlan from the Interface_Aggregation_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AccessVlan is set, it can -// safely use t.GetAccessVlan() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AccessVlan == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation_SwitchedVlan) GetAccessVlan() uint16 { - if t == nil || t.AccessVlan == nil { - return 0 - } - return *t.AccessVlan -} - -// GetInterfaceMode retrieves the value of the leaf InterfaceMode from the Interface_Aggregation_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InterfaceMode is set, it can -// safely use t.GetInterfaceMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InterfaceMode == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation_SwitchedVlan) GetInterfaceMode() E_VlanTypes_VlanModeType { - if t == nil || t.InterfaceMode == 0 { - return 0 - } - return t.InterfaceMode -} - -// GetNativeVlan retrieves the value of the leaf NativeVlan from the Interface_Aggregation_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NativeVlan is set, it can -// safely use t.GetNativeVlan() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NativeVlan == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation_SwitchedVlan) GetNativeVlan() uint16 { - if t == nil || t.NativeVlan == nil { - return 0 - } - return *t.NativeVlan -} - -// GetTrunkVlans retrieves the value of the leaf TrunkVlans from the Interface_Aggregation_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrunkVlans is set, it can -// safely use t.GetTrunkVlans() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrunkVlans == nil' before retrieving the leaf's value. -func (t *Interface_Aggregation_SwitchedVlan) GetTrunkVlans() []Interface_Aggregation_SwitchedVlan_TrunkVlans_Union { - if t == nil || t.TrunkVlans == nil { - return nil - } - return t.TrunkVlans -} - -// SetAccessVlan sets the value of the leaf AccessVlan in the Interface_Aggregation_SwitchedVlan -// struct. -func (t *Interface_Aggregation_SwitchedVlan) SetAccessVlan(v uint16) { - t.AccessVlan = &v -} - -// SetInterfaceMode sets the value of the leaf InterfaceMode in the Interface_Aggregation_SwitchedVlan -// struct. -func (t *Interface_Aggregation_SwitchedVlan) SetInterfaceMode(v E_VlanTypes_VlanModeType) { - t.InterfaceMode = v -} - -// SetNativeVlan sets the value of the leaf NativeVlan in the Interface_Aggregation_SwitchedVlan -// struct. -func (t *Interface_Aggregation_SwitchedVlan) SetNativeVlan(v uint16) { - t.NativeVlan = &v -} - -// SetTrunkVlans sets the value of the leaf TrunkVlans in the Interface_Aggregation_SwitchedVlan -// struct. -func (t *Interface_Aggregation_SwitchedVlan) SetTrunkVlans(v []Interface_Aggregation_SwitchedVlan_TrunkVlans_Union) { - t.TrunkVlans = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Aggregation_SwitchedVlan -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Aggregation_SwitchedVlan) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Aggregation_SwitchedVlan) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Aggregation_SwitchedVlan"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Aggregation_SwitchedVlan) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Aggregation_SwitchedVlan) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Aggregation_SwitchedVlan. -func (*Interface_Aggregation_SwitchedVlan) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Counters represents the /openconfig-interfaces/interfaces/interface/state/counters YANG schema element. -type Interface_Counters struct { - CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"` - InBroadcastPkts *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"` - InDiscards *uint64 `path:"in-discards" module:"openconfig-interfaces"` - InErrors *uint64 `path:"in-errors" module:"openconfig-interfaces"` - InFcsErrors *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"` - InOctets *uint64 `path:"in-octets" module:"openconfig-interfaces"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-interfaces"` - InUnicastPkts *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"` - InUnknownProtos *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"` - LastClear *uint64 `path:"last-clear" module:"openconfig-interfaces"` - OutBroadcastPkts *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"` - OutDiscards *uint64 `path:"out-discards" module:"openconfig-interfaces"` - OutErrors *uint64 `path:"out-errors" module:"openconfig-interfaces"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-interfaces"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-interfaces"` - OutUnicastPkts *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"` - Resets *uint64 `path:"resets" module:"openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Interface_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Counters) IsYANGGoStruct() {} - -// GetCarrierTransitions retrieves the value of the leaf CarrierTransitions from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CarrierTransitions is set, it can -// safely use t.GetCarrierTransitions() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CarrierTransitions == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetCarrierTransitions() uint64 { - if t == nil || t.CarrierTransitions == nil { - return 0 - } - return *t.CarrierTransitions -} - -// GetInBroadcastPkts retrieves the value of the leaf InBroadcastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InBroadcastPkts is set, it can -// safely use t.GetInBroadcastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InBroadcastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInBroadcastPkts() uint64 { - if t == nil || t.InBroadcastPkts == nil { - return 0 - } - return *t.InBroadcastPkts -} - -// GetInDiscards retrieves the value of the leaf InDiscards from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscards is set, it can -// safely use t.GetInDiscards() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscards == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInDiscards() uint64 { - if t == nil || t.InDiscards == nil { - return 0 - } - return *t.InDiscards -} - -// GetInErrors retrieves the value of the leaf InErrors from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrors is set, it can -// safely use t.GetInErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrors == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInErrors() uint64 { - if t == nil || t.InErrors == nil { - return 0 - } - return *t.InErrors -} - -// GetInFcsErrors retrieves the value of the leaf InFcsErrors from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InFcsErrors is set, it can -// safely use t.GetInFcsErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InFcsErrors == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInFcsErrors() uint64 { - if t == nil || t.InFcsErrors == nil { - return 0 - } - return *t.InFcsErrors -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetInUnicastPkts retrieves the value of the leaf InUnicastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InUnicastPkts is set, it can -// safely use t.GetInUnicastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InUnicastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInUnicastPkts() uint64 { - if t == nil || t.InUnicastPkts == nil { - return 0 - } - return *t.InUnicastPkts -} - -// GetInUnknownProtos retrieves the value of the leaf InUnknownProtos from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InUnknownProtos is set, it can -// safely use t.GetInUnknownProtos() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InUnknownProtos == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetInUnknownProtos() uint64 { - if t == nil || t.InUnknownProtos == nil { - return 0 - } - return *t.InUnknownProtos -} - -// GetLastClear retrieves the value of the leaf LastClear from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LastClear is set, it can -// safely use t.GetLastClear() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LastClear == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetLastClear() uint64 { - if t == nil || t.LastClear == nil { - return 0 - } - return *t.LastClear -} - -// GetOutBroadcastPkts retrieves the value of the leaf OutBroadcastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutBroadcastPkts is set, it can -// safely use t.GetOutBroadcastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutBroadcastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutBroadcastPkts() uint64 { - if t == nil || t.OutBroadcastPkts == nil { - return 0 - } - return *t.OutBroadcastPkts -} - -// GetOutDiscards retrieves the value of the leaf OutDiscards from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscards is set, it can -// safely use t.GetOutDiscards() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscards == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutDiscards() uint64 { - if t == nil || t.OutDiscards == nil { - return 0 - } - return *t.OutDiscards -} - -// GetOutErrors retrieves the value of the leaf OutErrors from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrors is set, it can -// safely use t.GetOutErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrors == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutErrors() uint64 { - if t == nil || t.OutErrors == nil { - return 0 - } - return *t.OutErrors -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// GetOutUnicastPkts retrieves the value of the leaf OutUnicastPkts from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutUnicastPkts is set, it can -// safely use t.GetOutUnicastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutUnicastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetOutUnicastPkts() uint64 { - if t == nil || t.OutUnicastPkts == nil { - return 0 - } - return *t.OutUnicastPkts -} - -// GetResets retrieves the value of the leaf Resets from the Interface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Resets is set, it can -// safely use t.GetResets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Resets == nil' before retrieving the leaf's value. -func (t *Interface_Counters) GetResets() uint64 { - if t == nil || t.Resets == nil { - return 0 - } - return *t.Resets -} - -// SetCarrierTransitions sets the value of the leaf CarrierTransitions in the Interface_Counters -// struct. -func (t *Interface_Counters) SetCarrierTransitions(v uint64) { - t.CarrierTransitions = &v -} - -// SetInBroadcastPkts sets the value of the leaf InBroadcastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInBroadcastPkts(v uint64) { - t.InBroadcastPkts = &v -} - -// SetInDiscards sets the value of the leaf InDiscards in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInDiscards(v uint64) { - t.InDiscards = &v -} - -// SetInErrors sets the value of the leaf InErrors in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInErrors(v uint64) { - t.InErrors = &v -} - -// SetInFcsErrors sets the value of the leaf InFcsErrors in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInFcsErrors(v uint64) { - t.InFcsErrors = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetInUnicastPkts sets the value of the leaf InUnicastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInUnicastPkts(v uint64) { - t.InUnicastPkts = &v -} - -// SetInUnknownProtos sets the value of the leaf InUnknownProtos in the Interface_Counters -// struct. -func (t *Interface_Counters) SetInUnknownProtos(v uint64) { - t.InUnknownProtos = &v -} - -// SetLastClear sets the value of the leaf LastClear in the Interface_Counters -// struct. -func (t *Interface_Counters) SetLastClear(v uint64) { - t.LastClear = &v -} - -// SetOutBroadcastPkts sets the value of the leaf OutBroadcastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutBroadcastPkts(v uint64) { - t.OutBroadcastPkts = &v -} - -// SetOutDiscards sets the value of the leaf OutDiscards in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutDiscards(v uint64) { - t.OutDiscards = &v -} - -// SetOutErrors sets the value of the leaf OutErrors in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutErrors(v uint64) { - t.OutErrors = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// SetOutUnicastPkts sets the value of the leaf OutUnicastPkts in the Interface_Counters -// struct. -func (t *Interface_Counters) SetOutUnicastPkts(v uint64) { - t.OutUnicastPkts = &v -} - -// SetResets sets the value of the leaf Resets in the Interface_Counters -// struct. -func (t *Interface_Counters) SetResets(v uint64) { - t.Resets = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Counters. -func (*Interface_Counters) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_Ethernet represents the /openconfig-interfaces/interfaces/interface/ethernet YANG schema element. -type Interface_Ethernet struct { - AggregateId *string `path:"config/aggregate-id" module:"openconfig-if-ethernet/openconfig-if-aggregate" shadow-path:"state/aggregate-id" shadow-module:"openconfig-if-ethernet/openconfig-if-aggregate"` - AutoNegotiate *bool `path:"config/auto-negotiate" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/auto-negotiate" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - Counters *Interface_Ethernet_Counters `path:"state/counters" module:"openconfig-if-ethernet/openconfig-if-ethernet"` - DuplexMode E_Ethernet_DuplexMode `path:"config/duplex-mode" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/duplex-mode" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - EnableFlowControl *bool `path:"config/enable-flow-control" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/enable-flow-control" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - FecMode E_IfEthernet_INTERFACE_FEC `path:"config/fec-mode" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/fec-mode" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - HwMacAddress *string `path:"state/hw-mac-address" module:"openconfig-if-ethernet/openconfig-if-ethernet"` - MacAddress *string `path:"config/mac-address" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/mac-address" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - NegotiatedDuplexMode E_Ethernet_NegotiatedDuplexMode `path:"state/negotiated-duplex-mode" module:"openconfig-if-ethernet/openconfig-if-ethernet"` - NegotiatedPortSpeed E_IfEthernet_ETHERNET_SPEED `path:"state/negotiated-port-speed" module:"openconfig-if-ethernet/openconfig-if-ethernet"` - PortSpeed E_IfEthernet_ETHERNET_SPEED `path:"config/port-speed" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/port-speed" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - StandaloneLinkTraining *bool `path:"config/standalone-link-training" module:"openconfig-if-ethernet/openconfig-if-ethernet" shadow-path:"state/standalone-link-training" shadow-module:"openconfig-if-ethernet/openconfig-if-ethernet"` - SwitchedVlan *Interface_Ethernet_SwitchedVlan `path:"switched-vlan" module:"openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Ethernet implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Ethernet) IsYANGGoStruct() {} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_Ethernet) GetOrCreateCounters() *Interface_Ethernet_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_Ethernet_Counters{} - return t.Counters -} - -// GetOrCreateSwitchedVlan retrieves the value of the SwitchedVlan field -// or returns the existing field if it already exists. -func (t *Interface_Ethernet) GetOrCreateSwitchedVlan() *Interface_Ethernet_SwitchedVlan { - if t.SwitchedVlan != nil { - return t.SwitchedVlan - } - t.SwitchedVlan = &Interface_Ethernet_SwitchedVlan{} - return t.SwitchedVlan -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_Ethernet. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Ethernet) GetCounters() *Interface_Ethernet_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetSwitchedVlan returns the value of the SwitchedVlan struct pointer -// from Interface_Ethernet. If the receiver or the field SwitchedVlan is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Ethernet) GetSwitchedVlan() *Interface_Ethernet_SwitchedVlan { - if t != nil && t.SwitchedVlan != nil { - return t.SwitchedVlan - } - return nil -} - -// GetAggregateId retrieves the value of the leaf AggregateId from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AggregateId is set, it can -// safely use t.GetAggregateId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AggregateId == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetAggregateId() string { - if t == nil || t.AggregateId == nil { - return "" - } - return *t.AggregateId -} - -// GetAutoNegotiate retrieves the value of the leaf AutoNegotiate from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AutoNegotiate is set, it can -// safely use t.GetAutoNegotiate() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AutoNegotiate == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetAutoNegotiate() bool { - if t == nil || t.AutoNegotiate == nil { - return true - } - return *t.AutoNegotiate -} - -// GetDuplexMode retrieves the value of the leaf DuplexMode from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DuplexMode is set, it can -// safely use t.GetDuplexMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DuplexMode == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetDuplexMode() E_Ethernet_DuplexMode { - if t == nil || t.DuplexMode == 0 { - return 0 - } - return t.DuplexMode -} - -// GetEnableFlowControl retrieves the value of the leaf EnableFlowControl from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if EnableFlowControl is set, it can -// safely use t.GetEnableFlowControl() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.EnableFlowControl == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetEnableFlowControl() bool { - if t == nil || t.EnableFlowControl == nil { - return false - } - return *t.EnableFlowControl -} - -// GetFecMode retrieves the value of the leaf FecMode from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if FecMode is set, it can -// safely use t.GetFecMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.FecMode == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetFecMode() E_IfEthernet_INTERFACE_FEC { - if t == nil || t.FecMode == 0 { - return 0 - } - return t.FecMode -} - -// GetHwMacAddress retrieves the value of the leaf HwMacAddress from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if HwMacAddress is set, it can -// safely use t.GetHwMacAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.HwMacAddress == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetHwMacAddress() string { - if t == nil || t.HwMacAddress == nil { - return "" - } - return *t.HwMacAddress -} - -// GetMacAddress retrieves the value of the leaf MacAddress from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if MacAddress is set, it can -// safely use t.GetMacAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.MacAddress == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetMacAddress() string { - if t == nil || t.MacAddress == nil { - return "" - } - return *t.MacAddress -} - -// GetNegotiatedDuplexMode retrieves the value of the leaf NegotiatedDuplexMode from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NegotiatedDuplexMode is set, it can -// safely use t.GetNegotiatedDuplexMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NegotiatedDuplexMode == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetNegotiatedDuplexMode() E_Ethernet_NegotiatedDuplexMode { - if t == nil || t.NegotiatedDuplexMode == 0 { - return 0 - } - return t.NegotiatedDuplexMode -} - -// GetNegotiatedPortSpeed retrieves the value of the leaf NegotiatedPortSpeed from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NegotiatedPortSpeed is set, it can -// safely use t.GetNegotiatedPortSpeed() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NegotiatedPortSpeed == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetNegotiatedPortSpeed() E_IfEthernet_ETHERNET_SPEED { - if t == nil || t.NegotiatedPortSpeed == 0 { - return 0 - } - return t.NegotiatedPortSpeed -} - -// GetPortSpeed retrieves the value of the leaf PortSpeed from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PortSpeed is set, it can -// safely use t.GetPortSpeed() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PortSpeed == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetPortSpeed() E_IfEthernet_ETHERNET_SPEED { - if t == nil || t.PortSpeed == 0 { - return 0 - } - return t.PortSpeed -} - -// GetStandaloneLinkTraining retrieves the value of the leaf StandaloneLinkTraining from the Interface_Ethernet -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if StandaloneLinkTraining is set, it can -// safely use t.GetStandaloneLinkTraining() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.StandaloneLinkTraining == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet) GetStandaloneLinkTraining() bool { - if t == nil || t.StandaloneLinkTraining == nil { - return false - } - return *t.StandaloneLinkTraining -} - -// SetAggregateId sets the value of the leaf AggregateId in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetAggregateId(v string) { - t.AggregateId = &v -} - -// SetAutoNegotiate sets the value of the leaf AutoNegotiate in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetAutoNegotiate(v bool) { - t.AutoNegotiate = &v -} - -// SetDuplexMode sets the value of the leaf DuplexMode in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetDuplexMode(v E_Ethernet_DuplexMode) { - t.DuplexMode = v -} - -// SetEnableFlowControl sets the value of the leaf EnableFlowControl in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetEnableFlowControl(v bool) { - t.EnableFlowControl = &v -} - -// SetFecMode sets the value of the leaf FecMode in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetFecMode(v E_IfEthernet_INTERFACE_FEC) { - t.FecMode = v -} - -// SetHwMacAddress sets the value of the leaf HwMacAddress in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetHwMacAddress(v string) { - t.HwMacAddress = &v -} - -// SetMacAddress sets the value of the leaf MacAddress in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetMacAddress(v string) { - t.MacAddress = &v -} - -// SetNegotiatedDuplexMode sets the value of the leaf NegotiatedDuplexMode in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetNegotiatedDuplexMode(v E_Ethernet_NegotiatedDuplexMode) { - t.NegotiatedDuplexMode = v -} - -// SetNegotiatedPortSpeed sets the value of the leaf NegotiatedPortSpeed in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetNegotiatedPortSpeed(v E_IfEthernet_ETHERNET_SPEED) { - t.NegotiatedPortSpeed = v -} - -// SetPortSpeed sets the value of the leaf PortSpeed in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetPortSpeed(v E_IfEthernet_ETHERNET_SPEED) { - t.PortSpeed = v -} - -// SetStandaloneLinkTraining sets the value of the leaf StandaloneLinkTraining in the Interface_Ethernet -// struct. -func (t *Interface_Ethernet) SetStandaloneLinkTraining(v bool) { - t.StandaloneLinkTraining = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Ethernet -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Ethernet) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.AutoNegotiate == nil { - var v bool = true - t.AutoNegotiate = &v - } - if t.EnableFlowControl == nil { - var v bool = false - t.EnableFlowControl = &v - } - if t.StandaloneLinkTraining == nil { - var v bool = false - t.StandaloneLinkTraining = &v - } - t.Counters.PopulateDefaults() - t.SwitchedVlan.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Ethernet"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Ethernet) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Ethernet. -func (*Interface_Ethernet) ΛBelongingModule() string { - return "openconfig-if-ethernet" -} - -// Interface_Ethernet_Counters represents the /openconfig-interfaces/interfaces/interface/ethernet/state/counters YANG schema element. -type Interface_Ethernet_Counters struct { - In_8021QFrames *uint64 `path:"in-8021q-frames" module:"openconfig-if-ethernet"` - InBlockErrors *uint64 `path:"in-block-errors" module:"openconfig-if-ethernet"` - InCarrierErrors *uint64 `path:"in-carrier-errors" module:"openconfig-if-ethernet"` - InCrcErrors *uint64 `path:"in-crc-errors" module:"openconfig-if-ethernet"` - InFragmentFrames *uint64 `path:"in-fragment-frames" module:"openconfig-if-ethernet"` - InInterruptedTx *uint64 `path:"in-interrupted-tx" module:"openconfig-if-ethernet"` - InJabberFrames *uint64 `path:"in-jabber-frames" module:"openconfig-if-ethernet"` - InLateCollision *uint64 `path:"in-late-collision" module:"openconfig-if-ethernet"` - InMacControlFrames *uint64 `path:"in-mac-control-frames" module:"openconfig-if-ethernet"` - InMacErrorsRx *uint64 `path:"in-mac-errors-rx" module:"openconfig-if-ethernet"` - InMacPauseFrames *uint64 `path:"in-mac-pause-frames" module:"openconfig-if-ethernet"` - InMaxsizeExceeded *uint64 `path:"in-maxsize-exceeded" module:"openconfig-if-ethernet"` - InOversizeFrames *uint64 `path:"in-oversize-frames" module:"openconfig-if-ethernet"` - InSingleCollision *uint64 `path:"in-single-collision" module:"openconfig-if-ethernet"` - InSymbolError *uint64 `path:"in-symbol-error" module:"openconfig-if-ethernet"` - InUndersizeFrames *uint64 `path:"in-undersize-frames" module:"openconfig-if-ethernet"` - Out_8021QFrames *uint64 `path:"out-8021q-frames" module:"openconfig-if-ethernet"` - OutMacControlFrames *uint64 `path:"out-mac-control-frames" module:"openconfig-if-ethernet"` - OutMacErrorsTx *uint64 `path:"out-mac-errors-tx" module:"openconfig-if-ethernet"` - OutMacPauseFrames *uint64 `path:"out-mac-pause-frames" module:"openconfig-if-ethernet"` -} - -// IsYANGGoStruct ensures that Interface_Ethernet_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Ethernet_Counters) IsYANGGoStruct() {} - -// GetIn_8021QFrames retrieves the value of the leaf In_8021QFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if In_8021QFrames is set, it can -// safely use t.GetIn_8021QFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.In_8021QFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetIn_8021QFrames() uint64 { - if t == nil || t.In_8021QFrames == nil { - return 0 - } - return *t.In_8021QFrames -} - -// GetInBlockErrors retrieves the value of the leaf InBlockErrors from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InBlockErrors is set, it can -// safely use t.GetInBlockErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InBlockErrors == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInBlockErrors() uint64 { - if t == nil || t.InBlockErrors == nil { - return 0 - } - return *t.InBlockErrors -} - -// GetInCarrierErrors retrieves the value of the leaf InCarrierErrors from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InCarrierErrors is set, it can -// safely use t.GetInCarrierErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InCarrierErrors == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInCarrierErrors() uint64 { - if t == nil || t.InCarrierErrors == nil { - return 0 - } - return *t.InCarrierErrors -} - -// GetInCrcErrors retrieves the value of the leaf InCrcErrors from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InCrcErrors is set, it can -// safely use t.GetInCrcErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InCrcErrors == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInCrcErrors() uint64 { - if t == nil || t.InCrcErrors == nil { - return 0 - } - return *t.InCrcErrors -} - -// GetInFragmentFrames retrieves the value of the leaf InFragmentFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InFragmentFrames is set, it can -// safely use t.GetInFragmentFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InFragmentFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInFragmentFrames() uint64 { - if t == nil || t.InFragmentFrames == nil { - return 0 - } - return *t.InFragmentFrames -} - -// GetInInterruptedTx retrieves the value of the leaf InInterruptedTx from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InInterruptedTx is set, it can -// safely use t.GetInInterruptedTx() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InInterruptedTx == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInInterruptedTx() uint64 { - if t == nil || t.InInterruptedTx == nil { - return 0 - } - return *t.InInterruptedTx -} - -// GetInJabberFrames retrieves the value of the leaf InJabberFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InJabberFrames is set, it can -// safely use t.GetInJabberFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InJabberFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInJabberFrames() uint64 { - if t == nil || t.InJabberFrames == nil { - return 0 - } - return *t.InJabberFrames -} - -// GetInLateCollision retrieves the value of the leaf InLateCollision from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InLateCollision is set, it can -// safely use t.GetInLateCollision() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InLateCollision == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInLateCollision() uint64 { - if t == nil || t.InLateCollision == nil { - return 0 - } - return *t.InLateCollision -} - -// GetInMacControlFrames retrieves the value of the leaf InMacControlFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMacControlFrames is set, it can -// safely use t.GetInMacControlFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMacControlFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInMacControlFrames() uint64 { - if t == nil || t.InMacControlFrames == nil { - return 0 - } - return *t.InMacControlFrames -} - -// GetInMacErrorsRx retrieves the value of the leaf InMacErrorsRx from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMacErrorsRx is set, it can -// safely use t.GetInMacErrorsRx() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMacErrorsRx == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInMacErrorsRx() uint64 { - if t == nil || t.InMacErrorsRx == nil { - return 0 - } - return *t.InMacErrorsRx -} - -// GetInMacPauseFrames retrieves the value of the leaf InMacPauseFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMacPauseFrames is set, it can -// safely use t.GetInMacPauseFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMacPauseFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInMacPauseFrames() uint64 { - if t == nil || t.InMacPauseFrames == nil { - return 0 - } - return *t.InMacPauseFrames -} - -// GetInMaxsizeExceeded retrieves the value of the leaf InMaxsizeExceeded from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMaxsizeExceeded is set, it can -// safely use t.GetInMaxsizeExceeded() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMaxsizeExceeded == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInMaxsizeExceeded() uint64 { - if t == nil || t.InMaxsizeExceeded == nil { - return 0 - } - return *t.InMaxsizeExceeded -} - -// GetInOversizeFrames retrieves the value of the leaf InOversizeFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOversizeFrames is set, it can -// safely use t.GetInOversizeFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOversizeFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInOversizeFrames() uint64 { - if t == nil || t.InOversizeFrames == nil { - return 0 - } - return *t.InOversizeFrames -} - -// GetInSingleCollision retrieves the value of the leaf InSingleCollision from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InSingleCollision is set, it can -// safely use t.GetInSingleCollision() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InSingleCollision == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInSingleCollision() uint64 { - if t == nil || t.InSingleCollision == nil { - return 0 - } - return *t.InSingleCollision -} - -// GetInSymbolError retrieves the value of the leaf InSymbolError from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InSymbolError is set, it can -// safely use t.GetInSymbolError() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InSymbolError == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInSymbolError() uint64 { - if t == nil || t.InSymbolError == nil { - return 0 - } - return *t.InSymbolError -} - -// GetInUndersizeFrames retrieves the value of the leaf InUndersizeFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InUndersizeFrames is set, it can -// safely use t.GetInUndersizeFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InUndersizeFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetInUndersizeFrames() uint64 { - if t == nil || t.InUndersizeFrames == nil { - return 0 - } - return *t.InUndersizeFrames -} - -// GetOut_8021QFrames retrieves the value of the leaf Out_8021QFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Out_8021QFrames is set, it can -// safely use t.GetOut_8021QFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Out_8021QFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetOut_8021QFrames() uint64 { - if t == nil || t.Out_8021QFrames == nil { - return 0 - } - return *t.Out_8021QFrames -} - -// GetOutMacControlFrames retrieves the value of the leaf OutMacControlFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMacControlFrames is set, it can -// safely use t.GetOutMacControlFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMacControlFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetOutMacControlFrames() uint64 { - if t == nil || t.OutMacControlFrames == nil { - return 0 - } - return *t.OutMacControlFrames -} - -// GetOutMacErrorsTx retrieves the value of the leaf OutMacErrorsTx from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMacErrorsTx is set, it can -// safely use t.GetOutMacErrorsTx() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMacErrorsTx == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetOutMacErrorsTx() uint64 { - if t == nil || t.OutMacErrorsTx == nil { - return 0 - } - return *t.OutMacErrorsTx -} - -// GetOutMacPauseFrames retrieves the value of the leaf OutMacPauseFrames from the Interface_Ethernet_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMacPauseFrames is set, it can -// safely use t.GetOutMacPauseFrames() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMacPauseFrames == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_Counters) GetOutMacPauseFrames() uint64 { - if t == nil || t.OutMacPauseFrames == nil { - return 0 - } - return *t.OutMacPauseFrames -} - -// SetIn_8021QFrames sets the value of the leaf In_8021QFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetIn_8021QFrames(v uint64) { - t.In_8021QFrames = &v -} - -// SetInBlockErrors sets the value of the leaf InBlockErrors in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInBlockErrors(v uint64) { - t.InBlockErrors = &v -} - -// SetInCarrierErrors sets the value of the leaf InCarrierErrors in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInCarrierErrors(v uint64) { - t.InCarrierErrors = &v -} - -// SetInCrcErrors sets the value of the leaf InCrcErrors in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInCrcErrors(v uint64) { - t.InCrcErrors = &v -} - -// SetInFragmentFrames sets the value of the leaf InFragmentFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInFragmentFrames(v uint64) { - t.InFragmentFrames = &v -} - -// SetInInterruptedTx sets the value of the leaf InInterruptedTx in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInInterruptedTx(v uint64) { - t.InInterruptedTx = &v -} - -// SetInJabberFrames sets the value of the leaf InJabberFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInJabberFrames(v uint64) { - t.InJabberFrames = &v -} - -// SetInLateCollision sets the value of the leaf InLateCollision in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInLateCollision(v uint64) { - t.InLateCollision = &v -} - -// SetInMacControlFrames sets the value of the leaf InMacControlFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInMacControlFrames(v uint64) { - t.InMacControlFrames = &v -} - -// SetInMacErrorsRx sets the value of the leaf InMacErrorsRx in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInMacErrorsRx(v uint64) { - t.InMacErrorsRx = &v -} - -// SetInMacPauseFrames sets the value of the leaf InMacPauseFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInMacPauseFrames(v uint64) { - t.InMacPauseFrames = &v -} - -// SetInMaxsizeExceeded sets the value of the leaf InMaxsizeExceeded in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInMaxsizeExceeded(v uint64) { - t.InMaxsizeExceeded = &v -} - -// SetInOversizeFrames sets the value of the leaf InOversizeFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInOversizeFrames(v uint64) { - t.InOversizeFrames = &v -} - -// SetInSingleCollision sets the value of the leaf InSingleCollision in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInSingleCollision(v uint64) { - t.InSingleCollision = &v -} - -// SetInSymbolError sets the value of the leaf InSymbolError in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInSymbolError(v uint64) { - t.InSymbolError = &v -} - -// SetInUndersizeFrames sets the value of the leaf InUndersizeFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetInUndersizeFrames(v uint64) { - t.InUndersizeFrames = &v -} - -// SetOut_8021QFrames sets the value of the leaf Out_8021QFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetOut_8021QFrames(v uint64) { - t.Out_8021QFrames = &v -} - -// SetOutMacControlFrames sets the value of the leaf OutMacControlFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetOutMacControlFrames(v uint64) { - t.OutMacControlFrames = &v -} - -// SetOutMacErrorsTx sets the value of the leaf OutMacErrorsTx in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetOutMacErrorsTx(v uint64) { - t.OutMacErrorsTx = &v -} - -// SetOutMacPauseFrames sets the value of the leaf OutMacPauseFrames in the Interface_Ethernet_Counters -// struct. -func (t *Interface_Ethernet_Counters) SetOutMacPauseFrames(v uint64) { - t.OutMacPauseFrames = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Ethernet_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Ethernet_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Ethernet_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Ethernet_Counters) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Ethernet_Counters. -func (*Interface_Ethernet_Counters) ΛBelongingModule() string { - return "openconfig-if-ethernet" -} - -// Interface_Ethernet_SwitchedVlan represents the /openconfig-interfaces/interfaces/interface/ethernet/switched-vlan YANG schema element. -type Interface_Ethernet_SwitchedVlan struct { - AccessVlan *uint16 `path:"config/access-vlan" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/access-vlan" shadow-module:"openconfig-vlan/openconfig-vlan"` - InterfaceMode E_VlanTypes_VlanModeType `path:"config/interface-mode" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/interface-mode" shadow-module:"openconfig-vlan/openconfig-vlan"` - NativeVlan *uint16 `path:"config/native-vlan" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/native-vlan" shadow-module:"openconfig-vlan/openconfig-vlan"` - TrunkVlans []Interface_Ethernet_SwitchedVlan_TrunkVlans_Union `path:"config/trunk-vlans" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/trunk-vlans" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Ethernet_SwitchedVlan implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Ethernet_SwitchedVlan) IsYANGGoStruct() {} - -// GetAccessVlan retrieves the value of the leaf AccessVlan from the Interface_Ethernet_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AccessVlan is set, it can -// safely use t.GetAccessVlan() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AccessVlan == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_SwitchedVlan) GetAccessVlan() uint16 { - if t == nil || t.AccessVlan == nil { - return 0 - } - return *t.AccessVlan -} - -// GetInterfaceMode retrieves the value of the leaf InterfaceMode from the Interface_Ethernet_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InterfaceMode is set, it can -// safely use t.GetInterfaceMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InterfaceMode == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_SwitchedVlan) GetInterfaceMode() E_VlanTypes_VlanModeType { - if t == nil || t.InterfaceMode == 0 { - return 0 - } - return t.InterfaceMode -} - -// GetNativeVlan retrieves the value of the leaf NativeVlan from the Interface_Ethernet_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NativeVlan is set, it can -// safely use t.GetNativeVlan() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NativeVlan == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_SwitchedVlan) GetNativeVlan() uint16 { - if t == nil || t.NativeVlan == nil { - return 0 - } - return *t.NativeVlan -} - -// GetTrunkVlans retrieves the value of the leaf TrunkVlans from the Interface_Ethernet_SwitchedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrunkVlans is set, it can -// safely use t.GetTrunkVlans() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrunkVlans == nil' before retrieving the leaf's value. -func (t *Interface_Ethernet_SwitchedVlan) GetTrunkVlans() []Interface_Ethernet_SwitchedVlan_TrunkVlans_Union { - if t == nil || t.TrunkVlans == nil { - return nil - } - return t.TrunkVlans -} - -// SetAccessVlan sets the value of the leaf AccessVlan in the Interface_Ethernet_SwitchedVlan -// struct. -func (t *Interface_Ethernet_SwitchedVlan) SetAccessVlan(v uint16) { - t.AccessVlan = &v -} - -// SetInterfaceMode sets the value of the leaf InterfaceMode in the Interface_Ethernet_SwitchedVlan -// struct. -func (t *Interface_Ethernet_SwitchedVlan) SetInterfaceMode(v E_VlanTypes_VlanModeType) { - t.InterfaceMode = v -} - -// SetNativeVlan sets the value of the leaf NativeVlan in the Interface_Ethernet_SwitchedVlan -// struct. -func (t *Interface_Ethernet_SwitchedVlan) SetNativeVlan(v uint16) { - t.NativeVlan = &v -} - -// SetTrunkVlans sets the value of the leaf TrunkVlans in the Interface_Ethernet_SwitchedVlan -// struct. -func (t *Interface_Ethernet_SwitchedVlan) SetTrunkVlans(v []Interface_Ethernet_SwitchedVlan_TrunkVlans_Union) { - t.TrunkVlans = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Ethernet_SwitchedVlan -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Ethernet_SwitchedVlan) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet_SwitchedVlan) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Ethernet_SwitchedVlan"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Ethernet_SwitchedVlan) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Ethernet_SwitchedVlan) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Ethernet_SwitchedVlan. -func (*Interface_Ethernet_SwitchedVlan) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_HoldTime represents the /openconfig-interfaces/interfaces/interface/hold-time YANG schema element. -type Interface_HoldTime struct { - Down *uint32 `path:"config/down" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/down" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Up *uint32 `path:"config/up" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/up" shadow-module:"openconfig-interfaces/openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Interface_HoldTime implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_HoldTime) IsYANGGoStruct() {} - -// GetDown retrieves the value of the leaf Down from the Interface_HoldTime -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Down is set, it can -// safely use t.GetDown() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Down == nil' before retrieving the leaf's value. -func (t *Interface_HoldTime) GetDown() uint32 { - if t == nil || t.Down == nil { - return 0 - } - return *t.Down -} - -// GetUp retrieves the value of the leaf Up from the Interface_HoldTime -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Up is set, it can -// safely use t.GetUp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Up == nil' before retrieving the leaf's value. -func (t *Interface_HoldTime) GetUp() uint32 { - if t == nil || t.Up == nil { - return 0 - } - return *t.Up -} - -// SetDown sets the value of the leaf Down in the Interface_HoldTime -// struct. -func (t *Interface_HoldTime) SetDown(v uint32) { - t.Down = &v -} - -// SetUp sets the value of the leaf Up in the Interface_HoldTime -// struct. -func (t *Interface_HoldTime) SetUp(v uint32) { - t.Up = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_HoldTime -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_HoldTime) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Down == nil { - var v uint32 = 0 - t.Down = &v - } - if t.Up == nil { - var v uint32 = 0 - t.Up = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_HoldTime) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_HoldTime"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_HoldTime) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_HoldTime) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_HoldTime. -func (*Interface_HoldTime) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_PenaltyBasedAied represents the /openconfig-interfaces/interfaces/interface/penalty-based-aied YANG schema element. -type Interface_PenaltyBasedAied struct { - DecayHalfLife *uint32 `path:"config/decay-half-life" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/decay-half-life" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - FlapPenalty *uint32 `path:"config/flap-penalty" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/flap-penalty" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - MaxSuppressTime *uint32 `path:"config/max-suppress-time" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/max-suppress-time" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - ReuseThreshold *uint32 `path:"config/reuse-threshold" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/reuse-threshold" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - SuppressThreshold *uint32 `path:"config/suppress-threshold" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/suppress-threshold" shadow-module:"openconfig-interfaces/openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Interface_PenaltyBasedAied implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_PenaltyBasedAied) IsYANGGoStruct() {} - -// GetDecayHalfLife retrieves the value of the leaf DecayHalfLife from the Interface_PenaltyBasedAied -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DecayHalfLife is set, it can -// safely use t.GetDecayHalfLife() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DecayHalfLife == nil' before retrieving the leaf's value. -func (t *Interface_PenaltyBasedAied) GetDecayHalfLife() uint32 { - if t == nil || t.DecayHalfLife == nil { - return 0 - } - return *t.DecayHalfLife -} - -// GetFlapPenalty retrieves the value of the leaf FlapPenalty from the Interface_PenaltyBasedAied -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if FlapPenalty is set, it can -// safely use t.GetFlapPenalty() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.FlapPenalty == nil' before retrieving the leaf's value. -func (t *Interface_PenaltyBasedAied) GetFlapPenalty() uint32 { - if t == nil || t.FlapPenalty == nil { - return 0 - } - return *t.FlapPenalty -} - -// GetMaxSuppressTime retrieves the value of the leaf MaxSuppressTime from the Interface_PenaltyBasedAied -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if MaxSuppressTime is set, it can -// safely use t.GetMaxSuppressTime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.MaxSuppressTime == nil' before retrieving the leaf's value. -func (t *Interface_PenaltyBasedAied) GetMaxSuppressTime() uint32 { - if t == nil || t.MaxSuppressTime == nil { - return 0 - } - return *t.MaxSuppressTime -} - -// GetReuseThreshold retrieves the value of the leaf ReuseThreshold from the Interface_PenaltyBasedAied -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if ReuseThreshold is set, it can -// safely use t.GetReuseThreshold() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.ReuseThreshold == nil' before retrieving the leaf's value. -func (t *Interface_PenaltyBasedAied) GetReuseThreshold() uint32 { - if t == nil || t.ReuseThreshold == nil { - return 0 - } - return *t.ReuseThreshold -} - -// GetSuppressThreshold retrieves the value of the leaf SuppressThreshold from the Interface_PenaltyBasedAied -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if SuppressThreshold is set, it can -// safely use t.GetSuppressThreshold() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.SuppressThreshold == nil' before retrieving the leaf's value. -func (t *Interface_PenaltyBasedAied) GetSuppressThreshold() uint32 { - if t == nil || t.SuppressThreshold == nil { - return 0 - } - return *t.SuppressThreshold -} - -// SetDecayHalfLife sets the value of the leaf DecayHalfLife in the Interface_PenaltyBasedAied -// struct. -func (t *Interface_PenaltyBasedAied) SetDecayHalfLife(v uint32) { - t.DecayHalfLife = &v -} - -// SetFlapPenalty sets the value of the leaf FlapPenalty in the Interface_PenaltyBasedAied -// struct. -func (t *Interface_PenaltyBasedAied) SetFlapPenalty(v uint32) { - t.FlapPenalty = &v -} - -// SetMaxSuppressTime sets the value of the leaf MaxSuppressTime in the Interface_PenaltyBasedAied -// struct. -func (t *Interface_PenaltyBasedAied) SetMaxSuppressTime(v uint32) { - t.MaxSuppressTime = &v -} - -// SetReuseThreshold sets the value of the leaf ReuseThreshold in the Interface_PenaltyBasedAied -// struct. -func (t *Interface_PenaltyBasedAied) SetReuseThreshold(v uint32) { - t.ReuseThreshold = &v -} - -// SetSuppressThreshold sets the value of the leaf SuppressThreshold in the Interface_PenaltyBasedAied -// struct. -func (t *Interface_PenaltyBasedAied) SetSuppressThreshold(v uint32) { - t.SuppressThreshold = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_PenaltyBasedAied -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_PenaltyBasedAied) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.DecayHalfLife == nil { - var v uint32 = 0 - t.DecayHalfLife = &v - } - if t.FlapPenalty == nil { - var v uint32 = 0 - t.FlapPenalty = &v - } - if t.MaxSuppressTime == nil { - var v uint32 = 0 - t.MaxSuppressTime = &v - } - if t.ReuseThreshold == nil { - var v uint32 = 0 - t.ReuseThreshold = &v - } - if t.SuppressThreshold == nil { - var v uint32 = 0 - t.SuppressThreshold = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_PenaltyBasedAied) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_PenaltyBasedAied"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_PenaltyBasedAied) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_PenaltyBasedAied) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_PenaltyBasedAied. -func (*Interface_PenaltyBasedAied) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_RoutedVlan represents the /openconfig-interfaces/interfaces/interface/routed-vlan YANG schema element. -type Interface_RoutedVlan struct { - Ipv4 *Interface_RoutedVlan_Ipv4 `path:"ipv4" module:"openconfig-if-ip"` - Ipv6 *Interface_RoutedVlan_Ipv6 `path:"ipv6" module:"openconfig-if-ip"` - Vlan Interface_RoutedVlan_Vlan_Union `path:"config/vlan" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan) IsYANGGoStruct() {} - -// GetOrCreateIpv4 retrieves the value of the Ipv4 field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan) GetOrCreateIpv4() *Interface_RoutedVlan_Ipv4 { - if t.Ipv4 != nil { - return t.Ipv4 - } - t.Ipv4 = &Interface_RoutedVlan_Ipv4{} - return t.Ipv4 -} - -// GetOrCreateIpv6 retrieves the value of the Ipv6 field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan) GetOrCreateIpv6() *Interface_RoutedVlan_Ipv6 { - if t.Ipv6 != nil { - return t.Ipv6 - } - t.Ipv6 = &Interface_RoutedVlan_Ipv6{} - return t.Ipv6 -} - -// GetIpv4 returns the value of the Ipv4 struct pointer -// from Interface_RoutedVlan. If the receiver or the field Ipv4 is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan) GetIpv4() *Interface_RoutedVlan_Ipv4 { - if t != nil && t.Ipv4 != nil { - return t.Ipv4 - } - return nil -} - -// GetIpv6 returns the value of the Ipv6 struct pointer -// from Interface_RoutedVlan. If the receiver or the field Ipv6 is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan) GetIpv6() *Interface_RoutedVlan_Ipv6 { - if t != nil && t.Ipv6 != nil { - return t.Ipv6 - } - return nil -} - -// GetVlan retrieves the value of the leaf Vlan from the Interface_RoutedVlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Vlan is set, it can -// safely use t.GetVlan() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Vlan == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan) GetVlan() Interface_RoutedVlan_Vlan_Union { - if t == nil || t.Vlan == nil { - return nil - } - return t.Vlan -} - -// SetVlan sets the value of the leaf Vlan in the Interface_RoutedVlan -// struct. -func (t *Interface_RoutedVlan) SetVlan(v Interface_RoutedVlan_Vlan_Union) { - t.Vlan = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - t.Ipv4.PopulateDefaults() - t.Ipv6.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan. -func (*Interface_RoutedVlan) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_RoutedVlan_Ipv4 represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4 YANG schema element. -type Interface_RoutedVlan_Ipv4 struct { - Address map[string]*Interface_RoutedVlan_Ipv4_Address `path:"addresses/address" module:"openconfig-if-ip/openconfig-if-ip"` - Counters *Interface_RoutedVlan_Ipv4_Counters `path:"state/counters" module:"openconfig-if-ip/openconfig-if-ip"` - DhcpClient *bool `path:"config/dhcp-client" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dhcp-client" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - GratuitousArpAccepted *bool `path:"config/gratuitous-arp-accepted" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/gratuitous-arp-accepted" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mtu *uint16 `path:"config/mtu" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mtu" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Neighbor map[string]*Interface_RoutedVlan_Ipv4_Neighbor `path:"neighbors/neighbor" module:"openconfig-if-ip/openconfig-if-ip"` - ProxyArp *Interface_RoutedVlan_Ipv4_ProxyArp `path:"proxy-arp" module:"openconfig-if-ip"` - Unnumbered *Interface_RoutedVlan_Ipv4_Unnumbered `path:"unnumbered" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4 implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4) IsYANGGoStruct() {} - -// NewAddress creates a new entry in the Address list of the -// Interface_RoutedVlan_Ipv4 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv4) NewAddress(Ip string) (*Interface_RoutedVlan_Ipv4_Address, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv4_Address) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Address[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Address", key) - } - - t.Address[key] = &Interface_RoutedVlan_Ipv4_Address{ - Ip: &Ip, - } - - return t.Address[key], nil -} - -// RenameAddress renames an entry in the list Address within -// the Interface_RoutedVlan_Ipv4 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv4) RenameAddress(oldK, newK string) error { - if _, ok := t.Address[newK]; ok { - return fmt.Errorf("key %v already exists in Address", newK) - } - - e, ok := t.Address[oldK] - if !ok { - return fmt.Errorf("key %v not found in Address", oldK) - } - e.Ip = &newK - - t.Address[newK] = e - delete(t.Address, oldK) - return nil -} - -// GetOrCreateAddressMap returns the list (map) from Interface_RoutedVlan_Ipv4. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateAddressMap() map[string]*Interface_RoutedVlan_Ipv4_Address { - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv4_Address) - } - return t.Address -} - -// GetOrCreateAddress retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateAddress(Ip string) *Interface_RoutedVlan_Ipv4_Address { - - key := Ip - - if v, ok := t.Address[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewAddress(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateAddress got unexpected error: %v", err)) - } - return v -} - -// GetAddress retrieves the value with the specified key from -// the Address map field of Interface_RoutedVlan_Ipv4. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv4) GetAddress(Ip string) *Interface_RoutedVlan_Ipv4_Address { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Address[key]; ok { - return lm - } - return nil -} - -// DeleteAddress deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv4) DeleteAddress(Ip string) { - key := Ip - - delete(t.Address, key) -} - -// AppendAddress appends the supplied Interface_RoutedVlan_Ipv4_Address struct to the -// list Address of Interface_RoutedVlan_Ipv4. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv4_Address already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv4) AppendAddress(v *Interface_RoutedVlan_Ipv4_Address) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv4_Address) - } - - if _, ok := t.Address[key]; ok { - return fmt.Errorf("duplicate key for list Address %v", key) - } - - t.Address[key] = v - return nil -} - -// NewNeighbor creates a new entry in the Neighbor list of the -// Interface_RoutedVlan_Ipv4 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv4) NewNeighbor(Ip string) (*Interface_RoutedVlan_Ipv4_Neighbor, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv4_Neighbor) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Neighbor[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) - } - - t.Neighbor[key] = &Interface_RoutedVlan_Ipv4_Neighbor{ - Ip: &Ip, - } - - return t.Neighbor[key], nil -} - -// RenameNeighbor renames an entry in the list Neighbor within -// the Interface_RoutedVlan_Ipv4 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv4) RenameNeighbor(oldK, newK string) error { - if _, ok := t.Neighbor[newK]; ok { - return fmt.Errorf("key %v already exists in Neighbor", newK) - } - - e, ok := t.Neighbor[oldK] - if !ok { - return fmt.Errorf("key %v not found in Neighbor", oldK) - } - e.Ip = &newK - - t.Neighbor[newK] = e - delete(t.Neighbor, oldK) - return nil -} - -// GetOrCreateNeighborMap returns the list (map) from Interface_RoutedVlan_Ipv4. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateNeighborMap() map[string]*Interface_RoutedVlan_Ipv4_Neighbor { - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv4_Neighbor) - } - return t.Neighbor -} - -// GetOrCreateNeighbor retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateNeighbor(Ip string) *Interface_RoutedVlan_Ipv4_Neighbor { - - key := Ip - - if v, ok := t.Neighbor[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewNeighbor(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateNeighbor got unexpected error: %v", err)) - } - return v -} - -// GetNeighbor retrieves the value with the specified key from -// the Neighbor map field of Interface_RoutedVlan_Ipv4. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv4) GetNeighbor(Ip string) *Interface_RoutedVlan_Ipv4_Neighbor { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Neighbor[key]; ok { - return lm - } - return nil -} - -// DeleteNeighbor deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv4) DeleteNeighbor(Ip string) { - key := Ip - - delete(t.Neighbor, key) -} - -// AppendNeighbor appends the supplied Interface_RoutedVlan_Ipv4_Neighbor struct to the -// list Neighbor of Interface_RoutedVlan_Ipv4. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv4_Neighbor already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv4) AppendNeighbor(v *Interface_RoutedVlan_Ipv4_Neighbor) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv4_Neighbor) - } - - if _, ok := t.Neighbor[key]; ok { - return fmt.Errorf("duplicate key for list Neighbor %v", key) - } - - t.Neighbor[key] = v - return nil -} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateCounters() *Interface_RoutedVlan_Ipv4_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_RoutedVlan_Ipv4_Counters{} - return t.Counters -} - -// GetOrCreateProxyArp retrieves the value of the ProxyArp field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateProxyArp() *Interface_RoutedVlan_Ipv4_ProxyArp { - if t.ProxyArp != nil { - return t.ProxyArp - } - t.ProxyArp = &Interface_RoutedVlan_Ipv4_ProxyArp{} - return t.ProxyArp -} - -// GetOrCreateUnnumbered retrieves the value of the Unnumbered field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv4) GetOrCreateUnnumbered() *Interface_RoutedVlan_Ipv4_Unnumbered { - if t.Unnumbered != nil { - return t.Unnumbered - } - t.Unnumbered = &Interface_RoutedVlan_Ipv4_Unnumbered{} - return t.Unnumbered -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_RoutedVlan_Ipv4. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv4) GetCounters() *Interface_RoutedVlan_Ipv4_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetProxyArp returns the value of the ProxyArp struct pointer -// from Interface_RoutedVlan_Ipv4. If the receiver or the field ProxyArp is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv4) GetProxyArp() *Interface_RoutedVlan_Ipv4_ProxyArp { - if t != nil && t.ProxyArp != nil { - return t.ProxyArp - } - return nil -} - -// GetUnnumbered returns the value of the Unnumbered struct pointer -// from Interface_RoutedVlan_Ipv4. If the receiver or the field Unnumbered is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv4) GetUnnumbered() *Interface_RoutedVlan_Ipv4_Unnumbered { - if t != nil && t.Unnumbered != nil { - return t.Unnumbered - } - return nil -} - -// GetDhcpClient retrieves the value of the leaf DhcpClient from the Interface_RoutedVlan_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DhcpClient is set, it can -// safely use t.GetDhcpClient() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DhcpClient == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4) GetDhcpClient() bool { - if t == nil || t.DhcpClient == nil { - return false - } - return *t.DhcpClient -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_RoutedVlan_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetGratuitousArpAccepted retrieves the value of the leaf GratuitousArpAccepted from the Interface_RoutedVlan_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if GratuitousArpAccepted is set, it can -// safely use t.GetGratuitousArpAccepted() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.GratuitousArpAccepted == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4) GetGratuitousArpAccepted() bool { - if t == nil || t.GratuitousArpAccepted == nil { - return false - } - return *t.GratuitousArpAccepted -} - -// GetMtu retrieves the value of the leaf Mtu from the Interface_RoutedVlan_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mtu is set, it can -// safely use t.GetMtu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mtu == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4) GetMtu() uint16 { - if t == nil || t.Mtu == nil { - return 0 - } - return *t.Mtu -} - -// SetDhcpClient sets the value of the leaf DhcpClient in the Interface_RoutedVlan_Ipv4 -// struct. -func (t *Interface_RoutedVlan_Ipv4) SetDhcpClient(v bool) { - t.DhcpClient = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_RoutedVlan_Ipv4 -// struct. -func (t *Interface_RoutedVlan_Ipv4) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetGratuitousArpAccepted sets the value of the leaf GratuitousArpAccepted in the Interface_RoutedVlan_Ipv4 -// struct. -func (t *Interface_RoutedVlan_Ipv4) SetGratuitousArpAccepted(v bool) { - t.GratuitousArpAccepted = &v -} - -// SetMtu sets the value of the leaf Mtu in the Interface_RoutedVlan_Ipv4 -// struct. -func (t *Interface_RoutedVlan_Ipv4) SetMtu(v uint16) { - t.Mtu = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4 -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.DhcpClient == nil { - var v bool = false - t.DhcpClient = &v - } - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - t.Counters.PopulateDefaults() - t.ProxyArp.PopulateDefaults() - t.Unnumbered.PopulateDefaults() - for _, e := range t.Address { - e.PopulateDefaults() - } - for _, e := range t.Neighbor { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4. -func (*Interface_RoutedVlan_Ipv4) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Address represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/addresses/address YANG schema element. -type Interface_RoutedVlan_Ipv4_Address struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - Origin E_IfIp_IpAddressOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` - PrefixLength *uint8 `path:"config/prefix-length" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/prefix-length" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Type E_IfIp_Ipv4AddressType `path:"config/type" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/type" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VrrpGroup map[uint8]*Interface_RoutedVlan_Ipv4_Address_VrrpGroup `path:"vrrp/vrrp-group" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Address implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Address) IsYANGGoStruct() {} - -// NewVrrpGroup creates a new entry in the VrrpGroup list of the -// Interface_RoutedVlan_Ipv4_Address struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv4_Address) NewVrrpGroup(VirtualRouterId uint8) (*Interface_RoutedVlan_Ipv4_Address_VrrpGroup, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv4_Address_VrrpGroup) - } - - key := VirtualRouterId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.VrrpGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list VrrpGroup", key) - } - - t.VrrpGroup[key] = &Interface_RoutedVlan_Ipv4_Address_VrrpGroup{ - VirtualRouterId: &VirtualRouterId, - } - - return t.VrrpGroup[key], nil -} - -// RenameVrrpGroup renames an entry in the list VrrpGroup within -// the Interface_RoutedVlan_Ipv4_Address struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv4_Address) RenameVrrpGroup(oldK, newK uint8) error { - if _, ok := t.VrrpGroup[newK]; ok { - return fmt.Errorf("key %v already exists in VrrpGroup", newK) - } - - e, ok := t.VrrpGroup[oldK] - if !ok { - return fmt.Errorf("key %v not found in VrrpGroup", oldK) - } - e.VirtualRouterId = &newK - - t.VrrpGroup[newK] = e - delete(t.VrrpGroup, oldK) - return nil -} - -// GetOrCreateVrrpGroupMap returns the list (map) from Interface_RoutedVlan_Ipv4_Address. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv4_Address) GetOrCreateVrrpGroupMap() map[uint8]*Interface_RoutedVlan_Ipv4_Address_VrrpGroup { - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv4_Address_VrrpGroup) - } - return t.VrrpGroup -} - -// GetOrCreateVrrpGroup retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4_Address. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv4_Address) GetOrCreateVrrpGroup(VirtualRouterId uint8) *Interface_RoutedVlan_Ipv4_Address_VrrpGroup { - - key := VirtualRouterId - - if v, ok := t.VrrpGroup[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewVrrpGroup(VirtualRouterId) - if err != nil { - panic(fmt.Sprintf("GetOrCreateVrrpGroup got unexpected error: %v", err)) - } - return v -} - -// GetVrrpGroup retrieves the value with the specified key from -// the VrrpGroup map field of Interface_RoutedVlan_Ipv4_Address. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv4_Address) GetVrrpGroup(VirtualRouterId uint8) *Interface_RoutedVlan_Ipv4_Address_VrrpGroup { - - if t == nil { - return nil - } - - key := VirtualRouterId - - if lm, ok := t.VrrpGroup[key]; ok { - return lm - } - return nil -} - -// DeleteVrrpGroup deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv4_Address. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv4_Address) DeleteVrrpGroup(VirtualRouterId uint8) { - key := VirtualRouterId - - delete(t.VrrpGroup, key) -} - -// AppendVrrpGroup appends the supplied Interface_RoutedVlan_Ipv4_Address_VrrpGroup struct to the -// list VrrpGroup of Interface_RoutedVlan_Ipv4_Address. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv4_Address_VrrpGroup already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv4_Address) AppendVrrpGroup(v *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) error { - if v.VirtualRouterId == nil { - return fmt.Errorf("invalid nil key received for VirtualRouterId") - } - - key := *v.VirtualRouterId - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv4_Address_VrrpGroup) - } - - if _, ok := t.VrrpGroup[key]; ok { - return fmt.Errorf("duplicate key for list VrrpGroup %v", key) - } - - t.VrrpGroup[key] = v - return nil -} - -// GetIp retrieves the value of the leaf Ip from the Interface_RoutedVlan_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_RoutedVlan_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address) GetOrigin() E_IfIp_IpAddressOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// GetPrefixLength retrieves the value of the leaf PrefixLength from the Interface_RoutedVlan_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PrefixLength is set, it can -// safely use t.GetPrefixLength() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PrefixLength == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address) GetPrefixLength() uint8 { - if t == nil || t.PrefixLength == nil { - return 0 - } - return *t.PrefixLength -} - -// GetType retrieves the value of the leaf Type from the Interface_RoutedVlan_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Type is set, it can -// safely use t.GetType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Type == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address) GetType() E_IfIp_Ipv4AddressType { - if t == nil || t.Type == 0 { - return IfIp_Ipv4AddressType_PRIMARY - } - return t.Type -} - -// SetIp sets the value of the leaf Ip in the Interface_RoutedVlan_Ipv4_Address -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address) SetIp(v string) { - t.Ip = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_RoutedVlan_Ipv4_Address -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address) SetOrigin(v E_IfIp_IpAddressOrigin) { - t.Origin = v -} - -// SetPrefixLength sets the value of the leaf PrefixLength in the Interface_RoutedVlan_Ipv4_Address -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address) SetPrefixLength(v uint8) { - t.PrefixLength = &v -} - -// SetType sets the value of the leaf Type in the Interface_RoutedVlan_Ipv4_Address -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address) SetType(v E_IfIp_Ipv4AddressType) { - t.Type = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Address -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Address) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Type == 0 { - t.Type = IfIp_Ipv4AddressType_PRIMARY - } - for _, e := range t.VrrpGroup { - e.PopulateDefaults() - } -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv4_Address struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv4_Address) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Address"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Address) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Address. -func (*Interface_RoutedVlan_Ipv4_Address) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Address_VrrpGroup represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/addresses/address/vrrp/vrrp-group YANG schema element. -type Interface_RoutedVlan_Ipv4_Address_VrrpGroup struct { - AcceptMode *bool `path:"config/accept-mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/accept-mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - AdvertisementInterval *uint16 `path:"config/advertisement-interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/advertisement-interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - CurrentPriority *uint8 `path:"state/current-priority" module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceTracking *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking `path:"interface-tracking" module:"openconfig-if-ip"` - Preempt *bool `path:"config/preempt" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreemptDelay *uint16 `path:"config/preempt-delay" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt-delay" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Priority *uint8 `path:"config/priority" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualAddress []string `path:"config/virtual-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualRouterId *uint8 `path:"config/virtual-router-id|virtual-router-id" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/virtual-router-id|virtual-router-id" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Address_VrrpGroup implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Address_VrrpGroup) IsYANGGoStruct() {} - -// GetOrCreateInterfaceTracking retrieves the value of the InterfaceTracking field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetOrCreateInterfaceTracking() *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking { - if t.InterfaceTracking != nil { - return t.InterfaceTracking - } - t.InterfaceTracking = &Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking{} - return t.InterfaceTracking -} - -// GetInterfaceTracking returns the value of the InterfaceTracking struct pointer -// from Interface_RoutedVlan_Ipv4_Address_VrrpGroup. If the receiver or the field InterfaceTracking is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetInterfaceTracking() *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking { - if t != nil && t.InterfaceTracking != nil { - return t.InterfaceTracking - } - return nil -} - -// GetAcceptMode retrieves the value of the leaf AcceptMode from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AcceptMode is set, it can -// safely use t.GetAcceptMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AcceptMode == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetAcceptMode() bool { - if t == nil || t.AcceptMode == nil { - return false - } - return *t.AcceptMode -} - -// GetAdvertisementInterval retrieves the value of the leaf AdvertisementInterval from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdvertisementInterval is set, it can -// safely use t.GetAdvertisementInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdvertisementInterval == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetAdvertisementInterval() uint16 { - if t == nil || t.AdvertisementInterval == nil { - return 100 - } - return *t.AdvertisementInterval -} - -// GetCurrentPriority retrieves the value of the leaf CurrentPriority from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CurrentPriority is set, it can -// safely use t.GetCurrentPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CurrentPriority == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetCurrentPriority() uint8 { - if t == nil || t.CurrentPriority == nil { - return 0 - } - return *t.CurrentPriority -} - -// GetPreempt retrieves the value of the leaf Preempt from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Preempt is set, it can -// safely use t.GetPreempt() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Preempt == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetPreempt() bool { - if t == nil || t.Preempt == nil { - return true - } - return *t.Preempt -} - -// GetPreemptDelay retrieves the value of the leaf PreemptDelay from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreemptDelay is set, it can -// safely use t.GetPreemptDelay() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreemptDelay == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetPreemptDelay() uint16 { - if t == nil || t.PreemptDelay == nil { - return 0 - } - return *t.PreemptDelay -} - -// GetPriority retrieves the value of the leaf Priority from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Priority is set, it can -// safely use t.GetPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Priority == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetPriority() uint8 { - if t == nil || t.Priority == nil { - return 100 - } - return *t.Priority -} - -// GetVirtualAddress retrieves the value of the leaf VirtualAddress from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualAddress is set, it can -// safely use t.GetVirtualAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualAddress == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetVirtualAddress() []string { - if t == nil || t.VirtualAddress == nil { - return nil - } - return t.VirtualAddress -} - -// GetVirtualRouterId retrieves the value of the leaf VirtualRouterId from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualRouterId is set, it can -// safely use t.GetVirtualRouterId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualRouterId == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) GetVirtualRouterId() uint8 { - if t == nil || t.VirtualRouterId == nil { - return 0 - } - return *t.VirtualRouterId -} - -// SetAcceptMode sets the value of the leaf AcceptMode in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetAcceptMode(v bool) { - t.AcceptMode = &v -} - -// SetAdvertisementInterval sets the value of the leaf AdvertisementInterval in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetAdvertisementInterval(v uint16) { - t.AdvertisementInterval = &v -} - -// SetCurrentPriority sets the value of the leaf CurrentPriority in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetCurrentPriority(v uint8) { - t.CurrentPriority = &v -} - -// SetPreempt sets the value of the leaf Preempt in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetPreempt(v bool) { - t.Preempt = &v -} - -// SetPreemptDelay sets the value of the leaf PreemptDelay in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetPreemptDelay(v uint16) { - t.PreemptDelay = &v -} - -// SetPriority sets the value of the leaf Priority in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetPriority(v uint8) { - t.Priority = &v -} - -// SetVirtualAddress sets the value of the leaf VirtualAddress in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetVirtualAddress(v []string) { - t.VirtualAddress = v -} - -// SetVirtualRouterId sets the value of the leaf VirtualRouterId in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) SetVirtualRouterId(v uint8) { - t.VirtualRouterId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.AcceptMode == nil { - var v bool = false - t.AcceptMode = &v - } - if t.AdvertisementInterval == nil { - var v uint16 = 100 - t.AdvertisementInterval = &v - } - if t.Preempt == nil { - var v bool = true - t.Preempt = &v - } - if t.PreemptDelay == nil { - var v uint16 = 0 - t.PreemptDelay = &v - } - if t.Priority == nil { - var v uint8 = 100 - t.Priority = &v - } - t.InterfaceTracking.PopulateDefaults() -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv4_Address_VrrpGroup struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.VirtualRouterId == nil { - return nil, fmt.Errorf("nil value for key VirtualRouterId") - } - - return map[string]interface{}{ - "virtual-router-id": *t.VirtualRouterId, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Address_VrrpGroup"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Address_VrrpGroup. -func (*Interface_RoutedVlan_Ipv4_Address_VrrpGroup) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/addresses/address/vrrp/vrrp-group/interface-tracking YANG schema element. -type Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking struct { - PriorityDecrement *uint8 `path:"config/priority-decrement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority-decrement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - TrackInterface []string `path:"config/track-interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/track-interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) IsYANGGoStruct() {} - -// GetPriorityDecrement retrieves the value of the leaf PriorityDecrement from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PriorityDecrement is set, it can -// safely use t.GetPriorityDecrement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PriorityDecrement == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) GetPriorityDecrement() uint8 { - if t == nil || t.PriorityDecrement == nil { - return 0 - } - return *t.PriorityDecrement -} - -// GetTrackInterface retrieves the value of the leaf TrackInterface from the Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrackInterface is set, it can -// safely use t.GetTrackInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrackInterface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) GetTrackInterface() []string { - if t == nil || t.TrackInterface == nil { - return nil - } - return t.TrackInterface -} - -// SetPriorityDecrement sets the value of the leaf PriorityDecrement in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) SetPriorityDecrement(v uint8) { - t.PriorityDecrement = &v -} - -// SetTrackInterface sets the value of the leaf TrackInterface in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) SetTrackInterface(v []string) { - t.TrackInterface = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.PriorityDecrement == nil { - var v uint8 = 0 - t.PriorityDecrement = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking. -func (*Interface_RoutedVlan_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Counters represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/state/counters YANG schema element. -type Interface_RoutedVlan_Ipv4_Counters struct { - InDiscardedPkts *uint64 `path:"in-discarded-pkts" module:"openconfig-if-ip"` - InErrorPkts *uint64 `path:"in-error-pkts" module:"openconfig-if-ip"` - InForwardedOctets *uint64 `path:"in-forwarded-octets" module:"openconfig-if-ip"` - InForwardedPkts *uint64 `path:"in-forwarded-pkts" module:"openconfig-if-ip"` - InMulticastOctets *uint64 `path:"in-multicast-octets" module:"openconfig-if-ip"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-if-ip"` - InOctets *uint64 `path:"in-octets" module:"openconfig-if-ip"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-if-ip"` - OutDiscardedPkts *uint64 `path:"out-discarded-pkts" module:"openconfig-if-ip"` - OutErrorPkts *uint64 `path:"out-error-pkts" module:"openconfig-if-ip"` - OutForwardedOctets *uint64 `path:"out-forwarded-octets" module:"openconfig-if-ip"` - OutForwardedPkts *uint64 `path:"out-forwarded-pkts" module:"openconfig-if-ip"` - OutMulticastOctets *uint64 `path:"out-multicast-octets" module:"openconfig-if-ip"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-if-ip"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-if-ip"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Counters) IsYANGGoStruct() {} - -// GetInDiscardedPkts retrieves the value of the leaf InDiscardedPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscardedPkts is set, it can -// safely use t.GetInDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInDiscardedPkts() uint64 { - if t == nil || t.InDiscardedPkts == nil { - return 0 - } - return *t.InDiscardedPkts -} - -// GetInErrorPkts retrieves the value of the leaf InErrorPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrorPkts is set, it can -// safely use t.GetInErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInErrorPkts() uint64 { - if t == nil || t.InErrorPkts == nil { - return 0 - } - return *t.InErrorPkts -} - -// GetInForwardedOctets retrieves the value of the leaf InForwardedOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedOctets is set, it can -// safely use t.GetInForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInForwardedOctets() uint64 { - if t == nil || t.InForwardedOctets == nil { - return 0 - } - return *t.InForwardedOctets -} - -// GetInForwardedPkts retrieves the value of the leaf InForwardedPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedPkts is set, it can -// safely use t.GetInForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInForwardedPkts() uint64 { - if t == nil || t.InForwardedPkts == nil { - return 0 - } - return *t.InForwardedPkts -} - -// GetInMulticastOctets retrieves the value of the leaf InMulticastOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastOctets is set, it can -// safely use t.GetInMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInMulticastOctets() uint64 { - if t == nil || t.InMulticastOctets == nil { - return 0 - } - return *t.InMulticastOctets -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetOutDiscardedPkts retrieves the value of the leaf OutDiscardedPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscardedPkts is set, it can -// safely use t.GetOutDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutDiscardedPkts() uint64 { - if t == nil || t.OutDiscardedPkts == nil { - return 0 - } - return *t.OutDiscardedPkts -} - -// GetOutErrorPkts retrieves the value of the leaf OutErrorPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrorPkts is set, it can -// safely use t.GetOutErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutErrorPkts() uint64 { - if t == nil || t.OutErrorPkts == nil { - return 0 - } - return *t.OutErrorPkts -} - -// GetOutForwardedOctets retrieves the value of the leaf OutForwardedOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedOctets is set, it can -// safely use t.GetOutForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutForwardedOctets() uint64 { - if t == nil || t.OutForwardedOctets == nil { - return 0 - } - return *t.OutForwardedOctets -} - -// GetOutForwardedPkts retrieves the value of the leaf OutForwardedPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedPkts is set, it can -// safely use t.GetOutForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutForwardedPkts() uint64 { - if t == nil || t.OutForwardedPkts == nil { - return 0 - } - return *t.OutForwardedPkts -} - -// GetOutMulticastOctets retrieves the value of the leaf OutMulticastOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastOctets is set, it can -// safely use t.GetOutMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutMulticastOctets() uint64 { - if t == nil || t.OutMulticastOctets == nil { - return 0 - } - return *t.OutMulticastOctets -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_RoutedVlan_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// SetInDiscardedPkts sets the value of the leaf InDiscardedPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInDiscardedPkts(v uint64) { - t.InDiscardedPkts = &v -} - -// SetInErrorPkts sets the value of the leaf InErrorPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInErrorPkts(v uint64) { - t.InErrorPkts = &v -} - -// SetInForwardedOctets sets the value of the leaf InForwardedOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInForwardedOctets(v uint64) { - t.InForwardedOctets = &v -} - -// SetInForwardedPkts sets the value of the leaf InForwardedPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInForwardedPkts(v uint64) { - t.InForwardedPkts = &v -} - -// SetInMulticastOctets sets the value of the leaf InMulticastOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInMulticastOctets(v uint64) { - t.InMulticastOctets = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetOutDiscardedPkts sets the value of the leaf OutDiscardedPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutDiscardedPkts(v uint64) { - t.OutDiscardedPkts = &v -} - -// SetOutErrorPkts sets the value of the leaf OutErrorPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutErrorPkts(v uint64) { - t.OutErrorPkts = &v -} - -// SetOutForwardedOctets sets the value of the leaf OutForwardedOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutForwardedOctets(v uint64) { - t.OutForwardedOctets = &v -} - -// SetOutForwardedPkts sets the value of the leaf OutForwardedPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutForwardedPkts(v uint64) { - t.OutForwardedPkts = &v -} - -// SetOutMulticastOctets sets the value of the leaf OutMulticastOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutMulticastOctets(v uint64) { - t.OutMulticastOctets = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_RoutedVlan_Ipv4_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv4_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Counters) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Counters. -func (*Interface_RoutedVlan_Ipv4_Counters) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Neighbor represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/neighbors/neighbor YANG schema element. -type Interface_RoutedVlan_Ipv4_Neighbor struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - LinkLayerAddress *string `path:"config/link-layer-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/link-layer-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Origin E_IfIp_NeighborOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Neighbor implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Neighbor) IsYANGGoStruct() {} - -// GetIp retrieves the value of the leaf Ip from the Interface_RoutedVlan_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetLinkLayerAddress retrieves the value of the leaf LinkLayerAddress from the Interface_RoutedVlan_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LinkLayerAddress is set, it can -// safely use t.GetLinkLayerAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LinkLayerAddress == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) GetLinkLayerAddress() string { - if t == nil || t.LinkLayerAddress == nil { - return "" - } - return *t.LinkLayerAddress -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_RoutedVlan_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) GetOrigin() E_IfIp_NeighborOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// SetIp sets the value of the leaf Ip in the Interface_RoutedVlan_Ipv4_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) SetIp(v string) { - t.Ip = &v -} - -// SetLinkLayerAddress sets the value of the leaf LinkLayerAddress in the Interface_RoutedVlan_Ipv4_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) SetLinkLayerAddress(v string) { - t.LinkLayerAddress = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_RoutedVlan_Ipv4_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) SetOrigin(v E_IfIp_NeighborOrigin) { - t.Origin = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Neighbor -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv4_Neighbor struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Neighbor"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Neighbor. -func (*Interface_RoutedVlan_Ipv4_Neighbor) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_ProxyArp represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/proxy-arp YANG schema element. -type Interface_RoutedVlan_Ipv4_ProxyArp struct { - Mode E_ProxyArp_Mode `path:"config/mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_ProxyArp implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_ProxyArp) IsYANGGoStruct() {} - -// GetMode retrieves the value of the leaf Mode from the Interface_RoutedVlan_Ipv4_ProxyArp -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mode is set, it can -// safely use t.GetMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mode == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) GetMode() E_ProxyArp_Mode { - if t == nil || t.Mode == 0 { - return ProxyArp_Mode_DISABLE - } - return t.Mode -} - -// SetMode sets the value of the leaf Mode in the Interface_RoutedVlan_Ipv4_ProxyArp -// struct. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) SetMode(v E_ProxyArp_Mode) { - t.Mode = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_ProxyArp -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Mode == 0 { - t.Mode = ProxyArp_Mode_DISABLE - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_ProxyArp"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_ProxyArp) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_ProxyArp. -func (*Interface_RoutedVlan_Ipv4_ProxyArp) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Unnumbered represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/unnumbered YANG schema element. -type Interface_RoutedVlan_Ipv4_Unnumbered struct { - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceRef *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef `path:"interface-ref" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Unnumbered implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Unnumbered) IsYANGGoStruct() {} - -// GetOrCreateInterfaceRef retrieves the value of the InterfaceRef field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) GetOrCreateInterfaceRef() *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef { - if t.InterfaceRef != nil { - return t.InterfaceRef - } - t.InterfaceRef = &Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef{} - return t.InterfaceRef -} - -// GetInterfaceRef returns the value of the InterfaceRef struct pointer -// from Interface_RoutedVlan_Ipv4_Unnumbered. If the receiver or the field InterfaceRef is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) GetInterfaceRef() *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef { - if t != nil && t.InterfaceRef != nil { - return t.InterfaceRef - } - return nil -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_RoutedVlan_Ipv4_Unnumbered -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return false - } - return *t.Enabled -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_RoutedVlan_Ipv4_Unnumbered -// struct. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) SetEnabled(v bool) { - t.Enabled = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Unnumbered -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = false - t.Enabled = &v - } - t.InterfaceRef.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Unnumbered"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Unnumbered. -func (*Interface_RoutedVlan_Ipv4_Unnumbered) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv4/unnumbered/interface-ref YANG schema element. -type Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef struct { - Interface *string `path:"config/interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Subinterface *uint32 `path:"config/subinterface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/subinterface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) IsYANGGoStruct() {} - -// GetInterface retrieves the value of the leaf Interface from the Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interface is set, it can -// safely use t.GetInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) GetInterface() string { - if t == nil || t.Interface == nil { - return "" - } - return *t.Interface -} - -// GetSubinterface retrieves the value of the leaf Subinterface from the Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Subinterface is set, it can -// safely use t.GetSubinterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Subinterface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) GetSubinterface() uint32 { - if t == nil || t.Subinterface == nil { - return 0 - } - return *t.Subinterface -} - -// SetInterface sets the value of the leaf Interface in the Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef -// struct. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) SetInterface(v string) { - t.Interface = &v -} - -// SetSubinterface sets the value of the leaf Subinterface in the Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef -// struct. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) SetSubinterface(v uint32) { - t.Subinterface = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef. -func (*Interface_RoutedVlan_Ipv4_Unnumbered_InterfaceRef) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6 represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6 YANG schema element. -type Interface_RoutedVlan_Ipv6 struct { - Address map[string]*Interface_RoutedVlan_Ipv6_Address `path:"addresses/address" module:"openconfig-if-ip/openconfig-if-ip"` - Counters *Interface_RoutedVlan_Ipv6_Counters `path:"state/counters" module:"openconfig-if-ip/openconfig-if-ip"` - DhcpClient *bool `path:"config/dhcp-client" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dhcp-client" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - DupAddrDetectTransmits *uint32 `path:"config/dup-addr-detect-transmits" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dup-addr-detect-transmits" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - LearnUnsolicited E_Ipv6_LearnUnsolicited `path:"config/learn-unsolicited" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/learn-unsolicited" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mtu *uint32 `path:"config/mtu" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mtu" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Neighbor map[string]*Interface_RoutedVlan_Ipv6_Neighbor `path:"neighbors/neighbor" module:"openconfig-if-ip/openconfig-if-ip"` - RouterAdvertisement *Interface_RoutedVlan_Ipv6_RouterAdvertisement `path:"router-advertisement" module:"openconfig-if-ip"` - Unnumbered *Interface_RoutedVlan_Ipv6_Unnumbered `path:"unnumbered" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6 implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6) IsYANGGoStruct() {} - -// NewAddress creates a new entry in the Address list of the -// Interface_RoutedVlan_Ipv6 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv6) NewAddress(Ip string) (*Interface_RoutedVlan_Ipv6_Address, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv6_Address) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Address[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Address", key) - } - - t.Address[key] = &Interface_RoutedVlan_Ipv6_Address{ - Ip: &Ip, - } - - return t.Address[key], nil -} - -// RenameAddress renames an entry in the list Address within -// the Interface_RoutedVlan_Ipv6 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv6) RenameAddress(oldK, newK string) error { - if _, ok := t.Address[newK]; ok { - return fmt.Errorf("key %v already exists in Address", newK) - } - - e, ok := t.Address[oldK] - if !ok { - return fmt.Errorf("key %v not found in Address", oldK) - } - e.Ip = &newK - - t.Address[newK] = e - delete(t.Address, oldK) - return nil -} - -// GetOrCreateAddressMap returns the list (map) from Interface_RoutedVlan_Ipv6. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateAddressMap() map[string]*Interface_RoutedVlan_Ipv6_Address { - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv6_Address) - } - return t.Address -} - -// GetOrCreateAddress retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateAddress(Ip string) *Interface_RoutedVlan_Ipv6_Address { - - key := Ip - - if v, ok := t.Address[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewAddress(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateAddress got unexpected error: %v", err)) - } - return v -} - -// GetAddress retrieves the value with the specified key from -// the Address map field of Interface_RoutedVlan_Ipv6. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv6) GetAddress(Ip string) *Interface_RoutedVlan_Ipv6_Address { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Address[key]; ok { - return lm - } - return nil -} - -// DeleteAddress deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv6) DeleteAddress(Ip string) { - key := Ip - - delete(t.Address, key) -} - -// AppendAddress appends the supplied Interface_RoutedVlan_Ipv6_Address struct to the -// list Address of Interface_RoutedVlan_Ipv6. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv6_Address already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv6) AppendAddress(v *Interface_RoutedVlan_Ipv6_Address) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_RoutedVlan_Ipv6_Address) - } - - if _, ok := t.Address[key]; ok { - return fmt.Errorf("duplicate key for list Address %v", key) - } - - t.Address[key] = v - return nil -} - -// NewNeighbor creates a new entry in the Neighbor list of the -// Interface_RoutedVlan_Ipv6 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv6) NewNeighbor(Ip string) (*Interface_RoutedVlan_Ipv6_Neighbor, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv6_Neighbor) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Neighbor[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) - } - - t.Neighbor[key] = &Interface_RoutedVlan_Ipv6_Neighbor{ - Ip: &Ip, - } - - return t.Neighbor[key], nil -} - -// RenameNeighbor renames an entry in the list Neighbor within -// the Interface_RoutedVlan_Ipv6 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv6) RenameNeighbor(oldK, newK string) error { - if _, ok := t.Neighbor[newK]; ok { - return fmt.Errorf("key %v already exists in Neighbor", newK) - } - - e, ok := t.Neighbor[oldK] - if !ok { - return fmt.Errorf("key %v not found in Neighbor", oldK) - } - e.Ip = &newK - - t.Neighbor[newK] = e - delete(t.Neighbor, oldK) - return nil -} - -// GetOrCreateNeighborMap returns the list (map) from Interface_RoutedVlan_Ipv6. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateNeighborMap() map[string]*Interface_RoutedVlan_Ipv6_Neighbor { - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv6_Neighbor) - } - return t.Neighbor -} - -// GetOrCreateNeighbor retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateNeighbor(Ip string) *Interface_RoutedVlan_Ipv6_Neighbor { - - key := Ip - - if v, ok := t.Neighbor[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewNeighbor(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateNeighbor got unexpected error: %v", err)) - } - return v -} - -// GetNeighbor retrieves the value with the specified key from -// the Neighbor map field of Interface_RoutedVlan_Ipv6. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv6) GetNeighbor(Ip string) *Interface_RoutedVlan_Ipv6_Neighbor { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Neighbor[key]; ok { - return lm - } - return nil -} - -// DeleteNeighbor deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv6) DeleteNeighbor(Ip string) { - key := Ip - - delete(t.Neighbor, key) -} - -// AppendNeighbor appends the supplied Interface_RoutedVlan_Ipv6_Neighbor struct to the -// list Neighbor of Interface_RoutedVlan_Ipv6. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv6_Neighbor already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv6) AppendNeighbor(v *Interface_RoutedVlan_Ipv6_Neighbor) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_RoutedVlan_Ipv6_Neighbor) - } - - if _, ok := t.Neighbor[key]; ok { - return fmt.Errorf("duplicate key for list Neighbor %v", key) - } - - t.Neighbor[key] = v - return nil -} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateCounters() *Interface_RoutedVlan_Ipv6_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_RoutedVlan_Ipv6_Counters{} - return t.Counters -} - -// GetOrCreateRouterAdvertisement retrieves the value of the RouterAdvertisement field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateRouterAdvertisement() *Interface_RoutedVlan_Ipv6_RouterAdvertisement { - if t.RouterAdvertisement != nil { - return t.RouterAdvertisement - } - t.RouterAdvertisement = &Interface_RoutedVlan_Ipv6_RouterAdvertisement{} - return t.RouterAdvertisement -} - -// GetOrCreateUnnumbered retrieves the value of the Unnumbered field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv6) GetOrCreateUnnumbered() *Interface_RoutedVlan_Ipv6_Unnumbered { - if t.Unnumbered != nil { - return t.Unnumbered - } - t.Unnumbered = &Interface_RoutedVlan_Ipv6_Unnumbered{} - return t.Unnumbered -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_RoutedVlan_Ipv6. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv6) GetCounters() *Interface_RoutedVlan_Ipv6_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetRouterAdvertisement returns the value of the RouterAdvertisement struct pointer -// from Interface_RoutedVlan_Ipv6. If the receiver or the field RouterAdvertisement is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv6) GetRouterAdvertisement() *Interface_RoutedVlan_Ipv6_RouterAdvertisement { - if t != nil && t.RouterAdvertisement != nil { - return t.RouterAdvertisement - } - return nil -} - -// GetUnnumbered returns the value of the Unnumbered struct pointer -// from Interface_RoutedVlan_Ipv6. If the receiver or the field Unnumbered is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv6) GetUnnumbered() *Interface_RoutedVlan_Ipv6_Unnumbered { - if t != nil && t.Unnumbered != nil { - return t.Unnumbered - } - return nil -} - -// GetDhcpClient retrieves the value of the leaf DhcpClient from the Interface_RoutedVlan_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DhcpClient is set, it can -// safely use t.GetDhcpClient() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DhcpClient == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6) GetDhcpClient() bool { - if t == nil || t.DhcpClient == nil { - return false - } - return *t.DhcpClient -} - -// GetDupAddrDetectTransmits retrieves the value of the leaf DupAddrDetectTransmits from the Interface_RoutedVlan_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DupAddrDetectTransmits is set, it can -// safely use t.GetDupAddrDetectTransmits() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DupAddrDetectTransmits == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6) GetDupAddrDetectTransmits() uint32 { - if t == nil || t.DupAddrDetectTransmits == nil { - return 1 - } - return *t.DupAddrDetectTransmits -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_RoutedVlan_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetLearnUnsolicited retrieves the value of the leaf LearnUnsolicited from the Interface_RoutedVlan_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LearnUnsolicited is set, it can -// safely use t.GetLearnUnsolicited() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LearnUnsolicited == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6) GetLearnUnsolicited() E_Ipv6_LearnUnsolicited { - if t == nil || t.LearnUnsolicited == 0 { - return Ipv6_LearnUnsolicited_NONE - } - return t.LearnUnsolicited -} - -// GetMtu retrieves the value of the leaf Mtu from the Interface_RoutedVlan_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mtu is set, it can -// safely use t.GetMtu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mtu == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6) GetMtu() uint32 { - if t == nil || t.Mtu == nil { - return 0 - } - return *t.Mtu -} - -// SetDhcpClient sets the value of the leaf DhcpClient in the Interface_RoutedVlan_Ipv6 -// struct. -func (t *Interface_RoutedVlan_Ipv6) SetDhcpClient(v bool) { - t.DhcpClient = &v -} - -// SetDupAddrDetectTransmits sets the value of the leaf DupAddrDetectTransmits in the Interface_RoutedVlan_Ipv6 -// struct. -func (t *Interface_RoutedVlan_Ipv6) SetDupAddrDetectTransmits(v uint32) { - t.DupAddrDetectTransmits = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_RoutedVlan_Ipv6 -// struct. -func (t *Interface_RoutedVlan_Ipv6) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetLearnUnsolicited sets the value of the leaf LearnUnsolicited in the Interface_RoutedVlan_Ipv6 -// struct. -func (t *Interface_RoutedVlan_Ipv6) SetLearnUnsolicited(v E_Ipv6_LearnUnsolicited) { - t.LearnUnsolicited = v -} - -// SetMtu sets the value of the leaf Mtu in the Interface_RoutedVlan_Ipv6 -// struct. -func (t *Interface_RoutedVlan_Ipv6) SetMtu(v uint32) { - t.Mtu = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6 -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.DhcpClient == nil { - var v bool = false - t.DhcpClient = &v - } - if t.DupAddrDetectTransmits == nil { - var v uint32 = 1 - t.DupAddrDetectTransmits = &v - } - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - if t.LearnUnsolicited == 0 { - t.LearnUnsolicited = Ipv6_LearnUnsolicited_NONE - } - t.Counters.PopulateDefaults() - t.RouterAdvertisement.PopulateDefaults() - t.Unnumbered.PopulateDefaults() - for _, e := range t.Address { - e.PopulateDefaults() - } - for _, e := range t.Neighbor { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6. -func (*Interface_RoutedVlan_Ipv6) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Address represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/addresses/address YANG schema element. -type Interface_RoutedVlan_Ipv6_Address struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - Origin E_IfIp_IpAddressOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` - PrefixLength *uint8 `path:"config/prefix-length" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/prefix-length" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Status E_Address_Status `path:"state/status" module:"openconfig-if-ip/openconfig-if-ip"` - Type E_InetTypes_Ipv6AddressType `path:"config/type" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/type" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VrrpGroup map[uint8]*Interface_RoutedVlan_Ipv6_Address_VrrpGroup `path:"vrrp/vrrp-group" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Address implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Address) IsYANGGoStruct() {} - -// NewVrrpGroup creates a new entry in the VrrpGroup list of the -// Interface_RoutedVlan_Ipv6_Address struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv6_Address) NewVrrpGroup(VirtualRouterId uint8) (*Interface_RoutedVlan_Ipv6_Address_VrrpGroup, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv6_Address_VrrpGroup) - } - - key := VirtualRouterId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.VrrpGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list VrrpGroup", key) - } - - t.VrrpGroup[key] = &Interface_RoutedVlan_Ipv6_Address_VrrpGroup{ - VirtualRouterId: &VirtualRouterId, - } - - return t.VrrpGroup[key], nil -} - -// RenameVrrpGroup renames an entry in the list VrrpGroup within -// the Interface_RoutedVlan_Ipv6_Address struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv6_Address) RenameVrrpGroup(oldK, newK uint8) error { - if _, ok := t.VrrpGroup[newK]; ok { - return fmt.Errorf("key %v already exists in VrrpGroup", newK) - } - - e, ok := t.VrrpGroup[oldK] - if !ok { - return fmt.Errorf("key %v not found in VrrpGroup", oldK) - } - e.VirtualRouterId = &newK - - t.VrrpGroup[newK] = e - delete(t.VrrpGroup, oldK) - return nil -} - -// GetOrCreateVrrpGroupMap returns the list (map) from Interface_RoutedVlan_Ipv6_Address. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv6_Address) GetOrCreateVrrpGroupMap() map[uint8]*Interface_RoutedVlan_Ipv6_Address_VrrpGroup { - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv6_Address_VrrpGroup) - } - return t.VrrpGroup -} - -// GetOrCreateVrrpGroup retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6_Address. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv6_Address) GetOrCreateVrrpGroup(VirtualRouterId uint8) *Interface_RoutedVlan_Ipv6_Address_VrrpGroup { - - key := VirtualRouterId - - if v, ok := t.VrrpGroup[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewVrrpGroup(VirtualRouterId) - if err != nil { - panic(fmt.Sprintf("GetOrCreateVrrpGroup got unexpected error: %v", err)) - } - return v -} - -// GetVrrpGroup retrieves the value with the specified key from -// the VrrpGroup map field of Interface_RoutedVlan_Ipv6_Address. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv6_Address) GetVrrpGroup(VirtualRouterId uint8) *Interface_RoutedVlan_Ipv6_Address_VrrpGroup { - - if t == nil { - return nil - } - - key := VirtualRouterId - - if lm, ok := t.VrrpGroup[key]; ok { - return lm - } - return nil -} - -// DeleteVrrpGroup deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6_Address. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv6_Address) DeleteVrrpGroup(VirtualRouterId uint8) { - key := VirtualRouterId - - delete(t.VrrpGroup, key) -} - -// AppendVrrpGroup appends the supplied Interface_RoutedVlan_Ipv6_Address_VrrpGroup struct to the -// list VrrpGroup of Interface_RoutedVlan_Ipv6_Address. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv6_Address_VrrpGroup already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv6_Address) AppendVrrpGroup(v *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) error { - if v.VirtualRouterId == nil { - return fmt.Errorf("invalid nil key received for VirtualRouterId") - } - - key := *v.VirtualRouterId - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_RoutedVlan_Ipv6_Address_VrrpGroup) - } - - if _, ok := t.VrrpGroup[key]; ok { - return fmt.Errorf("duplicate key for list VrrpGroup %v", key) - } - - t.VrrpGroup[key] = v - return nil -} - -// GetIp retrieves the value of the leaf Ip from the Interface_RoutedVlan_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_RoutedVlan_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address) GetOrigin() E_IfIp_IpAddressOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// GetPrefixLength retrieves the value of the leaf PrefixLength from the Interface_RoutedVlan_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PrefixLength is set, it can -// safely use t.GetPrefixLength() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PrefixLength == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address) GetPrefixLength() uint8 { - if t == nil || t.PrefixLength == nil { - return 0 - } - return *t.PrefixLength -} - -// GetStatus retrieves the value of the leaf Status from the Interface_RoutedVlan_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Status is set, it can -// safely use t.GetStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Status == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address) GetStatus() E_Address_Status { - if t == nil || t.Status == 0 { - return 0 - } - return t.Status -} - -// GetType retrieves the value of the leaf Type from the Interface_RoutedVlan_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Type is set, it can -// safely use t.GetType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Type == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address) GetType() E_InetTypes_Ipv6AddressType { - if t == nil || t.Type == 0 { - return InetTypes_Ipv6AddressType_GLOBAL_UNICAST - } - return t.Type -} - -// SetIp sets the value of the leaf Ip in the Interface_RoutedVlan_Ipv6_Address -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address) SetIp(v string) { - t.Ip = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_RoutedVlan_Ipv6_Address -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address) SetOrigin(v E_IfIp_IpAddressOrigin) { - t.Origin = v -} - -// SetPrefixLength sets the value of the leaf PrefixLength in the Interface_RoutedVlan_Ipv6_Address -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address) SetPrefixLength(v uint8) { - t.PrefixLength = &v -} - -// SetStatus sets the value of the leaf Status in the Interface_RoutedVlan_Ipv6_Address -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address) SetStatus(v E_Address_Status) { - t.Status = v -} - -// SetType sets the value of the leaf Type in the Interface_RoutedVlan_Ipv6_Address -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address) SetType(v E_InetTypes_Ipv6AddressType) { - t.Type = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Address -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Address) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Type == 0 { - t.Type = InetTypes_Ipv6AddressType_GLOBAL_UNICAST - } - for _, e := range t.VrrpGroup { - e.PopulateDefaults() - } -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv6_Address struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv6_Address) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Address"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Address) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Address. -func (*Interface_RoutedVlan_Ipv6_Address) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Address_VrrpGroup represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/addresses/address/vrrp/vrrp-group YANG schema element. -type Interface_RoutedVlan_Ipv6_Address_VrrpGroup struct { - AcceptMode *bool `path:"config/accept-mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/accept-mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - AdvertisementInterval *uint16 `path:"config/advertisement-interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/advertisement-interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - CurrentPriority *uint8 `path:"state/current-priority" module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceTracking *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking `path:"interface-tracking" module:"openconfig-if-ip"` - Preempt *bool `path:"config/preempt" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreemptDelay *uint16 `path:"config/preempt-delay" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt-delay" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Priority *uint8 `path:"config/priority" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualAddress []string `path:"config/virtual-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualLinkLocal *string `path:"config/virtual-link-local" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-link-local" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualRouterId *uint8 `path:"config/virtual-router-id|virtual-router-id" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/virtual-router-id|virtual-router-id" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Address_VrrpGroup implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Address_VrrpGroup) IsYANGGoStruct() {} - -// GetOrCreateInterfaceTracking retrieves the value of the InterfaceTracking field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetOrCreateInterfaceTracking() *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking { - if t.InterfaceTracking != nil { - return t.InterfaceTracking - } - t.InterfaceTracking = &Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking{} - return t.InterfaceTracking -} - -// GetInterfaceTracking returns the value of the InterfaceTracking struct pointer -// from Interface_RoutedVlan_Ipv6_Address_VrrpGroup. If the receiver or the field InterfaceTracking is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetInterfaceTracking() *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking { - if t != nil && t.InterfaceTracking != nil { - return t.InterfaceTracking - } - return nil -} - -// GetAcceptMode retrieves the value of the leaf AcceptMode from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AcceptMode is set, it can -// safely use t.GetAcceptMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AcceptMode == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetAcceptMode() bool { - if t == nil || t.AcceptMode == nil { - return false - } - return *t.AcceptMode -} - -// GetAdvertisementInterval retrieves the value of the leaf AdvertisementInterval from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdvertisementInterval is set, it can -// safely use t.GetAdvertisementInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdvertisementInterval == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetAdvertisementInterval() uint16 { - if t == nil || t.AdvertisementInterval == nil { - return 100 - } - return *t.AdvertisementInterval -} - -// GetCurrentPriority retrieves the value of the leaf CurrentPriority from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CurrentPriority is set, it can -// safely use t.GetCurrentPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CurrentPriority == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetCurrentPriority() uint8 { - if t == nil || t.CurrentPriority == nil { - return 0 - } - return *t.CurrentPriority -} - -// GetPreempt retrieves the value of the leaf Preempt from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Preempt is set, it can -// safely use t.GetPreempt() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Preempt == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetPreempt() bool { - if t == nil || t.Preempt == nil { - return true - } - return *t.Preempt -} - -// GetPreemptDelay retrieves the value of the leaf PreemptDelay from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreemptDelay is set, it can -// safely use t.GetPreemptDelay() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreemptDelay == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetPreemptDelay() uint16 { - if t == nil || t.PreemptDelay == nil { - return 0 - } - return *t.PreemptDelay -} - -// GetPriority retrieves the value of the leaf Priority from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Priority is set, it can -// safely use t.GetPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Priority == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetPriority() uint8 { - if t == nil || t.Priority == nil { - return 100 - } - return *t.Priority -} - -// GetVirtualAddress retrieves the value of the leaf VirtualAddress from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualAddress is set, it can -// safely use t.GetVirtualAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualAddress == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetVirtualAddress() []string { - if t == nil || t.VirtualAddress == nil { - return nil - } - return t.VirtualAddress -} - -// GetVirtualLinkLocal retrieves the value of the leaf VirtualLinkLocal from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualLinkLocal is set, it can -// safely use t.GetVirtualLinkLocal() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualLinkLocal == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetVirtualLinkLocal() string { - if t == nil || t.VirtualLinkLocal == nil { - return "" - } - return *t.VirtualLinkLocal -} - -// GetVirtualRouterId retrieves the value of the leaf VirtualRouterId from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualRouterId is set, it can -// safely use t.GetVirtualRouterId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualRouterId == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) GetVirtualRouterId() uint8 { - if t == nil || t.VirtualRouterId == nil { - return 0 - } - return *t.VirtualRouterId -} - -// SetAcceptMode sets the value of the leaf AcceptMode in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetAcceptMode(v bool) { - t.AcceptMode = &v -} - -// SetAdvertisementInterval sets the value of the leaf AdvertisementInterval in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetAdvertisementInterval(v uint16) { - t.AdvertisementInterval = &v -} - -// SetCurrentPriority sets the value of the leaf CurrentPriority in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetCurrentPriority(v uint8) { - t.CurrentPriority = &v -} - -// SetPreempt sets the value of the leaf Preempt in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetPreempt(v bool) { - t.Preempt = &v -} - -// SetPreemptDelay sets the value of the leaf PreemptDelay in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetPreemptDelay(v uint16) { - t.PreemptDelay = &v -} - -// SetPriority sets the value of the leaf Priority in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetPriority(v uint8) { - t.Priority = &v -} - -// SetVirtualAddress sets the value of the leaf VirtualAddress in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetVirtualAddress(v []string) { - t.VirtualAddress = v -} - -// SetVirtualLinkLocal sets the value of the leaf VirtualLinkLocal in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetVirtualLinkLocal(v string) { - t.VirtualLinkLocal = &v -} - -// SetVirtualRouterId sets the value of the leaf VirtualRouterId in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) SetVirtualRouterId(v uint8) { - t.VirtualRouterId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.AcceptMode == nil { - var v bool = false - t.AcceptMode = &v - } - if t.AdvertisementInterval == nil { - var v uint16 = 100 - t.AdvertisementInterval = &v - } - if t.Preempt == nil { - var v bool = true - t.Preempt = &v - } - if t.PreemptDelay == nil { - var v uint16 = 0 - t.PreemptDelay = &v - } - if t.Priority == nil { - var v uint8 = 100 - t.Priority = &v - } - t.InterfaceTracking.PopulateDefaults() -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv6_Address_VrrpGroup struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.VirtualRouterId == nil { - return nil, fmt.Errorf("nil value for key VirtualRouterId") - } - - return map[string]interface{}{ - "virtual-router-id": *t.VirtualRouterId, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Address_VrrpGroup"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Address_VrrpGroup. -func (*Interface_RoutedVlan_Ipv6_Address_VrrpGroup) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/addresses/address/vrrp/vrrp-group/interface-tracking YANG schema element. -type Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking struct { - PriorityDecrement *uint8 `path:"config/priority-decrement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority-decrement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - TrackInterface []string `path:"config/track-interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/track-interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) IsYANGGoStruct() {} - -// GetPriorityDecrement retrieves the value of the leaf PriorityDecrement from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PriorityDecrement is set, it can -// safely use t.GetPriorityDecrement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PriorityDecrement == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) GetPriorityDecrement() uint8 { - if t == nil || t.PriorityDecrement == nil { - return 0 - } - return *t.PriorityDecrement -} - -// GetTrackInterface retrieves the value of the leaf TrackInterface from the Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrackInterface is set, it can -// safely use t.GetTrackInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrackInterface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) GetTrackInterface() []string { - if t == nil || t.TrackInterface == nil { - return nil - } - return t.TrackInterface -} - -// SetPriorityDecrement sets the value of the leaf PriorityDecrement in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) SetPriorityDecrement(v uint8) { - t.PriorityDecrement = &v -} - -// SetTrackInterface sets the value of the leaf TrackInterface in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) SetTrackInterface(v []string) { - t.TrackInterface = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.PriorityDecrement == nil { - var v uint8 = 0 - t.PriorityDecrement = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking. -func (*Interface_RoutedVlan_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Counters represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/state/counters YANG schema element. -type Interface_RoutedVlan_Ipv6_Counters struct { - InDiscardedPkts *uint64 `path:"in-discarded-pkts" module:"openconfig-if-ip"` - InErrorPkts *uint64 `path:"in-error-pkts" module:"openconfig-if-ip"` - InForwardedOctets *uint64 `path:"in-forwarded-octets" module:"openconfig-if-ip"` - InForwardedPkts *uint64 `path:"in-forwarded-pkts" module:"openconfig-if-ip"` - InMulticastOctets *uint64 `path:"in-multicast-octets" module:"openconfig-if-ip"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-if-ip"` - InOctets *uint64 `path:"in-octets" module:"openconfig-if-ip"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-if-ip"` - OutDiscardedPkts *uint64 `path:"out-discarded-pkts" module:"openconfig-if-ip"` - OutErrorPkts *uint64 `path:"out-error-pkts" module:"openconfig-if-ip"` - OutForwardedOctets *uint64 `path:"out-forwarded-octets" module:"openconfig-if-ip"` - OutForwardedPkts *uint64 `path:"out-forwarded-pkts" module:"openconfig-if-ip"` - OutMulticastOctets *uint64 `path:"out-multicast-octets" module:"openconfig-if-ip"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-if-ip"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-if-ip"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Counters) IsYANGGoStruct() {} - -// GetInDiscardedPkts retrieves the value of the leaf InDiscardedPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscardedPkts is set, it can -// safely use t.GetInDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInDiscardedPkts() uint64 { - if t == nil || t.InDiscardedPkts == nil { - return 0 - } - return *t.InDiscardedPkts -} - -// GetInErrorPkts retrieves the value of the leaf InErrorPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrorPkts is set, it can -// safely use t.GetInErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInErrorPkts() uint64 { - if t == nil || t.InErrorPkts == nil { - return 0 - } - return *t.InErrorPkts -} - -// GetInForwardedOctets retrieves the value of the leaf InForwardedOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedOctets is set, it can -// safely use t.GetInForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInForwardedOctets() uint64 { - if t == nil || t.InForwardedOctets == nil { - return 0 - } - return *t.InForwardedOctets -} - -// GetInForwardedPkts retrieves the value of the leaf InForwardedPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedPkts is set, it can -// safely use t.GetInForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInForwardedPkts() uint64 { - if t == nil || t.InForwardedPkts == nil { - return 0 - } - return *t.InForwardedPkts -} - -// GetInMulticastOctets retrieves the value of the leaf InMulticastOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastOctets is set, it can -// safely use t.GetInMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInMulticastOctets() uint64 { - if t == nil || t.InMulticastOctets == nil { - return 0 - } - return *t.InMulticastOctets -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetOutDiscardedPkts retrieves the value of the leaf OutDiscardedPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscardedPkts is set, it can -// safely use t.GetOutDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutDiscardedPkts() uint64 { - if t == nil || t.OutDiscardedPkts == nil { - return 0 - } - return *t.OutDiscardedPkts -} - -// GetOutErrorPkts retrieves the value of the leaf OutErrorPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrorPkts is set, it can -// safely use t.GetOutErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutErrorPkts() uint64 { - if t == nil || t.OutErrorPkts == nil { - return 0 - } - return *t.OutErrorPkts -} - -// GetOutForwardedOctets retrieves the value of the leaf OutForwardedOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedOctets is set, it can -// safely use t.GetOutForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutForwardedOctets() uint64 { - if t == nil || t.OutForwardedOctets == nil { - return 0 - } - return *t.OutForwardedOctets -} - -// GetOutForwardedPkts retrieves the value of the leaf OutForwardedPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedPkts is set, it can -// safely use t.GetOutForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutForwardedPkts() uint64 { - if t == nil || t.OutForwardedPkts == nil { - return 0 - } - return *t.OutForwardedPkts -} - -// GetOutMulticastOctets retrieves the value of the leaf OutMulticastOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastOctets is set, it can -// safely use t.GetOutMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutMulticastOctets() uint64 { - if t == nil || t.OutMulticastOctets == nil { - return 0 - } - return *t.OutMulticastOctets -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_RoutedVlan_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// SetInDiscardedPkts sets the value of the leaf InDiscardedPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInDiscardedPkts(v uint64) { - t.InDiscardedPkts = &v -} - -// SetInErrorPkts sets the value of the leaf InErrorPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInErrorPkts(v uint64) { - t.InErrorPkts = &v -} - -// SetInForwardedOctets sets the value of the leaf InForwardedOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInForwardedOctets(v uint64) { - t.InForwardedOctets = &v -} - -// SetInForwardedPkts sets the value of the leaf InForwardedPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInForwardedPkts(v uint64) { - t.InForwardedPkts = &v -} - -// SetInMulticastOctets sets the value of the leaf InMulticastOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInMulticastOctets(v uint64) { - t.InMulticastOctets = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetOutDiscardedPkts sets the value of the leaf OutDiscardedPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutDiscardedPkts(v uint64) { - t.OutDiscardedPkts = &v -} - -// SetOutErrorPkts sets the value of the leaf OutErrorPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutErrorPkts(v uint64) { - t.OutErrorPkts = &v -} - -// SetOutForwardedOctets sets the value of the leaf OutForwardedOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutForwardedOctets(v uint64) { - t.OutForwardedOctets = &v -} - -// SetOutForwardedPkts sets the value of the leaf OutForwardedPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutForwardedPkts(v uint64) { - t.OutForwardedPkts = &v -} - -// SetOutMulticastOctets sets the value of the leaf OutMulticastOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutMulticastOctets(v uint64) { - t.OutMulticastOctets = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_RoutedVlan_Ipv6_Counters -// struct. -func (t *Interface_RoutedVlan_Ipv6_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Counters) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Counters. -func (*Interface_RoutedVlan_Ipv6_Counters) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Neighbor represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/neighbors/neighbor YANG schema element. -type Interface_RoutedVlan_Ipv6_Neighbor struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - IsRouter *bool `path:"state/is-router" module:"openconfig-if-ip/openconfig-if-ip"` - LinkLayerAddress *string `path:"config/link-layer-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/link-layer-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - NeighborState E_Neighbor_NeighborState `path:"state/neighbor-state" module:"openconfig-if-ip/openconfig-if-ip"` - Origin E_IfIp_NeighborOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Neighbor implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Neighbor) IsYANGGoStruct() {} - -// GetIp retrieves the value of the leaf Ip from the Interface_RoutedVlan_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetIsRouter retrieves the value of the leaf IsRouter from the Interface_RoutedVlan_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if IsRouter is set, it can -// safely use t.GetIsRouter() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.IsRouter == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) GetIsRouter() bool { - if t == nil || t.IsRouter == nil { - return false - } - return *t.IsRouter -} - -// GetLinkLayerAddress retrieves the value of the leaf LinkLayerAddress from the Interface_RoutedVlan_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LinkLayerAddress is set, it can -// safely use t.GetLinkLayerAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LinkLayerAddress == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) GetLinkLayerAddress() string { - if t == nil || t.LinkLayerAddress == nil { - return "" - } - return *t.LinkLayerAddress -} - -// GetNeighborState retrieves the value of the leaf NeighborState from the Interface_RoutedVlan_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NeighborState is set, it can -// safely use t.GetNeighborState() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NeighborState == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) GetNeighborState() E_Neighbor_NeighborState { - if t == nil || t.NeighborState == 0 { - return 0 - } - return t.NeighborState -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_RoutedVlan_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) GetOrigin() E_IfIp_NeighborOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// SetIp sets the value of the leaf Ip in the Interface_RoutedVlan_Ipv6_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) SetIp(v string) { - t.Ip = &v -} - -// SetIsRouter sets the value of the leaf IsRouter in the Interface_RoutedVlan_Ipv6_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) SetIsRouter(v bool) { - t.IsRouter = &v -} - -// SetLinkLayerAddress sets the value of the leaf LinkLayerAddress in the Interface_RoutedVlan_Ipv6_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) SetLinkLayerAddress(v string) { - t.LinkLayerAddress = &v -} - -// SetNeighborState sets the value of the leaf NeighborState in the Interface_RoutedVlan_Ipv6_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) SetNeighborState(v E_Neighbor_NeighborState) { - t.NeighborState = v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_RoutedVlan_Ipv6_Neighbor -// struct. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) SetOrigin(v E_IfIp_NeighborOrigin) { - t.Origin = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Neighbor -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv6_Neighbor struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Neighbor"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Neighbor. -func (*Interface_RoutedVlan_Ipv6_Neighbor) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_RouterAdvertisement represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/router-advertisement YANG schema element. -type Interface_RoutedVlan_Ipv6_RouterAdvertisement struct { - Enable *bool `path:"config/enable" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enable" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Interval *uint32 `path:"config/interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Lifetime *uint32 `path:"config/lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Managed *bool `path:"config/managed" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/managed" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mode E_RouterAdvertisement_Mode `path:"config/mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - OtherConfig *bool `path:"config/other-config" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/other-config" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Prefix map[string]*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix `path:"prefixes/prefix" module:"openconfig-if-ip/openconfig-if-ip"` - Suppress *bool `path:"config/suppress" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/suppress" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_RouterAdvertisement implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_RouterAdvertisement) IsYANGGoStruct() {} - -// NewPrefix creates a new entry in the Prefix list of the -// Interface_RoutedVlan_Ipv6_RouterAdvertisement struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) NewPrefix(Prefix string) (*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) - } - - key := Prefix - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Prefix[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Prefix", key) - } - - t.Prefix[key] = &Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix{ - Prefix: &Prefix, - } - - return t.Prefix[key], nil -} - -// RenamePrefix renames an entry in the list Prefix within -// the Interface_RoutedVlan_Ipv6_RouterAdvertisement struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) RenamePrefix(oldK, newK string) error { - if _, ok := t.Prefix[newK]; ok { - return fmt.Errorf("key %v already exists in Prefix", newK) - } - - e, ok := t.Prefix[oldK] - if !ok { - return fmt.Errorf("key %v not found in Prefix", oldK) - } - e.Prefix = &newK - - t.Prefix[newK] = e - delete(t.Prefix, oldK) - return nil -} - -// GetOrCreatePrefixMap returns the list (map) from Interface_RoutedVlan_Ipv6_RouterAdvertisement. -// -// It initializes the field if not already initialized. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetOrCreatePrefixMap() map[string]*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix { - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) - } - return t.Prefix -} - -// GetOrCreatePrefix retrieves the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6_RouterAdvertisement. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetOrCreatePrefix(Prefix string) *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix { - - key := Prefix - - if v, ok := t.Prefix[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewPrefix(Prefix) - if err != nil { - panic(fmt.Sprintf("GetOrCreatePrefix got unexpected error: %v", err)) - } - return v -} - -// GetPrefix retrieves the value with the specified key from -// the Prefix map field of Interface_RoutedVlan_Ipv6_RouterAdvertisement. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetPrefix(Prefix string) *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix { - - if t == nil { - return nil - } - - key := Prefix - - if lm, ok := t.Prefix[key]; ok { - return lm - } - return nil -} - -// DeletePrefix deletes the value with the specified keys from -// the receiver Interface_RoutedVlan_Ipv6_RouterAdvertisement. If there is no such element, the function -// is a no-op. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) DeletePrefix(Prefix string) { - key := Prefix - - delete(t.Prefix, key) -} - -// AppendPrefix appends the supplied Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix struct to the -// list Prefix of Interface_RoutedVlan_Ipv6_RouterAdvertisement. If the key value(s) specified in -// the supplied Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix already exist in the list, an error is -// returned. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) AppendPrefix(v *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) error { - if v.Prefix == nil { - return fmt.Errorf("invalid nil key received for Prefix") - } - - key := *v.Prefix - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) - } - - if _, ok := t.Prefix[key]; ok { - return fmt.Errorf("duplicate key for list Prefix %v", key) - } - - t.Prefix[key] = v - return nil -} - -// GetEnable retrieves the value of the leaf Enable from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enable is set, it can -// safely use t.GetEnable() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enable == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetEnable() bool { - if t == nil || t.Enable == nil { - return true - } - return *t.Enable -} - -// GetInterval retrieves the value of the leaf Interval from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interval is set, it can -// safely use t.GetInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interval == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetInterval() uint32 { - if t == nil || t.Interval == nil { - return 0 - } - return *t.Interval -} - -// GetLifetime retrieves the value of the leaf Lifetime from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Lifetime is set, it can -// safely use t.GetLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Lifetime == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetLifetime() uint32 { - if t == nil || t.Lifetime == nil { - return 0 - } - return *t.Lifetime -} - -// GetManaged retrieves the value of the leaf Managed from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Managed is set, it can -// safely use t.GetManaged() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Managed == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetManaged() bool { - if t == nil || t.Managed == nil { - return false - } - return *t.Managed -} - -// GetMode retrieves the value of the leaf Mode from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mode is set, it can -// safely use t.GetMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mode == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetMode() E_RouterAdvertisement_Mode { - if t == nil || t.Mode == 0 { - return RouterAdvertisement_Mode_ALL - } - return t.Mode -} - -// GetOtherConfig retrieves the value of the leaf OtherConfig from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OtherConfig is set, it can -// safely use t.GetOtherConfig() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OtherConfig == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetOtherConfig() bool { - if t == nil || t.OtherConfig == nil { - return false - } - return *t.OtherConfig -} - -// GetSuppress retrieves the value of the leaf Suppress from the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Suppress is set, it can -// safely use t.GetSuppress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Suppress == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) GetSuppress() bool { - if t == nil || t.Suppress == nil { - return false - } - return *t.Suppress -} - -// SetEnable sets the value of the leaf Enable in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetEnable(v bool) { - t.Enable = &v -} - -// SetInterval sets the value of the leaf Interval in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetInterval(v uint32) { - t.Interval = &v -} - -// SetLifetime sets the value of the leaf Lifetime in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetLifetime(v uint32) { - t.Lifetime = &v -} - -// SetManaged sets the value of the leaf Managed in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetManaged(v bool) { - t.Managed = &v -} - -// SetMode sets the value of the leaf Mode in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetMode(v E_RouterAdvertisement_Mode) { - t.Mode = v -} - -// SetOtherConfig sets the value of the leaf OtherConfig in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetOtherConfig(v bool) { - t.OtherConfig = &v -} - -// SetSuppress sets the value of the leaf Suppress in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) SetSuppress(v bool) { - t.Suppress = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_RouterAdvertisement -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enable == nil { - var v bool = true - t.Enable = &v - } - if t.Managed == nil { - var v bool = false - t.Managed = &v - } - if t.Mode == 0 { - t.Mode = RouterAdvertisement_Mode_ALL - } - if t.OtherConfig == nil { - var v bool = false - t.OtherConfig = &v - } - if t.Suppress == nil { - var v bool = false - t.Suppress = &v - } - for _, e := range t.Prefix { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_RouterAdvertisement"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_RouterAdvertisement. -func (*Interface_RoutedVlan_Ipv6_RouterAdvertisement) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/router-advertisement/prefixes/prefix YANG schema element. -type Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix struct { - DisableAdvertisement *bool `path:"config/disable-advertisement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/disable-advertisement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - DisableAutoconfiguration *bool `path:"config/disable-autoconfiguration" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/disable-autoconfiguration" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - EnableOnlink *bool `path:"config/enable-onlink" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enable-onlink" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreferredLifetime *uint32 `path:"config/preferred-lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preferred-lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Prefix *string `path:"config/prefix|prefix" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/prefix|prefix" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - ValidLifetime *uint32 `path:"config/valid-lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/valid-lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) IsYANGGoStruct() {} - -// GetDisableAdvertisement retrieves the value of the leaf DisableAdvertisement from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DisableAdvertisement is set, it can -// safely use t.GetDisableAdvertisement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DisableAdvertisement == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetDisableAdvertisement() bool { - if t == nil || t.DisableAdvertisement == nil { - return false - } - return *t.DisableAdvertisement -} - -// GetDisableAutoconfiguration retrieves the value of the leaf DisableAutoconfiguration from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DisableAutoconfiguration is set, it can -// safely use t.GetDisableAutoconfiguration() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DisableAutoconfiguration == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetDisableAutoconfiguration() bool { - if t == nil || t.DisableAutoconfiguration == nil { - return false - } - return *t.DisableAutoconfiguration -} - -// GetEnableOnlink retrieves the value of the leaf EnableOnlink from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if EnableOnlink is set, it can -// safely use t.GetEnableOnlink() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.EnableOnlink == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetEnableOnlink() bool { - if t == nil || t.EnableOnlink == nil { - return false - } - return *t.EnableOnlink -} - -// GetPreferredLifetime retrieves the value of the leaf PreferredLifetime from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreferredLifetime is set, it can -// safely use t.GetPreferredLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreferredLifetime == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetPreferredLifetime() uint32 { - if t == nil || t.PreferredLifetime == nil { - return 0 - } - return *t.PreferredLifetime -} - -// GetPrefix retrieves the value of the leaf Prefix from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Prefix is set, it can -// safely use t.GetPrefix() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Prefix == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetPrefix() string { - if t == nil || t.Prefix == nil { - return "" - } - return *t.Prefix -} - -// GetValidLifetime retrieves the value of the leaf ValidLifetime from the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if ValidLifetime is set, it can -// safely use t.GetValidLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.ValidLifetime == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) GetValidLifetime() uint32 { - if t == nil || t.ValidLifetime == nil { - return 0 - } - return *t.ValidLifetime -} - -// SetDisableAdvertisement sets the value of the leaf DisableAdvertisement in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetDisableAdvertisement(v bool) { - t.DisableAdvertisement = &v -} - -// SetDisableAutoconfiguration sets the value of the leaf DisableAutoconfiguration in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetDisableAutoconfiguration(v bool) { - t.DisableAutoconfiguration = &v -} - -// SetEnableOnlink sets the value of the leaf EnableOnlink in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetEnableOnlink(v bool) { - t.EnableOnlink = &v -} - -// SetPreferredLifetime sets the value of the leaf PreferredLifetime in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetPreferredLifetime(v uint32) { - t.PreferredLifetime = &v -} - -// SetPrefix sets the value of the leaf Prefix in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetPrefix(v string) { - t.Prefix = &v -} - -// SetValidLifetime sets the value of the leaf ValidLifetime in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) SetValidLifetime(v uint32) { - t.ValidLifetime = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix struct, which is a YANG list entry. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) ΛListKeyMap() (map[string]interface{}, error) { - if t.Prefix == nil { - return nil, fmt.Errorf("nil value for key Prefix") - } - - return map[string]interface{}{ - "prefix": *t.Prefix, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix. -func (*Interface_RoutedVlan_Ipv6_RouterAdvertisement_Prefix) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Unnumbered represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/unnumbered YANG schema element. -type Interface_RoutedVlan_Ipv6_Unnumbered struct { - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceRef *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef `path:"interface-ref" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Unnumbered implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Unnumbered) IsYANGGoStruct() {} - -// GetOrCreateInterfaceRef retrieves the value of the InterfaceRef field -// or returns the existing field if it already exists. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) GetOrCreateInterfaceRef() *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef { - if t.InterfaceRef != nil { - return t.InterfaceRef - } - t.InterfaceRef = &Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef{} - return t.InterfaceRef -} - -// GetInterfaceRef returns the value of the InterfaceRef struct pointer -// from Interface_RoutedVlan_Ipv6_Unnumbered. If the receiver or the field InterfaceRef is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) GetInterfaceRef() *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef { - if t != nil && t.InterfaceRef != nil { - return t.InterfaceRef - } - return nil -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_RoutedVlan_Ipv6_Unnumbered -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return false - } - return *t.Enabled -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_RoutedVlan_Ipv6_Unnumbered -// struct. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) SetEnabled(v bool) { - t.Enabled = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Unnumbered -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = false - t.Enabled = &v - } - t.InterfaceRef.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Unnumbered"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Unnumbered. -func (*Interface_RoutedVlan_Ipv6_Unnumbered) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef represents the /openconfig-interfaces/interfaces/interface/routed-vlan/ipv6/unnumbered/interface-ref YANG schema element. -type Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef struct { - Interface *string `path:"config/interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Subinterface *uint32 `path:"config/subinterface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/subinterface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) IsYANGGoStruct() {} - -// GetInterface retrieves the value of the leaf Interface from the Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interface is set, it can -// safely use t.GetInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) GetInterface() string { - if t == nil || t.Interface == nil { - return "" - } - return *t.Interface -} - -// GetSubinterface retrieves the value of the leaf Subinterface from the Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Subinterface is set, it can -// safely use t.GetSubinterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Subinterface == nil' before retrieving the leaf's value. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) GetSubinterface() uint32 { - if t == nil || t.Subinterface == nil { - return 0 - } - return *t.Subinterface -} - -// SetInterface sets the value of the leaf Interface in the Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef -// struct. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) SetInterface(v string) { - t.Interface = &v -} - -// SetSubinterface sets the value of the leaf Subinterface in the Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef -// struct. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) SetSubinterface(v uint32) { - t.Subinterface = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef. -func (*Interface_RoutedVlan_Ipv6_Unnumbered_InterfaceRef) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface YANG schema element. -type Interface_Subinterface struct { - AdminStatus E_Interface_AdminStatus `path:"state/admin-status" module:"openconfig-interfaces/openconfig-interfaces"` - Counters *Interface_Subinterface_Counters `path:"state/counters" module:"openconfig-interfaces/openconfig-interfaces"` - Cpu *bool `path:"state/cpu" module:"openconfig-interfaces/openconfig-interfaces"` - Description *string `path:"config/description" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/description" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Enabled *bool `path:"config/enabled" module:"openconfig-interfaces/openconfig-interfaces" shadow-path:"state/enabled" shadow-module:"openconfig-interfaces/openconfig-interfaces"` - Ifindex *uint32 `path:"state/ifindex" module:"openconfig-interfaces/openconfig-interfaces"` - Index *uint32 `path:"config/index|index" module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces" shadow-path:"state/index|index" shadow-module:"openconfig-interfaces/openconfig-interfaces|openconfig-interfaces"` - Ipv4 *Interface_Subinterface_Ipv4 `path:"ipv4" module:"openconfig-if-ip"` - Ipv6 *Interface_Subinterface_Ipv6 `path:"ipv6" module:"openconfig-if-ip"` - LastChange *uint64 `path:"state/last-change" module:"openconfig-interfaces/openconfig-interfaces"` - Logical *bool `path:"state/logical" module:"openconfig-interfaces/openconfig-interfaces"` - Management *bool `path:"state/management" module:"openconfig-interfaces/openconfig-interfaces"` - Name *string `path:"state/name" module:"openconfig-interfaces/openconfig-interfaces"` - OperStatus E_Interface_OperStatus `path:"state/oper-status" module:"openconfig-interfaces/openconfig-interfaces"` - Vlan *Interface_Subinterface_Vlan `path:"vlan" module:"openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface) IsYANGGoStruct() {} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface) GetOrCreateCounters() *Interface_Subinterface_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_Subinterface_Counters{} - return t.Counters -} - -// GetOrCreateIpv4 retrieves the value of the Ipv4 field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface) GetOrCreateIpv4() *Interface_Subinterface_Ipv4 { - if t.Ipv4 != nil { - return t.Ipv4 - } - t.Ipv4 = &Interface_Subinterface_Ipv4{} - return t.Ipv4 -} - -// GetOrCreateIpv6 retrieves the value of the Ipv6 field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface) GetOrCreateIpv6() *Interface_Subinterface_Ipv6 { - if t.Ipv6 != nil { - return t.Ipv6 - } - t.Ipv6 = &Interface_Subinterface_Ipv6{} - return t.Ipv6 -} - -// GetOrCreateVlan retrieves the value of the Vlan field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface) GetOrCreateVlan() *Interface_Subinterface_Vlan { - if t.Vlan != nil { - return t.Vlan - } - t.Vlan = &Interface_Subinterface_Vlan{} - return t.Vlan -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_Subinterface. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface) GetCounters() *Interface_Subinterface_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetIpv4 returns the value of the Ipv4 struct pointer -// from Interface_Subinterface. If the receiver or the field Ipv4 is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface) GetIpv4() *Interface_Subinterface_Ipv4 { - if t != nil && t.Ipv4 != nil { - return t.Ipv4 - } - return nil -} - -// GetIpv6 returns the value of the Ipv6 struct pointer -// from Interface_Subinterface. If the receiver or the field Ipv6 is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface) GetIpv6() *Interface_Subinterface_Ipv6 { - if t != nil && t.Ipv6 != nil { - return t.Ipv6 - } - return nil -} - -// GetVlan returns the value of the Vlan struct pointer -// from Interface_Subinterface. If the receiver or the field Vlan is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface) GetVlan() *Interface_Subinterface_Vlan { - if t != nil && t.Vlan != nil { - return t.Vlan - } - return nil -} - -// GetAdminStatus retrieves the value of the leaf AdminStatus from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdminStatus is set, it can -// safely use t.GetAdminStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdminStatus == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetAdminStatus() E_Interface_AdminStatus { - if t == nil || t.AdminStatus == 0 { - return 0 - } - return t.AdminStatus -} - -// GetCpu retrieves the value of the leaf Cpu from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Cpu is set, it can -// safely use t.GetCpu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Cpu == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetCpu() bool { - if t == nil || t.Cpu == nil { - return false - } - return *t.Cpu -} - -// GetDescription retrieves the value of the leaf Description from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Description is set, it can -// safely use t.GetDescription() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Description == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetDescription() string { - if t == nil || t.Description == nil { - return "" - } - return *t.Description -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetIfindex retrieves the value of the leaf Ifindex from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ifindex is set, it can -// safely use t.GetIfindex() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ifindex == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetIfindex() uint32 { - if t == nil || t.Ifindex == nil { - return 0 - } - return *t.Ifindex -} - -// GetIndex retrieves the value of the leaf Index from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Index is set, it can -// safely use t.GetIndex() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Index == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetIndex() uint32 { - if t == nil || t.Index == nil { - return 0 - } - return *t.Index -} - -// GetLastChange retrieves the value of the leaf LastChange from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LastChange is set, it can -// safely use t.GetLastChange() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LastChange == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetLastChange() uint64 { - if t == nil || t.LastChange == nil { - return 0 - } - return *t.LastChange -} - -// GetLogical retrieves the value of the leaf Logical from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Logical is set, it can -// safely use t.GetLogical() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Logical == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetLogical() bool { - if t == nil || t.Logical == nil { - return false - } - return *t.Logical -} - -// GetManagement retrieves the value of the leaf Management from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Management is set, it can -// safely use t.GetManagement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Management == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetManagement() bool { - if t == nil || t.Management == nil { - return false - } - return *t.Management -} - -// GetName retrieves the value of the leaf Name from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Name is set, it can -// safely use t.GetName() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Name == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetName() string { - if t == nil || t.Name == nil { - return "" - } - return *t.Name -} - -// GetOperStatus retrieves the value of the leaf OperStatus from the Interface_Subinterface -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OperStatus is set, it can -// safely use t.GetOperStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OperStatus == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface) GetOperStatus() E_Interface_OperStatus { - if t == nil || t.OperStatus == 0 { - return 0 - } - return t.OperStatus -} - -// SetAdminStatus sets the value of the leaf AdminStatus in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetAdminStatus(v E_Interface_AdminStatus) { - t.AdminStatus = v -} - -// SetCpu sets the value of the leaf Cpu in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetCpu(v bool) { - t.Cpu = &v -} - -// SetDescription sets the value of the leaf Description in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetDescription(v string) { - t.Description = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetIfindex sets the value of the leaf Ifindex in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetIfindex(v uint32) { - t.Ifindex = &v -} - -// SetIndex sets the value of the leaf Index in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetIndex(v uint32) { - t.Index = &v -} - -// SetLastChange sets the value of the leaf LastChange in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetLastChange(v uint64) { - t.LastChange = &v -} - -// SetLogical sets the value of the leaf Logical in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetLogical(v bool) { - t.Logical = &v -} - -// SetManagement sets the value of the leaf Management in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetManagement(v bool) { - t.Management = &v -} - -// SetName sets the value of the leaf Name in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetName(v string) { - t.Name = &v -} - -// SetOperStatus sets the value of the leaf OperStatus in the Interface_Subinterface -// struct. -func (t *Interface_Subinterface) SetOperStatus(v E_Interface_OperStatus) { - t.OperStatus = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - if t.Index == nil { - var v uint32 = 0 - t.Index = &v - } - t.Counters.PopulateDefaults() - t.Ipv4.PopulateDefaults() - t.Ipv6.PopulateDefaults() - t.Vlan.PopulateDefaults() -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface struct, which is a YANG list entry. -func (t *Interface_Subinterface) ΛListKeyMap() (map[string]interface{}, error) { - if t.Index == nil { - return nil, fmt.Errorf("nil value for key Index") - } - - return map[string]interface{}{ - "index": *t.Index, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface. -func (*Interface_Subinterface) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_Subinterface_Counters represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/state/counters YANG schema element. -type Interface_Subinterface_Counters struct { - CarrierTransitions *uint64 `path:"carrier-transitions" module:"openconfig-interfaces"` - InBroadcastPkts *uint64 `path:"in-broadcast-pkts" module:"openconfig-interfaces"` - InDiscards *uint64 `path:"in-discards" module:"openconfig-interfaces"` - InErrors *uint64 `path:"in-errors" module:"openconfig-interfaces"` - InFcsErrors *uint64 `path:"in-fcs-errors" module:"openconfig-interfaces"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-interfaces"` - InOctets *uint64 `path:"in-octets" module:"openconfig-interfaces"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-interfaces"` - InUnicastPkts *uint64 `path:"in-unicast-pkts" module:"openconfig-interfaces"` - InUnknownProtos *uint64 `path:"in-unknown-protos" module:"openconfig-interfaces"` - LastClear *uint64 `path:"last-clear" module:"openconfig-interfaces"` - OutBroadcastPkts *uint64 `path:"out-broadcast-pkts" module:"openconfig-interfaces"` - OutDiscards *uint64 `path:"out-discards" module:"openconfig-interfaces"` - OutErrors *uint64 `path:"out-errors" module:"openconfig-interfaces"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-interfaces"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-interfaces"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-interfaces"` - OutUnicastPkts *uint64 `path:"out-unicast-pkts" module:"openconfig-interfaces"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Counters) IsYANGGoStruct() {} - -// GetCarrierTransitions retrieves the value of the leaf CarrierTransitions from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CarrierTransitions is set, it can -// safely use t.GetCarrierTransitions() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CarrierTransitions == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetCarrierTransitions() uint64 { - if t == nil || t.CarrierTransitions == nil { - return 0 - } - return *t.CarrierTransitions -} - -// GetInBroadcastPkts retrieves the value of the leaf InBroadcastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InBroadcastPkts is set, it can -// safely use t.GetInBroadcastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InBroadcastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInBroadcastPkts() uint64 { - if t == nil || t.InBroadcastPkts == nil { - return 0 - } - return *t.InBroadcastPkts -} - -// GetInDiscards retrieves the value of the leaf InDiscards from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscards is set, it can -// safely use t.GetInDiscards() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscards == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInDiscards() uint64 { - if t == nil || t.InDiscards == nil { - return 0 - } - return *t.InDiscards -} - -// GetInErrors retrieves the value of the leaf InErrors from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrors is set, it can -// safely use t.GetInErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrors == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInErrors() uint64 { - if t == nil || t.InErrors == nil { - return 0 - } - return *t.InErrors -} - -// GetInFcsErrors retrieves the value of the leaf InFcsErrors from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InFcsErrors is set, it can -// safely use t.GetInFcsErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InFcsErrors == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInFcsErrors() uint64 { - if t == nil || t.InFcsErrors == nil { - return 0 - } - return *t.InFcsErrors -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetInUnicastPkts retrieves the value of the leaf InUnicastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InUnicastPkts is set, it can -// safely use t.GetInUnicastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InUnicastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInUnicastPkts() uint64 { - if t == nil || t.InUnicastPkts == nil { - return 0 - } - return *t.InUnicastPkts -} - -// GetInUnknownProtos retrieves the value of the leaf InUnknownProtos from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InUnknownProtos is set, it can -// safely use t.GetInUnknownProtos() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InUnknownProtos == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetInUnknownProtos() uint64 { - if t == nil || t.InUnknownProtos == nil { - return 0 - } - return *t.InUnknownProtos -} - -// GetLastClear retrieves the value of the leaf LastClear from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LastClear is set, it can -// safely use t.GetLastClear() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LastClear == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetLastClear() uint64 { - if t == nil || t.LastClear == nil { - return 0 - } - return *t.LastClear -} - -// GetOutBroadcastPkts retrieves the value of the leaf OutBroadcastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutBroadcastPkts is set, it can -// safely use t.GetOutBroadcastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutBroadcastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutBroadcastPkts() uint64 { - if t == nil || t.OutBroadcastPkts == nil { - return 0 - } - return *t.OutBroadcastPkts -} - -// GetOutDiscards retrieves the value of the leaf OutDiscards from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscards is set, it can -// safely use t.GetOutDiscards() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscards == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutDiscards() uint64 { - if t == nil || t.OutDiscards == nil { - return 0 - } - return *t.OutDiscards -} - -// GetOutErrors retrieves the value of the leaf OutErrors from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrors is set, it can -// safely use t.GetOutErrors() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrors == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutErrors() uint64 { - if t == nil || t.OutErrors == nil { - return 0 - } - return *t.OutErrors -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// GetOutUnicastPkts retrieves the value of the leaf OutUnicastPkts from the Interface_Subinterface_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutUnicastPkts is set, it can -// safely use t.GetOutUnicastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutUnicastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Counters) GetOutUnicastPkts() uint64 { - if t == nil || t.OutUnicastPkts == nil { - return 0 - } - return *t.OutUnicastPkts -} - -// SetCarrierTransitions sets the value of the leaf CarrierTransitions in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetCarrierTransitions(v uint64) { - t.CarrierTransitions = &v -} - -// SetInBroadcastPkts sets the value of the leaf InBroadcastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInBroadcastPkts(v uint64) { - t.InBroadcastPkts = &v -} - -// SetInDiscards sets the value of the leaf InDiscards in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInDiscards(v uint64) { - t.InDiscards = &v -} - -// SetInErrors sets the value of the leaf InErrors in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInErrors(v uint64) { - t.InErrors = &v -} - -// SetInFcsErrors sets the value of the leaf InFcsErrors in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInFcsErrors(v uint64) { - t.InFcsErrors = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetInUnicastPkts sets the value of the leaf InUnicastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInUnicastPkts(v uint64) { - t.InUnicastPkts = &v -} - -// SetInUnknownProtos sets the value of the leaf InUnknownProtos in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetInUnknownProtos(v uint64) { - t.InUnknownProtos = &v -} - -// SetLastClear sets the value of the leaf LastClear in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetLastClear(v uint64) { - t.LastClear = &v -} - -// SetOutBroadcastPkts sets the value of the leaf OutBroadcastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutBroadcastPkts(v uint64) { - t.OutBroadcastPkts = &v -} - -// SetOutDiscards sets the value of the leaf OutDiscards in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutDiscards(v uint64) { - t.OutDiscards = &v -} - -// SetOutErrors sets the value of the leaf OutErrors in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutErrors(v uint64) { - t.OutErrors = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// SetOutUnicastPkts sets the value of the leaf OutUnicastPkts in the Interface_Subinterface_Counters -// struct. -func (t *Interface_Subinterface_Counters) SetOutUnicastPkts(v uint64) { - t.OutUnicastPkts = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Counters) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Counters. -func (*Interface_Subinterface_Counters) ΛBelongingModule() string { - return "openconfig-interfaces" -} - -// Interface_Subinterface_Ipv4 represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4 YANG schema element. -type Interface_Subinterface_Ipv4 struct { - Address map[string]*Interface_Subinterface_Ipv4_Address `path:"addresses/address" module:"openconfig-if-ip/openconfig-if-ip"` - Counters *Interface_Subinterface_Ipv4_Counters `path:"state/counters" module:"openconfig-if-ip/openconfig-if-ip"` - DhcpClient *bool `path:"config/dhcp-client" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dhcp-client" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - GratuitousArpAccepted *bool `path:"config/gratuitous-arp-accepted" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/gratuitous-arp-accepted" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mtu *uint16 `path:"config/mtu" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mtu" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Neighbor map[string]*Interface_Subinterface_Ipv4_Neighbor `path:"neighbors/neighbor" module:"openconfig-if-ip/openconfig-if-ip"` - ProxyArp *Interface_Subinterface_Ipv4_ProxyArp `path:"proxy-arp" module:"openconfig-if-ip"` - Unnumbered *Interface_Subinterface_Ipv4_Unnumbered `path:"unnumbered" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4 implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4) IsYANGGoStruct() {} - -// NewAddress creates a new entry in the Address list of the -// Interface_Subinterface_Ipv4 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv4) NewAddress(Ip string) (*Interface_Subinterface_Ipv4_Address, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv4_Address) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Address[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Address", key) - } - - t.Address[key] = &Interface_Subinterface_Ipv4_Address{ - Ip: &Ip, - } - - return t.Address[key], nil -} - -// RenameAddress renames an entry in the list Address within -// the Interface_Subinterface_Ipv4 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv4) RenameAddress(oldK, newK string) error { - if _, ok := t.Address[newK]; ok { - return fmt.Errorf("key %v already exists in Address", newK) - } - - e, ok := t.Address[oldK] - if !ok { - return fmt.Errorf("key %v not found in Address", oldK) - } - e.Ip = &newK - - t.Address[newK] = e - delete(t.Address, oldK) - return nil -} - -// GetOrCreateAddressMap returns the list (map) from Interface_Subinterface_Ipv4. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv4) GetOrCreateAddressMap() map[string]*Interface_Subinterface_Ipv4_Address { - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv4_Address) - } - return t.Address -} - -// GetOrCreateAddress retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv4) GetOrCreateAddress(Ip string) *Interface_Subinterface_Ipv4_Address { - - key := Ip - - if v, ok := t.Address[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewAddress(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateAddress got unexpected error: %v", err)) - } - return v -} - -// GetAddress retrieves the value with the specified key from -// the Address map field of Interface_Subinterface_Ipv4. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv4) GetAddress(Ip string) *Interface_Subinterface_Ipv4_Address { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Address[key]; ok { - return lm - } - return nil -} - -// DeleteAddress deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv4) DeleteAddress(Ip string) { - key := Ip - - delete(t.Address, key) -} - -// AppendAddress appends the supplied Interface_Subinterface_Ipv4_Address struct to the -// list Address of Interface_Subinterface_Ipv4. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv4_Address already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv4) AppendAddress(v *Interface_Subinterface_Ipv4_Address) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv4_Address) - } - - if _, ok := t.Address[key]; ok { - return fmt.Errorf("duplicate key for list Address %v", key) - } - - t.Address[key] = v - return nil -} - -// NewNeighbor creates a new entry in the Neighbor list of the -// Interface_Subinterface_Ipv4 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv4) NewNeighbor(Ip string) (*Interface_Subinterface_Ipv4_Neighbor, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv4_Neighbor) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Neighbor[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) - } - - t.Neighbor[key] = &Interface_Subinterface_Ipv4_Neighbor{ - Ip: &Ip, - } - - return t.Neighbor[key], nil -} - -// RenameNeighbor renames an entry in the list Neighbor within -// the Interface_Subinterface_Ipv4 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv4) RenameNeighbor(oldK, newK string) error { - if _, ok := t.Neighbor[newK]; ok { - return fmt.Errorf("key %v already exists in Neighbor", newK) - } - - e, ok := t.Neighbor[oldK] - if !ok { - return fmt.Errorf("key %v not found in Neighbor", oldK) - } - e.Ip = &newK - - t.Neighbor[newK] = e - delete(t.Neighbor, oldK) - return nil -} - -// GetOrCreateNeighborMap returns the list (map) from Interface_Subinterface_Ipv4. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv4) GetOrCreateNeighborMap() map[string]*Interface_Subinterface_Ipv4_Neighbor { - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv4_Neighbor) - } - return t.Neighbor -} - -// GetOrCreateNeighbor retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv4) GetOrCreateNeighbor(Ip string) *Interface_Subinterface_Ipv4_Neighbor { - - key := Ip - - if v, ok := t.Neighbor[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewNeighbor(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateNeighbor got unexpected error: %v", err)) - } - return v -} - -// GetNeighbor retrieves the value with the specified key from -// the Neighbor map field of Interface_Subinterface_Ipv4. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv4) GetNeighbor(Ip string) *Interface_Subinterface_Ipv4_Neighbor { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Neighbor[key]; ok { - return lm - } - return nil -} - -// DeleteNeighbor deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv4) DeleteNeighbor(Ip string) { - key := Ip - - delete(t.Neighbor, key) -} - -// AppendNeighbor appends the supplied Interface_Subinterface_Ipv4_Neighbor struct to the -// list Neighbor of Interface_Subinterface_Ipv4. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv4_Neighbor already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv4) AppendNeighbor(v *Interface_Subinterface_Ipv4_Neighbor) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv4_Neighbor) - } - - if _, ok := t.Neighbor[key]; ok { - return fmt.Errorf("duplicate key for list Neighbor %v", key) - } - - t.Neighbor[key] = v - return nil -} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv4) GetOrCreateCounters() *Interface_Subinterface_Ipv4_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_Subinterface_Ipv4_Counters{} - return t.Counters -} - -// GetOrCreateProxyArp retrieves the value of the ProxyArp field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv4) GetOrCreateProxyArp() *Interface_Subinterface_Ipv4_ProxyArp { - if t.ProxyArp != nil { - return t.ProxyArp - } - t.ProxyArp = &Interface_Subinterface_Ipv4_ProxyArp{} - return t.ProxyArp -} - -// GetOrCreateUnnumbered retrieves the value of the Unnumbered field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv4) GetOrCreateUnnumbered() *Interface_Subinterface_Ipv4_Unnumbered { - if t.Unnumbered != nil { - return t.Unnumbered - } - t.Unnumbered = &Interface_Subinterface_Ipv4_Unnumbered{} - return t.Unnumbered -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_Subinterface_Ipv4. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv4) GetCounters() *Interface_Subinterface_Ipv4_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetProxyArp returns the value of the ProxyArp struct pointer -// from Interface_Subinterface_Ipv4. If the receiver or the field ProxyArp is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv4) GetProxyArp() *Interface_Subinterface_Ipv4_ProxyArp { - if t != nil && t.ProxyArp != nil { - return t.ProxyArp - } - return nil -} - -// GetUnnumbered returns the value of the Unnumbered struct pointer -// from Interface_Subinterface_Ipv4. If the receiver or the field Unnumbered is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv4) GetUnnumbered() *Interface_Subinterface_Ipv4_Unnumbered { - if t != nil && t.Unnumbered != nil { - return t.Unnumbered - } - return nil -} - -// GetDhcpClient retrieves the value of the leaf DhcpClient from the Interface_Subinterface_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DhcpClient is set, it can -// safely use t.GetDhcpClient() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DhcpClient == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4) GetDhcpClient() bool { - if t == nil || t.DhcpClient == nil { - return false - } - return *t.DhcpClient -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetGratuitousArpAccepted retrieves the value of the leaf GratuitousArpAccepted from the Interface_Subinterface_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if GratuitousArpAccepted is set, it can -// safely use t.GetGratuitousArpAccepted() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.GratuitousArpAccepted == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4) GetGratuitousArpAccepted() bool { - if t == nil || t.GratuitousArpAccepted == nil { - return false - } - return *t.GratuitousArpAccepted -} - -// GetMtu retrieves the value of the leaf Mtu from the Interface_Subinterface_Ipv4 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mtu is set, it can -// safely use t.GetMtu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mtu == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4) GetMtu() uint16 { - if t == nil || t.Mtu == nil { - return 0 - } - return *t.Mtu -} - -// SetDhcpClient sets the value of the leaf DhcpClient in the Interface_Subinterface_Ipv4 -// struct. -func (t *Interface_Subinterface_Ipv4) SetDhcpClient(v bool) { - t.DhcpClient = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_Subinterface_Ipv4 -// struct. -func (t *Interface_Subinterface_Ipv4) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetGratuitousArpAccepted sets the value of the leaf GratuitousArpAccepted in the Interface_Subinterface_Ipv4 -// struct. -func (t *Interface_Subinterface_Ipv4) SetGratuitousArpAccepted(v bool) { - t.GratuitousArpAccepted = &v -} - -// SetMtu sets the value of the leaf Mtu in the Interface_Subinterface_Ipv4 -// struct. -func (t *Interface_Subinterface_Ipv4) SetMtu(v uint16) { - t.Mtu = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4 -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.DhcpClient == nil { - var v bool = false - t.DhcpClient = &v - } - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - t.Counters.PopulateDefaults() - t.ProxyArp.PopulateDefaults() - t.Unnumbered.PopulateDefaults() - for _, e := range t.Address { - e.PopulateDefaults() - } - for _, e := range t.Neighbor { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4. -func (*Interface_Subinterface_Ipv4) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Address represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address YANG schema element. -type Interface_Subinterface_Ipv4_Address struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - Origin E_IfIp_IpAddressOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` - PrefixLength *uint8 `path:"config/prefix-length" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/prefix-length" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Type E_IfIp_Ipv4AddressType `path:"config/type" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/type" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VrrpGroup map[uint8]*Interface_Subinterface_Ipv4_Address_VrrpGroup `path:"vrrp/vrrp-group" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Address implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Address) IsYANGGoStruct() {} - -// NewVrrpGroup creates a new entry in the VrrpGroup list of the -// Interface_Subinterface_Ipv4_Address struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv4_Address) NewVrrpGroup(VirtualRouterId uint8) (*Interface_Subinterface_Ipv4_Address_VrrpGroup, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv4_Address_VrrpGroup) - } - - key := VirtualRouterId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.VrrpGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list VrrpGroup", key) - } - - t.VrrpGroup[key] = &Interface_Subinterface_Ipv4_Address_VrrpGroup{ - VirtualRouterId: &VirtualRouterId, - } - - return t.VrrpGroup[key], nil -} - -// RenameVrrpGroup renames an entry in the list VrrpGroup within -// the Interface_Subinterface_Ipv4_Address struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv4_Address) RenameVrrpGroup(oldK, newK uint8) error { - if _, ok := t.VrrpGroup[newK]; ok { - return fmt.Errorf("key %v already exists in VrrpGroup", newK) - } - - e, ok := t.VrrpGroup[oldK] - if !ok { - return fmt.Errorf("key %v not found in VrrpGroup", oldK) - } - e.VirtualRouterId = &newK - - t.VrrpGroup[newK] = e - delete(t.VrrpGroup, oldK) - return nil -} - -// GetOrCreateVrrpGroupMap returns the list (map) from Interface_Subinterface_Ipv4_Address. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv4_Address) GetOrCreateVrrpGroupMap() map[uint8]*Interface_Subinterface_Ipv4_Address_VrrpGroup { - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv4_Address_VrrpGroup) - } - return t.VrrpGroup -} - -// GetOrCreateVrrpGroup retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4_Address. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv4_Address) GetOrCreateVrrpGroup(VirtualRouterId uint8) *Interface_Subinterface_Ipv4_Address_VrrpGroup { - - key := VirtualRouterId - - if v, ok := t.VrrpGroup[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewVrrpGroup(VirtualRouterId) - if err != nil { - panic(fmt.Sprintf("GetOrCreateVrrpGroup got unexpected error: %v", err)) - } - return v -} - -// GetVrrpGroup retrieves the value with the specified key from -// the VrrpGroup map field of Interface_Subinterface_Ipv4_Address. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv4_Address) GetVrrpGroup(VirtualRouterId uint8) *Interface_Subinterface_Ipv4_Address_VrrpGroup { - - if t == nil { - return nil - } - - key := VirtualRouterId - - if lm, ok := t.VrrpGroup[key]; ok { - return lm - } - return nil -} - -// DeleteVrrpGroup deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv4_Address. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv4_Address) DeleteVrrpGroup(VirtualRouterId uint8) { - key := VirtualRouterId - - delete(t.VrrpGroup, key) -} - -// AppendVrrpGroup appends the supplied Interface_Subinterface_Ipv4_Address_VrrpGroup struct to the -// list VrrpGroup of Interface_Subinterface_Ipv4_Address. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv4_Address_VrrpGroup already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv4_Address) AppendVrrpGroup(v *Interface_Subinterface_Ipv4_Address_VrrpGroup) error { - if v.VirtualRouterId == nil { - return fmt.Errorf("invalid nil key received for VirtualRouterId") - } - - key := *v.VirtualRouterId - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv4_Address_VrrpGroup) - } - - if _, ok := t.VrrpGroup[key]; ok { - return fmt.Errorf("duplicate key for list VrrpGroup %v", key) - } - - t.VrrpGroup[key] = v - return nil -} - -// GetIp retrieves the value of the leaf Ip from the Interface_Subinterface_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_Subinterface_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address) GetOrigin() E_IfIp_IpAddressOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// GetPrefixLength retrieves the value of the leaf PrefixLength from the Interface_Subinterface_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PrefixLength is set, it can -// safely use t.GetPrefixLength() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PrefixLength == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address) GetPrefixLength() uint8 { - if t == nil || t.PrefixLength == nil { - return 0 - } - return *t.PrefixLength -} - -// GetType retrieves the value of the leaf Type from the Interface_Subinterface_Ipv4_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Type is set, it can -// safely use t.GetType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Type == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address) GetType() E_IfIp_Ipv4AddressType { - if t == nil || t.Type == 0 { - return IfIp_Ipv4AddressType_PRIMARY - } - return t.Type -} - -// SetIp sets the value of the leaf Ip in the Interface_Subinterface_Ipv4_Address -// struct. -func (t *Interface_Subinterface_Ipv4_Address) SetIp(v string) { - t.Ip = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_Subinterface_Ipv4_Address -// struct. -func (t *Interface_Subinterface_Ipv4_Address) SetOrigin(v E_IfIp_IpAddressOrigin) { - t.Origin = v -} - -// SetPrefixLength sets the value of the leaf PrefixLength in the Interface_Subinterface_Ipv4_Address -// struct. -func (t *Interface_Subinterface_Ipv4_Address) SetPrefixLength(v uint8) { - t.PrefixLength = &v -} - -// SetType sets the value of the leaf Type in the Interface_Subinterface_Ipv4_Address -// struct. -func (t *Interface_Subinterface_Ipv4_Address) SetType(v E_IfIp_Ipv4AddressType) { - t.Type = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Address -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Address) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Type == 0 { - t.Type = IfIp_Ipv4AddressType_PRIMARY - } - for _, e := range t.VrrpGroup { - e.PopulateDefaults() - } -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv4_Address struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv4_Address) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Address"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Address) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Address. -func (*Interface_Subinterface_Ipv4_Address) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Address_VrrpGroup represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/vrrp/vrrp-group YANG schema element. -type Interface_Subinterface_Ipv4_Address_VrrpGroup struct { - AcceptMode *bool `path:"config/accept-mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/accept-mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - AdvertisementInterval *uint16 `path:"config/advertisement-interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/advertisement-interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - CurrentPriority *uint8 `path:"state/current-priority" module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceTracking *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking `path:"interface-tracking" module:"openconfig-if-ip"` - Preempt *bool `path:"config/preempt" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreemptDelay *uint16 `path:"config/preempt-delay" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt-delay" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Priority *uint8 `path:"config/priority" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualAddress []string `path:"config/virtual-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualRouterId *uint8 `path:"config/virtual-router-id|virtual-router-id" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/virtual-router-id|virtual-router-id" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Address_VrrpGroup implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Address_VrrpGroup) IsYANGGoStruct() {} - -// GetOrCreateInterfaceTracking retrieves the value of the InterfaceTracking field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetOrCreateInterfaceTracking() *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking { - if t.InterfaceTracking != nil { - return t.InterfaceTracking - } - t.InterfaceTracking = &Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking{} - return t.InterfaceTracking -} - -// GetInterfaceTracking returns the value of the InterfaceTracking struct pointer -// from Interface_Subinterface_Ipv4_Address_VrrpGroup. If the receiver or the field InterfaceTracking is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetInterfaceTracking() *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking { - if t != nil && t.InterfaceTracking != nil { - return t.InterfaceTracking - } - return nil -} - -// GetAcceptMode retrieves the value of the leaf AcceptMode from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AcceptMode is set, it can -// safely use t.GetAcceptMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AcceptMode == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetAcceptMode() bool { - if t == nil || t.AcceptMode == nil { - return false - } - return *t.AcceptMode -} - -// GetAdvertisementInterval retrieves the value of the leaf AdvertisementInterval from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdvertisementInterval is set, it can -// safely use t.GetAdvertisementInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdvertisementInterval == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetAdvertisementInterval() uint16 { - if t == nil || t.AdvertisementInterval == nil { - return 100 - } - return *t.AdvertisementInterval -} - -// GetCurrentPriority retrieves the value of the leaf CurrentPriority from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CurrentPriority is set, it can -// safely use t.GetCurrentPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CurrentPriority == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetCurrentPriority() uint8 { - if t == nil || t.CurrentPriority == nil { - return 0 - } - return *t.CurrentPriority -} - -// GetPreempt retrieves the value of the leaf Preempt from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Preempt is set, it can -// safely use t.GetPreempt() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Preempt == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetPreempt() bool { - if t == nil || t.Preempt == nil { - return true - } - return *t.Preempt -} - -// GetPreemptDelay retrieves the value of the leaf PreemptDelay from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreemptDelay is set, it can -// safely use t.GetPreemptDelay() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreemptDelay == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetPreemptDelay() uint16 { - if t == nil || t.PreemptDelay == nil { - return 0 - } - return *t.PreemptDelay -} - -// GetPriority retrieves the value of the leaf Priority from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Priority is set, it can -// safely use t.GetPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Priority == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetPriority() uint8 { - if t == nil || t.Priority == nil { - return 100 - } - return *t.Priority -} - -// GetVirtualAddress retrieves the value of the leaf VirtualAddress from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualAddress is set, it can -// safely use t.GetVirtualAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualAddress == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetVirtualAddress() []string { - if t == nil || t.VirtualAddress == nil { - return nil - } - return t.VirtualAddress -} - -// GetVirtualRouterId retrieves the value of the leaf VirtualRouterId from the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualRouterId is set, it can -// safely use t.GetVirtualRouterId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualRouterId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) GetVirtualRouterId() uint8 { - if t == nil || t.VirtualRouterId == nil { - return 0 - } - return *t.VirtualRouterId -} - -// SetAcceptMode sets the value of the leaf AcceptMode in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetAcceptMode(v bool) { - t.AcceptMode = &v -} - -// SetAdvertisementInterval sets the value of the leaf AdvertisementInterval in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetAdvertisementInterval(v uint16) { - t.AdvertisementInterval = &v -} - -// SetCurrentPriority sets the value of the leaf CurrentPriority in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetCurrentPriority(v uint8) { - t.CurrentPriority = &v -} - -// SetPreempt sets the value of the leaf Preempt in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetPreempt(v bool) { - t.Preempt = &v -} - -// SetPreemptDelay sets the value of the leaf PreemptDelay in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetPreemptDelay(v uint16) { - t.PreemptDelay = &v -} - -// SetPriority sets the value of the leaf Priority in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetPriority(v uint8) { - t.Priority = &v -} - -// SetVirtualAddress sets the value of the leaf VirtualAddress in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetVirtualAddress(v []string) { - t.VirtualAddress = v -} - -// SetVirtualRouterId sets the value of the leaf VirtualRouterId in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) SetVirtualRouterId(v uint8) { - t.VirtualRouterId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Address_VrrpGroup -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.AcceptMode == nil { - var v bool = false - t.AcceptMode = &v - } - if t.AdvertisementInterval == nil { - var v uint16 = 100 - t.AdvertisementInterval = &v - } - if t.Preempt == nil { - var v bool = true - t.Preempt = &v - } - if t.PreemptDelay == nil { - var v uint16 = 0 - t.PreemptDelay = &v - } - if t.Priority == nil { - var v uint8 = 100 - t.Priority = &v - } - t.InterfaceTracking.PopulateDefaults() -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv4_Address_VrrpGroup struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.VirtualRouterId == nil { - return nil, fmt.Errorf("nil value for key VirtualRouterId") - } - - return map[string]interface{}{ - "virtual-router-id": *t.VirtualRouterId, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Address_VrrpGroup"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Address_VrrpGroup. -func (*Interface_Subinterface_Ipv4_Address_VrrpGroup) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/vrrp/vrrp-group/interface-tracking YANG schema element. -type Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking struct { - PriorityDecrement *uint8 `path:"config/priority-decrement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority-decrement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - TrackInterface []string `path:"config/track-interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/track-interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) IsYANGGoStruct() {} - -// GetPriorityDecrement retrieves the value of the leaf PriorityDecrement from the Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PriorityDecrement is set, it can -// safely use t.GetPriorityDecrement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PriorityDecrement == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) GetPriorityDecrement() uint8 { - if t == nil || t.PriorityDecrement == nil { - return 0 - } - return *t.PriorityDecrement -} - -// GetTrackInterface retrieves the value of the leaf TrackInterface from the Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrackInterface is set, it can -// safely use t.GetTrackInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrackInterface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) GetTrackInterface() []string { - if t == nil || t.TrackInterface == nil { - return nil - } - return t.TrackInterface -} - -// SetPriorityDecrement sets the value of the leaf PriorityDecrement in the Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) SetPriorityDecrement(v uint8) { - t.PriorityDecrement = &v -} - -// SetTrackInterface sets the value of the leaf TrackInterface in the Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) SetTrackInterface(v []string) { - t.TrackInterface = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.PriorityDecrement == nil { - var v uint8 = 0 - t.PriorityDecrement = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking. -func (*Interface_Subinterface_Ipv4_Address_VrrpGroup_InterfaceTracking) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Counters represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/state/counters YANG schema element. -type Interface_Subinterface_Ipv4_Counters struct { - InDiscardedPkts *uint64 `path:"in-discarded-pkts" module:"openconfig-if-ip"` - InErrorPkts *uint64 `path:"in-error-pkts" module:"openconfig-if-ip"` - InForwardedOctets *uint64 `path:"in-forwarded-octets" module:"openconfig-if-ip"` - InForwardedPkts *uint64 `path:"in-forwarded-pkts" module:"openconfig-if-ip"` - InMulticastOctets *uint64 `path:"in-multicast-octets" module:"openconfig-if-ip"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-if-ip"` - InOctets *uint64 `path:"in-octets" module:"openconfig-if-ip"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-if-ip"` - OutDiscardedPkts *uint64 `path:"out-discarded-pkts" module:"openconfig-if-ip"` - OutErrorPkts *uint64 `path:"out-error-pkts" module:"openconfig-if-ip"` - OutForwardedOctets *uint64 `path:"out-forwarded-octets" module:"openconfig-if-ip"` - OutForwardedPkts *uint64 `path:"out-forwarded-pkts" module:"openconfig-if-ip"` - OutMulticastOctets *uint64 `path:"out-multicast-octets" module:"openconfig-if-ip"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-if-ip"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-if-ip"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Counters) IsYANGGoStruct() {} - -// GetInDiscardedPkts retrieves the value of the leaf InDiscardedPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscardedPkts is set, it can -// safely use t.GetInDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInDiscardedPkts() uint64 { - if t == nil || t.InDiscardedPkts == nil { - return 0 - } - return *t.InDiscardedPkts -} - -// GetInErrorPkts retrieves the value of the leaf InErrorPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrorPkts is set, it can -// safely use t.GetInErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInErrorPkts() uint64 { - if t == nil || t.InErrorPkts == nil { - return 0 - } - return *t.InErrorPkts -} - -// GetInForwardedOctets retrieves the value of the leaf InForwardedOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedOctets is set, it can -// safely use t.GetInForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInForwardedOctets() uint64 { - if t == nil || t.InForwardedOctets == nil { - return 0 - } - return *t.InForwardedOctets -} - -// GetInForwardedPkts retrieves the value of the leaf InForwardedPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedPkts is set, it can -// safely use t.GetInForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInForwardedPkts() uint64 { - if t == nil || t.InForwardedPkts == nil { - return 0 - } - return *t.InForwardedPkts -} - -// GetInMulticastOctets retrieves the value of the leaf InMulticastOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastOctets is set, it can -// safely use t.GetInMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInMulticastOctets() uint64 { - if t == nil || t.InMulticastOctets == nil { - return 0 - } - return *t.InMulticastOctets -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetOutDiscardedPkts retrieves the value of the leaf OutDiscardedPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscardedPkts is set, it can -// safely use t.GetOutDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutDiscardedPkts() uint64 { - if t == nil || t.OutDiscardedPkts == nil { - return 0 - } - return *t.OutDiscardedPkts -} - -// GetOutErrorPkts retrieves the value of the leaf OutErrorPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrorPkts is set, it can -// safely use t.GetOutErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutErrorPkts() uint64 { - if t == nil || t.OutErrorPkts == nil { - return 0 - } - return *t.OutErrorPkts -} - -// GetOutForwardedOctets retrieves the value of the leaf OutForwardedOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedOctets is set, it can -// safely use t.GetOutForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutForwardedOctets() uint64 { - if t == nil || t.OutForwardedOctets == nil { - return 0 - } - return *t.OutForwardedOctets -} - -// GetOutForwardedPkts retrieves the value of the leaf OutForwardedPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedPkts is set, it can -// safely use t.GetOutForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutForwardedPkts() uint64 { - if t == nil || t.OutForwardedPkts == nil { - return 0 - } - return *t.OutForwardedPkts -} - -// GetOutMulticastOctets retrieves the value of the leaf OutMulticastOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastOctets is set, it can -// safely use t.GetOutMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutMulticastOctets() uint64 { - if t == nil || t.OutMulticastOctets == nil { - return 0 - } - return *t.OutMulticastOctets -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Subinterface_Ipv4_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// SetInDiscardedPkts sets the value of the leaf InDiscardedPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInDiscardedPkts(v uint64) { - t.InDiscardedPkts = &v -} - -// SetInErrorPkts sets the value of the leaf InErrorPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInErrorPkts(v uint64) { - t.InErrorPkts = &v -} - -// SetInForwardedOctets sets the value of the leaf InForwardedOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInForwardedOctets(v uint64) { - t.InForwardedOctets = &v -} - -// SetInForwardedPkts sets the value of the leaf InForwardedPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInForwardedPkts(v uint64) { - t.InForwardedPkts = &v -} - -// SetInMulticastOctets sets the value of the leaf InMulticastOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInMulticastOctets(v uint64) { - t.InMulticastOctets = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetOutDiscardedPkts sets the value of the leaf OutDiscardedPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutDiscardedPkts(v uint64) { - t.OutDiscardedPkts = &v -} - -// SetOutErrorPkts sets the value of the leaf OutErrorPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutErrorPkts(v uint64) { - t.OutErrorPkts = &v -} - -// SetOutForwardedOctets sets the value of the leaf OutForwardedOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutForwardedOctets(v uint64) { - t.OutForwardedOctets = &v -} - -// SetOutForwardedPkts sets the value of the leaf OutForwardedPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutForwardedPkts(v uint64) { - t.OutForwardedPkts = &v -} - -// SetOutMulticastOctets sets the value of the leaf OutMulticastOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutMulticastOctets(v uint64) { - t.OutMulticastOctets = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_Subinterface_Ipv4_Counters -// struct. -func (t *Interface_Subinterface_Ipv4_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Counters) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Counters. -func (*Interface_Subinterface_Ipv4_Counters) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Neighbor represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/neighbors/neighbor YANG schema element. -type Interface_Subinterface_Ipv4_Neighbor struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - LinkLayerAddress *string `path:"config/link-layer-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/link-layer-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Origin E_IfIp_NeighborOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Neighbor implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Neighbor) IsYANGGoStruct() {} - -// GetIp retrieves the value of the leaf Ip from the Interface_Subinterface_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Neighbor) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetLinkLayerAddress retrieves the value of the leaf LinkLayerAddress from the Interface_Subinterface_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LinkLayerAddress is set, it can -// safely use t.GetLinkLayerAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LinkLayerAddress == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Neighbor) GetLinkLayerAddress() string { - if t == nil || t.LinkLayerAddress == nil { - return "" - } - return *t.LinkLayerAddress -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_Subinterface_Ipv4_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Neighbor) GetOrigin() E_IfIp_NeighborOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// SetIp sets the value of the leaf Ip in the Interface_Subinterface_Ipv4_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv4_Neighbor) SetIp(v string) { - t.Ip = &v -} - -// SetLinkLayerAddress sets the value of the leaf LinkLayerAddress in the Interface_Subinterface_Ipv4_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv4_Neighbor) SetLinkLayerAddress(v string) { - t.LinkLayerAddress = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_Subinterface_Ipv4_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv4_Neighbor) SetOrigin(v E_IfIp_NeighborOrigin) { - t.Origin = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Neighbor -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Neighbor) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv4_Neighbor struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv4_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Neighbor) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Neighbor"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Neighbor) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Neighbor. -func (*Interface_Subinterface_Ipv4_Neighbor) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_ProxyArp represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/proxy-arp YANG schema element. -type Interface_Subinterface_Ipv4_ProxyArp struct { - Mode E_ProxyArp_Mode `path:"config/mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_ProxyArp implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_ProxyArp) IsYANGGoStruct() {} - -// GetMode retrieves the value of the leaf Mode from the Interface_Subinterface_Ipv4_ProxyArp -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mode is set, it can -// safely use t.GetMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mode == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_ProxyArp) GetMode() E_ProxyArp_Mode { - if t == nil || t.Mode == 0 { - return ProxyArp_Mode_DISABLE - } - return t.Mode -} - -// SetMode sets the value of the leaf Mode in the Interface_Subinterface_Ipv4_ProxyArp -// struct. -func (t *Interface_Subinterface_Ipv4_ProxyArp) SetMode(v E_ProxyArp_Mode) { - t.Mode = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_ProxyArp -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_ProxyArp) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Mode == 0 { - t.Mode = ProxyArp_Mode_DISABLE - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_ProxyArp) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_ProxyArp"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_ProxyArp) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_ProxyArp) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_ProxyArp. -func (*Interface_Subinterface_Ipv4_ProxyArp) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Unnumbered represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/unnumbered YANG schema element. -type Interface_Subinterface_Ipv4_Unnumbered struct { - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceRef *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef `path:"interface-ref" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Unnumbered implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Unnumbered) IsYANGGoStruct() {} - -// GetOrCreateInterfaceRef retrieves the value of the InterfaceRef field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv4_Unnumbered) GetOrCreateInterfaceRef() *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef { - if t.InterfaceRef != nil { - return t.InterfaceRef - } - t.InterfaceRef = &Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef{} - return t.InterfaceRef -} - -// GetInterfaceRef returns the value of the InterfaceRef struct pointer -// from Interface_Subinterface_Ipv4_Unnumbered. If the receiver or the field InterfaceRef is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv4_Unnumbered) GetInterfaceRef() *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef { - if t != nil && t.InterfaceRef != nil { - return t.InterfaceRef - } - return nil -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface_Ipv4_Unnumbered -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Unnumbered) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return false - } - return *t.Enabled -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_Subinterface_Ipv4_Unnumbered -// struct. -func (t *Interface_Subinterface_Ipv4_Unnumbered) SetEnabled(v bool) { - t.Enabled = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Unnumbered -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Unnumbered) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = false - t.Enabled = &v - } - t.InterfaceRef.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Unnumbered) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Unnumbered"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Unnumbered) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Unnumbered) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Unnumbered. -func (*Interface_Subinterface_Ipv4_Unnumbered) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv4/unnumbered/interface-ref YANG schema element. -type Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef struct { - Interface *string `path:"config/interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Subinterface *uint32 `path:"config/subinterface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/subinterface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) IsYANGGoStruct() {} - -// GetInterface retrieves the value of the leaf Interface from the Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interface is set, it can -// safely use t.GetInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) GetInterface() string { - if t == nil || t.Interface == nil { - return "" - } - return *t.Interface -} - -// GetSubinterface retrieves the value of the leaf Subinterface from the Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Subinterface is set, it can -// safely use t.GetSubinterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Subinterface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) GetSubinterface() uint32 { - if t == nil || t.Subinterface == nil { - return 0 - } - return *t.Subinterface -} - -// SetInterface sets the value of the leaf Interface in the Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef -// struct. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) SetInterface(v string) { - t.Interface = &v -} - -// SetSubinterface sets the value of the leaf Subinterface in the Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef -// struct. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) SetSubinterface(v uint32) { - t.Subinterface = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef. -func (*Interface_Subinterface_Ipv4_Unnumbered_InterfaceRef) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6 represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6 YANG schema element. -type Interface_Subinterface_Ipv6 struct { - Address map[string]*Interface_Subinterface_Ipv6_Address `path:"addresses/address" module:"openconfig-if-ip/openconfig-if-ip"` - Counters *Interface_Subinterface_Ipv6_Counters `path:"state/counters" module:"openconfig-if-ip/openconfig-if-ip"` - DhcpClient *bool `path:"config/dhcp-client" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dhcp-client" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - DupAddrDetectTransmits *uint32 `path:"config/dup-addr-detect-transmits" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/dup-addr-detect-transmits" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - LearnUnsolicited E_Ipv6_LearnUnsolicited `path:"config/learn-unsolicited" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/learn-unsolicited" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mtu *uint32 `path:"config/mtu" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mtu" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Neighbor map[string]*Interface_Subinterface_Ipv6_Neighbor `path:"neighbors/neighbor" module:"openconfig-if-ip/openconfig-if-ip"` - RouterAdvertisement *Interface_Subinterface_Ipv6_RouterAdvertisement `path:"router-advertisement" module:"openconfig-if-ip"` - Unnumbered *Interface_Subinterface_Ipv6_Unnumbered `path:"unnumbered" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6 implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6) IsYANGGoStruct() {} - -// NewAddress creates a new entry in the Address list of the -// Interface_Subinterface_Ipv6 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv6) NewAddress(Ip string) (*Interface_Subinterface_Ipv6_Address, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv6_Address) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Address[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Address", key) - } - - t.Address[key] = &Interface_Subinterface_Ipv6_Address{ - Ip: &Ip, - } - - return t.Address[key], nil -} - -// RenameAddress renames an entry in the list Address within -// the Interface_Subinterface_Ipv6 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv6) RenameAddress(oldK, newK string) error { - if _, ok := t.Address[newK]; ok { - return fmt.Errorf("key %v already exists in Address", newK) - } - - e, ok := t.Address[oldK] - if !ok { - return fmt.Errorf("key %v not found in Address", oldK) - } - e.Ip = &newK - - t.Address[newK] = e - delete(t.Address, oldK) - return nil -} - -// GetOrCreateAddressMap returns the list (map) from Interface_Subinterface_Ipv6. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv6) GetOrCreateAddressMap() map[string]*Interface_Subinterface_Ipv6_Address { - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv6_Address) - } - return t.Address -} - -// GetOrCreateAddress retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv6) GetOrCreateAddress(Ip string) *Interface_Subinterface_Ipv6_Address { - - key := Ip - - if v, ok := t.Address[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewAddress(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateAddress got unexpected error: %v", err)) - } - return v -} - -// GetAddress retrieves the value with the specified key from -// the Address map field of Interface_Subinterface_Ipv6. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv6) GetAddress(Ip string) *Interface_Subinterface_Ipv6_Address { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Address[key]; ok { - return lm - } - return nil -} - -// DeleteAddress deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv6) DeleteAddress(Ip string) { - key := Ip - - delete(t.Address, key) -} - -// AppendAddress appends the supplied Interface_Subinterface_Ipv6_Address struct to the -// list Address of Interface_Subinterface_Ipv6. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv6_Address already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv6) AppendAddress(v *Interface_Subinterface_Ipv6_Address) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Address == nil { - t.Address = make(map[string]*Interface_Subinterface_Ipv6_Address) - } - - if _, ok := t.Address[key]; ok { - return fmt.Errorf("duplicate key for list Address %v", key) - } - - t.Address[key] = v - return nil -} - -// NewNeighbor creates a new entry in the Neighbor list of the -// Interface_Subinterface_Ipv6 struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv6) NewNeighbor(Ip string) (*Interface_Subinterface_Ipv6_Neighbor, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv6_Neighbor) - } - - key := Ip - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Neighbor[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Neighbor", key) - } - - t.Neighbor[key] = &Interface_Subinterface_Ipv6_Neighbor{ - Ip: &Ip, - } - - return t.Neighbor[key], nil -} - -// RenameNeighbor renames an entry in the list Neighbor within -// the Interface_Subinterface_Ipv6 struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv6) RenameNeighbor(oldK, newK string) error { - if _, ok := t.Neighbor[newK]; ok { - return fmt.Errorf("key %v already exists in Neighbor", newK) - } - - e, ok := t.Neighbor[oldK] - if !ok { - return fmt.Errorf("key %v not found in Neighbor", oldK) - } - e.Ip = &newK - - t.Neighbor[newK] = e - delete(t.Neighbor, oldK) - return nil -} - -// GetOrCreateNeighborMap returns the list (map) from Interface_Subinterface_Ipv6. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv6) GetOrCreateNeighborMap() map[string]*Interface_Subinterface_Ipv6_Neighbor { - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv6_Neighbor) - } - return t.Neighbor -} - -// GetOrCreateNeighbor retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv6) GetOrCreateNeighbor(Ip string) *Interface_Subinterface_Ipv6_Neighbor { - - key := Ip - - if v, ok := t.Neighbor[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewNeighbor(Ip) - if err != nil { - panic(fmt.Sprintf("GetOrCreateNeighbor got unexpected error: %v", err)) - } - return v -} - -// GetNeighbor retrieves the value with the specified key from -// the Neighbor map field of Interface_Subinterface_Ipv6. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv6) GetNeighbor(Ip string) *Interface_Subinterface_Ipv6_Neighbor { - - if t == nil { - return nil - } - - key := Ip - - if lm, ok := t.Neighbor[key]; ok { - return lm - } - return nil -} - -// DeleteNeighbor deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv6) DeleteNeighbor(Ip string) { - key := Ip - - delete(t.Neighbor, key) -} - -// AppendNeighbor appends the supplied Interface_Subinterface_Ipv6_Neighbor struct to the -// list Neighbor of Interface_Subinterface_Ipv6. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv6_Neighbor already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv6) AppendNeighbor(v *Interface_Subinterface_Ipv6_Neighbor) error { - if v.Ip == nil { - return fmt.Errorf("invalid nil key received for Ip") - } - - key := *v.Ip - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Neighbor == nil { - t.Neighbor = make(map[string]*Interface_Subinterface_Ipv6_Neighbor) - } - - if _, ok := t.Neighbor[key]; ok { - return fmt.Errorf("duplicate key for list Neighbor %v", key) - } - - t.Neighbor[key] = v - return nil -} - -// GetOrCreateCounters retrieves the value of the Counters field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv6) GetOrCreateCounters() *Interface_Subinterface_Ipv6_Counters { - if t.Counters != nil { - return t.Counters - } - t.Counters = &Interface_Subinterface_Ipv6_Counters{} - return t.Counters -} - -// GetOrCreateRouterAdvertisement retrieves the value of the RouterAdvertisement field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv6) GetOrCreateRouterAdvertisement() *Interface_Subinterface_Ipv6_RouterAdvertisement { - if t.RouterAdvertisement != nil { - return t.RouterAdvertisement - } - t.RouterAdvertisement = &Interface_Subinterface_Ipv6_RouterAdvertisement{} - return t.RouterAdvertisement -} - -// GetOrCreateUnnumbered retrieves the value of the Unnumbered field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv6) GetOrCreateUnnumbered() *Interface_Subinterface_Ipv6_Unnumbered { - if t.Unnumbered != nil { - return t.Unnumbered - } - t.Unnumbered = &Interface_Subinterface_Ipv6_Unnumbered{} - return t.Unnumbered -} - -// GetCounters returns the value of the Counters struct pointer -// from Interface_Subinterface_Ipv6. If the receiver or the field Counters is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv6) GetCounters() *Interface_Subinterface_Ipv6_Counters { - if t != nil && t.Counters != nil { - return t.Counters - } - return nil -} - -// GetRouterAdvertisement returns the value of the RouterAdvertisement struct pointer -// from Interface_Subinterface_Ipv6. If the receiver or the field RouterAdvertisement is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv6) GetRouterAdvertisement() *Interface_Subinterface_Ipv6_RouterAdvertisement { - if t != nil && t.RouterAdvertisement != nil { - return t.RouterAdvertisement - } - return nil -} - -// GetUnnumbered returns the value of the Unnumbered struct pointer -// from Interface_Subinterface_Ipv6. If the receiver or the field Unnumbered is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv6) GetUnnumbered() *Interface_Subinterface_Ipv6_Unnumbered { - if t != nil && t.Unnumbered != nil { - return t.Unnumbered - } - return nil -} - -// GetDhcpClient retrieves the value of the leaf DhcpClient from the Interface_Subinterface_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DhcpClient is set, it can -// safely use t.GetDhcpClient() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DhcpClient == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6) GetDhcpClient() bool { - if t == nil || t.DhcpClient == nil { - return false - } - return *t.DhcpClient -} - -// GetDupAddrDetectTransmits retrieves the value of the leaf DupAddrDetectTransmits from the Interface_Subinterface_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DupAddrDetectTransmits is set, it can -// safely use t.GetDupAddrDetectTransmits() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DupAddrDetectTransmits == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6) GetDupAddrDetectTransmits() uint32 { - if t == nil || t.DupAddrDetectTransmits == nil { - return 1 - } - return *t.DupAddrDetectTransmits -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return true - } - return *t.Enabled -} - -// GetLearnUnsolicited retrieves the value of the leaf LearnUnsolicited from the Interface_Subinterface_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LearnUnsolicited is set, it can -// safely use t.GetLearnUnsolicited() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LearnUnsolicited == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6) GetLearnUnsolicited() E_Ipv6_LearnUnsolicited { - if t == nil || t.LearnUnsolicited == 0 { - return Ipv6_LearnUnsolicited_NONE - } - return t.LearnUnsolicited -} - -// GetMtu retrieves the value of the leaf Mtu from the Interface_Subinterface_Ipv6 -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mtu is set, it can -// safely use t.GetMtu() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mtu == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6) GetMtu() uint32 { - if t == nil || t.Mtu == nil { - return 0 - } - return *t.Mtu -} - -// SetDhcpClient sets the value of the leaf DhcpClient in the Interface_Subinterface_Ipv6 -// struct. -func (t *Interface_Subinterface_Ipv6) SetDhcpClient(v bool) { - t.DhcpClient = &v -} - -// SetDupAddrDetectTransmits sets the value of the leaf DupAddrDetectTransmits in the Interface_Subinterface_Ipv6 -// struct. -func (t *Interface_Subinterface_Ipv6) SetDupAddrDetectTransmits(v uint32) { - t.DupAddrDetectTransmits = &v -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_Subinterface_Ipv6 -// struct. -func (t *Interface_Subinterface_Ipv6) SetEnabled(v bool) { - t.Enabled = &v -} - -// SetLearnUnsolicited sets the value of the leaf LearnUnsolicited in the Interface_Subinterface_Ipv6 -// struct. -func (t *Interface_Subinterface_Ipv6) SetLearnUnsolicited(v E_Ipv6_LearnUnsolicited) { - t.LearnUnsolicited = v -} - -// SetMtu sets the value of the leaf Mtu in the Interface_Subinterface_Ipv6 -// struct. -func (t *Interface_Subinterface_Ipv6) SetMtu(v uint32) { - t.Mtu = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6 -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.DhcpClient == nil { - var v bool = false - t.DhcpClient = &v - } - if t.DupAddrDetectTransmits == nil { - var v uint32 = 1 - t.DupAddrDetectTransmits = &v - } - if t.Enabled == nil { - var v bool = true - t.Enabled = &v - } - if t.LearnUnsolicited == 0 { - t.LearnUnsolicited = Ipv6_LearnUnsolicited_NONE - } - t.Counters.PopulateDefaults() - t.RouterAdvertisement.PopulateDefaults() - t.Unnumbered.PopulateDefaults() - for _, e := range t.Address { - e.PopulateDefaults() - } - for _, e := range t.Neighbor { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6. -func (*Interface_Subinterface_Ipv6) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Address represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address YANG schema element. -type Interface_Subinterface_Ipv6_Address struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - Origin E_IfIp_IpAddressOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` - PrefixLength *uint8 `path:"config/prefix-length" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/prefix-length" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Status E_Address_Status `path:"state/status" module:"openconfig-if-ip/openconfig-if-ip"` - Type E_InetTypes_Ipv6AddressType `path:"config/type" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/type" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VrrpGroup map[uint8]*Interface_Subinterface_Ipv6_Address_VrrpGroup `path:"vrrp/vrrp-group" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Address implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Address) IsYANGGoStruct() {} - -// NewVrrpGroup creates a new entry in the VrrpGroup list of the -// Interface_Subinterface_Ipv6_Address struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv6_Address) NewVrrpGroup(VirtualRouterId uint8) (*Interface_Subinterface_Ipv6_Address_VrrpGroup, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv6_Address_VrrpGroup) - } - - key := VirtualRouterId - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.VrrpGroup[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list VrrpGroup", key) - } - - t.VrrpGroup[key] = &Interface_Subinterface_Ipv6_Address_VrrpGroup{ - VirtualRouterId: &VirtualRouterId, - } - - return t.VrrpGroup[key], nil -} - -// RenameVrrpGroup renames an entry in the list VrrpGroup within -// the Interface_Subinterface_Ipv6_Address struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv6_Address) RenameVrrpGroup(oldK, newK uint8) error { - if _, ok := t.VrrpGroup[newK]; ok { - return fmt.Errorf("key %v already exists in VrrpGroup", newK) - } - - e, ok := t.VrrpGroup[oldK] - if !ok { - return fmt.Errorf("key %v not found in VrrpGroup", oldK) - } - e.VirtualRouterId = &newK - - t.VrrpGroup[newK] = e - delete(t.VrrpGroup, oldK) - return nil -} - -// GetOrCreateVrrpGroupMap returns the list (map) from Interface_Subinterface_Ipv6_Address. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv6_Address) GetOrCreateVrrpGroupMap() map[uint8]*Interface_Subinterface_Ipv6_Address_VrrpGroup { - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv6_Address_VrrpGroup) - } - return t.VrrpGroup -} - -// GetOrCreateVrrpGroup retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6_Address. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv6_Address) GetOrCreateVrrpGroup(VirtualRouterId uint8) *Interface_Subinterface_Ipv6_Address_VrrpGroup { - - key := VirtualRouterId - - if v, ok := t.VrrpGroup[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewVrrpGroup(VirtualRouterId) - if err != nil { - panic(fmt.Sprintf("GetOrCreateVrrpGroup got unexpected error: %v", err)) - } - return v -} - -// GetVrrpGroup retrieves the value with the specified key from -// the VrrpGroup map field of Interface_Subinterface_Ipv6_Address. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv6_Address) GetVrrpGroup(VirtualRouterId uint8) *Interface_Subinterface_Ipv6_Address_VrrpGroup { - - if t == nil { - return nil - } - - key := VirtualRouterId - - if lm, ok := t.VrrpGroup[key]; ok { - return lm - } - return nil -} - -// DeleteVrrpGroup deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6_Address. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv6_Address) DeleteVrrpGroup(VirtualRouterId uint8) { - key := VirtualRouterId - - delete(t.VrrpGroup, key) -} - -// AppendVrrpGroup appends the supplied Interface_Subinterface_Ipv6_Address_VrrpGroup struct to the -// list VrrpGroup of Interface_Subinterface_Ipv6_Address. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv6_Address_VrrpGroup already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv6_Address) AppendVrrpGroup(v *Interface_Subinterface_Ipv6_Address_VrrpGroup) error { - if v.VirtualRouterId == nil { - return fmt.Errorf("invalid nil key received for VirtualRouterId") - } - - key := *v.VirtualRouterId - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.VrrpGroup == nil { - t.VrrpGroup = make(map[uint8]*Interface_Subinterface_Ipv6_Address_VrrpGroup) - } - - if _, ok := t.VrrpGroup[key]; ok { - return fmt.Errorf("duplicate key for list VrrpGroup %v", key) - } - - t.VrrpGroup[key] = v - return nil -} - -// GetIp retrieves the value of the leaf Ip from the Interface_Subinterface_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_Subinterface_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address) GetOrigin() E_IfIp_IpAddressOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// GetPrefixLength retrieves the value of the leaf PrefixLength from the Interface_Subinterface_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PrefixLength is set, it can -// safely use t.GetPrefixLength() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PrefixLength == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address) GetPrefixLength() uint8 { - if t == nil || t.PrefixLength == nil { - return 0 - } - return *t.PrefixLength -} - -// GetStatus retrieves the value of the leaf Status from the Interface_Subinterface_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Status is set, it can -// safely use t.GetStatus() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Status == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address) GetStatus() E_Address_Status { - if t == nil || t.Status == 0 { - return 0 - } - return t.Status -} - -// GetType retrieves the value of the leaf Type from the Interface_Subinterface_Ipv6_Address -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Type is set, it can -// safely use t.GetType() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Type == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address) GetType() E_InetTypes_Ipv6AddressType { - if t == nil || t.Type == 0 { - return InetTypes_Ipv6AddressType_GLOBAL_UNICAST - } - return t.Type -} - -// SetIp sets the value of the leaf Ip in the Interface_Subinterface_Ipv6_Address -// struct. -func (t *Interface_Subinterface_Ipv6_Address) SetIp(v string) { - t.Ip = &v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_Subinterface_Ipv6_Address -// struct. -func (t *Interface_Subinterface_Ipv6_Address) SetOrigin(v E_IfIp_IpAddressOrigin) { - t.Origin = v -} - -// SetPrefixLength sets the value of the leaf PrefixLength in the Interface_Subinterface_Ipv6_Address -// struct. -func (t *Interface_Subinterface_Ipv6_Address) SetPrefixLength(v uint8) { - t.PrefixLength = &v -} - -// SetStatus sets the value of the leaf Status in the Interface_Subinterface_Ipv6_Address -// struct. -func (t *Interface_Subinterface_Ipv6_Address) SetStatus(v E_Address_Status) { - t.Status = v -} - -// SetType sets the value of the leaf Type in the Interface_Subinterface_Ipv6_Address -// struct. -func (t *Interface_Subinterface_Ipv6_Address) SetType(v E_InetTypes_Ipv6AddressType) { - t.Type = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Address -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Address) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Type == 0 { - t.Type = InetTypes_Ipv6AddressType_GLOBAL_UNICAST - } - for _, e := range t.VrrpGroup { - e.PopulateDefaults() - } -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv6_Address struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv6_Address) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Address"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Address) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Address. -func (*Interface_Subinterface_Ipv6_Address) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Address_VrrpGroup represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/vrrp/vrrp-group YANG schema element. -type Interface_Subinterface_Ipv6_Address_VrrpGroup struct { - AcceptMode *bool `path:"config/accept-mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/accept-mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - AdvertisementInterval *uint16 `path:"config/advertisement-interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/advertisement-interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - CurrentPriority *uint8 `path:"state/current-priority" module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceTracking *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking `path:"interface-tracking" module:"openconfig-if-ip"` - Preempt *bool `path:"config/preempt" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreemptDelay *uint16 `path:"config/preempt-delay" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preempt-delay" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Priority *uint8 `path:"config/priority" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualAddress []string `path:"config/virtual-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualLinkLocal *string `path:"config/virtual-link-local" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/virtual-link-local" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - VirtualRouterId *uint8 `path:"config/virtual-router-id|virtual-router-id" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/virtual-router-id|virtual-router-id" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Address_VrrpGroup implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Address_VrrpGroup) IsYANGGoStruct() {} - -// GetOrCreateInterfaceTracking retrieves the value of the InterfaceTracking field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetOrCreateInterfaceTracking() *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking { - if t.InterfaceTracking != nil { - return t.InterfaceTracking - } - t.InterfaceTracking = &Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking{} - return t.InterfaceTracking -} - -// GetInterfaceTracking returns the value of the InterfaceTracking struct pointer -// from Interface_Subinterface_Ipv6_Address_VrrpGroup. If the receiver or the field InterfaceTracking is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetInterfaceTracking() *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking { - if t != nil && t.InterfaceTracking != nil { - return t.InterfaceTracking - } - return nil -} - -// GetAcceptMode retrieves the value of the leaf AcceptMode from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AcceptMode is set, it can -// safely use t.GetAcceptMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AcceptMode == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetAcceptMode() bool { - if t == nil || t.AcceptMode == nil { - return false - } - return *t.AcceptMode -} - -// GetAdvertisementInterval retrieves the value of the leaf AdvertisementInterval from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if AdvertisementInterval is set, it can -// safely use t.GetAdvertisementInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.AdvertisementInterval == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetAdvertisementInterval() uint16 { - if t == nil || t.AdvertisementInterval == nil { - return 100 - } - return *t.AdvertisementInterval -} - -// GetCurrentPriority retrieves the value of the leaf CurrentPriority from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if CurrentPriority is set, it can -// safely use t.GetCurrentPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.CurrentPriority == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetCurrentPriority() uint8 { - if t == nil || t.CurrentPriority == nil { - return 0 - } - return *t.CurrentPriority -} - -// GetPreempt retrieves the value of the leaf Preempt from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Preempt is set, it can -// safely use t.GetPreempt() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Preempt == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetPreempt() bool { - if t == nil || t.Preempt == nil { - return true - } - return *t.Preempt -} - -// GetPreemptDelay retrieves the value of the leaf PreemptDelay from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreemptDelay is set, it can -// safely use t.GetPreemptDelay() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreemptDelay == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetPreemptDelay() uint16 { - if t == nil || t.PreemptDelay == nil { - return 0 - } - return *t.PreemptDelay -} - -// GetPriority retrieves the value of the leaf Priority from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Priority is set, it can -// safely use t.GetPriority() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Priority == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetPriority() uint8 { - if t == nil || t.Priority == nil { - return 100 - } - return *t.Priority -} - -// GetVirtualAddress retrieves the value of the leaf VirtualAddress from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualAddress is set, it can -// safely use t.GetVirtualAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualAddress == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetVirtualAddress() []string { - if t == nil || t.VirtualAddress == nil { - return nil - } - return t.VirtualAddress -} - -// GetVirtualLinkLocal retrieves the value of the leaf VirtualLinkLocal from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualLinkLocal is set, it can -// safely use t.GetVirtualLinkLocal() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualLinkLocal == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetVirtualLinkLocal() string { - if t == nil || t.VirtualLinkLocal == nil { - return "" - } - return *t.VirtualLinkLocal -} - -// GetVirtualRouterId retrieves the value of the leaf VirtualRouterId from the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VirtualRouterId is set, it can -// safely use t.GetVirtualRouterId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VirtualRouterId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) GetVirtualRouterId() uint8 { - if t == nil || t.VirtualRouterId == nil { - return 0 - } - return *t.VirtualRouterId -} - -// SetAcceptMode sets the value of the leaf AcceptMode in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetAcceptMode(v bool) { - t.AcceptMode = &v -} - -// SetAdvertisementInterval sets the value of the leaf AdvertisementInterval in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetAdvertisementInterval(v uint16) { - t.AdvertisementInterval = &v -} - -// SetCurrentPriority sets the value of the leaf CurrentPriority in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetCurrentPriority(v uint8) { - t.CurrentPriority = &v -} - -// SetPreempt sets the value of the leaf Preempt in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetPreempt(v bool) { - t.Preempt = &v -} - -// SetPreemptDelay sets the value of the leaf PreemptDelay in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetPreemptDelay(v uint16) { - t.PreemptDelay = &v -} - -// SetPriority sets the value of the leaf Priority in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetPriority(v uint8) { - t.Priority = &v -} - -// SetVirtualAddress sets the value of the leaf VirtualAddress in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetVirtualAddress(v []string) { - t.VirtualAddress = v -} - -// SetVirtualLinkLocal sets the value of the leaf VirtualLinkLocal in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetVirtualLinkLocal(v string) { - t.VirtualLinkLocal = &v -} - -// SetVirtualRouterId sets the value of the leaf VirtualRouterId in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) SetVirtualRouterId(v uint8) { - t.VirtualRouterId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Address_VrrpGroup -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.AcceptMode == nil { - var v bool = false - t.AcceptMode = &v - } - if t.AdvertisementInterval == nil { - var v uint16 = 100 - t.AdvertisementInterval = &v - } - if t.Preempt == nil { - var v bool = true - t.Preempt = &v - } - if t.PreemptDelay == nil { - var v uint16 = 0 - t.PreemptDelay = &v - } - if t.Priority == nil { - var v uint8 = 100 - t.Priority = &v - } - t.InterfaceTracking.PopulateDefaults() -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv6_Address_VrrpGroup struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) ΛListKeyMap() (map[string]interface{}, error) { - if t.VirtualRouterId == nil { - return nil, fmt.Errorf("nil value for key VirtualRouterId") - } - - return map[string]interface{}{ - "virtual-router-id": *t.VirtualRouterId, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Address_VrrpGroup"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Address_VrrpGroup. -func (*Interface_Subinterface_Ipv6_Address_VrrpGroup) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/addresses/address/vrrp/vrrp-group/interface-tracking YANG schema element. -type Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking struct { - PriorityDecrement *uint8 `path:"config/priority-decrement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/priority-decrement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - TrackInterface []string `path:"config/track-interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/track-interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) IsYANGGoStruct() {} - -// GetPriorityDecrement retrieves the value of the leaf PriorityDecrement from the Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PriorityDecrement is set, it can -// safely use t.GetPriorityDecrement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PriorityDecrement == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) GetPriorityDecrement() uint8 { - if t == nil || t.PriorityDecrement == nil { - return 0 - } - return *t.PriorityDecrement -} - -// GetTrackInterface retrieves the value of the leaf TrackInterface from the Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if TrackInterface is set, it can -// safely use t.GetTrackInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.TrackInterface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) GetTrackInterface() []string { - if t == nil || t.TrackInterface == nil { - return nil - } - return t.TrackInterface -} - -// SetPriorityDecrement sets the value of the leaf PriorityDecrement in the Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) SetPriorityDecrement(v uint8) { - t.PriorityDecrement = &v -} - -// SetTrackInterface sets the value of the leaf TrackInterface in the Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking -// struct. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) SetTrackInterface(v []string) { - t.TrackInterface = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.PriorityDecrement == nil { - var v uint8 = 0 - t.PriorityDecrement = &v - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking. -func (*Interface_Subinterface_Ipv6_Address_VrrpGroup_InterfaceTracking) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Counters represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/state/counters YANG schema element. -type Interface_Subinterface_Ipv6_Counters struct { - InDiscardedPkts *uint64 `path:"in-discarded-pkts" module:"openconfig-if-ip"` - InErrorPkts *uint64 `path:"in-error-pkts" module:"openconfig-if-ip"` - InForwardedOctets *uint64 `path:"in-forwarded-octets" module:"openconfig-if-ip"` - InForwardedPkts *uint64 `path:"in-forwarded-pkts" module:"openconfig-if-ip"` - InMulticastOctets *uint64 `path:"in-multicast-octets" module:"openconfig-if-ip"` - InMulticastPkts *uint64 `path:"in-multicast-pkts" module:"openconfig-if-ip"` - InOctets *uint64 `path:"in-octets" module:"openconfig-if-ip"` - InPkts *uint64 `path:"in-pkts" module:"openconfig-if-ip"` - OutDiscardedPkts *uint64 `path:"out-discarded-pkts" module:"openconfig-if-ip"` - OutErrorPkts *uint64 `path:"out-error-pkts" module:"openconfig-if-ip"` - OutForwardedOctets *uint64 `path:"out-forwarded-octets" module:"openconfig-if-ip"` - OutForwardedPkts *uint64 `path:"out-forwarded-pkts" module:"openconfig-if-ip"` - OutMulticastOctets *uint64 `path:"out-multicast-octets" module:"openconfig-if-ip"` - OutMulticastPkts *uint64 `path:"out-multicast-pkts" module:"openconfig-if-ip"` - OutOctets *uint64 `path:"out-octets" module:"openconfig-if-ip"` - OutPkts *uint64 `path:"out-pkts" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Counters implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Counters) IsYANGGoStruct() {} - -// GetInDiscardedPkts retrieves the value of the leaf InDiscardedPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InDiscardedPkts is set, it can -// safely use t.GetInDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInDiscardedPkts() uint64 { - if t == nil || t.InDiscardedPkts == nil { - return 0 - } - return *t.InDiscardedPkts -} - -// GetInErrorPkts retrieves the value of the leaf InErrorPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InErrorPkts is set, it can -// safely use t.GetInErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInErrorPkts() uint64 { - if t == nil || t.InErrorPkts == nil { - return 0 - } - return *t.InErrorPkts -} - -// GetInForwardedOctets retrieves the value of the leaf InForwardedOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedOctets is set, it can -// safely use t.GetInForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInForwardedOctets() uint64 { - if t == nil || t.InForwardedOctets == nil { - return 0 - } - return *t.InForwardedOctets -} - -// GetInForwardedPkts retrieves the value of the leaf InForwardedPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InForwardedPkts is set, it can -// safely use t.GetInForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInForwardedPkts() uint64 { - if t == nil || t.InForwardedPkts == nil { - return 0 - } - return *t.InForwardedPkts -} - -// GetInMulticastOctets retrieves the value of the leaf InMulticastOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastOctets is set, it can -// safely use t.GetInMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInMulticastOctets() uint64 { - if t == nil || t.InMulticastOctets == nil { - return 0 - } - return *t.InMulticastOctets -} - -// GetInMulticastPkts retrieves the value of the leaf InMulticastPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InMulticastPkts is set, it can -// safely use t.GetInMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInMulticastPkts() uint64 { - if t == nil || t.InMulticastPkts == nil { - return 0 - } - return *t.InMulticastPkts -} - -// GetInOctets retrieves the value of the leaf InOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InOctets is set, it can -// safely use t.GetInOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInOctets() uint64 { - if t == nil || t.InOctets == nil { - return 0 - } - return *t.InOctets -} - -// GetInPkts retrieves the value of the leaf InPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InPkts is set, it can -// safely use t.GetInPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetInPkts() uint64 { - if t == nil || t.InPkts == nil { - return 0 - } - return *t.InPkts -} - -// GetOutDiscardedPkts retrieves the value of the leaf OutDiscardedPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutDiscardedPkts is set, it can -// safely use t.GetOutDiscardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutDiscardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutDiscardedPkts() uint64 { - if t == nil || t.OutDiscardedPkts == nil { - return 0 - } - return *t.OutDiscardedPkts -} - -// GetOutErrorPkts retrieves the value of the leaf OutErrorPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutErrorPkts is set, it can -// safely use t.GetOutErrorPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutErrorPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutErrorPkts() uint64 { - if t == nil || t.OutErrorPkts == nil { - return 0 - } - return *t.OutErrorPkts -} - -// GetOutForwardedOctets retrieves the value of the leaf OutForwardedOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedOctets is set, it can -// safely use t.GetOutForwardedOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutForwardedOctets() uint64 { - if t == nil || t.OutForwardedOctets == nil { - return 0 - } - return *t.OutForwardedOctets -} - -// GetOutForwardedPkts retrieves the value of the leaf OutForwardedPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutForwardedPkts is set, it can -// safely use t.GetOutForwardedPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutForwardedPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutForwardedPkts() uint64 { - if t == nil || t.OutForwardedPkts == nil { - return 0 - } - return *t.OutForwardedPkts -} - -// GetOutMulticastOctets retrieves the value of the leaf OutMulticastOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastOctets is set, it can -// safely use t.GetOutMulticastOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutMulticastOctets() uint64 { - if t == nil || t.OutMulticastOctets == nil { - return 0 - } - return *t.OutMulticastOctets -} - -// GetOutMulticastPkts retrieves the value of the leaf OutMulticastPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutMulticastPkts is set, it can -// safely use t.GetOutMulticastPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutMulticastPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutMulticastPkts() uint64 { - if t == nil || t.OutMulticastPkts == nil { - return 0 - } - return *t.OutMulticastPkts -} - -// GetOutOctets retrieves the value of the leaf OutOctets from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutOctets is set, it can -// safely use t.GetOutOctets() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutOctets == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutOctets() uint64 { - if t == nil || t.OutOctets == nil { - return 0 - } - return *t.OutOctets -} - -// GetOutPkts retrieves the value of the leaf OutPkts from the Interface_Subinterface_Ipv6_Counters -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OutPkts is set, it can -// safely use t.GetOutPkts() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OutPkts == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Counters) GetOutPkts() uint64 { - if t == nil || t.OutPkts == nil { - return 0 - } - return *t.OutPkts -} - -// SetInDiscardedPkts sets the value of the leaf InDiscardedPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInDiscardedPkts(v uint64) { - t.InDiscardedPkts = &v -} - -// SetInErrorPkts sets the value of the leaf InErrorPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInErrorPkts(v uint64) { - t.InErrorPkts = &v -} - -// SetInForwardedOctets sets the value of the leaf InForwardedOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInForwardedOctets(v uint64) { - t.InForwardedOctets = &v -} - -// SetInForwardedPkts sets the value of the leaf InForwardedPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInForwardedPkts(v uint64) { - t.InForwardedPkts = &v -} - -// SetInMulticastOctets sets the value of the leaf InMulticastOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInMulticastOctets(v uint64) { - t.InMulticastOctets = &v -} - -// SetInMulticastPkts sets the value of the leaf InMulticastPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInMulticastPkts(v uint64) { - t.InMulticastPkts = &v -} - -// SetInOctets sets the value of the leaf InOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInOctets(v uint64) { - t.InOctets = &v -} - -// SetInPkts sets the value of the leaf InPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetInPkts(v uint64) { - t.InPkts = &v -} - -// SetOutDiscardedPkts sets the value of the leaf OutDiscardedPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutDiscardedPkts(v uint64) { - t.OutDiscardedPkts = &v -} - -// SetOutErrorPkts sets the value of the leaf OutErrorPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutErrorPkts(v uint64) { - t.OutErrorPkts = &v -} - -// SetOutForwardedOctets sets the value of the leaf OutForwardedOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutForwardedOctets(v uint64) { - t.OutForwardedOctets = &v -} - -// SetOutForwardedPkts sets the value of the leaf OutForwardedPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutForwardedPkts(v uint64) { - t.OutForwardedPkts = &v -} - -// SetOutMulticastOctets sets the value of the leaf OutMulticastOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutMulticastOctets(v uint64) { - t.OutMulticastOctets = &v -} - -// SetOutMulticastPkts sets the value of the leaf OutMulticastPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutMulticastPkts(v uint64) { - t.OutMulticastPkts = &v -} - -// SetOutOctets sets the value of the leaf OutOctets in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutOctets(v uint64) { - t.OutOctets = &v -} - -// SetOutPkts sets the value of the leaf OutPkts in the Interface_Subinterface_Ipv6_Counters -// struct. -func (t *Interface_Subinterface_Ipv6_Counters) SetOutPkts(v uint64) { - t.OutPkts = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Counters -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Counters) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Counters) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Counters"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Counters) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Counters) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Counters. -func (*Interface_Subinterface_Ipv6_Counters) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Neighbor represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/neighbors/neighbor YANG schema element. -type Interface_Subinterface_Ipv6_Neighbor struct { - Ip *string `path:"config/ip|ip" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/ip|ip" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - IsRouter *bool `path:"state/is-router" module:"openconfig-if-ip/openconfig-if-ip"` - LinkLayerAddress *string `path:"config/link-layer-address" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/link-layer-address" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - NeighborState E_Neighbor_NeighborState `path:"state/neighbor-state" module:"openconfig-if-ip/openconfig-if-ip"` - Origin E_IfIp_NeighborOrigin `path:"state/origin" module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Neighbor implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Neighbor) IsYANGGoStruct() {} - -// GetIp retrieves the value of the leaf Ip from the Interface_Subinterface_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Ip is set, it can -// safely use t.GetIp() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Ip == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Neighbor) GetIp() string { - if t == nil || t.Ip == nil { - return "" - } - return *t.Ip -} - -// GetIsRouter retrieves the value of the leaf IsRouter from the Interface_Subinterface_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if IsRouter is set, it can -// safely use t.GetIsRouter() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.IsRouter == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Neighbor) GetIsRouter() bool { - if t == nil || t.IsRouter == nil { - return false - } - return *t.IsRouter -} - -// GetLinkLayerAddress retrieves the value of the leaf LinkLayerAddress from the Interface_Subinterface_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LinkLayerAddress is set, it can -// safely use t.GetLinkLayerAddress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LinkLayerAddress == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Neighbor) GetLinkLayerAddress() string { - if t == nil || t.LinkLayerAddress == nil { - return "" - } - return *t.LinkLayerAddress -} - -// GetNeighborState retrieves the value of the leaf NeighborState from the Interface_Subinterface_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if NeighborState is set, it can -// safely use t.GetNeighborState() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.NeighborState == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Neighbor) GetNeighborState() E_Neighbor_NeighborState { - if t == nil || t.NeighborState == 0 { - return 0 - } - return t.NeighborState -} - -// GetOrigin retrieves the value of the leaf Origin from the Interface_Subinterface_Ipv6_Neighbor -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Origin is set, it can -// safely use t.GetOrigin() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Origin == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Neighbor) GetOrigin() E_IfIp_NeighborOrigin { - if t == nil || t.Origin == 0 { - return 0 - } - return t.Origin -} - -// SetIp sets the value of the leaf Ip in the Interface_Subinterface_Ipv6_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv6_Neighbor) SetIp(v string) { - t.Ip = &v -} - -// SetIsRouter sets the value of the leaf IsRouter in the Interface_Subinterface_Ipv6_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv6_Neighbor) SetIsRouter(v bool) { - t.IsRouter = &v -} - -// SetLinkLayerAddress sets the value of the leaf LinkLayerAddress in the Interface_Subinterface_Ipv6_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv6_Neighbor) SetLinkLayerAddress(v string) { - t.LinkLayerAddress = &v -} - -// SetNeighborState sets the value of the leaf NeighborState in the Interface_Subinterface_Ipv6_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv6_Neighbor) SetNeighborState(v E_Neighbor_NeighborState) { - t.NeighborState = v -} - -// SetOrigin sets the value of the leaf Origin in the Interface_Subinterface_Ipv6_Neighbor -// struct. -func (t *Interface_Subinterface_Ipv6_Neighbor) SetOrigin(v E_IfIp_NeighborOrigin) { - t.Origin = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Neighbor -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Neighbor) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv6_Neighbor struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv6_Neighbor) ΛListKeyMap() (map[string]interface{}, error) { - if t.Ip == nil { - return nil, fmt.Errorf("nil value for key Ip") - } - - return map[string]interface{}{ - "ip": *t.Ip, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Neighbor) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Neighbor"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Neighbor) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Neighbor) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Neighbor. -func (*Interface_Subinterface_Ipv6_Neighbor) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_RouterAdvertisement represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/router-advertisement YANG schema element. -type Interface_Subinterface_Ipv6_RouterAdvertisement struct { - Enable *bool `path:"config/enable" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enable" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Interval *uint32 `path:"config/interval" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interval" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Lifetime *uint32 `path:"config/lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Managed *bool `path:"config/managed" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/managed" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Mode E_RouterAdvertisement_Mode `path:"config/mode" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/mode" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - OtherConfig *bool `path:"config/other-config" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/other-config" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Prefix map[string]*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix `path:"prefixes/prefix" module:"openconfig-if-ip/openconfig-if-ip"` - Suppress *bool `path:"config/suppress" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/suppress" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_RouterAdvertisement implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_RouterAdvertisement) IsYANGGoStruct() {} - -// NewPrefix creates a new entry in the Prefix list of the -// Interface_Subinterface_Ipv6_RouterAdvertisement struct. The keys of the list are populated from the input -// arguments. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) NewPrefix(Prefix string) (*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix, error) { - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) - } - - key := Prefix - - // Ensure that this key has not already been used in the - // list. Keyed YANG lists do not allow duplicate keys to - // be created. - if _, ok := t.Prefix[key]; ok { - return nil, fmt.Errorf("duplicate key %v for list Prefix", key) - } - - t.Prefix[key] = &Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix{ - Prefix: &Prefix, - } - - return t.Prefix[key], nil -} - -// RenamePrefix renames an entry in the list Prefix within -// the Interface_Subinterface_Ipv6_RouterAdvertisement struct. The entry with key oldK is renamed to newK updating -// the key within the value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) RenamePrefix(oldK, newK string) error { - if _, ok := t.Prefix[newK]; ok { - return fmt.Errorf("key %v already exists in Prefix", newK) - } - - e, ok := t.Prefix[oldK] - if !ok { - return fmt.Errorf("key %v not found in Prefix", oldK) - } - e.Prefix = &newK - - t.Prefix[newK] = e - delete(t.Prefix, oldK) - return nil -} - -// GetOrCreatePrefixMap returns the list (map) from Interface_Subinterface_Ipv6_RouterAdvertisement. -// -// It initializes the field if not already initialized. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetOrCreatePrefixMap() map[string]*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix { - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) - } - return t.Prefix -} - -// GetOrCreatePrefix retrieves the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6_RouterAdvertisement. If the entry does not exist, then it is created. -// It returns the existing or new list member. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetOrCreatePrefix(Prefix string) *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix { - - key := Prefix - - if v, ok := t.Prefix[key]; ok { - return v - } - // Panic if we receive an error, since we should have retrieved an existing - // list member. This allows chaining of GetOrCreate methods. - v, err := t.NewPrefix(Prefix) - if err != nil { - panic(fmt.Sprintf("GetOrCreatePrefix got unexpected error: %v", err)) - } - return v -} - -// GetPrefix retrieves the value with the specified key from -// the Prefix map field of Interface_Subinterface_Ipv6_RouterAdvertisement. If the receiver is nil, or -// the specified key is not present in the list, nil is returned such that Get* -// methods may be safely chained. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetPrefix(Prefix string) *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix { - - if t == nil { - return nil - } - - key := Prefix - - if lm, ok := t.Prefix[key]; ok { - return lm - } - return nil -} - -// DeletePrefix deletes the value with the specified keys from -// the receiver Interface_Subinterface_Ipv6_RouterAdvertisement. If there is no such element, the function -// is a no-op. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) DeletePrefix(Prefix string) { - key := Prefix - - delete(t.Prefix, key) -} - -// AppendPrefix appends the supplied Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix struct to the -// list Prefix of Interface_Subinterface_Ipv6_RouterAdvertisement. If the key value(s) specified in -// the supplied Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix already exist in the list, an error is -// returned. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) AppendPrefix(v *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) error { - if v.Prefix == nil { - return fmt.Errorf("invalid nil key received for Prefix") - } - - key := *v.Prefix - - // Initialise the list within the receiver struct if it has not already been - // created. - if t.Prefix == nil { - t.Prefix = make(map[string]*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) - } - - if _, ok := t.Prefix[key]; ok { - return fmt.Errorf("duplicate key for list Prefix %v", key) - } - - t.Prefix[key] = v - return nil -} - -// GetEnable retrieves the value of the leaf Enable from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enable is set, it can -// safely use t.GetEnable() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enable == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetEnable() bool { - if t == nil || t.Enable == nil { - return true - } - return *t.Enable -} - -// GetInterval retrieves the value of the leaf Interval from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interval is set, it can -// safely use t.GetInterval() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interval == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetInterval() uint32 { - if t == nil || t.Interval == nil { - return 0 - } - return *t.Interval -} - -// GetLifetime retrieves the value of the leaf Lifetime from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Lifetime is set, it can -// safely use t.GetLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Lifetime == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetLifetime() uint32 { - if t == nil || t.Lifetime == nil { - return 0 - } - return *t.Lifetime -} - -// GetManaged retrieves the value of the leaf Managed from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Managed is set, it can -// safely use t.GetManaged() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Managed == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetManaged() bool { - if t == nil || t.Managed == nil { - return false - } - return *t.Managed -} - -// GetMode retrieves the value of the leaf Mode from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Mode is set, it can -// safely use t.GetMode() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Mode == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetMode() E_RouterAdvertisement_Mode { - if t == nil || t.Mode == 0 { - return RouterAdvertisement_Mode_ALL - } - return t.Mode -} - -// GetOtherConfig retrieves the value of the leaf OtherConfig from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OtherConfig is set, it can -// safely use t.GetOtherConfig() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OtherConfig == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetOtherConfig() bool { - if t == nil || t.OtherConfig == nil { - return false - } - return *t.OtherConfig -} - -// GetSuppress retrieves the value of the leaf Suppress from the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Suppress is set, it can -// safely use t.GetSuppress() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Suppress == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) GetSuppress() bool { - if t == nil || t.Suppress == nil { - return false - } - return *t.Suppress -} - -// SetEnable sets the value of the leaf Enable in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetEnable(v bool) { - t.Enable = &v -} - -// SetInterval sets the value of the leaf Interval in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetInterval(v uint32) { - t.Interval = &v -} - -// SetLifetime sets the value of the leaf Lifetime in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetLifetime(v uint32) { - t.Lifetime = &v -} - -// SetManaged sets the value of the leaf Managed in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetManaged(v bool) { - t.Managed = &v -} - -// SetMode sets the value of the leaf Mode in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetMode(v E_RouterAdvertisement_Mode) { - t.Mode = v -} - -// SetOtherConfig sets the value of the leaf OtherConfig in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetOtherConfig(v bool) { - t.OtherConfig = &v -} - -// SetSuppress sets the value of the leaf Suppress in the Interface_Subinterface_Ipv6_RouterAdvertisement -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) SetSuppress(v bool) { - t.Suppress = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_RouterAdvertisement -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enable == nil { - var v bool = true - t.Enable = &v - } - if t.Managed == nil { - var v bool = false - t.Managed = &v - } - if t.Mode == 0 { - t.Mode = RouterAdvertisement_Mode_ALL - } - if t.OtherConfig == nil { - var v bool = false - t.OtherConfig = &v - } - if t.Suppress == nil { - var v bool = false - t.Suppress = &v - } - for _, e := range t.Prefix { - e.PopulateDefaults() - } -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_RouterAdvertisement"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_RouterAdvertisement. -func (*Interface_Subinterface_Ipv6_RouterAdvertisement) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/router-advertisement/prefixes/prefix YANG schema element. -type Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix struct { - DisableAdvertisement *bool `path:"config/disable-advertisement" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/disable-advertisement" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - DisableAutoconfiguration *bool `path:"config/disable-autoconfiguration" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/disable-autoconfiguration" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - EnableOnlink *bool `path:"config/enable-onlink" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enable-onlink" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - PreferredLifetime *uint32 `path:"config/preferred-lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/preferred-lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Prefix *string `path:"config/prefix|prefix" module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip" shadow-path:"state/prefix|prefix" shadow-module:"openconfig-if-ip/openconfig-if-ip|openconfig-if-ip"` - ValidLifetime *uint32 `path:"config/valid-lifetime" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/valid-lifetime" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) IsYANGGoStruct() {} - -// GetDisableAdvertisement retrieves the value of the leaf DisableAdvertisement from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DisableAdvertisement is set, it can -// safely use t.GetDisableAdvertisement() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DisableAdvertisement == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetDisableAdvertisement() bool { - if t == nil || t.DisableAdvertisement == nil { - return false - } - return *t.DisableAdvertisement -} - -// GetDisableAutoconfiguration retrieves the value of the leaf DisableAutoconfiguration from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if DisableAutoconfiguration is set, it can -// safely use t.GetDisableAutoconfiguration() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.DisableAutoconfiguration == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetDisableAutoconfiguration() bool { - if t == nil || t.DisableAutoconfiguration == nil { - return false - } - return *t.DisableAutoconfiguration -} - -// GetEnableOnlink retrieves the value of the leaf EnableOnlink from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if EnableOnlink is set, it can -// safely use t.GetEnableOnlink() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.EnableOnlink == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetEnableOnlink() bool { - if t == nil || t.EnableOnlink == nil { - return false - } - return *t.EnableOnlink -} - -// GetPreferredLifetime retrieves the value of the leaf PreferredLifetime from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if PreferredLifetime is set, it can -// safely use t.GetPreferredLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.PreferredLifetime == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetPreferredLifetime() uint32 { - if t == nil || t.PreferredLifetime == nil { - return 0 - } - return *t.PreferredLifetime -} - -// GetPrefix retrieves the value of the leaf Prefix from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Prefix is set, it can -// safely use t.GetPrefix() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Prefix == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetPrefix() string { - if t == nil || t.Prefix == nil { - return "" - } - return *t.Prefix -} - -// GetValidLifetime retrieves the value of the leaf ValidLifetime from the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if ValidLifetime is set, it can -// safely use t.GetValidLifetime() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.ValidLifetime == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) GetValidLifetime() uint32 { - if t == nil || t.ValidLifetime == nil { - return 0 - } - return *t.ValidLifetime -} - -// SetDisableAdvertisement sets the value of the leaf DisableAdvertisement in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetDisableAdvertisement(v bool) { - t.DisableAdvertisement = &v -} - -// SetDisableAutoconfiguration sets the value of the leaf DisableAutoconfiguration in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetDisableAutoconfiguration(v bool) { - t.DisableAutoconfiguration = &v -} - -// SetEnableOnlink sets the value of the leaf EnableOnlink in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetEnableOnlink(v bool) { - t.EnableOnlink = &v -} - -// SetPreferredLifetime sets the value of the leaf PreferredLifetime in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetPreferredLifetime(v uint32) { - t.PreferredLifetime = &v -} - -// SetPrefix sets the value of the leaf Prefix in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetPrefix(v string) { - t.Prefix = &v -} - -// SetValidLifetime sets the value of the leaf ValidLifetime in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// struct. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) SetValidLifetime(v uint32) { - t.ValidLifetime = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// ΛListKeyMap returns the keys of the Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix struct, which is a YANG list entry. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) ΛListKeyMap() (map[string]interface{}, error) { - if t.Prefix == nil { - return nil, fmt.Errorf("nil value for key Prefix") - } - - return map[string]interface{}{ - "prefix": *t.Prefix, - }, nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix. -func (*Interface_Subinterface_Ipv6_RouterAdvertisement_Prefix) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Unnumbered represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/unnumbered YANG schema element. -type Interface_Subinterface_Ipv6_Unnumbered struct { - Enabled *bool `path:"config/enabled" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/enabled" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - InterfaceRef *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef `path:"interface-ref" module:"openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Unnumbered implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Unnumbered) IsYANGGoStruct() {} - -// GetOrCreateInterfaceRef retrieves the value of the InterfaceRef field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Ipv6_Unnumbered) GetOrCreateInterfaceRef() *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef { - if t.InterfaceRef != nil { - return t.InterfaceRef - } - t.InterfaceRef = &Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef{} - return t.InterfaceRef -} - -// GetInterfaceRef returns the value of the InterfaceRef struct pointer -// from Interface_Subinterface_Ipv6_Unnumbered. If the receiver or the field InterfaceRef is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Ipv6_Unnumbered) GetInterfaceRef() *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef { - if t != nil && t.InterfaceRef != nil { - return t.InterfaceRef - } - return nil -} - -// GetEnabled retrieves the value of the leaf Enabled from the Interface_Subinterface_Ipv6_Unnumbered -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Enabled is set, it can -// safely use t.GetEnabled() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Enabled == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Unnumbered) GetEnabled() bool { - if t == nil || t.Enabled == nil { - return false - } - return *t.Enabled -} - -// SetEnabled sets the value of the leaf Enabled in the Interface_Subinterface_Ipv6_Unnumbered -// struct. -func (t *Interface_Subinterface_Ipv6_Unnumbered) SetEnabled(v bool) { - t.Enabled = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Unnumbered -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Unnumbered) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - if t.Enabled == nil { - var v bool = false - t.Enabled = &v - } - t.InterfaceRef.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Unnumbered) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Unnumbered"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Unnumbered) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Unnumbered) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Unnumbered. -func (*Interface_Subinterface_Ipv6_Unnumbered) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/ipv6/unnumbered/interface-ref YANG schema element. -type Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef struct { - Interface *string `path:"config/interface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/interface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` - Subinterface *uint32 `path:"config/subinterface" module:"openconfig-if-ip/openconfig-if-ip" shadow-path:"state/subinterface" shadow-module:"openconfig-if-ip/openconfig-if-ip"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) IsYANGGoStruct() {} - -// GetInterface retrieves the value of the leaf Interface from the Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Interface is set, it can -// safely use t.GetInterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Interface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) GetInterface() string { - if t == nil || t.Interface == nil { - return "" - } - return *t.Interface -} - -// GetSubinterface retrieves the value of the leaf Subinterface from the Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Subinterface is set, it can -// safely use t.GetSubinterface() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Subinterface == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) GetSubinterface() uint32 { - if t == nil || t.Subinterface == nil { - return 0 - } - return *t.Subinterface -} - -// SetInterface sets the value of the leaf Interface in the Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef -// struct. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) SetInterface(v string) { - t.Interface = &v -} - -// SetSubinterface sets the value of the leaf Subinterface in the Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef -// struct. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) SetSubinterface(v uint32) { - t.Subinterface = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef. -func (*Interface_Subinterface_Ipv6_Unnumbered_InterfaceRef) ΛBelongingModule() string { - return "openconfig-if-ip" -} - -// Interface_Subinterface_Vlan represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan YANG schema element. -type Interface_Subinterface_Vlan struct { - EgressMapping *Interface_Subinterface_Vlan_EgressMapping `path:"egress-mapping" module:"openconfig-vlan"` - IngressMapping *Interface_Subinterface_Vlan_IngressMapping `path:"ingress-mapping" module:"openconfig-vlan"` - Match *Interface_Subinterface_Vlan_Match `path:"match" module:"openconfig-vlan"` - VlanId Interface_Subinterface_Vlan_VlanId_Union `path:"config/vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan) IsYANGGoStruct() {} - -// GetOrCreateEgressMapping retrieves the value of the EgressMapping field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan) GetOrCreateEgressMapping() *Interface_Subinterface_Vlan_EgressMapping { - if t.EgressMapping != nil { - return t.EgressMapping - } - t.EgressMapping = &Interface_Subinterface_Vlan_EgressMapping{} - return t.EgressMapping -} - -// GetOrCreateIngressMapping retrieves the value of the IngressMapping field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan) GetOrCreateIngressMapping() *Interface_Subinterface_Vlan_IngressMapping { - if t.IngressMapping != nil { - return t.IngressMapping - } - t.IngressMapping = &Interface_Subinterface_Vlan_IngressMapping{} - return t.IngressMapping -} - -// GetOrCreateMatch retrieves the value of the Match field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan) GetOrCreateMatch() *Interface_Subinterface_Vlan_Match { - if t.Match != nil { - return t.Match - } - t.Match = &Interface_Subinterface_Vlan_Match{} - return t.Match -} - -// GetEgressMapping returns the value of the EgressMapping struct pointer -// from Interface_Subinterface_Vlan. If the receiver or the field EgressMapping is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan) GetEgressMapping() *Interface_Subinterface_Vlan_EgressMapping { - if t != nil && t.EgressMapping != nil { - return t.EgressMapping - } - return nil -} - -// GetIngressMapping returns the value of the IngressMapping struct pointer -// from Interface_Subinterface_Vlan. If the receiver or the field IngressMapping is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan) GetIngressMapping() *Interface_Subinterface_Vlan_IngressMapping { - if t != nil && t.IngressMapping != nil { - return t.IngressMapping - } - return nil -} - -// GetMatch returns the value of the Match struct pointer -// from Interface_Subinterface_Vlan. If the receiver or the field Match is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan) GetMatch() *Interface_Subinterface_Vlan_Match { - if t != nil && t.Match != nil { - return t.Match - } - return nil -} - -// GetVlanId retrieves the value of the leaf VlanId from the Interface_Subinterface_Vlan -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanId is set, it can -// safely use t.GetVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan) GetVlanId() Interface_Subinterface_Vlan_VlanId_Union { - if t == nil || t.VlanId == nil { - return nil - } - return t.VlanId -} - -// SetVlanId sets the value of the leaf VlanId in the Interface_Subinterface_Vlan -// struct. -func (t *Interface_Subinterface_Vlan) SetVlanId(v Interface_Subinterface_Vlan_VlanId_Union) { - t.VlanId = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - t.EgressMapping.PopulateDefaults() - t.IngressMapping.PopulateDefaults() - t.Match.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan) ΛEnumTypeMap() map[string][]reflect.Type { return ΛEnumTypes } - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan. -func (*Interface_Subinterface_Vlan) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_EgressMapping represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/egress-mapping YANG schema element. -type Interface_Subinterface_Vlan_EgressMapping struct { - Tpid E_VlanTypes_TPID_TYPES `path:"config/tpid" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/tpid" shadow-module:"openconfig-vlan/openconfig-vlan"` - VlanId *uint16 `path:"config/vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - VlanStackAction E_VlanTypes_VlanStackAction `path:"config/vlan-stack-action" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-stack-action" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_EgressMapping implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_EgressMapping) IsYANGGoStruct() {} - -// GetTpid retrieves the value of the leaf Tpid from the Interface_Subinterface_Vlan_EgressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Tpid is set, it can -// safely use t.GetTpid() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Tpid == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_EgressMapping) GetTpid() E_VlanTypes_TPID_TYPES { - if t == nil || t.Tpid == 0 { - return 0 - } - return t.Tpid -} - -// GetVlanId retrieves the value of the leaf VlanId from the Interface_Subinterface_Vlan_EgressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanId is set, it can -// safely use t.GetVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_EgressMapping) GetVlanId() uint16 { - if t == nil || t.VlanId == nil { - return 0 - } - return *t.VlanId -} - -// GetVlanStackAction retrieves the value of the leaf VlanStackAction from the Interface_Subinterface_Vlan_EgressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanStackAction is set, it can -// safely use t.GetVlanStackAction() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanStackAction == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_EgressMapping) GetVlanStackAction() E_VlanTypes_VlanStackAction { - if t == nil || t.VlanStackAction == 0 { - return 0 - } - return t.VlanStackAction -} - -// SetTpid sets the value of the leaf Tpid in the Interface_Subinterface_Vlan_EgressMapping -// struct. -func (t *Interface_Subinterface_Vlan_EgressMapping) SetTpid(v E_VlanTypes_TPID_TYPES) { - t.Tpid = v -} - -// SetVlanId sets the value of the leaf VlanId in the Interface_Subinterface_Vlan_EgressMapping -// struct. -func (t *Interface_Subinterface_Vlan_EgressMapping) SetVlanId(v uint16) { - t.VlanId = &v -} - -// SetVlanStackAction sets the value of the leaf VlanStackAction in the Interface_Subinterface_Vlan_EgressMapping -// struct. -func (t *Interface_Subinterface_Vlan_EgressMapping) SetVlanStackAction(v E_VlanTypes_VlanStackAction) { - t.VlanStackAction = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_EgressMapping -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_EgressMapping) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_EgressMapping) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_EgressMapping"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_EgressMapping) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_EgressMapping) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_EgressMapping. -func (*Interface_Subinterface_Vlan_EgressMapping) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_IngressMapping represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/ingress-mapping YANG schema element. -type Interface_Subinterface_Vlan_IngressMapping struct { - Tpid E_VlanTypes_TPID_TYPES `path:"config/tpid" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/tpid" shadow-module:"openconfig-vlan/openconfig-vlan"` - VlanId *uint16 `path:"config/vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - VlanStackAction E_VlanTypes_VlanStackAction `path:"config/vlan-stack-action" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-stack-action" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_IngressMapping implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_IngressMapping) IsYANGGoStruct() {} - -// GetTpid retrieves the value of the leaf Tpid from the Interface_Subinterface_Vlan_IngressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if Tpid is set, it can -// safely use t.GetTpid() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.Tpid == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_IngressMapping) GetTpid() E_VlanTypes_TPID_TYPES { - if t == nil || t.Tpid == 0 { - return 0 - } - return t.Tpid -} - -// GetVlanId retrieves the value of the leaf VlanId from the Interface_Subinterface_Vlan_IngressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanId is set, it can -// safely use t.GetVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_IngressMapping) GetVlanId() uint16 { - if t == nil || t.VlanId == nil { - return 0 - } - return *t.VlanId -} - -// GetVlanStackAction retrieves the value of the leaf VlanStackAction from the Interface_Subinterface_Vlan_IngressMapping -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanStackAction is set, it can -// safely use t.GetVlanStackAction() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanStackAction == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_IngressMapping) GetVlanStackAction() E_VlanTypes_VlanStackAction { - if t == nil || t.VlanStackAction == 0 { - return 0 - } - return t.VlanStackAction -} - -// SetTpid sets the value of the leaf Tpid in the Interface_Subinterface_Vlan_IngressMapping -// struct. -func (t *Interface_Subinterface_Vlan_IngressMapping) SetTpid(v E_VlanTypes_TPID_TYPES) { - t.Tpid = v -} - -// SetVlanId sets the value of the leaf VlanId in the Interface_Subinterface_Vlan_IngressMapping -// struct. -func (t *Interface_Subinterface_Vlan_IngressMapping) SetVlanId(v uint16) { - t.VlanId = &v -} - -// SetVlanStackAction sets the value of the leaf VlanStackAction in the Interface_Subinterface_Vlan_IngressMapping -// struct. -func (t *Interface_Subinterface_Vlan_IngressMapping) SetVlanStackAction(v E_VlanTypes_VlanStackAction) { - t.VlanStackAction = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_IngressMapping -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_IngressMapping) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_IngressMapping) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_IngressMapping"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_IngressMapping) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_IngressMapping) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_IngressMapping. -func (*Interface_Subinterface_Vlan_IngressMapping) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match YANG schema element. -type Interface_Subinterface_Vlan_Match struct { - DoubleTagged *Interface_Subinterface_Vlan_Match_DoubleTagged `path:"double-tagged" module:"openconfig-vlan"` - DoubleTaggedInnerList *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList `path:"double-tagged-inner-list" module:"openconfig-vlan"` - DoubleTaggedInnerOuterRange *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange `path:"double-tagged-inner-outer-range" module:"openconfig-vlan"` - DoubleTaggedInnerRange *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange `path:"double-tagged-inner-range" module:"openconfig-vlan"` - DoubleTaggedOuterList *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList `path:"double-tagged-outer-list" module:"openconfig-vlan"` - DoubleTaggedOuterRange *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange `path:"double-tagged-outer-range" module:"openconfig-vlan"` - SingleTagged *Interface_Subinterface_Vlan_Match_SingleTagged `path:"single-tagged" module:"openconfig-vlan"` - SingleTaggedList *Interface_Subinterface_Vlan_Match_SingleTaggedList `path:"single-tagged-list" module:"openconfig-vlan"` - SingleTaggedRange *Interface_Subinterface_Vlan_Match_SingleTaggedRange `path:"single-tagged-range" module:"openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match) IsYANGGoStruct() {} - -// GetOrCreateDoubleTagged retrieves the value of the DoubleTagged field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTagged() *Interface_Subinterface_Vlan_Match_DoubleTagged { - if t.DoubleTagged != nil { - return t.DoubleTagged - } - t.DoubleTagged = &Interface_Subinterface_Vlan_Match_DoubleTagged{} - return t.DoubleTagged -} - -// GetOrCreateDoubleTaggedInnerList retrieves the value of the DoubleTaggedInnerList field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTaggedInnerList() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList { - if t.DoubleTaggedInnerList != nil { - return t.DoubleTaggedInnerList - } - t.DoubleTaggedInnerList = &Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList{} - return t.DoubleTaggedInnerList -} - -// GetOrCreateDoubleTaggedInnerOuterRange retrieves the value of the DoubleTaggedInnerOuterRange field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTaggedInnerOuterRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange { - if t.DoubleTaggedInnerOuterRange != nil { - return t.DoubleTaggedInnerOuterRange - } - t.DoubleTaggedInnerOuterRange = &Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange{} - return t.DoubleTaggedInnerOuterRange -} - -// GetOrCreateDoubleTaggedInnerRange retrieves the value of the DoubleTaggedInnerRange field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTaggedInnerRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange { - if t.DoubleTaggedInnerRange != nil { - return t.DoubleTaggedInnerRange - } - t.DoubleTaggedInnerRange = &Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange{} - return t.DoubleTaggedInnerRange -} - -// GetOrCreateDoubleTaggedOuterList retrieves the value of the DoubleTaggedOuterList field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTaggedOuterList() *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList { - if t.DoubleTaggedOuterList != nil { - return t.DoubleTaggedOuterList - } - t.DoubleTaggedOuterList = &Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList{} - return t.DoubleTaggedOuterList -} - -// GetOrCreateDoubleTaggedOuterRange retrieves the value of the DoubleTaggedOuterRange field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateDoubleTaggedOuterRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange { - if t.DoubleTaggedOuterRange != nil { - return t.DoubleTaggedOuterRange - } - t.DoubleTaggedOuterRange = &Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange{} - return t.DoubleTaggedOuterRange -} - -// GetOrCreateSingleTagged retrieves the value of the SingleTagged field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateSingleTagged() *Interface_Subinterface_Vlan_Match_SingleTagged { - if t.SingleTagged != nil { - return t.SingleTagged - } - t.SingleTagged = &Interface_Subinterface_Vlan_Match_SingleTagged{} - return t.SingleTagged -} - -// GetOrCreateSingleTaggedList retrieves the value of the SingleTaggedList field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateSingleTaggedList() *Interface_Subinterface_Vlan_Match_SingleTaggedList { - if t.SingleTaggedList != nil { - return t.SingleTaggedList - } - t.SingleTaggedList = &Interface_Subinterface_Vlan_Match_SingleTaggedList{} - return t.SingleTaggedList -} - -// GetOrCreateSingleTaggedRange retrieves the value of the SingleTaggedRange field -// or returns the existing field if it already exists. -func (t *Interface_Subinterface_Vlan_Match) GetOrCreateSingleTaggedRange() *Interface_Subinterface_Vlan_Match_SingleTaggedRange { - if t.SingleTaggedRange != nil { - return t.SingleTaggedRange - } - t.SingleTaggedRange = &Interface_Subinterface_Vlan_Match_SingleTaggedRange{} - return t.SingleTaggedRange -} - -// GetDoubleTagged returns the value of the DoubleTagged struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTagged is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTagged() *Interface_Subinterface_Vlan_Match_DoubleTagged { - if t != nil && t.DoubleTagged != nil { - return t.DoubleTagged - } - return nil -} - -// GetDoubleTaggedInnerList returns the value of the DoubleTaggedInnerList struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTaggedInnerList is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTaggedInnerList() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList { - if t != nil && t.DoubleTaggedInnerList != nil { - return t.DoubleTaggedInnerList - } - return nil -} - -// GetDoubleTaggedInnerOuterRange returns the value of the DoubleTaggedInnerOuterRange struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTaggedInnerOuterRange is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTaggedInnerOuterRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange { - if t != nil && t.DoubleTaggedInnerOuterRange != nil { - return t.DoubleTaggedInnerOuterRange - } - return nil -} - -// GetDoubleTaggedInnerRange returns the value of the DoubleTaggedInnerRange struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTaggedInnerRange is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTaggedInnerRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange { - if t != nil && t.DoubleTaggedInnerRange != nil { - return t.DoubleTaggedInnerRange - } - return nil -} - -// GetDoubleTaggedOuterList returns the value of the DoubleTaggedOuterList struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTaggedOuterList is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTaggedOuterList() *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList { - if t != nil && t.DoubleTaggedOuterList != nil { - return t.DoubleTaggedOuterList - } - return nil -} - -// GetDoubleTaggedOuterRange returns the value of the DoubleTaggedOuterRange struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field DoubleTaggedOuterRange is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetDoubleTaggedOuterRange() *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange { - if t != nil && t.DoubleTaggedOuterRange != nil { - return t.DoubleTaggedOuterRange - } - return nil -} - -// GetSingleTagged returns the value of the SingleTagged struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field SingleTagged is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetSingleTagged() *Interface_Subinterface_Vlan_Match_SingleTagged { - if t != nil && t.SingleTagged != nil { - return t.SingleTagged - } - return nil -} - -// GetSingleTaggedList returns the value of the SingleTaggedList struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field SingleTaggedList is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetSingleTaggedList() *Interface_Subinterface_Vlan_Match_SingleTaggedList { - if t != nil && t.SingleTaggedList != nil { - return t.SingleTaggedList - } - return nil -} - -// GetSingleTaggedRange returns the value of the SingleTaggedRange struct pointer -// from Interface_Subinterface_Vlan_Match. If the receiver or the field SingleTaggedRange is nil, nil -// is returned such that the Get* methods can be safely chained. -func (t *Interface_Subinterface_Vlan_Match) GetSingleTaggedRange() *Interface_Subinterface_Vlan_Match_SingleTaggedRange { - if t != nil && t.SingleTaggedRange != nil { - return t.SingleTaggedRange - } - return nil -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) - t.DoubleTagged.PopulateDefaults() - t.DoubleTaggedInnerList.PopulateDefaults() - t.DoubleTaggedInnerOuterRange.PopulateDefaults() - t.DoubleTaggedInnerRange.PopulateDefaults() - t.DoubleTaggedOuterList.PopulateDefaults() - t.DoubleTaggedOuterRange.PopulateDefaults() - t.SingleTagged.PopulateDefaults() - t.SingleTaggedList.PopulateDefaults() - t.SingleTaggedRange.PopulateDefaults() -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match. -func (*Interface_Subinterface_Vlan_Match) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTagged represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTagged struct { - InnerVlanId *uint16 `path:"config/inner-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterVlanId *uint16 `path:"config/outer-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTagged implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTagged) IsYANGGoStruct() {} - -// GetInnerVlanId retrieves the value of the leaf InnerVlanId from the Interface_Subinterface_Vlan_Match_DoubleTagged -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerVlanId is set, it can -// safely use t.GetInnerVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) GetInnerVlanId() uint16 { - if t == nil || t.InnerVlanId == nil { - return 0 - } - return *t.InnerVlanId -} - -// GetOuterVlanId retrieves the value of the leaf OuterVlanId from the Interface_Subinterface_Vlan_Match_DoubleTagged -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterVlanId is set, it can -// safely use t.GetOuterVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) GetOuterVlanId() uint16 { - if t == nil || t.OuterVlanId == nil { - return 0 - } - return *t.OuterVlanId -} - -// SetInnerVlanId sets the value of the leaf InnerVlanId in the Interface_Subinterface_Vlan_Match_DoubleTagged -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) SetInnerVlanId(v uint16) { - t.InnerVlanId = &v -} - -// SetOuterVlanId sets the value of the leaf OuterVlanId in the Interface_Subinterface_Vlan_Match_DoubleTagged -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) SetOuterVlanId(v uint16) { - t.OuterVlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTagged -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTagged"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTagged) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTagged. -func (*Interface_Subinterface_Vlan_Match_DoubleTagged) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged-inner-list YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList struct { - InnerVlanIds []uint16 `path:"config/inner-vlan-ids" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-vlan-ids" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterVlanId *uint16 `path:"config/outer-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) IsYANGGoStruct() {} - -// GetInnerVlanIds retrieves the value of the leaf InnerVlanIds from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerVlanIds is set, it can -// safely use t.GetInnerVlanIds() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerVlanIds == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) GetInnerVlanIds() []uint16 { - if t == nil || t.InnerVlanIds == nil { - return nil - } - return t.InnerVlanIds -} - -// GetOuterVlanId retrieves the value of the leaf OuterVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterVlanId is set, it can -// safely use t.GetOuterVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) GetOuterVlanId() uint16 { - if t == nil || t.OuterVlanId == nil { - return 0 - } - return *t.OuterVlanId -} - -// SetInnerVlanIds sets the value of the leaf InnerVlanIds in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) SetInnerVlanIds(v []uint16) { - t.InnerVlanIds = v -} - -// SetOuterVlanId sets the value of the leaf OuterVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) SetOuterVlanId(v uint16) { - t.OuterVlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerList) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged-inner-outer-range YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange struct { - InnerHighVlanId *uint16 `path:"config/inner-high-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-high-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - InnerLowVlanId *uint16 `path:"config/inner-low-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-low-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterHighVlanId *uint16 `path:"config/outer-high-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-high-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterLowVlanId *uint16 `path:"config/outer-low-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-low-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) IsYANGGoStruct() {} - -// GetInnerHighVlanId retrieves the value of the leaf InnerHighVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerHighVlanId is set, it can -// safely use t.GetInnerHighVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerHighVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) GetInnerHighVlanId() uint16 { - if t == nil || t.InnerHighVlanId == nil { - return 0 - } - return *t.InnerHighVlanId -} - -// GetInnerLowVlanId retrieves the value of the leaf InnerLowVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerLowVlanId is set, it can -// safely use t.GetInnerLowVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerLowVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) GetInnerLowVlanId() uint16 { - if t == nil || t.InnerLowVlanId == nil { - return 0 - } - return *t.InnerLowVlanId -} - -// GetOuterHighVlanId retrieves the value of the leaf OuterHighVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterHighVlanId is set, it can -// safely use t.GetOuterHighVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterHighVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) GetOuterHighVlanId() uint16 { - if t == nil || t.OuterHighVlanId == nil { - return 0 - } - return *t.OuterHighVlanId -} - -// GetOuterLowVlanId retrieves the value of the leaf OuterLowVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterLowVlanId is set, it can -// safely use t.GetOuterLowVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterLowVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) GetOuterLowVlanId() uint16 { - if t == nil || t.OuterLowVlanId == nil { - return 0 - } - return *t.OuterLowVlanId -} - -// SetInnerHighVlanId sets the value of the leaf InnerHighVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) SetInnerHighVlanId(v uint16) { - t.InnerHighVlanId = &v -} - -// SetInnerLowVlanId sets the value of the leaf InnerLowVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) SetInnerLowVlanId(v uint16) { - t.InnerLowVlanId = &v -} - -// SetOuterHighVlanId sets the value of the leaf OuterHighVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) SetOuterHighVlanId(v uint16) { - t.OuterHighVlanId = &v -} - -// SetOuterLowVlanId sets the value of the leaf OuterLowVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) SetOuterLowVlanId(v uint16) { - t.OuterLowVlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerOuterRange) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged-inner-range YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange struct { - InnerHighVlanId *uint16 `path:"config/inner-high-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-high-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - InnerLowVlanId *uint16 `path:"config/inner-low-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-low-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterVlanId []uint16 `path:"config/outer-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) IsYANGGoStruct() {} - -// GetInnerHighVlanId retrieves the value of the leaf InnerHighVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerHighVlanId is set, it can -// safely use t.GetInnerHighVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerHighVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) GetInnerHighVlanId() uint16 { - if t == nil || t.InnerHighVlanId == nil { - return 0 - } - return *t.InnerHighVlanId -} - -// GetInnerLowVlanId retrieves the value of the leaf InnerLowVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerLowVlanId is set, it can -// safely use t.GetInnerLowVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerLowVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) GetInnerLowVlanId() uint16 { - if t == nil || t.InnerLowVlanId == nil { - return 0 - } - return *t.InnerLowVlanId -} - -// GetOuterVlanId retrieves the value of the leaf OuterVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterVlanId is set, it can -// safely use t.GetOuterVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) GetOuterVlanId() []uint16 { - if t == nil || t.OuterVlanId == nil { - return nil - } - return t.OuterVlanId -} - -// SetInnerHighVlanId sets the value of the leaf InnerHighVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) SetInnerHighVlanId(v uint16) { - t.InnerHighVlanId = &v -} - -// SetInnerLowVlanId sets the value of the leaf InnerLowVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) SetInnerLowVlanId(v uint16) { - t.InnerLowVlanId = &v -} - -// SetOuterVlanId sets the value of the leaf OuterVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) SetOuterVlanId(v []uint16) { - t.OuterVlanId = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedInnerRange) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged-outer-list YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList struct { - InnerVlanId *uint16 `path:"config/inner-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterVlanIds []uint16 `path:"config/outer-vlan-ids" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-vlan-ids" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) IsYANGGoStruct() {} - -// GetInnerVlanId retrieves the value of the leaf InnerVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerVlanId is set, it can -// safely use t.GetInnerVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) GetInnerVlanId() uint16 { - if t == nil || t.InnerVlanId == nil { - return 0 - } - return *t.InnerVlanId -} - -// GetOuterVlanIds retrieves the value of the leaf OuterVlanIds from the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterVlanIds is set, it can -// safely use t.GetOuterVlanIds() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterVlanIds == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) GetOuterVlanIds() []uint16 { - if t == nil || t.OuterVlanIds == nil { - return nil - } - return t.OuterVlanIds -} - -// SetInnerVlanId sets the value of the leaf InnerVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) SetInnerVlanId(v uint16) { - t.InnerVlanId = &v -} - -// SetOuterVlanIds sets the value of the leaf OuterVlanIds in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) SetOuterVlanIds(v []uint16) { - t.OuterVlanIds = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedOuterList) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/double-tagged-outer-range YANG schema element. -type Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange struct { - InnerVlanId *uint16 `path:"config/inner-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/inner-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterHighVlanId *uint16 `path:"config/outer-high-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-high-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - OuterLowVlanId *uint16 `path:"config/outer-low-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/outer-low-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) IsYANGGoStruct() {} - -// GetInnerVlanId retrieves the value of the leaf InnerVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if InnerVlanId is set, it can -// safely use t.GetInnerVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.InnerVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) GetInnerVlanId() uint16 { - if t == nil || t.InnerVlanId == nil { - return 0 - } - return *t.InnerVlanId -} - -// GetOuterHighVlanId retrieves the value of the leaf OuterHighVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterHighVlanId is set, it can -// safely use t.GetOuterHighVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterHighVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) GetOuterHighVlanId() uint16 { - if t == nil || t.OuterHighVlanId == nil { - return 0 - } - return *t.OuterHighVlanId -} - -// GetOuterLowVlanId retrieves the value of the leaf OuterLowVlanId from the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if OuterLowVlanId is set, it can -// safely use t.GetOuterLowVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.OuterLowVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) GetOuterLowVlanId() uint16 { - if t == nil || t.OuterLowVlanId == nil { - return 0 - } - return *t.OuterLowVlanId -} - -// SetInnerVlanId sets the value of the leaf InnerVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) SetInnerVlanId(v uint16) { - t.InnerVlanId = &v -} - -// SetOuterHighVlanId sets the value of the leaf OuterHighVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) SetOuterHighVlanId(v uint16) { - t.OuterHighVlanId = &v -} - -// SetOuterLowVlanId sets the value of the leaf OuterLowVlanId in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) SetOuterLowVlanId(v uint16) { - t.OuterLowVlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange. -func (*Interface_Subinterface_Vlan_Match_DoubleTaggedOuterRange) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_SingleTagged represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/single-tagged YANG schema element. -type Interface_Subinterface_Vlan_Match_SingleTagged struct { - VlanId *uint16 `path:"config/vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_SingleTagged implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_SingleTagged) IsYANGGoStruct() {} - -// GetVlanId retrieves the value of the leaf VlanId from the Interface_Subinterface_Vlan_Match_SingleTagged -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanId is set, it can -// safely use t.GetVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) GetVlanId() uint16 { - if t == nil || t.VlanId == nil { - return 0 - } - return *t.VlanId -} - -// SetVlanId sets the value of the leaf VlanId in the Interface_Subinterface_Vlan_Match_SingleTagged -// struct. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) SetVlanId(v uint16) { - t.VlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_SingleTagged -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_SingleTagged"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_SingleTagged) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_SingleTagged. -func (*Interface_Subinterface_Vlan_Match_SingleTagged) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_SingleTaggedList represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/single-tagged-list YANG schema element. -type Interface_Subinterface_Vlan_Match_SingleTaggedList struct { - VlanIds []uint16 `path:"config/vlan-ids" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/vlan-ids" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_SingleTaggedList implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_SingleTaggedList) IsYANGGoStruct() {} - -// GetVlanIds retrieves the value of the leaf VlanIds from the Interface_Subinterface_Vlan_Match_SingleTaggedList -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if VlanIds is set, it can -// safely use t.GetVlanIds() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.VlanIds == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) GetVlanIds() []uint16 { - if t == nil || t.VlanIds == nil { - return nil - } - return t.VlanIds -} - -// SetVlanIds sets the value of the leaf VlanIds in the Interface_Subinterface_Vlan_Match_SingleTaggedList -// struct. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) SetVlanIds(v []uint16) { - t.VlanIds = v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_SingleTaggedList -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_SingleTaggedList"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedList) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_SingleTaggedList. -func (*Interface_Subinterface_Vlan_Match_SingleTaggedList) ΛBelongingModule() string { - return "openconfig-vlan" -} - -// Interface_Subinterface_Vlan_Match_SingleTaggedRange represents the /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/match/single-tagged-range YANG schema element. -type Interface_Subinterface_Vlan_Match_SingleTaggedRange struct { - HighVlanId *uint16 `path:"config/high-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/high-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` - LowVlanId *uint16 `path:"config/low-vlan-id" module:"openconfig-vlan/openconfig-vlan" shadow-path:"state/low-vlan-id" shadow-module:"openconfig-vlan/openconfig-vlan"` -} - -// IsYANGGoStruct ensures that Interface_Subinterface_Vlan_Match_SingleTaggedRange implements the yang.GoStruct -// interface. This allows functions that need to handle this struct to -// identify it as being generated by ygen. -func (*Interface_Subinterface_Vlan_Match_SingleTaggedRange) IsYANGGoStruct() {} - -// GetHighVlanId retrieves the value of the leaf HighVlanId from the Interface_Subinterface_Vlan_Match_SingleTaggedRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if HighVlanId is set, it can -// safely use t.GetHighVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.HighVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) GetHighVlanId() uint16 { - if t == nil || t.HighVlanId == nil { - return 0 - } - return *t.HighVlanId -} - -// GetLowVlanId retrieves the value of the leaf LowVlanId from the Interface_Subinterface_Vlan_Match_SingleTaggedRange -// struct. If the field is unset but has a default value in the YANG schema, -// then the default value will be returned. -// Caution should be exercised whilst using this method since when without a -// default value, it will return the Go zero value if the field is explicitly -// unset. If the caller explicitly does not care if LowVlanId is set, it can -// safely use t.GetLowVlanId() to retrieve the value. In the case that the -// caller has different actions based on whether the leaf is set or unset, it -// should use 'if t.LowVlanId == nil' before retrieving the leaf's value. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) GetLowVlanId() uint16 { - if t == nil || t.LowVlanId == nil { - return 0 - } - return *t.LowVlanId -} - -// SetHighVlanId sets the value of the leaf HighVlanId in the Interface_Subinterface_Vlan_Match_SingleTaggedRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) SetHighVlanId(v uint16) { - t.HighVlanId = &v -} - -// SetLowVlanId sets the value of the leaf LowVlanId in the Interface_Subinterface_Vlan_Match_SingleTaggedRange -// struct. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) SetLowVlanId(v uint16) { - t.LowVlanId = &v -} - -// PopulateDefaults recursively populates unset leaf fields in the Interface_Subinterface_Vlan_Match_SingleTaggedRange -// with default values as specified in the YANG schema, instantiating any nil -// container fields. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) PopulateDefaults() { - if t == nil { - return - } - ygot.BuildEmptyTree(t) -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) ΛValidate(opts ...ygot.ValidationOption) error { - if err := ytypes.Validate(SchemaTree["Interface_Subinterface_Vlan_Match_SingleTaggedRange"], t, opts...); err != nil { - return err - } - return nil -} - -// Validate validates s against the YANG schema corresponding to its type. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) Validate(opts ...ygot.ValidationOption) error { - return t.ΛValidate(opts...) -} - -// ΛEnumTypeMap returns a map, keyed by YANG schema path, of the enumerated types -// that are included in the generated code. -func (t *Interface_Subinterface_Vlan_Match_SingleTaggedRange) ΛEnumTypeMap() map[string][]reflect.Type { - return ΛEnumTypes -} - -// ΛBelongingModule returns the name of the module that defines the namespace -// of Interface_Subinterface_Vlan_Match_SingleTaggedRange. -func (*Interface_Subinterface_Vlan_Match_SingleTaggedRange) ΛBelongingModule() string { - return "openconfig-vlan" -} diff --git a/internal/provider/openconfig/union.go b/internal/provider/openconfig/union.go deleted file mode 100644 index bb89e8b06..000000000 --- a/internal/provider/openconfig/union.go +++ /dev/null @@ -1,202 +0,0 @@ -// SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and IronCore contributors -// SPDX-License-Identifier: Apache-2.0 - -/* -Package openconfig is a generated package which contains definitions -of structs which represent a YANG schema. The generated schema can be -compressed by a series of transformations (compression was true -in this case). - -This package was generated by ygnmi version: v0.12.0: (ygot: v0.29.20) -using the following YANG input files: - - ./yang/release/models/interfaces/openconfig-interfaces.yang - - ./yang/release/models/interfaces/openconfig-if-ip.yang - - ./yang/third_party/ietf/iana-if-type.yang - -Imported modules were sourced from: - - ./yang/doc - - ./yang/regexp-tests - - ./yang/release/models - - ./yang/release/models/acl - - ./yang/release/models/aft - - ./yang/release/models/ate - - ./yang/release/models/bfd - - ./yang/release/models/bgp - - ./yang/release/models/catalog - - ./yang/release/models/defined-sets - - ./yang/release/models/devices-manifest - - ./yang/release/models/ethernet-segments - - ./yang/release/models/extensions - - ./yang/release/models/firewall - - ./yang/release/models/flex-algo - - ./yang/release/models/gnpsi - - ./yang/release/models/gnsi - - ./yang/release/models/gribi - - ./yang/release/models/grpc - - ./yang/release/models/interfaces - - ./yang/release/models/isis - - ./yang/release/models/keychain - - ./yang/release/models/lacp - - ./yang/release/models/lldp - - ./yang/release/models/local-routing - - ./yang/release/models/macsec - - ./yang/release/models/mpls - - ./yang/release/models/multicast - - ./yang/release/models/network-instance - - ./yang/release/models/oam - - ./yang/release/models/openflow - - ./yang/release/models/optical-transport - - ./yang/release/models/ospf - - ./yang/release/models/p4rt - - ./yang/release/models/pcep - - ./yang/release/models/platform - - ./yang/release/models/policy - - ./yang/release/models/policy-forwarding - - ./yang/release/models/probes - - ./yang/release/models/ptp - - ./yang/release/models/qos - - ./yang/release/models/relay-agent - - ./yang/release/models/rib - - ./yang/release/models/sampling - - ./yang/release/models/segment-routing - - ./yang/release/models/stp - - ./yang/release/models/system - - ./yang/release/models/telemetry - - ./yang/release/models/types - - ./yang/release/models/vlan - - ./yang/release/models/wifi - - ./yang/third_party/ietf -*/ -package openconfig - -import ( - "fmt" -) - -// Interface_Aggregation_SwitchedVlan_TrunkVlans_Union is an interface that is implemented by valid types for the union -// for the leaf /openconfig-interfaces/interfaces/interface/aggregation/switched-vlan/config/trunk-vlans within the YANG schema. -// Union type can be one of [UnionString, UnionUint16]. -type Interface_Aggregation_SwitchedVlan_TrunkVlans_Union interface { - // Union type can be one of [UnionString, UnionUint16] - Documentation_for_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union() -} - -// Documentation_for_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union ensures that UnionString -// implements the Interface_Aggregation_SwitchedVlan_TrunkVlans_Union interface. -func (UnionString) Documentation_for_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union() {} - -// Documentation_for_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union ensures that UnionUint16 -// implements the Interface_Aggregation_SwitchedVlan_TrunkVlans_Union interface. -func (UnionUint16) Documentation_for_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union() {} - -// To_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union takes an input interface{} and attempts to convert it to a struct -// which implements the Interface_Aggregation_SwitchedVlan_TrunkVlans_Union union. It returns an error if the interface{} supplied -// cannot be converted to a type within the union. -func (t *Interface_Aggregation_SwitchedVlan) To_Interface_Aggregation_SwitchedVlan_TrunkVlans_Union(i interface{}) (Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, error) { - if v, ok := i.(Interface_Aggregation_SwitchedVlan_TrunkVlans_Union); ok { - return v, nil - } - switch v := i.(type) { - case string: - return UnionString(v), nil - case uint16: - return UnionUint16(v), nil - } - return nil, fmt.Errorf("cannot convert %v to Interface_Aggregation_SwitchedVlan_TrunkVlans_Union, unknown union type, got: %T, want any of [string, uint16]", i, i) -} - -// Interface_Ethernet_SwitchedVlan_TrunkVlans_Union is an interface that is implemented by valid types for the union -// for the leaf /openconfig-interfaces/interfaces/interface/ethernet/switched-vlan/config/trunk-vlans within the YANG schema. -// Union type can be one of [UnionString, UnionUint16]. -type Interface_Ethernet_SwitchedVlan_TrunkVlans_Union interface { - // Union type can be one of [UnionString, UnionUint16] - Documentation_for_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union() -} - -// Documentation_for_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union ensures that UnionString -// implements the Interface_Ethernet_SwitchedVlan_TrunkVlans_Union interface. -func (UnionString) Documentation_for_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union() {} - -// Documentation_for_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union ensures that UnionUint16 -// implements the Interface_Ethernet_SwitchedVlan_TrunkVlans_Union interface. -func (UnionUint16) Documentation_for_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union() {} - -// To_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union takes an input interface{} and attempts to convert it to a struct -// which implements the Interface_Ethernet_SwitchedVlan_TrunkVlans_Union union. It returns an error if the interface{} supplied -// cannot be converted to a type within the union. -func (t *Interface_Ethernet_SwitchedVlan) To_Interface_Ethernet_SwitchedVlan_TrunkVlans_Union(i interface{}) (Interface_Ethernet_SwitchedVlan_TrunkVlans_Union, error) { - if v, ok := i.(Interface_Ethernet_SwitchedVlan_TrunkVlans_Union); ok { - return v, nil - } - switch v := i.(type) { - case string: - return UnionString(v), nil - case uint16: - return UnionUint16(v), nil - } - return nil, fmt.Errorf("cannot convert %v to Interface_Ethernet_SwitchedVlan_TrunkVlans_Union, unknown union type, got: %T, want any of [string, uint16]", i, i) -} - -// Interface_RoutedVlan_Vlan_Union is an interface that is implemented by valid types for the union -// for the leaf /openconfig-interfaces/interfaces/interface/routed-vlan/config/vlan within the YANG schema. -// Union type can be one of [UnionString, UnionUint16]. -type Interface_RoutedVlan_Vlan_Union interface { - // Union type can be one of [UnionString, UnionUint16] - Documentation_for_Interface_RoutedVlan_Vlan_Union() -} - -// Documentation_for_Interface_RoutedVlan_Vlan_Union ensures that UnionString -// implements the Interface_RoutedVlan_Vlan_Union interface. -func (UnionString) Documentation_for_Interface_RoutedVlan_Vlan_Union() {} - -// Documentation_for_Interface_RoutedVlan_Vlan_Union ensures that UnionUint16 -// implements the Interface_RoutedVlan_Vlan_Union interface. -func (UnionUint16) Documentation_for_Interface_RoutedVlan_Vlan_Union() {} - -// To_Interface_RoutedVlan_Vlan_Union takes an input interface{} and attempts to convert it to a struct -// which implements the Interface_RoutedVlan_Vlan_Union union. It returns an error if the interface{} supplied -// cannot be converted to a type within the union. -func (t *Interface_RoutedVlan) To_Interface_RoutedVlan_Vlan_Union(i interface{}) (Interface_RoutedVlan_Vlan_Union, error) { - if v, ok := i.(Interface_RoutedVlan_Vlan_Union); ok { - return v, nil - } - switch v := i.(type) { - case string: - return UnionString(v), nil - case uint16: - return UnionUint16(v), nil - } - return nil, fmt.Errorf("cannot convert %v to Interface_RoutedVlan_Vlan_Union, unknown union type, got: %T, want any of [string, uint16]", i, i) -} - -// Interface_Subinterface_Vlan_VlanId_Union is an interface that is implemented by valid types for the union -// for the leaf /openconfig-interfaces/interfaces/interface/subinterfaces/subinterface/vlan/config/vlan-id within the YANG schema. -// Union type can be one of [UnionString, UnionUint16]. -type Interface_Subinterface_Vlan_VlanId_Union interface { - // Union type can be one of [UnionString, UnionUint16] - Documentation_for_Interface_Subinterface_Vlan_VlanId_Union() -} - -// Documentation_for_Interface_Subinterface_Vlan_VlanId_Union ensures that UnionString -// implements the Interface_Subinterface_Vlan_VlanId_Union interface. -func (UnionString) Documentation_for_Interface_Subinterface_Vlan_VlanId_Union() {} - -// Documentation_for_Interface_Subinterface_Vlan_VlanId_Union ensures that UnionUint16 -// implements the Interface_Subinterface_Vlan_VlanId_Union interface. -func (UnionUint16) Documentation_for_Interface_Subinterface_Vlan_VlanId_Union() {} - -// To_Interface_Subinterface_Vlan_VlanId_Union takes an input interface{} and attempts to convert it to a struct -// which implements the Interface_Subinterface_Vlan_VlanId_Union union. It returns an error if the interface{} supplied -// cannot be converted to a type within the union. -func (t *Interface_Subinterface_Vlan) To_Interface_Subinterface_Vlan_VlanId_Union(i interface{}) (Interface_Subinterface_Vlan_VlanId_Union, error) { - if v, ok := i.(Interface_Subinterface_Vlan_VlanId_Union); ok { - return v, nil - } - switch v := i.(type) { - case string: - return UnionString(v), nil - case uint16: - return UnionUint16(v), nil - } - return nil, fmt.Errorf("cannot convert %v to Interface_Subinterface_Vlan_VlanId_Union, unknown union type, got: %T, want any of [string, uint16]", i, i) -}