diff --git a/.github/ISSUE_TEMPLATE/testplan.md b/.github/ISSUE_TEMPLATE/testplan.md index 426b91908ec3a..55bcf0ce3a0e9 100644 --- a/.github/ISSUE_TEMPLATE/testplan.md +++ b/.github/ISSUE_TEMPLATE/testplan.md @@ -342,6 +342,16 @@ connectors are accepted, invalid are rejected with sensible error messages. - [ ] EC2 Join method in IoT mode with node and auth in different AWS accounts - [ ] IAM Join method in IoT mode with node and auth in different AWS accounts +### Kubernetes Node Joining +- [ ] Join a Teleport node running in the same Kubernetes cluster via a Kubernetes ProvisionToken + +### Cloud Labels +- [ ] Create an EC2 instance with [tags in instance metadata enabled](https://goteleport.com/docs/management/guides/ec2-tags/) +and with tag `foo`: `bar`. Verify that a node running on the instance has label +`aws/foo=bar`. +- [ ] Create an Azure VM with tag `foo`: `bar`. Verify that a node running on the +instance has label `azure/foo=bar`. + ### Passwordless Passwordless requires `tsh` compiled with libfido2 for most operations (apart diff --git a/api/proto/teleport/legacy/types/types.proto b/api/proto/teleport/legacy/types/types.proto index 439b8d93abac9..cf602f1202282 100644 --- a/api/proto/teleport/legacy/types/types.proto +++ b/api/proto/teleport/legacy/types/types.proto @@ -1109,8 +1109,12 @@ message ProvisionTokenSpecV2 { (gogoproto.jsontag) = "suggested_agent_matcher_labels,omitempty", (gogoproto.customtype) = "Labels" ]; + // Kubernetes allows the configuration of options specific to the "kubernetes" join method. + ProvisionTokenSpecV2Kubernetes Kubernetes = 10 [(gogoproto.jsontag) = "kubernetes,omitempty"]; } +// ProvisionTokenSpecV2Github contains the GitHub-specific part of the +// ProvisionTokenSpecV2 message ProvisionTokenSpecV2GitHub { // Rule includes fields mapped from `lib/githubactions.IDToken` // Not all fields should be included, only ones that we expect to be useful @@ -1151,6 +1155,8 @@ message ProvisionTokenSpecV2GitHub { string EnterpriseServerHost = 2 [(gogoproto.jsontag) = "enterprise_server_host,omitempty"]; } +// ProvisionTokenSpecV2CircleCI contains the CircleCI-specific part of the +// ProvisionTokenSpecV2 message ProvisionTokenSpecV2CircleCI { message Rule { string ProjectID = 1 [(gogoproto.jsontag) = "project_id,omitempty"]; @@ -1162,6 +1168,21 @@ message ProvisionTokenSpecV2CircleCI { string OrganizationID = 2 [(gogoproto.jsontag) = "organization_id,omitempty"]; } +// ProvisionTokenSpecV2Kubernetes contains the Kubernetes-specific part of the +// ProvisionTokenSpecV2 +message ProvisionTokenSpecV2Kubernetes { + // Rule is a set of properties the Kubernetes-issued token might have to be + // allowed to use this ProvisionToken + message Rule { + // ServiceAccount is the namespaced name of the Kubernetes service account. + // Its format is "namespace:service-account". + string ServiceAccount = 1 [(gogoproto.jsontag) = "service_account,omitempty"]; + } + // Allow is a list of Rules, nodes using this token must match one + // allow rule to use this token. + repeated Rule Allow = 1 [(gogoproto.jsontag) = "allow,omitempty"]; +} + // StaticTokensV2 implements the StaticTokens interface. message StaticTokensV2 { option (gogoproto.goproto_stringer) = false; diff --git a/api/types/provisioning.go b/api/types/provisioning.go index eba977399802a..de67480cebb1a 100644 --- a/api/types/provisioning.go +++ b/api/types/provisioning.go @@ -47,6 +47,10 @@ const ( // join method. Documentation regarding the implementation of this can be // found in lib/circleci JoinMethodCircleCI JoinMethod = "circleci" + // JoinMethodKubernetes indicates that the node will join with the + // Kubernetes join method. Documentation regarding implementation can be + // found in lib/kubernetestoken + JoinMethodKubernetes JoinMethod = "kubernetes" ) var JoinMethods = []JoinMethod{ @@ -55,6 +59,7 @@ var JoinMethods = []JoinMethod{ JoinMethodIAM, JoinMethodGitHub, JoinMethodCircleCI, + JoinMethodKubernetes, } func ValidateJoinMethod(method JoinMethod) error { @@ -235,6 +240,17 @@ func (p *ProvisionTokenV2) CheckAndSetDefaults() error { if err := providerCfg.checkAndSetDefaults(); err != nil { return trace.Wrap(err) } + case JoinMethodKubernetes: + providerCfg := p.Spec.Kubernetes + if providerCfg == nil { + return trace.BadParameter( + `"kubernetes" configuration must be provided for the join method %q`, + JoinMethodKubernetes, + ) + } + if err := providerCfg.checkAndSetDefaults(); err != nil { + return trace.Wrap(err) + } default: return trace.BadParameter("unknown join method %q", p.Spec.JoinMethod) } @@ -492,3 +508,28 @@ func (a *ProvisionTokenSpecV2CircleCI) checkAndSetDefaults() error { } return nil } + +func (a *ProvisionTokenSpecV2Kubernetes) checkAndSetDefaults() error { + if len(a.Allow) == 0 { + return trace.BadParameter( + "the %q join method requires defined kubernetes allow rules", + JoinMethodKubernetes, + ) + } + for _, allowRule := range a.Allow { + if allowRule.ServiceAccount == "" { + return trace.BadParameter( + "the %q join method requires kubernetes allow rules with non-empty service account name", + JoinMethodKubernetes, + ) + } + if len(strings.Split(allowRule.ServiceAccount, ":")) != 2 { + return trace.BadParameter( + `the %q join method service account rule format is "namespace:service_account", got %q instead`, + JoinMethodKubernetes, + allowRule.ServiceAccount, + ) + } + } + return nil +} diff --git a/api/types/provisioning_test.go b/api/types/provisioning_test.go index 84be2c78ddfda..04fc8ac707577 100644 --- a/api/types/provisioning_test.go +++ b/api/types/provisioning_test.go @@ -391,6 +391,63 @@ func TestProvisionTokenV2_CheckAndSetDefaults(t *testing.T) { }, expectedErr: &trace.BadParameterError{}, }, + { + desc: "kubernetes valid", + token: &ProvisionTokenV2{ + Metadata: Metadata{ + Name: "test", + }, + Spec: ProvisionTokenSpecV2{ + Roles: []SystemRole{RoleNode}, + JoinMethod: JoinMethodKubernetes, + Kubernetes: &ProvisionTokenSpecV2Kubernetes{ + Allow: []*ProvisionTokenSpecV2Kubernetes_Rule{ + { + ServiceAccount: "namespace:my-service-account", + }, + }, + }, + }, + }, + }, + { + desc: "kubernetes wrong service account name", + token: &ProvisionTokenV2{ + Metadata: Metadata{ + Name: "test", + }, + Spec: ProvisionTokenSpecV2{ + Roles: []SystemRole{RoleNode}, + JoinMethod: JoinMethodKubernetes, + Kubernetes: &ProvisionTokenSpecV2Kubernetes{ + Allow: []*ProvisionTokenSpecV2Kubernetes_Rule{ + { + ServiceAccount: "my-service-account", + }, + }, + }, + }, + }, + expectedErr: &trace.BadParameterError{}, + }, + { + desc: "kubernetes allow rule blank", + token: &ProvisionTokenV2{ + Metadata: Metadata{ + Name: "test", + }, + Spec: ProvisionTokenSpecV2{ + Roles: []SystemRole{RoleNode}, + JoinMethod: JoinMethodKubernetes, + Kubernetes: &ProvisionTokenSpecV2Kubernetes{ + Allow: []*ProvisionTokenSpecV2Kubernetes_Rule{ + {}, + }, + }, + }, + }, + expectedErr: &trace.BadParameterError{}, + }, } for _, tc := range testcases { diff --git a/api/types/types.pb.go b/api/types/types.pb.go index 3fa3520c4bf38..4e34a7a207d0f 100644 --- a/api/types/types.pb.go +++ b/api/types/types.pb.go @@ -491,7 +491,7 @@ func (x ClusterAuditConfigSpecV2_FIPSEndpointState) String() string { } func (ClusterAuditConfigSpecV2_FIPSEndpointState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{60, 0} + return fileDescriptor_9198ee693835762e, []int{61, 0} } // TraceType is an identification of the checkpoint. @@ -561,7 +561,7 @@ func (x ConnectionDiagnosticTrace_TraceType) String() string { } func (ConnectionDiagnosticTrace_TraceType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{208, 0} + return fileDescriptor_9198ee693835762e, []int{209, 0} } // StatusType describes whether this was a success or a failure. @@ -590,7 +590,7 @@ func (x ConnectionDiagnosticTrace_StatusType) String() string { } func (ConnectionDiagnosticTrace_StatusType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{208, 1} + return fileDescriptor_9198ee693835762e, []int{209, 1} } type KeepAlive struct { @@ -3210,10 +3210,12 @@ type ProvisionTokenSpecV2 struct { // When an agent uses this token, the agent should monitor resources that match those labels. // For databases, this means adding the labels to `db_service.resources.labels`. // Currently, only node-join scripts create a configuration according to the suggestion. - SuggestedAgentMatcherLabels Labels `protobuf:"bytes,9,opt,name=SuggestedAgentMatcherLabels,proto3,customtype=Labels" json:"suggested_agent_matcher_labels,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + SuggestedAgentMatcherLabels Labels `protobuf:"bytes,9,opt,name=SuggestedAgentMatcherLabels,proto3,customtype=Labels" json:"suggested_agent_matcher_labels,omitempty"` + // Kubernetes allows the configuration of options specific to the "kubernetes" join method. + Kubernetes *ProvisionTokenSpecV2Kubernetes `protobuf:"bytes,10,opt,name=Kubernetes,proto3" json:"kubernetes,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ProvisionTokenSpecV2) Reset() { *m = ProvisionTokenSpecV2{} } @@ -3249,6 +3251,8 @@ func (m *ProvisionTokenSpecV2) XXX_DiscardUnknown() { var xxx_messageInfo_ProvisionTokenSpecV2 proto.InternalMessageInfo +// ProvisionTokenSpecV2Github contains the GitHub-specific part of the +// ProvisionTokenSpecV2 type ProvisionTokenSpecV2GitHub struct { // Allow is a list of TokenRules, nodes using this token must match one // allow rule to use this token. @@ -3362,6 +3366,8 @@ func (m *ProvisionTokenSpecV2GitHub_Rule) XXX_DiscardUnknown() { var xxx_messageInfo_ProvisionTokenSpecV2GitHub_Rule proto.InternalMessageInfo +// ProvisionTokenSpecV2CircleCI contains the CircleCI-specific part of the +// ProvisionTokenSpecV2 type ProvisionTokenSpecV2CircleCI struct { // Allow is a list of TokenRules, nodes using this token must match one // allow rule to use this token. @@ -3446,6 +3452,94 @@ func (m *ProvisionTokenSpecV2CircleCI_Rule) XXX_DiscardUnknown() { var xxx_messageInfo_ProvisionTokenSpecV2CircleCI_Rule proto.InternalMessageInfo +// ProvisionTokenSpecV2Kubernetes contains the Kubernetes-specific part of the +// ProvisionTokenSpecV2 +type ProvisionTokenSpecV2Kubernetes struct { + // Allow is a list of Rules, nodes using this token must match one + // allow rule to use this token. + Allow []*ProvisionTokenSpecV2Kubernetes_Rule `protobuf:"bytes,1,rep,name=Allow,proto3" json:"allow,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProvisionTokenSpecV2Kubernetes) Reset() { *m = ProvisionTokenSpecV2Kubernetes{} } +func (m *ProvisionTokenSpecV2Kubernetes) String() string { return proto.CompactTextString(m) } +func (*ProvisionTokenSpecV2Kubernetes) ProtoMessage() {} +func (*ProvisionTokenSpecV2Kubernetes) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{55} +} +func (m *ProvisionTokenSpecV2Kubernetes) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProvisionTokenSpecV2Kubernetes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProvisionTokenSpecV2Kubernetes.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProvisionTokenSpecV2Kubernetes) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProvisionTokenSpecV2Kubernetes.Merge(m, src) +} +func (m *ProvisionTokenSpecV2Kubernetes) XXX_Size() int { + return m.Size() +} +func (m *ProvisionTokenSpecV2Kubernetes) XXX_DiscardUnknown() { + xxx_messageInfo_ProvisionTokenSpecV2Kubernetes.DiscardUnknown(m) +} + +var xxx_messageInfo_ProvisionTokenSpecV2Kubernetes proto.InternalMessageInfo + +// Rule is a set of properties the Kubernetes-issued token might have to be +// allowed to use this ProvisionToken +type ProvisionTokenSpecV2Kubernetes_Rule struct { + // ServiceAccount is the namespaced name of the Kubernetes service account. + // Its format is "namespace:service-account". + ServiceAccount string `protobuf:"bytes,1,opt,name=ServiceAccount,proto3" json:"service_account,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ProvisionTokenSpecV2Kubernetes_Rule) Reset() { *m = ProvisionTokenSpecV2Kubernetes_Rule{} } +func (m *ProvisionTokenSpecV2Kubernetes_Rule) String() string { return proto.CompactTextString(m) } +func (*ProvisionTokenSpecV2Kubernetes_Rule) ProtoMessage() {} +func (*ProvisionTokenSpecV2Kubernetes_Rule) Descriptor() ([]byte, []int) { + return fileDescriptor_9198ee693835762e, []int{55, 0} +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ProvisionTokenSpecV2Kubernetes_Rule.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_Merge(src proto.Message) { + xxx_messageInfo_ProvisionTokenSpecV2Kubernetes_Rule.Merge(m, src) +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_Size() int { + return m.Size() +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) XXX_DiscardUnknown() { + xxx_messageInfo_ProvisionTokenSpecV2Kubernetes_Rule.DiscardUnknown(m) +} + +var xxx_messageInfo_ProvisionTokenSpecV2Kubernetes_Rule proto.InternalMessageInfo + // StaticTokensV2 implements the StaticTokens interface. type StaticTokensV2 struct { // Kind is a resource kind @@ -3466,7 +3560,7 @@ type StaticTokensV2 struct { func (m *StaticTokensV2) Reset() { *m = StaticTokensV2{} } func (*StaticTokensV2) ProtoMessage() {} func (*StaticTokensV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{55} + return fileDescriptor_9198ee693835762e, []int{56} } func (m *StaticTokensV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3509,7 +3603,7 @@ func (m *StaticTokensSpecV2) Reset() { *m = StaticTokensSpecV2{} } func (m *StaticTokensSpecV2) String() string { return proto.CompactTextString(m) } func (*StaticTokensSpecV2) ProtoMessage() {} func (*StaticTokensSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{56} + return fileDescriptor_9198ee693835762e, []int{57} } func (m *StaticTokensSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3558,7 +3652,7 @@ type ClusterNameV2 struct { func (m *ClusterNameV2) Reset() { *m = ClusterNameV2{} } func (*ClusterNameV2) ProtoMessage() {} func (*ClusterNameV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{57} + return fileDescriptor_9198ee693835762e, []int{58} } func (m *ClusterNameV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3604,7 +3698,7 @@ func (m *ClusterNameSpecV2) Reset() { *m = ClusterNameSpecV2{} } func (m *ClusterNameSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterNameSpecV2) ProtoMessage() {} func (*ClusterNameSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{58} + return fileDescriptor_9198ee693835762e, []int{59} } func (m *ClusterNameSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3654,7 +3748,7 @@ func (m *ClusterAuditConfigV2) Reset() { *m = ClusterAuditConfigV2{} } func (m *ClusterAuditConfigV2) String() string { return proto.CompactTextString(m) } func (*ClusterAuditConfigV2) ProtoMessage() {} func (*ClusterAuditConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{59} + return fileDescriptor_9198ee693835762e, []int{60} } func (m *ClusterAuditConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3724,7 +3818,7 @@ func (m *ClusterAuditConfigSpecV2) Reset() { *m = ClusterAuditConfigSpec func (m *ClusterAuditConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterAuditConfigSpecV2) ProtoMessage() {} func (*ClusterAuditConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{60} + return fileDescriptor_9198ee693835762e, []int{61} } func (m *ClusterAuditConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3774,7 +3868,7 @@ func (m *ClusterNetworkingConfigV2) Reset() { *m = ClusterNetworkingConf func (m *ClusterNetworkingConfigV2) String() string { return proto.CompactTextString(m) } func (*ClusterNetworkingConfigV2) ProtoMessage() {} func (*ClusterNetworkingConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{61} + return fileDescriptor_9198ee693835762e, []int{62} } func (m *ClusterNetworkingConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3843,7 +3937,7 @@ func (m *ClusterNetworkingConfigSpecV2) Reset() { *m = ClusterNetworking func (m *ClusterNetworkingConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*ClusterNetworkingConfigSpecV2) ProtoMessage() {} func (*ClusterNetworkingConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{62} + return fileDescriptor_9198ee693835762e, []int{63} } func (m *ClusterNetworkingConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3887,7 +3981,7 @@ func (m *TunnelStrategyV1) Reset() { *m = TunnelStrategyV1{} } func (m *TunnelStrategyV1) String() string { return proto.CompactTextString(m) } func (*TunnelStrategyV1) ProtoMessage() {} func (*TunnelStrategyV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{63} + return fileDescriptor_9198ee693835762e, []int{64} } func (m *TunnelStrategyV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -3972,7 +4066,7 @@ func (m *AgentMeshTunnelStrategy) Reset() { *m = AgentMeshTunnelStrategy func (m *AgentMeshTunnelStrategy) String() string { return proto.CompactTextString(m) } func (*AgentMeshTunnelStrategy) ProtoMessage() {} func (*AgentMeshTunnelStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{64} + return fileDescriptor_9198ee693835762e, []int{65} } func (m *AgentMeshTunnelStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4013,7 +4107,7 @@ func (m *ProxyPeeringTunnelStrategy) Reset() { *m = ProxyPeeringTunnelSt func (m *ProxyPeeringTunnelStrategy) String() string { return proto.CompactTextString(m) } func (*ProxyPeeringTunnelStrategy) ProtoMessage() {} func (*ProxyPeeringTunnelStrategy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{65} + return fileDescriptor_9198ee693835762e, []int{66} } func (m *ProxyPeeringTunnelStrategy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4063,7 +4157,7 @@ func (m *SessionRecordingConfigV2) Reset() { *m = SessionRecordingConfig func (m *SessionRecordingConfigV2) String() string { return proto.CompactTextString(m) } func (*SessionRecordingConfigV2) ProtoMessage() {} func (*SessionRecordingConfigV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{66} + return fileDescriptor_9198ee693835762e, []int{67} } func (m *SessionRecordingConfigV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4109,7 +4203,7 @@ func (m *SessionRecordingConfigSpecV2) Reset() { *m = SessionRecordingCo func (m *SessionRecordingConfigSpecV2) String() string { return proto.CompactTextString(m) } func (*SessionRecordingConfigSpecV2) ProtoMessage() {} func (*SessionRecordingConfigSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{67} + return fileDescriptor_9198ee693835762e, []int{68} } func (m *SessionRecordingConfigSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4158,7 +4252,7 @@ type AuthPreferenceV2 struct { func (m *AuthPreferenceV2) Reset() { *m = AuthPreferenceV2{} } func (*AuthPreferenceV2) ProtoMessage() {} func (*AuthPreferenceV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{68} + return fileDescriptor_9198ee693835762e, []int{69} } func (m *AuthPreferenceV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4229,7 +4323,7 @@ func (m *AuthPreferenceSpecV2) Reset() { *m = AuthPreferenceSpecV2{} } func (m *AuthPreferenceSpecV2) String() string { return proto.CompactTextString(m) } func (*AuthPreferenceSpecV2) ProtoMessage() {} func (*AuthPreferenceSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{69} + return fileDescriptor_9198ee693835762e, []int{70} } func (m *AuthPreferenceSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4280,7 +4374,7 @@ func (m *U2F) Reset() { *m = U2F{} } func (m *U2F) String() string { return proto.CompactTextString(m) } func (*U2F) ProtoMessage() {} func (*U2F) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{70} + return fileDescriptor_9198ee693835762e, []int{71} } func (m *U2F) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4348,7 +4442,7 @@ func (m *Webauthn) Reset() { *m = Webauthn{} } func (m *Webauthn) String() string { return proto.CompactTextString(m) } func (*Webauthn) ProtoMessage() {} func (*Webauthn) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{71} + return fileDescriptor_9198ee693835762e, []int{72} } func (m *Webauthn) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4398,7 +4492,7 @@ func (m *Namespace) Reset() { *m = Namespace{} } func (m *Namespace) String() string { return proto.CompactTextString(m) } func (*Namespace) ProtoMessage() {} func (*Namespace) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{72} + return fileDescriptor_9198ee693835762e, []int{73} } func (m *Namespace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4438,7 +4532,7 @@ func (m *NamespaceSpec) Reset() { *m = NamespaceSpec{} } func (m *NamespaceSpec) String() string { return proto.CompactTextString(m) } func (*NamespaceSpec) ProtoMessage() {} func (*NamespaceSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{73} + return fileDescriptor_9198ee693835762e, []int{74} } func (m *NamespaceSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4486,7 +4580,7 @@ type UserTokenV3 struct { func (m *UserTokenV3) Reset() { *m = UserTokenV3{} } func (*UserTokenV3) ProtoMessage() {} func (*UserTokenV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{74} + return fileDescriptor_9198ee693835762e, []int{75} } func (m *UserTokenV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4533,7 +4627,7 @@ func (m *UserTokenSpecV3) Reset() { *m = UserTokenSpecV3{} } func (m *UserTokenSpecV3) String() string { return proto.CompactTextString(m) } func (*UserTokenSpecV3) ProtoMessage() {} func (*UserTokenSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{75} + return fileDescriptor_9198ee693835762e, []int{76} } func (m *UserTokenSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4581,7 +4675,7 @@ type UserTokenSecretsV3 struct { func (m *UserTokenSecretsV3) Reset() { *m = UserTokenSecretsV3{} } func (*UserTokenSecretsV3) ProtoMessage() {} func (*UserTokenSecretsV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{76} + return fileDescriptor_9198ee693835762e, []int{77} } func (m *UserTokenSecretsV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4626,7 +4720,7 @@ func (m *UserTokenSecretsSpecV3) Reset() { *m = UserTokenSecretsSpecV3{} func (m *UserTokenSecretsSpecV3) String() string { return proto.CompactTextString(m) } func (*UserTokenSecretsSpecV3) ProtoMessage() {} func (*UserTokenSecretsSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{77} + return fileDescriptor_9198ee693835762e, []int{78} } func (m *UserTokenSecretsSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4675,7 +4769,7 @@ type AccessRequestV3 struct { func (m *AccessRequestV3) Reset() { *m = AccessRequestV3{} } func (*AccessRequestV3) ProtoMessage() {} func (*AccessRequestV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{78} + return fileDescriptor_9198ee693835762e, []int{79} } func (m *AccessRequestV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4727,7 +4821,7 @@ func (m *AccessReviewThreshold) Reset() { *m = AccessReviewThreshold{} } func (m *AccessReviewThreshold) String() string { return proto.CompactTextString(m) } func (*AccessReviewThreshold) ProtoMessage() {} func (*AccessReviewThreshold) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{79} + return fileDescriptor_9198ee693835762e, []int{80} } func (m *AccessReviewThreshold) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4783,7 +4877,7 @@ func (m *AccessReview) Reset() { *m = AccessReview{} } func (m *AccessReview) String() string { return proto.CompactTextString(m) } func (*AccessReview) ProtoMessage() {} func (*AccessReview) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{80} + return fileDescriptor_9198ee693835762e, []int{81} } func (m *AccessReview) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4828,7 +4922,7 @@ func (m *AccessReviewSubmission) Reset() { *m = AccessReviewSubmission{} func (m *AccessReviewSubmission) String() string { return proto.CompactTextString(m) } func (*AccessReviewSubmission) ProtoMessage() {} func (*AccessReviewSubmission) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{81} + return fileDescriptor_9198ee693835762e, []int{82} } func (m *AccessReviewSubmission) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4871,7 +4965,7 @@ func (m *ThresholdIndexSet) Reset() { *m = ThresholdIndexSet{} } func (m *ThresholdIndexSet) String() string { return proto.CompactTextString(m) } func (*ThresholdIndexSet) ProtoMessage() {} func (*ThresholdIndexSet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{82} + return fileDescriptor_9198ee693835762e, []int{83} } func (m *ThresholdIndexSet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -4914,7 +5008,7 @@ func (m *ThresholdIndexSets) Reset() { *m = ThresholdIndexSets{} } func (m *ThresholdIndexSets) String() string { return proto.CompactTextString(m) } func (*ThresholdIndexSets) ProtoMessage() {} func (*ThresholdIndexSets) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{83} + return fileDescriptor_9198ee693835762e, []int{84} } func (m *ThresholdIndexSets) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5007,7 +5101,7 @@ func (m *AccessRequestSpecV3) Reset() { *m = AccessRequestSpecV3{} } func (m *AccessRequestSpecV3) String() string { return proto.CompactTextString(m) } func (*AccessRequestSpecV3) ProtoMessage() {} func (*AccessRequestSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{84} + return fileDescriptor_9198ee693835762e, []int{85} } func (m *AccessRequestSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5053,7 +5147,7 @@ func (m *AccessRequestFilter) Reset() { *m = AccessRequestFilter{} } func (m *AccessRequestFilter) String() string { return proto.CompactTextString(m) } func (*AccessRequestFilter) ProtoMessage() {} func (*AccessRequestFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{85} + return fileDescriptor_9198ee693835762e, []int{86} } func (m *AccessRequestFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5101,7 +5195,7 @@ func (m *AccessCapabilities) Reset() { *m = AccessCapabilities{} } func (m *AccessCapabilities) String() string { return proto.CompactTextString(m) } func (*AccessCapabilities) ProtoMessage() {} func (*AccessCapabilities) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{86} + return fileDescriptor_9198ee693835762e, []int{87} } func (m *AccessCapabilities) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5153,7 +5247,7 @@ func (m *AccessCapabilitiesRequest) Reset() { *m = AccessCapabilitiesReq func (m *AccessCapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*AccessCapabilitiesRequest) ProtoMessage() {} func (*AccessCapabilitiesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{87} + return fileDescriptor_9198ee693835762e, []int{88} } func (m *AccessCapabilitiesRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5199,7 +5293,7 @@ func (m *ResourceID) Reset() { *m = ResourceID{} } func (m *ResourceID) String() string { return proto.CompactTextString(m) } func (*ResourceID) ProtoMessage() {} func (*ResourceID) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{88} + return fileDescriptor_9198ee693835762e, []int{89} } func (m *ResourceID) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5248,7 +5342,7 @@ type PluginDataV3 struct { func (m *PluginDataV3) Reset() { *m = PluginDataV3{} } func (*PluginDataV3) ProtoMessage() {} func (*PluginDataV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{89} + return fileDescriptor_9198ee693835762e, []int{90} } func (m *PluginDataV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5291,7 +5385,7 @@ func (m *PluginDataEntry) Reset() { *m = PluginDataEntry{} } func (m *PluginDataEntry) String() string { return proto.CompactTextString(m) } func (*PluginDataEntry) ProtoMessage() {} func (*PluginDataEntry) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{90} + return fileDescriptor_9198ee693835762e, []int{91} } func (m *PluginDataEntry) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5333,7 +5427,7 @@ func (m *PluginDataSpecV3) Reset() { *m = PluginDataSpecV3{} } func (m *PluginDataSpecV3) String() string { return proto.CompactTextString(m) } func (*PluginDataSpecV3) ProtoMessage() {} func (*PluginDataSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{91} + return fileDescriptor_9198ee693835762e, []int{92} } func (m *PluginDataSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5380,7 +5474,7 @@ func (m *PluginDataFilter) Reset() { *m = PluginDataFilter{} } func (m *PluginDataFilter) String() string { return proto.CompactTextString(m) } func (*PluginDataFilter) ProtoMessage() {} func (*PluginDataFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{92} + return fileDescriptor_9198ee693835762e, []int{93} } func (m *PluginDataFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5431,7 +5525,7 @@ func (m *PluginDataUpdateParams) Reset() { *m = PluginDataUpdateParams{} func (m *PluginDataUpdateParams) String() string { return proto.CompactTextString(m) } func (*PluginDataUpdateParams) ProtoMessage() {} func (*PluginDataUpdateParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{93} + return fileDescriptor_9198ee693835762e, []int{94} } func (m *PluginDataUpdateParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5480,7 +5574,7 @@ type RoleV5 struct { func (m *RoleV5) Reset() { *m = RoleV5{} } func (*RoleV5) ProtoMessage() {} func (*RoleV5) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{94} + return fileDescriptor_9198ee693835762e, []int{95} } func (m *RoleV5) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5527,7 +5621,7 @@ func (m *RoleSpecV5) Reset() { *m = RoleSpecV5{} } func (m *RoleSpecV5) String() string { return proto.CompactTextString(m) } func (*RoleSpecV5) ProtoMessage() {} func (*RoleSpecV5) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{95} + return fileDescriptor_9198ee693835762e, []int{96} } func (m *RoleSpecV5) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5633,7 +5727,7 @@ func (m *RoleOptions) Reset() { *m = RoleOptions{} } func (m *RoleOptions) String() string { return proto.CompactTextString(m) } func (*RoleOptions) ProtoMessage() {} func (*RoleOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{96} + return fileDescriptor_9198ee693835762e, []int{97} } func (m *RoleOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5679,7 +5773,7 @@ func (m *RecordSession) Reset() { *m = RecordSession{} } func (m *RecordSession) String() string { return proto.CompactTextString(m) } func (*RecordSession) ProtoMessage() {} func (*RecordSession) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{97} + return fileDescriptor_9198ee693835762e, []int{98} } func (m *RecordSession) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5729,7 +5823,7 @@ func (m *CertExtension) Reset() { *m = CertExtension{} } func (m *CertExtension) String() string { return proto.CompactTextString(m) } func (*CertExtension) ProtoMessage() {} func (*CertExtension) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{98} + return fileDescriptor_9198ee693835762e, []int{99} } func (m *CertExtension) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5820,7 +5914,7 @@ func (m *RoleConditions) Reset() { *m = RoleConditions{} } func (m *RoleConditions) String() string { return proto.CompactTextString(m) } func (*RoleConditions) ProtoMessage() {} func (*RoleConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{99} + return fileDescriptor_9198ee693835762e, []int{100} } func (m *RoleConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5873,7 +5967,7 @@ func (m *SessionRequirePolicy) Reset() { *m = SessionRequirePolicy{} } func (m *SessionRequirePolicy) String() string { return proto.CompactTextString(m) } func (*SessionRequirePolicy) ProtoMessage() {} func (*SessionRequirePolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{100} + return fileDescriptor_9198ee693835762e, []int{101} } func (m *SessionRequirePolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5921,7 +6015,7 @@ func (m *SessionJoinPolicy) Reset() { *m = SessionJoinPolicy{} } func (m *SessionJoinPolicy) String() string { return proto.CompactTextString(m) } func (*SessionJoinPolicy) ProtoMessage() {} func (*SessionJoinPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{101} + return fileDescriptor_9198ee693835762e, []int{102} } func (m *SessionJoinPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -5986,7 +6080,7 @@ func (m *AccessRequestConditions) Reset() { *m = AccessRequestConditions func (m *AccessRequestConditions) String() string { return proto.CompactTextString(m) } func (*AccessRequestConditions) ProtoMessage() {} func (*AccessRequestConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{102} + return fileDescriptor_9198ee693835762e, []int{103} } func (m *AccessRequestConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6038,7 +6132,7 @@ func (m *AccessReviewConditions) Reset() { *m = AccessReviewConditions{} func (m *AccessReviewConditions) String() string { return proto.CompactTextString(m) } func (*AccessReviewConditions) ProtoMessage() {} func (*AccessReviewConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{103} + return fileDescriptor_9198ee693835762e, []int{104} } func (m *AccessReviewConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6084,7 +6178,7 @@ func (m *ClaimMapping) Reset() { *m = ClaimMapping{} } func (m *ClaimMapping) String() string { return proto.CompactTextString(m) } func (*ClaimMapping) ProtoMessage() {} func (*ClaimMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{104} + return fileDescriptor_9198ee693835762e, []int{105} } func (m *ClaimMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6130,7 +6224,7 @@ func (m *TraitMapping) Reset() { *m = TraitMapping{} } func (m *TraitMapping) String() string { return proto.CompactTextString(m) } func (*TraitMapping) ProtoMessage() {} func (*TraitMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{105} + return fileDescriptor_9198ee693835762e, []int{106} } func (m *TraitMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6179,7 +6273,7 @@ func (m *Rule) Reset() { *m = Rule{} } func (m *Rule) String() string { return proto.CompactTextString(m) } func (*Rule) ProtoMessage() {} func (*Rule) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{106} + return fileDescriptor_9198ee693835762e, []int{107} } func (m *Rule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6227,7 +6321,7 @@ func (m *ImpersonateConditions) Reset() { *m = ImpersonateConditions{} } func (m *ImpersonateConditions) String() string { return proto.CompactTextString(m) } func (*ImpersonateConditions) ProtoMessage() {} func (*ImpersonateConditions) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{107} + return fileDescriptor_9198ee693835762e, []int{108} } func (m *ImpersonateConditions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6269,7 +6363,7 @@ func (m *BoolValue) Reset() { *m = BoolValue{} } func (m *BoolValue) String() string { return proto.CompactTextString(m) } func (*BoolValue) ProtoMessage() {} func (*BoolValue) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{108} + return fileDescriptor_9198ee693835762e, []int{109} } func (m *BoolValue) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6318,7 +6412,7 @@ type UserV2 struct { func (m *UserV2) Reset() { *m = UserV2{} } func (*UserV2) ProtoMessage() {} func (*UserV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{109} + return fileDescriptor_9198ee693835762e, []int{110} } func (m *UserV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6382,7 +6476,7 @@ func (m *UserSpecV2) Reset() { *m = UserSpecV2{} } func (m *UserSpecV2) String() string { return proto.CompactTextString(m) } func (*UserSpecV2) ProtoMessage() {} func (*UserSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{110} + return fileDescriptor_9198ee693835762e, []int{111} } func (m *UserSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6427,7 +6521,7 @@ type ExternalIdentity struct { func (m *ExternalIdentity) Reset() { *m = ExternalIdentity{} } func (*ExternalIdentity) ProtoMessage() {} func (*ExternalIdentity) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{111} + return fileDescriptor_9198ee693835762e, []int{112} } func (m *ExternalIdentity) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6479,7 +6573,7 @@ func (m *LoginStatus) Reset() { *m = LoginStatus{} } func (m *LoginStatus) String() string { return proto.CompactTextString(m) } func (*LoginStatus) ProtoMessage() {} func (*LoginStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{112} + return fileDescriptor_9198ee693835762e, []int{113} } func (m *LoginStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6524,7 +6618,7 @@ type CreatedBy struct { func (m *CreatedBy) Reset() { *m = CreatedBy{} } func (*CreatedBy) ProtoMessage() {} func (*CreatedBy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{113} + return fileDescriptor_9198ee693835762e, []int{114} } func (m *CreatedBy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6573,7 +6667,7 @@ func (m *LocalAuthSecrets) Reset() { *m = LocalAuthSecrets{} } func (m *LocalAuthSecrets) String() string { return proto.CompactTextString(m) } func (*LocalAuthSecrets) ProtoMessage() {} func (*LocalAuthSecrets) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{114} + return fileDescriptor_9198ee693835762e, []int{115} } func (m *LocalAuthSecrets) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6629,7 +6723,7 @@ func (m *MFADevice) Reset() { *m = MFADevice{} } func (m *MFADevice) String() string { return proto.CompactTextString(m) } func (*MFADevice) ProtoMessage() {} func (*MFADevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{115} + return fileDescriptor_9198ee693835762e, []int{116} } func (m *MFADevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6727,7 +6821,7 @@ func (m *TOTPDevice) Reset() { *m = TOTPDevice{} } func (m *TOTPDevice) String() string { return proto.CompactTextString(m) } func (*TOTPDevice) ProtoMessage() {} func (*TOTPDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{116} + return fileDescriptor_9198ee693835762e, []int{117} } func (m *TOTPDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6773,7 +6867,7 @@ func (m *U2FDevice) Reset() { *m = U2FDevice{} } func (m *U2FDevice) String() string { return proto.CompactTextString(m) } func (*U2FDevice) ProtoMessage() {} func (*U2FDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{117} + return fileDescriptor_9198ee693835762e, []int{118} } func (m *U2FDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6840,7 +6934,7 @@ func (m *WebauthnDevice) Reset() { *m = WebauthnDevice{} } func (m *WebauthnDevice) String() string { return proto.CompactTextString(m) } func (*WebauthnDevice) ProtoMessage() {} func (*WebauthnDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{118} + return fileDescriptor_9198ee693835762e, []int{119} } func (m *WebauthnDevice) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6883,7 +6977,7 @@ func (m *WebauthnLocalAuth) Reset() { *m = WebauthnLocalAuth{} } func (m *WebauthnLocalAuth) String() string { return proto.CompactTextString(m) } func (*WebauthnLocalAuth) ProtoMessage() {} func (*WebauthnLocalAuth) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{119} + return fileDescriptor_9198ee693835762e, []int{120} } func (m *WebauthnLocalAuth) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6929,7 +7023,7 @@ func (m *ConnectorRef) Reset() { *m = ConnectorRef{} } func (m *ConnectorRef) String() string { return proto.CompactTextString(m) } func (*ConnectorRef) ProtoMessage() {} func (*ConnectorRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{120} + return fileDescriptor_9198ee693835762e, []int{121} } func (m *ConnectorRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -6971,7 +7065,7 @@ func (m *UserRef) Reset() { *m = UserRef{} } func (m *UserRef) String() string { return proto.CompactTextString(m) } func (*UserRef) ProtoMessage() {} func (*UserRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{121} + return fileDescriptor_9198ee693835762e, []int{122} } func (m *UserRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7021,7 +7115,7 @@ func (m *ReverseTunnelV2) Reset() { *m = ReverseTunnelV2{} } func (m *ReverseTunnelV2) String() string { return proto.CompactTextString(m) } func (*ReverseTunnelV2) ProtoMessage() {} func (*ReverseTunnelV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{122} + return fileDescriptor_9198ee693835762e, []int{123} } func (m *ReverseTunnelV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7068,7 +7162,7 @@ func (m *ReverseTunnelSpecV2) Reset() { *m = ReverseTunnelSpecV2{} } func (m *ReverseTunnelSpecV2) String() string { return proto.CompactTextString(m) } func (*ReverseTunnelSpecV2) ProtoMessage() {} func (*ReverseTunnelSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{123} + return fileDescriptor_9198ee693835762e, []int{124} } func (m *ReverseTunnelSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7117,7 +7211,7 @@ type TunnelConnectionV2 struct { func (m *TunnelConnectionV2) Reset() { *m = TunnelConnectionV2{} } func (*TunnelConnectionV2) ProtoMessage() {} func (*TunnelConnectionV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{124} + return fileDescriptor_9198ee693835762e, []int{125} } func (m *TunnelConnectionV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7165,7 +7259,7 @@ func (m *TunnelConnectionSpecV2) Reset() { *m = TunnelConnectionSpecV2{} func (m *TunnelConnectionSpecV2) String() string { return proto.CompactTextString(m) } func (*TunnelConnectionSpecV2) ProtoMessage() {} func (*TunnelConnectionSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{125} + return fileDescriptor_9198ee693835762e, []int{126} } func (m *TunnelConnectionSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7213,7 +7307,7 @@ func (m *SemaphoreFilter) Reset() { *m = SemaphoreFilter{} } func (m *SemaphoreFilter) String() string { return proto.CompactTextString(m) } func (*SemaphoreFilter) ProtoMessage() {} func (*SemaphoreFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{126} + return fileDescriptor_9198ee693835762e, []int{127} } func (m *SemaphoreFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7264,7 +7358,7 @@ func (m *AcquireSemaphoreRequest) Reset() { *m = AcquireSemaphoreRequest func (m *AcquireSemaphoreRequest) String() string { return proto.CompactTextString(m) } func (*AcquireSemaphoreRequest) ProtoMessage() {} func (*AcquireSemaphoreRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{127} + return fileDescriptor_9198ee693835762e, []int{128} } func (m *AcquireSemaphoreRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7312,7 +7406,7 @@ func (m *SemaphoreLease) Reset() { *m = SemaphoreLease{} } func (m *SemaphoreLease) String() string { return proto.CompactTextString(m) } func (*SemaphoreLease) ProtoMessage() {} func (*SemaphoreLease) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{128} + return fileDescriptor_9198ee693835762e, []int{129} } func (m *SemaphoreLease) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7358,7 +7452,7 @@ func (m *SemaphoreLeaseRef) Reset() { *m = SemaphoreLeaseRef{} } func (m *SemaphoreLeaseRef) String() string { return proto.CompactTextString(m) } func (*SemaphoreLeaseRef) ProtoMessage() {} func (*SemaphoreLeaseRef) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{129} + return fileDescriptor_9198ee693835762e, []int{130} } func (m *SemaphoreLeaseRef) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7407,7 +7501,7 @@ type SemaphoreV3 struct { func (m *SemaphoreV3) Reset() { *m = SemaphoreV3{} } func (*SemaphoreV3) ProtoMessage() {} func (*SemaphoreV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{130} + return fileDescriptor_9198ee693835762e, []int{131} } func (m *SemaphoreV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7449,7 +7543,7 @@ func (m *SemaphoreSpecV3) Reset() { *m = SemaphoreSpecV3{} } func (m *SemaphoreSpecV3) String() string { return proto.CompactTextString(m) } func (*SemaphoreSpecV3) ProtoMessage() {} func (*SemaphoreSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{131} + return fileDescriptor_9198ee693835762e, []int{132} } func (m *SemaphoreSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7498,7 +7592,7 @@ type WebSessionV2 struct { func (m *WebSessionV2) Reset() { *m = WebSessionV2{} } func (*WebSessionV2) ProtoMessage() {} func (*WebSessionV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{132} + return fileDescriptor_9198ee693835762e, []int{133} } func (m *WebSessionV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7562,7 +7656,7 @@ func (m *WebSessionSpecV2) Reset() { *m = WebSessionSpecV2{} } func (m *WebSessionSpecV2) String() string { return proto.CompactTextString(m) } func (*WebSessionSpecV2) ProtoMessage() {} func (*WebSessionSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{133} + return fileDescriptor_9198ee693835762e, []int{134} } func (m *WebSessionSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7604,7 +7698,7 @@ func (m *WebSessionFilter) Reset() { *m = WebSessionFilter{} } func (m *WebSessionFilter) String() string { return proto.CompactTextString(m) } func (*WebSessionFilter) ProtoMessage() {} func (*WebSessionFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{134} + return fileDescriptor_9198ee693835762e, []int{135} } func (m *WebSessionFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7653,7 +7747,7 @@ type RemoteClusterV3 struct { func (m *RemoteClusterV3) Reset() { *m = RemoteClusterV3{} } func (*RemoteClusterV3) ProtoMessage() {} func (*RemoteClusterV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{135} + return fileDescriptor_9198ee693835762e, []int{136} } func (m *RemoteClusterV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7697,7 +7791,7 @@ func (m *RemoteClusterStatusV3) Reset() { *m = RemoteClusterStatusV3{} } func (m *RemoteClusterStatusV3) String() string { return proto.CompactTextString(m) } func (*RemoteClusterStatusV3) ProtoMessage() {} func (*RemoteClusterStatusV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{136} + return fileDescriptor_9198ee693835762e, []int{137} } func (m *RemoteClusterStatusV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7747,7 +7841,7 @@ func (m *KubernetesCluster) Reset() { *m = KubernetesCluster{} } func (m *KubernetesCluster) String() string { return proto.CompactTextString(m) } func (*KubernetesCluster) ProtoMessage() {} func (*KubernetesCluster) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{137} + return fileDescriptor_9198ee693835762e, []int{138} } func (m *KubernetesCluster) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7796,7 +7890,7 @@ type KubernetesClusterV3 struct { func (m *KubernetesClusterV3) Reset() { *m = KubernetesClusterV3{} } func (*KubernetesClusterV3) ProtoMessage() {} func (*KubernetesClusterV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{138} + return fileDescriptor_9198ee693835762e, []int{139} } func (m *KubernetesClusterV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7847,7 +7941,7 @@ func (m *KubernetesClusterSpecV3) Reset() { *m = KubernetesClusterSpecV3 func (m *KubernetesClusterSpecV3) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterSpecV3) ProtoMessage() {} func (*KubernetesClusterSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{139} + return fileDescriptor_9198ee693835762e, []int{140} } func (m *KubernetesClusterSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7895,7 +7989,7 @@ func (m *KubeAzure) Reset() { *m = KubeAzure{} } func (m *KubeAzure) String() string { return proto.CompactTextString(m) } func (*KubeAzure) ProtoMessage() {} func (*KubeAzure) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{140} + return fileDescriptor_9198ee693835762e, []int{141} } func (m *KubeAzure) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7941,7 +8035,7 @@ func (m *KubeAWS) Reset() { *m = KubeAWS{} } func (m *KubeAWS) String() string { return proto.CompactTextString(m) } func (*KubeAWS) ProtoMessage() {} func (*KubeAWS) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{141} + return fileDescriptor_9198ee693835762e, []int{142} } func (m *KubeAWS) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -7987,7 +8081,7 @@ func (m *KubeGCP) Reset() { *m = KubeGCP{} } func (m *KubeGCP) String() string { return proto.CompactTextString(m) } func (*KubeGCP) ProtoMessage() {} func (*KubeGCP) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{142} + return fileDescriptor_9198ee693835762e, []int{143} } func (m *KubeGCP) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8029,7 +8123,7 @@ func (m *KubernetesClusterV3List) Reset() { *m = KubernetesClusterV3List func (m *KubernetesClusterV3List) String() string { return proto.CompactTextString(m) } func (*KubernetesClusterV3List) ProtoMessage() {} func (*KubernetesClusterV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{143} + return fileDescriptor_9198ee693835762e, []int{144} } func (m *KubernetesClusterV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8078,7 +8172,7 @@ type KubernetesServerV3 struct { func (m *KubernetesServerV3) Reset() { *m = KubernetesServerV3{} } func (*KubernetesServerV3) ProtoMessage() {} func (*KubernetesServerV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{144} + return fileDescriptor_9198ee693835762e, []int{145} } func (m *KubernetesServerV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8130,7 +8224,7 @@ func (m *KubernetesServerSpecV3) Reset() { *m = KubernetesServerSpecV3{} func (m *KubernetesServerSpecV3) String() string { return proto.CompactTextString(m) } func (*KubernetesServerSpecV3) ProtoMessage() {} func (*KubernetesServerSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{145} + return fileDescriptor_9198ee693835762e, []int{146} } func (m *KubernetesServerSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8182,7 +8276,7 @@ type WebTokenV3 struct { func (m *WebTokenV3) Reset() { *m = WebTokenV3{} } func (*WebTokenV3) ProtoMessage() {} func (*WebTokenV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{146} + return fileDescriptor_9198ee693835762e, []int{147} } func (m *WebTokenV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8226,7 +8320,7 @@ func (m *WebTokenSpecV3) Reset() { *m = WebTokenSpecV3{} } func (m *WebTokenSpecV3) String() string { return proto.CompactTextString(m) } func (*WebTokenSpecV3) ProtoMessage() {} func (*WebTokenSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{147} + return fileDescriptor_9198ee693835762e, []int{148} } func (m *WebTokenSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8270,7 +8364,7 @@ func (m *GetWebSessionRequest) Reset() { *m = GetWebSessionRequest{} } func (m *GetWebSessionRequest) String() string { return proto.CompactTextString(m) } func (*GetWebSessionRequest) ProtoMessage() {} func (*GetWebSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{148} + return fileDescriptor_9198ee693835762e, []int{149} } func (m *GetWebSessionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8314,7 +8408,7 @@ func (m *DeleteWebSessionRequest) Reset() { *m = DeleteWebSessionRequest func (m *DeleteWebSessionRequest) String() string { return proto.CompactTextString(m) } func (*DeleteWebSessionRequest) ProtoMessage() {} func (*DeleteWebSessionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{149} + return fileDescriptor_9198ee693835762e, []int{150} } func (m *DeleteWebSessionRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8358,7 +8452,7 @@ func (m *GetWebTokenRequest) Reset() { *m = GetWebTokenRequest{} } func (m *GetWebTokenRequest) String() string { return proto.CompactTextString(m) } func (*GetWebTokenRequest) ProtoMessage() {} func (*GetWebTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{150} + return fileDescriptor_9198ee693835762e, []int{151} } func (m *GetWebTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8402,7 +8496,7 @@ func (m *DeleteWebTokenRequest) Reset() { *m = DeleteWebTokenRequest{} } func (m *DeleteWebTokenRequest) String() string { return proto.CompactTextString(m) } func (*DeleteWebTokenRequest) ProtoMessage() {} func (*DeleteWebTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{151} + return fileDescriptor_9198ee693835762e, []int{152} } func (m *DeleteWebTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8444,7 +8538,7 @@ func (m *ResourceRequest) Reset() { *m = ResourceRequest{} } func (m *ResourceRequest) String() string { return proto.CompactTextString(m) } func (*ResourceRequest) ProtoMessage() {} func (*ResourceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{152} + return fileDescriptor_9198ee693835762e, []int{153} } func (m *ResourceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8488,7 +8582,7 @@ func (m *ResourceWithSecretsRequest) Reset() { *m = ResourceWithSecretsR func (m *ResourceWithSecretsRequest) String() string { return proto.CompactTextString(m) } func (*ResourceWithSecretsRequest) ProtoMessage() {} func (*ResourceWithSecretsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{153} + return fileDescriptor_9198ee693835762e, []int{154} } func (m *ResourceWithSecretsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8530,7 +8624,7 @@ func (m *ResourcesWithSecretsRequest) Reset() { *m = ResourcesWithSecret func (m *ResourcesWithSecretsRequest) String() string { return proto.CompactTextString(m) } func (*ResourcesWithSecretsRequest) ProtoMessage() {} func (*ResourcesWithSecretsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{154} + return fileDescriptor_9198ee693835762e, []int{155} } func (m *ResourcesWithSecretsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8574,7 +8668,7 @@ func (m *ResourceInNamespaceRequest) Reset() { *m = ResourceInNamespaceR func (m *ResourceInNamespaceRequest) String() string { return proto.CompactTextString(m) } func (*ResourceInNamespaceRequest) ProtoMessage() {} func (*ResourceInNamespaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{155} + return fileDescriptor_9198ee693835762e, []int{156} } func (m *ResourceInNamespaceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8616,7 +8710,7 @@ func (m *ResourcesInNamespaceRequest) Reset() { *m = ResourcesInNamespac func (m *ResourcesInNamespaceRequest) String() string { return proto.CompactTextString(m) } func (*ResourcesInNamespaceRequest) ProtoMessage() {} func (*ResourcesInNamespaceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{156} + return fileDescriptor_9198ee693835762e, []int{157} } func (m *ResourcesInNamespaceRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8666,7 +8760,7 @@ func (m *OIDCConnectorV3) Reset() { *m = OIDCConnectorV3{} } func (m *OIDCConnectorV3) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorV3) ProtoMessage() {} func (*OIDCConnectorV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{157} + return fileDescriptor_9198ee693835762e, []int{158} } func (m *OIDCConnectorV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8708,7 +8802,7 @@ func (m *OIDCConnectorV3List) Reset() { *m = OIDCConnectorV3List{} } func (m *OIDCConnectorV3List) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorV3List) ProtoMessage() {} func (*OIDCConnectorV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{158} + return fileDescriptor_9198ee693835762e, []int{159} } func (m *OIDCConnectorV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8787,7 +8881,7 @@ func (m *OIDCConnectorSpecV3) Reset() { *m = OIDCConnectorSpecV3{} } func (m *OIDCConnectorSpecV3) String() string { return proto.CompactTextString(m) } func (*OIDCConnectorSpecV3) ProtoMessage() {} func (*OIDCConnectorSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{159} + return fileDescriptor_9198ee693835762e, []int{160} } func (m *OIDCConnectorSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8871,7 +8965,7 @@ func (m *OIDCAuthRequest) Reset() { *m = OIDCAuthRequest{} } func (m *OIDCAuthRequest) String() string { return proto.CompactTextString(m) } func (*OIDCAuthRequest) ProtoMessage() {} func (*OIDCAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{160} + return fileDescriptor_9198ee693835762e, []int{161} } func (m *OIDCAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8921,7 +9015,7 @@ func (m *SAMLConnectorV2) Reset() { *m = SAMLConnectorV2{} } func (m *SAMLConnectorV2) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorV2) ProtoMessage() {} func (*SAMLConnectorV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{161} + return fileDescriptor_9198ee693835762e, []int{162} } func (m *SAMLConnectorV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -8963,7 +9057,7 @@ func (m *SAMLConnectorV2List) Reset() { *m = SAMLConnectorV2List{} } func (m *SAMLConnectorV2List) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorV2List) ProtoMessage() {} func (*SAMLConnectorV2List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{162} + return fileDescriptor_9198ee693835762e, []int{163} } func (m *SAMLConnectorV2List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9035,7 +9129,7 @@ func (m *SAMLConnectorSpecV2) Reset() { *m = SAMLConnectorSpecV2{} } func (m *SAMLConnectorSpecV2) String() string { return proto.CompactTextString(m) } func (*SAMLConnectorSpecV2) ProtoMessage() {} func (*SAMLConnectorSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{163} + return fileDescriptor_9198ee693835762e, []int{164} } func (m *SAMLConnectorSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9112,7 +9206,7 @@ func (m *SAMLAuthRequest) Reset() { *m = SAMLAuthRequest{} } func (m *SAMLAuthRequest) String() string { return proto.CompactTextString(m) } func (*SAMLAuthRequest) ProtoMessage() {} func (*SAMLAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{164} + return fileDescriptor_9198ee693835762e, []int{165} } func (m *SAMLAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9158,7 +9252,7 @@ func (m *AttributeMapping) Reset() { *m = AttributeMapping{} } func (m *AttributeMapping) String() string { return proto.CompactTextString(m) } func (*AttributeMapping) ProtoMessage() {} func (*AttributeMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{165} + return fileDescriptor_9198ee693835762e, []int{166} } func (m *AttributeMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9203,7 +9297,7 @@ func (m *AsymmetricKeyPair) Reset() { *m = AsymmetricKeyPair{} } func (m *AsymmetricKeyPair) String() string { return proto.CompactTextString(m) } func (*AsymmetricKeyPair) ProtoMessage() {} func (*AsymmetricKeyPair) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{166} + return fileDescriptor_9198ee693835762e, []int{167} } func (m *AsymmetricKeyPair) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9253,7 +9347,7 @@ func (m *GithubConnectorV3) Reset() { *m = GithubConnectorV3{} } func (m *GithubConnectorV3) String() string { return proto.CompactTextString(m) } func (*GithubConnectorV3) ProtoMessage() {} func (*GithubConnectorV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{167} + return fileDescriptor_9198ee693835762e, []int{168} } func (m *GithubConnectorV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9295,7 +9389,7 @@ func (m *GithubConnectorV3List) Reset() { *m = GithubConnectorV3List{} } func (m *GithubConnectorV3List) String() string { return proto.CompactTextString(m) } func (*GithubConnectorV3List) ProtoMessage() {} func (*GithubConnectorV3List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{168} + return fileDescriptor_9198ee693835762e, []int{169} } func (m *GithubConnectorV3List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9351,7 +9445,7 @@ func (m *GithubConnectorSpecV3) Reset() { *m = GithubConnectorSpecV3{} } func (m *GithubConnectorSpecV3) String() string { return proto.CompactTextString(m) } func (*GithubConnectorSpecV3) ProtoMessage() {} func (*GithubConnectorSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{169} + return fileDescriptor_9198ee693835762e, []int{170} } func (m *GithubConnectorSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9425,7 +9519,7 @@ func (m *GithubAuthRequest) Reset() { *m = GithubAuthRequest{} } func (m *GithubAuthRequest) String() string { return proto.CompactTextString(m) } func (*GithubAuthRequest) ProtoMessage() {} func (*GithubAuthRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{170} + return fileDescriptor_9198ee693835762e, []int{171} } func (m *GithubAuthRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9469,7 +9563,7 @@ func (m *SSOWarnings) Reset() { *m = SSOWarnings{} } func (m *SSOWarnings) String() string { return proto.CompactTextString(m) } func (*SSOWarnings) ProtoMessage() {} func (*SSOWarnings) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{171} + return fileDescriptor_9198ee693835762e, []int{172} } func (m *SSOWarnings) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9525,7 +9619,7 @@ func (m *CreateUserParams) Reset() { *m = CreateUserParams{} } func (m *CreateUserParams) String() string { return proto.CompactTextString(m) } func (*CreateUserParams) ProtoMessage() {} func (*CreateUserParams) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{172} + return fileDescriptor_9198ee693835762e, []int{173} } func (m *CreateUserParams) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9608,7 +9702,7 @@ func (m *SSODiagnosticInfo) Reset() { *m = SSODiagnosticInfo{} } func (m *SSODiagnosticInfo) String() string { return proto.CompactTextString(m) } func (*SSODiagnosticInfo) ProtoMessage() {} func (*SSODiagnosticInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{173} + return fileDescriptor_9198ee693835762e, []int{174} } func (m *SSODiagnosticInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9652,7 +9746,7 @@ func (m *GithubTokenInfo) Reset() { *m = GithubTokenInfo{} } func (m *GithubTokenInfo) String() string { return proto.CompactTextString(m) } func (*GithubTokenInfo) ProtoMessage() {} func (*GithubTokenInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{174} + return fileDescriptor_9198ee693835762e, []int{175} } func (m *GithubTokenInfo) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9698,7 +9792,7 @@ func (m *GithubClaims) Reset() { *m = GithubClaims{} } func (m *GithubClaims) String() string { return proto.CompactTextString(m) } func (*GithubClaims) ProtoMessage() {} func (*GithubClaims) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{175} + return fileDescriptor_9198ee693835762e, []int{176} } func (m *GithubClaims) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9750,7 +9844,7 @@ func (m *TeamMapping) Reset() { *m = TeamMapping{} } func (m *TeamMapping) String() string { return proto.CompactTextString(m) } func (*TeamMapping) ProtoMessage() {} func (*TeamMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{176} + return fileDescriptor_9198ee693835762e, []int{177} } func (m *TeamMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9796,7 +9890,7 @@ func (m *TeamRolesMapping) Reset() { *m = TeamRolesMapping{} } func (m *TeamRolesMapping) String() string { return proto.CompactTextString(m) } func (*TeamRolesMapping) ProtoMessage() {} func (*TeamRolesMapping) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{177} + return fileDescriptor_9198ee693835762e, []int{178} } func (m *TeamRolesMapping) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9845,7 +9939,7 @@ type TrustedClusterV2 struct { func (m *TrustedClusterV2) Reset() { *m = TrustedClusterV2{} } func (*TrustedClusterV2) ProtoMessage() {} func (*TrustedClusterV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{178} + return fileDescriptor_9198ee693835762e, []int{179} } func (m *TrustedClusterV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9887,7 +9981,7 @@ func (m *TrustedClusterV2List) Reset() { *m = TrustedClusterV2List{} } func (m *TrustedClusterV2List) String() string { return proto.CompactTextString(m) } func (*TrustedClusterV2List) ProtoMessage() {} func (*TrustedClusterV2List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{179} + return fileDescriptor_9198ee693835762e, []int{180} } func (m *TrustedClusterV2List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9943,7 +10037,7 @@ func (m *TrustedClusterSpecV2) Reset() { *m = TrustedClusterSpecV2{} } func (m *TrustedClusterSpecV2) String() string { return proto.CompactTextString(m) } func (*TrustedClusterSpecV2) ProtoMessage() {} func (*TrustedClusterSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{180} + return fileDescriptor_9198ee693835762e, []int{181} } func (m *TrustedClusterSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -9996,7 +10090,7 @@ func (m *LockV2) Reset() { *m = LockV2{} } func (m *LockV2) String() string { return proto.CompactTextString(m) } func (*LockV2) ProtoMessage() {} func (*LockV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{181} + return fileDescriptor_9198ee693835762e, []int{182} } func (m *LockV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10042,7 +10136,7 @@ func (m *LockSpecV2) Reset() { *m = LockSpecV2{} } func (m *LockSpecV2) String() string { return proto.CompactTextString(m) } func (*LockSpecV2) ProtoMessage() {} func (*LockSpecV2) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{182} + return fileDescriptor_9198ee693835762e, []int{183} } func (m *LockSpecV2) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10097,7 +10191,7 @@ type LockTarget struct { func (m *LockTarget) Reset() { *m = LockTarget{} } func (*LockTarget) ProtoMessage() {} func (*LockTarget) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{183} + return fileDescriptor_9198ee693835762e, []int{184} } func (m *LockTarget) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10141,7 +10235,7 @@ func (m *AddressCondition) Reset() { *m = AddressCondition{} } func (m *AddressCondition) String() string { return proto.CompactTextString(m) } func (*AddressCondition) ProtoMessage() {} func (*AddressCondition) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{184} + return fileDescriptor_9198ee693835762e, []int{185} } func (m *AddressCondition) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10184,7 +10278,7 @@ func (m *NetworkRestrictionsSpecV4) Reset() { *m = NetworkRestrictionsSp func (m *NetworkRestrictionsSpecV4) String() string { return proto.CompactTextString(m) } func (*NetworkRestrictionsSpecV4) ProtoMessage() {} func (*NetworkRestrictionsSpecV4) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{185} + return fileDescriptor_9198ee693835762e, []int{186} } func (m *NetworkRestrictionsSpecV4) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10237,7 +10331,7 @@ func (m *NetworkRestrictionsV4) Reset() { *m = NetworkRestrictionsV4{} } func (m *NetworkRestrictionsV4) String() string { return proto.CompactTextString(m) } func (*NetworkRestrictionsV4) ProtoMessage() {} func (*NetworkRestrictionsV4) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{186} + return fileDescriptor_9198ee693835762e, []int{187} } func (m *NetworkRestrictionsV4) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10281,7 +10375,7 @@ func (m *WindowsDesktopServiceV3) Reset() { *m = WindowsDesktopServiceV3 func (m *WindowsDesktopServiceV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopServiceV3) ProtoMessage() {} func (*WindowsDesktopServiceV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{187} + return fileDescriptor_9198ee693835762e, []int{188} } func (m *WindowsDesktopServiceV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10329,7 +10423,7 @@ func (m *WindowsDesktopServiceSpecV3) Reset() { *m = WindowsDesktopServi func (m *WindowsDesktopServiceSpecV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopServiceSpecV3) ProtoMessage() {} func (*WindowsDesktopServiceSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{188} + return fileDescriptor_9198ee693835762e, []int{189} } func (m *WindowsDesktopServiceSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10373,7 +10467,7 @@ func (m *WindowsDesktopFilter) Reset() { *m = WindowsDesktopFilter{} } func (m *WindowsDesktopFilter) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopFilter) ProtoMessage() {} func (*WindowsDesktopFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{189} + return fileDescriptor_9198ee693835762e, []int{190} } func (m *WindowsDesktopFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10417,7 +10511,7 @@ func (m *WindowsDesktopV3) Reset() { *m = WindowsDesktopV3{} } func (m *WindowsDesktopV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopV3) ProtoMessage() {} func (*WindowsDesktopV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{190} + return fileDescriptor_9198ee693835762e, []int{191} } func (m *WindowsDesktopV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10463,7 +10557,7 @@ func (m *WindowsDesktopSpecV3) Reset() { *m = WindowsDesktopSpecV3{} } func (m *WindowsDesktopSpecV3) String() string { return proto.CompactTextString(m) } func (*WindowsDesktopSpecV3) ProtoMessage() {} func (*WindowsDesktopSpecV3) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{191} + return fileDescriptor_9198ee693835762e, []int{192} } func (m *WindowsDesktopSpecV3) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10536,7 +10630,7 @@ func (m *RegisterUsingTokenRequest) Reset() { *m = RegisterUsingTokenReq func (m *RegisterUsingTokenRequest) String() string { return proto.CompactTextString(m) } func (*RegisterUsingTokenRequest) ProtoMessage() {} func (*RegisterUsingTokenRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{192} + return fileDescriptor_9198ee693835762e, []int{193} } func (m *RegisterUsingTokenRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10590,7 +10684,7 @@ func (m *RecoveryCodesV1) Reset() { *m = RecoveryCodesV1{} } func (m *RecoveryCodesV1) String() string { return proto.CompactTextString(m) } func (*RecoveryCodesV1) ProtoMessage() {} func (*RecoveryCodesV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{193} + return fileDescriptor_9198ee693835762e, []int{194} } func (m *RecoveryCodesV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10635,7 +10729,7 @@ func (m *RecoveryCodesSpecV1) Reset() { *m = RecoveryCodesSpecV1{} } func (m *RecoveryCodesSpecV1) String() string { return proto.CompactTextString(m) } func (*RecoveryCodesSpecV1) ProtoMessage() {} func (*RecoveryCodesSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{194} + return fileDescriptor_9198ee693835762e, []int{195} } func (m *RecoveryCodesSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10679,7 +10773,7 @@ func (m *RecoveryCode) Reset() { *m = RecoveryCode{} } func (m *RecoveryCode) String() string { return proto.CompactTextString(m) } func (*RecoveryCode) ProtoMessage() {} func (*RecoveryCode) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{195} + return fileDescriptor_9198ee693835762e, []int{196} } func (m *RecoveryCode) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10719,7 +10813,7 @@ func (m *NullableSessionState) Reset() { *m = NullableSessionState{} } func (m *NullableSessionState) String() string { return proto.CompactTextString(m) } func (*NullableSessionState) ProtoMessage() {} func (*NullableSessionState) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{196} + return fileDescriptor_9198ee693835762e, []int{197} } func (m *NullableSessionState) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10765,7 +10859,7 @@ func (m *SessionTrackerFilter) Reset() { *m = SessionTrackerFilter{} } func (m *SessionTrackerFilter) String() string { return proto.CompactTextString(m) } func (*SessionTrackerFilter) ProtoMessage() {} func (*SessionTrackerFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{197} + return fileDescriptor_9198ee693835762e, []int{198} } func (m *SessionTrackerFilter) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10809,7 +10903,7 @@ func (m *SessionTrackerV1) Reset() { *m = SessionTrackerV1{} } func (m *SessionTrackerV1) String() string { return proto.CompactTextString(m) } func (*SessionTrackerV1) ProtoMessage() {} func (*SessionTrackerV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{198} + return fileDescriptor_9198ee693835762e, []int{199} } func (m *SessionTrackerV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10899,7 +10993,7 @@ func (m *SessionTrackerSpecV1) Reset() { *m = SessionTrackerSpecV1{} } func (m *SessionTrackerSpecV1) String() string { return proto.CompactTextString(m) } func (*SessionTrackerSpecV1) ProtoMessage() {} func (*SessionTrackerSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{199} + return fileDescriptor_9198ee693835762e, []int{200} } func (m *SessionTrackerSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10946,7 +11040,7 @@ func (m *SessionTrackerPolicySet) Reset() { *m = SessionTrackerPolicySet func (m *SessionTrackerPolicySet) String() string { return proto.CompactTextString(m) } func (*SessionTrackerPolicySet) ProtoMessage() {} func (*SessionTrackerPolicySet) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{200} + return fileDescriptor_9198ee693835762e, []int{201} } func (m *SessionTrackerPolicySet) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -10994,7 +11088,7 @@ func (m *Participant) Reset() { *m = Participant{} } func (m *Participant) String() string { return proto.CompactTextString(m) } func (*Participant) ProtoMessage() {} func (*Participant) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{201} + return fileDescriptor_9198ee693835762e, []int{202} } func (m *Participant) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11045,7 +11139,7 @@ func (m *InstallerV1) Reset() { *m = InstallerV1{} } func (m *InstallerV1) String() string { return proto.CompactTextString(m) } func (*InstallerV1) ProtoMessage() {} func (*InstallerV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{202} + return fileDescriptor_9198ee693835762e, []int{203} } func (m *InstallerV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11087,7 +11181,7 @@ func (m *InstallerSpecV1) Reset() { *m = InstallerSpecV1{} } func (m *InstallerSpecV1) String() string { return proto.CompactTextString(m) } func (*InstallerSpecV1) ProtoMessage() {} func (*InstallerSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{203} + return fileDescriptor_9198ee693835762e, []int{204} } func (m *InstallerSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11129,7 +11223,7 @@ func (m *InstallerV1List) Reset() { *m = InstallerV1List{} } func (m *InstallerV1List) String() string { return proto.CompactTextString(m) } func (*InstallerV1List) ProtoMessage() {} func (*InstallerV1List) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{204} + return fileDescriptor_9198ee693835762e, []int{205} } func (m *InstallerV1List) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11173,7 +11267,7 @@ func (m *SortBy) Reset() { *m = SortBy{} } func (m *SortBy) String() string { return proto.CompactTextString(m) } func (*SortBy) ProtoMessage() {} func (*SortBy) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{205} + return fileDescriptor_9198ee693835762e, []int{206} } func (m *SortBy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11219,7 +11313,7 @@ func (m *ConnectionDiagnosticV1) Reset() { *m = ConnectionDiagnosticV1{} func (m *ConnectionDiagnosticV1) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticV1) ProtoMessage() {} func (*ConnectionDiagnosticV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{206} + return fileDescriptor_9198ee693835762e, []int{207} } func (m *ConnectionDiagnosticV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11269,7 +11363,7 @@ func (m *ConnectionDiagnosticSpecV1) Reset() { *m = ConnectionDiagnostic func (m *ConnectionDiagnosticSpecV1) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticSpecV1) ProtoMessage() {} func (*ConnectionDiagnosticSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{207} + return fileDescriptor_9198ee693835762e, []int{208} } func (m *ConnectionDiagnosticSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11315,7 +11409,7 @@ func (m *ConnectionDiagnosticTrace) Reset() { *m = ConnectionDiagnosticT func (m *ConnectionDiagnosticTrace) String() string { return proto.CompactTextString(m) } func (*ConnectionDiagnosticTrace) ProtoMessage() {} func (*ConnectionDiagnosticTrace) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{208} + return fileDescriptor_9198ee693835762e, []int{209} } func (m *ConnectionDiagnosticTrace) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11358,7 +11452,7 @@ func (m *DatabaseServiceV1) Reset() { *m = DatabaseServiceV1{} } func (m *DatabaseServiceV1) String() string { return proto.CompactTextString(m) } func (*DatabaseServiceV1) ProtoMessage() {} func (*DatabaseServiceV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{209} + return fileDescriptor_9198ee693835762e, []int{210} } func (m *DatabaseServiceV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11400,7 +11494,7 @@ func (m *DatabaseServiceSpecV1) Reset() { *m = DatabaseServiceSpecV1{} } func (m *DatabaseServiceSpecV1) String() string { return proto.CompactTextString(m) } func (*DatabaseServiceSpecV1) ProtoMessage() {} func (*DatabaseServiceSpecV1) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{210} + return fileDescriptor_9198ee693835762e, []int{211} } func (m *DatabaseServiceSpecV1) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11441,7 +11535,7 @@ func (m *DatabaseResourceMatcher) Reset() { *m = DatabaseResourceMatcher func (m *DatabaseResourceMatcher) String() string { return proto.CompactTextString(m) } func (*DatabaseResourceMatcher) ProtoMessage() {} func (*DatabaseResourceMatcher) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{211} + return fileDescriptor_9198ee693835762e, []int{212} } func (m *DatabaseResourceMatcher) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11483,7 +11577,7 @@ func (m *ClusterAlert) Reset() { *m = ClusterAlert{} } func (m *ClusterAlert) String() string { return proto.CompactTextString(m) } func (*ClusterAlert) ProtoMessage() {} func (*ClusterAlert) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{212} + return fileDescriptor_9198ee693835762e, []int{213} } func (m *ClusterAlert) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11529,7 +11623,7 @@ func (m *ClusterAlertSpec) Reset() { *m = ClusterAlertSpec{} } func (m *ClusterAlertSpec) String() string { return proto.CompactTextString(m) } func (*ClusterAlertSpec) ProtoMessage() {} func (*ClusterAlertSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{213} + return fileDescriptor_9198ee693835762e, []int{214} } func (m *ClusterAlertSpec) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11579,7 +11673,7 @@ func (m *GetClusterAlertsRequest) Reset() { *m = GetClusterAlertsRequest func (m *GetClusterAlertsRequest) String() string { return proto.CompactTextString(m) } func (*GetClusterAlertsRequest) ProtoMessage() {} func (*GetClusterAlertsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{214} + return fileDescriptor_9198ee693835762e, []int{215} } func (m *GetClusterAlertsRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11633,7 +11727,7 @@ func (m *AlertAcknowledgement) Reset() { *m = AlertAcknowledgement{} } func (m *AlertAcknowledgement) String() string { return proto.CompactTextString(m) } func (*AlertAcknowledgement) ProtoMessage() {} func (*AlertAcknowledgement) Descriptor() ([]byte, []int) { - return fileDescriptor_9198ee693835762e, []int{215} + return fileDescriptor_9198ee693835762e, []int{216} } func (m *AlertAcknowledgement) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -11744,6 +11838,8 @@ func init() { proto.RegisterType((*ProvisionTokenSpecV2GitHub_Rule)(nil), "types.ProvisionTokenSpecV2GitHub.Rule") proto.RegisterType((*ProvisionTokenSpecV2CircleCI)(nil), "types.ProvisionTokenSpecV2CircleCI") proto.RegisterType((*ProvisionTokenSpecV2CircleCI_Rule)(nil), "types.ProvisionTokenSpecV2CircleCI.Rule") + proto.RegisterType((*ProvisionTokenSpecV2Kubernetes)(nil), "types.ProvisionTokenSpecV2Kubernetes") + proto.RegisterType((*ProvisionTokenSpecV2Kubernetes_Rule)(nil), "types.ProvisionTokenSpecV2Kubernetes.Rule") proto.RegisterType((*StaticTokensV2)(nil), "types.StaticTokensV2") proto.RegisterType((*StaticTokensSpecV2)(nil), "types.StaticTokensSpecV2") proto.RegisterType((*ClusterNameV2)(nil), "types.ClusterNameV2") @@ -11919,1036 +12015,1040 @@ func init() { func init() { proto.RegisterFile("teleport/legacy/types/types.proto", fileDescriptor_9198ee693835762e) } var fileDescriptor_9198ee693835762e = []byte{ - // 16459 bytes of a gzipped FileDescriptorProto + // 16514 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6d, 0x6c, 0x1c, 0x49, - 0x96, 0x20, 0xa6, 0xac, 0x2a, 0x92, 0xc5, 0xc7, 0xaf, 0x62, 0x90, 0x92, 0x28, 0xf5, 0x07, 0xd5, - 0xd9, 0xdd, 0x6a, 0xb5, 0xba, 0x5b, 0x1a, 0x51, 0xd3, 0x9a, 0xe9, 0xe9, 0xcf, 0xfa, 0xa2, 0xc8, - 0x16, 0xbf, 0x3a, 0x8b, 0x1f, 0xd3, 0x3b, 0x1f, 0x39, 0xc9, 0xaa, 0x20, 0x99, 0xa3, 0xaa, 0xca, - 0xda, 0xcc, 0x2c, 0x49, 0x9c, 0xbd, 0xc5, 0xdd, 0xda, 0x9e, 0x1b, 0x2f, 0xd6, 0x37, 0xb3, 0x6b, - 0xcf, 0x7e, 0x9c, 0x71, 0xe7, 0x3b, 0x2c, 0x7c, 0x07, 0x9f, 0x7d, 0xbb, 0x58, 0xef, 0xfd, 0xb8, - 0x3b, 0x1c, 0x70, 0xf6, 0x02, 0xc6, 0x62, 0x6c, 0xc3, 0xbe, 0xf5, 0x4f, 0x8f, 0x0d, 0xda, 0xb7, - 0x6b, 0xd8, 0x80, 0x7e, 0x18, 0x06, 0x0c, 0xd8, 0xb8, 0x5e, 0xaf, 0x61, 0xc4, 0x8b, 0x88, 0xcc, - 0x88, 0xac, 0xac, 0x62, 0xb1, 0xa5, 0xb6, 0x57, 0x0d, 0xff, 0x91, 0x58, 0x2f, 0xde, 0x7b, 0x91, - 0x11, 0xf1, 0xe2, 0xc5, 0x8b, 0x17, 0x2f, 0x5e, 0xc0, 0x4b, 0x21, 0x6d, 0xd2, 0x8e, 0xe7, 0x87, - 0x37, 0x9b, 0xf4, 0xd0, 0xa9, 0x1f, 0xdf, 0x0c, 0x8f, 0x3b, 0x34, 0xe0, 0xff, 0xde, 0xe8, 0xf8, - 0x5e, 0xe8, 0x91, 0x11, 0xfc, 0x71, 0x79, 0xfe, 0xd0, 0x3b, 0xf4, 0x10, 0x72, 0x93, 0xfd, 0xc5, - 0x0b, 0x2f, 0x2f, 0x1e, 0x7a, 0xde, 0x61, 0x93, 0xde, 0xc4, 0x5f, 0xfb, 0xdd, 0x83, 0x9b, 0xa1, - 0xdb, 0xa2, 0x41, 0xe8, 0xb4, 0x3a, 0x02, 0xe1, 0xf5, 0xa8, 0x02, 0x27, 0x0c, 0x59, 0x49, 0xe8, - 0x7a, 0xed, 0x9b, 0x0f, 0x6e, 0xa9, 0x3f, 0x05, 0xea, 0x5b, 0xe9, 0xdf, 0xf2, 0xd0, 0x77, 0x3a, - 0x1d, 0xea, 0xc7, 0x7f, 0x70, 0x74, 0xf3, 0x1f, 0x67, 0x61, 0xfc, 0x1e, 0xa5, 0x9d, 0x62, 0xd3, - 0x7d, 0x40, 0xc9, 0xcb, 0x90, 0xdb, 0x70, 0x5a, 0x74, 0xc1, 0xb8, 0x62, 0x5c, 0x1b, 0x2f, 0xcd, - 0x3c, 0x3e, 0x59, 0x9c, 0x08, 0xa8, 0xff, 0x80, 0xfa, 0x76, 0xdb, 0x69, 0x51, 0x0b, 0x0b, 0xc9, - 0x1b, 0x30, 0xce, 0xfe, 0x0f, 0x3a, 0x4e, 0x9d, 0x2e, 0x64, 0x10, 0x73, 0xea, 0xf1, 0xc9, 0xe2, - 0x78, 0x5b, 0x02, 0xad, 0xb8, 0x9c, 0x5c, 0x85, 0xb1, 0x35, 0xea, 0x04, 0x74, 0xb5, 0xb2, 0x90, - 0xbd, 0x62, 0x5c, 0xcb, 0x96, 0x26, 0x1f, 0x9f, 0x2c, 0xe6, 0x9b, 0x0c, 0x64, 0xbb, 0x0d, 0x4b, - 0x16, 0x92, 0x55, 0x18, 0xab, 0x3e, 0xea, 0xb8, 0x3e, 0x0d, 0x16, 0x72, 0x57, 0x8c, 0x6b, 0x13, - 0x4b, 0x97, 0x6f, 0xf0, 0x4e, 0xb9, 0x21, 0x3b, 0xe5, 0xc6, 0xb6, 0xec, 0x94, 0xd2, 0xdc, 0xcf, - 0x4e, 0x16, 0xcf, 0x3d, 0x3e, 0x59, 0x1c, 0xa3, 0x9c, 0xe4, 0xd7, 0xff, 0x87, 0x45, 0xc3, 0x92, - 0xf4, 0xe4, 0x3d, 0xc8, 0x6d, 0x1f, 0x77, 0xe8, 0xc2, 0xf8, 0x15, 0xe3, 0xda, 0xf4, 0xd2, 0x8b, - 0x37, 0xf8, 0x30, 0x44, 0x8d, 0x8c, 0xff, 0x62, 0x58, 0xa5, 0xfc, 0xe3, 0x93, 0xc5, 0x1c, 0x43, - 0xb1, 0x90, 0x8a, 0xbc, 0x05, 0xa3, 0x2b, 0x5e, 0x10, 0xae, 0x56, 0x16, 0x00, 0x9b, 0x76, 0xfe, - 0xf1, 0xc9, 0xe2, 0xec, 0x91, 0x17, 0x84, 0xb6, 0xdb, 0x78, 0xd3, 0x6b, 0xb9, 0x21, 0x6d, 0x75, - 0xc2, 0x63, 0x4b, 0x20, 0x99, 0x8f, 0x60, 0x4a, 0xe3, 0x47, 0x26, 0x60, 0x6c, 0x67, 0xe3, 0xde, - 0xc6, 0xe6, 0xde, 0x46, 0xe1, 0x1c, 0xc9, 0x43, 0x6e, 0x63, 0xb3, 0x52, 0x2d, 0x18, 0x64, 0x0c, - 0xb2, 0xc5, 0xad, 0xad, 0x42, 0x86, 0x4c, 0x42, 0xbe, 0x52, 0xdc, 0x2e, 0x96, 0x8a, 0xb5, 0x6a, - 0x21, 0x4b, 0xe6, 0x60, 0x66, 0x6f, 0x75, 0xa3, 0xb2, 0xb9, 0x57, 0xb3, 0x2b, 0xd5, 0xda, 0xbd, - 0xed, 0xcd, 0xad, 0x42, 0x8e, 0x4c, 0x03, 0xdc, 0xdb, 0x29, 0x55, 0xad, 0x8d, 0xea, 0x76, 0xb5, - 0x56, 0x18, 0x21, 0xf3, 0x50, 0x90, 0x24, 0x76, 0xad, 0x6a, 0xed, 0xae, 0x96, 0xab, 0x85, 0x51, - 0xf3, 0x47, 0x59, 0xc8, 0xaf, 0xd3, 0xd0, 0x69, 0x38, 0xa1, 0x43, 0x9e, 0xd7, 0x06, 0x0e, 0xdb, - 0xa4, 0x8c, 0xd8, 0xcb, 0xbd, 0x23, 0x36, 0xf2, 0xf8, 0x64, 0xd1, 0x78, 0x4b, 0x1d, 0xa9, 0x77, - 0x61, 0xa2, 0x42, 0x83, 0xba, 0xef, 0x76, 0x98, 0x34, 0xe1, 0x68, 0x8d, 0x97, 0x2e, 0x3d, 0x3e, - 0x59, 0x3c, 0xdf, 0x88, 0xc1, 0x4a, 0x0f, 0xa8, 0xd8, 0x64, 0x15, 0x46, 0xd7, 0x9c, 0x7d, 0xda, - 0x0c, 0x16, 0x46, 0xae, 0x64, 0xaf, 0x4d, 0x2c, 0x3d, 0x27, 0x7a, 0x5d, 0x7e, 0xe0, 0x0d, 0x5e, - 0x5a, 0x6d, 0x87, 0xfe, 0x71, 0x69, 0xfe, 0xf1, 0xc9, 0x62, 0xa1, 0x89, 0x00, 0xb5, 0x47, 0x39, - 0x0a, 0xa9, 0xc5, 0x92, 0x30, 0x7a, 0xaa, 0x24, 0xbc, 0xf0, 0xb3, 0x93, 0x45, 0x83, 0x8d, 0x90, - 0x90, 0x84, 0x98, 0x9f, 0x2e, 0x13, 0x57, 0x20, 0xb3, 0x5a, 0x59, 0x18, 0x43, 0x09, 0x2c, 0x3c, - 0x3e, 0x59, 0x9c, 0xd4, 0x06, 0x33, 0xb3, 0x5a, 0xb9, 0xfc, 0x0e, 0x4c, 0x28, 0xdf, 0x48, 0x0a, - 0x90, 0xbd, 0x4f, 0x8f, 0x79, 0x7f, 0x5a, 0xec, 0x4f, 0x32, 0x0f, 0x23, 0x0f, 0x9c, 0x66, 0x57, - 0x74, 0xa0, 0xc5, 0x7f, 0x7c, 0x23, 0xf3, 0x75, 0xc3, 0xfc, 0xb7, 0x73, 0x90, 0xb7, 0x3c, 0x3e, - 0x0b, 0xc9, 0xeb, 0x30, 0x52, 0x0b, 0x9d, 0x50, 0x0e, 0xc5, 0xdc, 0xe3, 0x93, 0xc5, 0x19, 0x36, - 0x43, 0xa9, 0x52, 0x1f, 0xc7, 0x60, 0xa8, 0x5b, 0x47, 0x4e, 0x20, 0x87, 0x04, 0x51, 0x3b, 0x0c, - 0xa0, 0xa2, 0x22, 0x06, 0xb9, 0x0a, 0xb9, 0x75, 0xaf, 0x41, 0xc5, 0xa8, 0x90, 0xc7, 0x27, 0x8b, - 0xd3, 0x2d, 0xaf, 0xa1, 0x22, 0x62, 0x39, 0x79, 0x13, 0xc6, 0xcb, 0x5d, 0xdf, 0xa7, 0x6d, 0x26, - 0xc0, 0x39, 0x44, 0x9e, 0x7e, 0x7c, 0xb2, 0x08, 0x75, 0x0e, 0x64, 0x53, 0x2e, 0x46, 0x60, 0x5d, - 0x5d, 0x0b, 0x1d, 0x3f, 0xa4, 0x8d, 0x85, 0x91, 0xa1, 0xba, 0x9a, 0x4d, 0xba, 0xd9, 0x80, 0x93, - 0x24, 0xbb, 0x5a, 0x70, 0x22, 0x2b, 0x30, 0x71, 0xd7, 0x77, 0xea, 0x74, 0x8b, 0xfa, 0xae, 0xd7, - 0xc0, 0x31, 0xcc, 0x96, 0xae, 0x3e, 0x3e, 0x59, 0xbc, 0x70, 0xc8, 0xc0, 0x76, 0x07, 0xe1, 0x31, - 0xf5, 0x67, 0x27, 0x8b, 0xf9, 0x4a, 0xd7, 0xc7, 0xde, 0xb3, 0x54, 0x52, 0xf2, 0x3d, 0x36, 0x24, - 0x41, 0x88, 0x5d, 0x4b, 0x1b, 0x38, 0x7a, 0x83, 0x3f, 0xd1, 0x14, 0x9f, 0x78, 0xa1, 0xe9, 0x04, - 0xa1, 0xed, 0x73, 0xba, 0xc4, 0x77, 0xaa, 0x2c, 0xc9, 0x26, 0xe4, 0x6b, 0xf5, 0x23, 0xda, 0xe8, - 0x36, 0xe9, 0x42, 0x1e, 0xd9, 0x5f, 0x14, 0x82, 0x2b, 0xc7, 0x53, 0x16, 0x97, 0x2e, 0x0b, 0xde, - 0x24, 0x10, 0x10, 0xa5, 0xef, 0x23, 0x26, 0xdf, 0xc8, 0xff, 0xce, 0xdf, 0x5d, 0x3c, 0xf7, 0xd7, - 0xfe, 0xfb, 0x2b, 0xe7, 0xcc, 0x7f, 0x9c, 0x81, 0x42, 0x92, 0x09, 0x39, 0x80, 0xa9, 0x9d, 0x4e, - 0xc3, 0x09, 0x69, 0xb9, 0xe9, 0xd2, 0x76, 0x18, 0xa0, 0x90, 0x0c, 0x6e, 0xd3, 0x2b, 0xa2, 0xde, - 0x85, 0x2e, 0x12, 0xda, 0x75, 0x4e, 0x99, 0x68, 0x95, 0xce, 0x36, 0xae, 0xa7, 0x86, 0xda, 0x3b, - 0x40, 0x09, 0x3b, 0x5b, 0x3d, 0x5c, 0xef, 0xf7, 0xa9, 0x47, 0xb0, 0x15, 0x02, 0xd4, 0x6e, 0xec, - 0x1f, 0xa3, 0x64, 0x0e, 0x2f, 0x40, 0x8c, 0x24, 0x45, 0x80, 0x18, 0xd8, 0xfc, 0x9f, 0x0c, 0x98, - 0xb6, 0x68, 0xe0, 0x75, 0xfd, 0x3a, 0x5d, 0xa1, 0x4e, 0x83, 0xfa, 0x4c, 0xfc, 0xef, 0xb9, 0xed, - 0x86, 0x98, 0x53, 0x28, 0xfe, 0xf7, 0xdd, 0xb6, 0x3a, 0x85, 0xb1, 0x9c, 0x7c, 0x05, 0xc6, 0x6a, - 0xdd, 0x7d, 0x44, 0xe5, 0x73, 0xea, 0x02, 0x8e, 0x58, 0x77, 0xdf, 0x4e, 0xa0, 0x4b, 0x34, 0x72, - 0x13, 0xc6, 0x76, 0xa9, 0x1f, 0xc4, 0x1a, 0x0f, 0xf5, 0xfd, 0x03, 0x0e, 0x52, 0x09, 0x04, 0x16, - 0xb9, 0x1b, 0x6b, 0x5d, 0xb1, 0x52, 0xcd, 0x24, 0x74, 0x5d, 0x2c, 0x2a, 0x2d, 0x01, 0x51, 0x45, - 0x45, 0x62, 0x99, 0xbf, 0x91, 0x81, 0x42, 0xc5, 0x09, 0x9d, 0x7d, 0x27, 0x10, 0xfd, 0xb9, 0x7b, - 0x9b, 0xe9, 0x71, 0xa5, 0xa1, 0xa8, 0xc7, 0xd9, 0x97, 0x7f, 0xee, 0xe6, 0xbd, 0x9a, 0x6c, 0xde, - 0x04, 0x5b, 0x36, 0x45, 0xf3, 0xe2, 0x46, 0xbd, 0x7f, 0x7a, 0xa3, 0x0a, 0xa2, 0x51, 0x79, 0xd9, - 0xa8, 0xb8, 0x29, 0xe4, 0x7d, 0xc8, 0xd5, 0x3a, 0xb4, 0x2e, 0x94, 0x88, 0xd4, 0xfd, 0x7a, 0xe3, - 0x18, 0xc2, 0xee, 0xed, 0xd2, 0xa4, 0x60, 0x93, 0x0b, 0x3a, 0xb4, 0x6e, 0x21, 0x99, 0x32, 0x69, - 0xfe, 0xf3, 0x51, 0x98, 0x4f, 0x23, 0x23, 0xef, 0xeb, 0x8b, 0x13, 0xef, 0x9e, 0xe7, 0xfa, 0x2e, - 0x4e, 0x0b, 0x86, 0xbe, 0x3c, 0x5d, 0x87, 0xfc, 0x16, 0x13, 0xc8, 0xba, 0xd7, 0x14, 0x3d, 0xc7, - 0xb4, 0x62, 0xbe, 0x23, 0x61, 0x86, 0x15, 0x95, 0x93, 0xe7, 0x20, 0xbb, 0x63, 0xad, 0x8a, 0xee, - 0x1a, 0x7f, 0x7c, 0xb2, 0x98, 0xed, 0xfa, 0xee, 0x82, 0x61, 0x31, 0x28, 0xb9, 0x09, 0xa3, 0xe5, - 0x62, 0x99, 0xfa, 0x21, 0x76, 0xd3, 0x64, 0xe9, 0x22, 0x93, 0x96, 0xba, 0x63, 0xd7, 0xa9, 0x1f, - 0x6a, 0xd5, 0x0b, 0x34, 0xf2, 0x06, 0x64, 0x8b, 0x7b, 0x35, 0xd1, 0x33, 0x20, 0x7a, 0xa6, 0xb8, - 0x57, 0x2b, 0x4d, 0x89, 0x8e, 0xc8, 0x3a, 0x0f, 0x03, 0xc6, 0xbd, 0xb8, 0x57, 0x53, 0x47, 0x6b, - 0x74, 0xc0, 0x68, 0x5d, 0x83, 0x3c, 0xb3, 0x3e, 0xd8, 0x02, 0x8f, 0x4a, 0x71, 0x9c, 0x1b, 0x55, - 0x47, 0x02, 0x66, 0x45, 0xa5, 0xe4, 0xe5, 0xc8, 0x98, 0xc9, 0xc7, 0xfc, 0x84, 0x31, 0x23, 0x4d, - 0x18, 0xf2, 0x08, 0xa6, 0x2a, 0xc7, 0x6d, 0xa7, 0xe5, 0xd6, 0xc5, 0x12, 0x3e, 0x8e, 0x4b, 0xf8, - 0x8d, 0x01, 0xc3, 0x78, 0x43, 0x23, 0xe0, 0xab, 0xba, 0x54, 0xbe, 0x0b, 0x0d, 0x5e, 0x66, 0x27, - 0x57, 0xf8, 0x05, 0xc3, 0xd2, 0x2b, 0x62, 0x73, 0x49, 0xaa, 0x48, 0xb4, 0xb6, 0x62, 0xb1, 0x93, - 0xe0, 0x78, 0x2e, 0xf9, 0x02, 0xa2, 0xce, 0xa5, 0x68, 0xd1, 0x7d, 0x1f, 0xb2, 0x77, 0xcb, 0x5b, - 0x0b, 0x13, 0xc8, 0x83, 0x08, 0x1e, 0x77, 0xcb, 0x5b, 0xe5, 0xa6, 0xd7, 0x6d, 0xd4, 0x3e, 0x59, - 0x2b, 0x5d, 0x14, 0x6c, 0xa6, 0x0e, 0xeb, 0x1d, 0xed, 0x8b, 0x18, 0x1d, 0xa9, 0x42, 0x5e, 0xb6, - 0x72, 0x61, 0x12, 0x79, 0xcc, 0x26, 0x1a, 0xbf, 0x7b, 0x9b, 0xcf, 0xb5, 0x86, 0xf8, 0xad, 0x7e, - 0x85, 0xc4, 0x21, 0xb7, 0x51, 0xca, 0x1e, 0x1d, 0xaf, 0x56, 0x82, 0x85, 0xa9, 0x2b, 0xd9, 0x6b, - 0xe3, 0x28, 0x1e, 0x73, 0x1d, 0x06, 0xb3, 0xdd, 0x86, 0x6a, 0xec, 0x44, 0x88, 0x97, 0xf7, 0x80, - 0xf4, 0x76, 0x66, 0x8a, 0xf9, 0xf1, 0x86, 0x6a, 0x7e, 0x4c, 0x2c, 0x9d, 0x17, 0x1f, 0x58, 0xf6, - 0x5a, 0x2d, 0xa7, 0xdd, 0x40, 0xda, 0xdd, 0x25, 0xd5, 0x2a, 0x29, 0xc2, 0x74, 0xfc, 0xf5, 0x6b, - 0x6e, 0x10, 0x92, 0x9b, 0x30, 0x2e, 0x21, 0x6c, 0xe5, 0xc9, 0xa6, 0xb6, 0xd3, 0x8a, 0x71, 0xcc, - 0x3f, 0xce, 0x00, 0xc4, 0x25, 0xcf, 0xa8, 0x72, 0xfa, 0x9a, 0xa6, 0x9c, 0xce, 0x27, 0xa5, 0xba, - 0xaf, 0x5a, 0x22, 0x1f, 0xc2, 0x28, 0xb3, 0xd3, 0xba, 0xd2, 0x0e, 0xbd, 0x98, 0x24, 0xc5, 0xc2, - 0xdd, 0xdb, 0xa5, 0x69, 0x41, 0x3c, 0x1a, 0x20, 0xc4, 0x12, 0x64, 0x8a, 0x5e, 0xfb, 0xc3, 0x91, - 0x78, 0x30, 0x84, 0x46, 0xbb, 0xa6, 0xa8, 0x24, 0x23, 0x9e, 0xc4, 0x52, 0x25, 0x29, 0x0a, 0xe9, - 0x12, 0x57, 0x48, 0xbc, 0x53, 0xc7, 0x84, 0x42, 0x4a, 0xaa, 0x23, 0xde, 0x81, 0xa7, 0xaa, 0xa3, - 0x4e, 0x72, 0xae, 0xe7, 0x50, 0x0c, 0xae, 0xa5, 0xf6, 0x4a, 0xda, 0x2c, 0xbf, 0x72, 0xda, 0x2c, - 0x4f, 0xce, 0xf1, 0xdb, 0xfd, 0x14, 0xe0, 0x79, 0x39, 0x25, 0x9d, 0x87, 0x2a, 0x39, 0x2a, 0xc2, - 0x77, 0xf9, 0x7c, 0x1e, 0xed, 0x3b, 0x9f, 0xcf, 0xa7, 0xce, 0x67, 0x3e, 0x9b, 0xdf, 0x85, 0x91, - 0xe2, 0x0f, 0xba, 0x3e, 0x15, 0x06, 0xe3, 0xa4, 0xac, 0x93, 0xc1, 0x22, 0x45, 0x30, 0xe3, 0xb0, - 0x9f, 0xaa, 0xa1, 0x8d, 0xe5, 0xac, 0xe6, 0xed, 0xb5, 0x9a, 0x30, 0x06, 0x49, 0xa2, 0x5b, 0xb6, - 0xd7, 0x94, 0xcf, 0x0e, 0xb5, 0x56, 0x33, 0x2a, 0x72, 0x13, 0x32, 0xc5, 0x0a, 0xee, 0x3b, 0x27, - 0x96, 0xc6, 0x65, 0xb5, 0x95, 0xd2, 0xbc, 0x20, 0x99, 0x74, 0xb4, 0x4d, 0x47, 0xb1, 0x42, 0x4a, - 0x30, 0xb2, 0x7e, 0x5c, 0xfb, 0x64, 0x4d, 0x68, 0xbf, 0x39, 0x29, 0xd7, 0x0c, 0xb6, 0x89, 0x4b, - 0x57, 0x10, 0x7f, 0x71, 0xeb, 0x38, 0xf8, 0xc5, 0xa6, 0xfa, 0xc5, 0x88, 0xf6, 0xc5, 0x29, 0x90, - 0x7f, 0x5f, 0x35, 0x50, 0x84, 0xac, 0xb3, 0xed, 0xb1, 0x90, 0x38, 0x23, 0x36, 0x97, 0x7a, 0x24, - 0x2e, 0x92, 0xb7, 0xd7, 0xf9, 0xe8, 0x67, 0x7a, 0x46, 0x7f, 0x42, 0x59, 0xfe, 0xf8, 0x98, 0x47, - 0x7d, 0x91, 0xfd, 0xdc, 0x7d, 0x41, 0x3e, 0x84, 0xc9, 0x75, 0xa7, 0xed, 0x1c, 0xd2, 0xc6, 0x4e, - 0xc0, 0xcc, 0xde, 0x1c, 0x6a, 0x61, 0x66, 0x27, 0x5c, 0x6c, 0x71, 0xb8, 0xdd, 0x0d, 0x34, 0xab, - 0xd6, 0xd2, 0x08, 0xc8, 0x2d, 0x29, 0x3b, 0x23, 0x29, 0xb2, 0x23, 0x97, 0xec, 0x11, 0x94, 0x1d, - 0x21, 0x31, 0xe6, 0xdf, 0xcf, 0x61, 0x1b, 0xc9, 0x9b, 0x30, 0x6a, 0xd1, 0xc3, 0xd8, 0x3a, 0xc1, - 0x5d, 0xae, 0x8f, 0x10, 0xb5, 0x63, 0x38, 0x0e, 0x2e, 0x7d, 0xb4, 0x11, 0x1c, 0xb9, 0x07, 0xa1, - 0xe8, 0x9d, 0x68, 0xe9, 0x13, 0x60, 0x65, 0xe9, 0x13, 0x10, 0x6d, 0xe9, 0x13, 0x30, 0x36, 0xbf, - 0xac, 0x4a, 0x4d, 0x74, 0x9a, 0xec, 0x61, 0xab, 0xa2, 0x08, 0xaa, 0xaf, 0xad, 0x3c, 0x0c, 0x9b, - 0xdc, 0x81, 0xf1, 0x62, 0xbd, 0xee, 0x75, 0x95, 0x6d, 0xe2, 0xc2, 0xe3, 0x93, 0xc5, 0x79, 0x87, - 0x03, 0x75, 0x57, 0x47, 0x8c, 0x4a, 0x6a, 0x30, 0x51, 0x65, 0x7b, 0x2b, 0xb7, 0xec, 0xd4, 0x8f, - 0x64, 0x27, 0xc9, 0x59, 0xa2, 0x94, 0x44, 0xb6, 0xfe, 0x79, 0x8a, 0xc0, 0x3a, 0x03, 0xaa, 0xbe, - 0x03, 0x05, 0x97, 0x6c, 0xc3, 0x44, 0x8d, 0xd6, 0x7d, 0x1a, 0xd6, 0x42, 0xcf, 0xa7, 0x89, 0x49, - 0xaf, 0x94, 0x94, 0x5e, 0x94, 0xdb, 0xbb, 0x00, 0x81, 0x76, 0xc0, 0xa0, 0x2a, 0x57, 0x05, 0x99, - 0xdb, 0xe9, 0x2d, 0xcf, 0x3f, 0xae, 0x94, 0x84, 0x22, 0x88, 0x57, 0x0d, 0x0e, 0x56, 0xed, 0x74, - 0x06, 0x69, 0xec, 0xeb, 0x76, 0x3a, 0xc7, 0xc2, 0x91, 0xaa, 0xd4, 0x70, 0xbd, 0x16, 0x6a, 0x61, - 0x26, 0xee, 0x65, 0x04, 0x2b, 0x23, 0xd5, 0x08, 0x70, 0xb5, 0xd7, 0x46, 0x4a, 0x60, 0x99, 0xbf, - 0xa4, 0xb5, 0x93, 0x8d, 0xc1, 0x3d, 0x7a, 0xbc, 0xe5, 0xd3, 0x03, 0xf7, 0x91, 0x10, 0x19, 0x1c, - 0x83, 0xfb, 0xf4, 0xd8, 0xee, 0x20, 0x54, 0x1d, 0x83, 0x08, 0x95, 0x7c, 0x15, 0xf2, 0xf7, 0xd6, - 0x6b, 0xf7, 0xe8, 0xf1, 0x6a, 0x45, 0xac, 0x09, 0x9c, 0xac, 0x15, 0xd8, 0x8c, 0x54, 0x1b, 0xba, - 0x08, 0xd3, 0x2c, 0xc5, 0xf2, 0xc6, 0x6a, 0x2e, 0x37, 0xbb, 0x41, 0x48, 0xfd, 0xd5, 0x8a, 0x5a, - 0x73, 0x9d, 0x03, 0x13, 0xa3, 0x1f, 0xa1, 0x9a, 0xff, 0x9d, 0x81, 0xb2, 0x46, 0xde, 0x01, 0x58, - 0x6d, 0xb3, 0x4d, 0x5c, 0x9d, 0x46, 0x0c, 0xd0, 0x51, 0xe4, 0x0a, 0xa8, 0xce, 0x41, 0x41, 0xd6, - 0xab, 0xce, 0x0c, 0x5d, 0x35, 0xab, 0x52, 0x6e, 0x09, 0x85, 0x27, 0x51, 0x54, 0xe9, 0x0b, 0x68, - 0xa2, 0xca, 0x18, 0x99, 0x5c, 0x85, 0xb1, 0xd5, 0xe2, 0x7a, 0xb1, 0x1b, 0x1e, 0xa1, 0xa4, 0xe7, - 0xf9, 0x3a, 0xeb, 0x3a, 0x2d, 0xdb, 0xe9, 0x86, 0x47, 0x96, 0x2c, 0x34, 0xff, 0xc8, 0x88, 0x07, - 0x9a, 0x6d, 0x38, 0x15, 0x7f, 0x1a, 0x6e, 0x38, 0x99, 0x41, 0xad, 0x6e, 0x38, 0xd1, 0xb3, 0x66, - 0x01, 0x29, 0x77, 0x83, 0xd0, 0x6b, 0x55, 0xdb, 0x8d, 0x8e, 0xe7, 0xb6, 0x43, 0xa4, 0xe2, 0x0d, - 0x33, 0x1f, 0x9f, 0x2c, 0xbe, 0x58, 0xc7, 0x52, 0x9b, 0x8a, 0x62, 0x3b, 0xc1, 0x25, 0x85, 0xfa, - 0x09, 0xda, 0x6a, 0xfe, 0x17, 0x19, 0x6d, 0x82, 0xb2, 0xcf, 0xb3, 0x68, 0xa7, 0xe9, 0xd6, 0xd1, - 0x4c, 0xbe, 0xeb, 0x7b, 0xdd, 0x4e, 0x34, 0x62, 0xf8, 0x79, 0x7e, 0x5c, 0x6a, 0x1f, 0xb2, 0x62, - 0x9d, 0x77, 0x0a, 0x35, 0xf9, 0x08, 0x26, 0x99, 0xae, 0x14, 0x3f, 0x83, 0x85, 0x0c, 0xea, 0xd8, - 0xe7, 0xd1, 0x75, 0x10, 0x50, 0x3f, 0x62, 0xa3, 0x29, 0x59, 0x95, 0x82, 0x34, 0x60, 0x61, 0xdb, - 0x77, 0xda, 0x81, 0x1b, 0x56, 0xdb, 0x75, 0xff, 0x18, 0x75, 0x7b, 0xb5, 0xed, 0xec, 0x37, 0x69, - 0x03, 0x9b, 0x9b, 0x2f, 0x5d, 0x7b, 0x7c, 0xb2, 0xf8, 0x4a, 0xc8, 0x71, 0x6c, 0x1a, 0x21, 0xd9, - 0x94, 0x63, 0x29, 0x9c, 0xfb, 0x72, 0x62, 0x6b, 0x81, 0xec, 0x56, 0x74, 0x07, 0xe7, 0xa2, 0x3d, - 0xe3, 0xc5, 0x68, 0x34, 0xd8, 0x3c, 0x56, 0x3f, 0x53, 0x25, 0x30, 0xff, 0x0f, 0x23, 0x56, 0x21, - 0xe4, 0x3d, 0x98, 0x10, 0xd2, 0xa8, 0xc8, 0xc5, 0x65, 0xa6, 0x8c, 0xa4, 0xe8, 0x26, 0x46, 0x56, - 0x45, 0x67, 0xb6, 0x71, 0xb1, 0xbc, 0xa6, 0xc8, 0x06, 0xda, 0xc6, 0x4e, 0xbd, 0x99, 0xa4, 0x92, - 0x68, 0x4c, 0x08, 0xb6, 0xd7, 0x6a, 0x7a, 0xaf, 0xa0, 0x10, 0x84, 0xcd, 0x20, 0xa5, 0x1b, 0x14, - 0xe4, 0x27, 0x6f, 0xf8, 0x5f, 0x33, 0x60, 0x42, 0x31, 0xb6, 0xd8, 0xa4, 0xdd, 0xf2, 0xbd, 0xef, - 0xd3, 0x7a, 0xa8, 0xeb, 0x8b, 0x0e, 0x07, 0x26, 0x26, 0x6d, 0x84, 0x9a, 0xd0, 0x13, 0x99, 0x33, - 0xe8, 0x09, 0xf3, 0x1f, 0x1a, 0x62, 0x21, 0x1e, 0x7a, 0x26, 0xea, 0xb3, 0x26, 0x73, 0x16, 0x0d, - 0xf1, 0x11, 0x8c, 0x58, 0xb4, 0xe1, 0x06, 0x62, 0x11, 0x9d, 0x55, 0x17, 0x7d, 0x2c, 0x88, 0xed, - 0x0e, 0x9f, 0xfd, 0x54, 0xed, 0x0e, 0x2c, 0x37, 0x3f, 0x05, 0x88, 0xb1, 0xc9, 0x3d, 0x28, 0x88, - 0xc1, 0x77, 0xdb, 0x87, 0x5b, 0x5e, 0xd3, 0xad, 0x0b, 0x43, 0xac, 0xb4, 0xf8, 0xf8, 0x64, 0xf1, - 0xb9, 0x7a, 0x54, 0x66, 0x77, 0xb0, 0x50, 0xe1, 0xd7, 0x43, 0x68, 0xfe, 0x03, 0x83, 0x19, 0x95, - 0xe4, 0x26, 0xc0, 0x3d, 0x7a, 0x1c, 0x3a, 0xfb, 0xcb, 0x6e, 0x53, 0x3b, 0x9f, 0xb9, 0x8f, 0x50, - 0xfb, 0xc0, 0x6d, 0x52, 0x4b, 0x41, 0x61, 0x9b, 0xd1, 0x7b, 0xfe, 0xfe, 0xdb, 0x88, 0x9e, 0x89, - 0x36, 0x07, 0x73, 0xf7, 0xfd, 0xfd, 0xb7, 0x11, 0x59, 0x5b, 0x25, 0x04, 0x22, 0x31, 0x61, 0xb4, - 0xe2, 0xb5, 0x1c, 0x57, 0x6e, 0xc8, 0x80, 0xed, 0x6a, 0x1a, 0x08, 0xb1, 0x44, 0x09, 0xdb, 0x8e, - 0xd4, 0xb6, 0x36, 0x84, 0x54, 0xe1, 0x76, 0x24, 0xe8, 0xb4, 0x2d, 0x06, 0x33, 0x7f, 0xcf, 0x80, - 0x09, 0xc5, 0x56, 0x26, 0x5f, 0x15, 0x5e, 0x6b, 0x03, 0x4f, 0x62, 0x2e, 0xf4, 0x5a, 0xd3, 0xac, - 0x94, 0x6f, 0x24, 0x5b, 0x5e, 0x83, 0x0a, 0x1f, 0x76, 0x6c, 0x62, 0x66, 0x86, 0x31, 0x31, 0xdf, - 0x01, 0xe0, 0xae, 0x09, 0x14, 0x13, 0x45, 0x5d, 0x2a, 0x27, 0x57, 0xea, 0xc0, 0xc7, 0xc8, 0xa6, - 0x05, 0x93, 0xaa, 0x79, 0x49, 0x4a, 0x30, 0x25, 0x3c, 0x71, 0x62, 0x5b, 0xca, 0xfb, 0x19, 0x75, - 0x9b, 0xe0, 0xd6, 0xeb, 0x19, 0xd4, 0x49, 0xcc, 0x7f, 0xcd, 0x88, 0xa5, 0x7e, 0xf7, 0x16, 0x79, - 0x17, 0x46, 0xb9, 0x0f, 0x53, 0xb8, 0x7a, 0xcf, 0x47, 0x56, 0x9e, 0xea, 0xe0, 0xe4, 0xfb, 0xcf, - 0x3f, 0xe1, 0x67, 0x19, 0xe7, 0x2c, 0x41, 0x12, 0x6d, 0x5d, 0x75, 0x8b, 0x5d, 0x72, 0xc7, 0x4d, - 0xda, 0xad, 0xb4, 0xad, 0xab, 0xf9, 0xef, 0x65, 0x61, 0x5a, 0x47, 0x53, 0x1d, 0x9d, 0xc6, 0x50, - 0x8e, 0xce, 0x8f, 0x20, 0xcf, 0x5a, 0xe6, 0xd6, 0xa9, 0xd4, 0xf1, 0xaf, 0xe0, 0x86, 0x5e, 0xc0, - 0x04, 0x49, 0xd8, 0x39, 0xfe, 0xec, 0x64, 0x11, 0x6a, 0xc7, 0x41, 0x48, 0x5b, 0x96, 0xd7, 0xa4, - 0x56, 0x44, 0x45, 0x96, 0x14, 0x3f, 0x55, 0x36, 0x56, 0x7b, 0xd2, 0x4f, 0xa5, 0x4a, 0x60, 0xe4, - 0xb1, 0x7a, 0x0b, 0x46, 0xd9, 0x6a, 0x1c, 0x99, 0xa5, 0xf8, 0x95, 0x6c, 0xa1, 0x4e, 0x1c, 0xbf, - 0x71, 0x24, 0xb2, 0x07, 0xf9, 0x35, 0x27, 0x08, 0x6b, 0x94, 0xb6, 0x87, 0x38, 0xc2, 0x58, 0x14, - 0x5d, 0x35, 0x87, 0xe7, 0x03, 0x01, 0xa5, 0xed, 0x84, 0x0f, 0x3a, 0x62, 0x46, 0xbe, 0x03, 0x50, - 0xf6, 0xda, 0xa1, 0xef, 0x35, 0xd7, 0xbc, 0xc3, 0x85, 0x51, 0xdc, 0x25, 0xbf, 0x98, 0x18, 0x80, - 0x18, 0x81, 0xef, 0x8d, 0x23, 0xa3, 0xb7, 0xce, 0x0b, 0xec, 0xa6, 0x77, 0xa8, 0x4a, 0x5e, 0x8c, - 0x6f, 0x7e, 0x96, 0x81, 0x8b, 0x7d, 0xd8, 0x30, 0x8d, 0x87, 0x7a, 0x5b, 0xd1, 0x78, 0x09, 0x75, - 0xcd, 0x4f, 0x2a, 0xf9, 0x99, 0x16, 0x93, 0x8d, 0x5c, 0xfa, 0x99, 0x16, 0xf9, 0x18, 0x72, 0xac, - 0xf1, 0x43, 0xf8, 0xe6, 0xa5, 0x05, 0x3b, 0x1d, 0xba, 0xea, 0xc0, 0x60, 0xa7, 0x20, 0x0f, 0xf2, - 0x55, 0xc8, 0x6e, 0x6f, 0xaf, 0xe1, 0xa8, 0x64, 0xd1, 0x76, 0x98, 0x0a, 0xc3, 0xa6, 0x76, 0x8a, - 0x33, 0xc5, 0x68, 0x6f, 0x44, 0x47, 0x39, 0x0c, 0x9d, 0x7c, 0x33, 0x71, 0x2e, 0x78, 0x7d, 0x70, - 0x17, 0x0e, 0x7f, 0x4c, 0xf8, 0x24, 0xe7, 0x75, 0x7e, 0x3c, 0x39, 0x96, 0xdd, 0x66, 0x48, 0x7d, - 0x72, 0x99, 0xcb, 0x7a, 0x6c, 0x10, 0x5b, 0xd1, 0x6f, 0xb2, 0x10, 0x4f, 0x1c, 0xce, 0x29, 0x9a, - 0x21, 0xd7, 0x95, 0x19, 0x92, 0xc5, 0x19, 0x32, 0xdd, 0x6f, 0x2e, 0x98, 0xbf, 0x92, 0x91, 0x55, - 0xec, 0x2e, 0x3d, 0xa3, 0x8e, 0xb4, 0xb7, 0x35, 0x47, 0xda, 0x5c, 0xb4, 0x41, 0x8b, 0xdc, 0xc2, - 0x4b, 0xa7, 0x78, 0xf7, 0xdf, 0x81, 0x49, 0xd9, 0x05, 0xe8, 0x8f, 0x7c, 0x1d, 0xc6, 0xe4, 0xf9, - 0x14, 0xf7, 0x46, 0xce, 0x68, 0x3c, 0x77, 0x97, 0x2c, 0x59, 0x6e, 0xfe, 0xf9, 0x88, 0xa4, 0xe5, - 0x35, 0xb1, 0x2e, 0x2c, 0x36, 0x1a, 0xbe, 0xda, 0x85, 0x4e, 0xa3, 0xe1, 0x5b, 0x08, 0x65, 0x6b, - 0xc2, 0x56, 0x77, 0xbf, 0xe9, 0xd6, 0x11, 0x47, 0x31, 0x06, 0x3a, 0x08, 0xb5, 0x19, 0xaa, 0x3a, - 0x33, 0x63, 0x64, 0xcd, 0xb9, 0x9e, 0x1d, 0xe8, 0x5c, 0xff, 0x2e, 0x8c, 0x97, 0x5b, 0x0d, 0xcd, - 0x8f, 0x66, 0xa6, 0x74, 0xca, 0x8d, 0x08, 0x89, 0x8b, 0xf5, 0xf3, 0xa2, 0x8f, 0xe6, 0xeb, 0xad, - 0x46, 0xaf, 0xf7, 0x2c, 0x66, 0xa9, 0x79, 0xc7, 0x47, 0x9e, 0xc4, 0x3b, 0x7e, 0x07, 0xc6, 0x77, - 0x02, 0xba, 0xdd, 0x6d, 0xb7, 0x69, 0x13, 0xb7, 0xd7, 0x79, 0x6e, 0xbf, 0x75, 0x03, 0x6a, 0x87, - 0x08, 0x55, 0x3f, 0x20, 0x42, 0x55, 0xc5, 0x6a, 0x6c, 0x80, 0x58, 0x7d, 0x15, 0x72, 0xc5, 0x4e, - 0x47, 0x1e, 0x1b, 0x44, 0x4e, 0x9e, 0x4e, 0x07, 0x67, 0xf0, 0xb4, 0xd3, 0xe9, 0xe8, 0x87, 0x00, - 0x88, 0x4d, 0x28, 0x90, 0x7b, 0xdd, 0x7d, 0xea, 0xb7, 0x69, 0x48, 0x03, 0x61, 0xf5, 0x04, 0x0b, - 0x80, 0x3c, 0x16, 0x64, 0xcc, 0x46, 0x12, 0x81, 0x5b, 0xb1, 0xf7, 0xbb, 0xfb, 0xd4, 0x16, 0x56, - 0x94, 0xda, 0x77, 0x29, 0x0c, 0xd1, 0x27, 0x4f, 0xa9, 0x8f, 0x72, 0x30, 0x11, 0x9b, 0x41, 0x1d, - 0x4a, 0xfd, 0xa4, 0x14, 0x44, 0x88, 0x9a, 0x23, 0x7f, 0x72, 0x58, 0x47, 0x7e, 0x0d, 0xa6, 0xf5, - 0x91, 0x7e, 0x0a, 0x3e, 0xb8, 0x8f, 0x73, 0xf9, 0x7c, 0x61, 0xdc, 0xfc, 0x51, 0x06, 0x26, 0x8a, - 0x9d, 0xce, 0x33, 0x7e, 0x4a, 0xf8, 0x75, 0x4d, 0x7f, 0x5c, 0x88, 0xe5, 0xe4, 0x0c, 0x07, 0x84, - 0xbf, 0x9f, 0x81, 0x99, 0x04, 0x85, 0xfa, 0xf5, 0xc6, 0x90, 0xa7, 0x66, 0x99, 0x21, 0x4f, 0xcd, - 0xb2, 0xfd, 0x4f, 0xcd, 0xd4, 0xd9, 0x99, 0x7b, 0x92, 0xd9, 0xf9, 0x1a, 0x64, 0x8b, 0x9d, 0x4e, - 0xd2, 0xe1, 0xd8, 0xe9, 0xec, 0xde, 0xe6, 0xd6, 0xb5, 0xd3, 0xe9, 0x58, 0x0c, 0x43, 0x93, 0xca, - 0xd1, 0x21, 0xa5, 0xd2, 0x7c, 0x0b, 0xc6, 0x91, 0x17, 0x2a, 0xdc, 0x2b, 0x62, 0xa6, 0x72, 0x6d, - 0xab, 0xd5, 0xc5, 0x67, 0xa5, 0xf9, 0xe7, 0x6c, 0xdf, 0xc5, 0x7e, 0x3f, 0xa3, 0x32, 0xb6, 0xa4, - 0xc9, 0x58, 0x41, 0x91, 0xb1, 0x61, 0xa4, 0xeb, 0x7f, 0xce, 0x62, 0x6f, 0x09, 0xb9, 0x12, 0xe7, - 0x2e, 0x46, 0xca, 0xb9, 0xcb, 0x13, 0xac, 0x2f, 0xf7, 0x93, 0x27, 0x30, 0x59, 0x1c, 0x8c, 0x97, - 0x93, 0x9f, 0xfa, 0x54, 0x0e, 0x5f, 0x56, 0x80, 0xac, 0xb6, 0x03, 0x5a, 0xef, 0xfa, 0xb4, 0x76, - 0xdf, 0xed, 0xec, 0x52, 0xdf, 0x3d, 0x38, 0x16, 0x6e, 0x30, 0x5c, 0x02, 0x5c, 0x51, 0x6a, 0x07, - 0xf7, 0xdd, 0x0e, 0xdb, 0xdc, 0xb8, 0x07, 0xc7, 0x56, 0x0a, 0x0d, 0xf9, 0x10, 0xc6, 0x2c, 0xfa, - 0xd0, 0x77, 0x43, 0xe9, 0xf5, 0x9d, 0x8e, 0x36, 0x32, 0x08, 0xe5, 0x86, 0xba, 0xcf, 0x7f, 0xa8, - 0xe3, 0x2f, 0xca, 0xc9, 0x12, 0x3f, 0x09, 0xe0, 0xde, 0xdd, 0xa9, 0xb8, 0xb5, 0xc5, 0xbd, 0x5a, - 0x69, 0x36, 0xfd, 0x18, 0xe8, 0x8b, 0x3b, 0xda, 0xf8, 0xe9, 0x08, 0x4e, 0xba, 0x53, 0xc2, 0xe6, - 0x06, 0x1c, 0xbc, 0xe9, 0x02, 0x90, 0x3d, 0x8b, 0x00, 0xec, 0xc2, 0x64, 0x8d, 0x4d, 0x7d, 0xfd, - 0x04, 0xee, 0xf9, 0xb8, 0x47, 0x6e, 0xa8, 0xc5, 0x83, 0x4c, 0x61, 0x8d, 0x0f, 0xb1, 0x93, 0x82, - 0xc5, 0x2d, 0xee, 0x17, 0x14, 0xc6, 0x29, 0x22, 0x15, 0xe9, 0xa8, 0x3a, 0xef, 0xac, 0x33, 0x0b, - 0xd3, 0xe8, 0x93, 0x09, 0xd3, 0xd8, 0xe7, 0x12, 0xa6, 0x44, 0xac, 0x62, 0xfe, 0x2c, 0xb1, 0x8a, - 0x97, 0x3f, 0x84, 0xd9, 0x9e, 0x1e, 0x3e, 0xcb, 0xfe, 0xe1, 0x8b, 0x13, 0xcb, 0x5f, 0x06, 0x65, - 0xba, 0xe4, 0x2d, 0xda, 0x70, 0x7d, 0x5a, 0x0f, 0x51, 0x5d, 0x0b, 0x0d, 0xeb, 0x0b, 0x58, 0xe2, - 0x28, 0x08, 0x61, 0xe4, 0x03, 0x18, 0xe3, 0x8e, 0x03, 0xbe, 0x61, 0x8f, 0xa7, 0x99, 0x70, 0x32, - 0xf0, 0x50, 0x56, 0x8e, 0xa1, 0xf6, 0xaa, 0x20, 0x32, 0xef, 0x4a, 0x5f, 0xc5, 0x29, 0xf3, 0x62, - 0x11, 0x46, 0x76, 0xe3, 0x9e, 0xc1, 0x18, 0x19, 0xde, 0x08, 0x8b, 0xc3, 0xcd, 0x5f, 0x33, 0x60, - 0x5a, 0x6f, 0x25, 0xb9, 0x01, 0xa3, 0x22, 0x20, 0xd0, 0xc0, 0x1d, 0x24, 0x6b, 0xcd, 0x28, 0x0f, - 0x05, 0xd4, 0x02, 0x00, 0x05, 0x16, 0x5b, 0x2e, 0x04, 0x07, 0xe1, 0x7c, 0xc0, 0xe5, 0x42, 0x08, - 0xa9, 0x25, 0xcb, 0x88, 0x09, 0xa3, 0x16, 0x0d, 0xba, 0xcd, 0x50, 0x75, 0x58, 0xf9, 0x08, 0xb1, - 0x44, 0x89, 0x59, 0x86, 0x51, 0xae, 0x67, 0xd8, 0xac, 0xad, 0x3e, 0x0a, 0xa9, 0xdf, 0x76, 0x9a, - 0xfa, 0xc1, 0x05, 0x15, 0xd0, 0x84, 0x8f, 0x30, 0x46, 0x36, 0x4f, 0x0c, 0x80, 0x5a, 0x6d, 0xe5, - 0x1e, 0x3d, 0xde, 0x72, 0x5c, 0x1f, 0x5d, 0xa2, 0x38, 0xa5, 0xef, 0x89, 0x21, 0x9f, 0x14, 0x2e, - 0x51, 0x3e, 0xfd, 0xef, 0xd3, 0x63, 0xcd, 0x25, 0x2a, 0x51, 0x51, 0x6f, 0xf8, 0xee, 0x03, 0x27, - 0xa4, 0x8c, 0x30, 0x83, 0x84, 0x5c, 0x6f, 0x70, 0x68, 0x82, 0x52, 0x41, 0x26, 0xdf, 0x81, 0xe9, - 0xf8, 0x17, 0x3a, 0x08, 0xb2, 0xe8, 0x56, 0x93, 0x62, 0xa5, 0x17, 0x96, 0x5e, 0x7c, 0x7c, 0xb2, - 0x78, 0x59, 0xe1, 0x9a, 0x74, 0xf9, 0x26, 0x98, 0x99, 0xbf, 0x6b, 0xa0, 0xc7, 0x59, 0x36, 0xf0, - 0x2a, 0xe4, 0xa2, 0x53, 0xde, 0x49, 0xee, 0x84, 0x48, 0xf8, 0xdf, 0xb0, 0x9c, 0xbc, 0x0c, 0xd9, - 0xb8, 0x25, 0xa8, 0xc7, 0xf5, 0x16, 0xb0, 0x52, 0x72, 0x17, 0xc6, 0x86, 0xfa, 0x66, 0x14, 0xf1, - 0x94, 0x6f, 0x95, 0xd4, 0x38, 0x0a, 0x1f, 0xef, 0x6d, 0x7f, 0x79, 0x47, 0xe1, 0x27, 0x19, 0x98, - 0x61, 0xfd, 0x5a, 0xec, 0x86, 0x47, 0x9e, 0xef, 0x86, 0xc7, 0xcf, 0xac, 0xb7, 0xe0, 0x3d, 0xcd, - 0x12, 0xbb, 0x2c, 0x75, 0x9f, 0xda, 0xb6, 0xa1, 0x9c, 0x06, 0x7f, 0x3c, 0x02, 0x73, 0x29, 0x54, - 0xe4, 0x4d, 0xcd, 0x4b, 0xb6, 0x20, 0xa3, 0xf8, 0x3f, 0x3b, 0x59, 0x9c, 0x94, 0xe8, 0xdb, 0x71, - 0x54, 0xff, 0x92, 0x7e, 0x7c, 0xc3, 0x7b, 0x0a, 0x9d, 0x66, 0xea, 0xf1, 0x8d, 0x7e, 0x68, 0xf3, - 0x3a, 0x8c, 0x58, 0x5e, 0x93, 0xf2, 0x85, 0x54, 0x84, 0x67, 0xfb, 0x0c, 0xa0, 0xf9, 0xff, 0x19, - 0x80, 0xac, 0xc0, 0x18, 0xfb, 0x63, 0xdd, 0xe9, 0x08, 0x57, 0x21, 0x89, 0xf6, 0x02, 0x08, 0xed, - 0xb8, 0xed, 0x43, 0x75, 0x3b, 0xd0, 0xa4, 0x76, 0xcb, 0xe9, 0x68, 0x2b, 0x1b, 0x47, 0xd4, 0xb6, - 0x15, 0xf9, 0xfe, 0xdb, 0x0a, 0xe3, 0xd4, 0x6d, 0x45, 0x03, 0xa0, 0xe6, 0x1e, 0xb6, 0xdd, 0xf6, - 0x61, 0xb1, 0x79, 0x28, 0xee, 0x42, 0xbc, 0xde, 0x7f, 0x14, 0x6e, 0xc4, 0xc8, 0x28, 0xb8, 0xdc, - 0x83, 0xce, 0x61, 0xb6, 0xd3, 0xd4, 0xfc, 0x98, 0x31, 0x2a, 0xd9, 0x00, 0x28, 0xd6, 0x43, 0xf7, - 0x01, 0x13, 0xe0, 0x40, 0xc4, 0xdf, 0xc9, 0x0f, 0x2e, 0x17, 0xef, 0xd1, 0xe3, 0x1a, 0x0d, 0x63, - 0xbf, 0xa8, 0x83, 0xa8, 0x6c, 0x1e, 0xa8, 0x7d, 0xa8, 0x70, 0x20, 0x1d, 0x38, 0x5f, 0x6c, 0x34, - 0x5c, 0xd6, 0x02, 0xa7, 0xb9, 0xed, 0xb3, 0xc1, 0x68, 0x20, 0xeb, 0xc9, 0x74, 0xd6, 0xaf, 0x0b, - 0xd6, 0x2f, 0x39, 0x11, 0x95, 0x1d, 0x72, 0xb2, 0x64, 0x35, 0xe9, 0x8c, 0xcd, 0x4d, 0x98, 0xd6, - 0x9b, 0xae, 0xdf, 0xe0, 0x98, 0x84, 0xbc, 0x55, 0x2b, 0xda, 0xb5, 0x95, 0xe2, 0xad, 0x82, 0x41, - 0x0a, 0x30, 0x29, 0x7e, 0x2d, 0xd9, 0x4b, 0x6f, 0xdf, 0x29, 0x64, 0x34, 0xc8, 0xdb, 0xb7, 0x96, - 0x0a, 0xd9, 0x8f, 0x73, 0xf9, 0x6c, 0x21, 0xf7, 0x71, 0x2e, 0x9f, 0x2b, 0x8c, 0x7c, 0x9c, 0xcb, - 0x8f, 0x15, 0xf2, 0x1f, 0xe7, 0xf2, 0x50, 0x98, 0x30, 0xff, 0xd0, 0x80, 0xbc, 0xfc, 0x6e, 0x72, - 0x07, 0xb2, 0xb5, 0xda, 0x4a, 0x22, 0x08, 0x2f, 0x5e, 0x5f, 0xb8, 0x26, 0x0d, 0x82, 0x23, 0x55, - 0x93, 0xd6, 0x6a, 0x2b, 0x8c, 0x6e, 0x7b, 0xad, 0x26, 0x96, 0x77, 0x49, 0x17, 0xab, 0x6d, 0x4e, - 0x97, 0x12, 0x99, 0x74, 0x07, 0xb2, 0x1f, 0xef, 0x6d, 0x8b, 0xbd, 0x86, 0xa4, 0x8b, 0x35, 0x29, - 0xa7, 0xfb, 0xfe, 0x43, 0x55, 0xbf, 0x33, 0x02, 0xd3, 0x82, 0x09, 0x45, 0x84, 0xf9, 0x72, 0xdb, - 0xf2, 0xa2, 0xdb, 0x0d, 0x62, 0xb9, 0x65, 0x10, 0x4b, 0x94, 0x30, 0xeb, 0x60, 0xcd, 0xab, 0x3b, - 0x4d, 0xb1, 0x6e, 0xa3, 0x75, 0xd0, 0x64, 0x00, 0x8b, 0xc3, 0xcd, 0x3f, 0x32, 0xa0, 0xb0, 0xe5, - 0x7b, 0x0f, 0x5c, 0xa6, 0x66, 0xb6, 0xbd, 0xfb, 0xb4, 0xbd, 0x7b, 0x8b, 0xbc, 0x25, 0x27, 0x9b, - 0x11, 0xed, 0x6c, 0x47, 0x70, 0xb2, 0x25, 0x3c, 0xaa, 0x62, 0xc2, 0x29, 0x97, 0x44, 0x32, 0xc3, - 0x07, 0x9e, 0x9f, 0x72, 0x49, 0x64, 0x11, 0x46, 0xf0, 0x73, 0x94, 0xd8, 0xdf, 0x91, 0x90, 0x01, - 0x2c, 0x0e, 0x57, 0xb4, 0xd2, 0x6f, 0x64, 0x7a, 0xda, 0xb0, 0xf4, 0xa5, 0x0a, 0xde, 0xd6, 0x1b, - 0x37, 0x94, 0xa6, 0xfe, 0x14, 0xe6, 0x93, 0x5d, 0x82, 0x5e, 0x87, 0x22, 0xcc, 0xe8, 0x70, 0xe9, - 0x80, 0xb8, 0x98, 0x5a, 0xd7, 0xee, 0x92, 0x95, 0xc4, 0x37, 0xff, 0xd4, 0x80, 0x71, 0xfc, 0xd3, - 0xea, 0x36, 0xf1, 0xa8, 0xb7, 0xb8, 0x57, 0x13, 0x51, 0x49, 0xaa, 0x19, 0xe7, 0x3c, 0x0c, 0x6c, - 0x11, 0xc2, 0xa4, 0xe9, 0x97, 0x08, 0x59, 0x90, 0xf2, 0x18, 0x2c, 0x79, 0xac, 0x15, 0x91, 0xf2, - 0x60, 0xad, 0x20, 0x41, 0x2a, 0x90, 0xf1, 0x0c, 0x7f, 0xaf, 0xc6, 0xc4, 0x4f, 0x3d, 0xcc, 0x42, - 0x3a, 0xaf, 0xa9, 0x9f, 0xe1, 0x73, 0x34, 0x3c, 0xcb, 0xda, 0xab, 0x15, 0xad, 0x0d, 0xed, 0x2c, - 0x8b, 0x7d, 0xa3, 0xaf, 0x85, 0x84, 0x71, 0x24, 0xf3, 0x7f, 0x19, 0x49, 0x76, 0xa0, 0x58, 0xea, - 0xce, 0x38, 0x37, 0xde, 0x85, 0x91, 0x62, 0xb3, 0xe9, 0x3d, 0x14, 0x5a, 0x42, 0x3a, 0x41, 0xa2, - 0xfe, 0xe3, 0x2b, 0x99, 0xc3, 0x50, 0xb4, 0xf8, 0x47, 0x06, 0x20, 0x65, 0x18, 0x2f, 0xee, 0xd5, - 0x56, 0x57, 0x2b, 0xdb, 0xdb, 0x6b, 0xe2, 0xc6, 0xde, 0xab, 0xb2, 0x7f, 0x5c, 0xb7, 0x61, 0x27, - 0x0f, 0x7d, 0x62, 0xcb, 0x3d, 0xa6, 0x23, 0xef, 0x03, 0x7c, 0xec, 0xb9, 0xed, 0x75, 0x1a, 0x1e, - 0x79, 0x0d, 0xd1, 0xf8, 0x17, 0x1e, 0x9f, 0x2c, 0x4e, 0x7c, 0xdf, 0x73, 0xdb, 0x76, 0x0b, 0xc1, - 0xec, 0xdb, 0x63, 0x24, 0x4b, 0xf9, 0x9b, 0xf5, 0x74, 0xc9, 0xe3, 0x91, 0x34, 0x23, 0x71, 0x4f, - 0xef, 0x7b, 0x3d, 0xd1, 0x33, 0x12, 0x8d, 0xb4, 0x60, 0xa6, 0xd6, 0x3d, 0x3c, 0xa4, 0x4c, 0xab, - 0x8b, 0xdd, 0xef, 0xa8, 0xd8, 0x73, 0x45, 0xf7, 0x1d, 0xf9, 0x4e, 0x84, 0xed, 0x4f, 0x82, 0xd2, - 0x9b, 0x4c, 0x90, 0x7f, 0x7e, 0xb2, 0x28, 0x0e, 0x93, 0x98, 0x91, 0x16, 0x48, 0xfa, 0x5e, 0xa7, - 0x4a, 0x92, 0x37, 0xd9, 0x84, 0xd1, 0xbb, 0x6e, 0xb8, 0xd2, 0xdd, 0x17, 0xdb, 0xd7, 0x97, 0x06, - 0x4c, 0x1a, 0x8e, 0xc8, 0x77, 0xf0, 0x87, 0x6e, 0x78, 0xd4, 0x55, 0xa3, 0xcc, 0x04, 0x1b, 0xb2, - 0x07, 0xf9, 0xb2, 0xeb, 0xd7, 0x9b, 0xb4, 0xbc, 0x2a, 0x56, 0xfd, 0x97, 0x07, 0xb0, 0x94, 0xa8, - 0xbc, 0x5f, 0xea, 0xf8, 0xab, 0xee, 0xaa, 0x56, 0x80, 0xc4, 0x20, 0xff, 0x8e, 0x01, 0xcf, 0x45, - 0x5f, 0x5f, 0x3c, 0xa4, 0xed, 0x70, 0xdd, 0x09, 0xeb, 0x47, 0xd4, 0x8f, 0x42, 0xfd, 0x07, 0xf4, - 0xd2, 0x37, 0x7a, 0x7a, 0xe9, 0x5a, 0xdc, 0x4b, 0x0e, 0x63, 0x66, 0xb7, 0x38, 0xb7, 0xde, 0x3e, - 0x1b, 0x54, 0xab, 0xf9, 0xbf, 0xe6, 0xe0, 0x72, 0xff, 0xbe, 0x22, 0x9f, 0x48, 0x01, 0xe6, 0x6a, - 0xe2, 0xea, 0xa9, 0xbd, 0x7b, 0xe3, 0x54, 0xb1, 0xfe, 0x26, 0xcc, 0x57, 0xdb, 0x21, 0xf5, 0x3b, - 0xbe, 0x2b, 0x6f, 0x32, 0xac, 0x78, 0x81, 0x8c, 0x30, 0x78, 0xe5, 0xf1, 0xc9, 0xe2, 0x15, 0x1a, - 0x95, 0x8b, 0xbb, 0x4f, 0xf6, 0x91, 0x17, 0xa8, 0x7a, 0x24, 0x95, 0xc3, 0xe5, 0xdf, 0xcd, 0x42, - 0x0e, 0xb5, 0xd2, 0xcb, 0x90, 0xad, 0x75, 0xf7, 0x85, 0x3a, 0xe2, 0xeb, 0xb7, 0x36, 0xd6, 0xac, - 0x94, 0x7c, 0x1d, 0xc0, 0xa2, 0x1d, 0x2f, 0x70, 0x43, 0xcf, 0x3f, 0x56, 0x03, 0xe0, 0xfc, 0x08, - 0xaa, 0x07, 0xa9, 0x48, 0x28, 0x59, 0x81, 0x99, 0xf8, 0xd7, 0xe6, 0xc3, 0x36, 0x95, 0x6e, 0x27, - 0xdc, 0x62, 0xc4, 0xe4, 0xb6, 0xc7, 0xca, 0x54, 0xe9, 0x4d, 0x90, 0x91, 0x25, 0xc8, 0xef, 0x79, - 0xfe, 0xfd, 0x03, 0xd6, 0xc3, 0xb9, 0x78, 0x7e, 0x3d, 0x14, 0x30, 0x55, 0x8e, 0x24, 0x1e, 0x79, - 0x17, 0x26, 0xaa, 0xed, 0x07, 0xae, 0xef, 0xb5, 0x5b, 0xb4, 0x1d, 0x8a, 0x69, 0xc9, 0xb7, 0xce, - 0x31, 0x58, 0x0b, 0xf0, 0x8c, 0xc1, 0xcc, 0x90, 0x2e, 0xd6, 0x43, 0xcf, 0x17, 0x97, 0x5a, 0xf8, - 0x38, 0x31, 0x80, 0x36, 0x4e, 0x0c, 0xc0, 0x3a, 0xd1, 0xa2, 0x07, 0xe2, 0xb8, 0x09, 0x3b, 0xd1, - 0xa7, 0x07, 0x5a, 0xf4, 0x2a, 0x3d, 0x60, 0xfa, 0xc1, 0xa2, 0x07, 0x68, 0xfd, 0xe7, 0xe3, 0xef, - 0xf7, 0xe9, 0x41, 0xcf, 0xbe, 0x51, 0xa0, 0x99, 0x7f, 0x98, 0x81, 0xe7, 0x07, 0xcd, 0x24, 0x52, - 0xd3, 0x45, 0xee, 0xda, 0x10, 0xb3, 0xef, 0x74, 0xa1, 0xab, 0xc2, 0xf4, 0xa6, 0x7f, 0xe8, 0xb4, - 0xdd, 0x1f, 0xa0, 0x86, 0x8c, 0xc2, 0x92, 0x98, 0x2a, 0xbc, 0xe4, 0x29, 0x25, 0xba, 0xdb, 0x21, - 0x41, 0x74, 0xf9, 0x81, 0x10, 0xb0, 0xcf, 0x1b, 0x86, 0x75, 0x07, 0xc6, 0xcb, 0x5e, 0x3b, 0xa4, - 0x8f, 0xc2, 0x44, 0xcc, 0x25, 0x07, 0x26, 0x63, 0x2e, 0x25, 0xaa, 0xf9, 0x37, 0x32, 0x30, 0xcd, - 0x1d, 0x65, 0x7c, 0x15, 0x7e, 0x66, 0x2d, 0x9c, 0x77, 0x35, 0x0b, 0xe7, 0x92, 0xb4, 0xb6, 0x95, - 0xa6, 0x0d, 0x65, 0xdf, 0x1c, 0x01, 0xe9, 0xa5, 0x21, 0x96, 0x74, 0xe7, 0x0e, 0x63, 0xda, 0xdc, - 0x8a, 0xa3, 0xb2, 0xf1, 0xd6, 0x7e, 0xdd, 0x46, 0xfb, 0x32, 0xb0, 0x34, 0x1e, 0xe6, 0xaf, 0x65, - 0x60, 0x4a, 0xd9, 0x89, 0x3e, 0xb3, 0x1d, 0xff, 0x0d, 0xad, 0xe3, 0xe5, 0xa9, 0xae, 0xd2, 0xb2, - 0xa1, 0xfa, 0xbd, 0x0b, 0xb3, 0x3d, 0x24, 0xc9, 0x0d, 0xbd, 0x31, 0xcc, 0x86, 0xfe, 0xcd, 0xde, - 0xe0, 0x63, 0x7e, 0x39, 0x3a, 0x0a, 0x3e, 0x56, 0xa3, 0x9d, 0x7f, 0x92, 0x81, 0x79, 0xf1, 0xab, - 0xd8, 0x6d, 0xb8, 0x61, 0xd9, 0x6b, 0x1f, 0xb8, 0x87, 0xcf, 0xec, 0x58, 0x14, 0xb5, 0xb1, 0x58, - 0xd4, 0xc7, 0x42, 0x69, 0x60, 0xff, 0x21, 0x31, 0xff, 0x0d, 0x80, 0x85, 0x7e, 0x04, 0x43, 0x47, - 0x2d, 0xc5, 0xd7, 0x24, 0x32, 0x43, 0x5c, 0x93, 0x58, 0x83, 0x02, 0x56, 0x55, 0xa3, 0x01, 0xeb, - 0x84, 0x20, 0xbe, 0x99, 0x79, 0xe5, 0xf1, 0xc9, 0xe2, 0xf3, 0x0e, 0x2b, 0xb3, 0x03, 0x51, 0x68, - 0x77, 0x7d, 0xd5, 0x0a, 0xea, 0xa1, 0x24, 0xbf, 0x6b, 0xc0, 0x34, 0x02, 0xab, 0x0f, 0x68, 0x3b, - 0x44, 0x66, 0x39, 0x71, 0x18, 0x1d, 0x19, 0x40, 0xb5, 0xd0, 0x77, 0xdb, 0x87, 0xc2, 0x02, 0xda, - 0x17, 0x16, 0xd0, 0x7b, 0xdc, 0x72, 0xbb, 0x51, 0xf7, 0x5a, 0x37, 0x0f, 0x7d, 0xe7, 0x81, 0xcb, - 0x9d, 0x2c, 0x4e, 0xf3, 0x66, 0x9c, 0x98, 0xa3, 0xe3, 0x26, 0x52, 0x6d, 0x08, 0x56, 0x68, 0x5d, - 0xf2, 0x0f, 0xa5, 0x58, 0x6d, 0xe2, 0x33, 0x13, 0x5f, 0x44, 0x7e, 0x01, 0x2e, 0xf2, 0x48, 0x5e, - 0xa6, 0x89, 0xdd, 0x76, 0xd7, 0xeb, 0x06, 0x25, 0xa7, 0x7e, 0xbf, 0xdb, 0x09, 0xc4, 0x59, 0x0b, - 0xb6, 0xbc, 0x1e, 0x15, 0xda, 0xfb, 0xbc, 0x54, 0x61, 0xd9, 0x8f, 0x01, 0x59, 0x81, 0x59, 0x5e, - 0x54, 0xec, 0x86, 0x5e, 0xad, 0xee, 0x34, 0xdd, 0xf6, 0x21, 0x2e, 0xb6, 0x79, 0x1e, 0xcb, 0xec, - 0x74, 0x43, 0xcf, 0x0e, 0x38, 0x5c, 0xe1, 0xd7, 0x4b, 0x44, 0x56, 0x99, 0x39, 0xe2, 0x34, 0xd6, - 0x9d, 0x47, 0x65, 0xa7, 0xe3, 0xd4, 0xdd, 0x90, 0x5f, 0x8e, 0xc8, 0xf2, 0x10, 0x57, 0x9f, 0x3a, - 0x0d, 0xbb, 0xe5, 0x3c, 0xb2, 0xeb, 0xa2, 0x50, 0xb7, 0x47, 0x34, 0xba, 0x88, 0x95, 0xdb, 0x8e, - 0x58, 0x8d, 0x27, 0x59, 0xb9, 0xed, 0xfe, 0xac, 0x62, 0x3a, 0xc9, 0x6a, 0xdb, 0xf1, 0x0f, 0x69, - 0xc8, 0xcf, 0x28, 0xe0, 0x8a, 0x71, 0xcd, 0x50, 0x58, 0x85, 0x58, 0x66, 0xe3, 0x79, 0x45, 0x92, - 0x95, 0x42, 0xc7, 0x24, 0x6f, 0xcf, 0x77, 0x43, 0xaa, 0xb6, 0x70, 0x02, 0x3f, 0x0b, 0xfb, 0x1f, - 0x4f, 0x69, 0xfa, 0x35, 0xb1, 0x87, 0x32, 0xe6, 0xa6, 0x34, 0x72, 0xb2, 0x87, 0x5b, 0x7a, 0x2b, - 0x7b, 0x28, 0x23, 0x6e, 0x6a, 0x3b, 0xa7, 0xb0, 0x9d, 0x0a, 0xb7, 0x3e, 0x0d, 0xed, 0xa1, 0x24, - 0x1b, 0xac, 0xd3, 0x42, 0xda, 0x66, 0x12, 0x2d, 0xce, 0x68, 0xa6, 0xf1, 0xd3, 0x5e, 0x11, 0x8e, - 0xc6, 0x82, 0x2f, 0x8b, 0xed, 0x94, 0x13, 0x9b, 0x24, 0x31, 0xf9, 0x2b, 0x30, 0xb3, 0x13, 0xd0, - 0xe5, 0xd5, 0xad, 0x9a, 0x8c, 0x2a, 0x5f, 0x98, 0x41, 0xf7, 0xe3, 0xad, 0x53, 0x94, 0xce, 0x0d, - 0x95, 0x06, 0x53, 0x64, 0xf0, 0x71, 0xeb, 0x06, 0xd4, 0x3e, 0x70, 0x3b, 0x41, 0x74, 0x8b, 0x42, - 0x1d, 0xb7, 0x44, 0x55, 0xe6, 0x0a, 0xcc, 0xf6, 0xb0, 0x21, 0xd3, 0x00, 0x0c, 0x68, 0xef, 0x6c, - 0xd4, 0xaa, 0xdb, 0x85, 0x73, 0xa4, 0x00, 0x93, 0xf8, 0xbb, 0xba, 0x51, 0x2c, 0xad, 0x55, 0x2b, - 0x05, 0x83, 0xcc, 0xc2, 0x14, 0x42, 0x2a, 0xab, 0x35, 0x0e, 0xca, 0x7c, 0x9c, 0xcb, 0x8f, 0x14, - 0x46, 0xad, 0x02, 0x9f, 0xba, 0x21, 0x9b, 0x00, 0xb8, 0xa6, 0x98, 0x7f, 0x33, 0x03, 0x97, 0xe4, - 0xb2, 0x42, 0x43, 0x66, 0x36, 0xbb, 0xed, 0xc3, 0x67, 0x7c, 0x75, 0x58, 0xd6, 0x56, 0x87, 0x57, - 0x12, 0x2b, 0x75, 0xa2, 0x95, 0x03, 0x96, 0x88, 0xdf, 0x1a, 0x83, 0x17, 0x06, 0x52, 0x91, 0x4f, - 0xd8, 0x6a, 0xee, 0xd2, 0x76, 0xb8, 0xda, 0x68, 0xd2, 0x6d, 0xb7, 0x45, 0xbd, 0x6e, 0x28, 0xce, - 0x04, 0x5f, 0x7e, 0x7c, 0xb2, 0x38, 0xc7, 0xf3, 0x5b, 0xd8, 0x6e, 0xa3, 0x49, 0xed, 0x90, 0x17, - 0x6b, 0xe2, 0xd6, 0x4b, 0xcd, 0x58, 0x46, 0x39, 0x78, 0x56, 0xd9, 0x1e, 0xed, 0x81, 0xc3, 0xaf, - 0xf9, 0x0b, 0x96, 0xf7, 0x29, 0xed, 0xd8, 0x0e, 0x2b, 0xb5, 0x5d, 0x51, 0xac, 0xb3, 0xec, 0xa1, - 0x26, 0xcb, 0x0a, 0xcb, 0xb2, 0xd7, 0x65, 0x1b, 0xd8, 0x47, 0xc2, 0x1d, 0x22, 0x2e, 0x69, 0x45, - 0x2c, 0xf9, 0x8d, 0xb9, 0x96, 0xf3, 0xc8, 0xea, 0x25, 0x21, 0xdf, 0x81, 0xf3, 0x62, 0x01, 0x12, - 0x91, 0xae, 0xb2, 0xc5, 0x3c, 0x8e, 0xf6, 0xb5, 0xc7, 0x27, 0x8b, 0x17, 0xc5, 0xf2, 0x65, 0xcb, - 0xa8, 0xe1, 0xb4, 0x56, 0xa7, 0x73, 0x21, 0xdb, 0x6c, 0x41, 0x4e, 0x74, 0xc7, 0x3a, 0x0d, 0x02, - 0xe7, 0x50, 0xba, 0x4e, 0xf8, 0xc1, 0xbc, 0xd2, 0x99, 0x76, 0x8b, 0x97, 0x5b, 0x7d, 0x29, 0xc9, - 0x0a, 0x4c, 0xef, 0xd1, 0x7d, 0x75, 0x7c, 0x46, 0x23, 0x55, 0x55, 0x78, 0x48, 0xf7, 0xfb, 0x0f, - 0x4e, 0x82, 0x8e, 0xb8, 0x30, 0x8b, 0x91, 0x48, 0x6b, 0x6e, 0x10, 0xd2, 0x36, 0xf5, 0xf1, 0x36, - 0xc0, 0x18, 0x2a, 0x83, 0x85, 0xd8, 0x42, 0xd6, 0xcb, 0x4b, 0x2f, 0x3d, 0x3e, 0x59, 0x7c, 0x81, - 0x47, 0x35, 0x35, 0x05, 0xdc, 0x4e, 0x24, 0xbb, 0xe9, 0xe5, 0x4a, 0xbe, 0x07, 0x33, 0x96, 0xd7, - 0x0d, 0xdd, 0xf6, 0x61, 0x2d, 0xf4, 0x9d, 0x90, 0x1e, 0xf2, 0x05, 0x29, 0xbe, 0x76, 0x90, 0x28, - 0x15, 0xfb, 0x66, 0x0e, 0xb4, 0x03, 0x01, 0xd5, 0x56, 0x04, 0x9d, 0x80, 0x7c, 0x17, 0xa6, 0x79, - 0x60, 0x64, 0x54, 0xc1, 0xb8, 0x76, 0x2f, 0x5c, 0x2f, 0xdc, 0xbd, 0xc5, 0xf7, 0x79, 0x3c, 0xc0, - 0x32, 0xad, 0x82, 0x04, 0x37, 0xf2, 0x2d, 0xd1, 0x59, 0x5b, 0x6e, 0xfb, 0x30, 0x12, 0x63, 0xc0, - 0x9e, 0x7f, 0x2b, 0xee, 0x92, 0x0e, 0xfb, 0x5c, 0x29, 0xc6, 0x7d, 0x5c, 0x71, 0xbd, 0x7c, 0xcc, - 0x13, 0x03, 0x0a, 0xc9, 0x0f, 0x24, 0xdf, 0x84, 0x71, 0xee, 0x9d, 0xa1, 0xc1, 0x91, 0xb8, 0x9f, - 0x20, 0x63, 0xdc, 0x23, 0xb8, 0x4e, 0x24, 0xae, 0x89, 0x72, 0xdf, 0x0f, 0x55, 0xcf, 0x27, 0x56, - 0xce, 0x59, 0x31, 0x33, 0xd2, 0x80, 0x49, 0xfe, 0x0d, 0x14, 0xef, 0xb2, 0x08, 0x27, 0xfd, 0x4b, - 0xea, 0x98, 0x8b, 0xa2, 0x04, 0x7f, 0x0c, 0xf0, 0x14, 0x2d, 0xe5, 0x08, 0x5a, 0x15, 0x1a, 0xd7, - 0x12, 0x40, 0x5e, 0x12, 0x9a, 0x97, 0xe0, 0x62, 0x9f, 0x6f, 0x36, 0x1f, 0xa0, 0xb7, 0xa9, 0x4f, - 0x8d, 0xe4, 0x9b, 0x30, 0x8f, 0x84, 0x65, 0xaf, 0xdd, 0xa6, 0xf5, 0x10, 0x27, 0x99, 0xf4, 0x2b, - 0x67, 0xb9, 0x6b, 0x88, 0xb7, 0xb7, 0x1e, 0x21, 0xd8, 0x49, 0x17, 0x73, 0x2a, 0x07, 0xf3, 0xb7, - 0x33, 0xb0, 0x20, 0xe6, 0xad, 0x45, 0xeb, 0x9e, 0xdf, 0x78, 0xf6, 0xd7, 0x89, 0xaa, 0xb6, 0x4e, - 0xbc, 0x1c, 0x85, 0x3b, 0xa7, 0x35, 0x72, 0xc0, 0x32, 0xf1, 0xfb, 0x06, 0x3c, 0x3f, 0x88, 0x88, - 0xf5, 0x4e, 0x74, 0x73, 0x68, 0xbc, 0xe7, 0x86, 0x50, 0x07, 0xe6, 0x70, 0x40, 0xcb, 0x47, 0xb4, - 0x7e, 0x3f, 0x58, 0xf1, 0x82, 0x10, 0xcf, 0x08, 0x33, 0x5a, 0xd0, 0x5f, 0xc9, 0xf3, 0xb8, 0x23, - 0x13, 0xbd, 0xbd, 0xc6, 0xcf, 0x4f, 0x16, 0x81, 0x81, 0xf8, 0x5d, 0x1f, 0x66, 0xec, 0x72, 0x29, - 0xab, 0x23, 0x0f, 0xf4, 0xf5, 0xe1, 0x89, 0xa1, 0x95, 0xc6, 0x1a, 0xcf, 0x7b, 0x8a, 0xdd, 0xf0, - 0x68, 0xcb, 0xa7, 0x07, 0xd4, 0xa7, 0xed, 0x3a, 0xfd, 0x92, 0x9d, 0xf7, 0xe8, 0x8d, 0x1b, 0x6a, - 0x5f, 0xfe, 0x4f, 0xf3, 0x30, 0x9f, 0x46, 0xc6, 0xfa, 0x45, 0xd9, 0x0a, 0x26, 0x13, 0xec, 0xfd, - 0xeb, 0x06, 0x4c, 0xd6, 0x68, 0xdd, 0x6b, 0x37, 0x96, 0xd1, 0x09, 0x28, 0x7a, 0xc7, 0xe6, 0x4b, - 0x21, 0x83, 0xdb, 0x07, 0x09, 0xef, 0xe0, 0x67, 0x27, 0x8b, 0x1f, 0x0d, 0xb7, 0x03, 0xab, 0x7b, - 0x78, 0xb1, 0x23, 0xc4, 0x8b, 0xe3, 0x51, 0x15, 0x18, 0x08, 0xa0, 0x55, 0x4a, 0x4a, 0x30, 0x25, - 0xa6, 0xab, 0xa7, 0x5e, 0x1c, 0xc3, 0xab, 0x5e, 0x75, 0x59, 0x90, 0x3c, 0x6f, 0xd0, 0x49, 0xc8, - 0x6d, 0xc8, 0xee, 0x2c, 0x2d, 0x8b, 0x31, 0x90, 0x71, 0xef, 0x3b, 0x4b, 0xcb, 0xe8, 0xe4, 0x61, - 0x86, 0xf3, 0x54, 0x77, 0x49, 0x73, 0x5e, 0xee, 0x2c, 0x2d, 0x93, 0xdb, 0x30, 0x6b, 0xd1, 0x5f, - 0xec, 0xba, 0x3e, 0x15, 0x13, 0x60, 0x7d, 0xb9, 0x88, 0x63, 0x91, 0x97, 0x39, 0xf9, 0x7a, 0xcb, - 0xc9, 0x5f, 0x85, 0xf3, 0x15, 0x37, 0x10, 0xdf, 0xc5, 0x8f, 0x2b, 0x1b, 0x18, 0x9e, 0x33, 0xda, - 0x47, 0xe4, 0xbf, 0x96, 0x2a, 0xf2, 0x2f, 0x35, 0x22, 0x26, 0x36, 0x3f, 0x0b, 0x6d, 0x24, 0x6f, - 0xd5, 0xa5, 0xd7, 0x43, 0xbe, 0x0f, 0xd3, 0xe8, 0xd3, 0xc4, 0x13, 0x5c, 0xbc, 0x4b, 0x3d, 0xd6, - 0xa7, 0xe6, 0xaf, 0xa4, 0xd6, 0x7c, 0x19, 0x5d, 0xa4, 0x36, 0x9e, 0x03, 0xe3, 0xbd, 0x6b, 0x6d, - 0x03, 0xac, 0x71, 0x26, 0x1f, 0xc3, 0x8c, 0xb0, 0x44, 0x36, 0x0f, 0xb6, 0x8f, 0x68, 0xc5, 0x39, - 0x16, 0x6e, 0x5e, 0xdc, 0xdc, 0x08, 0xf3, 0xc5, 0xf6, 0x0e, 0xec, 0xf0, 0x88, 0xda, 0x0d, 0x47, - 0x5b, 0xb3, 0x13, 0x84, 0xe4, 0x97, 0x60, 0x62, 0xcd, 0xab, 0x33, 0x23, 0x14, 0xd5, 0xc9, 0x38, - 0xf2, 0xf9, 0x14, 0x53, 0xc4, 0x71, 0x70, 0xc2, 0xb2, 0xf8, 0xec, 0x64, 0xf1, 0xdd, 0xb3, 0x4a, - 0x9a, 0x52, 0x81, 0xa5, 0xd6, 0x46, 0xca, 0x90, 0xdf, 0xa3, 0xfb, 0xac, 0xb5, 0xc9, 0xf4, 0x46, - 0x12, 0x2c, 0x3c, 0xef, 0xe2, 0x97, 0xe6, 0x79, 0x17, 0x30, 0xe2, 0xc3, 0x2c, 0xf6, 0xcf, 0x96, - 0x13, 0x04, 0x0f, 0x3d, 0xbf, 0xd1, 0xa4, 0x81, 0x0c, 0xb4, 0xe8, 0xed, 0xfc, 0xa5, 0xd4, 0xce, - 0x7f, 0x9e, 0x77, 0x7e, 0x47, 0xe1, 0xa0, 0xda, 0x52, 0x3d, 0xec, 0xc9, 0xf7, 0x60, 0x5a, 0xc8, - 0xe0, 0xfa, 0x72, 0x11, 0xa7, 0xf2, 0xa4, 0x16, 0xe4, 0xa4, 0x17, 0x72, 0x83, 0xcd, 0xe7, 0x30, - 0xe9, 0x8c, 0xb1, 0x5b, 0x07, 0x6a, 0xda, 0xb3, 0x04, 0x3f, 0xf3, 0x9f, 0x1a, 0x38, 0x77, 0xc8, - 0x75, 0x0c, 0x37, 0x8f, 0xfc, 0xd9, 0xe8, 0x0c, 0x72, 0x3a, 0x89, 0x5b, 0xe8, 0x1c, 0x85, 0xbc, - 0x09, 0xa3, 0xcb, 0x4e, 0x9d, 0x86, 0xf2, 0xdc, 0x16, 0x91, 0x0f, 0x10, 0xa2, 0x7a, 0x8e, 0x38, - 0x0e, 0x5b, 0xd6, 0x2b, 0xf4, 0x81, 0x5b, 0xa7, 0xc5, 0x38, 0x45, 0x6a, 0xb9, 0x28, 0x2f, 0x6a, - 0xe1, 0xb2, 0xde, 0xc0, 0x72, 0x5b, 0xc9, 0xa1, 0x6a, 0xd7, 0x1d, 0x95, 0x57, 0x2a, 0x07, 0xf3, - 0x7f, 0x33, 0xe2, 0x71, 0x25, 0xaf, 0x41, 0xce, 0xda, 0x8a, 0xbe, 0x9f, 0xc7, 0x08, 0x25, 0x3e, - 0x1f, 0x11, 0xc8, 0xb7, 0xe0, 0xbc, 0xc2, 0x07, 0xfb, 0x9c, 0x36, 0xd8, 0x07, 0xf1, 0xc6, 0xbc, - 0x8a, 0x41, 0x2c, 0xca, 0x97, 0x38, 0x1c, 0x23, 0xf1, 0x45, 0xe9, 0x3c, 0xd0, 0x86, 0x89, 0x0b, - 0x2a, 0xb4, 0xed, 0x72, 0xde, 0x4a, 0x63, 0x55, 0xde, 0x0d, 0x44, 0x48, 0x36, 0x36, 0x8d, 0x03, - 0x8f, 0x63, 0x31, 0xff, 0x95, 0xa1, 0x64, 0x10, 0x7d, 0x46, 0xd7, 0xbd, 0x3b, 0xda, 0xba, 0x37, - 0x2f, 0x48, 0xa3, 0x56, 0xb1, 0xb2, 0x54, 0x5b, 0x65, 0x06, 0xa6, 0x34, 0x24, 0xbc, 0x8d, 0xb3, - 0x13, 0x50, 0x9f, 0xbb, 0xf4, 0xbf, 0x5c, 0xb7, 0x71, 0xa2, 0x76, 0x0d, 0x75, 0x5f, 0xe2, 0x5f, - 0x1a, 0xe8, 0xea, 0x51, 0x29, 0x58, 0x6f, 0x30, 0x90, 0xda, 0x1b, 0xdd, 0x80, 0xfa, 0x16, 0x42, - 0x79, 0x48, 0xfd, 0x9a, 0x1e, 0x52, 0xdf, 0xb4, 0x18, 0x8c, 0x7c, 0x04, 0x23, 0x3b, 0xb8, 0x71, - 0xd5, 0x03, 0x2a, 0x23, 0xfe, 0x58, 0xc8, 0x67, 0x58, 0x97, 0xfd, 0xa9, 0x2a, 0x08, 0x2c, 0x23, - 0x35, 0x18, 0x2b, 0xfb, 0x14, 0x73, 0x85, 0xe6, 0x86, 0x0f, 0x0a, 0xaa, 0x73, 0x92, 0x64, 0x50, - 0x90, 0xe0, 0x64, 0xfe, 0x66, 0x06, 0x48, 0xdc, 0x46, 0xcc, 0xdf, 0x12, 0x3c, 0xb3, 0x83, 0xfe, - 0xa1, 0x36, 0xe8, 0x2f, 0xf4, 0x0c, 0x3a, 0x6f, 0xde, 0x50, 0x63, 0xff, 0x47, 0x06, 0x5c, 0x48, - 0x27, 0x24, 0x2f, 0xc3, 0xe8, 0xe6, 0xf6, 0x96, 0x8c, 0xc9, 0x15, 0x4d, 0xf1, 0x3a, 0x68, 0x5f, - 0x5b, 0xa2, 0x88, 0xbc, 0x05, 0xa3, 0x9f, 0x58, 0x65, 0xb6, 0x28, 0x2b, 0xb7, 0xfc, 0x7f, 0xd1, - 0xb7, 0xeb, 0xfa, 0x4e, 0x5f, 0x20, 0xa9, 0x63, 0x9b, 0x7d, 0x6a, 0x63, 0xfb, 0x93, 0x0c, 0xcc, - 0x14, 0xeb, 0x75, 0x1a, 0x04, 0x6c, 0x79, 0xa2, 0x41, 0xf8, 0xcc, 0x0e, 0x6c, 0x7a, 0xb4, 0xad, - 0xd6, 0xb6, 0xa1, 0x46, 0xf5, 0x8f, 0x0d, 0x38, 0x2f, 0xa9, 0x1e, 0xb8, 0xf4, 0xe1, 0xf6, 0x91, - 0x4f, 0x83, 0x23, 0xaf, 0xd9, 0x18, 0x3a, 0x0f, 0x07, 0x5b, 0xa5, 0xf1, 0x52, 0xb5, 0x7a, 0xbe, - 0x73, 0x80, 0x10, 0x6d, 0x95, 0xe6, 0x17, 0xaf, 0x6f, 0xc2, 0x58, 0xb1, 0xd3, 0xf1, 0xbd, 0x07, - 0x7c, 0xda, 0x4f, 0x89, 0x18, 0x29, 0x0e, 0xd2, 0x62, 0xaa, 0x38, 0x88, 0x7d, 0x46, 0x85, 0xb6, - 0xf9, 0x1d, 0xa6, 0x29, 0xfe, 0x19, 0x0d, 0xda, 0x56, 0x6d, 0x40, 0x2c, 0x37, 0x7f, 0x9c, 0x83, - 0x49, 0xb5, 0x21, 0xc4, 0xe4, 0x89, 0x05, 0x3c, 0x5f, 0x0d, 0x5d, 0x74, 0x10, 0x62, 0x89, 0x92, - 0x38, 0xe2, 0x37, 0x73, 0x6a, 0xc4, 0xef, 0x1e, 0x4c, 0x6d, 0xf9, 0x5e, 0xc7, 0x0b, 0x68, 0x83, - 0xa7, 0x7b, 0xe6, 0x5a, 0x6b, 0x4e, 0xb1, 0x90, 0x58, 0x9f, 0xa3, 0x13, 0x1b, 0x37, 0x15, 0x1d, - 0x81, 0x6d, 0x27, 0x93, 0x41, 0xeb, 0x7c, 0xf8, 0xf9, 0x98, 0x13, 0x88, 0x5b, 0x85, 0xd1, 0xf9, - 0x18, 0x83, 0xe8, 0xe7, 0x63, 0x0c, 0xa2, 0x4e, 0x8b, 0x91, 0xa7, 0x35, 0x2d, 0xc8, 0x6f, 0x1a, - 0x30, 0x51, 0x6c, 0xb7, 0x45, 0x24, 0xf1, 0x29, 0xa1, 0x54, 0xdf, 0x16, 0x47, 0x64, 0xef, 0x7e, - 0xae, 0x23, 0xb2, 0x6d, 0xdf, 0x71, 0xc3, 0x00, 0x03, 0xcc, 0xe2, 0x0a, 0xd5, 0x38, 0x12, 0xe5, - 0x3b, 0xc8, 0xbb, 0x50, 0x88, 0xe4, 0x71, 0xb5, 0xdd, 0xa0, 0x8f, 0x68, 0xb0, 0x30, 0x76, 0x25, - 0x7b, 0x6d, 0x8a, 0x67, 0x42, 0xd1, 0xce, 0xfe, 0x92, 0x88, 0xe6, 0x4f, 0x0c, 0xb8, 0xa0, 0x0a, - 0x44, 0xad, 0xbb, 0xdf, 0x72, 0xd1, 0x54, 0x25, 0x37, 0x60, 0x5c, 0x8c, 0x57, 0x64, 0xc8, 0xf5, - 0xe6, 0x53, 0x88, 0x51, 0x48, 0x95, 0x0d, 0x11, 0xe3, 0x21, 0x3c, 0x0e, 0x73, 0x89, 0xe9, 0xc6, - 0x8a, 0x4a, 0x0b, 0xa2, 0xb3, 0x0b, 0x3e, 0xfe, 0xd6, 0xc7, 0x8e, 0x41, 0xcc, 0x0f, 0x60, 0x56, - 0xff, 0xca, 0x1a, 0xc5, 0x3b, 0xf1, 0xb2, 0x69, 0x46, 0x7a, 0xd3, 0x64, 0xb9, 0xb9, 0x07, 0xa4, - 0x87, 0x3e, 0xc0, 0x73, 0x5e, 0x1a, 0xca, 0x38, 0x04, 0xe9, 0x65, 0xed, 0x41, 0x8c, 0x72, 0xe8, - 0x4f, 0xa8, 0xdd, 0x8d, 0xa4, 0xe6, 0x7f, 0x39, 0x01, 0x73, 0x29, 0xaa, 0xe3, 0x94, 0xa5, 0x7d, - 0x51, 0x9f, 0x3c, 0xe3, 0x51, 0x94, 0xa2, 0x9c, 0x32, 0x1f, 0xc8, 0xcc, 0xe8, 0x03, 0xa6, 0xca, - 0xa0, 0x74, 0xe9, 0x5f, 0xc4, 0xf2, 0xae, 0x06, 0x12, 0x8f, 0x3c, 0xb5, 0x40, 0xe2, 0x12, 0x4c, - 0x89, 0x56, 0x89, 0xa9, 0x3c, 0x1a, 0x3b, 0x17, 0x7c, 0x5e, 0x60, 0xf7, 0x4c, 0x69, 0x9d, 0x84, - 0xf3, 0x08, 0xbc, 0xe6, 0x03, 0x2a, 0x78, 0x8c, 0xa9, 0x3c, 0xb0, 0x20, 0x95, 0x87, 0x42, 0x42, - 0xfe, 0x23, 0x03, 0x88, 0x80, 0xa8, 0xf3, 0x39, 0x3f, 0x68, 0x3e, 0x37, 0x9e, 0xce, 0x7c, 0x7e, - 0x41, 0x7e, 0x63, 0xfa, 0xbc, 0x4e, 0xf9, 0x2c, 0xf2, 0x1f, 0x18, 0x30, 0xcb, 0xa3, 0x59, 0xd5, - 0x8f, 0x1d, 0x18, 0xa1, 0x58, 0x7f, 0x3a, 0x1f, 0xfb, 0x7c, 0x80, 0xd5, 0xf6, 0xf9, 0xd6, 0xde, - 0x8f, 0x22, 0xbf, 0x00, 0x10, 0xcd, 0x28, 0x99, 0xb4, 0xe0, 0xf9, 0x14, 0x2d, 0x10, 0x21, 0xc5, - 0x59, 0x1f, 0xc2, 0x88, 0x4e, 0x4b, 0xdf, 0x15, 0x41, 0xc9, 0x5f, 0x85, 0x79, 0x36, 0x5f, 0x22, - 0x88, 0x88, 0xbd, 0x5f, 0x98, 0xc0, 0x5a, 0xbe, 0xda, 0x7f, 0x69, 0xbf, 0x91, 0x46, 0xc6, 0x6f, - 0x79, 0xc6, 0xb9, 0x20, 0xc3, 0x96, 0xba, 0xe5, 0x4b, 0xa3, 0xc0, 0xcb, 0x2c, 0xf8, 0xf5, 0x3c, - 0xf9, 0x41, 0x1f, 0xfd, 0x76, 0x49, 0xce, 0x05, 0xae, 0xdf, 0x02, 0x3d, 0xec, 0x0e, 0x41, 0xe4, - 0x13, 0x20, 0x51, 0x18, 0x28, 0x87, 0x51, 0x5f, 0xa6, 0x46, 0x46, 0xa7, 0x41, 0x1c, 0x4e, 0xea, - 0xcb, 0x62, 0x55, 0x48, 0x7a, 0x89, 0x09, 0x85, 0x79, 0xd1, 0x68, 0x06, 0x95, 0x29, 0xbc, 0x82, - 0x85, 0x69, 0xed, 0x66, 0x43, 0x5c, 0x12, 0x27, 0x8d, 0x54, 0xf2, 0x80, 0x69, 0xdb, 0xde, 0x34, - 0x76, 0xe4, 0x0e, 0x8c, 0xaf, 0x79, 0x87, 0x6e, 0x7b, 0x45, 0x9e, 0x5e, 0x8b, 0x93, 0xb4, 0x26, - 0x03, 0xda, 0x47, 0xfa, 0x19, 0x74, 0x8c, 0xca, 0xac, 0xda, 0x8a, 0x7f, 0x6c, 0x75, 0xdb, 0x0b, - 0x05, 0x74, 0xe9, 0xa1, 0x39, 0xd3, 0xf0, 0x8f, 0x6d, 0xbf, 0xab, 0x2d, 0xdf, 0x1c, 0xe9, 0xf2, - 0x3e, 0x5c, 0xea, 0x3b, 0x68, 0x29, 0x17, 0x4a, 0x6f, 0xea, 0x17, 0x4a, 0x2f, 0xf5, 0x53, 0xee, - 0x81, 0x7a, 0xa9, 0xf4, 0xef, 0x18, 0x09, 0x6d, 0x2e, 0x4c, 0x2f, 0x9e, 0x3e, 0xa8, 0xdf, 0x72, - 0x97, 0xc1, 0xcc, 0x89, 0x5c, 0xdf, 0x67, 0x62, 0x93, 0x8f, 0xe9, 0x7b, 0x75, 0xbd, 0x40, 0xcd, - 0xff, 0x84, 0x8a, 0xdd, 0xfc, 0xad, 0x0c, 0x10, 0xfe, 0x85, 0x65, 0xa7, 0xe3, 0xec, 0xbb, 0x4d, - 0x37, 0x74, 0x29, 0xa6, 0x51, 0x13, 0x2c, 0x9c, 0xfd, 0x26, 0x55, 0x23, 0xe0, 0x45, 0x34, 0x47, - 0x54, 0x66, 0x27, 0x8d, 0xb4, 0x1e, 0xc2, 0x3e, 0xa2, 0x98, 0x79, 0x12, 0x51, 0xfc, 0x1e, 0x3c, - 0x57, 0xec, 0x60, 0x7a, 0x44, 0x59, 0xcb, 0xb2, 0xe7, 0x4b, 0x21, 0x92, 0xbe, 0x17, 0x3c, 0x65, - 0x74, 0x22, 0xb4, 0x9e, 0x2f, 0x1d, 0xc4, 0xc2, 0xfc, 0x27, 0x19, 0xb8, 0xd4, 0xdb, 0x31, 0xa2, - 0x6d, 0xd1, 0xf0, 0x18, 0xa7, 0x0c, 0x4f, 0x5a, 0x3f, 0x66, 0x50, 0x3a, 0x9f, 0x5a, 0x3f, 0xf2, - 0xfc, 0x84, 0x9f, 0xb3, 0x1f, 0x6b, 0x30, 0xa1, 0xce, 0xe4, 0xdc, 0xe7, 0x9d, 0xc9, 0x2a, 0x17, - 0xf3, 0xa1, 0x9a, 0x0e, 0x90, 0xbc, 0x95, 0x16, 0x2d, 0xc8, 0x6f, 0x14, 0x73, 0xb0, 0x1e, 0x28, - 0x28, 0xf7, 0x80, 0x99, 0xd4, 0x3d, 0xa0, 0xbc, 0x1c, 0x9d, 0x4d, 0xbb, 0x1c, 0x6d, 0xfe, 0x6a, - 0x06, 0x26, 0xb7, 0x9a, 0xdd, 0x43, 0xb7, 0x5d, 0x71, 0x42, 0xe7, 0x99, 0xdd, 0x50, 0xbe, 0xa3, - 0x6d, 0x28, 0xa3, 0x70, 0xd6, 0xa8, 0x61, 0x43, 0xed, 0x26, 0x7f, 0x6a, 0xc0, 0x4c, 0x4c, 0xc2, - 0xb5, 0xda, 0x0a, 0xe4, 0xd8, 0x0f, 0x61, 0x9f, 0x5e, 0xe9, 0x61, 0xcc, 0xf3, 0x80, 0x45, 0x7f, - 0x89, 0x2d, 0x9e, 0xfe, 0x88, 0x06, 0x72, 0xb8, 0xfc, 0x35, 0x9e, 0xce, 0xfe, 0xec, 0xf9, 0xbf, - 0xfe, 0x91, 0x01, 0x85, 0x64, 0x4b, 0xc8, 0x3d, 0x18, 0x63, 0x9c, 0xdc, 0x28, 0x35, 0xfe, 0x2b, - 0x7d, 0xda, 0x7c, 0x43, 0xa0, 0xf1, 0xcf, 0xc3, 0xce, 0xa7, 0x1c, 0x62, 0x49, 0x0e, 0x97, 0x2d, - 0x98, 0x54, 0xb1, 0x52, 0xbe, 0xee, 0x4d, 0x5d, 0x95, 0x5f, 0x48, 0xef, 0x07, 0xf5, 0xab, 0xff, - 0x96, 0xf6, 0xd5, 0x42, 0x89, 0x0f, 0xfb, 0x30, 0x0a, 0xa6, 0x13, 0xe0, 0xd3, 0x41, 0x95, 0x33, - 0x39, 0x93, 0xf4, 0x74, 0x02, 0x1c, 0xc6, 0x76, 0xa2, 0xbc, 0x3e, 0x21, 0x67, 0xb8, 0x13, 0xed, - 0x20, 0x44, 0x5d, 0xca, 0x38, 0x8e, 0xf9, 0xb7, 0xb3, 0x70, 0x21, 0xfe, 0x3c, 0xfe, 0x4c, 0xcc, - 0x96, 0xe3, 0x3b, 0xad, 0xe0, 0x94, 0x19, 0x70, 0xad, 0xe7, 0xd3, 0x30, 0x2f, 0x8f, 0xfc, 0x34, - 0xe5, 0x83, 0xcc, 0xc4, 0x07, 0xe1, 0x16, 0x9e, 0x7f, 0x90, 0xfc, 0x0c, 0x72, 0x0f, 0xb2, 0x35, - 0x1a, 0x0a, 0x25, 0x72, 0xb5, 0xa7, 0x57, 0xd5, 0xef, 0xba, 0x51, 0xa3, 0x21, 0x1f, 0x44, 0x7e, - 0x5b, 0x83, 0x6a, 0xb7, 0x1f, 0xd9, 0x66, 0x6c, 0x0f, 0x46, 0xab, 0x8f, 0x3a, 0xb4, 0x1e, 0x8a, - 0x5c, 0x1a, 0xaf, 0x0f, 0xe6, 0xc7, 0x71, 0x95, 0x8c, 0x1d, 0x14, 0x01, 0x6a, 0x67, 0x71, 0x94, - 0xcb, 0x77, 0x20, 0x2f, 0x2b, 0x3f, 0x53, 0xe6, 0x89, 0x77, 0x60, 0x42, 0xa9, 0xe4, 0x4c, 0x42, - 0xff, 0x17, 0x06, 0x8c, 0x32, 0x15, 0xbe, 0xfb, 0xf6, 0x33, 0xaa, 0x91, 0x6e, 0x6b, 0x1a, 0x69, - 0x56, 0xb9, 0x60, 0x8d, 0xf3, 0xf2, 0xed, 0x53, 0x74, 0xd1, 0x89, 0x01, 0x10, 0x23, 0x93, 0xbb, - 0x30, 0x26, 0xb2, 0x7e, 0x8a, 0xc0, 0x17, 0xf5, 0xc6, 0xb6, 0x4c, 0x37, 0x1f, 0xd9, 0xb8, 0x5e, - 0x27, 0xb9, 0x29, 0x90, 0xd4, 0xa4, 0x12, 0xdf, 0xb6, 0xd3, 0xf2, 0x7b, 0x7a, 0x18, 0x7f, 0xcb, - 0x6f, 0x1c, 0x2b, 0x09, 0x64, 0xfb, 0x5c, 0x15, 0x29, 0x0a, 0xb7, 0x56, 0x76, 0x10, 0x93, 0x0b, - 0x32, 0x49, 0x63, 0xaa, 0xc7, 0xeb, 0x3f, 0x9e, 0xe1, 0x77, 0x75, 0xe5, 0x87, 0xbd, 0x0f, 0x93, - 0xcb, 0x9e, 0xff, 0xd0, 0xf1, 0xf9, 0x0d, 0x2c, 0x6c, 0x26, 0xcf, 0x21, 0x3c, 0x75, 0xc0, 0xe1, - 0xfc, 0x0e, 0xd7, 0x67, 0x27, 0x8b, 0xb9, 0x92, 0xe7, 0x35, 0x2d, 0x0d, 0x9d, 0x6c, 0xc2, 0xd4, - 0xba, 0xf3, 0x48, 0x9c, 0x41, 0x6f, 0x6f, 0xaf, 0x89, 0x80, 0xba, 0xd7, 0x1f, 0x9f, 0x2c, 0x5e, - 0x6a, 0x39, 0x8f, 0xa2, 0x73, 0xbe, 0xfe, 0x17, 0x02, 0x75, 0x7a, 0xe2, 0xc2, 0xf4, 0x96, 0xe7, - 0x87, 0xa2, 0x12, 0xb6, 0xa3, 0xc9, 0xf6, 0x39, 0xc5, 0xbc, 0x99, 0x7a, 0x8a, 0x79, 0x89, 0x6d, - 0xe3, 0xec, 0x83, 0x88, 0x5c, 0xcb, 0xa2, 0xa0, 0x31, 0x26, 0xef, 0xc3, 0x6c, 0x99, 0xfa, 0xa1, - 0x7b, 0xe0, 0xd6, 0x9d, 0x90, 0x2e, 0x7b, 0x7e, 0xcb, 0x09, 0x85, 0x3b, 0x0d, 0xdd, 0x29, 0x75, - 0xca, 0x39, 0xb5, 0x9c, 0xd0, 0xea, 0xc5, 0x24, 0xdf, 0x4a, 0x0b, 0x51, 0x1c, 0x89, 0x03, 0xb1, - 0x52, 0x42, 0x14, 0xfb, 0x05, 0x62, 0xf5, 0x06, 0x2b, 0x1e, 0x0e, 0x3a, 0xca, 0xcf, 0x97, 0x6e, - 0x89, 0xd0, 0x81, 0xd3, 0x8f, 0xea, 0xa3, 0x71, 0xeb, 0x73, 0x64, 0xbf, 0x04, 0xd9, 0xd2, 0xd6, - 0x32, 0x3a, 0xc8, 0xc4, 0xd1, 0x39, 0x6d, 0x1f, 0x39, 0xed, 0x3a, 0x5a, 0x66, 0x22, 0xe6, 0x46, - 0x55, 0x78, 0xa5, 0xad, 0x65, 0xe2, 0xc0, 0xdc, 0x16, 0xf5, 0x5b, 0x6e, 0xf8, 0xcd, 0x5b, 0xb7, - 0x94, 0x81, 0xca, 0xe3, 0xa7, 0xdd, 0x14, 0x9f, 0xb6, 0xd8, 0x41, 0x14, 0xfb, 0xd1, 0xad, 0x5b, - 0xa9, 0xc3, 0x11, 0x7d, 0x58, 0x1a, 0x2f, 0x52, 0x85, 0xe9, 0x75, 0xe7, 0x51, 0x1c, 0x2a, 0x15, - 0x88, 0x60, 0xef, 0x17, 0xa4, 0x60, 0xc5, 0x61, 0x56, 0xea, 0x7c, 0x4b, 0x10, 0x91, 0xf7, 0x60, - 0x22, 0x16, 0xaf, 0x40, 0x84, 0xc9, 0x61, 0x0c, 0xbb, 0x22, 0x9c, 0x9a, 0x75, 0xa8, 0xa0, 0x93, - 0x9d, 0xc8, 0x41, 0xc3, 0xcd, 0x6b, 0x91, 0x1a, 0xf0, 0xa6, 0xea, 0xa0, 0x71, 0xb0, 0x44, 0x6b, - 0xd6, 0x4c, 0xb4, 0xa5, 0xe1, 0xb1, 0x63, 0x96, 0xce, 0x45, 0xf1, 0xfb, 0x6c, 0xf9, 0x5e, 0xab, - 0x13, 0xe2, 0xb1, 0x79, 0xc2, 0xef, 0xd3, 0xc1, 0x92, 0x14, 0xbf, 0x0f, 0x27, 0x49, 0x8f, 0x0f, - 0x99, 0x3a, 0x25, 0x3e, 0x84, 0x42, 0x6e, 0xcd, 0xab, 0xdf, 0xc7, 0xb8, 0xed, 0xf1, 0xd2, 0x27, - 0x4c, 0x47, 0x34, 0xbd, 0xfa, 0xfd, 0xa7, 0x17, 0xd7, 0x80, 0xec, 0xc9, 0x06, 0x6b, 0x1f, 0x13, - 0x1d, 0x51, 0x35, 0xee, 0x8c, 0xe3, 0xb3, 0x54, 0xad, 0x8c, 0x1b, 0x23, 0x5c, 0xd2, 0xe4, 0x78, - 0x58, 0x3a, 0x39, 0xa1, 0x50, 0xa8, 0xd0, 0xe0, 0x7e, 0xe8, 0x75, 0xca, 0x4d, 0xb7, 0xb3, 0xef, - 0x39, 0x7e, 0x03, 0xf7, 0xcd, 0x69, 0x4a, 0xe1, 0xb5, 0x54, 0xa5, 0x30, 0xdb, 0xe0, 0xf4, 0x76, - 0x5d, 0x32, 0xb0, 0x7a, 0x58, 0x92, 0x6f, 0xc1, 0x34, 0x9b, 0x11, 0xd5, 0x47, 0x21, 0x6d, 0x73, - 0x71, 0x99, 0xc5, 0xe5, 0x7c, 0x5e, 0x49, 0x87, 0x11, 0x15, 0x72, 0x41, 0x44, 0x0d, 0x41, 0x23, - 0x02, 0x55, 0x10, 0x75, 0x56, 0xa4, 0x01, 0x0b, 0xeb, 0xce, 0x23, 0x25, 0xf3, 0xa4, 0x22, 0xd9, - 0x04, 0xa5, 0x12, 0x93, 0xd9, 0x33, 0xa9, 0xbc, 0x1f, 0x21, 0xf5, 0x11, 0xf2, 0xbe, 0x9c, 0xc8, - 0x2f, 0xc1, 0x45, 0xd1, 0xac, 0x0a, 0xe6, 0x7a, 0xf2, 0xfc, 0xe3, 0xda, 0x91, 0x83, 0xa1, 0x95, - 0x73, 0x67, 0xd3, 0xa2, 0xb2, 0xc3, 0x1a, 0x92, 0x8f, 0x1d, 0x70, 0x46, 0x56, 0xbf, 0x1a, 0xc8, - 0xf7, 0x60, 0x9a, 0xbb, 0x4b, 0x57, 0xbc, 0x20, 0xc4, 0x2d, 0xe7, 0x7c, 0x9f, 0x3a, 0xaf, 0xa6, - 0xd6, 0x59, 0xe0, 0x3e, 0x58, 0x1e, 0x63, 0x87, 0x1e, 0xe3, 0x04, 0x3f, 0xf2, 0x2e, 0x4c, 0x6c, - 0xb9, 0xed, 0x1a, 0xdf, 0xae, 0x6d, 0x2d, 0x9c, 0x8f, 0x97, 0xaa, 0x8e, 0xdb, 0xb6, 0xe5, 0x6e, - 0xaf, 0x13, 0x69, 0x16, 0x15, 0x9b, 0xec, 0xc1, 0x44, 0xad, 0xb6, 0xb2, 0xec, 0xb2, 0xb5, 0xb2, - 0x73, 0xbc, 0x70, 0xa1, 0xcf, 0xb7, 0xbd, 0x9c, 0xfa, 0x6d, 0x53, 0x41, 0x70, 0x84, 0xf9, 0xd0, - 0xed, 0xba, 0xd7, 0x39, 0xb6, 0x54, 0x4e, 0x29, 0x61, 0x30, 0x17, 0x9f, 0x72, 0x18, 0xcc, 0x7f, - 0x9a, 0x49, 0xcc, 0x28, 0xb2, 0x0a, 0x63, 0x62, 0x18, 0x84, 0x5d, 0xd2, 0xdb, 0x90, 0x17, 0x52, - 0x1b, 0x32, 0x26, 0x06, 0xd6, 0x92, 0xf4, 0xe4, 0x21, 0x63, 0x75, 0xe0, 0x74, 0x9b, 0xf2, 0x9a, - 0xf3, 0x77, 0xf8, 0x84, 0x41, 0x90, 0xa6, 0x1a, 0x2a, 0x67, 0x0f, 0xae, 0xd3, 0x63, 0x37, 0x51, - 0x47, 0xc8, 0xda, 0xc8, 0x7d, 0x9e, 0xdc, 0x24, 0x1b, 0x05, 0x5b, 0xe9, 0x99, 0x4c, 0x9e, 0x5a, - 0x85, 0xac, 0x16, 0xf3, 0x9f, 0x1b, 0x30, 0xa5, 0x4d, 0x49, 0x72, 0x47, 0x09, 0x3f, 0x8c, 0xe3, - 0xcc, 0x35, 0x9c, 0xd4, 0x97, 0x7f, 0xef, 0x88, 0x98, 0xd3, 0x4c, 0x7f, 0xba, 0xd4, 0x7c, 0xf5, - 0x03, 0xfd, 0x01, 0x71, 0xb2, 0xb4, 0x5c, 0x9f, 0x64, 0x69, 0x3f, 0x9c, 0x81, 0x69, 0xdd, 0xd0, - 0x63, 0x3b, 0x2f, 0x74, 0x29, 0x4a, 0x7f, 0x17, 0x4f, 0xff, 0x87, 0x10, 0x2d, 0x13, 0x36, 0x42, - 0xc8, 0xab, 0x00, 0x51, 0x80, 0x8a, 0x74, 0x69, 0x89, 0xa5, 0x42, 0x29, 0x20, 0xdf, 0x05, 0xd8, - 0xf0, 0x1a, 0x34, 0xca, 0x3a, 0x39, 0xc0, 0xad, 0xfe, 0x5a, 0xcf, 0xc5, 0xff, 0xf3, 0x6d, 0xaf, - 0x41, 0x7b, 0x6f, 0xf9, 0x2b, 0x1c, 0xc9, 0x37, 0x60, 0xc4, 0xea, 0x36, 0xa9, 0x74, 0xe0, 0x4c, - 0xc8, 0x49, 0xd2, 0x6d, 0x2a, 0xaf, 0x6e, 0xf9, 0xdd, 0xe4, 0x69, 0x2a, 0x03, 0x90, 0x0f, 0x01, - 0x98, 0xde, 0xc3, 0x17, 0x42, 0x64, 0xbe, 0x25, 0x74, 0x4e, 0x29, 0x2a, 0x13, 0xdf, 0x15, 0xd1, - 0x2a, 0x8f, 0x49, 0xc8, 0x26, 0x8c, 0x89, 0x65, 0x54, 0x9c, 0x56, 0xbe, 0x98, 0xe6, 0x27, 0x57, - 0x6c, 0x69, 0x91, 0x61, 0x10, 0xc1, 0xba, 0xeb, 0x9a, 0x3b, 0xd7, 0xde, 0x83, 0x71, 0xc6, 0x9e, - 0x3f, 0x23, 0x35, 0x16, 0xbb, 0xf2, 0x94, 0x0f, 0x4a, 0xbe, 0x24, 0x15, 0x13, 0x90, 0x6f, 0x61, - 0x1e, 0x51, 0xd1, 0xd5, 0x03, 0x8f, 0x5b, 0xae, 0xf6, 0x74, 0xf5, 0xbc, 0xd3, 0xe9, 0xa4, 0xe4, - 0x85, 0x8e, 0xf8, 0x91, 0xc3, 0xe8, 0x72, 0xf0, 0x30, 0x49, 0x1c, 0xae, 0xf7, 0x54, 0xb0, 0x20, - 0xef, 0xbb, 0xf6, 0x66, 0x0f, 0xd5, 0xf8, 0x92, 0x0e, 0x14, 0xe2, 0xd5, 0x48, 0xd4, 0x05, 0x83, - 0xea, 0x7a, 0xab, 0xa7, 0x2e, 0x75, 0x00, 0x7b, 0xaa, 0xeb, 0xe1, 0x4e, 0x1a, 0xf1, 0x33, 0x79, - 0xa2, 0xbe, 0x89, 0x41, 0xf5, 0xbd, 0xda, 0x53, 0xdf, 0x5c, 0x63, 0xbf, 0xb7, 0x9e, 0x04, 0x4f, - 0xf2, 0x1e, 0x4c, 0x49, 0x08, 0xce, 0x0f, 0x91, 0xe3, 0x99, 0x3f, 0xf0, 0xb8, 0x8f, 0x41, 0xbf, - 0x7a, 0x1a, 0x4c, 0x15, 0x59, 0xa5, 0xe6, 0xd2, 0x31, 0xa5, 0x51, 0x27, 0xa5, 0x42, 0x47, 0x26, - 0x9f, 0xc2, 0xc4, 0x6a, 0x8b, 0x35, 0xc4, 0x6b, 0x3b, 0x21, 0x45, 0x83, 0x2d, 0x3e, 0x3a, 0x52, - 0x4a, 0x14, 0x51, 0xe5, 0x4f, 0xa6, 0xc4, 0x45, 0xaa, 0x51, 0xab, 0x50, 0xb0, 0xce, 0xe3, 0x4e, - 0x55, 0x21, 0xc3, 0x81, 0x30, 0xcf, 0x5e, 0x48, 0x39, 0xbe, 0x51, 0xd8, 0xa3, 0xbd, 0xc3, 0x7d, - 0xb5, 0xb6, 0x98, 0x10, 0x81, 0xbe, 0x64, 0xa9, 0x3c, 0xc9, 0xfb, 0x30, 0x21, 0xf2, 0xdb, 0x14, - 0xad, 0x8d, 0x60, 0xa1, 0x10, 0xbf, 0xb0, 0x26, 0x53, 0xe1, 0xd8, 0x8e, 0x9f, 0x38, 0xc3, 0x8f, - 0xf1, 0xc9, 0x37, 0x61, 0x7e, 0xcf, 0x6d, 0x37, 0xbc, 0x87, 0x81, 0x58, 0xa6, 0x84, 0xa2, 0x9b, - 0x8d, 0x23, 0x15, 0x1f, 0xf2, 0x72, 0x5b, 0x5a, 0x2a, 0x3d, 0x8a, 0x2f, 0x95, 0x03, 0xf9, 0xe5, - 0x1e, 0xce, 0x5c, 0x82, 0xc8, 0x20, 0x09, 0x5a, 0xea, 0x91, 0xa0, 0xde, 0xea, 0x93, 0xe2, 0x94, - 0x5a, 0x0d, 0xf1, 0x80, 0xe8, 0x76, 0xf9, 0xc7, 0x9e, 0xdb, 0x5e, 0x98, 0xd3, 0x5e, 0x43, 0x8f, - 0x56, 0x31, 0xc4, 0xe3, 0x0f, 0xbc, 0xc8, 0x77, 0x98, 0x74, 0xb3, 0xe1, 0xfb, 0x9e, 0xe6, 0x64, - 0x4b, 0x61, 0x4d, 0x3e, 0x85, 0x49, 0xf6, 0x7f, 0xb4, 0x05, 0x9a, 0xd7, 0x0e, 0xfc, 0x15, 0x4c, - 0x51, 0x0f, 0x8e, 0x11, 0x26, 0xe0, 0x49, 0xd9, 0x1d, 0x69, 0xac, 0xc8, 0x3b, 0x00, 0xcc, 0x34, - 0x13, 0xea, 0xf8, 0x7c, 0x9c, 0x25, 0x09, 0x2d, 0xb8, 0x5e, 0x45, 0x1c, 0x23, 0xb3, 0x7d, 0x19, - 0xfb, 0x55, 0xeb, 0x36, 0x3c, 0x36, 0x37, 0x2e, 0x20, 0x2d, 0xee, 0xcb, 0x90, 0x36, 0xe0, 0x70, - 0x55, 0x3a, 0x14, 0x74, 0xf2, 0x03, 0x38, 0xaf, 0x3e, 0x37, 0xeb, 0xd6, 0xa5, 0x1a, 0xb8, 0x7c, - 0x46, 0xb5, 0xd3, 0xd8, 0xb7, 0xc5, 0x43, 0x25, 0xbd, 0xe3, 0x97, 0x5e, 0x85, 0xf9, 0x67, 0x06, - 0xcc, 0xa7, 0x0d, 0xd0, 0x29, 0xc9, 0x50, 0xcd, 0x44, 0xbc, 0x13, 0x3a, 0x25, 0x79, 0xbc, 0x53, - 0x14, 0xe5, 0xb4, 0x08, 0x23, 0xf7, 0xdc, 0x76, 0x43, 0x9e, 0x09, 0xa1, 0x0d, 0x70, 0x9f, 0x01, - 0x2c, 0x0e, 0x67, 0x08, 0xfc, 0xd2, 0x11, 0x33, 0x12, 0x46, 0x38, 0x02, 0xde, 0x31, 0xb2, 0x38, - 0x9c, 0x21, 0x30, 0x5b, 0x43, 0xae, 0x8d, 0x88, 0xc0, 0x4c, 0x90, 0xc0, 0xe2, 0x70, 0x72, 0x15, - 0xc6, 0x36, 0xdb, 0x6b, 0xd4, 0x79, 0x40, 0x45, 0xb0, 0x01, 0x3a, 0x51, 0xbd, 0xb6, 0xdd, 0x64, - 0x30, 0x4b, 0x16, 0x9a, 0x3f, 0x35, 0x60, 0xb6, 0x47, 0x36, 0x4e, 0xcf, 0xf7, 0x3a, 0x38, 0xb2, - 0x63, 0x98, 0xf6, 0xf1, 0xcf, 0xcf, 0xa5, 0x7f, 0xbe, 0xf9, 0xfb, 0x39, 0xb8, 0xd8, 0x67, 0xa9, - 0x8e, 0xa3, 0xb2, 0x8c, 0x53, 0xa3, 0xb2, 0xbe, 0xcd, 0x96, 0x46, 0xc7, 0x6d, 0x05, 0xdb, 0x5e, - 0xfc, 0xc5, 0xf1, 0x01, 0x36, 0x96, 0xc9, 0x74, 0x8c, 0x2f, 0x09, 0x9b, 0xe4, 0x52, 0x1d, 0x29, - 0xec, 0xd0, 0xeb, 0x39, 0xfe, 0xd2, 0x99, 0xf5, 0xc4, 0x45, 0x65, 0xff, 0x92, 0xc4, 0x45, 0xe9, - 0xd1, 0x08, 0xb9, 0xa7, 0x1a, 0x8d, 0x90, 0x7e, 0xde, 0x37, 0xf2, 0x24, 0xe7, 0xa6, 0x65, 0x98, - 0xaa, 0x51, 0xc7, 0xaf, 0x1f, 0x15, 0x03, 0x3e, 0x48, 0x3c, 0x99, 0x3d, 0xae, 0x43, 0x01, 0x16, - 0xd8, 0x4e, 0xd0, 0x3b, 0x16, 0x1a, 0x8d, 0xf9, 0xd3, 0x8c, 0x1e, 0xce, 0xf5, 0x97, 0x51, 0x5e, - 0x5e, 0x87, 0x91, 0xbd, 0x23, 0xea, 0xcb, 0x9d, 0x01, 0x7e, 0xc8, 0x43, 0x06, 0x50, 0x3f, 0x04, - 0x31, 0xc8, 0x32, 0x4c, 0x6f, 0xf1, 0xfe, 0x93, 0x9d, 0x92, 0x8b, 0x6d, 0xce, 0x8e, 0x58, 0x9d, - 0x53, 0x7a, 0x25, 0x41, 0x65, 0xfe, 0x12, 0x4c, 0xaa, 0x1f, 0x8d, 0x8a, 0x85, 0xfd, 0x16, 0x33, - 0x9b, 0x2b, 0x16, 0x06, 0xb0, 0x38, 0xfc, 0xd4, 0x5c, 0xce, 0x71, 0x6f, 0x66, 0x4f, 0xeb, 0x4d, - 0x56, 0x39, 0xca, 0xad, 0x52, 0x39, 0xfe, 0x56, 0x2b, 0x0f, 0x19, 0xc0, 0xe2, 0xf0, 0xa7, 0x5a, - 0xf9, 0x7f, 0x66, 0x88, 0x34, 0x49, 0x6f, 0xc3, 0x78, 0x7c, 0x08, 0x1f, 0x67, 0xcc, 0x9b, 0x93, - 0x07, 0x4a, 0x81, 0x1e, 0xd4, 0x27, 0x80, 0xac, 0xaa, 0x5d, 0xea, 0xef, 0x6b, 0xb1, 0x9f, 0x0f, - 0x18, 0x40, 0xad, 0x0a, 0x31, 0xce, 0x32, 0xae, 0x37, 0x61, 0xac, 0x28, 0x9c, 0x41, 0x7c, 0x40, - 0x79, 0x7c, 0x6b, 0x8f, 0xe7, 0x47, 0x62, 0x99, 0xbf, 0x63, 0xc0, 0xf9, 0x54, 0x33, 0x90, 0xd5, - 0xca, 0xed, 0x4d, 0x45, 0xac, 0x93, 0xc6, 0x26, 0xc7, 0x38, 0x4b, 0x1c, 0xeb, 0xf0, 0x6d, 0x31, - 0x5f, 0x82, 0xf1, 0xc8, 0x09, 0x41, 0xe6, 0xe5, 0xd0, 0xe1, 0xb1, 0x82, 0xdc, 0xcb, 0xfe, 0x85, - 0x01, 0xa3, 0xec, 0x13, 0x9e, 0xd9, 0xcb, 0x91, 0xe9, 0x87, 0x4c, 0xac, 0x49, 0x43, 0x5d, 0x89, - 0xfc, 0xdd, 0x51, 0x80, 0x18, 0x99, 0xec, 0xc3, 0xf4, 0xe6, 0x6a, 0xa5, 0xbc, 0xda, 0xa0, 0xed, - 0x10, 0x43, 0x37, 0x12, 0xd9, 0xa1, 0xa2, 0xfc, 0xe2, 0x1c, 0xe1, 0x38, 0xd6, 0x31, 0x9e, 0xdb, - 0xa8, 0xdb, 0x6e, 0x44, 0xa7, 0x65, 0x07, 0xd3, 0x38, 0xb2, 0x3a, 0x6a, 0xc5, 0xf5, 0x35, 0xa5, - 0x8e, 0xcc, 0x90, 0x75, 0x04, 0x4e, 0xab, 0xd9, 0xa7, 0x0e, 0x9d, 0x23, 0x39, 0x82, 0xc2, 0x5d, - 0x5c, 0xc5, 0x94, 0x5a, 0xb2, 0x83, 0x6b, 0x79, 0x59, 0xd4, 0xf2, 0x1c, 0x5f, 0xfe, 0xd2, 0xeb, - 0xe9, 0xe1, 0x1a, 0x4b, 0x6e, 0xee, 0x54, 0xc9, 0xfd, 0xeb, 0x06, 0x8c, 0xf2, 0x65, 0x32, 0x7a, - 0xda, 0x3d, 0x75, 0x21, 0xde, 0x7b, 0x3a, 0x0b, 0x71, 0x01, 0x35, 0x97, 0xe6, 0x7f, 0xe1, 0x65, - 0xa4, 0x92, 0x78, 0x27, 0x5e, 0x9e, 0x24, 0xe2, 0xbe, 0x84, 0x97, 0xc4, 0xd1, 0xc0, 0xfc, 0x89, - 0x78, 0x95, 0x0b, 0xc7, 0x20, 0xab, 0x71, 0x20, 0xea, 0xd8, 0xa9, 0x81, 0xa8, 0x32, 0x78, 0x77, - 0x4c, 0x04, 0xa2, 0xea, 0xe1, 0xa7, 0x6b, 0x30, 0x2e, 0xc2, 0x5b, 0x4b, 0xf2, 0xc9, 0x62, 0xe9, - 0x45, 0x8c, 0xe0, 0xca, 0x33, 0x54, 0x1c, 0x64, 0xef, 0x6b, 0xc9, 0xd2, 0x23, 0x44, 0xb2, 0x09, - 0xe3, 0xf1, 0xad, 0x4f, 0x3d, 0xe3, 0x41, 0x04, 0x17, 0xf7, 0x3f, 0x64, 0x8c, 0x5c, 0xca, 0x25, - 0xcf, 0x98, 0x87, 0xf9, 0x63, 0x03, 0x0a, 0x49, 0x79, 0xc1, 0xf7, 0x55, 0xe5, 0xe5, 0xda, 0x28, - 0x2c, 0x8d, 0xbf, 0xaf, 0x1a, 0xdd, 0xc6, 0xd5, 0x02, 0xd4, 0x54, 0x74, 0xb2, 0x04, 0x79, 0x36, - 0xed, 0xda, 0x89, 0x07, 0x56, 0xbb, 0x02, 0xa6, 0x86, 0x37, 0x48, 0x3c, 0x65, 0xd6, 0xfe, 0x8b, - 0x2c, 0x4c, 0x28, 0x83, 0x45, 0x5e, 0x87, 0xfc, 0x6a, 0xb0, 0xe6, 0xd5, 0xef, 0xd3, 0x86, 0x38, - 0x35, 0x9d, 0x7a, 0x7c, 0xb2, 0x38, 0xee, 0x06, 0x76, 0x13, 0x81, 0x56, 0x54, 0x4c, 0x4a, 0x30, - 0xc5, 0xff, 0x92, 0x59, 0x37, 0x32, 0xf1, 0x89, 0x0f, 0x47, 0x96, 0xf9, 0x36, 0x54, 0x33, 0x41, - 0x23, 0x21, 0xdf, 0x01, 0xe0, 0x80, 0x21, 0xdf, 0xea, 0x93, 0x13, 0xf8, 0xbc, 0xa8, 0x20, 0xe5, - 0xc9, 0x3e, 0x85, 0x21, 0xf9, 0x1e, 0xbf, 0x02, 0x2b, 0x85, 0xeb, 0xf4, 0xd0, 0x69, 0x53, 0xc6, - 0x59, 0x31, 0xfe, 0x76, 0x7a, 0xa8, 0xb3, 0xca, 0x92, 0xfc, 0xc4, 0x80, 0xcb, 0x16, 0xad, 0x7b, - 0x0f, 0xa8, 0x7f, 0x5c, 0x0c, 0x11, 0x4b, 0xad, 0xf1, 0xf4, 0xb8, 0xea, 0xdb, 0xa2, 0xc6, 0xd7, - 0x7c, 0xc1, 0x05, 0xef, 0x64, 0xb6, 0x3a, 0xa1, 0x3d, 0xe0, 0x13, 0x06, 0x54, 0x69, 0xfe, 0xb7, - 0x86, 0x32, 0x05, 0xc8, 0x06, 0x26, 0x40, 0xe4, 0xc2, 0x22, 0xbc, 0xea, 0x91, 0x85, 0x27, 0xe1, - 0x16, 0x3d, 0x28, 0x3d, 0x27, 0x0e, 0x38, 0xe7, 0x22, 0x91, 0x4b, 0x24, 0x46, 0xe4, 0x40, 0xf2, - 0x91, 0x78, 0x56, 0xf1, 0xf4, 0xcc, 0xd3, 0x72, 0xa9, 0xc9, 0xb1, 0x31, 0x52, 0x1e, 0x53, 0xfc, - 0x8a, 0x08, 0xdd, 0xcb, 0x6a, 0xaf, 0x9f, 0x30, 0x10, 0xfb, 0x8e, 0x68, 0x8d, 0x89, 0xa3, 0xeb, - 0x15, 0x69, 0xfd, 0xad, 0x0c, 0x14, 0x92, 0x13, 0x8f, 0x7c, 0x08, 0x93, 0xf2, 0x06, 0xef, 0x8a, - 0x23, 0x92, 0x79, 0x4c, 0x8a, 0x64, 0x1a, 0x02, 0x6e, 0x1f, 0x39, 0x5a, 0x3e, 0x71, 0x8d, 0x80, - 0x2d, 0xc8, 0xdb, 0xe2, 0xd2, 0x96, 0x32, 0x81, 0x42, 0x2f, 0xec, 0x24, 0x1e, 0x43, 0x90, 0x68, - 0xe4, 0x6d, 0xc8, 0xf2, 0xab, 0xeb, 0x6a, 0x92, 0xe1, 0xf5, 0xe5, 0x22, 0xbf, 0x33, 0xcb, 0x63, - 0x6a, 0xf4, 0xd3, 0x0f, 0x86, 0x4f, 0xd6, 0x94, 0x4b, 0xd1, 0xa3, 0x5a, 0x5e, 0x40, 0x09, 0x8e, - 0x1a, 0x77, 0xfa, 0xed, 0x68, 0x35, 0xd9, 0xba, 0xf9, 0x0f, 0xb2, 0x30, 0x1e, 0xd5, 0x4f, 0x08, - 0xa0, 0xbd, 0x21, 0x82, 0x63, 0xf0, 0x6f, 0x72, 0x09, 0xf2, 0xd2, 0xc4, 0x90, 0x6f, 0x39, 0x06, - 0xc2, 0xbc, 0x58, 0x00, 0x69, 0x4b, 0x70, 0xf3, 0xc2, 0x92, 0x3f, 0xc9, 0x2d, 0x88, 0x0c, 0x85, - 0x7e, 0x16, 0x45, 0x8e, 0x0d, 0x98, 0x15, 0xa1, 0x91, 0x69, 0xc8, 0xb8, 0xfc, 0x42, 0xce, 0xb8, - 0x95, 0x71, 0x1b, 0xe4, 0x43, 0xc8, 0x3b, 0x8d, 0x06, 0x6d, 0xd8, 0x8e, 0x74, 0x4f, 0x0f, 0x12, - 0x9a, 0x3c, 0xe3, 0xc6, 0x35, 0x3a, 0x52, 0x15, 0x43, 0x52, 0x84, 0x71, 0x7c, 0xb2, 0xb4, 0x1b, - 0xd0, 0xc6, 0x10, 0xcb, 0x43, 0xcc, 0x21, 0xcf, 0xc8, 0x76, 0x02, 0xda, 0x20, 0xaf, 0x41, 0x8e, - 0x8d, 0xa6, 0x58, 0x0f, 0xa2, 0xd4, 0xf1, 0x9b, 0xdb, 0x5b, 0xbc, 0xc3, 0x56, 0xce, 0x59, 0x88, - 0x40, 0x5e, 0x81, 0x6c, 0x77, 0xe9, 0x40, 0x68, 0xfa, 0x42, 0x9c, 0xd5, 0x20, 0x42, 0x63, 0xc5, - 0xe4, 0x36, 0xe4, 0x1f, 0xea, 0x77, 0xdb, 0xcf, 0x27, 0x86, 0x31, 0xc2, 0x8f, 0x10, 0x4b, 0x79, - 0x18, 0xe5, 0x77, 0xae, 0xcd, 0x17, 0x01, 0xe2, 0xaa, 0x7b, 0xe3, 0x98, 0xcc, 0xef, 0xc0, 0x78, - 0x54, 0x25, 0x79, 0x01, 0xe0, 0x3e, 0x3d, 0xb6, 0x8f, 0x9c, 0x76, 0x43, 0xbc, 0x7d, 0x3c, 0x69, - 0x8d, 0xdf, 0xa7, 0xc7, 0x2b, 0x08, 0x20, 0x17, 0x61, 0xac, 0xc3, 0x46, 0x55, 0x3e, 0xe5, 0x61, - 0x8d, 0x76, 0xba, 0xfb, 0x4c, 0x42, 0x17, 0x60, 0x0c, 0x9d, 0x28, 0x62, 0xa2, 0x4d, 0x59, 0xf2, - 0xa7, 0xf9, 0x77, 0x32, 0x98, 0xe2, 0x48, 0xf9, 0x4e, 0xf2, 0x32, 0x4c, 0xd5, 0x7d, 0x8a, 0xcb, - 0x11, 0xbe, 0x03, 0x23, 0xea, 0x99, 0x8c, 0x81, 0xab, 0x0d, 0x72, 0x15, 0x66, 0xe2, 0xb7, 0x45, - 0xec, 0xfa, 0xbe, 0xc8, 0x5e, 0x31, 0x69, 0x4d, 0x75, 0xe4, 0xe3, 0x22, 0xe5, 0x7d, 0xbc, 0x48, - 0x56, 0x50, 0xef, 0x5b, 0x87, 0xf2, 0x9d, 0x90, 0x71, 0x6b, 0x46, 0x81, 0xe3, 0xa9, 0xd3, 0x05, - 0x18, 0x75, 0x9c, 0xc3, 0xae, 0xcb, 0x2f, 0xb5, 0x4c, 0x5a, 0xe2, 0x17, 0x79, 0x03, 0x66, 0x03, - 0xf7, 0xb0, 0xed, 0x84, 0x5d, 0x5f, 0xe4, 0x98, 0xa2, 0x3e, 0x8a, 0xd4, 0x94, 0x55, 0x88, 0x0a, - 0xca, 0x1c, 0x4e, 0xde, 0x02, 0xa2, 0xd6, 0xe7, 0xed, 0x7f, 0x9f, 0xd6, 0xb9, 0xa8, 0x4d, 0x5a, - 0xb3, 0x4a, 0xc9, 0x26, 0x16, 0x90, 0x97, 0x60, 0xd2, 0xa7, 0x01, 0x9a, 0x64, 0xd8, 0x6d, 0x98, - 0x01, 0xd0, 0x9a, 0x90, 0xb0, 0x7b, 0xf4, 0xd8, 0x2c, 0xc1, 0x6c, 0xcf, 0x7c, 0x24, 0x6f, 0x71, - 0xeb, 0x5e, 0xac, 0xcf, 0x93, 0x7c, 0x33, 0x83, 0x8f, 0xbe, 0xeb, 0x8f, 0xf3, 0x72, 0x24, 0xb3, - 0x0d, 0x93, 0xaa, 0x7e, 0x3d, 0x25, 0x2f, 0xc8, 0x85, 0xe8, 0x39, 0xdb, 0xf1, 0xd2, 0xe8, 0xe3, - 0x93, 0xc5, 0x8c, 0xdb, 0xc0, 0x28, 0xf4, 0x6b, 0x90, 0x97, 0x56, 0x82, 0xfa, 0x20, 0xa7, 0x30, - 0x28, 0x8f, 0xad, 0xa8, 0xd4, 0x7c, 0x0d, 0xc6, 0x84, 0x0a, 0x1d, 0xec, 0xd0, 0x32, 0x7f, 0x98, - 0x81, 0x19, 0x8b, 0xb2, 0x09, 0x2e, 0x9e, 0xba, 0xfc, 0x92, 0xbd, 0xb2, 0xa2, 0xb5, 0x6d, 0x40, - 0x1a, 0x9e, 0xdf, 0x33, 0x60, 0x2e, 0x05, 0xf7, 0x73, 0x25, 0x57, 0xbd, 0x03, 0xe3, 0x15, 0xd7, - 0x69, 0x16, 0x1b, 0x8d, 0x28, 0xae, 0x1e, 0xad, 0xc1, 0x06, 0x9b, 0x4e, 0x0e, 0x83, 0xaa, 0x8b, - 0x69, 0x84, 0x4a, 0xae, 0x0b, 0xa1, 0x88, 0x73, 0xea, 0xcb, 0x77, 0x5c, 0x80, 0x7f, 0x53, 0xfc, - 0x8a, 0x0b, 0xde, 0xc5, 0xe6, 0xc0, 0x38, 0x36, 0xe2, 0x99, 0x1d, 0xba, 0xf4, 0xbb, 0xd8, 0xc9, - 0xe6, 0x0d, 0xb5, 0xed, 0xfc, 0x71, 0x06, 0x2e, 0xa4, 0x13, 0x7e, 0xde, 0x3c, 0xb9, 0x98, 0x03, - 0x49, 0x79, 0x2a, 0x07, 0xf3, 0xe4, 0xf2, 0x84, 0x49, 0x88, 0x1f, 0x23, 0x90, 0x03, 0x98, 0x5a, - 0x73, 0x82, 0x70, 0x85, 0x3a, 0x7e, 0xb8, 0x4f, 0x9d, 0x70, 0x08, 0x0b, 0xf6, 0x15, 0xf9, 0x8e, - 0x21, 0x2e, 0x6a, 0x47, 0x92, 0x32, 0x61, 0xe0, 0xe9, 0x6c, 0x23, 0x41, 0xc9, 0x0d, 0x21, 0x28, - 0xbf, 0x08, 0x33, 0x35, 0xda, 0x72, 0x3a, 0x47, 0x9e, 0x2f, 0x9f, 0x78, 0xbe, 0x01, 0x53, 0x11, - 0x28, 0x55, 0x5a, 0xf4, 0x62, 0x0d, 0x5f, 0xe9, 0x88, 0x58, 0x95, 0xe8, 0xc5, 0xe6, 0xdf, 0xcc, - 0xc0, 0xc5, 0x62, 0x5d, 0x9c, 0xd2, 0x88, 0x02, 0x79, 0x98, 0xfc, 0x05, 0xd7, 0x4d, 0x6e, 0xc2, - 0xf8, 0xba, 0xf3, 0x68, 0x8d, 0x3a, 0x01, 0x0d, 0x44, 0x96, 0x42, 0x6e, 0x7e, 0x39, 0x8f, 0xec, - 0xc8, 0xed, 0x65, 0xc5, 0x38, 0xea, 0x66, 0x33, 0xf7, 0x84, 0x9b, 0x4d, 0x13, 0x46, 0x57, 0xbc, - 0x66, 0x43, 0x2c, 0x4e, 0xe2, 0xfc, 0xe3, 0x08, 0x21, 0x96, 0x28, 0x31, 0xff, 0xcc, 0x80, 0xe9, - 0xe8, 0x8b, 0xf1, 0x13, 0xbe, 0xf0, 0x2e, 0xb9, 0x0a, 0x63, 0x58, 0x51, 0xf4, 0x88, 0x2b, 0x2e, - 0x1a, 0x4d, 0x06, 0xb2, 0xdd, 0x86, 0x25, 0x0b, 0xd5, 0x9e, 0x18, 0x79, 0xb2, 0x9e, 0x30, 0xff, - 0x43, 0x3c, 0x5a, 0x51, 0x5b, 0xc9, 0x56, 0x22, 0xe5, 0x43, 0x8c, 0x21, 0x3f, 0x24, 0xf3, 0xd4, - 0x86, 0x24, 0xdb, 0x77, 0x48, 0x7e, 0x94, 0x81, 0x89, 0xe8, 0x63, 0xbf, 0x64, 0x49, 0x4c, 0xa2, - 0x76, 0x0d, 0x75, 0x49, 0xa5, 0xa6, 0xe8, 0x0a, 0x71, 0x17, 0xe4, 0x23, 0x18, 0x15, 0x93, 0xc9, - 0x48, 0x1c, 0xaa, 0x26, 0x46, 0xb7, 0x34, 0x2d, 0x58, 0x8f, 0xe2, 0x80, 0x06, 0x96, 0xa0, 0xc3, - 0x5b, 0x40, 0x7b, 0x74, 0x5f, 0x9c, 0xb4, 0x3d, 0xb3, 0x6b, 0x54, 0xfa, 0x2d, 0xa0, 0xb8, 0x61, - 0x43, 0xad, 0x4e, 0xff, 0xe6, 0x08, 0x14, 0x92, 0x24, 0xa7, 0xa7, 0x89, 0xd9, 0xea, 0xee, 0x8b, - 0x97, 0xf9, 0x30, 0x4d, 0x4c, 0xa7, 0xbb, 0x6f, 0x31, 0x18, 0xb9, 0x0a, 0xb9, 0x2d, 0xdf, 0x7d, - 0x80, 0xad, 0x16, 0x0f, 0x13, 0x76, 0x7c, 0xf7, 0x81, 0x1a, 0x0e, 0xcf, 0xca, 0x71, 0x43, 0xbb, - 0x56, 0xc3, 0xc8, 0x6a, 0x34, 0xac, 0xc5, 0x86, 0xb6, 0x19, 0x24, 0x33, 0x9e, 0x49, 0x34, 0xb6, - 0x54, 0x96, 0xa8, 0xe3, 0x8b, 0x94, 0x26, 0x42, 0x9d, 0xe1, 0x52, 0xb9, 0x8f, 0x60, 0x9e, 0xab, - 0xdf, 0x52, 0x91, 0x48, 0x13, 0x88, 0xf2, 0x53, 0x4e, 0xe0, 0xd3, 0xf7, 0x78, 0xf2, 0x25, 0xdf, - 0x79, 0x95, 0xb5, 0xad, 0xce, 0xe6, 0x14, 0xbe, 0x4f, 0xd3, 0x47, 0xb8, 0x25, 0x2e, 0xb8, 0xa2, - 0x23, 0x23, 0x7f, 0x2a, 0x33, 0x79, 0xf5, 0x00, 0xf8, 0x05, 0xd8, 0xc8, 0x9d, 0x11, 0x33, 0x21, - 0x1f, 0xc0, 0x84, 0x1a, 0x2f, 0xcf, 0xa3, 0xba, 0x9f, 0xe7, 0x17, 0x4b, 0xfb, 0xa4, 0x8b, 0x55, - 0x09, 0xc8, 0x3e, 0x5c, 0x2c, 0x7b, 0xed, 0xa0, 0xdb, 0xa2, 0x0d, 0xed, 0x24, 0x78, 0xb5, 0x82, - 0x1b, 0xcc, 0x71, 0x1e, 0x47, 0x5b, 0x17, 0x28, 0x22, 0x3c, 0x5b, 0x46, 0xac, 0xe8, 0x1b, 0x90, - 0x7e, 0x8c, 0xcc, 0xaf, 0xa8, 0x92, 0x28, 0x0c, 0x83, 0x81, 0x92, 0x68, 0xfe, 0x36, 0x6e, 0x15, - 0x5a, 0x5e, 0x48, 0x85, 0x85, 0xf4, 0xcc, 0xea, 0xca, 0xd8, 0x4d, 0x3d, 0xa2, 0x05, 0x1d, 0x69, - 0xad, 0xe3, 0x18, 0xbb, 0xb7, 0x63, 0xc5, 0xc6, 0x1d, 0xd6, 0xd2, 0x4d, 0xad, 0x4c, 0xeb, 0xbf, - 0x67, 0xc0, 0xf9, 0x54, 0x5a, 0x72, 0x03, 0x20, 0xb6, 0x43, 0x45, 0x2f, 0xf1, 0x87, 0x16, 0x22, - 0xa8, 0xa5, 0x60, 0x90, 0x6f, 0x27, 0x2d, 0xc8, 0xd3, 0x17, 0x40, 0xf9, 0x96, 0xe2, 0xb4, 0x6e, - 0x41, 0xa6, 0xd8, 0x8d, 0xe6, 0xef, 0x65, 0x61, 0x56, 0x09, 0xaa, 0xe6, 0xdf, 0x7a, 0x4a, 0xc4, - 0xc3, 0xfd, 0xc4, 0x1b, 0xcd, 0xfc, 0x48, 0xe5, 0xba, 0xe8, 0xb1, 0x1e, 0x6e, 0x29, 0x2f, 0x36, - 0xa3, 0xeb, 0x4d, 0xbc, 0xf1, 0x71, 0xca, 0xc3, 0xcd, 0x41, 0xfa, 0x8b, 0xe0, 0x6f, 0xf4, 0xad, - 0xed, 0x29, 0xbc, 0x0c, 0xfe, 0x97, 0xf8, 0x11, 0xe4, 0xdf, 0xce, 0xc0, 0x5c, 0x4f, 0x9b, 0x9f, - 0xd9, 0x59, 0xf7, 0x91, 0xb6, 0x82, 0xbe, 0xd8, 0x6f, 0x4c, 0x87, 0xb2, 0x54, 0x7e, 0x9e, 0x85, - 0x8b, 0x7d, 0x28, 0xc9, 0x71, 0x52, 0x88, 0xb8, 0xe5, 0x72, 0x6b, 0x70, 0x85, 0x4f, 0xe5, 0x91, - 0xf9, 0xaf, 0xf3, 0xe0, 0xdd, 0x3a, 0xe6, 0xef, 0x15, 0x6b, 0x36, 0x4f, 0x92, 0x1e, 0x41, 0x93, - 0x51, 0xbb, 0x1c, 0x4a, 0x3e, 0x84, 0x91, 0xe2, 0x0f, 0xba, 0x3e, 0x4d, 0xdc, 0x04, 0x63, 0x18, - 0x08, 0x57, 0xae, 0xcd, 0xb1, 0x9f, 0xda, 0xb5, 0x39, 0x06, 0x20, 0x5f, 0xe3, 0x8f, 0xca, 0xe7, - 0x34, 0x37, 0x3a, 0x92, 0xef, 0xd5, 0xe2, 0xa4, 0x17, 0xbd, 0x2f, 0xcb, 0x33, 0xc2, 0xbb, 0xe5, - 0xad, 0xc4, 0x53, 0xf6, 0x18, 0x4f, 0x5c, 0xde, 0x8a, 0x09, 0x0f, 0xeb, 0xea, 0x1b, 0xad, 0x8c, - 0xe2, 0x8b, 0x13, 0xfb, 0x7f, 0x2b, 0xc3, 0x23, 0x8e, 0x79, 0xc3, 0x3e, 0x84, 0x49, 0x19, 0x9a, - 0xa0, 0xa8, 0x29, 0x54, 0x2a, 0xd1, 0xed, 0xf7, 0xc4, 0xc9, 0x96, 0x46, 0x20, 0xd3, 0xc7, 0xb0, - 0xdf, 0x18, 0x99, 0xa7, 0x1e, 0x4c, 0x45, 0x1c, 0x30, 0x92, 0x2f, 0x99, 0x3e, 0x26, 0x22, 0x21, - 0xb7, 0x21, 0xbf, 0x4d, 0xdb, 0x4e, 0x3b, 0x8c, 0x36, 0x51, 0x18, 0x48, 0x11, 0x22, 0x4c, 0x5f, - 0x71, 0x23, 0x44, 0x52, 0x85, 0xe9, 0x5a, 0x77, 0x3f, 0x7a, 0x6d, 0x7d, 0xb5, 0xa2, 0xbc, 0xff, - 0x77, 0x29, 0x50, 0x4a, 0x12, 0x8f, 0x5e, 0xe9, 0x44, 0xe6, 0x6f, 0x1b, 0x30, 0x26, 0x06, 0x52, - 0x79, 0x32, 0xc6, 0x18, 0xe2, 0xc9, 0x98, 0x3b, 0x30, 0x2e, 0x5e, 0x7b, 0xd4, 0x9f, 0xbb, 0x12, - 0x0f, 0x43, 0x26, 0x9e, 0xbb, 0x8a, 0x50, 0xa3, 0x04, 0x67, 0xd9, 0xc1, 0x09, 0xce, 0xcc, 0xbf, - 0x2d, 0xbe, 0xec, 0x6e, 0x79, 0x8b, 0x2c, 0x41, 0x7e, 0xcd, 0xab, 0x3b, 0xca, 0x3a, 0x87, 0x6a, - 0xa7, 0x29, 0x60, 0x6a, 0x07, 0x49, 0x3c, 0xfd, 0x19, 0xaf, 0xcc, 0xf0, 0xcf, 0x78, 0x0d, 0xfb, - 0x7d, 0x34, 0x45, 0x49, 0xec, 0xde, 0xc6, 0x97, 0x38, 0x3f, 0x06, 0xd2, 0x53, 0x24, 0x35, 0xc5, - 0xe5, 0x7e, 0x9a, 0x62, 0xf7, 0xb6, 0x95, 0x42, 0x85, 0xbe, 0xb8, 0x18, 0xcc, 0x1f, 0xc4, 0xfb, - 0x92, 0xe5, 0x45, 0x4c, 0x36, 0x6f, 0x28, 0x25, 0xfd, 0x2f, 0x32, 0x70, 0x21, 0x9d, 0x50, 0x6d, - 0x8b, 0x31, 0xa0, 0x2d, 0xd7, 0x20, 0xbf, 0xe2, 0x05, 0xa1, 0x72, 0x98, 0x8d, 0x2e, 0x83, 0x23, - 0x01, 0xb3, 0xa2, 0x52, 0xf2, 0x32, 0xdb, 0xe8, 0x07, 0xf1, 0xf4, 0x44, 0x7e, 0x18, 0x67, 0xeb, - 0x36, 0x2c, 0x51, 0xa4, 0xbd, 0x28, 0x9d, 0xeb, 0xff, 0xa2, 0xf4, 0xb9, 0x53, 0x5f, 0x94, 0x2e, - 0xc2, 0x98, 0x18, 0xfd, 0x84, 0xbb, 0x39, 0x45, 0x64, 0xf4, 0xe4, 0x1a, 0x92, 0x8e, 0x69, 0x14, - 0x74, 0x1c, 0xae, 0x56, 0x64, 0xd4, 0x1f, 0x6a, 0x14, 0xee, 0x58, 0xd4, 0xb3, 0x79, 0x44, 0x88, - 0xe6, 0x0f, 0x33, 0x00, 0x7b, 0x74, 0xff, 0xd9, 0x4e, 0xb7, 0xfa, 0x35, 0x4d, 0xc2, 0x94, 0xb3, - 0xb2, 0xe1, 0xb3, 0xad, 0x6e, 0xe2, 0x99, 0xd5, 0xf0, 0xb9, 0x56, 0xa3, 0xe7, 0x8c, 0x33, 0xe9, - 0xcf, 0x19, 0x9b, 0xfb, 0x30, 0x7f, 0x97, 0x86, 0xf1, 0x86, 0x48, 0xba, 0x2b, 0x07, 0xb3, 0x7d, - 0x13, 0xc6, 0x05, 0xbe, 0xfe, 0x8a, 0x9a, 0x0c, 0x5d, 0x77, 0x1b, 0x56, 0x8c, 0xc0, 0xb4, 0x51, - 0x85, 0x36, 0x69, 0x48, 0xbf, 0xd8, 0x6a, 0x6a, 0x40, 0x78, 0x53, 0xf8, 0x2b, 0xb7, 0x43, 0xd5, - 0x70, 0x6a, 0xff, 0xec, 0xc2, 0xf9, 0xe8, 0xdb, 0x9f, 0x26, 0xdf, 0x9b, 0x6c, 0x4b, 0x29, 0xb2, - 0x5b, 0xc4, 0x1c, 0x07, 0x9c, 0x57, 0x3d, 0x82, 0xcb, 0x92, 0x60, 0xcf, 0x8d, 0x0e, 0xfd, 0x87, - 0xa2, 0x25, 0xef, 0xc1, 0x84, 0x42, 0x23, 0x12, 0xff, 0x60, 0x60, 0xcd, 0x43, 0x37, 0x3c, 0xb2, - 0x03, 0x0e, 0x57, 0x03, 0x6b, 0x14, 0x74, 0xf3, 0x5b, 0xf0, 0x5c, 0x14, 0x22, 0x99, 0x52, 0x75, - 0x82, 0xb9, 0x71, 0x36, 0xe6, 0x1b, 0x71, 0xb3, 0x56, 0xdb, 0xd1, 0x4d, 0x35, 0xc9, 0x9b, 0xa8, - 0xcd, 0x12, 0x8d, 0x79, 0x5e, 0x49, 0x43, 0x2d, 0xb6, 0x24, 0x31, 0xc0, 0x7c, 0x57, 0xf9, 0xd8, - 0x14, 0x86, 0x1a, 0xb1, 0x91, 0x24, 0xfe, 0x61, 0x06, 0x66, 0x36, 0x57, 0x2b, 0xe5, 0xe8, 0xc4, - 0xf2, 0x4b, 0x96, 0x0b, 0x56, 0x6b, 0x5b, 0x7f, 0x7d, 0x63, 0xee, 0xc0, 0x5c, 0xa2, 0x1b, 0xd0, - 0x74, 0xf8, 0x80, 0x87, 0x32, 0x46, 0x60, 0x69, 0x36, 0x5c, 0x48, 0x63, 0xbf, 0x7b, 0xdb, 0x4a, - 0x60, 0x9b, 0x7f, 0x90, 0x4f, 0xf0, 0x15, 0x2a, 0xec, 0x4d, 0x18, 0x5f, 0x0d, 0x82, 0x2e, 0xf5, - 0x77, 0xac, 0x35, 0xd5, 0x55, 0xe0, 0x22, 0xd0, 0xee, 0xfa, 0x4d, 0x2b, 0x46, 0x20, 0xaf, 0x43, - 0x5e, 0x64, 0x54, 0x90, 0x3a, 0x01, 0x23, 0xb3, 0xa2, 0x84, 0x0c, 0x56, 0x54, 0x4c, 0xde, 0x86, - 0x49, 0xfe, 0x37, 0x97, 0x36, 0xd1, 0xe1, 0x78, 0x2c, 0x22, 0xd0, 0xb9, 0x74, 0x5a, 0x1a, 0x1a, - 0xb9, 0x0e, 0xd9, 0x62, 0xd9, 0x52, 0x1f, 0x4f, 0x72, 0xea, 0x3e, 0x7f, 0x44, 0x4d, 0xdf, 0x44, - 0x94, 0x2d, 0x66, 0xfd, 0xe1, 0xfb, 0x9e, 0x0d, 0x2a, 0x9f, 0xb6, 0x45, 0x09, 0xe8, 0x08, 0x58, - 0x62, 0x31, 0x43, 0x18, 0xb9, 0x09, 0x63, 0x15, 0x37, 0xe8, 0x34, 0x9d, 0x63, 0x91, 0xd0, 0x91, - 0x67, 0x88, 0xe3, 0x20, 0x55, 0x66, 0x04, 0x16, 0x79, 0x1d, 0x46, 0x6a, 0x75, 0x0f, 0x9f, 0xba, - 0x8d, 0x22, 0x22, 0x03, 0x06, 0xd0, 0xf2, 0xa8, 0x31, 0x00, 0x26, 0xec, 0xe1, 0x79, 0x07, 0xc6, - 0x95, 0x84, 0x3d, 0xc9, 0x7c, 0x03, 0x02, 0xa7, 0x37, 0xf6, 0x1d, 0x9e, 0x66, 0xec, 0xfb, 0x3e, - 0x5c, 0xbc, 0x8b, 0xde, 0x1b, 0x71, 0xc9, 0x46, 0xd8, 0xd9, 0x3b, 0xd6, 0xaa, 0xc8, 0xb5, 0x80, - 0xde, 0x3c, 0xee, 0xe0, 0x89, 0xae, 0xea, 0x48, 0x13, 0x5d, 0x7f, 0x20, 0xb1, 0x1f, 0x23, 0xf2, - 0x4d, 0x98, 0x4f, 0x2b, 0x12, 0x59, 0x17, 0xf0, 0x2e, 0x59, 0x7a, 0x05, 0xea, 0x65, 0xae, 0x34, - 0x0e, 0x64, 0x0d, 0x0a, 0x1c, 0x5e, 0x6c, 0xb4, 0xdc, 0x76, 0xb5, 0xe5, 0xb8, 0x4d, 0xcc, 0xc1, - 0x20, 0x12, 0x69, 0x08, 0xae, 0x0e, 0x2b, 0xb4, 0x29, 0x2b, 0xd5, 0x82, 0x5a, 0x13, 0x94, 0xe4, - 0xd7, 0x0d, 0xb6, 0x9b, 0xe3, 0x17, 0xee, 0x77, 0xac, 0xb5, 0x40, 0xdc, 0xfa, 0xeb, 0xf7, 0xe8, - 0xe4, 0xf6, 0x53, 0x7a, 0x74, 0x72, 0xd2, 0x17, 0x75, 0xe2, 0x2c, 0xd2, 0xbe, 0x00, 0x1f, 0x0c, - 0x68, 0x36, 0xbd, 0x87, 0x3b, 0xed, 0x07, 0xd4, 0x77, 0x0f, 0x5c, 0xda, 0xe0, 0x8d, 0x9c, 0x41, - 0x0d, 0xce, 0x1f, 0x0c, 0xc0, 0x47, 0x23, 0xba, 0x11, 0x42, 0x4f, 0x43, 0x53, 0x39, 0xb0, 0x8d, - 0xa7, 0x0c, 0xb1, 0xe4, 0x37, 0x0f, 0x0a, 0xf1, 0xc6, 0x53, 0xc6, 0x63, 0xda, 0x28, 0x46, 0xaa, - 0xf0, 0x68, 0x24, 0x22, 0x9e, 0xeb, 0xbf, 0xc9, 0x73, 0x8d, 0x5c, 0xec, 0x86, 0x47, 0x52, 0x87, - 0x2f, 0xa5, 0x85, 0x89, 0xf2, 0xe3, 0x6c, 0x25, 0x4c, 0x54, 0x0f, 0x0e, 0x95, 0x61, 0x27, 0x99, - 0xd4, 0xb0, 0x93, 0x37, 0x61, 0x1c, 0xdf, 0xfa, 0x89, 0xe2, 0xf1, 0xf2, 0xc2, 0x57, 0xc9, 0x80, - 0x3c, 0x5b, 0x41, 0x8c, 0x40, 0x6e, 0x02, 0x60, 0xce, 0x42, 0xbe, 0xc0, 0x2b, 0x29, 0x65, 0x30, - 0xb5, 0xa1, 0x38, 0x21, 0x50, 0x50, 0x90, 0x7d, 0xcd, 0x5a, 0x56, 0x8f, 0x14, 0x38, 0xfb, 0xc0, - 0x3f, 0x10, 0xe8, 0x31, 0x02, 0x6b, 0x9e, 0x32, 0x4c, 0x42, 0xa9, 0x14, 0x7a, 0xc6, 0x52, 0x45, - 0xc2, 0xd3, 0x7a, 0x19, 0x7c, 0x84, 0x3a, 0x65, 0x52, 0x9c, 0xd6, 0x47, 0x81, 0x4a, 0x56, 0x8c, - 0x40, 0xbe, 0x06, 0x63, 0x65, 0xea, 0x87, 0xdb, 0xdb, 0x6b, 0xe2, 0xbd, 0x4e, 0xb6, 0x2f, 0xcf, - 0x63, 0xba, 0x8b, 0x30, 0x6c, 0x7e, 0x76, 0xb2, 0x38, 0x15, 0xba, 0x2d, 0x7a, 0x23, 0x72, 0xd1, - 0x4b, 0x6c, 0x52, 0x82, 0x02, 0x8f, 0xa8, 0x8c, 0x0d, 0x39, 0x54, 0x33, 0x79, 0xf1, 0x0a, 0x3d, - 0x4f, 0xf1, 0xf0, 0x90, 0xee, 0x47, 0xc9, 0x3e, 0x7a, 0xf0, 0x49, 0x55, 0x26, 0xd6, 0x51, 0x1b, - 0x09, 0xb1, 0x67, 0x41, 0x28, 0x66, 0xad, 0xad, 0xbd, 0x14, 0xa4, 0x08, 0x53, 0x65, 0xaf, 0xd5, - 0x71, 0x42, 0x17, 0x53, 0x22, 0x1e, 0x0b, 0x8d, 0x82, 0xde, 0x91, 0xba, 0x5a, 0xa0, 0x3f, 0xdd, - 0xa3, 0x14, 0x90, 0x65, 0x98, 0xb6, 0xbc, 0x2e, 0x1b, 0x24, 0xb9, 0xa5, 0x99, 0x54, 0x1e, 0x53, - 0x67, 0x25, 0x4c, 0xc7, 0x89, 0xfd, 0x8b, 0x76, 0x1b, 0x56, 0xa3, 0x22, 0x1b, 0x29, 0xbe, 0x65, - 0x55, 0x53, 0xa8, 0x29, 0x3f, 0x7a, 0x98, 0xa5, 0xb8, 0xa5, 0x6f, 0xc3, 0x44, 0xad, 0xb6, 0xb9, - 0x4d, 0x83, 0x70, 0xb9, 0xe9, 0x3d, 0x44, 0x45, 0x91, 0x17, 0xe9, 0xc9, 0x02, 0xcf, 0x0e, 0x69, - 0x10, 0xda, 0x07, 0x4d, 0xef, 0xa1, 0xa5, 0x62, 0x91, 0xef, 0x2a, 0x6f, 0x19, 0xe1, 0xca, 0x3f, - 0x73, 0xea, 0xca, 0x9f, 0x78, 0xe7, 0x88, 0xad, 0xff, 0xa9, 0xef, 0x1c, 0x31, 0x74, 0x0c, 0x2e, - 0x65, 0x9b, 0xb1, 0x62, 0xa3, 0xe1, 0xd3, 0x20, 0x10, 0x33, 0x5a, 0x79, 0xa9, 0xcd, 0xe1, 0x05, - 0x5a, 0x70, 0xa9, 0x42, 0x40, 0x7e, 0x64, 0xc0, 0x79, 0x35, 0x3e, 0x0d, 0x27, 0x0b, 0x3e, 0x24, - 0x3f, 0x8b, 0x5f, 0xfa, 0xd6, 0x0d, 0xa9, 0xd1, 0x6e, 0x28, 0x68, 0x37, 0x1e, 0xdc, 0xba, 0xa1, - 0xbc, 0x49, 0x52, 0x93, 0x44, 0xf8, 0xa8, 0xe3, 0x62, 0x2a, 0x3f, 0x55, 0x3b, 0x39, 0x29, 0xa4, - 0x68, 0xe5, 0xd5, 0x8a, 0xeb, 0x6b, 0xb1, 0xa9, 0xf2, 0xe5, 0x8a, 0xfc, 0xd2, 0xda, 0x36, 0x20, - 0xf2, 0x6b, 0x07, 0xe6, 0x12, 0xdd, 0x20, 0xad, 0x3c, 0x0d, 0x9c, 0xb4, 0xf2, 0x12, 0x34, 0x56, - 0x02, 0xdb, 0xfc, 0x87, 0x63, 0x09, 0xbe, 0xe2, 0xb4, 0xd7, 0x84, 0x51, 0x6e, 0xc4, 0xa9, 0xc9, - 0xf7, 0xb9, 0x89, 0x67, 0x89, 0x12, 0x72, 0x09, 0xb2, 0xb5, 0xda, 0xa6, 0xfa, 0x34, 0x48, 0x10, - 0x78, 0x16, 0x83, 0xb1, 0x11, 0xc2, 0x83, 0x5c, 0x25, 0xc3, 0x06, 0xd3, 0x58, 0x16, 0x42, 0x59, - 0x7f, 0x4b, 0x93, 0x2a, 0x17, 0xf7, 0xb7, 0x30, 0xa9, 0x62, 0x43, 0xaa, 0x0c, 0x0b, 0xc5, 0x20, - 0xa0, 0x3e, 0x7f, 0x9f, 0x0f, 0xcf, 0x07, 0x7d, 0xb1, 0xec, 0x0b, 0xc5, 0x8c, 0x95, 0x3a, 0xf5, - 0xc0, 0xea, 0x8b, 0x48, 0xae, 0x41, 0xbe, 0xd8, 0x6d, 0xb8, 0xb4, 0x5d, 0xd7, 0xee, 0xd9, 0x3a, - 0x02, 0x66, 0x45, 0xa5, 0xe4, 0x13, 0x38, 0x2f, 0x88, 0xa4, 0xed, 0x27, 0x7a, 0x60, 0x2c, 0x9e, - 0x3d, 0xd2, 0x2c, 0x91, 0x16, 0xa3, 0x2d, 0xba, 0x24, 0x9d, 0x92, 0x14, 0xa1, 0x50, 0xc5, 0x48, - 0xc7, 0x0a, 0xe5, 0xae, 0x52, 0xcf, 0x17, 0x2f, 0x63, 0xa1, 0x11, 0xc9, 0xa3, 0x20, 0xed, 0x46, - 0x54, 0x68, 0xf5, 0xa0, 0x93, 0x7b, 0x30, 0x97, 0x84, 0x31, 0x1d, 0xcc, 0xed, 0x45, 0xbc, 0xe2, - 0xdd, 0xc3, 0x05, 0xb5, 0x70, 0x1a, 0x15, 0xd9, 0x87, 0xd9, 0x62, 0x18, 0xfa, 0xee, 0x7e, 0x37, - 0xa4, 0x09, 0x2b, 0x52, 0x86, 0x0a, 0x44, 0xe5, 0xd2, 0x92, 0x7c, 0x4e, 0x08, 0xe3, 0x9c, 0x13, - 0x51, 0x46, 0xd6, 0xa4, 0xd5, 0xcb, 0x8e, 0x34, 0x60, 0xba, 0xe6, 0x1e, 0xb6, 0xdd, 0xf6, 0xe1, - 0x3d, 0x7a, 0xbc, 0xe5, 0xb8, 0xbe, 0xc8, 0x08, 0x21, 0x43, 0x32, 0x8a, 0xc1, 0x71, 0xab, 0x45, - 0x43, 0x1f, 0x57, 0x37, 0x56, 0x8e, 0xd7, 0x17, 0x0c, 0xa6, 0xc6, 0x03, 0x4e, 0x87, 0xa1, 0xba, - 0x1d, 0xc7, 0xd5, 0xd4, 0xb8, 0xce, 0x53, 0xb3, 0xe4, 0x27, 0x87, 0xb4, 0xe4, 0x9b, 0x30, 0x5b, - 0x6d, 0xd7, 0xfd, 0x63, 0xf4, 0x58, 0xcb, 0x8f, 0x9b, 0x3a, 0xe5, 0xe3, 0xe4, 0x93, 0xca, 0xcf, - 0x3b, 0x52, 0xc2, 0xd2, 0x3e, 0xaf, 0x97, 0x31, 0xa9, 0x89, 0x67, 0xc0, 0x56, 0x2b, 0x5b, 0xab, - 0x6d, 0x37, 0x74, 0x31, 0x0d, 0x3e, 0x5f, 0x1e, 0x5e, 0x15, 0x3c, 0x5f, 0xe0, 0x16, 0x9b, 0xdb, - 0xe8, 0xd8, 0xae, 0x44, 0xe9, 0x79, 0xe7, 0x4b, 0xa5, 0x37, 0xff, 0xcf, 0x31, 0xae, 0x0d, 0x55, - 0x0b, 0xeb, 0x82, 0x92, 0x16, 0x5a, 0x0d, 0xc3, 0x4d, 0x58, 0x5e, 0x99, 0xb3, 0x58, 0x5e, 0xd9, - 0xd3, 0x2d, 0xaf, 0xdc, 0x69, 0x96, 0x57, 0xc2, 0x34, 0x1a, 0x39, 0xb3, 0x69, 0x34, 0x7a, 0x06, - 0xd3, 0x68, 0xec, 0x4c, 0xa6, 0x91, 0x66, 0xe3, 0xe5, 0x4f, 0xb3, 0xf1, 0xfe, 0x7f, 0x43, 0xea, - 0x59, 0x35, 0xa4, 0xd2, 0x16, 0xd7, 0x33, 0x19, 0x52, 0xfd, 0xed, 0xa0, 0xc2, 0xff, 0xcb, 0x76, - 0xd0, 0x5f, 0x81, 0x42, 0x52, 0x35, 0x9f, 0x9e, 0x04, 0xe2, 0xa9, 0xdd, 0xd5, 0x66, 0x0b, 0x47, - 0x52, 0x35, 0xb2, 0xad, 0xd5, 0x96, 0xef, 0x3e, 0x70, 0x42, 0x1a, 0xbf, 0x1c, 0x85, 0x5b, 0xab, - 0x0e, 0x87, 0xe2, 0x74, 0x55, 0x50, 0x22, 0xab, 0x20, 0x93, 0x66, 0x15, 0x98, 0xbf, 0x9a, 0x81, - 0x59, 0x7e, 0xbd, 0xf4, 0xd9, 0xf7, 0xe8, 0x7d, 0xa0, 0xd9, 0x7a, 0x32, 0x70, 0x27, 0xd1, 0xba, - 0x01, 0x3e, 0xbd, 0xef, 0xc0, 0xf9, 0x9e, 0xae, 0x40, 0x7b, 0xaf, 0x22, 0x2f, 0xf6, 0xf6, 0x58, - 0x7c, 0x0b, 0xe9, 0x95, 0xec, 0xde, 0xb6, 0x7a, 0x28, 0xcc, 0x3f, 0xc8, 0xf6, 0xf0, 0x17, 0xde, - 0x3d, 0xd5, 0x5f, 0x67, 0x9c, 0xcd, 0x5f, 0x97, 0x19, 0xce, 0x5f, 0x97, 0x58, 0x16, 0xb2, 0xc3, - 0x2c, 0x0b, 0x9f, 0xc0, 0xd4, 0x36, 0x75, 0x5a, 0xc1, 0xb6, 0x27, 0x92, 0x0f, 0xf1, 0x94, 0x19, - 0xf2, 0xde, 0x2e, 0x2b, 0x93, 0xe6, 0x4a, 0x14, 0x80, 0x10, 0x32, 0x02, 0xa6, 0xca, 0x78, 0x36, - 0x22, 0x4b, 0xe7, 0xa0, 0xda, 0xa0, 0x23, 0x03, 0x6c, 0xd0, 0x1a, 0x4c, 0x0a, 0xba, 0x38, 0xf3, - 0x85, 0xf2, 0x80, 0x38, 0x75, 0x5a, 0x08, 0x97, 0xb5, 0x47, 0x09, 0x7f, 0xa3, 0xda, 0xb9, 0x9d, - 0xa4, 0x31, 0x61, 0x5d, 0x50, 0x6d, 0x37, 0x3a, 0x9e, 0xdb, 0xc6, 0x2e, 0x18, 0x8b, 0xbb, 0x80, - 0x0a, 0x30, 0xef, 0x02, 0x05, 0xc9, 0xfc, 0x67, 0x79, 0x39, 0x3b, 0xbe, 0x58, 0xef, 0x8a, 0xee, - 0x2f, 0xc9, 0x9e, 0xd1, 0x5f, 0x92, 0x3b, 0x6d, 0x2d, 0xd5, 0x16, 0xf8, 0x91, 0x33, 0x2c, 0xf0, - 0xa3, 0x4f, 0xec, 0xfb, 0x18, 0x3b, 0xe3, 0x92, 0x9d, 0x10, 0xd4, 0xfc, 0x30, 0x82, 0x9a, 0xba, - 0xcc, 0x8f, 0x3f, 0xf9, 0x32, 0x0f, 0x67, 0x5e, 0xe6, 0x95, 0x67, 0x92, 0x26, 0x86, 0x7a, 0x26, - 0xc9, 0x18, 0xe2, 0x99, 0xa4, 0x2f, 0x95, 0xed, 0xf0, 0xbd, 0x74, 0xdb, 0x61, 0xb0, 0xb2, 0x7e, - 0x46, 0xad, 0x07, 0x1f, 0x3b, 0x68, 0xcf, 0xf1, 0xd9, 0x1e, 0x2a, 0x20, 0x37, 0x61, 0x4c, 0x5e, - 0x7f, 0x37, 0xe2, 0xed, 0x68, 0xef, 0xbd, 0x77, 0x89, 0xc5, 0xb6, 0x5b, 0x92, 0x58, 0x5c, 0x15, - 0xe3, 0x37, 0x7d, 0x05, 0x4c, 0xbb, 0xe9, 0x2b, 0x60, 0xe6, 0xdf, 0xcf, 0xc9, 0x49, 0xc8, 0xb6, - 0x03, 0xe2, 0x65, 0x81, 0x9e, 0x57, 0xbc, 0x8d, 0xb3, 0xbf, 0xe2, 0xfd, 0x39, 0x72, 0x07, 0x28, - 0x09, 0x3a, 0xb3, 0x43, 0x24, 0xe8, 0x7c, 0x47, 0xcb, 0x6e, 0x99, 0x8b, 0xd3, 0xa9, 0x31, 0xc1, - 0x1c, 0x9c, 0xd7, 0xf2, 0x8e, 0x9a, 0x86, 0x72, 0x24, 0xbe, 0x55, 0x87, 0x94, 0x03, 0x12, 0x50, - 0x46, 0xc6, 0xd8, 0xe8, 0x59, 0xf2, 0x68, 0x8c, 0xfd, 0x7f, 0x9a, 0x47, 0xa3, 0x0a, 0xa0, 0xa4, - 0x9b, 0xe7, 0xde, 0xe9, 0x57, 0x59, 0x37, 0x9d, 0x9e, 0x6a, 0x5e, 0x21, 0x34, 0xff, 0xd5, 0x2c, - 0xcc, 0xd6, 0x6a, 0x9b, 0x15, 0xd7, 0x39, 0x6c, 0x7b, 0x41, 0xe8, 0xd6, 0x57, 0xdb, 0x07, 0x1e, - 0xb3, 0x44, 0xa2, 0x09, 0xad, 0xe4, 0x74, 0x88, 0x27, 0x73, 0x54, 0xcc, 0x2c, 0xdd, 0xaa, 0xef, - 0x47, 0x0f, 0xd3, 0xa3, 0xa5, 0x4b, 0x19, 0xc0, 0xe2, 0x70, 0xb6, 0xd8, 0xd7, 0xba, 0x3c, 0x6f, - 0x38, 0x3f, 0x30, 0xc0, 0xc5, 0x3e, 0xe0, 0x20, 0x4b, 0x96, 0x11, 0xda, 0x2b, 0xb0, 0xc2, 0xf8, - 0xbb, 0xa8, 0x65, 0xe3, 0x88, 0x8b, 0xb9, 0xba, 0x12, 0xcb, 0x09, 0xde, 0xab, 0xed, 0x20, 0x5c, - 0x3d, 0x5d, 0xea, 0x99, 0x03, 0xc7, 0x70, 0x1e, 0xf7, 0xf0, 0x67, 0xf5, 0xc4, 0x5c, 0x17, 0xc6, - 0x85, 0x89, 0x79, 0x60, 0x52, 0xdc, 0x31, 0x6a, 0xca, 0xbc, 0xd4, 0x1a, 0xc8, 0xaf, 0x1a, 0xf0, - 0x42, 0x6a, 0x49, 0x34, 0xbb, 0x27, 0xb4, 0x8c, 0x28, 0x8a, 0xd2, 0xc0, 0x5c, 0xeb, 0x6f, 0xf4, - 0xab, 0xda, 0x4e, 0x51, 0x05, 0x83, 0x6b, 0x22, 0xff, 0xcc, 0x80, 0x8b, 0x1a, 0x46, 0xa4, 0xae, - 0x02, 0x5c, 0x56, 0xfa, 0xca, 0xf5, 0xf7, 0x9f, 0x8e, 0x5c, 0xbf, 0xac, 0xb7, 0x25, 0xd6, 0xa6, - 0x6a, 0x1b, 0xfa, 0x7d, 0x21, 0x79, 0x00, 0xb3, 0x58, 0x24, 0xbd, 0x42, 0x4c, 0x66, 0x85, 0x33, - 0x69, 0x3e, 0xfe, 0xec, 0x72, 0x37, 0x08, 0xbd, 0x16, 0x26, 0x2f, 0x5e, 0xfa, 0xf9, 0xc9, 0xe2, - 0x94, 0x86, 0x8e, 0xc9, 0xd8, 0xf0, 0x1b, 0x22, 0xd7, 0x92, 0xdb, 0x3e, 0xf0, 0xb4, 0x87, 0xec, - 0x92, 0x55, 0x90, 0xff, 0xc4, 0x80, 0x05, 0x06, 0xe5, 0xcd, 0x58, 0xf6, 0xbd, 0x56, 0x54, 0x2e, - 0x8f, 0x29, 0xfb, 0x74, 0x5b, 0xf3, 0xe9, 0x74, 0xdb, 0xab, 0xf8, 0xc9, 0x5c, 0x27, 0xd8, 0x07, - 0xbe, 0xd7, 0x8a, 0x3f, 0x5f, 0xcb, 0x8c, 0xde, 0xef, 0x23, 0xc9, 0xaf, 0x18, 0x70, 0x49, 0xdb, - 0x98, 0xab, 0x29, 0xc8, 0x16, 0x66, 0xb4, 0x33, 0x6d, 0xb5, 0xa8, 0x74, 0x43, 0xc8, 0xff, 0x55, - 0xfc, 0x82, 0x78, 0xb5, 0xc0, 0x6f, 0xb1, 0x5b, 0x1c, 0x4b, 0xf9, 0x84, 0xfe, 0xb5, 0x10, 0x17, - 0x66, 0xf1, 0x90, 0x45, 0x3b, 0x4e, 0x9f, 0xef, 0x7f, 0x9c, 0x7e, 0x55, 0x54, 0xfd, 0x22, 0xa6, - 0x79, 0xea, 0x7f, 0xa6, 0xde, 0xcb, 0x95, 0xfc, 0x32, 0x5c, 0xea, 0x01, 0x46, 0xb3, 0xed, 0x7c, - 0xdf, 0xd9, 0xf6, 0xc6, 0xe3, 0x93, 0xc5, 0xd7, 0xd2, 0x6a, 0x4b, 0x9b, 0x69, 0xfd, 0x6b, 0x20, - 0x0e, 0x40, 0x5c, 0x28, 0x52, 0xad, 0xa7, 0x0b, 0xe8, 0x1b, 0x42, 0x3e, 0x14, 0x7c, 0xa6, 0xcb, - 0x95, 0x6f, 0x50, 0x97, 0xbc, 0x18, 0x89, 0x50, 0x98, 0x54, 0x52, 0x5c, 0x1d, 0x63, 0xce, 0xf5, - 0xbe, 0x95, 0xfc, 0xfc, 0x64, 0x51, 0xc3, 0x66, 0x26, 0xad, 0x9a, 0x3b, 0x4b, 0x35, 0x69, 0x35, - 0x44, 0xf2, 0x8f, 0x0c, 0x98, 0x67, 0x80, 0x58, 0xa8, 0x44, 0xa3, 0x16, 0x06, 0x49, 0xfd, 0xd1, - 0xd3, 0x91, 0xfa, 0x97, 0xf0, 0x1b, 0x55, 0xa9, 0xef, 0xe9, 0x92, 0xd4, 0x8f, 0x43, 0x69, 0xd7, - 0xce, 0xf3, 0x34, 0x69, 0xbf, 0x34, 0x84, 0xb4, 0xf3, 0x01, 0x38, 0x5d, 0xda, 0xfb, 0xd6, 0x42, - 0xb6, 0x61, 0x52, 0x58, 0xb3, 0xbc, 0xc3, 0x5e, 0xd4, 0x32, 0xea, 0xa8, 0x45, 0x7c, 0x8b, 0x21, - 0x32, 0x80, 0xf5, 0xb4, 0x50, 0xe3, 0x42, 0xda, 0x30, 0xc7, 0x7f, 0xeb, 0x5b, 0xf3, 0xc5, 0xbe, - 0x5b, 0xf3, 0x6b, 0xa2, 0x45, 0x57, 0x04, 0xff, 0xc4, 0x0e, 0x5d, 0xa9, 0x28, 0x8d, 0x31, 0xe9, - 0x00, 0xd1, 0xc0, 0x7c, 0xd2, 0x5e, 0x19, 0xbc, 0x21, 0x7f, 0x4d, 0xd4, 0xb9, 0x98, 0xac, 0x33, - 0x39, 0x73, 0x53, 0x78, 0x13, 0x07, 0x66, 0x04, 0x94, 0xed, 0x5d, 0x51, 0xc3, 0xbf, 0xa4, 0xdd, - 0x5b, 0x4d, 0x94, 0xf2, 0x0c, 0xe8, 0xb2, 0x26, 0xbc, 0x20, 0x98, 0x50, 0xe8, 0x49, 0x7e, 0xe6, - 0x8f, 0x8c, 0x9e, 0x3a, 0xd8, 0x1e, 0x19, 0x7f, 0x28, 0xa9, 0x37, 0x70, 0x8f, 0xcc, 0x39, 0xe2, - 0x5e, 0x3d, 0x46, 0x60, 0xb6, 0x8d, 0x7a, 0x0d, 0x39, 0x2b, 0x1e, 0x38, 0xe3, 0xa0, 0x78, 0xeb, - 0xb6, 0x28, 0xa3, 0x92, 0xb2, 0xb1, 0x8d, 0x84, 0x51, 0x49, 0x22, 0x16, 0xc9, 0xfc, 0x95, 0x8c, - 0x2e, 0x25, 0xe4, 0x9a, 0x62, 0x66, 0x2b, 0x17, 0xa1, 0xa5, 0x99, 0xad, 0x18, 0xd7, 0x7f, 0xcf, - 0x80, 0xb9, 0x4d, 0xff, 0xd0, 0x69, 0xbb, 0x3f, 0xe0, 0x69, 0x52, 0x3c, 0xec, 0xc6, 0xe8, 0x26, - 0xc5, 0x17, 0x9a, 0x6e, 0xd5, 0x53, 0x2a, 0x66, 0x03, 0x8b, 0x23, 0x6c, 0xa5, 0x7d, 0x0f, 0xc6, - 0x79, 0xe2, 0x87, 0x29, 0x59, 0x6f, 0x39, 0x3a, 0x87, 0x9b, 0x3f, 0xce, 0xc0, 0x84, 0x22, 0xb1, - 0xe4, 0xab, 0x30, 0xa9, 0xf2, 0x51, 0xfd, 0x2b, 0x6a, 0xb5, 0x96, 0x86, 0x85, 0x0e, 0x16, 0xea, - 0xb4, 0x34, 0x07, 0x0b, 0x93, 0x4b, 0x84, 0x9e, 0x71, 0x27, 0xf2, 0x61, 0xca, 0x4e, 0xe4, 0x4c, - 0x79, 0xf6, 0xdf, 0xeb, 0xdd, 0x8f, 0x0c, 0x9f, 0x16, 0xdf, 0xfc, 0x0d, 0x03, 0x0a, 0xc9, 0x39, - 0xf5, 0x85, 0xf4, 0xca, 0x19, 0x7c, 0xd1, 0x7f, 0x23, 0x03, 0x85, 0x6d, 0x9f, 0x6d, 0xfc, 0x1b, - 0x32, 0x7a, 0xfd, 0x59, 0x0d, 0x09, 0x78, 0x5f, 0x73, 0x13, 0x3f, 0x17, 0x2d, 0x03, 0x6a, 0xe3, - 0x06, 0xdc, 0xd8, 0xce, 0xfd, 0xce, 0xdf, 0x5d, 0x3c, 0x67, 0x7e, 0x0a, 0xf3, 0xc9, 0xee, 0x40, - 0x57, 0x71, 0x11, 0x66, 0x74, 0x78, 0x32, 0x99, 0x65, 0x92, 0xca, 0x4a, 0xe2, 0x9b, 0x7f, 0x92, - 0x49, 0xf2, 0x16, 0xe1, 0x01, 0x4c, 0xe9, 0xb4, 0x9d, 0xfd, 0x66, 0x94, 0x6f, 0x4f, 0xbc, 0xaa, - 0x88, 0x20, 0x4b, 0x96, 0x9d, 0x25, 0xad, 0x69, 0x14, 0x83, 0x9d, 0x4d, 0x8f, 0xc1, 0x26, 0x77, - 0x12, 0x31, 0x2d, 0xb9, 0xf8, 0x56, 0xcd, 0x43, 0xba, 0x6f, 0xc7, 0x71, 0x2d, 0x89, 0x50, 0x96, - 0x32, 0xcc, 0x6b, 0x19, 0x73, 0x24, 0xfd, 0x48, 0xec, 0xda, 0x0c, 0xb1, 0x80, 0x13, 0xa7, 0x22, - 0xe3, 0x0b, 0xcb, 0x5e, 0x93, 0xed, 0xc4, 0x84, 0x07, 0x58, 0x7d, 0x7c, 0x4e, 0xae, 0x35, 0xca, - 0xa5, 0x8c, 0x26, 0x65, 0x2b, 0xb4, 0xf6, 0x4c, 0x05, 0x47, 0x34, 0xff, 0x77, 0x83, 0xcd, 0xff, - 0xfa, 0xfd, 0x2f, 0x59, 0xc2, 0x55, 0xd6, 0xa4, 0x01, 0xd1, 0x2b, 0xff, 0x95, 0xc1, 0x53, 0x26, - 0x0a, 0xf1, 0x79, 0x07, 0x46, 0xb7, 0x1d, 0xff, 0x90, 0x86, 0x22, 0xb9, 0x9f, 0xca, 0x85, 0x17, - 0xc4, 0xd7, 0x99, 0x43, 0xfc, 0x6d, 0x09, 0x02, 0xd5, 0x75, 0x95, 0x19, 0xca, 0x75, 0xa5, 0x38, - 0x42, 0xb3, 0x4f, 0xcb, 0x11, 0x6a, 0xfe, 0x5f, 0x19, 0xde, 0x1e, 0xf1, 0x51, 0xc3, 0x3e, 0xec, - 0x7b, 0x15, 0x72, 0x4c, 0x0e, 0xd4, 0xf7, 0x99, 0x99, 0xac, 0xa8, 0x78, 0xac, 0x9c, 0xcd, 0x1b, - 0xd4, 0xff, 0x6a, 0x8e, 0x5f, 0x5c, 0x22, 0xd4, 0x79, 0x83, 0x18, 0x78, 0xc9, 0xcc, 0x6b, 0x50, - 0x75, 0x3a, 0xb4, 0xbd, 0x86, 0x7e, 0xc9, 0xcc, 0x6b, 0x60, 0xb6, 0xa7, 0x28, 0xd5, 0x9e, 0x1a, - 0x2c, 0xdd, 0x3a, 0x70, 0x6c, 0x9e, 0xe2, 0x4d, 0x5d, 0x01, 0xe2, 0xac, 0x7c, 0x55, 0x98, 0xd6, - 0x5f, 0x4f, 0x10, 0x51, 0x34, 0x78, 0x3b, 0x30, 0xf1, 0xf2, 0x82, 0xea, 0xf1, 0xd5, 0x89, 0x48, - 0x09, 0xa6, 0xb4, 0xab, 0xfd, 0xea, 0xe3, 0xf8, 0x7a, 0x62, 0x00, 0xd5, 0xef, 0xa7, 0x91, 0x28, - 0x17, 0x6b, 0xbe, 0x02, 0x05, 0x31, 0x33, 0xa3, 0x74, 0xcb, 0x78, 0xb8, 0xb8, 0x5a, 0xb1, 0xd4, - 0xd9, 0x54, 0x77, 0x1b, 0xbe, 0x85, 0x50, 0xf3, 0xa7, 0x06, 0x5c, 0xda, 0xa0, 0xe1, 0x43, 0xcf, - 0xbf, 0x6f, 0xd1, 0x20, 0xf4, 0x5d, 0x9e, 0xbd, 0x19, 0xe5, 0xf1, 0xab, 0xe4, 0x3d, 0xf9, 0x24, - 0xa4, 0xae, 0x20, 0x93, 0x75, 0x94, 0xa6, 0x84, 0x50, 0x8e, 0x60, 0xe0, 0x86, 0x7c, 0x0a, 0xf2, - 0x1d, 0xf1, 0x14, 0x64, 0x66, 0x30, 0x71, 0x34, 0x2f, 0x1a, 0xb4, 0x2d, 0x9f, 0x80, 0xfc, 0x8d, - 0x0c, 0x9c, 0x4f, 0xf9, 0xac, 0xdd, 0xaf, 0x3e, 0xa3, 0xca, 0xa1, 0xa4, 0x29, 0x07, 0xf9, 0x56, - 0x70, 0xdf, 0x8e, 0x4f, 0xd5, 0x15, 0x7f, 0xcb, 0x80, 0x8b, 0xba, 0xf4, 0x88, 0xe0, 0xaa, 0xdd, - 0xdb, 0xe4, 0x5d, 0x18, 0x5d, 0xa1, 0x4e, 0x83, 0xca, 0xac, 0xa0, 0xe7, 0x13, 0x8f, 0x4e, 0xf3, - 0x42, 0xce, 0xf6, 0x4f, 0xf8, 0x54, 0x3e, 0x67, 0x09, 0x12, 0x52, 0x11, 0x1f, 0xc7, 0xcd, 0x52, - 0x53, 0xde, 0xe8, 0x4a, 0xab, 0x6a, 0xc0, 0xd1, 0xec, 0xcf, 0x0d, 0x78, 0x6e, 0x00, 0x0d, 0x1b, - 0x38, 0x36, 0xf4, 0xea, 0xc0, 0xe1, 0xc2, 0x82, 0x50, 0xf2, 0x01, 0xcc, 0x6c, 0x0b, 0xb3, 0x56, - 0x0e, 0x47, 0x26, 0x0e, 0xfd, 0x97, 0x16, 0xaf, 0x2d, 0xc7, 0x25, 0x89, 0xac, 0x5d, 0x35, 0xcc, - 0x0e, 0xbc, 0x6a, 0xa8, 0xde, 0xdc, 0xcb, 0x0d, 0x7b, 0x73, 0xef, 0xd3, 0xe4, 0x93, 0x2c, 0x22, - 0xe5, 0x46, 0x7c, 0x6f, 0xd1, 0xe8, 0x7f, 0x6f, 0x51, 0x86, 0x23, 0x64, 0x52, 0xaf, 0x44, 0xfd, - 0xd8, 0x80, 0x82, 0xce, 0xfb, 0x49, 0xc7, 0xf3, 0x7d, 0x6d, 0x3c, 0x9f, 0x4b, 0x1f, 0xcf, 0xfe, - 0x03, 0xd9, 0xf3, 0xfc, 0xcc, 0x50, 0x03, 0x68, 0xc2, 0x68, 0xc5, 0x6b, 0x39, 0x6e, 0x5b, 0x7d, - 0x3d, 0xa4, 0x81, 0x10, 0x4b, 0x94, 0x0c, 0x75, 0xcb, 0xd3, 0xfc, 0xd5, 0x11, 0xb8, 0x64, 0xd1, - 0x43, 0x97, 0x59, 0x55, 0x3b, 0x81, 0xdb, 0x3e, 0xd4, 0x2e, 0xac, 0x99, 0x89, 0x0e, 0x17, 0x19, - 0xa1, 0x18, 0x24, 0xea, 0xef, 0xd7, 0x21, 0xcf, 0x54, 0xbb, 0xd2, 0xe7, 0xe8, 0x21, 0xc7, 0x87, - 0xbf, 0xb8, 0x30, 0xc8, 0x62, 0x72, 0x5d, 0x2c, 0x3c, 0x4a, 0xce, 0x3e, 0xb6, 0xf0, 0x7c, 0x76, - 0xb2, 0x08, 0xb5, 0xe3, 0x20, 0xa4, 0x68, 0xe0, 0x8b, 0xc5, 0x27, 0xb2, 0xc4, 0x72, 0x7d, 0x2c, - 0xb1, 0x75, 0x98, 0x2f, 0x36, 0xb8, 0x52, 0x73, 0x9a, 0x5b, 0xbe, 0xdb, 0xae, 0xbb, 0x1d, 0xa7, - 0x29, 0x77, 0x17, 0x78, 0x4e, 0xe2, 0x44, 0xe5, 0x76, 0x27, 0x42, 0xb0, 0x52, 0xc9, 0x58, 0x33, - 0x2a, 0x1b, 0x35, 0xfe, 0xae, 0x13, 0x3f, 0xfc, 0xc0, 0x66, 0x34, 0xda, 0x01, 0x7f, 0xd8, 0xc9, - 0x8a, 0x8a, 0xd1, 0x06, 0xc4, 0xc3, 0xe1, 0xed, 0xb5, 0x5a, 0x1c, 0x3c, 0xcf, 0x53, 0x0a, 0xf1, - 0x03, 0xe4, 0xb0, 0x19, 0xe0, 0x21, 0xb2, 0x86, 0x17, 0xd3, 0xd5, 0x6a, 0x2b, 0x8c, 0x2e, 0xdf, - 0x43, 0x17, 0x04, 0x47, 0x2a, 0x1d, 0xc7, 0x23, 0x37, 0x01, 0x78, 0xc2, 0x14, 0x14, 0x88, 0xf1, - 0xd8, 0x62, 0xf4, 0x11, 0xca, 0x2d, 0x46, 0x05, 0x85, 0xbc, 0x07, 0x73, 0xd5, 0xf2, 0x92, 0x74, - 0x59, 0x55, 0xbc, 0x7a, 0x17, 0x8f, 0xfb, 0x00, 0xeb, 0xc3, 0x31, 0xa4, 0xf5, 0x25, 0x26, 0x05, - 0x69, 0x68, 0xe4, 0x2a, 0x8c, 0xad, 0x56, 0x78, 0xdf, 0x4f, 0xa8, 0x79, 0x33, 0xc5, 0x31, 0xba, - 0x2c, 0x24, 0x9b, 0xb1, 0x49, 0x33, 0x79, 0xaa, 0x49, 0x73, 0x69, 0x08, 0x73, 0x86, 0xa7, 0xd7, - 0xe4, 0xc9, 0x99, 0xcb, 0x5e, 0x83, 0x06, 0xbb, 0xb7, 0xbe, 0x64, 0xe9, 0x35, 0x95, 0xb6, 0xe1, - 0x34, 0xbf, 0x95, 0xaa, 0x12, 0xfe, 0x5d, 0x4c, 0xaf, 0xd9, 0x83, 0x4b, 0xbe, 0x0e, 0x23, 0xf8, - 0x53, 0xd8, 0x07, 0x73, 0x29, 0x6c, 0x63, 0xdb, 0xa0, 0xce, 0x9f, 0xc9, 0x41, 0x02, 0xb2, 0x0a, - 0x63, 0x22, 0xad, 0xf5, 0x59, 0x92, 0xc4, 0x89, 0x0c, 0xef, 0x7c, 0x90, 0x04, 0xbd, 0xd9, 0x80, - 0x49, 0xb5, 0x42, 0x26, 0x9c, 0x2b, 0x4e, 0x70, 0x44, 0x1b, 0xec, 0x97, 0xc8, 0xef, 0x8a, 0xc2, - 0x79, 0x84, 0x50, 0x9b, 0x7d, 0x87, 0xa5, 0xa0, 0x30, 0xb5, 0xb4, 0x1a, 0xec, 0x04, 0xe2, 0x53, - 0xc4, 0x9e, 0xcd, 0xc5, 0xfd, 0x7f, 0xc3, 0x12, 0x45, 0xe6, 0x2f, 0xc0, 0xfc, 0x46, 0xb7, 0xd9, - 0x64, 0xfb, 0x37, 0x99, 0xff, 0x2b, 0x74, 0x42, 0x4a, 0x4a, 0x30, 0x82, 0x7f, 0x88, 0x47, 0x1a, - 0xe7, 0xf4, 0x57, 0xab, 0xb0, 0x08, 0x63, 0x6f, 0x0c, 0xbc, 0xee, 0x16, 0xea, 0xaf, 0x9e, 0x71, - 0x52, 0xf3, 0x67, 0xf1, 0x83, 0x4d, 0xdb, 0xbe, 0x53, 0xbf, 0x4f, 0xfd, 0x33, 0x3e, 0x8a, 0xff, - 0xb1, 0xfc, 0x08, 0x5d, 0xe5, 0xa7, 0x7d, 0xf0, 0x69, 0x1f, 0x43, 0xde, 0x83, 0x09, 0xa1, 0xf7, - 0x95, 0x24, 0x0d, 0x78, 0x13, 0x56, 0xbe, 0x23, 0x96, 0x38, 0x4c, 0x56, 0xd1, 0x71, 0x35, 0xd3, - 0x9b, 0xb2, 0x7b, 0xeb, 0x8b, 0x58, 0xcd, 0xf4, 0x3a, 0x06, 0x88, 0xee, 0x0f, 0x21, 0xd9, 0xb7, - 0x42, 0x76, 0xef, 0xa8, 0xd7, 0xb2, 0x8d, 0xd8, 0xf0, 0x8f, 0xaf, 0x65, 0xab, 0x86, 0x7f, 0x84, - 0x1a, 0x8d, 0x49, 0xe6, 0x94, 0x31, 0xf9, 0x40, 0x8e, 0x49, 0xb6, 0xbf, 0x60, 0xcc, 0x0d, 0x18, - 0x87, 0x5a, 0x3c, 0x43, 0x72, 0x43, 0xed, 0xcf, 0xf0, 0x7d, 0x77, 0x31, 0x43, 0x92, 0x0a, 0x4d, - 0x70, 0x52, 0x37, 0x7d, 0x23, 0xc3, 0x33, 0x3d, 0x25, 0xfa, 0xe5, 0x1b, 0x30, 0x59, 0x0c, 0x43, - 0xa7, 0x7e, 0x44, 0x1b, 0x15, 0xa6, 0x9e, 0x94, 0x1b, 0xa4, 0x8e, 0x80, 0xab, 0xce, 0x72, 0x15, - 0x97, 0x67, 0x44, 0x71, 0x02, 0x11, 0x86, 0x14, 0x65, 0x44, 0x61, 0x10, 0x3d, 0x23, 0x0a, 0x83, - 0xb0, 0x4d, 0xee, 0x6a, 0xfb, 0x81, 0xcb, 0xfa, 0x24, 0x1f, 0x3f, 0x42, 0xe3, 0x72, 0x90, 0xaa, - 0x5c, 0x05, 0x16, 0x79, 0x47, 0x31, 0x0b, 0xc7, 0xe3, 0xfd, 0x19, 0xdf, 0x3b, 0xdb, 0xd2, 0x3a, - 0x54, 0x4d, 0xbe, 0xc8, 0x4e, 0xbc, 0x03, 0x63, 0xd2, 0x25, 0x02, 0xf1, 0x9e, 0x4c, 0x50, 0xf6, - 0xde, 0x13, 0x92, 0xc8, 0xf8, 0xfe, 0x83, 0x92, 0xa7, 0x76, 0x42, 0x79, 0xff, 0x41, 0xc9, 0x53, - 0xab, 0xbd, 0xff, 0xa0, 0x64, 0xac, 0x8d, 0x76, 0xb8, 0x93, 0xa7, 0xee, 0x70, 0x77, 0x61, 0x72, - 0xcb, 0xf1, 0x43, 0x97, 0x99, 0x0b, 0xed, 0x90, 0xbf, 0xde, 0x18, 0x3b, 0x60, 0x94, 0xa2, 0xd2, - 0x8b, 0xf2, 0x1d, 0x84, 0x8e, 0x82, 0xaf, 0x27, 0xd0, 0x8f, 0xe1, 0xe9, 0x41, 0x48, 0xd3, 0x4f, - 0x12, 0x84, 0x94, 0x8f, 0x9e, 0x5b, 0x9e, 0x89, 0x43, 0xbe, 0xa2, 0x37, 0x94, 0x93, 0xbd, 0x8f, - 0x1e, 0x81, 0x6f, 0xc3, 0x24, 0xfb, 0x1b, 0x5f, 0x75, 0x73, 0x29, 0x7f, 0x9d, 0x31, 0xce, 0x3a, - 0xa5, 0x4f, 0x68, 0xfe, 0xf4, 0x5b, 0x8d, 0x86, 0x7c, 0x02, 0x23, 0xe3, 0xa4, 0x37, 0x4d, 0xe3, - 0x46, 0x3e, 0x84, 0x49, 0xf5, 0x29, 0x4c, 0xbc, 0xbc, 0x25, 0xc2, 0xc8, 0x1a, 0x02, 0xde, 0x93, - 0x94, 0x48, 0x25, 0x60, 0xcb, 0x7c, 0xb1, 0xc3, 0x15, 0x24, 0x51, 0xa4, 0xbd, 0xd3, 0xa3, 0x1c, - 0x25, 0x1a, 0xf9, 0x08, 0x26, 0x8b, 0x9d, 0x4e, 0xac, 0x71, 0xe6, 0x94, 0x7d, 0x7e, 0xa7, 0x63, - 0xa7, 0x6a, 0x1d, 0x8d, 0x22, 0xa9, 0x98, 0xe7, 0xcf, 0xa6, 0x98, 0xff, 0xcc, 0x80, 0x8b, 0x7d, - 0xba, 0x2d, 0x4a, 0xc8, 0x63, 0x0c, 0x4e, 0xc8, 0xc3, 0xa6, 0x9f, 0xbe, 0x39, 0xc3, 0xe9, 0x27, - 0x4c, 0x15, 0xb5, 0xd1, 0xd2, 0x68, 0x49, 0x7f, 0x4a, 0x32, 0xfb, 0x85, 0x3d, 0x25, 0x69, 0x9e, - 0x18, 0x30, 0xa1, 0x08, 0x33, 0xb9, 0xa2, 0xdc, 0x01, 0x29, 0xf0, 0x0c, 0x8e, 0x0a, 0x87, 0x0c, - 0x57, 0xe7, 0x28, 0x99, 0x99, 0xd3, 0x5d, 0x54, 0xf8, 0xa6, 0xb2, 0x92, 0xb4, 0xa8, 0x95, 0xf0, - 0x27, 0xe1, 0x1b, 0xca, 0xdf, 0x01, 0x58, 0x73, 0x82, 0xb0, 0x58, 0x0f, 0xdd, 0x07, 0x74, 0x08, - 0xcd, 0x1d, 0xbf, 0x81, 0xe2, 0xe0, 0x53, 0xfd, 0x8c, 0xac, 0xe7, 0x0d, 0x94, 0x88, 0xa1, 0xf9, - 0x17, 0x06, 0x4c, 0xac, 0xb6, 0x83, 0xd0, 0x69, 0x36, 0x71, 0x69, 0xfd, 0x32, 0x65, 0xbb, 0x8d, - 0xda, 0x35, 0x60, 0x39, 0x7f, 0x1b, 0x66, 0x12, 0x68, 0x6c, 0x4b, 0x58, 0xc3, 0xbb, 0x5c, 0xea, - 0x96, 0x90, 0xdf, 0xee, 0xb2, 0x44, 0x89, 0x59, 0x55, 0xc8, 0x76, 0x6f, 0xe1, 0x31, 0xc0, 0x12, - 0x80, 0x2b, 0x41, 0xd2, 0x80, 0x25, 0xc9, 0x2f, 0xd9, 0xbd, 0x65, 0x29, 0x58, 0xe6, 0x06, 0x8c, - 0xd6, 0x3c, 0x3f, 0x2c, 0x1d, 0x73, 0x9b, 0xb1, 0x42, 0x83, 0xba, 0xea, 0xe7, 0x77, 0xd1, 0xe3, - 0x57, 0xb7, 0x44, 0x11, 0xdb, 0x31, 0x2e, 0xbb, 0xb4, 0xd9, 0x50, 0xe3, 0xaf, 0x0e, 0x18, 0xc0, - 0xe2, 0x70, 0x66, 0x57, 0x5f, 0x88, 0xd3, 0x47, 0xc6, 0x81, 0x5e, 0x4f, 0x6a, 0x33, 0x95, 0xb5, - 0xfe, 0x7d, 0x49, 0x7f, 0x22, 0x46, 0xab, 0x69, 0x40, 0x57, 0xff, 0x81, 0x01, 0x97, 0xfb, 0x93, - 0xa8, 0xb1, 0x63, 0xc6, 0x80, 0xd8, 0xb1, 0x57, 0x93, 0x7e, 0x69, 0x44, 0x13, 0x7e, 0xe9, 0xd8, - 0x1b, 0x5d, 0xc1, 0xd0, 0xbd, 0x7a, 0xf4, 0x1c, 0xd7, 0x95, 0x01, 0xdf, 0x8c, 0x88, 0x7c, 0x98, - 0x43, 0xa4, 0xb1, 0x04, 0xad, 0xf9, 0xcf, 0x73, 0x70, 0xa9, 0x2f, 0x05, 0x59, 0xd1, 0x9e, 0x53, - 0xbf, 0x7e, 0x5a, 0x0d, 0x37, 0xf0, 0xdf, 0xd4, 0x07, 0xd6, 0x37, 0xa3, 0x0c, 0xa4, 0xfc, 0x89, - 0xf5, 0x37, 0x4e, 0xe5, 0xc5, 0xd1, 0x91, 0x19, 0xf4, 0x26, 0x23, 0xc5, 0xa8, 0x7b, 0x1a, 0x3a, - 0xae, 0x78, 0xcf, 0x5c, 0x46, 0xdd, 0x73, 0x90, 0x25, 0xcb, 0xe2, 0x80, 0xbe, 0x5c, 0x7a, 0x40, - 0x9f, 0xf9, 0x7f, 0x1b, 0x30, 0x1e, 0x7d, 0x36, 0xb9, 0x0c, 0x17, 0xb6, 0xad, 0x62, 0xb9, 0x6a, - 0x6f, 0x7f, 0xba, 0x55, 0xb5, 0x77, 0x36, 0x6a, 0x5b, 0xd5, 0xf2, 0xea, 0xf2, 0x6a, 0xb5, 0x52, - 0x38, 0x47, 0x66, 0x61, 0x6a, 0x67, 0xe3, 0xde, 0xc6, 0xe6, 0xde, 0x86, 0x5d, 0xb5, 0xac, 0x4d, - 0xab, 0x60, 0x90, 0x29, 0x18, 0xb7, 0x4a, 0xc5, 0xb2, 0xbd, 0xb1, 0x59, 0xa9, 0x16, 0x32, 0xa4, - 0x00, 0x93, 0xe5, 0xcd, 0x8d, 0x8d, 0x6a, 0x79, 0x7b, 0x75, 0x77, 0x75, 0xfb, 0xd3, 0x42, 0x96, - 0x10, 0x98, 0x46, 0x84, 0x2d, 0x6b, 0x75, 0xa3, 0xbc, 0xba, 0x55, 0x5c, 0x2b, 0xe4, 0x18, 0x8c, - 0xe1, 0x2b, 0xb0, 0x91, 0x88, 0xd1, 0xbd, 0x9d, 0x52, 0xb5, 0x30, 0xca, 0x50, 0xd8, 0x5f, 0x0a, - 0xca, 0x18, 0xab, 0x1e, 0x51, 0x2a, 0xc5, 0xed, 0x62, 0xa9, 0x58, 0xab, 0x16, 0xf2, 0xe4, 0x22, - 0xcc, 0x69, 0x20, 0x7b, 0x6d, 0xf3, 0xee, 0xea, 0x46, 0x61, 0x9c, 0xcc, 0x43, 0x21, 0x82, 0x55, - 0x4a, 0xf6, 0x4e, 0xad, 0x6a, 0x15, 0x20, 0x09, 0xdd, 0x28, 0xae, 0x57, 0x0b, 0x13, 0xe6, 0xfb, - 0x3c, 0x4c, 0x9f, 0x77, 0x35, 0xb9, 0x00, 0xa4, 0xb6, 0x5d, 0xdc, 0xde, 0xa9, 0x25, 0x1a, 0x3f, - 0x01, 0x63, 0xb5, 0x9d, 0x72, 0xb9, 0x5a, 0xab, 0x15, 0x0c, 0x02, 0x30, 0xba, 0x5c, 0x5c, 0x5d, - 0xab, 0x56, 0x0a, 0x19, 0xf3, 0xd7, 0x0d, 0x98, 0x4d, 0x3c, 0xaa, 0xfb, 0xa4, 0x73, 0xf1, 0x03, - 0x6d, 0xff, 0x22, 0xa3, 0xa8, 0x13, 0x95, 0x0c, 0x98, 0x86, 0x7e, 0xcf, 0x4b, 0xc2, 0x62, 0x02, - 0x7e, 0x0a, 0x05, 0xf9, 0x01, 0xeb, 0x4e, 0x58, 0x3f, 0x8a, 0xd5, 0xd8, 0x8b, 0x89, 0x4a, 0x12, - 0x68, 0xdc, 0x8f, 0x14, 0xa7, 0xd3, 0xef, 0x61, 0x63, 0x7e, 0x17, 0x2e, 0xf6, 0xa1, 0x25, 0x65, - 0x18, 0x8d, 0xf2, 0x72, 0x0e, 0x88, 0x62, 0x98, 0xd7, 0x5e, 0x31, 0x1e, 0xe5, 0x99, 0x37, 0x2d, - 0x01, 0x31, 0xff, 0xba, 0x01, 0x93, 0xc2, 0x3c, 0x2c, 0x36, 0xa9, 0x1f, 0x3e, 0x59, 0x0f, 0xbf, - 0xa3, 0xf5, 0x70, 0x14, 0x92, 0xaa, 0xf0, 0x67, 0xc5, 0xa9, 0x9d, 0xfb, 0x5f, 0x1b, 0x50, 0x48, - 0x22, 0x92, 0x0f, 0x20, 0x5f, 0xa3, 0x0f, 0xa8, 0xef, 0x86, 0xc7, 0x42, 0x57, 0xcc, 0xcb, 0xb3, - 0x0b, 0xc4, 0x11, 0x65, 0xdc, 0x0b, 0x15, 0x88, 0x5f, 0x56, 0x44, 0x33, 0xac, 0xca, 0x53, 0x36, - 0x78, 0xd9, 0xa7, 0xb5, 0xc1, 0x33, 0xff, 0x49, 0x06, 0x2e, 0xde, 0xa5, 0xa1, 0xda, 0xa6, 0x28, - 0xc7, 0xd5, 0x57, 0x86, 0x6b, 0x97, 0xd2, 0x92, 0x05, 0x18, 0xc3, 0x22, 0x79, 0x4d, 0xd6, 0x92, - 0x3f, 0x49, 0x29, 0x12, 0x83, 0xac, 0x96, 0x51, 0xb8, 0x4f, 0xdd, 0x37, 0x94, 0x1c, 0xa3, 0x52, - 0x0a, 0xc8, 0x55, 0x98, 0xc6, 0x24, 0x5a, 0x5d, 0x26, 0x3d, 0xb4, 0x21, 0x36, 0xba, 0x79, 0x2b, - 0x01, 0x25, 0xd7, 0xa1, 0xc0, 0x20, 0xc5, 0xfa, 0xfd, 0xb6, 0xf7, 0xb0, 0x49, 0x1b, 0x87, 0x94, - 0x3f, 0x49, 0x95, 0xb7, 0x7a, 0xe0, 0x97, 0xdf, 0x81, 0x89, 0xcf, 0x99, 0x07, 0xd8, 0xfc, 0xcd, - 0x0c, 0xcc, 0xe3, 0x47, 0x2b, 0x0c, 0xd1, 0xfd, 0xf8, 0x95, 0xb8, 0x17, 0x94, 0xd4, 0x98, 0x0e, - 0x03, 0xe9, 0xf6, 0x7a, 0xd4, 0x3b, 0xf1, 0xae, 0x36, 0x33, 0xc4, 0xae, 0x76, 0x45, 0x19, 0x97, - 0xec, 0x00, 0x79, 0xe3, 0xc6, 0x9b, 0xf8, 0xa5, 0xee, 0x9a, 0xa2, 0xf1, 0xaa, 0x9d, 0xe5, 0x35, - 0x8c, 0x21, 0xb7, 0xf7, 0xd7, 0x3f, 0x84, 0x19, 0xa9, 0x0c, 0xb6, 0xd7, 0x6a, 0x68, 0xe4, 0xce, - 0xc0, 0xc4, 0x6e, 0xd5, 0x5a, 0x5d, 0xfe, 0xd4, 0x5e, 0xde, 0x59, 0x5b, 0x2b, 0x9c, 0x63, 0x1a, - 0x5f, 0x00, 0xca, 0xc5, 0x82, 0x41, 0x26, 0x21, 0xbf, 0xba, 0x51, 0xab, 0x96, 0x77, 0xac, 0x6a, - 0x21, 0x73, 0x7d, 0x09, 0xa6, 0xe3, 0xcb, 0x8e, 0xa8, 0x97, 0xc7, 0x20, 0x6b, 0x15, 0xf7, 0x0a, - 0xe7, 0x98, 0xee, 0xdd, 0xba, 0x57, 0xae, 0xdd, 0xba, 0x55, 0x30, 0x98, 0x52, 0xbe, 0x5b, 0xde, - 0xb2, 0xef, 0xad, 0xd7, 0x0a, 0x99, 0xeb, 0x5f, 0x81, 0x59, 0x3c, 0x7c, 0x61, 0xa6, 0x1a, 0x6d, - 0x53, 0x1f, 0xab, 0x9d, 0x64, 0x1d, 0xd5, 0x71, 0x7c, 0x27, 0xa4, 0xbc, 0xce, 0xf5, 0x6e, 0x33, - 0x74, 0x3b, 0x4d, 0xfa, 0xa8, 0x60, 0x5c, 0x7f, 0x07, 0x66, 0x2c, 0xaf, 0x1b, 0xba, 0xed, 0xc3, - 0x5a, 0xc8, 0x30, 0x0e, 0x8f, 0xc9, 0x79, 0x98, 0xdd, 0xd9, 0x28, 0xae, 0x97, 0x56, 0xef, 0xee, - 0x6c, 0xee, 0xd4, 0xec, 0xf5, 0xe2, 0x76, 0x79, 0xa5, 0x70, 0x8e, 0x7d, 0xfd, 0xfa, 0x66, 0x6d, - 0xdb, 0xb6, 0xaa, 0xe5, 0xea, 0xc6, 0x76, 0xc1, 0xb8, 0xfe, 0x6b, 0x06, 0x4c, 0x33, 0x23, 0x1f, - 0xbd, 0xc8, 0x3b, 0x38, 0x39, 0xaf, 0xc0, 0xf3, 0x6c, 0x9d, 0xb1, 0xb7, 0x37, 0xef, 0x55, 0x37, - 0xec, 0x9d, 0x5a, 0xf1, 0x6e, 0x72, 0x01, 0x5d, 0x84, 0xe7, 0x14, 0x0c, 0xab, 0x5a, 0xde, 0xdc, - 0xad, 0x5a, 0xf6, 0x56, 0xb1, 0x56, 0xdb, 0xdb, 0xb4, 0x2a, 0x05, 0x83, 0xad, 0xbe, 0x29, 0x08, - 0xeb, 0xcb, 0xc5, 0x42, 0xa6, 0xa7, 0x6c, 0xa3, 0xba, 0x57, 0x5c, 0xb3, 0x4b, 0x9b, 0xdb, 0x85, - 0xec, 0x75, 0xcc, 0x98, 0x8b, 0xb3, 0x86, 0x3b, 0x82, 0xf2, 0x90, 0xdb, 0xd8, 0xdc, 0xa8, 0xf2, - 0x65, 0x6b, 0xab, 0xba, 0x51, 0x59, 0xdd, 0xb8, 0xcb, 0xfb, 0xb8, 0xb8, 0xb5, 0x65, 0x6d, 0xee, - 0xb2, 0x85, 0x8b, 0x75, 0x64, 0xa5, 0xba, 0xc1, 0xbe, 0x2c, 0x7b, 0xdd, 0x84, 0xd9, 0x32, 0xf5, - 0xc3, 0xea, 0xa3, 0x90, 0xb6, 0x99, 0xb5, 0x8e, 0x7d, 0x37, 0x05, 0xe3, 0xd5, 0x6f, 0x6e, 0x57, - 0x37, 0x6a, 0xab, 0x9b, 0x1b, 0x85, 0x73, 0xd7, 0x9f, 0x4f, 0xe0, 0xc8, 0x61, 0xa9, 0xd5, 0x56, - 0x0a, 0xe7, 0xae, 0x7f, 0x1b, 0x26, 0x35, 0x27, 0xe7, 0x45, 0x98, 0x53, 0x7f, 0x6f, 0xd1, 0x76, - 0xc3, 0x6d, 0x1f, 0x16, 0xce, 0x25, 0x0b, 0xac, 0x6e, 0xbb, 0xcd, 0x0a, 0xb0, 0xf1, 0x6a, 0xc1, - 0x36, 0xf5, 0x5b, 0x6e, 0x9b, 0x69, 0xa8, 0x42, 0xe6, 0xfa, 0x0d, 0x98, 0xd2, 0x04, 0x9b, 0xd5, - 0xbb, 0xb6, 0x29, 0xc4, 0x61, 0xbd, 0x5a, 0x59, 0xdd, 0x59, 0x2f, 0x8c, 0xb0, 0x66, 0xaf, 0xac, - 0xde, 0x5d, 0x29, 0xc0, 0xf5, 0x6f, 0xc3, 0xb4, 0xd8, 0xea, 0xad, 0x2f, 0x17, 0xe5, 0x87, 0x6e, - 0x2e, 0x2f, 0x8b, 0x85, 0xbc, 0x5a, 0xc3, 0x36, 0x19, 0xe4, 0x79, 0x58, 0x10, 0x3f, 0xec, 0xe2, - 0x46, 0xc5, 0x5e, 0x29, 0x5a, 0x95, 0xbd, 0xa2, 0x55, 0xb5, 0xef, 0x55, 0x3f, 0x2d, 0x64, 0x98, - 0x2d, 0xa0, 0x42, 0xec, 0xed, 0xcd, 0x9d, 0xf2, 0x4a, 0x21, 0x5b, 0x7a, 0xff, 0x67, 0xff, 0xf2, - 0xc5, 0x73, 0x3f, 0xfb, 0xd3, 0x17, 0x8d, 0x3f, 0xf9, 0xd3, 0x17, 0x8d, 0xff, 0xf1, 0x4f, 0x5f, - 0x34, 0x7e, 0xe1, 0x8d, 0x33, 0x44, 0xde, 0xed, 0x8f, 0xe2, 0xcc, 0xba, 0xfd, 0xff, 0x04, 0x00, - 0x00, 0xff, 0xff, 0xc1, 0xc3, 0x0b, 0x83, 0x3a, 0x01, 0x01, 0x00, + 0x96, 0x20, 0xa6, 0xac, 0x2a, 0x92, 0xc5, 0xc7, 0xaf, 0x62, 0x90, 0x92, 0x28, 0xb5, 0x5a, 0x54, + 0x67, 0x77, 0xab, 0xd5, 0xea, 0x6e, 0xa9, 0x45, 0x75, 0x6b, 0xa6, 0xa7, 0x3f, 0x8b, 0x55, 0x45, + 0x91, 0x2d, 0x7e, 0x75, 0x16, 0x3f, 0xba, 0x77, 0xa6, 0x27, 0x27, 0x59, 0x15, 0x24, 0x73, 0x54, + 0x55, 0x59, 0x9b, 0x99, 0x25, 0x89, 0xb3, 0xb7, 0xb8, 0x5b, 0xdb, 0x73, 0xe3, 0xc5, 0xfa, 0x66, + 0x76, 0xed, 0xd9, 0x8f, 0x33, 0xee, 0x7c, 0x87, 0x85, 0xef, 0xe0, 0xb3, 0x6f, 0x17, 0xeb, 0xbd, + 0x1f, 0x77, 0x87, 0x03, 0xce, 0x5e, 0xc0, 0x58, 0x8c, 0x6d, 0xd8, 0xb7, 0xfe, 0xe9, 0xb1, 0x41, + 0xfb, 0x76, 0x0d, 0xff, 0xd0, 0x0f, 0xc3, 0x80, 0x01, 0x1b, 0xd7, 0xeb, 0x35, 0x8c, 0x78, 0x11, + 0x91, 0x19, 0x91, 0x95, 0x55, 0x2c, 0xb6, 0xd4, 0xf6, 0xaa, 0x71, 0x7f, 0x24, 0xd6, 0x8b, 0xf7, + 0x5e, 0x64, 0x44, 0xbc, 0x78, 0xf1, 0xe2, 0xc5, 0x8b, 0x17, 0xf0, 0x42, 0x48, 0x1b, 0xb4, 0xed, + 0xf9, 0xe1, 0xcd, 0x06, 0x3d, 0x70, 0x6a, 0x47, 0x37, 0xc3, 0xa3, 0x36, 0x0d, 0xf8, 0xbf, 0x37, + 0xda, 0xbe, 0x17, 0x7a, 0x64, 0x08, 0x7f, 0x5c, 0x9c, 0x3d, 0xf0, 0x0e, 0x3c, 0x84, 0xdc, 0x64, + 0x7f, 0xf1, 0xc2, 0x8b, 0xf3, 0x07, 0x9e, 0x77, 0xd0, 0xa0, 0x37, 0xf1, 0xd7, 0x5e, 0x67, 0xff, + 0x66, 0xe8, 0x36, 0x69, 0x10, 0x3a, 0xcd, 0xb6, 0x40, 0x78, 0x35, 0xaa, 0xc0, 0x09, 0x43, 0x56, + 0x12, 0xba, 0x5e, 0xeb, 0xe6, 0x83, 0x5b, 0xea, 0x4f, 0x81, 0xfa, 0x46, 0xfa, 0xb7, 0x3c, 0xf4, + 0x9d, 0x76, 0x9b, 0xfa, 0xf1, 0x1f, 0x1c, 0xdd, 0xfc, 0xc7, 0x59, 0x18, 0xbd, 0x47, 0x69, 0xbb, + 0xd8, 0x70, 0x1f, 0x50, 0xf2, 0x22, 0xe4, 0xd6, 0x9d, 0x26, 0x9d, 0x33, 0xae, 0x18, 0xd7, 0x46, + 0x17, 0xa7, 0x1e, 0x1f, 0xcf, 0x8f, 0x05, 0xd4, 0x7f, 0x40, 0x7d, 0xbb, 0xe5, 0x34, 0xa9, 0x85, + 0x85, 0xe4, 0x35, 0x18, 0x65, 0xff, 0x07, 0x6d, 0xa7, 0x46, 0xe7, 0x32, 0x88, 0x39, 0xf1, 0xf8, + 0x78, 0x7e, 0xb4, 0x25, 0x81, 0x56, 0x5c, 0x4e, 0xae, 0xc2, 0xc8, 0x2a, 0x75, 0x02, 0xba, 0x52, + 0x9e, 0xcb, 0x5e, 0x31, 0xae, 0x65, 0x17, 0xc7, 0x1f, 0x1f, 0xcf, 0xe7, 0x1b, 0x0c, 0x64, 0xbb, + 0x75, 0x4b, 0x16, 0x92, 0x15, 0x18, 0xa9, 0x3c, 0x6a, 0xbb, 0x3e, 0x0d, 0xe6, 0x72, 0x57, 0x8c, + 0x6b, 0x63, 0x0b, 0x17, 0x6f, 0xf0, 0x4e, 0xb9, 0x21, 0x3b, 0xe5, 0xc6, 0x96, 0xec, 0x94, 0xc5, + 0x99, 0x9f, 0x1d, 0xcf, 0x9f, 0x79, 0x7c, 0x3c, 0x3f, 0x42, 0x39, 0xc9, 0xaf, 0xff, 0x4f, 0xf3, + 0x86, 0x25, 0xe9, 0xc9, 0x7b, 0x90, 0xdb, 0x3a, 0x6a, 0xd3, 0xb9, 0xd1, 0x2b, 0xc6, 0xb5, 0xc9, + 0x85, 0xcb, 0x37, 0xf8, 0x30, 0x44, 0x8d, 0x8c, 0xff, 0x62, 0x58, 0x8b, 0xf9, 0xc7, 0xc7, 0xf3, + 0x39, 0x86, 0x62, 0x21, 0x15, 0x79, 0x03, 0x86, 0x97, 0xbd, 0x20, 0x5c, 0x29, 0xcf, 0x01, 0x36, + 0xed, 0xec, 0xe3, 0xe3, 0xf9, 0xe9, 0x43, 0x2f, 0x08, 0x6d, 0xb7, 0xfe, 0xba, 0xd7, 0x74, 0x43, + 0xda, 0x6c, 0x87, 0x47, 0x96, 0x40, 0x32, 0x1f, 0xc1, 0x84, 0xc6, 0x8f, 0x8c, 0xc1, 0xc8, 0xf6, + 0xfa, 0xbd, 0xf5, 0x8d, 0xdd, 0xf5, 0xc2, 0x19, 0x92, 0x87, 0xdc, 0xfa, 0x46, 0xb9, 0x52, 0x30, + 0xc8, 0x08, 0x64, 0x8b, 0x9b, 0x9b, 0x85, 0x0c, 0x19, 0x87, 0x7c, 0xb9, 0xb8, 0x55, 0x5c, 0x2c, + 0x56, 0x2b, 0x85, 0x2c, 0x99, 0x81, 0xa9, 0xdd, 0x95, 0xf5, 0xf2, 0xc6, 0x6e, 0xd5, 0x2e, 0x57, + 0xaa, 0xf7, 0xb6, 0x36, 0x36, 0x0b, 0x39, 0x32, 0x09, 0x70, 0x6f, 0x7b, 0xb1, 0x62, 0xad, 0x57, + 0xb6, 0x2a, 0xd5, 0xc2, 0x10, 0x99, 0x85, 0x82, 0x24, 0xb1, 0xab, 0x15, 0x6b, 0x67, 0xa5, 0x54, + 0x29, 0x0c, 0x9b, 0x3f, 0xca, 0x42, 0x7e, 0x8d, 0x86, 0x4e, 0xdd, 0x09, 0x1d, 0x72, 0x49, 0x1b, + 0x38, 0x6c, 0x93, 0x32, 0x62, 0x2f, 0x76, 0x8f, 0xd8, 0xd0, 0xe3, 0xe3, 0x79, 0xe3, 0x0d, 0x75, + 0xa4, 0xde, 0x85, 0xb1, 0x32, 0x0d, 0x6a, 0xbe, 0xdb, 0x66, 0xd2, 0x84, 0xa3, 0x35, 0xba, 0x78, + 0xe1, 0xf1, 0xf1, 0xfc, 0xd9, 0x7a, 0x0c, 0x56, 0x7a, 0x40, 0xc5, 0x26, 0x2b, 0x30, 0xbc, 0xea, + 0xec, 0xd1, 0x46, 0x30, 0x37, 0x74, 0x25, 0x7b, 0x6d, 0x6c, 0xe1, 0x39, 0xd1, 0xeb, 0xf2, 0x03, + 0x6f, 0xf0, 0xd2, 0x4a, 0x2b, 0xf4, 0x8f, 0x16, 0x67, 0x1f, 0x1f, 0xcf, 0x17, 0x1a, 0x08, 0x50, + 0x7b, 0x94, 0xa3, 0x90, 0x6a, 0x2c, 0x09, 0xc3, 0x27, 0x4a, 0xc2, 0xf3, 0x3f, 0x3b, 0x9e, 0x37, + 0xd8, 0x08, 0x09, 0x49, 0x88, 0xf9, 0xe9, 0x32, 0x71, 0x05, 0x32, 0x2b, 0xe5, 0xb9, 0x11, 0x94, + 0xc0, 0xc2, 0xe3, 0xe3, 0xf9, 0x71, 0x6d, 0x30, 0x33, 0x2b, 0xe5, 0x8b, 0xef, 0xc0, 0x98, 0xf2, + 0x8d, 0xa4, 0x00, 0xd9, 0xfb, 0xf4, 0x88, 0xf7, 0xa7, 0xc5, 0xfe, 0x24, 0xb3, 0x30, 0xf4, 0xc0, + 0x69, 0x74, 0x44, 0x07, 0x5a, 0xfc, 0xc7, 0xb7, 0x32, 0xdf, 0x34, 0xcc, 0x7f, 0x37, 0x07, 0x79, + 0xcb, 0xe3, 0xb3, 0x90, 0xbc, 0x0a, 0x43, 0xd5, 0xd0, 0x09, 0xe5, 0x50, 0xcc, 0x3c, 0x3e, 0x9e, + 0x9f, 0x62, 0x33, 0x94, 0x2a, 0xf5, 0x71, 0x0c, 0x86, 0xba, 0x79, 0xe8, 0x04, 0x72, 0x48, 0x10, + 0xb5, 0xcd, 0x00, 0x2a, 0x2a, 0x62, 0x90, 0xab, 0x90, 0x5b, 0xf3, 0xea, 0x54, 0x8c, 0x0a, 0x79, + 0x7c, 0x3c, 0x3f, 0xd9, 0xf4, 0xea, 0x2a, 0x22, 0x96, 0x93, 0xd7, 0x61, 0xb4, 0xd4, 0xf1, 0x7d, + 0xda, 0x62, 0x02, 0x9c, 0x43, 0xe4, 0xc9, 0xc7, 0xc7, 0xf3, 0x50, 0xe3, 0x40, 0x36, 0xe5, 0x62, + 0x04, 0xd6, 0xd5, 0xd5, 0xd0, 0xf1, 0x43, 0x5a, 0x9f, 0x1b, 0x1a, 0xa8, 0xab, 0xd9, 0xa4, 0x9b, + 0x0e, 0x38, 0x49, 0xb2, 0xab, 0x05, 0x27, 0xb2, 0x0c, 0x63, 0x77, 0x7d, 0xa7, 0x46, 0x37, 0xa9, + 0xef, 0x7a, 0x75, 0x1c, 0xc3, 0xec, 0xe2, 0xd5, 0xc7, 0xc7, 0xf3, 0xe7, 0x0e, 0x18, 0xd8, 0x6e, + 0x23, 0x3c, 0xa6, 0xfe, 0xe2, 0x78, 0x3e, 0x5f, 0xee, 0xf8, 0xd8, 0x7b, 0x96, 0x4a, 0x4a, 0xbe, + 0xc7, 0x86, 0x24, 0x08, 0xb1, 0x6b, 0x69, 0x1d, 0x47, 0xaf, 0xff, 0x27, 0x9a, 0xe2, 0x13, 0xcf, + 0x35, 0x9c, 0x20, 0xb4, 0x7d, 0x4e, 0x97, 0xf8, 0x4e, 0x95, 0x25, 0xd9, 0x80, 0x7c, 0xb5, 0x76, + 0x48, 0xeb, 0x9d, 0x06, 0x9d, 0xcb, 0x23, 0xfb, 0xf3, 0x42, 0x70, 0xe5, 0x78, 0xca, 0xe2, 0xc5, + 0x8b, 0x82, 0x37, 0x09, 0x04, 0x44, 0xe9, 0xfb, 0x88, 0xc9, 0xb7, 0xf2, 0xbf, 0xf3, 0x77, 0xe7, + 0xcf, 0xfc, 0xb5, 0xff, 0xf1, 0xca, 0x19, 0xf3, 0x1f, 0x67, 0xa0, 0x90, 0x64, 0x42, 0xf6, 0x61, + 0x62, 0xbb, 0x5d, 0x77, 0x42, 0x5a, 0x6a, 0xb8, 0xb4, 0x15, 0x06, 0x28, 0x24, 0xfd, 0xdb, 0xf4, + 0x92, 0xa8, 0x77, 0xae, 0x83, 0x84, 0x76, 0x8d, 0x53, 0x26, 0x5a, 0xa5, 0xb3, 0x8d, 0xeb, 0xa9, + 0xa2, 0xf6, 0x0e, 0x50, 0xc2, 0x4e, 0x57, 0x0f, 0xd7, 0xfb, 0x3d, 0xea, 0x11, 0x6c, 0x85, 0x00, + 0xb5, 0xea, 0x7b, 0x47, 0x28, 0x99, 0x83, 0x0b, 0x10, 0x23, 0x49, 0x11, 0x20, 0x06, 0x36, 0xff, + 0x17, 0x03, 0x26, 0x2d, 0x1a, 0x78, 0x1d, 0xbf, 0x46, 0x97, 0xa9, 0x53, 0xa7, 0x3e, 0x13, 0xff, + 0x7b, 0x6e, 0xab, 0x2e, 0xe6, 0x14, 0x8a, 0xff, 0x7d, 0xb7, 0xa5, 0x4e, 0x61, 0x2c, 0x27, 0x6f, + 0xc2, 0x48, 0xb5, 0xb3, 0x87, 0xa8, 0x7c, 0x4e, 0x9d, 0xc3, 0x11, 0xeb, 0xec, 0xd9, 0x09, 0x74, + 0x89, 0x46, 0x6e, 0xc2, 0xc8, 0x0e, 0xf5, 0x83, 0x58, 0xe3, 0xa1, 0xbe, 0x7f, 0xc0, 0x41, 0x2a, + 0x81, 0xc0, 0x22, 0x77, 0x63, 0xad, 0x2b, 0x56, 0xaa, 0xa9, 0x84, 0xae, 0x8b, 0x45, 0xa5, 0x29, + 0x20, 0xaa, 0xa8, 0x48, 0x2c, 0xf3, 0x37, 0x32, 0x50, 0x28, 0x3b, 0xa1, 0xb3, 0xe7, 0x04, 0xa2, + 0x3f, 0x77, 0x6e, 0x33, 0x3d, 0xae, 0x34, 0x14, 0xf5, 0x38, 0xfb, 0xf2, 0x2f, 0xdd, 0xbc, 0x97, + 0x93, 0xcd, 0x1b, 0x63, 0xcb, 0xa6, 0x68, 0x5e, 0xdc, 0xa8, 0xf7, 0x4f, 0x6e, 0x54, 0x41, 0x34, + 0x2a, 0x2f, 0x1b, 0x15, 0x37, 0x85, 0xbc, 0x0f, 0xb9, 0x6a, 0x9b, 0xd6, 0x84, 0x12, 0x91, 0xba, + 0x5f, 0x6f, 0x1c, 0x43, 0xd8, 0xb9, 0xbd, 0x38, 0x2e, 0xd8, 0xe4, 0x82, 0x36, 0xad, 0x59, 0x48, + 0xa6, 0x4c, 0x9a, 0xff, 0x72, 0x18, 0x66, 0xd3, 0xc8, 0xc8, 0xfb, 0xfa, 0xe2, 0xc4, 0xbb, 0xe7, + 0xb9, 0x9e, 0x8b, 0xd3, 0x9c, 0xa1, 0x2f, 0x4f, 0xd7, 0x21, 0xbf, 0xc9, 0x04, 0xb2, 0xe6, 0x35, + 0x44, 0xcf, 0x31, 0xad, 0x98, 0x6f, 0x4b, 0x98, 0x61, 0x45, 0xe5, 0xe4, 0x39, 0xc8, 0x6e, 0x5b, + 0x2b, 0xa2, 0xbb, 0x46, 0x1f, 0x1f, 0xcf, 0x67, 0x3b, 0xbe, 0x3b, 0x67, 0x58, 0x0c, 0x4a, 0x6e, + 0xc2, 0x70, 0xa9, 0x58, 0xa2, 0x7e, 0x88, 0xdd, 0x34, 0xbe, 0x78, 0x9e, 0x49, 0x4b, 0xcd, 0xb1, + 0x6b, 0xd4, 0x0f, 0xb5, 0xea, 0x05, 0x1a, 0x79, 0x0d, 0xb2, 0xc5, 0xdd, 0xaa, 0xe8, 0x19, 0x10, + 0x3d, 0x53, 0xdc, 0xad, 0x2e, 0x4e, 0x88, 0x8e, 0xc8, 0x3a, 0x0f, 0x03, 0xc6, 0xbd, 0xb8, 0x5b, + 0x55, 0x47, 0x6b, 0xb8, 0xcf, 0x68, 0x5d, 0x83, 0x3c, 0xb3, 0x3e, 0xd8, 0x02, 0x8f, 0x4a, 0x71, + 0x94, 0x1b, 0x55, 0x87, 0x02, 0x66, 0x45, 0xa5, 0xe4, 0xc5, 0xc8, 0x98, 0xc9, 0xc7, 0xfc, 0x84, + 0x31, 0x23, 0x4d, 0x18, 0xf2, 0x08, 0x26, 0xca, 0x47, 0x2d, 0xa7, 0xe9, 0xd6, 0xc4, 0x12, 0x3e, + 0x8a, 0x4b, 0xf8, 0x8d, 0x3e, 0xc3, 0x78, 0x43, 0x23, 0xe0, 0xab, 0xba, 0x54, 0xbe, 0x73, 0x75, + 0x5e, 0x66, 0x27, 0x57, 0xf8, 0x39, 0xc3, 0xd2, 0x2b, 0x62, 0x73, 0x49, 0xaa, 0x48, 0xb4, 0xb6, + 0x62, 0xb1, 0x93, 0xe0, 0x78, 0x2e, 0xf9, 0x02, 0xa2, 0xce, 0xa5, 0x68, 0xd1, 0x7d, 0x1f, 0xb2, + 0x77, 0x4b, 0x9b, 0x73, 0x63, 0xc8, 0x83, 0x08, 0x1e, 0x77, 0x4b, 0x9b, 0xa5, 0x86, 0xd7, 0xa9, + 0x57, 0x3f, 0x59, 0x5d, 0x3c, 0x2f, 0xd8, 0x4c, 0x1c, 0xd4, 0xda, 0xda, 0x17, 0x31, 0x3a, 0x52, + 0x81, 0xbc, 0x6c, 0xe5, 0xdc, 0x38, 0xf2, 0x98, 0x4e, 0x34, 0x7e, 0xe7, 0x36, 0x9f, 0x6b, 0x75, + 0xf1, 0x5b, 0xfd, 0x0a, 0x89, 0x43, 0x6e, 0xa3, 0x94, 0x3d, 0x3a, 0x5a, 0x29, 0x07, 0x73, 0x13, + 0x57, 0xb2, 0xd7, 0x46, 0x51, 0x3c, 0x66, 0xda, 0x0c, 0x66, 0xbb, 0x75, 0xd5, 0xd8, 0x89, 0x10, + 0x2f, 0xee, 0x02, 0xe9, 0xee, 0xcc, 0x14, 0xf3, 0xe3, 0x35, 0xd5, 0xfc, 0x18, 0x5b, 0x38, 0x2b, + 0x3e, 0xb0, 0xe4, 0x35, 0x9b, 0x4e, 0xab, 0x8e, 0xb4, 0x3b, 0x0b, 0xaa, 0x55, 0x52, 0x84, 0xc9, + 0xf8, 0xeb, 0x57, 0xdd, 0x20, 0x24, 0x37, 0x61, 0x54, 0x42, 0xd8, 0xca, 0x93, 0x4d, 0x6d, 0xa7, + 0x15, 0xe3, 0x98, 0x7f, 0x9c, 0x01, 0x88, 0x4b, 0x9e, 0x51, 0xe5, 0xf4, 0x0d, 0x4d, 0x39, 0x9d, + 0x4d, 0x4a, 0x75, 0x4f, 0xb5, 0x44, 0x3e, 0x84, 0x61, 0x66, 0xa7, 0x75, 0xa4, 0x1d, 0x7a, 0x3e, + 0x49, 0x8a, 0x85, 0x3b, 0xb7, 0x17, 0x27, 0x05, 0xf1, 0x70, 0x80, 0x10, 0x4b, 0x90, 0x29, 0x7a, + 0xed, 0x0f, 0x87, 0xe2, 0xc1, 0x10, 0x1a, 0xed, 0x9a, 0xa2, 0x92, 0x8c, 0x78, 0x12, 0x4b, 0x95, + 0xa4, 0x28, 0xa4, 0x0b, 0x5c, 0x21, 0xf1, 0x4e, 0x1d, 0x11, 0x0a, 0x29, 0xa9, 0x8e, 0x78, 0x07, + 0x9e, 0xa8, 0x8e, 0xda, 0xc9, 0xb9, 0x9e, 0x43, 0x31, 0xb8, 0x96, 0xda, 0x2b, 0x69, 0xb3, 0xfc, + 0xca, 0x49, 0xb3, 0x3c, 0x39, 0xc7, 0x6f, 0xf7, 0x52, 0x80, 0x67, 0xe5, 0x94, 0x74, 0x1e, 0xaa, + 0xe4, 0xa8, 0x08, 0xdf, 0xe5, 0xf3, 0x79, 0xb8, 0xe7, 0x7c, 0x3e, 0x9b, 0x3a, 0x9f, 0xf9, 0x6c, + 0x7e, 0x17, 0x86, 0x8a, 0x3f, 0xe8, 0xf8, 0x54, 0x18, 0x8c, 0xe3, 0xb2, 0x4e, 0x06, 0x8b, 0x14, + 0xc1, 0x94, 0xc3, 0x7e, 0xaa, 0x86, 0x36, 0x96, 0xb3, 0x9a, 0xb7, 0x56, 0xab, 0xc2, 0x18, 0x24, + 0x89, 0x6e, 0xd9, 0x5a, 0x55, 0x3e, 0x3b, 0xd4, 0x5a, 0xcd, 0xa8, 0xc8, 0x4d, 0xc8, 0x14, 0xcb, + 0xb8, 0xef, 0x1c, 0x5b, 0x18, 0x95, 0xd5, 0x96, 0x17, 0x67, 0x05, 0xc9, 0xb8, 0xa3, 0x6d, 0x3a, + 0x8a, 0x65, 0xb2, 0x08, 0x43, 0x6b, 0x47, 0xd5, 0x4f, 0x56, 0x85, 0xf6, 0x9b, 0x91, 0x72, 0xcd, + 0x60, 0x1b, 0xb8, 0x74, 0x05, 0xf1, 0x17, 0x37, 0x8f, 0x82, 0x5f, 0x6c, 0xa8, 0x5f, 0x8c, 0x68, + 0x5f, 0x9d, 0x02, 0xf9, 0x0f, 0x55, 0x03, 0x45, 0xc8, 0x3a, 0xdb, 0x1e, 0x0b, 0x89, 0x33, 0x62, + 0x73, 0xa9, 0x4b, 0xe2, 0x22, 0x79, 0x7b, 0x95, 0x8f, 0x7e, 0xa6, 0x6b, 0xf4, 0xc7, 0x94, 0xe5, + 0x8f, 0x8f, 0x79, 0xd4, 0x17, 0xd9, 0x2f, 0xdd, 0x17, 0xe4, 0x43, 0x18, 0x5f, 0x73, 0x5a, 0xce, + 0x01, 0xad, 0x6f, 0x07, 0xcc, 0xec, 0xcd, 0xa1, 0x16, 0x66, 0x76, 0xc2, 0xf9, 0x26, 0x87, 0xdb, + 0x9d, 0x40, 0xb3, 0x6a, 0x2d, 0x8d, 0x80, 0xdc, 0x92, 0xb2, 0x33, 0x94, 0x22, 0x3b, 0x72, 0xc9, + 0x1e, 0x42, 0xd9, 0x11, 0x12, 0x63, 0xfe, 0xfd, 0x1c, 0xb6, 0x91, 0xbc, 0x0e, 0xc3, 0x16, 0x3d, + 0x88, 0xad, 0x13, 0xdc, 0xe5, 0xfa, 0x08, 0x51, 0x3b, 0x86, 0xe3, 0xe0, 0xd2, 0x47, 0xeb, 0xc1, + 0xa1, 0xbb, 0x1f, 0x8a, 0xde, 0x89, 0x96, 0x3e, 0x01, 0x56, 0x96, 0x3e, 0x01, 0xd1, 0x96, 0x3e, + 0x01, 0x63, 0xf3, 0xcb, 0x2a, 0x57, 0x45, 0xa7, 0xc9, 0x1e, 0xb6, 0xca, 0x8a, 0xa0, 0xfa, 0xda, + 0xca, 0xc3, 0xb0, 0xc9, 0x1d, 0x18, 0x2d, 0xd6, 0x6a, 0x5e, 0x47, 0xd9, 0x26, 0xce, 0x3d, 0x3e, + 0x9e, 0x9f, 0x75, 0x38, 0x50, 0x77, 0x75, 0xc4, 0xa8, 0xa4, 0x0a, 0x63, 0x15, 0xb6, 0xb7, 0x72, + 0x4b, 0x4e, 0xed, 0x50, 0x76, 0x92, 0x9c, 0x25, 0x4a, 0x49, 0x64, 0xeb, 0x9f, 0xa5, 0x08, 0xac, + 0x31, 0xa0, 0xea, 0x3b, 0x50, 0x70, 0xc9, 0x16, 0x8c, 0x55, 0x69, 0xcd, 0xa7, 0x61, 0x35, 0xf4, + 0x7c, 0x9a, 0x98, 0xf4, 0x4a, 0xc9, 0xe2, 0x65, 0xb9, 0xbd, 0x0b, 0x10, 0x68, 0x07, 0x0c, 0xaa, + 0x72, 0x55, 0x90, 0xb9, 0x9d, 0xde, 0xf4, 0xfc, 0xa3, 0xf2, 0xa2, 0x50, 0x04, 0xf1, 0xaa, 0xc1, + 0xc1, 0xaa, 0x9d, 0xce, 0x20, 0xf5, 0x3d, 0xdd, 0x4e, 0xe7, 0x58, 0x38, 0x52, 0xe5, 0x2a, 0xae, + 0xd7, 0x42, 0x2d, 0x4c, 0xc5, 0xbd, 0x8c, 0x60, 0x65, 0xa4, 0xea, 0x01, 0xae, 0xf6, 0xda, 0x48, + 0x09, 0x2c, 0xf3, 0x97, 0xb4, 0x76, 0xb2, 0x31, 0xb8, 0x47, 0x8f, 0x36, 0x7d, 0xba, 0xef, 0x3e, + 0x12, 0x22, 0x83, 0x63, 0x70, 0x9f, 0x1e, 0xd9, 0x6d, 0x84, 0xaa, 0x63, 0x10, 0xa1, 0x92, 0xb7, + 0x20, 0x7f, 0x6f, 0xad, 0x7a, 0x8f, 0x1e, 0xad, 0x94, 0xc5, 0x9a, 0xc0, 0xc9, 0x9a, 0x81, 0xcd, + 0x48, 0xb5, 0xa1, 0x8b, 0x30, 0xcd, 0xc5, 0x58, 0xde, 0x58, 0xcd, 0xa5, 0x46, 0x27, 0x08, 0xa9, + 0xbf, 0x52, 0x56, 0x6b, 0xae, 0x71, 0x60, 0x62, 0xf4, 0x23, 0x54, 0xf3, 0x7f, 0x30, 0x50, 0xd6, + 0xc8, 0x3b, 0x00, 0x2b, 0x2d, 0xb6, 0x89, 0xab, 0xd1, 0x88, 0x01, 0x3a, 0x8a, 0x5c, 0x01, 0xd5, + 0x39, 0x28, 0xc8, 0x7a, 0xd5, 0x99, 0x81, 0xab, 0x66, 0x55, 0xca, 0x2d, 0xa1, 0xf0, 0x24, 0x8a, + 0x2a, 0x7d, 0x01, 0x4d, 0x54, 0x19, 0x23, 0x93, 0xab, 0x30, 0xb2, 0x52, 0x5c, 0x2b, 0x76, 0xc2, + 0x43, 0x94, 0xf4, 0x3c, 0x5f, 0x67, 0x5d, 0xa7, 0x69, 0x3b, 0x9d, 0xf0, 0xd0, 0x92, 0x85, 0xe6, + 0x1f, 0x19, 0xf1, 0x40, 0xb3, 0x0d, 0xa7, 0xe2, 0x4f, 0xc3, 0x0d, 0x27, 0x33, 0xa8, 0xd5, 0x0d, + 0x27, 0x7a, 0xd6, 0x2c, 0x20, 0xa5, 0x4e, 0x10, 0x7a, 0xcd, 0x4a, 0xab, 0xde, 0xf6, 0xdc, 0x56, + 0x88, 0x54, 0xbc, 0x61, 0xe6, 0xe3, 0xe3, 0xf9, 0xcb, 0x35, 0x2c, 0xb5, 0xa9, 0x28, 0xb6, 0x13, + 0x5c, 0x52, 0xa8, 0x9f, 0xa0, 0xad, 0xe6, 0x7f, 0x95, 0xd1, 0x26, 0x28, 0xfb, 0x3c, 0x8b, 0xb6, + 0x1b, 0x6e, 0x0d, 0xcd, 0xe4, 0xbb, 0xbe, 0xd7, 0x69, 0x47, 0x23, 0x86, 0x9f, 0xe7, 0xc7, 0xa5, + 0xf6, 0x01, 0x2b, 0xd6, 0x79, 0xa7, 0x50, 0x93, 0x8f, 0x60, 0x9c, 0xe9, 0x4a, 0xf1, 0x33, 0x98, + 0xcb, 0xa0, 0x8e, 0xbd, 0x84, 0xae, 0x83, 0x80, 0xfa, 0x11, 0x1b, 0x4d, 0xc9, 0xaa, 0x14, 0xa4, + 0x0e, 0x73, 0x5b, 0xbe, 0xd3, 0x0a, 0xdc, 0xb0, 0xd2, 0xaa, 0xf9, 0x47, 0xa8, 0xdb, 0x2b, 0x2d, + 0x67, 0xaf, 0x41, 0xeb, 0xd8, 0xdc, 0xfc, 0xe2, 0xb5, 0xc7, 0xc7, 0xf3, 0x2f, 0x85, 0x1c, 0xc7, + 0xa6, 0x11, 0x92, 0x4d, 0x39, 0x96, 0xc2, 0xb9, 0x27, 0x27, 0xb6, 0x16, 0xc8, 0x6e, 0x45, 0x77, + 0x70, 0x2e, 0xda, 0x33, 0x9e, 0x8f, 0x46, 0x83, 0xcd, 0x63, 0xf5, 0x33, 0x55, 0x02, 0xf3, 0xff, + 0x34, 0x62, 0x15, 0x42, 0xde, 0x83, 0x31, 0x21, 0x8d, 0x8a, 0x5c, 0x5c, 0x64, 0xca, 0x48, 0x8a, + 0x6e, 0x62, 0x64, 0x55, 0x74, 0x66, 0x1b, 0x17, 0x4b, 0xab, 0x8a, 0x6c, 0xa0, 0x6d, 0xec, 0xd4, + 0x1a, 0x49, 0x2a, 0x89, 0xc6, 0x84, 0x60, 0x6b, 0xb5, 0xaa, 0xf7, 0x0a, 0x0a, 0x41, 0xd8, 0x08, + 0x52, 0xba, 0x41, 0x41, 0x7e, 0xf2, 0x86, 0xff, 0x35, 0x03, 0xc6, 0x14, 0x63, 0x8b, 0x4d, 0xda, + 0x4d, 0xdf, 0xfb, 0x3e, 0xad, 0x85, 0xba, 0xbe, 0x68, 0x73, 0x60, 0x62, 0xd2, 0x46, 0xa8, 0x09, + 0x3d, 0x91, 0x39, 0x85, 0x9e, 0x30, 0xff, 0xa1, 0x21, 0x16, 0xe2, 0x81, 0x67, 0xa2, 0x3e, 0x6b, + 0x32, 0xa7, 0xd1, 0x10, 0x1f, 0xc1, 0x90, 0x45, 0xeb, 0x6e, 0x20, 0x16, 0xd1, 0x69, 0x75, 0xd1, + 0xc7, 0x82, 0xd8, 0xee, 0xf0, 0xd9, 0x4f, 0xd5, 0xee, 0xc0, 0x72, 0xf3, 0x33, 0x80, 0x18, 0x9b, + 0xdc, 0x83, 0x82, 0x18, 0x7c, 0xb7, 0x75, 0xb0, 0xe9, 0x35, 0xdc, 0x9a, 0x30, 0xc4, 0x16, 0xe7, + 0x1f, 0x1f, 0xcf, 0x3f, 0x57, 0x8b, 0xca, 0xec, 0x36, 0x16, 0x2a, 0xfc, 0xba, 0x08, 0xcd, 0x7f, + 0x60, 0x30, 0xa3, 0x92, 0xdc, 0x04, 0xb8, 0x47, 0x8f, 0x42, 0x67, 0x6f, 0xc9, 0x6d, 0x68, 0xe7, + 0x33, 0xf7, 0x11, 0x6a, 0xef, 0xbb, 0x0d, 0x6a, 0x29, 0x28, 0x6c, 0x33, 0x7a, 0xcf, 0xdf, 0x7b, + 0x1b, 0xd1, 0x33, 0xd1, 0xe6, 0x60, 0xe6, 0xbe, 0xbf, 0xf7, 0x36, 0x22, 0x6b, 0xab, 0x84, 0x40, + 0x24, 0x26, 0x0c, 0x97, 0xbd, 0xa6, 0xe3, 0xca, 0x0d, 0x19, 0xb0, 0x5d, 0x4d, 0x1d, 0x21, 0x96, + 0x28, 0x61, 0xdb, 0x91, 0xea, 0xe6, 0xba, 0x90, 0x2a, 0xdc, 0x8e, 0x04, 0xed, 0x96, 0xc5, 0x60, + 0xe6, 0xef, 0x19, 0x30, 0xa6, 0xd8, 0xca, 0xe4, 0x2d, 0xe1, 0xb5, 0x36, 0xf0, 0x24, 0xe6, 0x5c, + 0xb7, 0x35, 0xcd, 0x4a, 0xf9, 0x46, 0xb2, 0xe9, 0xd5, 0xa9, 0xf0, 0x61, 0xc7, 0x26, 0x66, 0x66, + 0x10, 0x13, 0xf3, 0x1d, 0x00, 0xee, 0x9a, 0x40, 0x31, 0x51, 0xd4, 0xa5, 0x72, 0x72, 0xa5, 0x0e, + 0x7c, 0x8c, 0x6c, 0x5a, 0x30, 0xae, 0x9a, 0x97, 0x64, 0x11, 0x26, 0x84, 0x27, 0x4e, 0x6c, 0x4b, + 0x79, 0x3f, 0xa3, 0x6e, 0x13, 0xdc, 0xba, 0x3d, 0x83, 0x3a, 0x89, 0xf9, 0x6f, 0x18, 0xb1, 0xd4, + 0xef, 0xdc, 0x22, 0xef, 0xc2, 0x30, 0xf7, 0x61, 0x0a, 0x57, 0xef, 0xd9, 0xc8, 0xca, 0x53, 0x1d, + 0x9c, 0x7c, 0xff, 0xf9, 0x27, 0xfc, 0x2c, 0xe3, 0x8c, 0x25, 0x48, 0xa2, 0xad, 0xab, 0x6e, 0xb1, + 0x4b, 0xee, 0xb8, 0x49, 0xbb, 0x95, 0xb6, 0x75, 0x35, 0xff, 0x83, 0x2c, 0x4c, 0xea, 0x68, 0xaa, + 0xa3, 0xd3, 0x18, 0xc8, 0xd1, 0xf9, 0x11, 0xe4, 0x59, 0xcb, 0xdc, 0x1a, 0x95, 0x3a, 0xfe, 0x25, + 0xdc, 0xd0, 0x0b, 0x98, 0x20, 0x09, 0xdb, 0x47, 0x5f, 0x1c, 0xcf, 0x43, 0xf5, 0x28, 0x08, 0x69, + 0xd3, 0xf2, 0x1a, 0xd4, 0x8a, 0xa8, 0xc8, 0x82, 0xe2, 0xa7, 0xca, 0xc6, 0x6a, 0x4f, 0xfa, 0xa9, + 0x54, 0x09, 0x8c, 0x3c, 0x56, 0x6f, 0xc0, 0x30, 0x5b, 0x8d, 0x23, 0xb3, 0x14, 0xbf, 0x92, 0x2d, + 0xd4, 0x89, 0xe3, 0x37, 0x8e, 0x44, 0x76, 0x21, 0xbf, 0xea, 0x04, 0x61, 0x95, 0xd2, 0xd6, 0x00, + 0x47, 0x18, 0xf3, 0xa2, 0xab, 0x66, 0xf0, 0x7c, 0x20, 0xa0, 0xb4, 0x95, 0xf0, 0x41, 0x47, 0xcc, + 0xc8, 0xe7, 0x00, 0x25, 0xaf, 0x15, 0xfa, 0x5e, 0x63, 0xd5, 0x3b, 0x98, 0x1b, 0xc6, 0x5d, 0xf2, + 0xe5, 0xc4, 0x00, 0xc4, 0x08, 0x7c, 0x6f, 0x1c, 0x19, 0xbd, 0x35, 0x5e, 0x60, 0x37, 0xbc, 0x03, + 0x55, 0xf2, 0x62, 0x7c, 0xf3, 0x8b, 0x0c, 0x9c, 0xef, 0xc1, 0x86, 0x69, 0x3c, 0xd4, 0xdb, 0x8a, + 0xc6, 0x4b, 0xa8, 0x6b, 0x7e, 0x52, 0xc9, 0xcf, 0xb4, 0x98, 0x6c, 0xe4, 0xd2, 0xcf, 0xb4, 0xc8, + 0xc7, 0x90, 0x63, 0x8d, 0x1f, 0xc0, 0x37, 0x2f, 0x2d, 0xd8, 0xc9, 0xd0, 0x55, 0x07, 0x06, 0x3b, + 0x05, 0x79, 0x90, 0xb7, 0x20, 0xbb, 0xb5, 0xb5, 0x8a, 0xa3, 0x92, 0x45, 0xdb, 0x61, 0x22, 0x0c, + 0x1b, 0xda, 0x29, 0xce, 0x04, 0xa3, 0xbd, 0x11, 0x1d, 0xe5, 0x30, 0x74, 0xf2, 0x69, 0xe2, 0x5c, + 0xf0, 0x7a, 0xff, 0x2e, 0x1c, 0xfc, 0x98, 0xf0, 0x49, 0xce, 0xeb, 0xfc, 0x78, 0x72, 0x2c, 0xb9, + 0x8d, 0x90, 0xfa, 0xe4, 0x22, 0x97, 0xf5, 0xd8, 0x20, 0xb6, 0xa2, 0xdf, 0x64, 0x2e, 0x9e, 0x38, + 0x9c, 0x53, 0x34, 0x43, 0xae, 0x2b, 0x33, 0x24, 0x8b, 0x33, 0x64, 0xb2, 0xd7, 0x5c, 0x30, 0x7f, + 0x25, 0x23, 0xab, 0xd8, 0x59, 0x78, 0x46, 0x1d, 0x69, 0x6f, 0x6b, 0x8e, 0xb4, 0x99, 0x68, 0x83, + 0x16, 0xb9, 0x85, 0x17, 0x4e, 0xf0, 0xee, 0xbf, 0x03, 0xe3, 0xb2, 0x0b, 0xd0, 0x1f, 0xf9, 0x2a, + 0x8c, 0xc8, 0xf3, 0x29, 0xee, 0x8d, 0x9c, 0xd2, 0x78, 0xee, 0x2c, 0x58, 0xb2, 0xdc, 0xfc, 0xf3, + 0x21, 0x49, 0xcb, 0x6b, 0x62, 0x5d, 0x58, 0xac, 0xd7, 0x7d, 0xb5, 0x0b, 0x9d, 0x7a, 0xdd, 0xb7, + 0x10, 0xca, 0xd6, 0x84, 0xcd, 0xce, 0x5e, 0xc3, 0xad, 0x21, 0x8e, 0x62, 0x0c, 0xb4, 0x11, 0x6a, + 0x33, 0x54, 0x75, 0x66, 0xc6, 0xc8, 0x9a, 0x73, 0x3d, 0xdb, 0xd7, 0xb9, 0xfe, 0x5d, 0x18, 0x2d, + 0x35, 0xeb, 0x9a, 0x1f, 0xcd, 0x4c, 0xe9, 0x94, 0x1b, 0x11, 0x12, 0x17, 0xeb, 0x4b, 0xa2, 0x8f, + 0x66, 0x6b, 0xcd, 0x7a, 0xb7, 0xf7, 0x2c, 0x66, 0xa9, 0x79, 0xc7, 0x87, 0x9e, 0xc4, 0x3b, 0x7e, + 0x07, 0x46, 0xb7, 0x03, 0xba, 0xd5, 0x69, 0xb5, 0x68, 0x03, 0xb7, 0xd7, 0x79, 0x6e, 0xbf, 0x75, + 0x02, 0x6a, 0x87, 0x08, 0x55, 0x3f, 0x20, 0x42, 0x55, 0xc5, 0x6a, 0xa4, 0x8f, 0x58, 0xbd, 0x05, + 0xb9, 0x62, 0xbb, 0x2d, 0x8f, 0x0d, 0x22, 0x27, 0x4f, 0xbb, 0x8d, 0x33, 0x78, 0xd2, 0x69, 0xb7, + 0xf5, 0x43, 0x00, 0xc4, 0x26, 0x14, 0xc8, 0xbd, 0xce, 0x1e, 0xf5, 0x5b, 0x34, 0xa4, 0x81, 0xb0, + 0x7a, 0x82, 0x39, 0x40, 0x1e, 0x73, 0x32, 0x66, 0x23, 0x89, 0xc0, 0xad, 0xd8, 0xfb, 0x9d, 0x3d, + 0x6a, 0x0b, 0x2b, 0x4a, 0xed, 0xbb, 0x14, 0x86, 0xe8, 0x93, 0xa7, 0xd4, 0x47, 0x39, 0x18, 0x8b, + 0xcd, 0xa0, 0x36, 0xa5, 0x7e, 0x52, 0x0a, 0x22, 0x44, 0xcd, 0x91, 0x3f, 0x3e, 0xa8, 0x23, 0xbf, + 0x0a, 0x93, 0xfa, 0x48, 0x3f, 0x05, 0x1f, 0xdc, 0xc7, 0xb9, 0x7c, 0xbe, 0x30, 0x6a, 0xfe, 0x28, + 0x03, 0x63, 0xc5, 0x76, 0xfb, 0x19, 0x3f, 0x25, 0xfc, 0xa6, 0xa6, 0x3f, 0xce, 0xc5, 0x72, 0x72, + 0x8a, 0x03, 0xc2, 0xdf, 0xcf, 0xc0, 0x54, 0x82, 0x42, 0xfd, 0x7a, 0x63, 0xc0, 0x53, 0xb3, 0xcc, + 0x80, 0xa7, 0x66, 0xd9, 0xde, 0xa7, 0x66, 0xea, 0xec, 0xcc, 0x3d, 0xc9, 0xec, 0x7c, 0x05, 0xb2, + 0xc5, 0x76, 0x3b, 0xe9, 0x70, 0x6c, 0xb7, 0x77, 0x6e, 0x73, 0xeb, 0xda, 0x69, 0xb7, 0x2d, 0x86, + 0xa1, 0x49, 0xe5, 0xf0, 0x80, 0x52, 0x69, 0xbe, 0x01, 0xa3, 0xc8, 0x0b, 0x15, 0xee, 0x15, 0x31, + 0x53, 0xb9, 0xb6, 0xd5, 0xea, 0xe2, 0xb3, 0xd2, 0xfc, 0x73, 0xb6, 0xef, 0x62, 0xbf, 0x9f, 0x51, + 0x19, 0x5b, 0xd0, 0x64, 0xac, 0xa0, 0xc8, 0xd8, 0x20, 0xd2, 0xf5, 0xbf, 0x66, 0xb1, 0xb7, 0x84, + 0x5c, 0x89, 0x73, 0x17, 0x23, 0xe5, 0xdc, 0xe5, 0x09, 0xd6, 0x97, 0xfb, 0xc9, 0x13, 0x98, 0x2c, + 0x0e, 0xc6, 0x8b, 0xc9, 0x4f, 0x7d, 0x2a, 0x87, 0x2f, 0xcb, 0x40, 0x56, 0x5a, 0x01, 0xad, 0x75, + 0x7c, 0x5a, 0xbd, 0xef, 0xb6, 0x77, 0xa8, 0xef, 0xee, 0x1f, 0x09, 0x37, 0x18, 0x2e, 0x01, 0xae, + 0x28, 0xb5, 0x83, 0xfb, 0x6e, 0x9b, 0x6d, 0x6e, 0xdc, 0xfd, 0x23, 0x2b, 0x85, 0x86, 0x7c, 0x08, + 0x23, 0x16, 0x7d, 0xe8, 0xbb, 0xa1, 0xf4, 0xfa, 0x4e, 0x46, 0x1b, 0x19, 0x84, 0x72, 0x43, 0xdd, + 0xe7, 0x3f, 0xd4, 0xf1, 0x17, 0xe5, 0x64, 0x81, 0x9f, 0x04, 0x70, 0xef, 0xee, 0x44, 0xdc, 0xda, + 0xe2, 0x6e, 0x75, 0x71, 0x3a, 0xfd, 0x18, 0xe8, 0xab, 0x3b, 0xda, 0xf8, 0xe9, 0x10, 0x4e, 0xba, + 0x13, 0xc2, 0xe6, 0xfa, 0x1c, 0xbc, 0xe9, 0x02, 0x90, 0x3d, 0x8d, 0x00, 0xec, 0xc0, 0x78, 0x95, + 0x4d, 0x7d, 0xfd, 0x04, 0xee, 0x52, 0xdc, 0x23, 0x37, 0xd4, 0xe2, 0x7e, 0xa6, 0xb0, 0xc6, 0x87, + 0xd8, 0x49, 0xc1, 0xe2, 0x16, 0xf7, 0xf3, 0x0a, 0xe3, 0x14, 0x91, 0x8a, 0x74, 0x54, 0x8d, 0x77, + 0xd6, 0xa9, 0x85, 0x69, 0xf8, 0xc9, 0x84, 0x69, 0xe4, 0x4b, 0x09, 0x53, 0x22, 0x56, 0x31, 0x7f, + 0x9a, 0x58, 0xc5, 0x8b, 0x1f, 0xc2, 0x74, 0x57, 0x0f, 0x9f, 0x66, 0xff, 0xf0, 0xd5, 0x89, 0xe5, + 0x2f, 0x83, 0x32, 0x5d, 0xf2, 0x16, 0xad, 0xbb, 0x3e, 0xad, 0x85, 0xa8, 0xae, 0x85, 0x86, 0xf5, + 0x05, 0x2c, 0x71, 0x14, 0x84, 0x30, 0xf2, 0x01, 0x8c, 0x70, 0xc7, 0x01, 0xdf, 0xb0, 0xc7, 0xd3, + 0x4c, 0x38, 0x19, 0x78, 0x28, 0x2b, 0xc7, 0x50, 0x7b, 0x55, 0x10, 0x99, 0x77, 0xa5, 0xaf, 0xe2, + 0x84, 0x79, 0x31, 0x0f, 0x43, 0x3b, 0x71, 0xcf, 0x60, 0x8c, 0x0c, 0x6f, 0x84, 0xc5, 0xe1, 0xe6, + 0xaf, 0x19, 0x30, 0xa9, 0xb7, 0x92, 0xdc, 0x80, 0x61, 0x11, 0x10, 0x68, 0xe0, 0x0e, 0x92, 0xb5, + 0x66, 0x98, 0x87, 0x02, 0x6a, 0x01, 0x80, 0x02, 0x8b, 0x2d, 0x17, 0x82, 0x83, 0x70, 0x3e, 0xe0, + 0x72, 0x21, 0x84, 0xd4, 0x92, 0x65, 0xc4, 0x84, 0x61, 0x8b, 0x06, 0x9d, 0x46, 0xa8, 0x3a, 0xac, + 0x7c, 0x84, 0x58, 0xa2, 0xc4, 0x2c, 0xc1, 0x30, 0xd7, 0x33, 0x6c, 0xd6, 0x56, 0x1e, 0x85, 0xd4, + 0x6f, 0x39, 0x0d, 0xfd, 0xe0, 0x82, 0x0a, 0x68, 0xc2, 0x47, 0x18, 0x23, 0x9b, 0xc7, 0x06, 0x40, + 0xb5, 0xba, 0x7c, 0x8f, 0x1e, 0x6d, 0x3a, 0xae, 0x8f, 0x2e, 0x51, 0x9c, 0xd2, 0xf7, 0xc4, 0x90, + 0x8f, 0x0b, 0x97, 0x28, 0x9f, 0xfe, 0xf7, 0xe9, 0x91, 0xe6, 0x12, 0x95, 0xa8, 0xa8, 0x37, 0x7c, + 0xf7, 0x81, 0x13, 0x52, 0x46, 0x98, 0x41, 0x42, 0xae, 0x37, 0x38, 0x34, 0x41, 0xa9, 0x20, 0x93, + 0xcf, 0x61, 0x32, 0xfe, 0x85, 0x0e, 0x82, 0x2c, 0xba, 0xd5, 0xa4, 0x58, 0xe9, 0x85, 0x8b, 0x97, + 0x1f, 0x1f, 0xcf, 0x5f, 0x54, 0xb8, 0x26, 0x5d, 0xbe, 0x09, 0x66, 0xe6, 0xef, 0x1a, 0xe8, 0x71, + 0x96, 0x0d, 0xbc, 0x0a, 0xb9, 0xe8, 0x94, 0x77, 0x9c, 0x3b, 0x21, 0x12, 0xfe, 0x37, 0x2c, 0x27, + 0x2f, 0x42, 0x36, 0x6e, 0x09, 0xea, 0x71, 0xbd, 0x05, 0xac, 0x94, 0xdc, 0x85, 0x91, 0x81, 0xbe, + 0x19, 0x45, 0x3c, 0xe5, 0x5b, 0x25, 0x35, 0x8e, 0xc2, 0xc7, 0xbb, 0x5b, 0x5f, 0xdf, 0x51, 0xf8, + 0x49, 0x06, 0xa6, 0x58, 0xbf, 0x16, 0x3b, 0xe1, 0xa1, 0xe7, 0xbb, 0xe1, 0xd1, 0x33, 0xeb, 0x2d, + 0x78, 0x4f, 0xb3, 0xc4, 0x2e, 0x4a, 0xdd, 0xa7, 0xb6, 0x6d, 0x20, 0xa7, 0xc1, 0x1f, 0x0f, 0xc1, + 0x4c, 0x0a, 0x15, 0x79, 0x5d, 0xf3, 0x92, 0xcd, 0xc9, 0x28, 0xfe, 0x2f, 0x8e, 0xe7, 0xc7, 0x25, + 0xfa, 0x56, 0x1c, 0xd5, 0xbf, 0xa0, 0x1f, 0xdf, 0xf0, 0x9e, 0x42, 0xa7, 0x99, 0x7a, 0x7c, 0xa3, + 0x1f, 0xda, 0xbc, 0x0a, 0x43, 0x96, 0xd7, 0xa0, 0x7c, 0x21, 0x15, 0xe1, 0xd9, 0x3e, 0x03, 0x68, + 0xfe, 0x7f, 0x06, 0x20, 0xcb, 0x30, 0xc2, 0xfe, 0x58, 0x73, 0xda, 0xc2, 0x55, 0x48, 0xa2, 0xbd, + 0x00, 0x42, 0xdb, 0x6e, 0xeb, 0x40, 0xdd, 0x0e, 0x34, 0xa8, 0xdd, 0x74, 0xda, 0xda, 0xca, 0xc6, + 0x11, 0xb5, 0x6d, 0x45, 0xbe, 0xf7, 0xb6, 0xc2, 0x38, 0x71, 0x5b, 0x51, 0x07, 0xa8, 0xba, 0x07, + 0x2d, 0xb7, 0x75, 0x50, 0x6c, 0x1c, 0x88, 0xbb, 0x10, 0xaf, 0xf6, 0x1e, 0x85, 0x1b, 0x31, 0x32, + 0x0a, 0x2e, 0xf7, 0xa0, 0x73, 0x98, 0xed, 0x34, 0x34, 0x3f, 0x66, 0x8c, 0x4a, 0xd6, 0x01, 0x8a, + 0xb5, 0xd0, 0x7d, 0xc0, 0x04, 0x38, 0x10, 0xf1, 0x77, 0xf2, 0x83, 0x4b, 0xc5, 0x7b, 0xf4, 0xa8, + 0x4a, 0xc3, 0xd8, 0x2f, 0xea, 0x20, 0x2a, 0x9b, 0x07, 0x6a, 0x1f, 0x2a, 0x1c, 0x48, 0x1b, 0xce, + 0x16, 0xeb, 0x75, 0x97, 0xb5, 0xc0, 0x69, 0x6c, 0xf9, 0x6c, 0x30, 0xea, 0xc8, 0x7a, 0x3c, 0x9d, + 0xf5, 0xab, 0x82, 0xf5, 0x0b, 0x4e, 0x44, 0x65, 0x87, 0x9c, 0x2c, 0x59, 0x4d, 0x3a, 0x63, 0x73, + 0x03, 0x26, 0xf5, 0xa6, 0xeb, 0x37, 0x38, 0xc6, 0x21, 0x6f, 0x55, 0x8b, 0x76, 0x75, 0xb9, 0x78, + 0xab, 0x60, 0x90, 0x02, 0x8c, 0x8b, 0x5f, 0x0b, 0xf6, 0xc2, 0xdb, 0x77, 0x0a, 0x19, 0x0d, 0xf2, + 0xf6, 0xad, 0x85, 0x42, 0xf6, 0xe3, 0x5c, 0x3e, 0x5b, 0xc8, 0x7d, 0x9c, 0xcb, 0xe7, 0x0a, 0x43, + 0x1f, 0xe7, 0xf2, 0x23, 0x85, 0xfc, 0xc7, 0xb9, 0x3c, 0x14, 0xc6, 0xcc, 0x3f, 0x34, 0x20, 0x2f, + 0xbf, 0x9b, 0xdc, 0x81, 0x6c, 0xb5, 0xba, 0x9c, 0x08, 0xc2, 0x8b, 0xd7, 0x17, 0xae, 0x49, 0x83, + 0xe0, 0x50, 0xd5, 0xa4, 0xd5, 0xea, 0x32, 0xa3, 0xdb, 0x5a, 0xad, 0x8a, 0xe5, 0x5d, 0xd2, 0xc5, + 0x6a, 0x9b, 0xd3, 0xa5, 0x44, 0x26, 0xdd, 0x81, 0xec, 0xc7, 0xbb, 0x5b, 0x62, 0xaf, 0x21, 0xe9, + 0x62, 0x4d, 0xca, 0xe9, 0xbe, 0xff, 0x50, 0xd5, 0xef, 0x8c, 0xc0, 0xb4, 0x60, 0x4c, 0x11, 0x61, + 0xbe, 0xdc, 0x36, 0xbd, 0xe8, 0x76, 0x83, 0x58, 0x6e, 0x19, 0xc4, 0x12, 0x25, 0xcc, 0x3a, 0x58, + 0xf5, 0x6a, 0x4e, 0x43, 0xac, 0xdb, 0x68, 0x1d, 0x34, 0x18, 0xc0, 0xe2, 0x70, 0xf3, 0x8f, 0x0c, + 0x28, 0x6c, 0xfa, 0xde, 0x03, 0x97, 0xa9, 0x99, 0x2d, 0xef, 0x3e, 0x6d, 0xed, 0xdc, 0x22, 0x6f, + 0xc8, 0xc9, 0x66, 0x44, 0x3b, 0xdb, 0x21, 0x9c, 0x6c, 0x09, 0x8f, 0xaa, 0x98, 0x70, 0xca, 0x25, + 0x91, 0xcc, 0xe0, 0x81, 0xe7, 0x27, 0x5c, 0x12, 0x99, 0x87, 0x21, 0xfc, 0x1c, 0x25, 0xf6, 0x77, + 0x28, 0x64, 0x00, 0x8b, 0xc3, 0x15, 0xad, 0xf4, 0x1b, 0x99, 0xae, 0x36, 0x2c, 0x7c, 0xad, 0x82, + 0xb7, 0xf5, 0xc6, 0x0d, 0xa4, 0xa9, 0x3f, 0x83, 0xd9, 0x64, 0x97, 0xa0, 0xd7, 0xa1, 0x08, 0x53, + 0x3a, 0x5c, 0x3a, 0x20, 0xce, 0xa7, 0xd6, 0xb5, 0xb3, 0x60, 0x25, 0xf1, 0xcd, 0x3f, 0x35, 0x60, + 0x14, 0xff, 0xb4, 0x3a, 0x0d, 0x3c, 0xea, 0x2d, 0xee, 0x56, 0x45, 0x54, 0x92, 0x6a, 0xc6, 0x39, + 0x0f, 0x03, 0x5b, 0x84, 0x30, 0x69, 0xfa, 0x25, 0x42, 0x16, 0xa4, 0x3c, 0x06, 0x4b, 0x1e, 0x6b, + 0x45, 0xa4, 0x3c, 0x58, 0x2b, 0x48, 0x90, 0x0a, 0x64, 0x3c, 0xc3, 0xdf, 0xad, 0x32, 0xf1, 0x53, + 0x0f, 0xb3, 0x90, 0xce, 0x6b, 0xe8, 0x67, 0xf8, 0x1c, 0x0d, 0xcf, 0xb2, 0x76, 0xab, 0x45, 0x6b, + 0x5d, 0x3b, 0xcb, 0x62, 0xdf, 0xe8, 0x6b, 0x21, 0x61, 0x1c, 0xc9, 0xfc, 0xd9, 0x70, 0xb2, 0x03, + 0xc5, 0x52, 0x77, 0xca, 0xb9, 0xf1, 0x2e, 0x0c, 0x15, 0x1b, 0x0d, 0xef, 0xa1, 0xd0, 0x12, 0xd2, + 0x09, 0x12, 0xf5, 0x1f, 0x5f, 0xc9, 0x1c, 0x86, 0xa2, 0xc5, 0x3f, 0x32, 0x00, 0x29, 0xc1, 0x68, + 0x71, 0xb7, 0xba, 0xb2, 0x52, 0xde, 0xda, 0x5a, 0x15, 0x37, 0xf6, 0x5e, 0x96, 0xfd, 0xe3, 0xba, + 0x75, 0x3b, 0x79, 0xe8, 0x13, 0x5b, 0xee, 0x31, 0x1d, 0x79, 0x1f, 0xe0, 0x63, 0xcf, 0x6d, 0xad, + 0xd1, 0xf0, 0xd0, 0xab, 0x8b, 0xc6, 0x3f, 0xff, 0xf8, 0x78, 0x7e, 0xec, 0xfb, 0x9e, 0xdb, 0xb2, + 0x9b, 0x08, 0x66, 0xdf, 0x1e, 0x23, 0x59, 0xca, 0xdf, 0xac, 0xa7, 0x17, 0x3d, 0x1e, 0x49, 0x33, + 0x14, 0xf7, 0xf4, 0x9e, 0xd7, 0x15, 0x3d, 0x23, 0xd1, 0x48, 0x13, 0xa6, 0xaa, 0x9d, 0x83, 0x03, + 0xca, 0xb4, 0xba, 0xd8, 0xfd, 0x0e, 0x8b, 0x3d, 0x57, 0x74, 0xdf, 0x91, 0xef, 0x44, 0xd8, 0xfe, + 0x24, 0x58, 0x7c, 0x9d, 0x09, 0xf2, 0xcf, 0x8f, 0xe7, 0xc5, 0x61, 0x12, 0x33, 0xd2, 0x02, 0x49, + 0xdf, 0xed, 0x54, 0x49, 0xf2, 0x26, 0x1b, 0x30, 0x7c, 0xd7, 0x0d, 0x97, 0x3b, 0x7b, 0x62, 0xfb, + 0xfa, 0x42, 0x9f, 0x49, 0xc3, 0x11, 0xf9, 0x0e, 0xfe, 0xc0, 0x0d, 0x0f, 0x3b, 0x6a, 0x94, 0x99, + 0x60, 0x43, 0x76, 0x21, 0x5f, 0x72, 0xfd, 0x5a, 0x83, 0x96, 0x56, 0xc4, 0xaa, 0xff, 0x62, 0x1f, + 0x96, 0x12, 0x95, 0xf7, 0x4b, 0x0d, 0x7f, 0xd5, 0x5c, 0xd5, 0x0a, 0x90, 0x18, 0xe4, 0xdf, 0x33, + 0xe0, 0xb9, 0xe8, 0xeb, 0x8b, 0x07, 0xb4, 0x15, 0xae, 0x39, 0x61, 0xed, 0x90, 0xfa, 0x51, 0xa8, + 0x7f, 0x9f, 0x5e, 0xfa, 0x56, 0x57, 0x2f, 0x5d, 0x8b, 0x7b, 0xc9, 0x61, 0xcc, 0xec, 0x26, 0xe7, + 0xd6, 0xdd, 0x67, 0xfd, 0x6a, 0x25, 0x36, 0x40, 0xec, 0xaa, 0x17, 0xb1, 0xaf, 0x2f, 0xf7, 0x69, + 0x70, 0x8c, 0x2c, 0x62, 0xdd, 0xa2, 0xdf, 0xea, 0x5c, 0x8d, 0xb1, 0xcc, 0xff, 0x2d, 0x07, 0x17, + 0x7b, 0x0f, 0x06, 0xf9, 0x44, 0xce, 0x10, 0xae, 0x87, 0xae, 0x9e, 0x38, 0x7c, 0x37, 0x4e, 0x9c, + 0x37, 0x9f, 0xc2, 0x6c, 0xa5, 0x15, 0x52, 0xbf, 0xed, 0xbb, 0xf2, 0xaa, 0xc4, 0xb2, 0x17, 0xc8, + 0x10, 0x86, 0x97, 0x1e, 0x1f, 0xcf, 0x5f, 0xa1, 0x51, 0xb9, 0xb8, 0x5c, 0x65, 0x1f, 0x7a, 0x81, + 0xaa, 0xa8, 0x52, 0x39, 0x5c, 0xfc, 0xdd, 0x2c, 0xe4, 0x50, 0xed, 0xbd, 0x08, 0xd9, 0x6a, 0x67, + 0x4f, 0xe8, 0x3b, 0x6e, 0x20, 0x68, 0xc2, 0xc4, 0x4a, 0xc9, 0x37, 0x01, 0x2c, 0xda, 0xf6, 0x02, + 0x37, 0xf4, 0xfc, 0x23, 0x35, 0xc2, 0xce, 0x8f, 0xa0, 0x7a, 0x14, 0x8c, 0x84, 0x92, 0x65, 0x98, + 0x8a, 0x7f, 0x6d, 0x3c, 0x6c, 0x51, 0xe9, 0xd7, 0xc2, 0x3d, 0x4c, 0x4c, 0x6e, 0x7b, 0xac, 0x4c, + 0x9d, 0x1e, 0x09, 0x32, 0xb2, 0x00, 0xf9, 0x5d, 0xcf, 0xbf, 0xbf, 0xcf, 0x7a, 0x38, 0x17, 0x4f, + 0xe0, 0x87, 0x02, 0xa6, 0x0a, 0xaa, 0xc4, 0x23, 0xef, 0xc2, 0x58, 0xa5, 0xf5, 0xc0, 0xf5, 0xbd, + 0x56, 0x93, 0xb6, 0x42, 0x31, 0xef, 0xf9, 0xde, 0x3c, 0x06, 0x6b, 0x11, 0xa4, 0x31, 0x98, 0x59, + 0xea, 0xc5, 0x5a, 0xe8, 0xf9, 0xe2, 0xd6, 0x0c, 0x1f, 0x27, 0x06, 0xd0, 0xc6, 0x89, 0x01, 0x58, + 0x27, 0x5a, 0x74, 0x5f, 0x9c, 0x67, 0x61, 0x27, 0xfa, 0x74, 0x5f, 0x0b, 0x8f, 0xa5, 0xfb, 0x4c, + 0x01, 0x59, 0x74, 0x1f, 0xb7, 0x17, 0xf9, 0xf8, 0xfb, 0x7d, 0xba, 0xdf, 0xb5, 0x31, 0x15, 0x68, + 0xe6, 0x1f, 0x66, 0xe0, 0x52, 0xbf, 0xa9, 0x4a, 0xaa, 0xba, 0xc8, 0x5d, 0x1b, 0x60, 0x7a, 0x9f, + 0x2c, 0x74, 0x15, 0x98, 0xdc, 0xf0, 0x0f, 0x9c, 0x96, 0xfb, 0x03, 0x54, 0xc1, 0x51, 0xdc, 0x13, + 0xd3, 0xb5, 0x17, 0x3c, 0xa5, 0x44, 0xf7, 0x6b, 0x24, 0x88, 0x2e, 0x3e, 0x10, 0x02, 0xf6, 0x65, + 0xe3, 0xbc, 0xee, 0xc0, 0x68, 0xc9, 0x6b, 0x85, 0xf4, 0x51, 0x98, 0x08, 0xea, 0xe4, 0xc0, 0x64, + 0x50, 0xa7, 0x44, 0x35, 0xff, 0xd8, 0x80, 0xcb, 0xfd, 0xa7, 0x3b, 0xd9, 0xd6, 0xbb, 0xed, 0xfa, + 0x40, 0x4a, 0xe2, 0xc4, 0x8e, 0xbb, 0xb8, 0x26, 0x5a, 0x5c, 0x81, 0x49, 0x71, 0x42, 0xaf, 0x5b, + 0x13, 0xd8, 0x81, 0x22, 0xd2, 0x25, 0xc5, 0xa2, 0x48, 0x10, 0x99, 0x7f, 0x23, 0x03, 0x93, 0xdc, + 0xa5, 0xc8, 0xed, 0x95, 0x67, 0xd6, 0x16, 0x7c, 0x57, 0xb3, 0x05, 0x2f, 0xc8, 0x7d, 0x89, 0xd2, + 0xb4, 0x81, 0x2c, 0xc1, 0x43, 0x20, 0xdd, 0x34, 0xc4, 0x92, 0x8e, 0xef, 0x41, 0x8c, 0xc0, 0x5b, + 0x71, 0xfc, 0x3a, 0xe6, 0x37, 0xa8, 0xd9, 0x68, 0x89, 0x07, 0x96, 0xc6, 0xc3, 0xfc, 0xb5, 0x0c, + 0x4c, 0x28, 0x7b, 0xf6, 0x67, 0xb6, 0xe3, 0xbf, 0xa5, 0x75, 0xbc, 0x3c, 0xff, 0x56, 0x5a, 0x36, + 0x50, 0xbf, 0x77, 0x60, 0xba, 0x8b, 0x24, 0xe9, 0xfa, 0x30, 0x06, 0x71, 0x7d, 0xbc, 0xde, 0x1d, + 0xa6, 0xcd, 0xaf, 0x91, 0x47, 0x61, 0xda, 0x6a, 0x5c, 0xf8, 0x4f, 0x32, 0x30, 0x2b, 0x7e, 0x15, + 0x3b, 0x75, 0x37, 0x2c, 0x79, 0xad, 0x7d, 0xf7, 0xe0, 0x99, 0x1d, 0x8b, 0xa2, 0x36, 0x16, 0xf3, + 0xfa, 0x58, 0x28, 0x0d, 0xec, 0x3d, 0x24, 0xe6, 0xbf, 0x05, 0x30, 0xd7, 0x8b, 0x60, 0xe0, 0xf8, + 0xae, 0xf8, 0x42, 0x49, 0x66, 0x80, 0x0b, 0x25, 0xab, 0x50, 0xc0, 0xaa, 0xaa, 0x34, 0x60, 0x9d, + 0x10, 0xc4, 0x77, 0x58, 0xaf, 0x3c, 0x3e, 0x9e, 0xbf, 0xe4, 0xb0, 0x32, 0x3b, 0x10, 0x85, 0x76, + 0xc7, 0x57, 0xed, 0xc5, 0x2e, 0x4a, 0xf2, 0xbb, 0x06, 0x4c, 0x22, 0xb0, 0xf2, 0x80, 0xb6, 0x42, + 0x64, 0x96, 0x13, 0xc7, 0xf6, 0x91, 0xa9, 0x58, 0x0d, 0x7d, 0xb7, 0x75, 0x20, 0x6c, 0xc5, 0x3d, + 0x61, 0x2b, 0xbe, 0xc7, 0x6d, 0xdc, 0x1b, 0x35, 0xaf, 0x79, 0xf3, 0xc0, 0x77, 0x1e, 0xb8, 0xdc, + 0x1d, 0xe5, 0x34, 0x6e, 0xc6, 0x29, 0x4c, 0xda, 0x6e, 0x22, 0x29, 0x89, 0x60, 0x85, 0x76, 0x38, + 0xff, 0x50, 0x8a, 0xd5, 0x26, 0x3e, 0x33, 0xf1, 0x45, 0xe4, 0x17, 0xe0, 0x3c, 0x8f, 0x79, 0x66, + 0x4b, 0x8a, 0xdb, 0xea, 0x78, 0x9d, 0x60, 0xd1, 0xa9, 0xdd, 0xef, 0xb4, 0x03, 0x71, 0x2a, 0x85, + 0x2d, 0xaf, 0x45, 0x85, 0xf6, 0x1e, 0x2f, 0x55, 0x58, 0xf6, 0x62, 0x40, 0x96, 0x61, 0x9a, 0x17, + 0x15, 0x3b, 0xa1, 0x57, 0xad, 0x39, 0x0d, 0xb7, 0x75, 0x80, 0x56, 0x43, 0x9e, 0x47, 0x7d, 0x3b, + 0x9d, 0xd0, 0xb3, 0x03, 0x0e, 0x57, 0xf8, 0x75, 0x13, 0x91, 0x15, 0x66, 0x57, 0x39, 0xf5, 0x35, + 0xe7, 0x51, 0xc9, 0x69, 0x3b, 0x35, 0x37, 0xe4, 0xd7, 0x48, 0xb2, 0x3c, 0x18, 0xd8, 0xa7, 0x4e, + 0xdd, 0x6e, 0x3a, 0x8f, 0xec, 0x9a, 0x28, 0xd4, 0x0d, 0x2b, 0x8d, 0x2e, 0x62, 0xe5, 0xb6, 0x22, + 0x56, 0xa3, 0x49, 0x56, 0x6e, 0xab, 0x37, 0xab, 0x98, 0x4e, 0xb2, 0xda, 0x72, 0xfc, 0x03, 0x1a, + 0xf2, 0xd3, 0x1c, 0x66, 0x87, 0x1b, 0x0a, 0xab, 0x10, 0xcb, 0x6c, 0x3c, 0xd9, 0x49, 0xb2, 0x52, + 0xe8, 0x98, 0xe4, 0xed, 0xfa, 0x6e, 0x48, 0xd5, 0x16, 0x8e, 0xe1, 0x67, 0x61, 0xff, 0xe3, 0x79, + 0x56, 0xaf, 0x26, 0x76, 0x51, 0xc6, 0xdc, 0x94, 0x46, 0x8e, 0x77, 0x71, 0x4b, 0x6f, 0x65, 0x17, + 0x65, 0xc4, 0x4d, 0x6d, 0xe7, 0x04, 0xb6, 0x53, 0xe1, 0xd6, 0xa3, 0xa1, 0x5d, 0x94, 0x64, 0x9d, + 0x75, 0x5a, 0x48, 0x5b, 0x4c, 0xa2, 0xc5, 0x69, 0xd6, 0x24, 0x7e, 0xda, 0x4b, 0xc2, 0x25, 0x5b, + 0xf0, 0x65, 0xb1, 0x9d, 0x72, 0xb6, 0x95, 0x24, 0x26, 0x7f, 0x05, 0xa6, 0xb6, 0x03, 0xba, 0xb4, + 0xb2, 0x59, 0x95, 0xf1, 0xf7, 0x73, 0x53, 0xe8, 0xa8, 0xbd, 0x75, 0x82, 0xd2, 0xb9, 0xa1, 0xd2, + 0x60, 0x32, 0x11, 0x3e, 0x6e, 0x9d, 0x80, 0xda, 0xfb, 0x6e, 0x3b, 0x88, 0xee, 0x9b, 0xa8, 0xe3, + 0x96, 0xa8, 0xca, 0x5c, 0x86, 0xe9, 0x2e, 0x36, 0x64, 0x12, 0x80, 0x01, 0xed, 0xed, 0xf5, 0x6a, + 0x65, 0xab, 0x70, 0x86, 0x14, 0x60, 0x1c, 0x7f, 0x57, 0xd6, 0x8b, 0x8b, 0xab, 0x95, 0x72, 0xc1, + 0x20, 0xd3, 0x30, 0x81, 0x90, 0xf2, 0x4a, 0x95, 0x83, 0x32, 0x1f, 0xe7, 0xf2, 0x43, 0x85, 0x61, + 0xab, 0xc0, 0xa7, 0x6e, 0xc8, 0x26, 0x00, 0xae, 0x29, 0xe6, 0xdf, 0xcc, 0xc0, 0x05, 0xb9, 0xac, + 0xd0, 0x90, 0xd9, 0xff, 0x6e, 0xeb, 0xe0, 0x19, 0x5f, 0x1d, 0x96, 0xb4, 0xd5, 0xe1, 0xa5, 0xc4, + 0x4a, 0x9d, 0x68, 0x65, 0x9f, 0x25, 0xe2, 0xb7, 0x46, 0xe0, 0xf9, 0xbe, 0x54, 0xe4, 0x13, 0xb6, + 0x9a, 0xbb, 0xb4, 0x15, 0xae, 0xd4, 0x1b, 0x74, 0xcb, 0x6d, 0x52, 0xaf, 0x13, 0x8a, 0xd3, 0xd3, + 0x17, 0x1f, 0x1f, 0xcf, 0xcf, 0xf0, 0x4c, 0x20, 0xb6, 0x5b, 0x6f, 0x50, 0x3b, 0xe4, 0xc5, 0x9a, + 0xb8, 0x75, 0x53, 0x33, 0x96, 0x51, 0xb6, 0xa2, 0x15, 0xb6, 0xd9, 0x7c, 0xe0, 0xf0, 0x84, 0x08, + 0x82, 0xe5, 0x7d, 0x4a, 0xdb, 0xb6, 0xc3, 0x4a, 0x6d, 0x57, 0x14, 0xeb, 0x2c, 0xbb, 0xa8, 0xc9, + 0x92, 0xc2, 0xb2, 0xc4, 0xac, 0xe1, 0x35, 0xe7, 0x91, 0x70, 0x1c, 0x89, 0xeb, 0x6c, 0x11, 0x4b, + 0x7e, 0xb7, 0xb0, 0xe9, 0x3c, 0xb2, 0xba, 0x49, 0xc8, 0xe7, 0x70, 0x56, 0x2c, 0x40, 0x22, 0x26, + 0x58, 0xb6, 0x98, 0x47, 0x1c, 0xbf, 0xf2, 0xf8, 0x78, 0xfe, 0xbc, 0x58, 0xbe, 0x6c, 0x19, 0x5f, + 0x9d, 0xd6, 0xea, 0x74, 0x2e, 0x64, 0x8b, 0x2d, 0xc8, 0x89, 0xee, 0x58, 0xa3, 0x41, 0xe0, 0x1c, + 0x48, 0x27, 0x13, 0x0f, 0x61, 0x50, 0x3a, 0xd3, 0x6e, 0xf2, 0x72, 0xab, 0x27, 0x25, 0x59, 0x86, + 0xc9, 0x5d, 0xba, 0xa7, 0x8e, 0xcf, 0x70, 0xa4, 0xaa, 0x0a, 0x0f, 0xe9, 0x5e, 0xef, 0xc1, 0x49, + 0xd0, 0x11, 0x17, 0xa6, 0x31, 0x66, 0x6b, 0xd5, 0x0d, 0x42, 0xda, 0xa2, 0x3e, 0xde, 0x9b, 0x18, + 0x41, 0x65, 0x30, 0x17, 0x5b, 0xc8, 0x7a, 0xf9, 0xe2, 0x0b, 0x8f, 0x8f, 0xe7, 0x9f, 0xe7, 0xf1, + 0x5f, 0x0d, 0x01, 0xb7, 0x13, 0x69, 0x81, 0xba, 0xb9, 0x92, 0xef, 0xc1, 0x94, 0xe5, 0x75, 0x42, + 0xb7, 0x75, 0x50, 0x0d, 0x7d, 0x27, 0xa4, 0x07, 0x7c, 0x41, 0x8a, 0x2f, 0x68, 0x24, 0x4a, 0x85, + 0x03, 0x80, 0x03, 0xed, 0x40, 0x40, 0xb5, 0x15, 0x41, 0x27, 0x20, 0xdf, 0x85, 0x49, 0x1e, 0x42, + 0x1a, 0x55, 0x30, 0xaa, 0xdd, 0xa0, 0xd7, 0x0b, 0x77, 0x6e, 0xf1, 0xfd, 0x16, 0x0f, 0x45, 0x4d, + 0xab, 0x20, 0xc1, 0x8d, 0x7c, 0x5b, 0x74, 0xd6, 0xa6, 0xdb, 0x3a, 0x88, 0xc4, 0x18, 0xb0, 0xe7, + 0xdf, 0x88, 0xbb, 0xa4, 0xcd, 0x3e, 0x57, 0x8a, 0x71, 0x0f, 0xa7, 0x65, 0x37, 0x1f, 0xf3, 0xd8, + 0x80, 0x42, 0xf2, 0x03, 0xc9, 0xa7, 0x30, 0xca, 0xfd, 0x58, 0x34, 0x38, 0x14, 0x37, 0x39, 0xe4, + 0x6d, 0x80, 0x08, 0xae, 0x13, 0x89, 0x0b, 0xb5, 0xdc, 0x4b, 0x46, 0xd5, 0x93, 0x9c, 0xe5, 0x33, + 0x56, 0xcc, 0x8c, 0xd4, 0x61, 0x9c, 0x7f, 0x03, 0xc5, 0x5b, 0x3f, 0xe2, 0x38, 0xe3, 0x05, 0x75, + 0xcc, 0x45, 0x51, 0x82, 0x3f, 0x86, 0xc2, 0x8a, 0x96, 0x72, 0x04, 0xad, 0x0a, 0x8d, 0xeb, 0x22, + 0x40, 0x5e, 0x12, 0x9a, 0x17, 0xe0, 0x7c, 0x8f, 0x6f, 0x36, 0x1f, 0xa0, 0xdb, 0xac, 0x47, 0x8d, + 0xe4, 0x53, 0x98, 0x45, 0xc2, 0x92, 0xd7, 0x6a, 0xd1, 0x5a, 0x88, 0x93, 0x4c, 0xee, 0x99, 0xb3, + 0xdc, 0xc7, 0xc5, 0xdb, 0x5b, 0x8b, 0x10, 0xec, 0xe4, 0xd6, 0x39, 0x95, 0x83, 0xf9, 0xdb, 0x19, + 0x98, 0x13, 0xf3, 0xd6, 0xa2, 0x35, 0xcf, 0xaf, 0x3f, 0xfb, 0xeb, 0x44, 0x45, 0x5b, 0x27, 0x5e, + 0x8c, 0x02, 0xc3, 0xd3, 0x1a, 0xd9, 0x67, 0x99, 0xf8, 0x7d, 0x03, 0x2e, 0xf5, 0x23, 0x62, 0xbd, + 0x13, 0xdd, 0xb1, 0x1a, 0xed, 0xba, 0x4b, 0xd5, 0x86, 0x19, 0x1c, 0xd0, 0xd2, 0x21, 0xad, 0xdd, + 0x0f, 0x96, 0xbd, 0x20, 0xc4, 0xd3, 0xd4, 0x8c, 0x16, 0x1e, 0xb9, 0xe8, 0x79, 0xdc, 0xe5, 0x8b, + 0x7e, 0x71, 0xe3, 0xe7, 0xc7, 0xf3, 0xc0, 0x40, 0xfc, 0x56, 0x14, 0x33, 0x76, 0xb9, 0x94, 0xd5, + 0x90, 0x07, 0x3a, 0x2d, 0xf1, 0x6c, 0xd5, 0x4a, 0x63, 0x8d, 0x27, 0x63, 0xc5, 0x4e, 0x78, 0xb8, + 0xe9, 0xd3, 0x7d, 0xea, 0xd3, 0x56, 0x8d, 0x7e, 0xcd, 0x4e, 0xc6, 0xf4, 0xc6, 0x0d, 0xb4, 0x2f, + 0xff, 0xa7, 0x79, 0x98, 0x4d, 0x23, 0x63, 0xfd, 0xa2, 0x6c, 0x05, 0x93, 0xa9, 0x08, 0xff, 0x4d, + 0x03, 0xc6, 0xab, 0xb4, 0xe6, 0xb5, 0xea, 0x4b, 0xe8, 0xcd, 0x14, 0xbd, 0x63, 0xf3, 0xa5, 0x90, + 0xc1, 0xed, 0xfd, 0x84, 0x9b, 0xf3, 0x8b, 0xe3, 0xf9, 0x8f, 0x06, 0xdb, 0x81, 0xd5, 0x3c, 0xbc, + 0x02, 0x13, 0xe2, 0x15, 0xfb, 0xa8, 0x0a, 0x0c, 0x99, 0xd0, 0x2a, 0x25, 0x8b, 0x30, 0x21, 0xa6, + 0xab, 0xa7, 0x5e, 0xb1, 0xc3, 0x4b, 0x71, 0x35, 0x59, 0x90, 0x3c, 0x99, 0xd1, 0x49, 0xc8, 0x6d, + 0xc8, 0x6e, 0x2f, 0x2c, 0x89, 0x31, 0x90, 0x37, 0x04, 0xb6, 0x17, 0x96, 0xd0, 0xc9, 0xc3, 0x0c, + 0xe7, 0x89, 0xce, 0x82, 0xe6, 0x85, 0xdd, 0x5e, 0x58, 0x22, 0xb7, 0x61, 0xda, 0xa2, 0xbf, 0xd8, + 0x71, 0x7d, 0x2a, 0x26, 0xc0, 0xda, 0x52, 0x11, 0xc7, 0x22, 0x2f, 0xb3, 0x17, 0x76, 0x97, 0x93, + 0xbf, 0x0a, 0x67, 0xcb, 0x6e, 0x20, 0xbe, 0x8b, 0x1f, 0xec, 0xd6, 0x31, 0x90, 0x69, 0xb8, 0x87, + 0xc8, 0x7f, 0x23, 0x55, 0xe4, 0x5f, 0xa8, 0x47, 0x4c, 0x6c, 0x7e, 0x6a, 0x5c, 0x4f, 0xde, 0x3f, + 0x4c, 0xaf, 0x87, 0x7c, 0x1f, 0x26, 0xd1, 0xc7, 0x88, 0x67, 0xdd, 0x78, 0xeb, 0x7c, 0xa4, 0x47, + 0xcd, 0x6f, 0xa6, 0xd6, 0x7c, 0x11, 0x5d, 0x96, 0x36, 0x9e, 0x98, 0xe3, 0x0d, 0x75, 0x6d, 0x03, + 0xac, 0x71, 0x26, 0x1f, 0xc3, 0x94, 0xb0, 0x44, 0x36, 0xf6, 0xb7, 0x0e, 0x69, 0xd9, 0x39, 0x12, + 0xfe, 0x6a, 0xdc, 0xdc, 0x08, 0xf3, 0xc5, 0xf6, 0xf6, 0xed, 0xf0, 0x90, 0xda, 0x75, 0x47, 0x5b, + 0xb3, 0x13, 0x84, 0xe4, 0x97, 0x60, 0x6c, 0xd5, 0xab, 0x31, 0x23, 0x14, 0xd5, 0xc9, 0x28, 0xf2, + 0xf9, 0x0c, 0x93, 0xe9, 0x71, 0x70, 0xc2, 0xb2, 0xf8, 0xe2, 0x78, 0xfe, 0xdd, 0xd3, 0x4a, 0x9a, + 0x52, 0x81, 0xa5, 0xd6, 0x46, 0x4a, 0x90, 0xdf, 0xa5, 0x7b, 0xac, 0xb5, 0xc9, 0x44, 0x50, 0x12, + 0x2c, 0x8e, 0x10, 0xc4, 0x2f, 0xed, 0x08, 0x41, 0xc0, 0x88, 0x0f, 0xd3, 0xd8, 0x3f, 0x9b, 0x4e, + 0x10, 0x3c, 0xf4, 0xfc, 0x7a, 0x83, 0x06, 0x32, 0x24, 0xa5, 0xbb, 0xf3, 0x17, 0x52, 0x3b, 0xff, + 0x12, 0xef, 0xfc, 0xb6, 0xc2, 0x41, 0xb5, 0xa5, 0xba, 0xd8, 0x93, 0xef, 0xc1, 0xa4, 0x90, 0xc1, + 0xb5, 0xa5, 0x22, 0x4e, 0xe5, 0x71, 0x2d, 0x1c, 0x4c, 0x2f, 0xe4, 0x06, 0x9b, 0xcf, 0x61, 0xd2, + 0x19, 0x63, 0x37, 0xf7, 0xd5, 0x04, 0x71, 0x09, 0x7e, 0xe6, 0x3f, 0x35, 0x70, 0xee, 0x90, 0xeb, + 0x18, 0x98, 0x1f, 0x39, 0xe6, 0xd1, 0x19, 0xe4, 0xb4, 0x13, 0xf7, 0xf5, 0x39, 0x0a, 0x79, 0x1d, + 0x86, 0x97, 0x9c, 0x1a, 0x0d, 0xe5, 0x09, 0x37, 0x22, 0xef, 0x23, 0x44, 0xf5, 0x1c, 0x71, 0x1c, + 0xb6, 0xac, 0x97, 0x29, 0xba, 0xb3, 0xe3, 0x64, 0xb2, 0xa5, 0xa2, 0xbc, 0xd2, 0x86, 0xcb, 0x7a, + 0x9d, 0x72, 0x4f, 0x78, 0x8c, 0x60, 0xd7, 0x1c, 0x95, 0x57, 0x2a, 0x07, 0xf3, 0x7f, 0x37, 0xe2, + 0x71, 0x25, 0xaf, 0x40, 0xce, 0xda, 0x8c, 0xbe, 0x9f, 0x47, 0x53, 0x25, 0x3e, 0x1f, 0x11, 0xc8, + 0xb7, 0xe1, 0xac, 0xc2, 0x07, 0xfb, 0x9c, 0xd6, 0xd9, 0x07, 0xf1, 0xc6, 0xbc, 0x8c, 0xe1, 0x3e, + 0xca, 0x97, 0x38, 0x1c, 0x23, 0xf1, 0x45, 0xe9, 0x3c, 0xd0, 0x86, 0x89, 0x0b, 0xca, 0xb4, 0xe5, + 0x72, 0xde, 0x4a, 0x63, 0x55, 0xde, 0x75, 0x44, 0x48, 0x36, 0x36, 0x8d, 0x03, 0x8f, 0xf8, 0x31, + 0xff, 0x95, 0xa1, 0xe4, 0x5a, 0x7d, 0x46, 0xd7, 0xbd, 0x3b, 0xda, 0xba, 0x37, 0x2b, 0x48, 0xa3, + 0x56, 0xb1, 0xb2, 0x54, 0x5b, 0x65, 0x0a, 0x26, 0x34, 0x24, 0xbc, 0xb7, 0xb4, 0x1d, 0x50, 0x9f, + 0xbb, 0xf4, 0xbf, 0x5e, 0xf7, 0x96, 0xa2, 0x76, 0x0d, 0x74, 0xb3, 0xe4, 0x5f, 0x1a, 0xe8, 0xea, + 0x51, 0x29, 0x58, 0x6f, 0x30, 0x90, 0xda, 0x1b, 0x9d, 0x80, 0xfa, 0x16, 0x42, 0xf9, 0xe5, 0x83, + 0x55, 0xfd, 0xf2, 0x41, 0xc3, 0x62, 0x30, 0xf2, 0x11, 0x0c, 0x6d, 0xe3, 0xc6, 0x55, 0x0f, 0x3d, + 0x8d, 0xf8, 0x63, 0x21, 0x9f, 0x61, 0x1d, 0xf6, 0xa7, 0xaa, 0x20, 0xb0, 0x8c, 0x54, 0x61, 0xa4, + 0xe4, 0x53, 0xcc, 0xaa, 0x9a, 0x1b, 0x3c, 0x7c, 0xaa, 0xc6, 0x49, 0x92, 0xe1, 0x53, 0x82, 0x93, + 0xf9, 0x9b, 0x19, 0x20, 0x71, 0x1b, 0x31, 0xd3, 0x4d, 0xf0, 0xcc, 0x0e, 0xfa, 0x87, 0xda, 0xa0, + 0x3f, 0xdf, 0x35, 0xe8, 0xbc, 0x79, 0x03, 0x8d, 0xfd, 0x1f, 0x19, 0x70, 0x2e, 0x9d, 0x90, 0xbc, + 0x08, 0xc3, 0x1b, 0x5b, 0x9b, 0x32, 0x7a, 0x59, 0x34, 0xc5, 0x6b, 0xa3, 0x7d, 0x6d, 0x89, 0x22, + 0xf2, 0x06, 0x0c, 0x7f, 0x62, 0x95, 0xd8, 0xa2, 0xac, 0xe4, 0x43, 0xf8, 0x45, 0xdf, 0xae, 0xe9, + 0x3b, 0x7d, 0x81, 0xa4, 0x8e, 0x6d, 0xf6, 0xa9, 0x8d, 0xed, 0x4f, 0x32, 0x30, 0x55, 0xac, 0xd5, + 0x68, 0x10, 0xb0, 0xe5, 0x89, 0x06, 0xe1, 0x33, 0x3b, 0xb0, 0xe9, 0x71, 0xc9, 0x5a, 0xdb, 0x06, + 0x1a, 0xd5, 0x3f, 0x36, 0xe0, 0xac, 0xa4, 0x7a, 0xe0, 0xd2, 0x87, 0x5b, 0x87, 0x3e, 0x0d, 0x0e, + 0xbd, 0x46, 0x7d, 0xe0, 0x8c, 0x25, 0x6c, 0x95, 0xc6, 0xeb, 0xe7, 0xea, 0xf9, 0xce, 0x3e, 0x42, + 0xb4, 0x55, 0x9a, 0x5f, 0x51, 0xbf, 0x09, 0x23, 0xc5, 0x76, 0xdb, 0xf7, 0x1e, 0xf0, 0x69, 0x3f, + 0x21, 0xa2, 0xc9, 0x38, 0x48, 0x8b, 0x3e, 0xe3, 0x20, 0xf6, 0x19, 0x65, 0xda, 0xe2, 0xb7, 0xbd, + 0x26, 0xf8, 0x67, 0xd4, 0x69, 0x4b, 0xb5, 0x01, 0xb1, 0xdc, 0xfc, 0x71, 0x0e, 0xc6, 0xd5, 0x86, + 0x10, 0x93, 0xa7, 0x60, 0xf0, 0x7c, 0x35, 0xc8, 0xd3, 0x41, 0x88, 0x25, 0x4a, 0xe2, 0xd8, 0xe8, + 0xcc, 0x89, 0xb1, 0xd1, 0xbb, 0x30, 0xb1, 0xe9, 0x7b, 0x6d, 0x2f, 0xa0, 0x75, 0x9e, 0x18, 0x9b, + 0x6b, 0xad, 0x19, 0xc5, 0x42, 0x62, 0x7d, 0x8e, 0x4e, 0x6c, 0xdc, 0x54, 0xb4, 0x05, 0xb6, 0x9d, + 0x4c, 0x9b, 0xad, 0xf3, 0xe1, 0xe7, 0x63, 0x4e, 0x20, 0xee, 0x5f, 0x46, 0xe7, 0x63, 0x0c, 0xa2, + 0x9f, 0x8f, 0x31, 0x88, 0x3a, 0x2d, 0x86, 0x9e, 0xd6, 0xb4, 0x20, 0xbf, 0x69, 0xc0, 0x58, 0xb1, + 0xd5, 0x12, 0x31, 0xd7, 0x27, 0x04, 0x9d, 0x7d, 0x47, 0x1c, 0x91, 0xbd, 0xfb, 0xa5, 0x8e, 0xc8, + 0xb6, 0x7c, 0xc7, 0x0d, 0x03, 0x0c, 0xc5, 0x8b, 0x2b, 0x54, 0x03, 0x62, 0x94, 0xef, 0x20, 0xef, + 0x42, 0x21, 0x92, 0xc7, 0x95, 0x56, 0x9d, 0x3e, 0xa2, 0xc1, 0xdc, 0xc8, 0x95, 0xec, 0xb5, 0x09, + 0x9e, 0x33, 0x46, 0x3b, 0xfb, 0x4b, 0x22, 0x9a, 0x3f, 0x31, 0xe0, 0x9c, 0x2a, 0x10, 0xd5, 0xce, + 0x5e, 0xd3, 0x45, 0x53, 0x95, 0xdc, 0x80, 0x51, 0x31, 0x5e, 0x91, 0x21, 0xd7, 0x9d, 0x79, 0x22, + 0x46, 0x21, 0x15, 0x36, 0x44, 0x8c, 0x87, 0xf0, 0x38, 0xcc, 0x24, 0xa6, 0x1b, 0x2b, 0x5a, 0x9c, + 0x13, 0x9d, 0x5d, 0xf0, 0xf1, 0xb7, 0x3e, 0x76, 0x0c, 0x62, 0x7e, 0x00, 0xd3, 0xfa, 0x57, 0x56, + 0x29, 0x66, 0x0f, 0x90, 0x4d, 0x33, 0xd2, 0x9b, 0x26, 0xcb, 0xcd, 0x5d, 0x20, 0x5d, 0xf4, 0x01, + 0x9e, 0xf3, 0xd2, 0x50, 0xc6, 0x21, 0x48, 0x2f, 0x6b, 0x17, 0x62, 0xf4, 0xda, 0xc0, 0x98, 0xda, + 0xdd, 0x48, 0x6a, 0xfe, 0xd7, 0x63, 0x30, 0x93, 0xa2, 0x3a, 0x4e, 0x58, 0xda, 0xe7, 0xf5, 0xc9, + 0x33, 0x1a, 0xc5, 0x73, 0xca, 0x29, 0xf3, 0x81, 0xcc, 0x21, 0xdf, 0x67, 0xaa, 0xf4, 0x4b, 0x2c, + 0xff, 0x55, 0x2c, 0xef, 0x6a, 0xc8, 0xf5, 0xd0, 0x53, 0x0b, 0xb9, 0x5e, 0x84, 0x09, 0xd1, 0x2a, + 0x31, 0x95, 0x87, 0x63, 0xe7, 0x82, 0xcf, 0x0b, 0xec, 0xae, 0x29, 0xad, 0x93, 0x70, 0x1e, 0x81, + 0xd7, 0x78, 0x40, 0x05, 0x8f, 0x11, 0x95, 0x07, 0x16, 0xa4, 0xf2, 0x50, 0x48, 0xc8, 0x7f, 0x62, + 0x00, 0x11, 0x10, 0x75, 0x3e, 0xe7, 0xfb, 0xcd, 0xe7, 0xfa, 0xd3, 0x99, 0xcf, 0xcf, 0xcb, 0x6f, + 0x4c, 0x9f, 0xd7, 0x29, 0x9f, 0x45, 0xfe, 0x23, 0x03, 0xa6, 0x79, 0xdc, 0xaf, 0xfa, 0xb1, 0x7d, + 0x63, 0x39, 0x6b, 0x4f, 0xe7, 0x63, 0x2f, 0x05, 0x58, 0x6d, 0x8f, 0x6f, 0xed, 0xfe, 0x28, 0xf2, + 0x0b, 0x00, 0xd1, 0x8c, 0x92, 0xe9, 0x1d, 0x2e, 0xa5, 0x68, 0x81, 0x08, 0x29, 0xce, 0x8f, 0x11, + 0x46, 0x74, 0x5a, 0xa2, 0xb3, 0x08, 0x4a, 0xfe, 0x2a, 0xcc, 0xb2, 0xf9, 0x12, 0x41, 0xc4, 0x2d, + 0x85, 0xb9, 0x31, 0xac, 0xe5, 0xad, 0xde, 0x4b, 0xfb, 0x8d, 0x34, 0x32, 0x7e, 0x1f, 0x36, 0xce, + 0x9a, 0x19, 0x36, 0xd5, 0x2d, 0x5f, 0x1a, 0x05, 0x5e, 0xfb, 0xc1, 0xaf, 0xe7, 0x69, 0x22, 0x7a, + 0xe8, 0xb7, 0x0b, 0x72, 0x2e, 0x70, 0xfd, 0x16, 0xe8, 0xf1, 0x83, 0x08, 0x22, 0x9f, 0x00, 0x89, + 0x02, 0x66, 0x39, 0x8c, 0xfa, 0x32, 0x89, 0x34, 0x3a, 0x0d, 0xe2, 0xc0, 0x5b, 0x5f, 0x16, 0xab, + 0x42, 0xd2, 0x4d, 0x4c, 0x28, 0xcc, 0x8a, 0x46, 0x33, 0xa8, 0x4c, 0x76, 0x16, 0xcc, 0x4d, 0x6a, + 0x77, 0x40, 0xe2, 0x92, 0x38, 0xbd, 0xa6, 0x92, 0x31, 0x4d, 0xdb, 0xf6, 0xa6, 0xb1, 0x23, 0x77, + 0x60, 0x74, 0xd5, 0x3b, 0x70, 0x5b, 0xcb, 0xf2, 0xf4, 0x5a, 0x9c, 0xa4, 0x35, 0x18, 0xd0, 0x3e, + 0xd4, 0xcf, 0xa0, 0x63, 0x54, 0x66, 0xd5, 0x96, 0xfd, 0x23, 0xab, 0xd3, 0x9a, 0x2b, 0xa0, 0x4b, + 0x0f, 0xcd, 0x99, 0xba, 0x7f, 0x64, 0xfb, 0x1d, 0x6d, 0xf9, 0xe6, 0x48, 0x17, 0xf7, 0xe0, 0x42, + 0xcf, 0x41, 0x4b, 0xb9, 0x7a, 0x7b, 0x53, 0xbf, 0x7a, 0x7b, 0xa1, 0x97, 0x72, 0x0f, 0xd4, 0xeb, + 0xb7, 0x7f, 0xc7, 0x48, 0x68, 0x73, 0x61, 0x7a, 0xf1, 0x44, 0x4b, 0xbd, 0x96, 0xbb, 0x0c, 0xe6, + 0x98, 0xe4, 0xfa, 0x3e, 0x13, 0x9b, 0x7c, 0x4c, 0xdf, 0xab, 0xeb, 0x05, 0x6a, 0xfe, 0x27, 0x54, + 0xec, 0xe6, 0x6f, 0x65, 0x80, 0xf0, 0x2f, 0x2c, 0x39, 0x6d, 0x67, 0xcf, 0x6d, 0xb8, 0xa1, 0x4b, + 0x31, 0xe1, 0x9c, 0x60, 0xe1, 0xec, 0x35, 0xa8, 0x7a, 0x57, 0x40, 0x44, 0x73, 0x44, 0x65, 0x76, + 0xd2, 0x48, 0xeb, 0x22, 0xec, 0x21, 0x8a, 0x99, 0x27, 0x11, 0xc5, 0xef, 0xc1, 0x73, 0xc5, 0x36, + 0x26, 0x92, 0x94, 0xb5, 0x2c, 0x79, 0xbe, 0x14, 0x22, 0xe9, 0x7b, 0xc1, 0x53, 0x46, 0x27, 0x42, + 0xeb, 0xfa, 0xd2, 0x7e, 0x2c, 0xcc, 0x7f, 0x92, 0x81, 0x0b, 0xdd, 0x1d, 0x23, 0xda, 0x16, 0x0d, + 0x8f, 0x71, 0xc2, 0xf0, 0xa4, 0xf5, 0x63, 0x06, 0xa5, 0xf3, 0xa9, 0xf5, 0x23, 0xcf, 0xe4, 0xf8, + 0x25, 0xfb, 0xb1, 0x0a, 0x63, 0xea, 0x4c, 0xce, 0x7d, 0xd9, 0x99, 0xac, 0x72, 0x31, 0x1f, 0xaa, + 0x89, 0x13, 0xc9, 0x1b, 0x69, 0xd1, 0x82, 0xfc, 0xee, 0x35, 0x07, 0xeb, 0x81, 0x82, 0x72, 0x0f, + 0x98, 0x49, 0xdd, 0x03, 0xca, 0x6b, 0xe4, 0xd9, 0xb4, 0x6b, 0xe4, 0xe6, 0xaf, 0x66, 0x60, 0x7c, + 0xb3, 0xd1, 0x39, 0x70, 0x5b, 0x65, 0x27, 0x74, 0x9e, 0xd9, 0x0d, 0xe5, 0x3b, 0xda, 0x86, 0x32, + 0x0a, 0x67, 0x8d, 0x1a, 0x36, 0xd0, 0x6e, 0xf2, 0xa7, 0x06, 0x4c, 0xc5, 0x24, 0x5c, 0xab, 0x2d, + 0x43, 0x8e, 0xfd, 0x10, 0xf6, 0xe9, 0x95, 0x2e, 0xc6, 0x3c, 0x63, 0x5a, 0xf4, 0x97, 0xd8, 0xe2, + 0xe9, 0xcf, 0x8d, 0x20, 0x87, 0x8b, 0xdf, 0xe0, 0x89, 0xff, 0x4f, 0x9f, 0x29, 0xed, 0x1f, 0x19, + 0x50, 0x48, 0xb6, 0x84, 0xdc, 0x83, 0x11, 0xc6, 0xc9, 0x8d, 0x1e, 0x11, 0x78, 0xa9, 0x47, 0x9b, + 0x6f, 0x08, 0x34, 0xfe, 0x79, 0xd8, 0xf9, 0x94, 0x43, 0x2c, 0xc9, 0xe1, 0xa2, 0x05, 0xe3, 0x2a, + 0x56, 0xca, 0xd7, 0xbd, 0xae, 0xab, 0xf2, 0x73, 0xe9, 0xfd, 0xa0, 0x7e, 0xf5, 0xdf, 0xd2, 0xbe, + 0x5a, 0x28, 0xf1, 0x41, 0x9f, 0x90, 0xc1, 0xc4, 0x0b, 0x7c, 0x3a, 0xa8, 0x72, 0x26, 0x67, 0x92, + 0x9e, 0x78, 0x81, 0xc3, 0xd8, 0x4e, 0x94, 0xd7, 0x27, 0xe4, 0x0c, 0x77, 0xa2, 0x6d, 0x84, 0xa8, + 0x4b, 0x19, 0xc7, 0x31, 0xff, 0x76, 0x16, 0xce, 0xc5, 0x9f, 0xc7, 0x1f, 0xd4, 0xd9, 0x74, 0x7c, + 0xa7, 0x19, 0x9c, 0x30, 0x03, 0xae, 0x75, 0x7d, 0x1a, 0x66, 0x30, 0x92, 0x9f, 0xa6, 0x7c, 0x90, + 0x99, 0xf8, 0x20, 0xdc, 0xc2, 0xf3, 0x0f, 0x92, 0x9f, 0x41, 0xee, 0x41, 0xb6, 0x4a, 0x43, 0xa1, + 0x44, 0xae, 0x76, 0xf5, 0xaa, 0xfa, 0x5d, 0x37, 0xaa, 0x34, 0xe4, 0x83, 0xc8, 0xaf, 0x9d, 0x50, + 0xed, 0x9e, 0x28, 0xdb, 0x8c, 0xed, 0xc2, 0x70, 0xe5, 0x51, 0x9b, 0xd6, 0x42, 0x91, 0x75, 0xe4, + 0xd5, 0xfe, 0xfc, 0x38, 0xae, 0x92, 0xdb, 0x84, 0x22, 0x40, 0xed, 0x2c, 0x8e, 0x72, 0xf1, 0x0e, + 0xe4, 0x65, 0xe5, 0xa7, 0xca, 0xd1, 0xf1, 0x0e, 0x8c, 0x29, 0x95, 0x9c, 0x4a, 0xe8, 0xff, 0xc2, + 0x80, 0x61, 0xa6, 0xc2, 0x77, 0xde, 0x7e, 0x46, 0x35, 0xd2, 0x6d, 0x4d, 0x23, 0x4d, 0x2b, 0x57, + 0xd1, 0x71, 0x5e, 0xbe, 0x7d, 0x82, 0x2e, 0x3a, 0x36, 0x00, 0x62, 0x64, 0x72, 0x17, 0x46, 0x44, + 0x7e, 0x54, 0x11, 0xf8, 0xa2, 0xde, 0x6d, 0x97, 0x89, 0xf9, 0x23, 0x1b, 0xd7, 0x6b, 0x27, 0x37, + 0x05, 0x92, 0x9a, 0x94, 0xe3, 0x7b, 0x89, 0x5a, 0x26, 0x54, 0x0f, 0xe3, 0x6f, 0xf9, 0xdd, 0x6c, + 0x25, 0xd5, 0x6e, 0x8f, 0x3b, 0x2f, 0x45, 0xe1, 0xd6, 0xca, 0xf6, 0x63, 0x72, 0x4e, 0xa6, 0xb3, + 0x4c, 0xf5, 0x78, 0xfd, 0xa7, 0x53, 0xfc, 0x56, 0xb3, 0xfc, 0xb0, 0xf7, 0x61, 0x7c, 0xc9, 0xf3, + 0x1f, 0x3a, 0x3e, 0xbf, 0xab, 0x86, 0xcd, 0xe4, 0xd9, 0x96, 0x27, 0xf6, 0x39, 0x9c, 0xdf, 0x76, + 0xfb, 0xe2, 0x78, 0x3e, 0xb7, 0xe8, 0x79, 0x0d, 0x4b, 0x43, 0x27, 0x1b, 0x30, 0xb1, 0xe6, 0x3c, + 0x12, 0x67, 0xd0, 0x5b, 0x5b, 0xab, 0x22, 0xa0, 0xee, 0xd5, 0xc7, 0xc7, 0xf3, 0x17, 0x9a, 0xce, + 0xa3, 0xe8, 0x9c, 0xaf, 0xf7, 0xd5, 0x49, 0x9d, 0x9e, 0xb8, 0x30, 0xb9, 0xe9, 0xf9, 0xa1, 0xa8, + 0x84, 0xed, 0x68, 0xb2, 0x3d, 0x4e, 0x31, 0x6f, 0xa6, 0x9e, 0x62, 0x5e, 0x60, 0xdb, 0x38, 0x7b, + 0x3f, 0x22, 0xd7, 0xf2, 0x4d, 0x68, 0x8c, 0xc9, 0xfb, 0x30, 0x5d, 0xa2, 0x7e, 0xe8, 0xee, 0xbb, + 0x35, 0x27, 0xa4, 0x4b, 0x9e, 0xdf, 0x74, 0x42, 0xe1, 0x4e, 0x43, 0x77, 0x4a, 0x8d, 0x72, 0x4e, + 0x4d, 0x27, 0xb4, 0xba, 0x31, 0xc9, 0xb7, 0xd3, 0x42, 0x14, 0x87, 0xe2, 0x40, 0xac, 0x94, 0x10, + 0xc5, 0x5e, 0x81, 0x58, 0xdd, 0xc1, 0x8a, 0x07, 0xfd, 0x8e, 0xf2, 0xf3, 0x8b, 0xb7, 0x44, 0xe8, + 0xc0, 0xc9, 0x47, 0xf5, 0xd1, 0xb8, 0xf5, 0x38, 0xb2, 0x5f, 0x80, 0xec, 0xe2, 0xe6, 0x12, 0x3a, + 0xc8, 0xc4, 0xd1, 0x39, 0x6d, 0x1d, 0x3a, 0xad, 0x1a, 0x5a, 0x66, 0x22, 0xe6, 0x46, 0x55, 0x78, + 0x8b, 0x9b, 0x4b, 0xc4, 0x81, 0x99, 0x4d, 0xea, 0x37, 0xdd, 0xf0, 0xd3, 0x5b, 0xb7, 0x94, 0x81, + 0xca, 0xe3, 0xa7, 0xdd, 0x14, 0x9f, 0x36, 0xdf, 0x46, 0x14, 0xfb, 0xd1, 0xad, 0x5b, 0xa9, 0xc3, + 0x11, 0x7d, 0x58, 0x1a, 0x2f, 0x52, 0x81, 0xc9, 0x35, 0xe7, 0x51, 0x1c, 0x2a, 0x15, 0x88, 0x60, + 0xef, 0xe7, 0xa5, 0x60, 0xc5, 0x61, 0x56, 0xea, 0x7c, 0x4b, 0x10, 0x91, 0xf7, 0x60, 0x2c, 0x16, + 0xaf, 0x40, 0x84, 0xc9, 0x61, 0x0c, 0xbb, 0x22, 0x9c, 0x9a, 0x75, 0xa8, 0xa0, 0x93, 0xed, 0xc8, + 0x41, 0xc3, 0xcd, 0x6b, 0x91, 0x44, 0xf1, 0xa6, 0xea, 0xa0, 0x71, 0xb0, 0x44, 0x6b, 0xd6, 0x54, + 0xb4, 0xa5, 0xe1, 0xb1, 0x63, 0x96, 0xce, 0x45, 0xf1, 0xfb, 0x6c, 0xfa, 0x5e, 0xb3, 0x1d, 0xe2, + 0xb1, 0x79, 0xc2, 0xef, 0xd3, 0xc6, 0x92, 0x14, 0xbf, 0x0f, 0x27, 0x49, 0x8f, 0x0f, 0x99, 0x38, + 0x21, 0x3e, 0x84, 0x42, 0x6e, 0xd5, 0xab, 0xdd, 0xc7, 0xb8, 0xed, 0xd1, 0xc5, 0x4f, 0x98, 0x8e, + 0x68, 0x78, 0xb5, 0xfb, 0x4f, 0x2f, 0xae, 0x01, 0xd9, 0x93, 0x75, 0xd6, 0x3e, 0x26, 0x3a, 0xa2, + 0x6a, 0xdc, 0x19, 0xc7, 0x67, 0xa9, 0x5a, 0x19, 0x37, 0x46, 0xb8, 0xa4, 0xc9, 0xf1, 0xb0, 0x74, + 0x72, 0x42, 0xa1, 0x50, 0xa6, 0xc1, 0xfd, 0xd0, 0x6b, 0x97, 0x1a, 0x6e, 0x7b, 0xcf, 0x73, 0xfc, + 0x3a, 0xee, 0x9b, 0xd3, 0x94, 0xc2, 0x2b, 0xa9, 0x4a, 0x61, 0xba, 0xce, 0xe9, 0xed, 0x9a, 0x64, + 0x60, 0x75, 0xb1, 0x24, 0xdf, 0x86, 0x49, 0x36, 0x23, 0x2a, 0x8f, 0x42, 0xda, 0xe2, 0xe2, 0x32, + 0x8d, 0xcb, 0xf9, 0xac, 0x92, 0x38, 0x24, 0x2a, 0xe4, 0x82, 0x88, 0x1a, 0x82, 0x46, 0x04, 0xaa, + 0x20, 0xea, 0xac, 0x48, 0x1d, 0xe6, 0xd6, 0x9c, 0x47, 0x4a, 0x8e, 0x4e, 0x45, 0xb2, 0x09, 0x4a, + 0x25, 0xa6, 0xfd, 0x67, 0x52, 0x19, 0x5f, 0xf0, 0xed, 0x21, 0xe4, 0x3d, 0x39, 0x91, 0x5f, 0x82, + 0xf3, 0xa2, 0x59, 0x65, 0xcc, 0x8a, 0xe5, 0xf9, 0x47, 0xd5, 0x43, 0x07, 0x43, 0x2b, 0x67, 0x4e, + 0xa7, 0x45, 0x65, 0x87, 0xd5, 0x25, 0x1f, 0x3b, 0xe0, 0x8c, 0xac, 0x5e, 0x35, 0x90, 0xef, 0xc1, + 0x24, 0x77, 0x97, 0x2e, 0x7b, 0x41, 0x88, 0x5b, 0xce, 0xd9, 0x1e, 0x75, 0x5e, 0x4d, 0xad, 0xb3, + 0xc0, 0x7d, 0xb0, 0x3c, 0xc6, 0x0e, 0x3d, 0xc6, 0x09, 0x7e, 0xe4, 0x5d, 0x18, 0xdb, 0x74, 0x5b, + 0x55, 0xbe, 0x5d, 0xdb, 0x9c, 0x3b, 0x1b, 0x2f, 0x55, 0x6d, 0xb7, 0x65, 0xcb, 0xdd, 0x5e, 0x3b, + 0xd2, 0x2c, 0x2a, 0x36, 0xd9, 0x85, 0xb1, 0x6a, 0x75, 0x79, 0xc9, 0x65, 0x6b, 0x65, 0xfb, 0x68, + 0xee, 0x5c, 0x8f, 0x6f, 0x7b, 0x31, 0xf5, 0xdb, 0x26, 0x82, 0xe0, 0x10, 0x33, 0xc7, 0xdb, 0x35, + 0xaf, 0x7d, 0x64, 0xa9, 0x9c, 0x52, 0xc2, 0x60, 0xce, 0x3f, 0xe5, 0x30, 0x98, 0xff, 0x3c, 0x93, + 0x98, 0x51, 0x64, 0x05, 0x46, 0xc4, 0x30, 0x08, 0xbb, 0xa4, 0xbb, 0x21, 0xcf, 0xa7, 0x36, 0x64, + 0x44, 0x0c, 0xac, 0x25, 0xe9, 0xc9, 0x43, 0xc6, 0x6a, 0xdf, 0xe9, 0x34, 0xe4, 0x7d, 0xed, 0xcf, + 0xf9, 0x84, 0x41, 0x90, 0xa6, 0x1a, 0xca, 0xa7, 0x0f, 0xae, 0xd3, 0x63, 0x37, 0x51, 0x47, 0xc8, + 0xda, 0xc8, 0x7d, 0x9e, 0x06, 0x26, 0x1b, 0x05, 0x5b, 0xe9, 0x39, 0x5f, 0x9e, 0x5a, 0x85, 0xac, + 0x16, 0xf3, 0x9f, 0x1b, 0x30, 0xa1, 0x4d, 0x49, 0x72, 0x47, 0x09, 0x3f, 0x8c, 0xe3, 0xcc, 0x35, + 0x9c, 0xd4, 0x37, 0x92, 0xef, 0x88, 0x98, 0xd3, 0x4c, 0x6f, 0xba, 0xd4, 0xcc, 0xfe, 0x7d, 0xfd, + 0x01, 0x71, 0x5a, 0xb9, 0x5c, 0x8f, 0xb4, 0x72, 0x3f, 0x9c, 0x82, 0x49, 0xdd, 0xd0, 0x63, 0x3b, + 0x2f, 0x74, 0x29, 0x4a, 0x7f, 0x17, 0x4f, 0x94, 0x88, 0x10, 0x2d, 0x67, 0x38, 0x42, 0xc8, 0xcb, + 0x00, 0x51, 0x80, 0x8a, 0x74, 0x69, 0x89, 0xa5, 0x42, 0x29, 0x20, 0xdf, 0x05, 0x58, 0xf7, 0xea, + 0x34, 0xca, 0xcf, 0xd9, 0xc7, 0xad, 0xfe, 0x4a, 0x57, 0x8a, 0x84, 0xb3, 0x2d, 0xaf, 0x4e, 0xbb, + 0xf3, 0x21, 0x28, 0x1c, 0xc9, 0xb7, 0x60, 0xc8, 0xea, 0x34, 0xa8, 0x74, 0xe0, 0x8c, 0xc9, 0x49, + 0xd2, 0x69, 0x28, 0xef, 0x93, 0xf9, 0x9d, 0xe4, 0x69, 0x2a, 0x03, 0x90, 0x0f, 0x79, 0xea, 0x04, + 0x7c, 0x4b, 0x45, 0x66, 0xa6, 0x42, 0xe7, 0x94, 0xa2, 0x32, 0xf1, 0x05, 0x96, 0xae, 0xd4, 0x08, + 0x9c, 0x84, 0x6c, 0xc0, 0x88, 0x58, 0x46, 0xc5, 0x69, 0xe5, 0xe5, 0x34, 0x3f, 0xb9, 0x62, 0x4b, + 0x8b, 0x5c, 0x8c, 0x08, 0xd6, 0x5d, 0xd7, 0xdc, 0xb9, 0xf6, 0x1e, 0x8c, 0x32, 0xf6, 0xfc, 0xc1, + 0xad, 0x91, 0xd8, 0x95, 0xa7, 0x7c, 0x50, 0xf2, 0xcd, 0xad, 0x98, 0x80, 0x7c, 0x1b, 0x33, 0xae, + 0x8a, 0xae, 0xee, 0x7b, 0xdc, 0x72, 0xb5, 0xab, 0xab, 0x67, 0x9d, 0x76, 0x3b, 0x25, 0x83, 0x76, + 0xc4, 0x8f, 0x1c, 0x44, 0x97, 0x83, 0x07, 0x49, 0x77, 0x71, 0xbd, 0xab, 0x82, 0x39, 0x79, 0xdf, + 0xb5, 0x3b, 0xcf, 0xaa, 0xc6, 0x97, 0xb4, 0xa1, 0x10, 0xaf, 0x46, 0xa2, 0x2e, 0xe8, 0x57, 0xd7, + 0x1b, 0x5d, 0x75, 0xa9, 0x03, 0xd8, 0x55, 0x5d, 0x17, 0x77, 0x52, 0x8f, 0x1f, 0x14, 0x14, 0xf5, + 0x8d, 0xf5, 0xab, 0xef, 0xe5, 0xae, 0xfa, 0x66, 0xea, 0x7b, 0xdd, 0xf5, 0x24, 0x78, 0x92, 0xf7, + 0x60, 0x42, 0x42, 0x70, 0x7e, 0x88, 0x6c, 0xd8, 0xfc, 0x29, 0xcc, 0x3d, 0x0c, 0xfa, 0xd5, 0x13, + 0x86, 0xaa, 0xc8, 0x2a, 0x35, 0x97, 0x8e, 0x09, 0x8d, 0x3a, 0x29, 0x15, 0x3a, 0x32, 0xf9, 0x0c, + 0xc6, 0x56, 0x9a, 0xac, 0x21, 0x5e, 0xcb, 0x09, 0x29, 0x1a, 0x6c, 0xf1, 0xd1, 0x91, 0x52, 0xa2, + 0x88, 0x2a, 0x7f, 0x5c, 0x26, 0x2e, 0x52, 0x8d, 0x5a, 0x85, 0x82, 0x75, 0x1e, 0x77, 0xaa, 0x0a, + 0x19, 0x0e, 0x84, 0x79, 0xf6, 0x7c, 0xca, 0xf1, 0x8d, 0xc2, 0x1e, 0xed, 0x1d, 0xee, 0xab, 0xb5, + 0xc5, 0x84, 0x08, 0xf4, 0x25, 0x4b, 0xe5, 0x49, 0xde, 0x87, 0x31, 0x91, 0x09, 0xa8, 0x68, 0xad, + 0x07, 0x73, 0x85, 0xf8, 0x2d, 0x3a, 0x99, 0x34, 0xc8, 0x76, 0xfc, 0xc4, 0x19, 0x7e, 0x8c, 0x4f, + 0x3e, 0x85, 0xd9, 0x5d, 0xb7, 0x55, 0xf7, 0x1e, 0x06, 0x62, 0x99, 0x12, 0x8a, 0x6e, 0x3a, 0x8e, + 0x54, 0x7c, 0xc8, 0xcb, 0x6d, 0x69, 0xa9, 0x74, 0x29, 0xbe, 0x54, 0x0e, 0xe4, 0x97, 0xbb, 0x38, + 0x73, 0x09, 0x22, 0xfd, 0x24, 0x68, 0xa1, 0x4b, 0x82, 0xba, 0xab, 0x4f, 0x8a, 0x53, 0x6a, 0x35, + 0xc4, 0x03, 0xa2, 0xdb, 0xe5, 0x1f, 0x7b, 0x6e, 0x6b, 0x6e, 0x46, 0x7b, 0x37, 0x3e, 0x5a, 0xc5, + 0x10, 0x8f, 0x3f, 0x85, 0x23, 0x5f, 0xac, 0xd2, 0xcd, 0x86, 0xef, 0x7b, 0x9a, 0x93, 0x2d, 0x85, + 0x35, 0xf9, 0x0c, 0xc6, 0xd9, 0xff, 0xd1, 0x16, 0x68, 0x56, 0x3b, 0xf0, 0x57, 0x30, 0x45, 0x3d, + 0x38, 0x46, 0x98, 0xaa, 0x28, 0x65, 0x77, 0xa4, 0xb1, 0x22, 0xef, 0x00, 0x30, 0xd3, 0x4c, 0xa8, + 0xe3, 0xb3, 0x71, 0x3e, 0x29, 0xb4, 0xe0, 0xba, 0x15, 0x71, 0x8c, 0xcc, 0xf6, 0x65, 0xec, 0x57, + 0xb5, 0x53, 0xf7, 0xd8, 0xdc, 0x38, 0x87, 0xb4, 0xb8, 0x2f, 0x43, 0xda, 0x80, 0xc3, 0x55, 0xe9, + 0x50, 0xd0, 0xc9, 0x0f, 0xe0, 0xac, 0xfa, 0x30, 0xaf, 0x5b, 0x93, 0x6a, 0xe0, 0xe2, 0x29, 0xd5, + 0x4e, 0x7d, 0xcf, 0x96, 0x89, 0x2e, 0xba, 0xc6, 0x2f, 0xbd, 0x0a, 0xf3, 0xcf, 0x0c, 0x98, 0x4d, + 0x1b, 0xa0, 0x13, 0xd2, 0xc6, 0x9a, 0x89, 0x78, 0x27, 0x74, 0x4a, 0xf2, 0x78, 0xa7, 0x28, 0xca, + 0x69, 0x1e, 0x86, 0xee, 0xb9, 0xad, 0xba, 0x3c, 0x13, 0x42, 0x1b, 0xe0, 0x3e, 0x03, 0x58, 0x1c, + 0xce, 0x10, 0xf8, 0xa5, 0x23, 0x66, 0x24, 0x0c, 0x71, 0x04, 0xbc, 0x63, 0x64, 0x71, 0x38, 0x43, + 0x60, 0xb6, 0x86, 0x5c, 0x1b, 0x11, 0x81, 0x99, 0x20, 0x81, 0xc5, 0xe1, 0xe4, 0x2a, 0x8c, 0x6c, + 0xb4, 0x56, 0xa9, 0xf3, 0x80, 0x8a, 0x60, 0x03, 0x74, 0xa2, 0x7a, 0x2d, 0xbb, 0xc1, 0x60, 0x96, + 0x2c, 0x34, 0x7f, 0x6a, 0xc0, 0x74, 0x97, 0x6c, 0x9c, 0x9c, 0x19, 0xb7, 0x7f, 0x64, 0xc7, 0x20, + 0xed, 0xe3, 0x9f, 0x9f, 0x4b, 0xff, 0x7c, 0xf3, 0xf7, 0x73, 0x70, 0xbe, 0xc7, 0x52, 0x1d, 0x47, + 0x65, 0x19, 0x27, 0x46, 0x65, 0x7d, 0x87, 0x2d, 0x8d, 0x8e, 0xdb, 0x0c, 0xb6, 0xbc, 0xf8, 0x8b, + 0xe3, 0x03, 0x6c, 0x2c, 0x93, 0x89, 0x2b, 0x5f, 0x10, 0x36, 0xc9, 0x85, 0x1a, 0x52, 0xd8, 0xa1, + 0xd7, 0x75, 0xfc, 0xa5, 0x33, 0xeb, 0x8a, 0x8b, 0xca, 0xfe, 0x25, 0x89, 0x8b, 0xd2, 0xa3, 0x11, + 0x72, 0x4f, 0x35, 0x1a, 0x21, 0xfd, 0xbc, 0x6f, 0xe8, 0x49, 0xce, 0x4d, 0x4b, 0x30, 0x51, 0xa5, + 0x8e, 0x5f, 0x3b, 0x2c, 0x06, 0x7c, 0x90, 0x78, 0xda, 0x7f, 0x91, 0x9d, 0x86, 0x15, 0xd8, 0x4e, + 0xd0, 0x3d, 0x16, 0x1a, 0x8d, 0xf9, 0xd3, 0x8c, 0x1e, 0xce, 0xf5, 0x97, 0x51, 0x5e, 0x5e, 0x85, + 0xa1, 0xdd, 0x43, 0xea, 0xcb, 0x9d, 0x01, 0x7e, 0xc8, 0x43, 0x06, 0x50, 0x3f, 0x04, 0x31, 0xc8, + 0x12, 0x4c, 0x6e, 0xf2, 0xfe, 0x93, 0x9d, 0x92, 0x8b, 0x6d, 0xce, 0xb6, 0x58, 0x9d, 0x53, 0x7a, + 0x25, 0x41, 0x65, 0xfe, 0x12, 0x8c, 0xab, 0x1f, 0x8d, 0x8a, 0x85, 0xfd, 0x16, 0x33, 0x9b, 0x2b, + 0x16, 0x06, 0xb0, 0x38, 0xfc, 0xc4, 0xac, 0xd7, 0x71, 0x6f, 0x66, 0x4f, 0xea, 0x4d, 0x56, 0x39, + 0xca, 0xad, 0x52, 0x39, 0xfe, 0x56, 0x2b, 0x0f, 0x19, 0xc0, 0xe2, 0xf0, 0xa7, 0x5a, 0xf9, 0x7f, + 0x61, 0x88, 0xec, 0x47, 0x6f, 0xc3, 0x68, 0x7c, 0x08, 0x1f, 0xe7, 0x16, 0x9c, 0x91, 0x07, 0x4a, + 0x81, 0x1e, 0xd4, 0x27, 0x80, 0xac, 0xaa, 0x1d, 0xea, 0xef, 0x69, 0xb1, 0x9f, 0x0f, 0x18, 0x40, + 0xad, 0x0a, 0x31, 0x4e, 0x33, 0xae, 0x37, 0x61, 0xa4, 0x28, 0x9c, 0x41, 0x7c, 0x40, 0x79, 0x7c, + 0x6b, 0x97, 0xe7, 0x47, 0x62, 0x99, 0xbf, 0x63, 0xc0, 0xd9, 0x54, 0x33, 0x90, 0xd5, 0xca, 0xed, + 0x4d, 0x45, 0xac, 0x93, 0xc6, 0x26, 0xc7, 0x38, 0x4d, 0x1c, 0xeb, 0xe0, 0x6d, 0x31, 0x5f, 0x80, + 0xd1, 0xc8, 0x09, 0x41, 0x66, 0xe5, 0xd0, 0xe1, 0xb1, 0x82, 0xdc, 0xcb, 0xfe, 0x85, 0x01, 0xc3, + 0xec, 0x13, 0x9e, 0xd9, 0xcb, 0x91, 0xe9, 0x87, 0x4c, 0xac, 0x49, 0x03, 0x5d, 0x89, 0xfc, 0xdd, + 0x61, 0x80, 0x18, 0x99, 0xec, 0xc1, 0xe4, 0xc6, 0x4a, 0xb9, 0xb4, 0x52, 0xa7, 0xad, 0x10, 0x43, + 0x37, 0x12, 0xd9, 0xa1, 0xa2, 0x4c, 0xec, 0x1c, 0xe1, 0x28, 0xd6, 0x31, 0x9e, 0x5b, 0xaf, 0xd9, + 0x6e, 0x44, 0xa7, 0xa5, 0x39, 0xd3, 0x38, 0xb2, 0x3a, 0xaa, 0xc5, 0xb5, 0x55, 0xa5, 0x8e, 0xcc, + 0x80, 0x75, 0x04, 0x4e, 0xb3, 0xd1, 0xa3, 0x0e, 0x9d, 0x23, 0x39, 0x84, 0xc2, 0x5d, 0x5c, 0xc5, + 0x94, 0x5a, 0xb2, 0xfd, 0x6b, 0x79, 0x51, 0xd4, 0xf2, 0x1c, 0x5f, 0xfe, 0xd2, 0xeb, 0xe9, 0xe2, + 0x1a, 0x4b, 0x6e, 0xee, 0x44, 0xc9, 0xfd, 0xeb, 0x06, 0x0c, 0xf3, 0x65, 0x32, 0x7a, 0x04, 0x3f, + 0x75, 0x21, 0xde, 0x7d, 0x3a, 0x0b, 0x71, 0x01, 0x35, 0x97, 0xe6, 0x7f, 0xe1, 0x65, 0xa4, 0x9c, + 0x78, 0x51, 0x5f, 0x9e, 0x24, 0xe2, 0xbe, 0x84, 0x97, 0xc4, 0xd1, 0xc0, 0xfc, 0x31, 0x7d, 0x95, + 0x0b, 0xc7, 0x20, 0x2b, 0x71, 0x20, 0xea, 0xc8, 0x89, 0x81, 0xa8, 0x32, 0x78, 0x77, 0x44, 0x04, + 0xa2, 0xea, 0xe1, 0xa7, 0xab, 0x30, 0x2a, 0xc2, 0x5b, 0x17, 0xe5, 0xe3, 0xce, 0xd2, 0x8b, 0x18, + 0xc1, 0x95, 0x07, 0xbb, 0x38, 0xc8, 0xde, 0xd3, 0xd2, 0xca, 0x47, 0x88, 0x64, 0x03, 0x46, 0xe3, + 0x5b, 0x9f, 0x7a, 0xc6, 0x83, 0x08, 0x2e, 0xee, 0x7f, 0xc8, 0x18, 0xb9, 0x94, 0x4b, 0x9e, 0x31, + 0x0f, 0xf3, 0xc7, 0x06, 0x14, 0x92, 0xf2, 0x82, 0x2f, 0xd1, 0xca, 0xcb, 0xb5, 0x51, 0x58, 0x1a, + 0x7f, 0x89, 0x36, 0xba, 0x8d, 0xab, 0x05, 0xa8, 0xa9, 0xe8, 0x64, 0x01, 0xf2, 0x6c, 0xda, 0xb5, + 0x12, 0x4f, 0xd1, 0x76, 0x04, 0x4c, 0x0d, 0x6f, 0x90, 0x78, 0xca, 0xac, 0xfd, 0x17, 0x59, 0x18, + 0x53, 0x06, 0x8b, 0xbc, 0x0a, 0xf9, 0x95, 0x60, 0xd5, 0xab, 0xdd, 0xa7, 0x75, 0x71, 0x6a, 0x3a, + 0xf1, 0xf8, 0x78, 0x7e, 0xd4, 0x0d, 0xec, 0x06, 0x02, 0xad, 0xa8, 0x98, 0x2c, 0xc2, 0x04, 0xff, + 0x4b, 0x66, 0xdd, 0xc8, 0xc4, 0x27, 0x3e, 0x1c, 0x59, 0xe6, 0xdb, 0x50, 0xcd, 0x04, 0x8d, 0x84, + 0x7c, 0x0e, 0xc0, 0x01, 0x03, 0xbe, 0x6a, 0x28, 0x27, 0xf0, 0x59, 0x51, 0x41, 0xca, 0xe3, 0x86, + 0x0a, 0x43, 0xf2, 0x3d, 0x7e, 0x05, 0x56, 0x0a, 0xd7, 0xc9, 0xa1, 0xd3, 0xa6, 0x8c, 0xb3, 0x62, + 0xfc, 0xed, 0xf4, 0x50, 0x67, 0x95, 0x25, 0xf9, 0x89, 0x01, 0x17, 0x2d, 0x5a, 0xf3, 0x1e, 0x50, + 0xff, 0xa8, 0x18, 0x22, 0x96, 0x5a, 0xe3, 0xc9, 0x71, 0xd5, 0xb7, 0x45, 0x8d, 0xaf, 0xf8, 0x82, + 0x0b, 0xde, 0xc9, 0x6c, 0xb6, 0x43, 0xbb, 0xcf, 0x27, 0xf4, 0xa9, 0xd2, 0xfc, 0xef, 0x0d, 0x65, + 0x0a, 0x90, 0x75, 0xcc, 0xe4, 0xc8, 0x85, 0x45, 0x78, 0xd5, 0x23, 0x0b, 0x4f, 0xc2, 0x2d, 0xba, + 0xbf, 0xf8, 0x9c, 0x38, 0xe0, 0x9c, 0x89, 0x44, 0x2e, 0x91, 0xe1, 0x91, 0x03, 0xc9, 0x47, 0xe2, + 0x01, 0xca, 0x93, 0x73, 0x74, 0xcb, 0xa5, 0x26, 0xc7, 0xc6, 0x48, 0x79, 0x76, 0xf2, 0x4d, 0x11, + 0xba, 0x97, 0xd5, 0xde, 0x89, 0x61, 0x20, 0xf6, 0x1d, 0xd1, 0x1a, 0x13, 0x47, 0xd7, 0x2b, 0xd2, + 0xfa, 0x5b, 0x19, 0x28, 0x24, 0x27, 0x1e, 0xf9, 0x10, 0xc6, 0xe5, 0x0d, 0xde, 0x65, 0x47, 0x24, + 0xf3, 0x18, 0x17, 0xc9, 0x34, 0x04, 0xdc, 0x3e, 0x74, 0xb4, 0xcc, 0xeb, 0x1a, 0x01, 0x5b, 0x90, + 0xb7, 0xc4, 0xa5, 0x2d, 0x65, 0x02, 0x85, 0x5e, 0xd8, 0x4e, 0x3c, 0x1b, 0x21, 0xd1, 0xc8, 0xdb, + 0x90, 0xe5, 0x57, 0xd7, 0xd5, 0x74, 0xcc, 0x6b, 0x4b, 0x45, 0x7e, 0x67, 0x96, 0xc7, 0xd4, 0xe8, + 0xa7, 0x1f, 0x0c, 0x9f, 0xac, 0x2a, 0x97, 0xa2, 0x87, 0xb5, 0xbc, 0x80, 0x12, 0x1c, 0x35, 0xee, + 0xe4, 0xdb, 0xd1, 0x6a, 0x5a, 0x7a, 0xf3, 0x1f, 0x64, 0x61, 0x34, 0xaa, 0x9f, 0x10, 0x40, 0x7b, + 0x43, 0x04, 0xc7, 0xe0, 0xdf, 0xe4, 0x02, 0xe4, 0xa5, 0x89, 0x21, 0x5f, 0xbd, 0x0c, 0x84, 0x79, + 0x31, 0x07, 0xd2, 0x96, 0xe0, 0xe6, 0x85, 0x25, 0x7f, 0x92, 0x5b, 0x10, 0x19, 0x0a, 0xbd, 0x2c, + 0x8a, 0x1c, 0x1b, 0x30, 0x2b, 0x42, 0x23, 0x93, 0x90, 0x71, 0xf9, 0x85, 0x9c, 0x51, 0x2b, 0xe3, + 0xd6, 0xc9, 0x87, 0x90, 0x77, 0xea, 0x75, 0x5a, 0xb7, 0x1d, 0xe9, 0x9e, 0xee, 0x27, 0x34, 0x79, + 0xc6, 0x8d, 0x6b, 0x74, 0xa4, 0x2a, 0x86, 0xa4, 0x08, 0xa3, 0xf8, 0xb8, 0x6b, 0x27, 0xa0, 0xf5, + 0x01, 0x96, 0x87, 0x98, 0x43, 0x9e, 0x91, 0x6d, 0x07, 0xb4, 0x4e, 0x5e, 0x81, 0x1c, 0x1b, 0x4d, + 0xb1, 0x1e, 0x44, 0x49, 0xf6, 0x37, 0xb6, 0x36, 0x79, 0x87, 0x2d, 0x9f, 0xb1, 0x10, 0x81, 0xbc, + 0x04, 0xd9, 0xce, 0xc2, 0xbe, 0xd0, 0xf4, 0x85, 0x38, 0xab, 0x41, 0x84, 0xc6, 0x8a, 0xc9, 0x6d, + 0xc8, 0x3f, 0xd4, 0xef, 0xb6, 0x9f, 0x4d, 0x0c, 0x63, 0x84, 0x1f, 0x21, 0x2e, 0xe6, 0x61, 0x98, + 0xdf, 0xb9, 0x36, 0x2f, 0x03, 0xc4, 0x55, 0x77, 0xc7, 0x31, 0x99, 0x9f, 0xc3, 0x68, 0x54, 0x25, + 0x79, 0x1e, 0xe0, 0x3e, 0x3d, 0xb2, 0x0f, 0x9d, 0x56, 0x5d, 0xbc, 0x12, 0x3d, 0x6e, 0x8d, 0xde, + 0xa7, 0x47, 0xcb, 0x08, 0x20, 0xe7, 0x61, 0xa4, 0xcd, 0x46, 0x55, 0x3e, 0x7a, 0x62, 0x0d, 0xb7, + 0x3b, 0x7b, 0x4c, 0x42, 0xe7, 0x60, 0x04, 0x9d, 0x28, 0x62, 0xa2, 0x4d, 0x58, 0xf2, 0xa7, 0xf9, + 0x77, 0x32, 0x98, 0xe2, 0x48, 0xf9, 0x4e, 0xf2, 0x22, 0x4c, 0xd4, 0x7c, 0x8a, 0xcb, 0x11, 0xbe, + 0x98, 0x23, 0xea, 0x19, 0x8f, 0x81, 0x2b, 0x75, 0x72, 0x15, 0xa6, 0xe2, 0x57, 0x58, 0xec, 0xda, + 0x9e, 0xc8, 0x5e, 0x31, 0x6e, 0x4d, 0xb4, 0xe5, 0x33, 0x2c, 0xa5, 0x3d, 0xbc, 0x48, 0x56, 0x50, + 0xef, 0x5b, 0x87, 0xf2, 0x45, 0x95, 0x51, 0x6b, 0x4a, 0x81, 0xe3, 0xa9, 0xd3, 0x39, 0x18, 0x76, + 0x9c, 0x83, 0x8e, 0xcb, 0x2f, 0xb5, 0x8c, 0x5b, 0xe2, 0x17, 0x79, 0x0d, 0xa6, 0x03, 0xf7, 0xa0, + 0xe5, 0x84, 0x1d, 0x5f, 0xe4, 0x98, 0xa2, 0x3e, 0x8a, 0xd4, 0x84, 0x55, 0x88, 0x0a, 0x4a, 0x1c, + 0x4e, 0xde, 0x00, 0xa2, 0xd6, 0xe7, 0xed, 0x7d, 0x9f, 0xd6, 0xb8, 0xa8, 0x8d, 0x5b, 0xd3, 0x4a, + 0xc9, 0x06, 0x16, 0x90, 0x17, 0x60, 0xdc, 0xa7, 0x01, 0x9a, 0x64, 0xd8, 0x6d, 0x98, 0x01, 0xd0, + 0x1a, 0x93, 0xb0, 0x7b, 0xf4, 0xc8, 0x5c, 0x84, 0xe9, 0xae, 0xf9, 0x48, 0xde, 0xe0, 0xd6, 0xbd, + 0x58, 0x9f, 0xc7, 0xf9, 0x66, 0x06, 0x9f, 0xc7, 0xd7, 0x9f, 0x31, 0xe6, 0x48, 0x66, 0x0b, 0xc6, + 0x55, 0xfd, 0x7a, 0x42, 0x5e, 0x90, 0x73, 0xd1, 0xc3, 0xbf, 0xa3, 0x8b, 0xc3, 0x8f, 0x8f, 0xe7, + 0x33, 0x6e, 0x1d, 0xa3, 0xd0, 0xaf, 0x41, 0x5e, 0x5a, 0x09, 0xea, 0xd3, 0xa5, 0xc2, 0xa0, 0x3c, + 0xb2, 0xa2, 0x52, 0xf3, 0x15, 0x18, 0x11, 0x2a, 0xb4, 0xbf, 0x43, 0xcb, 0xfc, 0x61, 0x06, 0xa6, + 0x2c, 0xca, 0x26, 0xb8, 0x78, 0x14, 0xf4, 0x6b, 0xf6, 0x1e, 0x8d, 0xd6, 0xb6, 0x3e, 0x69, 0x78, + 0x7e, 0xcf, 0x80, 0x99, 0x14, 0xdc, 0x2f, 0x95, 0x5c, 0xf5, 0x0e, 0x8c, 0x96, 0x5d, 0xa7, 0x51, + 0xac, 0xd7, 0xa3, 0xb8, 0x7a, 0xb4, 0x06, 0xeb, 0x6c, 0x3a, 0x39, 0x0c, 0xaa, 0x2e, 0xa6, 0x11, + 0x2a, 0xb9, 0x2e, 0x84, 0x22, 0x7e, 0x7d, 0x40, 0xbe, 0x78, 0x03, 0xfc, 0x9b, 0xe2, 0xf7, 0x6e, + 0xf0, 0x2e, 0x36, 0x07, 0xc6, 0xb1, 0x11, 0xcf, 0xec, 0xd0, 0xa5, 0xdf, 0xc5, 0x4e, 0x36, 0x6f, + 0xa0, 0x6d, 0xe7, 0x8f, 0x33, 0x70, 0x2e, 0x9d, 0xf0, 0xcb, 0xe6, 0xc9, 0xc5, 0x1c, 0x48, 0xca, + 0xa3, 0x42, 0x98, 0x27, 0x97, 0x27, 0x4c, 0x42, 0xfc, 0x18, 0x81, 0xec, 0xc3, 0xc4, 0xaa, 0x13, + 0x84, 0xcb, 0xd4, 0xf1, 0xc3, 0x3d, 0xea, 0x84, 0x03, 0x58, 0xb0, 0x2f, 0xc9, 0x17, 0x1f, 0x71, + 0x51, 0x3b, 0x94, 0x94, 0x09, 0x03, 0x4f, 0x67, 0x1b, 0x09, 0x4a, 0x6e, 0x00, 0x41, 0xf9, 0x45, + 0x98, 0xaa, 0xd2, 0xa6, 0xd3, 0x3e, 0xf4, 0x7c, 0xf9, 0x18, 0xf6, 0x0d, 0x98, 0x88, 0x40, 0xa9, + 0xd2, 0xa2, 0x17, 0x6b, 0xf8, 0x4a, 0x47, 0xc4, 0xaa, 0x44, 0x2f, 0x36, 0xff, 0x66, 0x06, 0xce, + 0x17, 0x6b, 0xe2, 0x94, 0x46, 0x14, 0xc8, 0xc3, 0xe4, 0xaf, 0xb8, 0x6e, 0x72, 0x13, 0x46, 0xd7, + 0x9c, 0x47, 0xab, 0xd4, 0x09, 0x68, 0x20, 0xb2, 0x14, 0x72, 0xf3, 0xcb, 0x79, 0x64, 0x47, 0x6e, + 0x2f, 0x2b, 0xc6, 0x51, 0x37, 0x9b, 0xb9, 0x27, 0xdc, 0x6c, 0x9a, 0x30, 0xbc, 0xec, 0x35, 0xea, + 0x62, 0x71, 0x12, 0xe7, 0x1f, 0x87, 0x08, 0xb1, 0x44, 0x89, 0xf9, 0x67, 0x06, 0x4c, 0x46, 0x5f, + 0x8c, 0x9f, 0xf0, 0x95, 0x77, 0xc9, 0x55, 0x18, 0xc1, 0x8a, 0xa2, 0xe7, 0x6e, 0x71, 0xd1, 0x68, + 0x30, 0x90, 0xed, 0xd6, 0x2d, 0x59, 0xa8, 0xf6, 0xc4, 0xd0, 0x93, 0xf5, 0x84, 0xf9, 0x1f, 0xe3, + 0xd1, 0x8a, 0xda, 0x4a, 0xb6, 0x12, 0x29, 0x1f, 0x62, 0x0c, 0xf8, 0x21, 0x99, 0xa7, 0x36, 0x24, + 0xd9, 0x9e, 0x43, 0xf2, 0xa3, 0x0c, 0x8c, 0x45, 0x1f, 0xfb, 0x35, 0x4b, 0x62, 0x12, 0xb5, 0x6b, + 0xa0, 0x4b, 0x2a, 0x55, 0x45, 0x57, 0x88, 0xbb, 0x20, 0x1f, 0xc1, 0xb0, 0x98, 0x4c, 0x46, 0xe2, + 0x50, 0x35, 0x31, 0xba, 0x8b, 0x93, 0x82, 0xf5, 0x30, 0x0e, 0x68, 0x60, 0x09, 0x3a, 0xbc, 0x05, + 0xb4, 0x4b, 0xf7, 0xc4, 0x49, 0xdb, 0x33, 0xbb, 0x46, 0xa5, 0xdf, 0x02, 0x8a, 0x1b, 0x36, 0xd0, + 0xea, 0xf4, 0x6f, 0x0f, 0x41, 0x21, 0x49, 0x72, 0x72, 0x9a, 0x98, 0xcd, 0xce, 0x9e, 0x78, 0xc3, + 0x10, 0xd3, 0xc4, 0xb4, 0x3b, 0x7b, 0x16, 0x83, 0x91, 0xab, 0x90, 0xdb, 0xf4, 0xdd, 0x07, 0xd8, + 0x6a, 0xf1, 0x84, 0x63, 0xdb, 0x77, 0x1f, 0xa8, 0xe1, 0xf0, 0xac, 0x1c, 0x37, 0xb4, 0xab, 0x55, + 0x8c, 0xac, 0x46, 0xc3, 0x5a, 0x6c, 0x68, 0x1b, 0x41, 0x32, 0xe3, 0x99, 0x44, 0x63, 0x4b, 0xe5, + 0x22, 0x75, 0x7c, 0x91, 0xd2, 0x44, 0xa8, 0x33, 0x5c, 0x2a, 0xf7, 0x10, 0xcc, 0x73, 0xf5, 0x5b, + 0x2a, 0x12, 0x69, 0x00, 0x51, 0x7e, 0xca, 0x09, 0x7c, 0xf2, 0x1e, 0x4f, 0xbe, 0x79, 0x3c, 0xab, + 0xb2, 0xb6, 0xd5, 0xd9, 0x9c, 0xc2, 0xf7, 0x69, 0xfa, 0x08, 0x37, 0xc5, 0x05, 0x57, 0x74, 0x64, + 0xe4, 0x4f, 0x64, 0x26, 0xaf, 0x1e, 0x00, 0xbf, 0x00, 0x1b, 0xb9, 0x33, 0x62, 0x26, 0xe4, 0x03, + 0x18, 0x53, 0xe3, 0xe5, 0x79, 0x54, 0xf7, 0x25, 0x7e, 0xb1, 0xb4, 0x47, 0xba, 0x58, 0x95, 0x80, + 0xec, 0xc1, 0xf9, 0x92, 0xd7, 0x0a, 0x3a, 0x4d, 0x5a, 0xd7, 0x4e, 0x82, 0x57, 0xca, 0xb8, 0xc1, + 0x1c, 0xe5, 0x71, 0xb4, 0x35, 0x81, 0x22, 0xc2, 0xb3, 0x65, 0xc4, 0x8a, 0xbe, 0x01, 0xe9, 0xc5, + 0xc8, 0x7c, 0x53, 0x95, 0x44, 0x61, 0x18, 0xf4, 0x95, 0x44, 0xf3, 0xb7, 0x71, 0xab, 0xd0, 0xf4, + 0x42, 0x2a, 0x2c, 0xa4, 0x67, 0x56, 0x57, 0xc6, 0x6e, 0xea, 0x21, 0x2d, 0xe8, 0x48, 0x6b, 0x1d, + 0xc7, 0xd8, 0xb9, 0x1d, 0x2b, 0x36, 0xee, 0xb0, 0x96, 0x6e, 0x6a, 0x65, 0x5a, 0xff, 0x3d, 0x03, + 0xce, 0xa6, 0xd2, 0x92, 0x1b, 0x00, 0xb1, 0x1d, 0x2a, 0x7a, 0x89, 0x3f, 0xb4, 0x10, 0x41, 0x2d, + 0x05, 0x83, 0x7c, 0x27, 0x69, 0x41, 0x9e, 0xbc, 0x00, 0xca, 0x57, 0x27, 0x27, 0x75, 0x0b, 0x32, + 0xc5, 0x6e, 0x34, 0x7f, 0x2f, 0x0b, 0xd3, 0x4a, 0x50, 0x35, 0xff, 0xd6, 0x13, 0x22, 0x1e, 0xee, + 0x27, 0x5e, 0xb3, 0xce, 0x68, 0xef, 0xb4, 0x74, 0x71, 0x4b, 0x79, 0xdb, 0x1a, 0x5d, 0x6f, 0xe2, + 0x8d, 0x8f, 0x13, 0x9e, 0xb8, 0x0e, 0xd2, 0xdf, 0x4e, 0x7f, 0xad, 0x67, 0x6d, 0x4f, 0xe1, 0x0d, + 0xf5, 0xbf, 0xc4, 0xcf, 0x45, 0xff, 0x76, 0x06, 0x66, 0xba, 0xda, 0xfc, 0xcc, 0xce, 0xba, 0x8f, + 0xb4, 0x15, 0xf4, 0x72, 0xaf, 0x31, 0x1d, 0xc8, 0x52, 0xf9, 0x79, 0x16, 0xce, 0xf7, 0xa0, 0x24, + 0x47, 0x49, 0x21, 0xe2, 0x96, 0xcb, 0xad, 0xfe, 0x15, 0x3e, 0x95, 0xe7, 0xf8, 0xbf, 0xc9, 0x83, + 0x77, 0x6b, 0x98, 0xbf, 0x57, 0xac, 0xd9, 0xd1, 0x83, 0x66, 0x1c, 0x9a, 0x8c, 0xda, 0xe5, 0x50, + 0xf2, 0x21, 0x0c, 0x15, 0x7f, 0xd0, 0xf1, 0x69, 0xe2, 0x26, 0x18, 0xc3, 0x40, 0xb8, 0x72, 0x6d, + 0x8e, 0xfd, 0xd4, 0xae, 0xcd, 0x31, 0x00, 0xf9, 0x06, 0x7f, 0x7e, 0x3f, 0xa7, 0xb9, 0xd1, 0x91, + 0x7c, 0xb7, 0x1a, 0x27, 0xbd, 0xe8, 0x7e, 0x83, 0x9f, 0x11, 0xde, 0x2d, 0x6d, 0x26, 0x1e, 0xfd, + 0xc7, 0x78, 0xe2, 0xd2, 0x66, 0x4c, 0x78, 0x50, 0x53, 0x5f, 0xb3, 0x65, 0x14, 0x5f, 0x9d, 0xd8, + 0xff, 0x3b, 0x19, 0x1e, 0x71, 0xcc, 0x1b, 0xf6, 0x21, 0x8c, 0xcb, 0xd0, 0x04, 0x45, 0x4d, 0xa1, + 0x52, 0x89, 0x6e, 0xbf, 0x27, 0x4e, 0xb6, 0x34, 0x02, 0x99, 0x3e, 0x86, 0xfd, 0xc6, 0xc8, 0x3c, + 0xf5, 0x60, 0x2a, 0xe2, 0x80, 0x91, 0x7c, 0xc9, 0xf4, 0x31, 0x11, 0x09, 0xb9, 0x0d, 0xf9, 0x2d, + 0xda, 0x72, 0x5a, 0x61, 0xb4, 0x89, 0xc2, 0x40, 0x8a, 0x10, 0x61, 0xfa, 0x8a, 0x1b, 0x21, 0xe2, + 0xe3, 0x53, 0x9d, 0xbd, 0xe8, 0x5d, 0xfa, 0x95, 0xb2, 0xf2, 0x52, 0xe2, 0x85, 0x40, 0x29, 0x49, + 0xbc, 0xde, 0xa5, 0x13, 0x99, 0xbf, 0x6d, 0xc0, 0x88, 0x18, 0x48, 0xe5, 0xc9, 0x18, 0x63, 0x80, + 0x27, 0x63, 0xee, 0xc0, 0xa8, 0x78, 0xc1, 0x4a, 0x7f, 0xb7, 0x4b, 0x3c, 0x78, 0x95, 0x78, 0xb7, + 0x2b, 0x42, 0x8d, 0x12, 0x9c, 0x65, 0xfb, 0x27, 0x38, 0x33, 0xff, 0xb6, 0xf8, 0xb2, 0xbb, 0xa5, + 0x4d, 0xb2, 0x00, 0xf9, 0x55, 0xaf, 0xe6, 0x28, 0xeb, 0x1c, 0xaa, 0x9d, 0x86, 0x80, 0xa9, 0x1d, + 0x24, 0xf1, 0xf4, 0xf7, 0xc8, 0x32, 0x83, 0xbf, 0x47, 0x36, 0xe8, 0xf7, 0xd1, 0x14, 0x25, 0xb1, + 0x73, 0x1b, 0xdf, 0x2c, 0xfd, 0x18, 0x48, 0x57, 0x91, 0xd4, 0x14, 0x17, 0x7b, 0x69, 0x8a, 0x9d, + 0xdb, 0x56, 0x0a, 0x15, 0xfa, 0xe2, 0x62, 0x30, 0x7f, 0xd9, 0xef, 0x6b, 0x96, 0x17, 0x31, 0xd9, + 0xbc, 0x81, 0x94, 0xf4, 0xbf, 0xc8, 0xc0, 0xb9, 0x74, 0x42, 0xb5, 0x2d, 0x46, 0x9f, 0xb6, 0x5c, + 0x83, 0xfc, 0xb2, 0x17, 0x84, 0xca, 0x61, 0x36, 0xba, 0x0c, 0x0e, 0x05, 0xcc, 0x8a, 0x4a, 0xc9, + 0x8b, 0x6c, 0xa3, 0x1f, 0xc4, 0xd3, 0x13, 0xf9, 0x61, 0x9c, 0xad, 0x5b, 0xb7, 0x44, 0x91, 0xf6, + 0xf6, 0x76, 0xae, 0xf7, 0xdb, 0xdb, 0x67, 0x4e, 0x7c, 0x7b, 0xbb, 0x08, 0x23, 0x62, 0xf4, 0x13, + 0xee, 0xe6, 0x14, 0x91, 0xd1, 0x93, 0x6b, 0x48, 0x3a, 0xa6, 0x51, 0xd0, 0x71, 0xb8, 0x52, 0x96, + 0x51, 0x7f, 0xa8, 0x51, 0xb8, 0x63, 0x51, 0xcf, 0xe6, 0x11, 0x21, 0x9a, 0x3f, 0xcc, 0x00, 0xec, + 0xd2, 0xbd, 0x67, 0x3b, 0xdd, 0xea, 0x37, 0x34, 0x09, 0x53, 0xce, 0xca, 0x06, 0xcf, 0xb6, 0xba, + 0x81, 0x67, 0x56, 0x83, 0xe7, 0x5a, 0x8d, 0x1e, 0x7e, 0xce, 0xa4, 0x3f, 0xfc, 0x6c, 0xee, 0xc1, + 0xec, 0x5d, 0x1a, 0xc6, 0x1b, 0x22, 0xe9, 0xae, 0xec, 0xcf, 0xf6, 0x75, 0x18, 0x15, 0xf8, 0xfa, + 0x2b, 0x6a, 0x32, 0x74, 0xdd, 0xad, 0x5b, 0x31, 0x02, 0xd3, 0x46, 0x65, 0xda, 0xa0, 0x21, 0xfd, + 0x6a, 0xab, 0xa9, 0x02, 0xe1, 0x4d, 0xe1, 0xef, 0x01, 0x0f, 0x54, 0xc3, 0x89, 0xfd, 0xb3, 0x03, + 0x67, 0xa3, 0x6f, 0x7f, 0x9a, 0x7c, 0x6f, 0xb2, 0x2d, 0xa5, 0xc8, 0x6e, 0x11, 0x73, 0xec, 0x73, + 0x5e, 0xf5, 0x08, 0x2e, 0x4a, 0x82, 0x5d, 0x37, 0x3a, 0xf4, 0x1f, 0x88, 0x96, 0xbc, 0x07, 0x63, + 0x0a, 0x8d, 0x48, 0xfc, 0x83, 0x81, 0x35, 0x0f, 0xdd, 0xf0, 0xd0, 0x0e, 0x38, 0x5c, 0x0d, 0xac, + 0x51, 0xd0, 0xcd, 0x6f, 0xc3, 0x73, 0x51, 0x88, 0x64, 0x4a, 0xd5, 0x09, 0xe6, 0xc6, 0xe9, 0x98, + 0xaf, 0xc7, 0xcd, 0x5a, 0x69, 0x45, 0x37, 0xd5, 0x24, 0x6f, 0xa2, 0x36, 0x4b, 0x34, 0xe6, 0x92, + 0x92, 0x86, 0x5a, 0x6c, 0x49, 0x62, 0x80, 0xf9, 0xae, 0xf2, 0xb1, 0x29, 0x0c, 0x35, 0x62, 0x23, + 0x49, 0xfc, 0xc3, 0x0c, 0x4c, 0x6d, 0xac, 0x94, 0x4b, 0xd1, 0x89, 0xe5, 0xd7, 0x2c, 0x17, 0xac, + 0xd6, 0xb6, 0xde, 0xfa, 0xc6, 0xdc, 0x86, 0x99, 0x44, 0x37, 0xa0, 0xe9, 0xf0, 0x01, 0x0f, 0x65, + 0x8c, 0xc0, 0xd2, 0x6c, 0x38, 0x97, 0xc6, 0x7e, 0xe7, 0xb6, 0x95, 0xc0, 0x36, 0xff, 0x20, 0x9f, + 0xe0, 0x2b, 0x54, 0xd8, 0xeb, 0x30, 0xba, 0x12, 0x04, 0x1d, 0xea, 0x6f, 0x5b, 0xab, 0xaa, 0xab, + 0xc0, 0x45, 0xa0, 0xdd, 0xf1, 0x1b, 0x56, 0x8c, 0x40, 0x5e, 0x85, 0xbc, 0xc8, 0xa8, 0x20, 0x75, + 0x02, 0x46, 0x66, 0x45, 0x09, 0x19, 0xac, 0xa8, 0x98, 0xbc, 0x0d, 0xe3, 0xfc, 0x6f, 0x2e, 0x6d, + 0xa2, 0xc3, 0xf1, 0x58, 0x44, 0xa0, 0x73, 0xe9, 0xb4, 0x34, 0x34, 0x72, 0x1d, 0xb2, 0xc5, 0x92, + 0xa5, 0x3e, 0x9e, 0xe4, 0xd4, 0x7c, 0xfe, 0x88, 0x9a, 0xbe, 0x89, 0x28, 0x59, 0xcc, 0xfa, 0xc3, + 0xf7, 0x3d, 0xeb, 0x54, 0xbe, 0xd1, 0x8b, 0x12, 0xd0, 0x16, 0xb0, 0xc4, 0x62, 0x86, 0x30, 0x72, + 0x13, 0x46, 0xca, 0x6e, 0xd0, 0x6e, 0x38, 0x47, 0x22, 0xa1, 0x23, 0xcf, 0x10, 0xc7, 0x41, 0xaa, + 0xcc, 0x08, 0x2c, 0xf2, 0x2a, 0x0c, 0x55, 0x6b, 0x1e, 0xbe, 0xd9, 0x1b, 0x45, 0x44, 0x06, 0x0c, + 0xa0, 0xe5, 0x51, 0x63, 0x00, 0x4c, 0xd8, 0xc3, 0xf3, 0x0e, 0x8c, 0x2a, 0x09, 0x7b, 0x92, 0xf9, + 0x06, 0x04, 0x4e, 0x77, 0xec, 0x3b, 0x3c, 0xcd, 0xd8, 0xf7, 0x3d, 0x38, 0x7f, 0x17, 0xbd, 0x37, + 0xfa, 0xa3, 0xb2, 0xdb, 0xd6, 0x8a, 0xc8, 0xb5, 0x80, 0xde, 0x3c, 0xee, 0xe0, 0xb1, 0x13, 0x6f, + 0xd2, 0x26, 0x1e, 0x48, 0xec, 0xc5, 0x88, 0x7c, 0x0a, 0xb3, 0x69, 0x45, 0x22, 0xeb, 0x02, 0xde, + 0x25, 0x4b, 0xaf, 0x40, 0xbd, 0xcc, 0x95, 0xc6, 0x81, 0xac, 0x42, 0x81, 0xc3, 0x8b, 0xf5, 0xa6, + 0xdb, 0xaa, 0x34, 0x1d, 0xb7, 0x81, 0x39, 0x18, 0x44, 0x22, 0x0d, 0xc1, 0xd5, 0x61, 0x85, 0x36, + 0x65, 0xa5, 0x5a, 0x50, 0x6b, 0x82, 0x92, 0xfc, 0xba, 0xc1, 0x76, 0x73, 0xfc, 0xc2, 0xfd, 0xb6, + 0xb5, 0x1a, 0x88, 0x5b, 0x7f, 0xbd, 0x1e, 0x9d, 0xdc, 0x7a, 0x4a, 0x8f, 0x4e, 0x8e, 0xfb, 0xa2, + 0x4e, 0x9c, 0x45, 0xda, 0x17, 0xe0, 0x83, 0x01, 0x8d, 0x86, 0xf7, 0x70, 0xbb, 0xf5, 0x80, 0xfa, + 0xee, 0xbe, 0x4b, 0xeb, 0xbc, 0x91, 0x53, 0xa8, 0xc1, 0xf9, 0x83, 0x01, 0xf8, 0x68, 0x44, 0x27, + 0x42, 0xe8, 0x6a, 0x68, 0x2a, 0x07, 0xb6, 0xf1, 0x94, 0x21, 0x96, 0xfc, 0xe6, 0x41, 0x21, 0xde, + 0x78, 0xca, 0x78, 0x4c, 0x1b, 0xc5, 0x48, 0x15, 0x1e, 0x8d, 0x44, 0xc4, 0x73, 0xfd, 0x77, 0x79, + 0xae, 0x91, 0x8b, 0x9d, 0xf0, 0x50, 0xea, 0xf0, 0x85, 0xb4, 0x30, 0x51, 0x7e, 0x9c, 0xad, 0x84, + 0x89, 0xea, 0xc1, 0xa1, 0x32, 0xec, 0x24, 0x93, 0x1a, 0x76, 0xf2, 0x3a, 0x8c, 0xe2, 0x5b, 0x3f, + 0x51, 0x3c, 0x5e, 0x5e, 0xf8, 0x2a, 0x19, 0x90, 0x67, 0x2b, 0x88, 0x11, 0xc8, 0x4d, 0x00, 0xcc, + 0x59, 0xc8, 0x17, 0x78, 0x25, 0xa5, 0x0c, 0xa6, 0x36, 0x14, 0x27, 0x04, 0x0a, 0x0a, 0xb2, 0xaf, + 0x5a, 0x4b, 0xea, 0x91, 0x02, 0x67, 0x1f, 0xf8, 0xfb, 0x02, 0x3d, 0x46, 0x60, 0xcd, 0x53, 0x86, + 0x49, 0x28, 0x95, 0x42, 0xd7, 0x58, 0xaa, 0x48, 0x78, 0x5a, 0x2f, 0x83, 0x8f, 0x50, 0xa7, 0x8c, + 0x8b, 0xd3, 0xfa, 0x28, 0x50, 0xc9, 0x8a, 0x11, 0xc8, 0x37, 0x60, 0xa4, 0x44, 0xfd, 0x70, 0x6b, + 0x6b, 0x55, 0xbc, 0xd7, 0xc9, 0xf6, 0xe5, 0x79, 0x4c, 0x77, 0x11, 0x86, 0x8d, 0x2f, 0x8e, 0xe7, + 0x27, 0x42, 0xb7, 0x49, 0x6f, 0x44, 0x2e, 0x7a, 0x89, 0x4d, 0x16, 0xa1, 0xc0, 0x23, 0x2a, 0x63, + 0x43, 0x0e, 0xd5, 0x4c, 0x5e, 0xbc, 0xd7, 0xcf, 0x53, 0x3c, 0x3c, 0xa4, 0x7b, 0x51, 0xb2, 0x8f, + 0x2e, 0x7c, 0x52, 0x91, 0x89, 0x75, 0xd4, 0x46, 0x42, 0xec, 0x59, 0x10, 0x8a, 0x59, 0x6b, 0x6b, + 0x37, 0x05, 0x29, 0xc2, 0x44, 0xc9, 0x6b, 0xb6, 0x9d, 0xd0, 0xc5, 0x94, 0x88, 0x47, 0x42, 0xa3, + 0xa0, 0x77, 0xa4, 0xa6, 0x16, 0xe8, 0x4f, 0xf7, 0x28, 0x05, 0x64, 0x09, 0x26, 0x2d, 0xaf, 0xc3, + 0x06, 0x49, 0x6e, 0x69, 0xc6, 0x95, 0x57, 0xe1, 0x59, 0x09, 0xd3, 0x71, 0x62, 0xff, 0xa2, 0xdd, + 0x86, 0xd5, 0xa8, 0xc8, 0x7a, 0x8a, 0x6f, 0x59, 0xd5, 0x14, 0x6a, 0xca, 0x8f, 0x2e, 0x66, 0x29, + 0x6e, 0xe9, 0xdb, 0x30, 0x56, 0xad, 0x6e, 0x6c, 0xd1, 0x20, 0x5c, 0x6a, 0x78, 0x0f, 0x51, 0x51, + 0xe4, 0x45, 0x7a, 0xb2, 0xc0, 0xb3, 0x43, 0x1a, 0x84, 0xf6, 0x7e, 0xc3, 0x7b, 0x68, 0xa9, 0x58, + 0xe4, 0xbb, 0xca, 0x5b, 0x46, 0xb8, 0xf2, 0x4f, 0x9d, 0xb8, 0xf2, 0x27, 0xde, 0x39, 0x62, 0xeb, + 0x7f, 0xea, 0x3b, 0x47, 0x0c, 0x1d, 0x83, 0x4b, 0xd9, 0x66, 0xac, 0x58, 0xaf, 0xfb, 0x34, 0x08, + 0xc4, 0x8c, 0x56, 0x5e, 0x6a, 0x73, 0x78, 0x81, 0x16, 0x5c, 0xaa, 0x10, 0x90, 0x1f, 0x19, 0x70, + 0x56, 0x8d, 0x4f, 0xc3, 0xc9, 0x82, 0x2f, 0xe2, 0x4f, 0xe3, 0x97, 0xbe, 0x71, 0x43, 0x6a, 0xb4, + 0x1b, 0x0a, 0xda, 0x8d, 0x07, 0xb7, 0x6e, 0x28, 0x6f, 0x92, 0x54, 0x25, 0x11, 0x3e, 0xea, 0x38, + 0x9f, 0xca, 0x4f, 0xd5, 0x4e, 0x4e, 0x0a, 0x29, 0x5a, 0x79, 0xd5, 0xe2, 0xda, 0x6a, 0x6c, 0xaa, + 0x7c, 0xbd, 0x22, 0xbf, 0xb4, 0xb6, 0xf5, 0x89, 0xfc, 0xda, 0x86, 0x99, 0x44, 0x37, 0x48, 0x2b, + 0x4f, 0x03, 0x27, 0xad, 0xbc, 0x04, 0x8d, 0x95, 0xc0, 0x36, 0xff, 0xe1, 0x48, 0x82, 0xaf, 0x38, + 0xed, 0x35, 0x61, 0x98, 0x1b, 0x71, 0x6a, 0xf2, 0x7d, 0x6e, 0xe2, 0x59, 0xa2, 0x84, 0x5c, 0x80, + 0x6c, 0xb5, 0xba, 0xa1, 0x3e, 0x0d, 0x12, 0x04, 0x9e, 0xc5, 0x60, 0x6c, 0x84, 0xf0, 0x20, 0x57, + 0xc9, 0xb0, 0xc1, 0x34, 0x96, 0x85, 0x50, 0xd6, 0xdf, 0xd2, 0xa4, 0xca, 0xc5, 0xfd, 0x2d, 0x4c, + 0xaa, 0xd8, 0x90, 0x2a, 0xc1, 0x5c, 0x31, 0x08, 0xa8, 0xcf, 0xdf, 0xe7, 0xc3, 0xf3, 0x41, 0x5f, + 0x2c, 0xfb, 0x42, 0x31, 0x63, 0xa5, 0x4e, 0x2d, 0xb0, 0x7a, 0x22, 0x92, 0x6b, 0x90, 0x2f, 0x76, + 0xea, 0x2e, 0x6d, 0xd5, 0xb4, 0x7b, 0xb6, 0x8e, 0x80, 0x59, 0x51, 0x29, 0xf9, 0x04, 0xce, 0x0a, + 0x22, 0x69, 0xfb, 0x89, 0x1e, 0x18, 0x89, 0x67, 0x8f, 0x34, 0x4b, 0xa4, 0xc5, 0x68, 0x8b, 0x2e, + 0x49, 0xa7, 0x24, 0x45, 0x28, 0x54, 0x30, 0xd2, 0xb1, 0x4c, 0xb9, 0xab, 0xd4, 0xf3, 0xc5, 0xcb, + 0x58, 0x68, 0x44, 0xf2, 0x28, 0x48, 0xbb, 0x1e, 0x15, 0x5a, 0x5d, 0xe8, 0xe4, 0x1e, 0xcc, 0x24, + 0x61, 0x4c, 0x07, 0x73, 0x7b, 0x11, 0xaf, 0x78, 0x77, 0x71, 0x41, 0x2d, 0x9c, 0x46, 0x45, 0xf6, + 0x60, 0xba, 0x18, 0x86, 0xbe, 0xbb, 0xd7, 0x09, 0x69, 0xc2, 0x8a, 0x94, 0xa1, 0x02, 0x51, 0xb9, + 0xb4, 0x24, 0x9f, 0x13, 0xc2, 0x38, 0xe3, 0x44, 0x94, 0x91, 0x35, 0x69, 0x75, 0xb3, 0x23, 0x75, + 0x98, 0xac, 0xba, 0x07, 0x2d, 0xb7, 0x75, 0x70, 0x8f, 0x1e, 0x6d, 0x3a, 0xae, 0x2f, 0x32, 0x42, + 0xc8, 0x90, 0x8c, 0x62, 0x70, 0xd4, 0x6c, 0xd2, 0xd0, 0xc7, 0xd5, 0x8d, 0x95, 0xe3, 0xf5, 0x05, + 0x83, 0xa9, 0xf1, 0x80, 0xd3, 0x61, 0xa8, 0x6e, 0xdb, 0x71, 0x35, 0x35, 0xae, 0xf3, 0xd4, 0x2c, + 0xf9, 0xf1, 0x01, 0x2d, 0xf9, 0x06, 0x4c, 0x57, 0x5a, 0x35, 0xff, 0x08, 0x3d, 0xd6, 0xf2, 0xe3, + 0x26, 0x4e, 0xf8, 0x38, 0xf9, 0xa4, 0xf2, 0x25, 0x47, 0x4a, 0x58, 0xda, 0xe7, 0x75, 0x33, 0x26, + 0x55, 0xf1, 0x0c, 0xd8, 0x4a, 0x79, 0x73, 0xa5, 0xe5, 0x86, 0x2e, 0xa6, 0xc1, 0xe7, 0xcb, 0xc3, + 0xcb, 0x82, 0xe7, 0xf3, 0xdc, 0x62, 0x73, 0xeb, 0x6d, 0xdb, 0x95, 0x28, 0x5d, 0xef, 0x7c, 0xa9, + 0xf4, 0xe6, 0xff, 0x35, 0xc2, 0xb5, 0xa1, 0x6a, 0x61, 0x9d, 0x53, 0xd2, 0x42, 0xab, 0x61, 0xb8, + 0x09, 0xcb, 0x2b, 0x73, 0x1a, 0xcb, 0x2b, 0x7b, 0xb2, 0xe5, 0x95, 0x3b, 0xc9, 0xf2, 0x4a, 0x98, + 0x46, 0x43, 0xa7, 0x36, 0x8d, 0x86, 0x4f, 0x61, 0x1a, 0x8d, 0x9c, 0xca, 0x34, 0xd2, 0x6c, 0xbc, + 0xfc, 0x49, 0x36, 0xde, 0xbf, 0x36, 0xa4, 0x9e, 0x55, 0x43, 0x2a, 0x6d, 0x71, 0x3d, 0x95, 0x21, + 0xd5, 0xdb, 0x0e, 0x2a, 0xfc, 0x7f, 0x6c, 0x07, 0xfd, 0x15, 0x28, 0x24, 0x55, 0xf3, 0xc9, 0x49, + 0x20, 0x9e, 0xda, 0x5d, 0x6d, 0xb6, 0x70, 0x24, 0x55, 0x23, 0xdb, 0x5a, 0x6d, 0xfa, 0xee, 0x03, + 0x27, 0xa4, 0xf1, 0xcb, 0x51, 0xb8, 0xb5, 0x6a, 0x73, 0x28, 0x4e, 0x57, 0x05, 0x25, 0xb2, 0x0a, + 0x32, 0x69, 0x56, 0x81, 0xf9, 0xab, 0x19, 0x98, 0xe6, 0xd7, 0x4b, 0x9f, 0x7d, 0x8f, 0xde, 0x07, + 0x9a, 0xad, 0x27, 0x03, 0x77, 0x12, 0xad, 0xeb, 0xe3, 0xd3, 0xfb, 0x1c, 0xce, 0x76, 0x75, 0x05, + 0xda, 0x7b, 0x65, 0x79, 0xb1, 0xb7, 0xcb, 0xe2, 0x9b, 0x4b, 0xaf, 0x64, 0xe7, 0xb6, 0xd5, 0x45, + 0x61, 0xfe, 0x41, 0xb6, 0x8b, 0xbf, 0xf0, 0xee, 0xa9, 0xfe, 0x3a, 0xe3, 0x74, 0xfe, 0xba, 0xcc, + 0x60, 0xfe, 0xba, 0xc4, 0xb2, 0x90, 0x1d, 0x64, 0x59, 0xf8, 0x04, 0x26, 0xb6, 0xa8, 0xd3, 0x0c, + 0xb6, 0x3c, 0x91, 0x7c, 0x88, 0xa7, 0xcc, 0x90, 0xf7, 0x76, 0x59, 0x99, 0x34, 0x57, 0xa2, 0x00, + 0x84, 0x90, 0x11, 0x30, 0x55, 0xc6, 0xb3, 0x11, 0x59, 0x3a, 0x07, 0xd5, 0x06, 0x1d, 0xea, 0x63, + 0x83, 0x56, 0x61, 0x5c, 0xd0, 0xc5, 0x99, 0x2f, 0x94, 0x07, 0xc4, 0xa9, 0xd3, 0x44, 0xb8, 0xac, + 0x3d, 0x4a, 0xf8, 0x1b, 0xd5, 0xce, 0xed, 0x24, 0x8d, 0x09, 0xeb, 0x82, 0x4a, 0xab, 0xde, 0xf6, + 0xdc, 0x16, 0x76, 0xc1, 0x48, 0xdc, 0x05, 0x54, 0x80, 0x79, 0x17, 0x28, 0x48, 0xe6, 0x3f, 0xcb, + 0xcb, 0xd9, 0xf1, 0xd5, 0x7a, 0x57, 0x74, 0x7f, 0x49, 0xf6, 0x94, 0xfe, 0x92, 0xdc, 0x49, 0x6b, + 0xa9, 0xb6, 0xc0, 0x0f, 0x9d, 0x62, 0x81, 0x1f, 0x7e, 0x62, 0xdf, 0xc7, 0xc8, 0x29, 0x97, 0xec, + 0x84, 0xa0, 0xe6, 0x07, 0x11, 0xd4, 0xd4, 0x65, 0x7e, 0xf4, 0xc9, 0x97, 0x79, 0x38, 0xf5, 0x32, + 0xaf, 0x3c, 0x93, 0x34, 0x36, 0xd0, 0x33, 0x49, 0xc6, 0x00, 0xcf, 0x24, 0x7d, 0xad, 0x6c, 0x87, + 0xef, 0xa5, 0xdb, 0x0e, 0xfd, 0x95, 0xf5, 0x33, 0x6a, 0x3d, 0xf8, 0xd8, 0x41, 0xbb, 0x8e, 0xcf, + 0xf6, 0x50, 0x01, 0xb9, 0x09, 0x23, 0xf2, 0xfa, 0xbb, 0x11, 0x6f, 0x47, 0xbb, 0xef, 0xbd, 0x4b, + 0x2c, 0xb6, 0xdd, 0x92, 0xc4, 0xe2, 0xaa, 0x18, 0xbf, 0xe9, 0x2b, 0x60, 0xda, 0x4d, 0x5f, 0x01, + 0x33, 0xff, 0x7e, 0x4e, 0x4e, 0x42, 0xb6, 0x1d, 0x10, 0x2f, 0x0b, 0x74, 0xbd, 0xe2, 0x6d, 0x9c, + 0xfe, 0x15, 0xef, 0x2f, 0x91, 0x3b, 0x40, 0x49, 0xd0, 0x99, 0x1d, 0x20, 0x41, 0xe7, 0x3b, 0x5a, + 0x76, 0xcb, 0x5c, 0x9c, 0x4e, 0x8d, 0x09, 0x66, 0xff, 0xbc, 0x96, 0x77, 0xd4, 0x34, 0x94, 0x43, + 0xf1, 0xad, 0x3a, 0xa4, 0xec, 0x93, 0x80, 0x32, 0x32, 0xc6, 0x86, 0x4f, 0x93, 0x47, 0x63, 0xe4, + 0xff, 0xd7, 0x3c, 0x1a, 0x15, 0x00, 0x25, 0xdd, 0x3c, 0xf7, 0x4e, 0xbf, 0xcc, 0xba, 0xe9, 0xe4, + 0x54, 0xf3, 0x0a, 0xa1, 0xf9, 0xaf, 0xa6, 0x61, 0xba, 0x5a, 0xdd, 0x28, 0xbb, 0xce, 0x41, 0xcb, + 0x0b, 0x42, 0xb7, 0xb6, 0xd2, 0xda, 0xf7, 0x98, 0x25, 0x12, 0x4d, 0x68, 0x25, 0xa7, 0x43, 0x3c, + 0x99, 0xa3, 0x62, 0x66, 0xe9, 0x56, 0x7c, 0x3f, 0x7a, 0x98, 0x1e, 0x2d, 0x5d, 0xca, 0x00, 0x16, + 0x87, 0xb3, 0xc5, 0xbe, 0xda, 0xe1, 0x79, 0xc3, 0xf9, 0x81, 0x01, 0x2e, 0xf6, 0x01, 0x07, 0x59, + 0xb2, 0x8c, 0xd0, 0x6e, 0x81, 0x15, 0xc6, 0xdf, 0x79, 0x2d, 0x1b, 0x47, 0x5c, 0xcc, 0xd5, 0x95, + 0x58, 0x4e, 0xf0, 0x5e, 0x6d, 0x1b, 0xe1, 0xea, 0xe9, 0x52, 0xd7, 0x1c, 0x38, 0x82, 0xb3, 0xb8, + 0x87, 0x3f, 0xad, 0x27, 0xe6, 0xba, 0x30, 0x2e, 0x4c, 0xcc, 0x03, 0x93, 0xe2, 0x8e, 0x51, 0x53, + 0xe6, 0xa5, 0xd6, 0x40, 0x7e, 0xd5, 0x80, 0xe7, 0x53, 0x4b, 0xa2, 0xd9, 0x3d, 0xa6, 0x65, 0x44, + 0x51, 0x94, 0x06, 0xe6, 0x5a, 0x7f, 0xad, 0x57, 0xd5, 0x76, 0x8a, 0x2a, 0xe8, 0x5f, 0x13, 0xf9, + 0x67, 0x06, 0x9c, 0xd7, 0x30, 0x22, 0x75, 0x15, 0xe0, 0xb2, 0xd2, 0x53, 0xae, 0xbf, 0xff, 0x74, + 0xe4, 0xfa, 0x45, 0xbd, 0x2d, 0xb1, 0x36, 0x55, 0xdb, 0xd0, 0xeb, 0x0b, 0xc9, 0x03, 0x98, 0xc6, + 0x22, 0xe9, 0x15, 0x62, 0x32, 0x2b, 0x9c, 0x49, 0xb3, 0xf1, 0x67, 0x97, 0x3a, 0x41, 0xe8, 0x35, + 0x31, 0x79, 0xf1, 0xc2, 0xcf, 0x8f, 0xe7, 0x27, 0x34, 0x74, 0x4c, 0xc6, 0x86, 0xdf, 0x10, 0xb9, + 0x96, 0xdc, 0xd6, 0xbe, 0xa7, 0x3d, 0x64, 0x97, 0xac, 0x82, 0xfc, 0x67, 0x06, 0xcc, 0x31, 0x28, + 0x6f, 0xc6, 0x92, 0xef, 0x35, 0xa3, 0x72, 0x79, 0x4c, 0xd9, 0xa3, 0xdb, 0x1a, 0x4f, 0xa7, 0xdb, + 0x5e, 0xc6, 0x4f, 0xe6, 0x3a, 0xc1, 0xde, 0xf7, 0xbd, 0x66, 0xfc, 0xf9, 0x5a, 0x66, 0xf4, 0x5e, + 0x1f, 0x49, 0x7e, 0xc5, 0x80, 0x0b, 0xda, 0xc6, 0x5c, 0x4d, 0x41, 0x36, 0x37, 0xa5, 0x9d, 0x69, + 0xab, 0x45, 0x8b, 0x37, 0x84, 0xfc, 0x5f, 0xc5, 0x2f, 0x88, 0x57, 0x0b, 0xfc, 0x16, 0xbb, 0xc9, + 0xb1, 0x94, 0x4f, 0xe8, 0x5d, 0x0b, 0x71, 0x61, 0x1a, 0x0f, 0x59, 0xb4, 0xe3, 0xf4, 0xd9, 0xde, + 0xc7, 0xe9, 0x57, 0x45, 0xd5, 0x97, 0x31, 0xcd, 0x53, 0xef, 0x33, 0xf5, 0x6e, 0xae, 0xe4, 0x97, + 0xe1, 0x42, 0x17, 0x30, 0x9a, 0x6d, 0x67, 0x7b, 0xce, 0xb6, 0xd7, 0x1e, 0x1f, 0xcf, 0xbf, 0x92, + 0x56, 0x5b, 0xda, 0x4c, 0xeb, 0x5d, 0x03, 0x71, 0x00, 0xe2, 0x42, 0x91, 0x6a, 0x3d, 0x5d, 0x40, + 0x5f, 0x13, 0xf2, 0xa1, 0xe0, 0x33, 0x5d, 0xae, 0x7c, 0x83, 0xba, 0xe4, 0xc5, 0x48, 0x84, 0xc2, + 0xb8, 0x92, 0xe2, 0xea, 0x08, 0x73, 0xae, 0xf7, 0xac, 0xe4, 0xe7, 0xc7, 0xf3, 0x1a, 0x36, 0x33, + 0x69, 0xd5, 0xdc, 0x59, 0xaa, 0x49, 0xab, 0x21, 0x92, 0x7f, 0x64, 0xc0, 0x2c, 0x03, 0xc4, 0x42, + 0x25, 0x1a, 0x35, 0xd7, 0x4f, 0xea, 0x0f, 0x9f, 0x8e, 0xd4, 0xbf, 0x80, 0xdf, 0xa8, 0x4a, 0x7d, + 0x57, 0x97, 0xa4, 0x7e, 0x1c, 0x4a, 0xbb, 0x76, 0x9e, 0xa7, 0x49, 0xfb, 0x85, 0x01, 0xa4, 0x9d, + 0x0f, 0xc0, 0xc9, 0xd2, 0xde, 0xb3, 0x16, 0xb2, 0x05, 0xe3, 0xc2, 0x9a, 0xe5, 0x1d, 0x76, 0x59, + 0xcb, 0xa8, 0xa3, 0x16, 0xf1, 0x2d, 0x86, 0xc8, 0x00, 0xd6, 0xd5, 0x42, 0x8d, 0x0b, 0x69, 0xc1, + 0x0c, 0xff, 0xad, 0x6f, 0xcd, 0xe7, 0x7b, 0x6e, 0xcd, 0xaf, 0x89, 0x16, 0x5d, 0x11, 0xfc, 0x13, + 0x3b, 0x74, 0xa5, 0xa2, 0x34, 0xc6, 0xa4, 0x0d, 0x44, 0x03, 0xf3, 0x49, 0x7b, 0xa5, 0xff, 0x86, + 0xfc, 0x15, 0x51, 0xe7, 0x7c, 0xb2, 0xce, 0xe4, 0xcc, 0x4d, 0xe1, 0x4d, 0x1c, 0x98, 0x12, 0x50, + 0xb6, 0x77, 0x45, 0x0d, 0xff, 0x82, 0x76, 0x6f, 0x35, 0x51, 0xca, 0x33, 0xa0, 0xcb, 0x9a, 0xf0, + 0x82, 0x60, 0x42, 0xa1, 0x27, 0xf9, 0x99, 0x3f, 0x32, 0xba, 0xea, 0x60, 0x7b, 0x64, 0xfc, 0xa1, + 0xa4, 0xde, 0xc0, 0x3d, 0x32, 0xe7, 0x88, 0x7b, 0xf5, 0x18, 0x81, 0xd9, 0x36, 0xea, 0x35, 0xe4, + 0xac, 0x78, 0xe0, 0x8c, 0x83, 0xe2, 0xad, 0xdb, 0xbc, 0x8c, 0x4a, 0xca, 0xc6, 0x36, 0x12, 0x46, + 0x25, 0x89, 0x58, 0x24, 0xf3, 0x57, 0x32, 0xba, 0x94, 0x90, 0x6b, 0x8a, 0x99, 0xad, 0x5c, 0x84, + 0x96, 0x66, 0xb6, 0x62, 0x5c, 0xff, 0x3d, 0x03, 0x66, 0x36, 0xfc, 0x03, 0xa7, 0xe5, 0xfe, 0x80, + 0xa7, 0x49, 0xf1, 0xb0, 0x1b, 0xa3, 0x9b, 0x14, 0x5f, 0x69, 0xba, 0x55, 0x4f, 0xa9, 0x98, 0x0d, + 0x2c, 0x8e, 0xb0, 0x95, 0xf6, 0x3d, 0x18, 0xe7, 0x89, 0x1f, 0xa6, 0x64, 0xbd, 0xe5, 0xe8, 0x1c, + 0x6e, 0xfe, 0x38, 0x03, 0x63, 0x8a, 0xc4, 0x92, 0xb7, 0x60, 0x5c, 0xe5, 0xa3, 0xfa, 0x57, 0xd4, + 0x6a, 0x2d, 0x0d, 0x0b, 0x1d, 0x2c, 0xd4, 0x69, 0x6a, 0x0e, 0x16, 0x26, 0x97, 0x08, 0x3d, 0xe5, + 0x4e, 0xe4, 0xc3, 0x94, 0x9d, 0xc8, 0xa9, 0xf2, 0xec, 0xbf, 0xd7, 0xbd, 0x1f, 0x19, 0x3c, 0x2d, + 0xbe, 0xf9, 0x1b, 0x06, 0x14, 0x92, 0x73, 0xea, 0x2b, 0xe9, 0x95, 0x53, 0xf8, 0xa2, 0xff, 0x46, + 0x06, 0x0a, 0x5b, 0x3e, 0xdb, 0xf8, 0xd7, 0x65, 0xf4, 0xfa, 0xb3, 0x1a, 0x12, 0xf0, 0xbe, 0xe6, + 0x26, 0x7e, 0x2e, 0x5a, 0x06, 0xd4, 0xc6, 0xf5, 0xb9, 0xb1, 0x9d, 0xfb, 0x9d, 0xbf, 0x3b, 0x7f, + 0xc6, 0xfc, 0x0c, 0x66, 0x93, 0xdd, 0x81, 0xae, 0xe2, 0x22, 0x4c, 0xe9, 0xf0, 0x64, 0x32, 0xcb, + 0x24, 0x95, 0x95, 0xc4, 0x37, 0xff, 0x24, 0x93, 0xe4, 0x2d, 0xc2, 0x03, 0x98, 0xd2, 0x69, 0x39, + 0x7b, 0x8d, 0x28, 0xdf, 0x9e, 0x78, 0x55, 0x11, 0x41, 0x96, 0x2c, 0x3b, 0x4d, 0x5a, 0xd3, 0x28, + 0x06, 0x3b, 0x9b, 0x1e, 0x83, 0x4d, 0xee, 0x24, 0x62, 0x5a, 0x72, 0xf1, 0xad, 0x9a, 0x87, 0x74, + 0xcf, 0x8e, 0xe3, 0x5a, 0x12, 0xa1, 0x2c, 0x25, 0x98, 0xd5, 0x32, 0xe6, 0x48, 0xfa, 0xa1, 0xd8, + 0xb5, 0x19, 0x62, 0x01, 0x27, 0x4e, 0x45, 0xc6, 0x17, 0x96, 0xbd, 0x06, 0xdb, 0x89, 0x09, 0x0f, + 0xb0, 0xfa, 0xf8, 0x9c, 0x5c, 0x6b, 0x94, 0x4b, 0x19, 0x0d, 0xca, 0x56, 0x68, 0xed, 0x99, 0x0a, + 0x8e, 0x68, 0xfe, 0x1f, 0x06, 0x9b, 0xff, 0xb5, 0xfb, 0x5f, 0xb3, 0x84, 0xab, 0xac, 0x49, 0x7d, + 0xa2, 0x57, 0xfe, 0x1b, 0x83, 0xa7, 0x4c, 0x14, 0xe2, 0xf3, 0x0e, 0x0c, 0x6f, 0x39, 0xfe, 0x01, + 0x0d, 0x45, 0x72, 0x3f, 0x95, 0x0b, 0x2f, 0x88, 0xaf, 0x33, 0x87, 0xf8, 0xdb, 0x12, 0x04, 0xaa, + 0xeb, 0x2a, 0x33, 0x90, 0xeb, 0x4a, 0x71, 0x84, 0x66, 0x9f, 0x96, 0x23, 0xd4, 0xfc, 0xbf, 0x33, + 0xbc, 0x3d, 0xe2, 0xa3, 0x06, 0x7d, 0xd8, 0xf7, 0x2a, 0xe4, 0x98, 0x1c, 0xa8, 0xef, 0x33, 0x33, + 0x59, 0x51, 0xf1, 0x58, 0x39, 0x9b, 0x37, 0xa8, 0xff, 0xd5, 0x1c, 0xbf, 0xb8, 0x44, 0xa8, 0xf3, + 0x06, 0x31, 0xf0, 0x92, 0x99, 0x57, 0xa7, 0xea, 0x74, 0x68, 0x79, 0x75, 0xfd, 0x92, 0x99, 0x57, + 0xc7, 0x6c, 0x4f, 0x51, 0xaa, 0x3d, 0x35, 0x58, 0xba, 0xb9, 0xef, 0xd8, 0x3c, 0xc5, 0x9b, 0xba, + 0x02, 0xc4, 0x59, 0xf9, 0x2a, 0x30, 0xa9, 0xbf, 0x9e, 0x20, 0xa2, 0x68, 0xf0, 0x76, 0x60, 0xe2, + 0xe5, 0x05, 0xd5, 0xe3, 0xab, 0x13, 0x91, 0x45, 0x98, 0xd0, 0xae, 0xf6, 0xab, 0x8f, 0xe3, 0xeb, + 0x89, 0x01, 0x54, 0xbf, 0x9f, 0x46, 0xa2, 0x5c, 0xac, 0x79, 0x13, 0x0a, 0x62, 0x66, 0x46, 0xe9, + 0x96, 0xf1, 0x70, 0x71, 0xa5, 0x6c, 0xa9, 0xb3, 0xa9, 0xe6, 0xd6, 0x7d, 0x0b, 0xa1, 0xe6, 0x4f, + 0x0d, 0xb8, 0xb0, 0x4e, 0xc3, 0x87, 0x9e, 0x7f, 0xdf, 0xa2, 0x41, 0xe8, 0xbb, 0x3c, 0x7b, 0x33, + 0xca, 0xe3, 0x5b, 0xe4, 0x3d, 0xf9, 0x24, 0xa4, 0xae, 0x20, 0x93, 0x75, 0x2c, 0x4e, 0x08, 0xa1, + 0x1c, 0xc2, 0xc0, 0x0d, 0xf9, 0x14, 0xe4, 0x3b, 0xe2, 0x29, 0xc8, 0x4c, 0x7f, 0xe2, 0x68, 0x5e, + 0xd4, 0x69, 0x4b, 0x3e, 0x01, 0xf9, 0x1b, 0x19, 0x38, 0x9b, 0xf2, 0x59, 0x3b, 0x6f, 0x3d, 0xa3, + 0xca, 0x61, 0x51, 0x53, 0x0e, 0xf2, 0xad, 0xe0, 0x9e, 0x1d, 0x9f, 0xaa, 0x2b, 0xfe, 0x96, 0x01, + 0xe7, 0x75, 0xe9, 0x11, 0xc1, 0x55, 0x3b, 0xb7, 0xc9, 0xbb, 0x30, 0xbc, 0x4c, 0x9d, 0x3a, 0x95, + 0x59, 0x41, 0xcf, 0x26, 0x1e, 0x9d, 0xe6, 0x85, 0x9c, 0xed, 0x9f, 0xf0, 0xa9, 0x7c, 0xc6, 0x12, + 0x24, 0xa4, 0x2c, 0x3e, 0x8e, 0x9b, 0xa5, 0xa6, 0xbc, 0xd1, 0x95, 0x56, 0x55, 0x9f, 0xa3, 0xd9, + 0x9f, 0x1b, 0xf0, 0x5c, 0x1f, 0x1a, 0x36, 0x70, 0x6c, 0xe8, 0xd5, 0x81, 0xc3, 0x85, 0x05, 0xa1, + 0xe4, 0x03, 0x98, 0xda, 0x12, 0x66, 0xad, 0x1c, 0x8e, 0x4c, 0x1c, 0xfa, 0x2f, 0x2d, 0x5e, 0x5b, + 0x8e, 0x4b, 0x12, 0x59, 0xbb, 0x6a, 0x98, 0xed, 0x7b, 0xd5, 0x50, 0xbd, 0xb9, 0x97, 0x1b, 0xf4, + 0xe6, 0xde, 0x67, 0xc9, 0x27, 0x59, 0x44, 0xca, 0x8d, 0xf8, 0xde, 0xa2, 0xd1, 0xfb, 0xde, 0xa2, + 0x0c, 0x47, 0xc8, 0xa4, 0x5e, 0x89, 0xfa, 0xb1, 0x01, 0x05, 0x9d, 0xf7, 0x93, 0x8e, 0xe7, 0xfb, + 0xda, 0x78, 0x3e, 0x97, 0x3e, 0x9e, 0xbd, 0x07, 0xb2, 0xeb, 0xf9, 0x99, 0x81, 0x06, 0xd0, 0x84, + 0xe1, 0xb2, 0xd7, 0x74, 0xdc, 0x96, 0xfa, 0x7a, 0x48, 0x1d, 0x21, 0x96, 0x28, 0x19, 0xe8, 0x96, + 0xa7, 0xf9, 0xab, 0x43, 0x70, 0xc1, 0xa2, 0x07, 0x2e, 0xb3, 0xaa, 0xb6, 0x03, 0xb7, 0x75, 0xa0, + 0x5d, 0x58, 0x33, 0x13, 0x1d, 0x2e, 0x32, 0x42, 0x31, 0x48, 0xd4, 0xdf, 0xaf, 0x42, 0x9e, 0xa9, + 0x76, 0xa5, 0xcf, 0xd1, 0x43, 0x8e, 0x0f, 0x7f, 0x71, 0x61, 0x90, 0xc5, 0xe4, 0xba, 0x58, 0x78, + 0x94, 0x9c, 0x7d, 0x6c, 0xe1, 0xf9, 0xe2, 0x78, 0x1e, 0xaa, 0x47, 0x41, 0x48, 0xd1, 0xc0, 0x17, + 0x8b, 0x4f, 0x64, 0x89, 0xe5, 0x7a, 0x58, 0x62, 0x6b, 0x30, 0x5b, 0xac, 0x73, 0xa5, 0xe6, 0x34, + 0x36, 0x7d, 0xb7, 0x55, 0x73, 0xdb, 0x4e, 0x43, 0xee, 0x2e, 0xf0, 0x9c, 0xc4, 0x89, 0xca, 0xed, + 0x76, 0x84, 0x60, 0xa5, 0x92, 0xb1, 0x66, 0x94, 0xd7, 0xab, 0xfc, 0x5d, 0x27, 0x7e, 0xf8, 0x81, + 0xcd, 0xa8, 0xb7, 0x02, 0xfe, 0xb0, 0x93, 0x15, 0x15, 0xa3, 0x0d, 0x88, 0x87, 0xc3, 0x5b, 0xab, + 0xd5, 0x38, 0x78, 0x9e, 0xa7, 0x14, 0xe2, 0x07, 0xc8, 0x61, 0x23, 0xc0, 0x43, 0x64, 0x0d, 0x2f, + 0xa6, 0xab, 0x56, 0x97, 0x19, 0x5d, 0xbe, 0x8b, 0x2e, 0x08, 0x0e, 0x55, 0x3a, 0x8e, 0x47, 0x6e, + 0x02, 0xf0, 0x84, 0x29, 0x28, 0x10, 0xa3, 0xb1, 0xc5, 0xe8, 0x23, 0x94, 0x5b, 0x8c, 0x0a, 0x0a, + 0x79, 0x0f, 0x66, 0x2a, 0xa5, 0x05, 0xe9, 0xb2, 0x2a, 0x7b, 0xb5, 0x0e, 0x1e, 0xf7, 0x01, 0xd6, + 0x87, 0x63, 0x48, 0x6b, 0x0b, 0x4c, 0x0a, 0xd2, 0xd0, 0xc8, 0x55, 0x18, 0x59, 0x29, 0xf3, 0xbe, + 0x1f, 0x53, 0xf3, 0x66, 0x8a, 0x63, 0x74, 0x59, 0x48, 0x36, 0x62, 0x93, 0x66, 0xfc, 0x44, 0x93, + 0xe6, 0xc2, 0x00, 0xe6, 0x0c, 0x4f, 0xaf, 0xc9, 0x93, 0x33, 0x97, 0xbc, 0x3a, 0x0d, 0x76, 0x6e, + 0x7d, 0xcd, 0xd2, 0x6b, 0x2a, 0x6d, 0xc3, 0x69, 0x7e, 0x2b, 0x55, 0x25, 0xfc, 0xfb, 0x98, 0x5e, + 0xb3, 0x0b, 0x97, 0x7c, 0x13, 0x86, 0xf0, 0xa7, 0xb0, 0x0f, 0x66, 0x52, 0xd8, 0xc6, 0xb6, 0x41, + 0x8d, 0x3f, 0x93, 0x83, 0x04, 0x64, 0x05, 0x46, 0x44, 0x5a, 0xeb, 0xd3, 0x24, 0x89, 0x13, 0x19, + 0xde, 0xf9, 0x20, 0x09, 0x7a, 0xb3, 0x0e, 0xe3, 0x6a, 0x85, 0x4c, 0x38, 0x97, 0x9d, 0xe0, 0x90, + 0xd6, 0xd9, 0x2f, 0x91, 0xdf, 0x15, 0x85, 0xf3, 0x10, 0xa1, 0x36, 0xfb, 0x0e, 0x4b, 0x41, 0x61, + 0x6a, 0x69, 0x25, 0xd8, 0x0e, 0xc4, 0xa7, 0x88, 0x3d, 0x9b, 0x8b, 0xfb, 0xff, 0xba, 0x25, 0x8a, + 0xcc, 0x5f, 0x80, 0xd9, 0xf5, 0x4e, 0xa3, 0xc1, 0xf6, 0x6f, 0x32, 0xff, 0x57, 0xe8, 0x84, 0x94, + 0x2c, 0xc2, 0x10, 0xfe, 0x21, 0x1e, 0x69, 0x9c, 0xd1, 0x5f, 0xad, 0xc2, 0x22, 0x8c, 0xbd, 0x31, + 0xf0, 0xba, 0x5b, 0xa8, 0xbf, 0x7a, 0xc6, 0x49, 0xcd, 0x9f, 0xc5, 0x0f, 0x36, 0x6d, 0xf9, 0x4e, + 0xed, 0x3e, 0xf5, 0x4f, 0xf9, 0x28, 0xfe, 0xc7, 0xf2, 0x23, 0x74, 0x95, 0x9f, 0xf6, 0xc1, 0x27, + 0x7d, 0x0c, 0x79, 0x0f, 0xc6, 0x84, 0xde, 0x57, 0x92, 0x34, 0xe0, 0x4d, 0x58, 0xf9, 0x8e, 0x58, + 0xe2, 0x30, 0x59, 0x45, 0xc7, 0xd5, 0x4c, 0x6f, 0xca, 0xce, 0xad, 0xaf, 0x62, 0x35, 0xd3, 0xeb, + 0xe8, 0x23, 0xba, 0x3f, 0x84, 0x64, 0xdf, 0x0a, 0xd9, 0xbd, 0xa3, 0x5e, 0xcb, 0x36, 0x62, 0xc3, + 0x3f, 0xbe, 0x96, 0xad, 0x1a, 0xfe, 0x11, 0x6a, 0x34, 0x26, 0x99, 0x13, 0xc6, 0xe4, 0x03, 0x39, + 0x26, 0xd9, 0xde, 0x82, 0x31, 0xd3, 0x67, 0x1c, 0xaa, 0xf1, 0x0c, 0xc9, 0x0d, 0xb4, 0x3f, 0xc3, + 0xf7, 0xdd, 0xc5, 0x0c, 0x49, 0x2a, 0x34, 0xc1, 0x49, 0xdd, 0xf4, 0x0d, 0x0d, 0xce, 0xf4, 0x84, + 0xe8, 0x97, 0x6f, 0xc1, 0x78, 0x31, 0x0c, 0x9d, 0xda, 0x21, 0xad, 0x97, 0x99, 0x7a, 0x52, 0x6e, + 0x90, 0x3a, 0x02, 0xae, 0x3a, 0xcb, 0x55, 0x5c, 0x9e, 0x11, 0xc5, 0x09, 0x44, 0x18, 0x52, 0x94, + 0x11, 0x85, 0x41, 0xf4, 0x8c, 0x28, 0x0c, 0xc2, 0x36, 0xb9, 0x2b, 0xad, 0x07, 0x2e, 0xeb, 0x93, + 0x7c, 0xfc, 0x08, 0x8d, 0xcb, 0x41, 0xaa, 0x72, 0x15, 0x58, 0xe4, 0x1d, 0xc5, 0x2c, 0x1c, 0x8d, + 0xf7, 0x67, 0x7c, 0xef, 0x6c, 0x4b, 0xeb, 0x50, 0x35, 0xf9, 0x22, 0x3b, 0xf1, 0x0e, 0x8c, 0x48, + 0x97, 0x08, 0xc4, 0x7b, 0x32, 0x41, 0xd9, 0x7d, 0x4f, 0x48, 0x22, 0xe3, 0xfb, 0x0f, 0x4a, 0x9e, + 0xda, 0x31, 0xe5, 0xfd, 0x07, 0x25, 0x4f, 0xad, 0xf6, 0xfe, 0x83, 0x92, 0xb1, 0x36, 0xda, 0xe1, + 0x8e, 0x9f, 0xb8, 0xc3, 0xdd, 0x81, 0xf1, 0x4d, 0xc7, 0x0f, 0x5d, 0x66, 0x2e, 0xb4, 0x42, 0xfe, + 0x7a, 0x63, 0xec, 0x80, 0x51, 0x8a, 0x16, 0x2f, 0xcb, 0x77, 0x10, 0xda, 0x0a, 0xbe, 0x9e, 0x40, + 0x3f, 0x86, 0xa7, 0x07, 0x21, 0x4d, 0x3e, 0x49, 0x10, 0x52, 0x3e, 0x7a, 0x6e, 0x79, 0x2a, 0x0e, + 0xf9, 0x8a, 0xde, 0x50, 0x4e, 0xf6, 0x3e, 0x7a, 0x04, 0xbe, 0x03, 0xe3, 0xec, 0x6f, 0x7c, 0xd5, + 0xcd, 0xa5, 0xfc, 0x75, 0xc6, 0x38, 0xeb, 0x94, 0x3e, 0xa1, 0xf9, 0xd3, 0x6f, 0x55, 0x1a, 0xf2, + 0x09, 0x8c, 0x8c, 0x93, 0xde, 0x34, 0x8d, 0x1b, 0xf9, 0x10, 0xc6, 0xd5, 0xa7, 0x30, 0xf1, 0xf2, + 0x96, 0x08, 0x23, 0xab, 0x0b, 0x78, 0x57, 0x52, 0x22, 0x95, 0x80, 0x2d, 0xf3, 0xc5, 0x36, 0x57, + 0x90, 0x44, 0x91, 0xf6, 0x76, 0x97, 0x72, 0x94, 0x68, 0xe4, 0x23, 0x18, 0x2f, 0xb6, 0xdb, 0xb1, + 0xc6, 0x99, 0x51, 0xf6, 0xf9, 0xed, 0xb6, 0x9d, 0xaa, 0x75, 0x34, 0x8a, 0xa4, 0x62, 0x9e, 0x3d, + 0x9d, 0x62, 0xfe, 0x33, 0x03, 0xce, 0xf7, 0xe8, 0xb6, 0x28, 0x21, 0x8f, 0xd1, 0x3f, 0x21, 0x0f, + 0x9b, 0x7e, 0xfa, 0xe6, 0x0c, 0xa7, 0x9f, 0x30, 0x55, 0xd4, 0x46, 0x4b, 0xa3, 0x25, 0xfd, 0x29, + 0xc9, 0xec, 0x57, 0xf6, 0x94, 0xa4, 0x79, 0x6c, 0xc0, 0x98, 0x22, 0xcc, 0xe4, 0x8a, 0x72, 0x07, + 0xa4, 0xc0, 0x33, 0x38, 0x2a, 0x1c, 0x32, 0x5c, 0x9d, 0xa3, 0x64, 0x66, 0x4e, 0x76, 0x51, 0xe1, + 0x9b, 0xca, 0x4a, 0xd2, 0xa2, 0x66, 0xc2, 0x9f, 0x84, 0x6f, 0x28, 0x7f, 0x0e, 0xb0, 0xea, 0x04, + 0x61, 0xb1, 0x16, 0xba, 0x0f, 0xe8, 0x00, 0x9a, 0x3b, 0x7e, 0x03, 0xc5, 0xc1, 0xa7, 0xfa, 0x19, + 0x59, 0xd7, 0x1b, 0x28, 0x11, 0x43, 0xf3, 0x2f, 0x0c, 0x18, 0x5b, 0x69, 0x05, 0xa1, 0xd3, 0x68, + 0xe0, 0xd2, 0xfa, 0x75, 0xca, 0x76, 0x1b, 0xb5, 0xab, 0xcf, 0x72, 0xfe, 0x36, 0x4c, 0x25, 0xd0, + 0xd8, 0x96, 0xb0, 0x8a, 0x77, 0xb9, 0xd4, 0x2d, 0x21, 0xbf, 0xdd, 0x65, 0x89, 0x12, 0xb3, 0xa2, + 0x90, 0xed, 0xdc, 0xc2, 0x63, 0x80, 0x05, 0x00, 0x57, 0x82, 0xa4, 0x01, 0x4b, 0x92, 0x5f, 0xb2, + 0x73, 0xcb, 0x52, 0xb0, 0xcc, 0x75, 0x18, 0xae, 0x7a, 0x7e, 0xb8, 0x78, 0xc4, 0x6d, 0xc6, 0x32, + 0x0d, 0x6a, 0xaa, 0x9f, 0xdf, 0x45, 0x8f, 0x5f, 0xcd, 0x12, 0x45, 0x6c, 0xc7, 0xb8, 0xe4, 0xd2, + 0x46, 0x5d, 0x8d, 0xbf, 0xda, 0x67, 0x00, 0x8b, 0xc3, 0x99, 0x5d, 0x7d, 0x2e, 0x4e, 0x1f, 0x19, + 0x07, 0x7a, 0x3d, 0xa9, 0xcd, 0x54, 0xd2, 0xfa, 0xf7, 0x05, 0xfd, 0x89, 0x18, 0xad, 0xa6, 0x3e, + 0x5d, 0xfd, 0x07, 0x06, 0x5c, 0xec, 0x4d, 0xa2, 0xc6, 0x8e, 0x19, 0x7d, 0x62, 0xc7, 0x5e, 0x4e, + 0xfa, 0xa5, 0x11, 0x4d, 0xf8, 0xa5, 0x63, 0x6f, 0x74, 0x19, 0x43, 0xf7, 0x6a, 0xd1, 0x73, 0x5c, + 0x57, 0xfa, 0x7c, 0x33, 0x22, 0xf2, 0x61, 0x0e, 0x91, 0xc6, 0x12, 0xb4, 0xe6, 0x3f, 0xcf, 0xc1, + 0x85, 0x9e, 0x14, 0x64, 0x59, 0x7b, 0x4e, 0xfd, 0xfa, 0x49, 0x35, 0xdc, 0xc0, 0x7f, 0x53, 0x1f, + 0x58, 0xdf, 0x88, 0x32, 0x90, 0xf2, 0x27, 0xd6, 0x5f, 0x3b, 0x91, 0x17, 0x47, 0x47, 0x66, 0xd0, + 0x9d, 0x8c, 0x14, 0xa3, 0xee, 0x69, 0xe8, 0xb8, 0xe2, 0x3d, 0x73, 0x19, 0x75, 0xcf, 0x41, 0x96, + 0x2c, 0x8b, 0x03, 0xfa, 0x72, 0xe9, 0x01, 0x7d, 0xe6, 0xff, 0x63, 0xc0, 0x68, 0xf4, 0xd9, 0xe4, + 0x22, 0x9c, 0xdb, 0xb2, 0x8a, 0xa5, 0x8a, 0xbd, 0xf5, 0xd9, 0x66, 0xc5, 0xde, 0x5e, 0xaf, 0x6e, + 0x56, 0x4a, 0x2b, 0x4b, 0x2b, 0x95, 0x72, 0xe1, 0x0c, 0x99, 0x86, 0x89, 0xed, 0xf5, 0x7b, 0xeb, + 0x1b, 0xbb, 0xeb, 0x76, 0xc5, 0xb2, 0x36, 0xac, 0x82, 0x41, 0x26, 0x60, 0xd4, 0x5a, 0x2c, 0x96, + 0xec, 0xf5, 0x8d, 0x72, 0xa5, 0x90, 0x21, 0x05, 0x18, 0x2f, 0x6d, 0xac, 0xaf, 0x57, 0x4a, 0x5b, + 0x2b, 0x3b, 0x2b, 0x5b, 0x9f, 0x15, 0xb2, 0x84, 0xc0, 0x24, 0x22, 0x6c, 0x5a, 0x2b, 0xeb, 0xa5, + 0x95, 0xcd, 0xe2, 0x6a, 0x21, 0xc7, 0x60, 0x0c, 0x5f, 0x81, 0x0d, 0x45, 0x8c, 0xee, 0x6d, 0x2f, + 0x56, 0x0a, 0xc3, 0x0c, 0x85, 0xfd, 0xa5, 0xa0, 0x8c, 0xb0, 0xea, 0x11, 0xa5, 0x5c, 0xdc, 0x2a, + 0x2e, 0x16, 0xab, 0x95, 0x42, 0x9e, 0x9c, 0x87, 0x19, 0x0d, 0x64, 0xaf, 0x6e, 0xdc, 0x5d, 0x59, + 0x2f, 0x8c, 0x92, 0x59, 0x28, 0x44, 0xb0, 0xf2, 0xa2, 0xbd, 0x5d, 0xad, 0x58, 0x05, 0x48, 0x42, + 0xd7, 0x8b, 0x6b, 0x95, 0xc2, 0x98, 0xf9, 0x3e, 0x0f, 0xd3, 0xe7, 0x5d, 0x4d, 0xce, 0x01, 0xa9, + 0x6e, 0x15, 0xb7, 0xb6, 0xab, 0x89, 0xc6, 0x8f, 0xc1, 0x48, 0x75, 0xbb, 0x54, 0xaa, 0x54, 0xab, + 0x05, 0x83, 0x00, 0x0c, 0x2f, 0x15, 0x57, 0x56, 0x2b, 0xe5, 0x42, 0xc6, 0xfc, 0x75, 0x03, 0xa6, + 0x13, 0x8f, 0xea, 0x3e, 0xe9, 0x5c, 0xfc, 0x40, 0xdb, 0xbf, 0xc8, 0x28, 0xea, 0x44, 0x25, 0x7d, + 0xa6, 0xa1, 0xdf, 0xf5, 0x92, 0xb0, 0x98, 0x80, 0x9f, 0x41, 0x41, 0x7e, 0xc0, 0x9a, 0x13, 0xd6, + 0x0e, 0x63, 0x35, 0x76, 0x39, 0x51, 0x49, 0x02, 0x8d, 0xfb, 0x91, 0xe2, 0x74, 0xfa, 0x5d, 0x6c, + 0xcc, 0xef, 0xc2, 0xf9, 0x1e, 0xb4, 0xa4, 0x04, 0xc3, 0x51, 0x5e, 0xce, 0x3e, 0x51, 0x0c, 0xb3, + 0xda, 0x2b, 0xc6, 0xc3, 0x3c, 0xf3, 0xa6, 0x25, 0x20, 0xe6, 0x5f, 0x37, 0x60, 0x5c, 0x98, 0x87, + 0xc5, 0x06, 0xf5, 0xc3, 0x27, 0xeb, 0xe1, 0x77, 0xb4, 0x1e, 0x8e, 0x42, 0x52, 0x15, 0xfe, 0xac, + 0x38, 0xb5, 0x73, 0xff, 0x5b, 0x03, 0x0a, 0x49, 0x44, 0xf2, 0x01, 0xe4, 0xab, 0xf4, 0x01, 0xf5, + 0xdd, 0xf0, 0x48, 0xe8, 0x8a, 0x59, 0x79, 0x76, 0x81, 0x38, 0xa2, 0x8c, 0x7b, 0xa1, 0x02, 0xf1, + 0xcb, 0x8a, 0x68, 0x06, 0x55, 0x79, 0xca, 0x06, 0x2f, 0xfb, 0xb4, 0x36, 0x78, 0xe6, 0x3f, 0xc9, + 0xc0, 0xf9, 0xbb, 0x34, 0x54, 0xdb, 0x14, 0xe5, 0xb8, 0x7a, 0x73, 0xb0, 0x76, 0x29, 0x2d, 0x99, + 0x83, 0x11, 0x2c, 0x92, 0xd7, 0x64, 0x2d, 0xf9, 0x93, 0x2c, 0x46, 0x62, 0x90, 0xd5, 0x32, 0x0a, + 0xf7, 0xa8, 0xfb, 0x86, 0x92, 0x63, 0x54, 0x4a, 0x01, 0xb9, 0x0a, 0x93, 0x98, 0x44, 0xab, 0xc3, + 0xa4, 0x87, 0xd6, 0xc5, 0x46, 0x37, 0x6f, 0x25, 0xa0, 0xe4, 0x3a, 0x14, 0x18, 0xa4, 0x58, 0xbb, + 0xdf, 0xf2, 0x1e, 0x36, 0x68, 0xfd, 0x80, 0xf2, 0x27, 0xa9, 0xf2, 0x56, 0x17, 0xfc, 0xe2, 0x3b, + 0x30, 0xf6, 0x25, 0xf3, 0x00, 0x9b, 0xbf, 0x99, 0x81, 0x59, 0xfc, 0x68, 0x85, 0x21, 0xba, 0x1f, + 0xdf, 0x8c, 0x7b, 0x41, 0x49, 0x8d, 0xe9, 0x30, 0x90, 0x6e, 0xaf, 0x47, 0xbd, 0x13, 0xef, 0x6a, + 0x33, 0x03, 0xec, 0x6a, 0x97, 0x95, 0x71, 0xc9, 0xf6, 0x91, 0x37, 0x6e, 0xbc, 0x89, 0x5f, 0xea, + 0xae, 0x29, 0x1a, 0xaf, 0xea, 0x69, 0x5e, 0xc3, 0x18, 0x70, 0x7b, 0x7f, 0xfd, 0x43, 0x98, 0x92, + 0xca, 0x60, 0x6b, 0xb5, 0x8a, 0x46, 0xee, 0x14, 0x8c, 0xed, 0x54, 0xac, 0x95, 0xa5, 0xcf, 0xec, + 0xa5, 0xed, 0xd5, 0xd5, 0xc2, 0x19, 0xa6, 0xf1, 0x05, 0xa0, 0x54, 0x2c, 0x18, 0x64, 0x1c, 0xf2, + 0x2b, 0xeb, 0xd5, 0x4a, 0x69, 0xdb, 0xaa, 0x14, 0x32, 0xd7, 0x17, 0x60, 0x32, 0xbe, 0xec, 0x88, + 0x7a, 0x79, 0x04, 0xb2, 0x56, 0x71, 0xb7, 0x70, 0x86, 0xe9, 0xde, 0xcd, 0x7b, 0xa5, 0xea, 0xad, + 0x5b, 0x05, 0x83, 0x29, 0xe5, 0xbb, 0xa5, 0x4d, 0xfb, 0xde, 0x5a, 0xb5, 0x90, 0xb9, 0xfe, 0x26, + 0x4c, 0xe3, 0xe1, 0x0b, 0x33, 0xd5, 0x68, 0x8b, 0xfa, 0x58, 0xed, 0x38, 0xeb, 0xa8, 0xb6, 0xe3, + 0x3b, 0x21, 0xe5, 0x75, 0xae, 0x75, 0x1a, 0xa1, 0xdb, 0x6e, 0xd0, 0x47, 0x05, 0xe3, 0xfa, 0x3b, + 0x30, 0x65, 0x79, 0x9d, 0xd0, 0x6d, 0x1d, 0x54, 0x43, 0x86, 0x71, 0x70, 0x44, 0xce, 0xc2, 0xf4, + 0xf6, 0x7a, 0x71, 0x6d, 0x71, 0xe5, 0xee, 0xf6, 0xc6, 0x76, 0xd5, 0x5e, 0x2b, 0x6e, 0x95, 0x96, + 0x0b, 0x67, 0xd8, 0xd7, 0xaf, 0x6d, 0x54, 0xb7, 0x6c, 0xab, 0x52, 0xaa, 0xac, 0x6f, 0x15, 0x8c, + 0xeb, 0xbf, 0x66, 0xc0, 0x24, 0x33, 0xf2, 0xd1, 0x8b, 0xbc, 0x8d, 0x93, 0xf3, 0x0a, 0x5c, 0x62, + 0xeb, 0x8c, 0xbd, 0xb5, 0x71, 0xaf, 0xb2, 0x6e, 0x6f, 0x57, 0x8b, 0x77, 0x93, 0x0b, 0xe8, 0x3c, + 0x3c, 0xa7, 0x60, 0x58, 0x95, 0xd2, 0xc6, 0x4e, 0xc5, 0xb2, 0x37, 0x8b, 0xd5, 0xea, 0xee, 0x86, + 0x55, 0x2e, 0x18, 0x6c, 0xf5, 0x4d, 0x41, 0x58, 0x5b, 0x2a, 0x16, 0x32, 0x5d, 0x65, 0xeb, 0x95, + 0xdd, 0xe2, 0xaa, 0xbd, 0xb8, 0xb1, 0x55, 0xc8, 0x5e, 0xc7, 0x8c, 0xb9, 0x38, 0x6b, 0xb8, 0x23, + 0x28, 0x0f, 0xb9, 0xf5, 0x8d, 0xf5, 0x0a, 0x5f, 0xb6, 0x36, 0x2b, 0xeb, 0xe5, 0x95, 0xf5, 0xbb, + 0xbc, 0x8f, 0x8b, 0x9b, 0x9b, 0xd6, 0xc6, 0x0e, 0x5b, 0xb8, 0x58, 0x47, 0x96, 0x2b, 0xeb, 0xec, + 0xcb, 0xb2, 0xd7, 0x4d, 0x98, 0x2e, 0x51, 0x3f, 0xac, 0x3c, 0x0a, 0x69, 0x8b, 0x59, 0xeb, 0xd8, + 0x77, 0x13, 0x30, 0x5a, 0xf9, 0x74, 0xab, 0xb2, 0x5e, 0x5d, 0xd9, 0x58, 0x2f, 0x9c, 0xb9, 0x7e, + 0x29, 0x81, 0x23, 0x87, 0xa5, 0x5a, 0x5d, 0x2e, 0x9c, 0xb9, 0xfe, 0x1d, 0x18, 0xd7, 0x9c, 0x9c, + 0xe7, 0x61, 0x46, 0xfd, 0xbd, 0x49, 0x5b, 0x75, 0xb7, 0x75, 0x50, 0x38, 0x93, 0x2c, 0xb0, 0x3a, + 0xad, 0x16, 0x2b, 0xc0, 0xc6, 0xab, 0x05, 0x5b, 0xd4, 0x6f, 0xba, 0x2d, 0xa6, 0xa1, 0x0a, 0x99, + 0xeb, 0x37, 0x60, 0x42, 0x13, 0x6c, 0x56, 0xef, 0xea, 0x86, 0x10, 0x87, 0xb5, 0x4a, 0x79, 0x65, + 0x7b, 0xad, 0x30, 0xc4, 0x9a, 0xbd, 0xbc, 0x72, 0x77, 0xb9, 0x00, 0xd7, 0xbf, 0x03, 0x93, 0x62, + 0xab, 0xb7, 0xb6, 0x54, 0x94, 0x1f, 0xba, 0xb1, 0xb4, 0x24, 0x16, 0xf2, 0x4a, 0x15, 0xdb, 0x64, + 0x90, 0x4b, 0x30, 0x27, 0x7e, 0xd8, 0xc5, 0xf5, 0xb2, 0xbd, 0x5c, 0xb4, 0xca, 0xbb, 0x45, 0xab, + 0x62, 0xdf, 0xab, 0x7c, 0x56, 0xc8, 0x30, 0x5b, 0x40, 0x85, 0xd8, 0x5b, 0x1b, 0xdb, 0xa5, 0xe5, + 0x42, 0x76, 0xf1, 0xfd, 0x9f, 0xfd, 0xcb, 0xcb, 0x67, 0x7e, 0xf6, 0xa7, 0x97, 0x8d, 0x3f, 0xf9, + 0xd3, 0xcb, 0xc6, 0xff, 0xfc, 0xa7, 0x97, 0x8d, 0x5f, 0x78, 0xed, 0x14, 0x91, 0x77, 0x7b, 0xc3, + 0x38, 0xb3, 0x6e, 0xff, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x93, 0x65, 0x51, 0x64, 0x02, + 0x01, 0x00, } func (m *KeepAlive) Marshal() (dAtA []byte, err error) { @@ -16305,6 +16405,18 @@ func (m *ProvisionTokenSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + if m.Kubernetes != nil { + { + size, err := m.Kubernetes.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x52 + } { size := m.SuggestedAgentMatcherLabels.Size() i -= size @@ -16614,6 +16726,81 @@ func (m *ProvisionTokenSpecV2CircleCI_Rule) MarshalToSizedBuffer(dAtA []byte) (i return len(dAtA) - i, nil } +func (m *ProvisionTokenSpecV2Kubernetes) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProvisionTokenSpecV2Kubernetes) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProvisionTokenSpecV2Kubernetes) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Allow) > 0 { + for iNdEx := len(m.Allow) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Allow[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTypes(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *ProvisionTokenSpecV2Kubernetes_Rule) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ProvisionTokenSpecV2Kubernetes_Rule) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ProvisionTokenSpecV2Kubernetes_Rule) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.ServiceAccount) > 0 { + i -= len(m.ServiceAccount) + copy(dAtA[i:], m.ServiceAccount) + i = encodeVarintTypes(dAtA, i, uint64(len(m.ServiceAccount))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *StaticTokensV2) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -17921,12 +18108,12 @@ func (m *UserTokenSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n94, err94 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err94 != nil { - return 0, err94 + n95, err95 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err95 != nil { + return 0, err95 } - i -= n94 - i = encodeVarintTypes(dAtA, i, uint64(n94)) + i -= n95 + i = encodeVarintTypes(dAtA, i, uint64(n95)) i-- dAtA[i] = 0x22 if m.Usage != 0 { @@ -18043,12 +18230,12 @@ func (m *UserTokenSecretsSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n97, err97 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err97 != nil { - return 0, err97 + n98, err98 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err98 != nil { + return 0, err98 } - i -= n97 - i = encodeVarintTypes(dAtA, i, uint64(n97)) + i -= n98 + i = encodeVarintTypes(dAtA, i, uint64(n98)) i-- dAtA[i] = 0x1a if len(m.QRCode) > 0 { @@ -18212,20 +18399,20 @@ func (m *AccessReview) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.ThresholdIndexes) > 0 { - dAtA101 := make([]byte, len(m.ThresholdIndexes)*10) - var j100 int + dAtA102 := make([]byte, len(m.ThresholdIndexes)*10) + var j101 int for _, num := range m.ThresholdIndexes { for num >= 1<<7 { - dAtA101[j100] = uint8(uint64(num)&0x7f | 0x80) + dAtA102[j101] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j100++ + j101++ } - dAtA101[j100] = uint8(num) - j100++ + dAtA102[j101] = uint8(num) + j101++ } - i -= j100 - copy(dAtA[i:], dAtA101[:j100]) - i = encodeVarintTypes(dAtA, i, uint64(j100)) + i -= j101 + copy(dAtA[i:], dAtA102[:j101]) + i = encodeVarintTypes(dAtA, i, uint64(j101)) i-- dAtA[i] = 0x3a } @@ -18239,12 +18426,12 @@ func (m *AccessReview) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x32 - n103, err103 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err103 != nil { - return 0, err103 + n104, err104 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err104 != nil { + return 0, err104 } - i -= n103 - i = encodeVarintTypes(dAtA, i, uint64(n103)) + i -= n104 + i = encodeVarintTypes(dAtA, i, uint64(n104)) i-- dAtA[i] = 0x2a if len(m.Reason) > 0 { @@ -18347,20 +18534,20 @@ func (m *ThresholdIndexSet) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if len(m.Indexes) > 0 { - dAtA106 := make([]byte, len(m.Indexes)*10) - var j105 int + dAtA107 := make([]byte, len(m.Indexes)*10) + var j106 int for _, num := range m.Indexes { for num >= 1<<7 { - dAtA106[j105] = uint8(uint64(num)&0x7f | 0x80) + dAtA107[j106] = uint8(uint64(num)&0x7f | 0x80) num >>= 7 - j105++ + j106++ } - dAtA106[j105] = uint8(num) - j105++ + dAtA107[j106] = uint8(num) + j106++ } - i -= j105 - copy(dAtA[i:], dAtA106[:j105]) - i = encodeVarintTypes(dAtA, i, uint64(j105)) + i -= j106 + copy(dAtA[i:], dAtA107[:j106]) + i = encodeVarintTypes(dAtA, i, uint64(j106)) i-- dAtA[i] = 0xa } @@ -18560,21 +18747,21 @@ func (m *AccessRequestSpecV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n110, err110 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err110 != nil { - return 0, err110 - } - i -= n110 - i = encodeVarintTypes(dAtA, i, uint64(n110)) - i-- - dAtA[i] = 0x2a - n111, err111 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + n111, err111 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err111 != nil { return 0, err111 } i -= n111 i = encodeVarintTypes(dAtA, i, uint64(n111)) i-- + dAtA[i] = 0x2a + n112, err112 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err112 != nil { + return 0, err112 + } + i -= n112 + i = encodeVarintTypes(dAtA, i, uint64(n112)) + i-- dAtA[i] = 0x22 if m.State != 0 { i = encodeVarintTypes(dAtA, i, uint64(m.State)) @@ -20527,12 +20714,12 @@ func (m *UserSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x42 - n142, err142 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err142 != nil { - return 0, err142 + n143, err143 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err143 != nil { + return 0, err143 } - i -= n142 - i = encodeVarintTypes(dAtA, i, uint64(n142)) + i -= n143 + i = encodeVarintTypes(dAtA, i, uint64(n143)) i-- dAtA[i] = 0x3a { @@ -20674,29 +20861,29 @@ func (m *LoginStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n145, err145 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.RecoveryAttemptLockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.RecoveryAttemptLockExpires):]) - if err145 != nil { - return 0, err145 - } - i -= n145 - i = encodeVarintTypes(dAtA, i, uint64(n145)) - i-- - dAtA[i] = 0x2a - n146, err146 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockExpires):]) + n146, err146 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.RecoveryAttemptLockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.RecoveryAttemptLockExpires):]) if err146 != nil { return 0, err146 } i -= n146 i = encodeVarintTypes(dAtA, i, uint64(n146)) i-- - dAtA[i] = 0x22 - n147, err147 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockedTime):]) + dAtA[i] = 0x2a + n147, err147 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockExpires):]) if err147 != nil { return 0, err147 } i -= n147 i = encodeVarintTypes(dAtA, i, uint64(n147)) i-- + dAtA[i] = 0x22 + n148, err148 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LockedTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LockedTime):]) + if err148 != nil { + return 0, err148 + } + i -= n148 + i = encodeVarintTypes(dAtA, i, uint64(n148)) + i-- dAtA[i] = 0x1a if len(m.LockedMessage) > 0 { i -= len(m.LockedMessage) @@ -20752,12 +20939,12 @@ func (m *CreatedBy) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x1a - n149, err149 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) - if err149 != nil { - return 0, err149 + n150, err150 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Time, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Time):]) + if err150 != nil { + return 0, err150 } - i -= n149 - i = encodeVarintTypes(dAtA, i, uint64(n149)) + i -= n150 + i = encodeVarintTypes(dAtA, i, uint64(n150)) i-- dAtA[i] = 0x12 if m.Connector != nil { @@ -20875,21 +21062,21 @@ func (m *MFADevice) MarshalToSizedBuffer(dAtA []byte) (int, error) { } } } - n152, err152 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUsed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUsed):]) - if err152 != nil { - return 0, err152 - } - i -= n152 - i = encodeVarintTypes(dAtA, i, uint64(n152)) - i-- - dAtA[i] = 0x3a - n153, err153 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.AddedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.AddedAt):]) + n153, err153 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUsed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUsed):]) if err153 != nil { return 0, err153 } i -= n153 i = encodeVarintTypes(dAtA, i, uint64(n153)) i-- + dAtA[i] = 0x3a + n154, err154 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.AddedAt, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.AddedAt):]) + if err154 != nil { + return 0, err154 + } + i -= n154 + i = encodeVarintTypes(dAtA, i, uint64(n154)) + i-- dAtA[i] = 0x32 if len(m.Id) > 0 { i -= len(m.Id) @@ -21485,12 +21672,12 @@ func (m *TunnelConnectionSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x22 } - n162, err162 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) - if err162 != nil { - return 0, err162 + n163, err163 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) + if err163 != nil { + return 0, err163 } - i -= n162 - i = encodeVarintTypes(dAtA, i, uint64(n162)) + i -= n163 + i = encodeVarintTypes(dAtA, i, uint64(n163)) i-- dAtA[i] = 0x1a if len(m.ProxyName) > 0 { @@ -21582,12 +21769,12 @@ func (m *AcquireSemaphoreRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) i-- dAtA[i] = 0x2a } - n163, err163 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err163 != nil { - return 0, err163 + n164, err164 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err164 != nil { + return 0, err164 } - i -= n163 - i = encodeVarintTypes(dAtA, i, uint64(n163)) + i -= n164 + i = encodeVarintTypes(dAtA, i, uint64(n164)) i-- dAtA[i] = 0x22 if m.MaxLeases != 0 { @@ -21636,12 +21823,12 @@ func (m *SemaphoreLease) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n164, err164 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err164 != nil { - return 0, err164 + n165, err165 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err165 != nil { + return 0, err165 } - i -= n164 - i = encodeVarintTypes(dAtA, i, uint64(n164)) + i -= n165 + i = encodeVarintTypes(dAtA, i, uint64(n165)) i-- dAtA[i] = 0x2a if len(m.LeaseID) > 0 { @@ -21699,12 +21886,12 @@ func (m *SemaphoreLeaseRef) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x1a } - n165, err165 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err165 != nil { - return 0, err165 + n166, err166 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err166 != nil { + return 0, err166 } - i -= n165 - i = encodeVarintTypes(dAtA, i, uint64(n165)) + i -= n166 + i = encodeVarintTypes(dAtA, i, uint64(n166)) i-- dAtA[i] = 0x12 if len(m.LeaseID) > 0 { @@ -21930,29 +22117,29 @@ func (m *WebSessionSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x48 } - n170, err170 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LoginTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LoginTime):]) - if err170 != nil { - return 0, err170 - } - i -= n170 - i = encodeVarintTypes(dAtA, i, uint64(n170)) - i-- - dAtA[i] = 0x42 - n171, err171 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + n171, err171 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LoginTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LoginTime):]) if err171 != nil { return 0, err171 } i -= n171 i = encodeVarintTypes(dAtA, i, uint64(n171)) i-- - dAtA[i] = 0x3a - n172, err172 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.BearerTokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.BearerTokenExpires):]) + dAtA[i] = 0x42 + n172, err172 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err172 != nil { return 0, err172 } i -= n172 i = encodeVarintTypes(dAtA, i, uint64(n172)) i-- + dAtA[i] = 0x3a + n173, err173 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.BearerTokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.BearerTokenExpires):]) + if err173 != nil { + return 0, err173 + } + i -= n173 + i = encodeVarintTypes(dAtA, i, uint64(n173)) + i-- dAtA[i] = 0x32 if len(m.BearerToken) > 0 { i -= len(m.BearerToken) @@ -22118,12 +22305,12 @@ func (m *RemoteClusterStatusV3) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n175, err175 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) - if err175 != nil { - return 0, err175 + n176, err176 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastHeartbeat, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastHeartbeat):]) + if err176 != nil { + return 0, err176 } - i -= n175 - i = encodeVarintTypes(dAtA, i, uint64(n175)) + i -= n176 + i = encodeVarintTypes(dAtA, i, uint64(n176)) i-- dAtA[i] = 0x12 if len(m.Connection) > 0 { @@ -24373,12 +24560,12 @@ func (m *GithubAuthRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x62 } if m.Expires != nil { - n204, err204 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err204 != nil { - return 0, err204 + n205, err205 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err205 != nil { + return 0, err205 } - i -= n204 - i = encodeVarintTypes(dAtA, i, uint64(n204)) + i -= n205 + i = encodeVarintTypes(dAtA, i, uint64(n205)) i-- dAtA[i] = 0x5a } @@ -25373,12 +25560,12 @@ func (m *LockSpecV2) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.Expires != nil { - n222, err222 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err222 != nil { - return 0, err222 + n223, err223 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err223 != nil { + return 0, err223 } - i -= n222 - i = encodeVarintTypes(dAtA, i, uint64(n222)) + i -= n223 + i = encodeVarintTypes(dAtA, i, uint64(n223)) i-- dAtA[i] = 0x1a } @@ -25900,12 +26087,12 @@ func (m *RegisterUsingTokenRequest) MarshalToSizedBuffer(dAtA []byte) (int, erro copy(dAtA[i:], m.XXX_unrecognized) } if m.Expires != nil { - n230, err230 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) - if err230 != nil { - return 0, err230 + n231, err231 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Expires):]) + if err231 != nil { + return 0, err231 } - i -= n230 - i = encodeVarintTypes(dAtA, i, uint64(n230)) + i -= n231 + i = encodeVarintTypes(dAtA, i, uint64(n231)) i-- dAtA[i] = 0x62 } @@ -26085,12 +26272,12 @@ func (m *RecoveryCodesSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n233, err233 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err233 != nil { - return 0, err233 + n234, err234 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err234 != nil { + return 0, err234 } - i -= n233 - i = encodeVarintTypes(dAtA, i, uint64(n233)) + i -= n234 + i = encodeVarintTypes(dAtA, i, uint64(n234)) i-- dAtA[i] = 0x12 if len(m.Codes) > 0 { @@ -26441,21 +26628,21 @@ func (m *SessionTrackerSpecV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x32 } - n237, err237 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err237 != nil { - return 0, err237 - } - i -= n237 - i = encodeVarintTypes(dAtA, i, uint64(n237)) - i-- - dAtA[i] = 0x2a - n238, err238 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + n238, err238 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) if err238 != nil { return 0, err238 } i -= n238 i = encodeVarintTypes(dAtA, i, uint64(n238)) i-- + dAtA[i] = 0x2a + n239, err239 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err239 != nil { + return 0, err239 + } + i -= n239 + i = encodeVarintTypes(dAtA, i, uint64(n239)) + i-- dAtA[i] = 0x22 if m.State != 0 { i = encodeVarintTypes(dAtA, i, uint64(m.State)) @@ -26558,12 +26745,12 @@ func (m *Participant) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n239, err239 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastActive, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastActive):]) - if err239 != nil { - return 0, err239 + n240, err240 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastActive, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastActive):]) + if err240 != nil { + return 0, err240 } - i -= n239 - i = encodeVarintTypes(dAtA, i, uint64(n239)) + i -= n240 + i = encodeVarintTypes(dAtA, i, uint64(n240)) i-- dAtA[i] = 0x22 if len(m.Mode) > 0 { @@ -27131,12 +27318,12 @@ func (m *ClusterAlertSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n249, err249 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) - if err249 != nil { - return 0, err249 + n250, err250 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Created, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Created):]) + if err250 != nil { + return 0, err250 } - i -= n249 - i = encodeVarintTypes(dAtA, i, uint64(n249)) + i -= n250 + i = encodeVarintTypes(dAtA, i, uint64(n250)) i-- dAtA[i] = 0x1a if len(m.Message) > 0 { @@ -27256,12 +27443,12 @@ func (m *AlertAcknowledgement) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n250, err250 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err250 != nil { - return 0, err250 + n251, err251 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err251 != nil { + return 0, err251 } - i -= n250 - i = encodeVarintTypes(dAtA, i, uint64(n250)) + i -= n251 + i = encodeVarintTypes(dAtA, i, uint64(n251)) i-- dAtA[i] = 0x22 if m.Severity != 0 { @@ -28805,6 +28992,10 @@ func (m *ProvisionTokenSpecV2) Size() (n int) { } l = m.SuggestedAgentMatcherLabels.Size() n += 1 + l + sovTypes(uint64(l)) + if m.Kubernetes != nil { + l = m.Kubernetes.Size() + n += 1 + l + sovTypes(uint64(l)) + } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -28919,6 +29110,40 @@ func (m *ProvisionTokenSpecV2CircleCI_Rule) Size() (n int) { return n } +func (m *ProvisionTokenSpecV2Kubernetes) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Allow) > 0 { + for _, e := range m.Allow { + l = e.Size() + n += 1 + l + sovTypes(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *ProvisionTokenSpecV2Kubernetes_Rule) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ServiceAccount) + if l > 0 { + n += 1 + l + sovTypes(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + func (m *StaticTokensV2) Size() (n int) { if m == nil { return 0 @@ -44337,6 +44562,42 @@ func (m *ProvisionTokenSpecV2) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kubernetes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Kubernetes == nil { + m.Kubernetes = &ProvisionTokenSpecV2Kubernetes{} + } + if err := m.Kubernetes.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipTypes(dAtA[iNdEx:]) @@ -45015,6 +45276,174 @@ func (m *ProvisionTokenSpecV2CircleCI_Rule) Unmarshal(dAtA []byte) error { } return nil } +func (m *ProvisionTokenSpecV2Kubernetes) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ProvisionTokenSpecV2Kubernetes: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ProvisionTokenSpecV2Kubernetes: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Allow", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Allow = append(m.Allow, &ProvisionTokenSpecV2Kubernetes_Rule{}) + if err := m.Allow[len(m.Allow)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ProvisionTokenSpecV2Kubernetes_Rule) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Rule: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Rule: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceAccount", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTypes + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTypes + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTypes + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceAccount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTypes(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTypes + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *StaticTokensV2) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/go.mod b/go.mod index 2bc00bcca2265..65bb8542be806 100644 --- a/go.mod +++ b/go.mod @@ -144,7 +144,7 @@ require ( k8s.io/client-go v0.26.0 k8s.io/klog/v2 v2.80.1 k8s.io/kubectl v0.26.0 - k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 // indirect + k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 sigs.k8s.io/controller-runtime v0.14.1 sigs.k8s.io/controller-tools v0.11.1 sigs.k8s.io/yaml v1.3.0 diff --git a/lib/auth/auth.go b/lib/auth/auth.go index c3d4bd097a297..6266dd3abaf9a 100644 --- a/lib/auth/auth.go +++ b/lib/auth/auth.go @@ -76,6 +76,7 @@ import ( "github.com/gravitational/teleport/lib/githubactions" "github.com/gravitational/teleport/lib/inventory" kubeutils "github.com/gravitational/teleport/lib/kube/utils" + "github.com/gravitational/teleport/lib/kubernetestoken" "github.com/gravitational/teleport/lib/limiter" "github.com/gravitational/teleport/lib/loginrule" "github.com/gravitational/teleport/lib/modules" @@ -313,6 +314,9 @@ func NewServer(cfg *InitConfig, opts ...ServerOption) (*Server, error) { ) } } + if as.kubernetesTokenValidator == nil { + as.kubernetesTokenValidator = &kubernetestoken.Validator{} + } return &as, nil } @@ -517,6 +521,10 @@ type Server struct { // the auth server. It can be overridden for the purpose of tests. circleCITokenValidate func(ctx context.Context, organizationID, token string) (*circleci.IDTokenClaims, error) + // kubernetesTokenValidator allows tokens from Kubernetes to be validated + // by the auth server. It can be overridden for the purpose of tests. + kubernetesTokenValidator kubernetesTokenValidator + // loadAllCAs tells tsh to load the host CAs for all clusters when trying to ssh into a node. loadAllCAs bool } diff --git a/lib/auth/join.go b/lib/auth/join.go index 747dacc635dd9..8955b36f8ea0a 100644 --- a/lib/auth/join.go +++ b/lib/auth/join.go @@ -129,6 +129,10 @@ func (a *Server) RegisterUsingToken(ctx context.Context, req *types.RegisterUsin return nil, trace.Wrap(err) } joinAttributeSrc = claims + case types.JoinMethodKubernetes: + if err := a.checkKubernetesJoinRequest(ctx, req); err != nil { + return nil, trace.Wrap(err) + } case types.JoinMethodToken: // carry on to common token checking logic default: @@ -183,7 +187,8 @@ func (a *Server) generateCertsBot( renewable = true case types.JoinMethodIAM, types.JoinMethodGitHub, - types.JoinMethodCircleCI: + types.JoinMethodCircleCI, + types.JoinMethodKubernetes: shouldDeleteToken = false renewable = false default: diff --git a/lib/auth/join_kubernetes.go b/lib/auth/join_kubernetes.go new file mode 100644 index 0000000000000..0b5c8f6a97421 --- /dev/null +++ b/lib/auth/join_kubernetes.go @@ -0,0 +1,72 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package auth + +import ( + "context" + "fmt" + + "github.com/gravitational/trace" + "github.com/sirupsen/logrus" + v1 "k8s.io/api/authentication/v1" + + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/kubernetestoken" +) + +type kubernetesTokenValidator interface { + Validate(context.Context, string) (*v1.UserInfo, error) +} + +func (a *Server) checkKubernetesJoinRequest(ctx context.Context, req *types.RegisterUsingTokenRequest) error { + if req.IDToken == "" { + return trace.BadParameter("IDToken not provided for Kubernetes join request") + } + pt, err := a.GetToken(ctx, req.Token) + if err != nil { + return trace.Wrap(err) + } + + userInfo, err := a.kubernetesTokenValidator.Validate(ctx, req.IDToken) + if err != nil { + return trace.Wrap(err) + } + + log.WithFields(logrus.Fields{ + "userInfo": userInfo, + "token": pt.GetName(), + }).Info("Kubernetes workload trying to join cluster") + + return trace.Wrap(checkKubernetesAllowRules(pt, userInfo)) +} + +func checkKubernetesAllowRules(pt types.ProvisionToken, userInfo *v1.UserInfo) error { + token, ok := pt.(*types.ProvisionTokenV2) + if !ok { + return trace.BadParameter("kubernetes join method only supports ProvisionTokenV2, '%T' was provided", pt) + } + + // If a single rule passes, accept the token + for _, rule := range token.Spec.Kubernetes.Allow { + if fmt.Sprintf("%s:%s", kubernetestoken.ServiceAccountNamePrefix, rule.ServiceAccount) != userInfo.Username { + continue + } + return nil + } + + return trace.AccessDenied("kubernetes token user info did not match any allow rules") +} diff --git a/lib/auth/join_kubernetes_test.go b/lib/auth/join_kubernetes_test.go new file mode 100644 index 0000000000000..0d27aacb366fb --- /dev/null +++ b/lib/auth/join_kubernetes_test.go @@ -0,0 +1,153 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package auth + +import ( + "context" + "testing" + "time" + + "github.com/gravitational/trace" + "github.com/stretchr/testify/require" + v1 "k8s.io/api/authentication/v1" + + "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/lib/auth/testauthority" +) + +type mockKubernetesTokenValidator struct { + tokens map[string]v1.UserInfo +} + +func (m *mockKubernetesTokenValidator) Validate(_ context.Context, token string) (*v1.UserInfo, error) { + userInfo, ok := m.tokens[token] + if !ok { + return nil, errMockInvalidToken + } + + return &userInfo, nil +} + +func TestAuth_RegisterUsingToken_Kubernetes(t *testing.T) { + // Test setup + + // Creating an auth server with mock Kubernetes token validator + tokens := map[string]v1.UserInfo{ + "matching-first-rule-token1": {Username: "system:serviceaccount:namespace1:service-account1"}, + "matching-second-rule-token2": {Username: "system:serviceaccount:namespace2:service-account2"}, + "user-token": {Username: "namespace1:service-account1"}, + } + + var withTokenValidator ServerOption = func(server *Server) error { + server.kubernetesTokenValidator = &mockKubernetesTokenValidator{tokens: tokens} + return nil + } + + ctx := context.Background() + p, err := newTestPack(ctx, t.TempDir(), withTokenValidator) + require.NoError(t, err) + auth := p.a + + // Creating and loading our two Kubernetes Provision tokens + pt1, err := types.NewProvisionTokenFromSpec("my-token-1", time.Now().Add(10*time.Minute), types.ProvisionTokenSpecV2{ + JoinMethod: types.JoinMethodKubernetes, + Roles: []types.SystemRole{types.RoleNode}, + Kubernetes: &types.ProvisionTokenSpecV2Kubernetes{ + Allow: []*types.ProvisionTokenSpecV2Kubernetes_Rule{ + {ServiceAccount: "namespace1:service-account1"}, + {ServiceAccount: "namespace1:service-account2"}, + }, + }, + }) + require.NoError(t, err) + pt2, err := types.NewProvisionTokenFromSpec("my-token-2", time.Now().Add(10*time.Minute), types.ProvisionTokenSpecV2{ + JoinMethod: types.JoinMethodKubernetes, + Roles: []types.SystemRole{types.RoleNode}, + Kubernetes: &types.ProvisionTokenSpecV2Kubernetes{ + Allow: []*types.ProvisionTokenSpecV2Kubernetes_Rule{ + {ServiceAccount: "namespace2:service-account1"}, + {ServiceAccount: "namespace2:service-account2"}, + }, + }, + }) + require.NoError(t, err) + require.NoError(t, auth.CreateToken(ctx, pt1)) + require.NoError(t, auth.CreateToken(ctx, pt2)) + + // Building a joinRequest builder + sshPrivateKey, sshPublicKey, err := testauthority.New().GenerateKeyPair() + require.NoError(t, err) + tlsPublicKey, err := PrivateKeyToPublicKeyTLS(sshPrivateKey) + require.NoError(t, err) + + newRequest := func(token, idToken string) *types.RegisterUsingTokenRequest { + return &types.RegisterUsingTokenRequest{ + Token: token, + HostID: "host-id", + Role: types.RoleNode, + IDToken: idToken, + PublicTLSKey: tlsPublicKey, + PublicSSHKey: sshPublicKey, + } + } + + tests := []struct { + name string + kubeToken string + provisionToken types.ProvisionToken + expectedErr error + }{ + { + "successful token join (first rule)", + "matching-first-rule-token1", + pt1, + nil, + }, + { + "successful token join (second rule)", + "matching-second-rule-token2", + pt2, + nil, + }, + { + "failed token join (wrong provisionToken)", + "matching-second-rule-token2", + pt1, + trace.AccessDenied("kubernetes token user info did not match any allow rules"), + }, + { + "failed token join (unknown kubeToken)", + "unknown", + pt1, + errMockInvalidToken, + }, + { + "failed token join (user token)", + "user-token", + pt1, + trace.AccessDenied("kubernetes token user info did not match any allow rules"), + }, + } + + // Doing the real test + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + _, err := auth.RegisterUsingToken(ctx, newRequest(tt.provisionToken.GetName(), tt.kubeToken)) + require.ErrorIs(t, err, tt.expectedErr) + }) + } +} diff --git a/lib/auth/register.go b/lib/auth/register.go index 7435e2b6a319a..9ecb07077eeb6 100644 --- a/lib/auth/register.go +++ b/lib/auth/register.go @@ -39,6 +39,7 @@ import ( "github.com/gravitational/teleport/lib/circleci" "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/githubactions" + "github.com/gravitational/teleport/lib/kubernetestoken" "github.com/gravitational/teleport/lib/srv/alpnproxy/common" "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" @@ -208,6 +209,11 @@ func Register(params RegisterParams) (*proto.Certs, error) { if err != nil { return nil, trace.Wrap(err) } + } else if params.JoinMethod == types.JoinMethodKubernetes { + params.IDToken, err = kubernetestoken.GetIDToken(os.Getenv, os.ReadFile) + if err != nil { + return nil, trace.Wrap(err) + } } type registerMethod struct { diff --git a/lib/kubernetestoken/token_source.go b/lib/kubernetestoken/token_source.go new file mode 100644 index 0000000000000..321e07c8e4022 --- /dev/null +++ b/lib/kubernetestoken/token_source.go @@ -0,0 +1,45 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubernetestoken + +import ( + "strings" + + "github.com/gravitational/trace" +) + +const kubernetesDefaultTokenPath = "/var/run/secrets/kubernetes.io/serviceaccount/token" + +type getEnvFunc func(key string) string +type readFileFunc func(name string) ([]byte, error) + +func GetIDToken(getEnv getEnvFunc, readFile readFileFunc) (string, error) { + // We check if we should use a custom location instead of the default one. This env var is not standard. + // This is useful when the operator wants to use a custom projected token, or another service account. + path := kubernetesDefaultTokenPath + if customPath := getEnv("KUBERNETES_TOKEN_PATH"); customPath != "" { + path = customPath + } + + token, err := readFile(path) + if err != nil { + return "", trace.ConvertSystemError(err) + } + + // Usually kubernetes tokens don't start or end with newlines, but better safe than sorry + return strings.TrimSpace(string(token)), nil +} diff --git a/lib/kubernetestoken/token_source_test.go b/lib/kubernetestoken/token_source_test.go new file mode 100644 index 0000000000000..0d0a67a613776 --- /dev/null +++ b/lib/kubernetestoken/token_source_test.go @@ -0,0 +1,101 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubernetestoken + +import ( + "io/fs" + "syscall" + "testing" + + "github.com/stretchr/testify/require" +) + +func TestGetIDToken(t *testing.T) { + t.Parallel() + fakeGetEnv := func(env string) getEnvFunc { + return func(key string) string { + if key == "KUBERNETES_TOKEN_PATH" { + return env + } + return "" + } + } + + errNoFile := func(path string) error { + return &fs.PathError{ + Op: "open", + Path: path, + Err: syscall.ENOENT, + } + } + + fakeReadFile := func(content, contentPath string) readFileFunc { + return func(path string) ([]byte, error) { + if path == contentPath { + return []byte(content), nil + } + return []byte{}, errNoFile(path) + } + } + + tests := []struct { + name string + getEnv getEnvFunc + readFile readFileFunc + wantString string + assertError require.ErrorAssertionFunc + }{ + { + name: "default-token-no-var", + getEnv: fakeGetEnv(""), + readFile: fakeReadFile("foobarbizz", kubernetesDefaultTokenPath), + wantString: "foobarbizz", + assertError: require.NoError, + }, + { + name: "custom-token-with-var", + getEnv: fakeGetEnv("/custom"), + readFile: fakeReadFile("foobarbizz", "/custom"), + wantString: "foobarbizz", + assertError: require.NoError, + }, + { + name: "no-token-no-var", + getEnv: fakeGetEnv(""), + readFile: fakeReadFile("foobarbizz", "/custom"), + assertError: func(t require.TestingT, err error, i ...interface{}) { + require.ErrorContains(t, err, kubernetesDefaultTokenPath+": no such file") + }, + }, + { + name: "no-token-with-var", + getEnv: fakeGetEnv("/custom"), + readFile: fakeReadFile("foobarbizz", kubernetesDefaultTokenPath), + assertError: func(t require.TestingT, err error, i ...interface{}) { + require.ErrorContains(t, err, "/custom: no such file") + }, + }, + } + + for _, tt := range tests { + t.Run(t.Name(), func(t *testing.T) { + str, err := GetIDToken(tt.getEnv, tt.readFile) + require.Equal(t, tt.wantString, str) + tt.assertError(t, err) + }) + } +} diff --git a/lib/kubernetestoken/token_validator.go b/lib/kubernetestoken/token_validator.go new file mode 100644 index 0000000000000..51e5ffe1879ad --- /dev/null +++ b/lib/kubernetestoken/token_validator.go @@ -0,0 +1,143 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubernetestoken + +import ( + "context" + "strconv" + "strings" + "sync" + + "github.com/gravitational/trace" + v1 "k8s.io/api/authentication/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/version" + "k8s.io/client-go/kubernetes" + "k8s.io/client-go/rest" + "k8s.io/utils/strings/slices" +) + +const ( + serviceAccountGroup = "system:serviceaccounts" + ServiceAccountNamePrefix = "system:serviceaccount" + extraDataPodNameField = "authentication.kubernetes.io/pod-name" + // Kubernetes should support bound tokens on 1.20 and 1.21, + // but we can have an apiserver running 1.21 and kubelets running 1.19. + kubernetesBoundTokenSupportMinor = 22 +) + +type Validator struct { + mu sync.Mutex + // client is protected by mu and should only be accessed via the getClient + // method. + client kubernetes.Interface +} + +// getClient allows the lazy initialisation of the Kubernetes client +func (v *Validator) getClient() (kubernetes.Interface, error) { + v.mu.Lock() + defer v.mu.Unlock() + if v.client != nil { + return v.client, nil + } + + config, err := rest.InClusterConfig() + if err != nil { + return nil, trace.WrapWithMessage(err, "failed to initialize in-cluster Kubernetes config") + } + client, err := kubernetes.NewForConfig(config) + if err != nil { + return nil, trace.WrapWithMessage(err, "failed to initialize in-cluster Kubernetes client") + } + + v.client = client + return client, nil +} + +// Validate uses the Kubernetes TokenReview API to validate a token and return its UserInfo +func (v *Validator) Validate(ctx context.Context, token string) (*v1.UserInfo, error) { + client, err := v.getClient() + if err != nil { + return nil, trace.Wrap(err) + } + + review := &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: token, + }, + } + options := metav1.CreateOptions{} + + reviewResult, err := client.AuthenticationV1().TokenReviews().Create(ctx, review, options) + if err != nil { + return nil, trace.WrapWithMessage(err, "error during the Kubernetes TokenReview") + } + + if !reviewResult.Status.Authenticated { + return nil, trace.AccessDenied("kubernetes failed to validate token: %s", reviewResult.Status.Error) + } + + // Check the Username is a service account. + // A user token would not match rules anyway, but we can produce a more relevant error message here. + if !strings.HasPrefix(reviewResult.Status.User.Username, ServiceAccountNamePrefix) { + return nil, trace.BadParameter("token user is not a service account: %s", reviewResult.Status.User.Username) + } + + if !slices.Contains(reviewResult.Status.User.Groups, serviceAccountGroup) { + return nil, trace.BadParameter("token user '%s' does not belong to the '%s' group", reviewResult.Status.User.Username, serviceAccountGroup) + } + + // Legacy tokens are long-lived and not bound to pods. We should not accept them if the cluster supports + // bound tokens. Bound token support is GA since 1.20 and volume projection is beta since 1.21. + // We can expect any 1.21+ cluster to use bound tokens. + kubeVersion, err := client.Discovery().ServerVersion() + if err != nil { + return nil, trace.WrapWithMessage(err, "error during the kubernetes version check") + } + + boundTokenSupport, err := kubernetesSupportsBoundTokens(kubeVersion) + if err != nil { + return nil, trace.Wrap(err) + } + + // We know if the token is bound to a pod if its name is in the Extra userInfo. + // If the token is not bound while Kubernetes supports bound tokens we abort. + if _, ok := reviewResult.Status.User.Extra[extraDataPodNameField]; !ok && boundTokenSupport { + return nil, trace.BadParameter( + "legacy SA tokens are not accepted as kubernetes version %s supports bound tokens", + kubeVersion.String(), + ) + } + + return &reviewResult.Status.User, nil +} + +func kubernetesSupportsBoundTokens(info *version.Info) (bool, error) { + major, err := strconv.Atoi(info.Major) + if err != nil { + return false, err + } + minor, err := strconv.Atoi(info.Minor) + if err != nil { + return false, err + } + + if major > 1 { + return true, nil + } + return minor >= kubernetesBoundTokenSupportMinor, nil +} diff --git a/lib/kubernetestoken/token_validator_test.go b/lib/kubernetestoken/token_validator_test.go new file mode 100644 index 0000000000000..f2906cc378d5b --- /dev/null +++ b/lib/kubernetestoken/token_validator_test.go @@ -0,0 +1,221 @@ +/* +Copyright 2022 Gravitational, Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package kubernetestoken + +import ( + "context" + "testing" + + "github.com/gravitational/trace" + "github.com/stretchr/testify/require" + v1 "k8s.io/api/authentication/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/version" + "k8s.io/client-go/discovery" + fakediscovery "k8s.io/client-go/discovery/fake" + "k8s.io/client-go/kubernetes/fake" + ctest "k8s.io/client-go/testing" +) + +var userGroups = []string{"system:serviceaccounts", "system:serviceaccounts:namespace", "system:authenticated"} + +var boundTokenKubernetesVersion = version.Info{ + Major: "1", + Minor: "22", + GitVersion: "1.22", +} + +var legacyTokenKubernetesVersion = version.Info{ + Major: "1", + Minor: "19", + GitVersion: "1.19", +} + +// tokenReviewMock creates a testing.ReactionFunc validating the tokenReview request and answering it +func tokenReviewMock(t *testing.T, reviewResult *v1.TokenReview) func(ctest.Action) (bool, runtime.Object, error) { + return func(action ctest.Action) (bool, runtime.Object, error) { + createAction, ok := action.(ctest.CreateAction) + require.True(t, ok) + obj := createAction.GetObject() + reviewRequest, ok := obj.(*v1.TokenReview) + require.True(t, ok) + + require.Equal(t, reviewResult.Spec.Token, reviewRequest.Spec.Token) + return true, reviewResult, nil + } +} + +// newFakeClientset builds a fake clientSet reporting a specific Kubernetes version +// This is used to test version-specific behaviors. +func newFakeClientset(version *version.Info) *fakeClientSet { + cs := fakeClientSet{} + cs.discovery = fakediscovery.FakeDiscovery{ + Fake: &cs.Fake, + FakedServerVersion: version, + } + return &cs +} + +type fakeClientSet struct { + fake.Clientset + discovery fakediscovery.FakeDiscovery +} + +// Discovery overrides the default fake.Clientset Discovery method and returns our custom discovery mock instead +func (c *fakeClientSet) Discovery() discovery.DiscoveryInterface { + return &c.discovery +} + +func TestIDTokenValidator_Validate(t *testing.T) { + tests := []struct { + token string + review *v1.TokenReview + kubeVersion *version.Info + expectedError error + }{ + { + token: "valid", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "valid", + }, + Status: v1.TokenReviewStatus{ + Authenticated: true, + User: v1.UserInfo{ + Username: "system:serviceaccount:namespace:my-service-account", + UID: "sa-uuid", + Groups: userGroups, + Extra: map[string]v1.ExtraValue{ + "authentication.kubernetes.io/pod-name": {"podA"}, + "authentication.kubernetes.io/pod-uid": {"podA-uuid"}, + }, + }, + }, + }, + kubeVersion: &boundTokenKubernetesVersion, + expectedError: nil, + }, + { + token: "valid-not-bound", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "valid-not-bound", + }, + Status: v1.TokenReviewStatus{ + Authenticated: true, + User: v1.UserInfo{ + Username: "system:serviceaccount:namespace:my-service-account", + UID: "sa-uuid", + Groups: userGroups, + Extra: nil, + }, + }, + }, + kubeVersion: &legacyTokenKubernetesVersion, + expectedError: nil, + }, + { + token: "valid-not-bound-on-modern-version", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "valid-not-bound-on-modern-version", + }, + Status: v1.TokenReviewStatus{ + Authenticated: true, + User: v1.UserInfo{ + Username: "system:serviceaccount:namespace:my-service-account", + UID: "sa-uuid", + Groups: userGroups, + Extra: nil, + }, + }, + }, + kubeVersion: &boundTokenKubernetesVersion, + expectedError: trace.BadParameter("legacy SA tokens are not accepted as kubernetes version 1.22 supports bound tokens"), + }, + { + token: "valid-but-not-serviceaccount", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "valid-but-not-serviceaccount", + }, + Status: v1.TokenReviewStatus{ + Authenticated: true, + User: v1.UserInfo{ + Username: "eve@example.com", + UID: "user-uuid", + Groups: []string{"system:authenticated", "some-other-group"}, + Extra: nil, + }, + }, + }, + kubeVersion: &boundTokenKubernetesVersion, + expectedError: trace.BadParameter("token user is not a service account: eve@example.com"), + }, + { + token: "valid-but-not-serviceaccount-group", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "valid-but-not-serviceaccount-group", + }, + Status: v1.TokenReviewStatus{ + Authenticated: true, + User: v1.UserInfo{ + Username: "system:serviceaccount:namespace:my-service-account", + UID: "user-uuid", + Groups: []string{"system:authenticated", "some-other-group"}, + Extra: nil, + }, + }, + }, + kubeVersion: &boundTokenKubernetesVersion, + expectedError: trace.BadParameter("token user 'system:serviceaccount:namespace:my-service-account' does not belong to the 'system:serviceaccounts' group"), + }, + { + token: "invalid-expired", + review: &v1.TokenReview{ + Spec: v1.TokenReviewSpec{ + Token: "invalid-expired", + }, + Status: v1.TokenReviewStatus{ + Authenticated: false, + Error: "[invalid bearer token, Token has been invalidated, unknown]", + }, + }, + kubeVersion: &boundTokenKubernetesVersion, + expectedError: trace.AccessDenied("kubernetes failed to validate token: [invalid bearer token, Token has been invalidated, unknown]"), + }, + } + + for _, tt := range tests { + tt := tt + t.Run(tt.token, func(t *testing.T) { + client := newFakeClientset(tt.kubeVersion) + client.AddReactor("create", "tokenreviews", tokenReviewMock(t, tt.review)) + v := Validator{ + client: client, + } + userInfo, err := v.Validate(context.Background(), tt.token) + if tt.expectedError == nil { + require.NoError(t, err) + require.Equal(t, tt.review.Status.User, *userInfo) + } else { + require.ErrorIs(t, err, tt.expectedError) + } + }) + } +} diff --git a/lib/service/service.go b/lib/service/service.go index 2924d403dd00e..82a6741c23327 100644 --- a/lib/service/service.go +++ b/lib/service/service.go @@ -4944,6 +4944,7 @@ func readOrGenerateHostID(ctx context.Context, cfg *Config, kubeBackend kubernet types.JoinMethodUnspecified, types.JoinMethodIAM, types.JoinMethodCircleCI, + types.JoinMethodKubernetes, types.JoinMethodGitHub: // Checking error instead of the usual uuid.New() in case uuid generation // fails due to not enough randomness. It's been known to happen happen when diff --git a/tool/teleport/common/teleport.go b/tool/teleport/common/teleport.go index ed9a2bf38d927..030b2aee4dc40 100644 --- a/tool/teleport/common/teleport.go +++ b/tool/teleport/common/teleport.go @@ -363,7 +363,7 @@ func Run(options Options) (app *kingpin.Application, executedCommand string, con dumpNodeConfigure.Flag("proxy", "Address of the proxy server.").StringVar(&dumpFlags.ProxyAddress) dumpNodeConfigure.Flag("labels", "Comma-separated list of labels to add to newly created nodes ex) env=staging,cloud=aws.").StringVar(&dumpFlags.NodeLabels) dumpNodeConfigure.Flag("ca-pin", "Comma-separated list of SKPI hashes for the CA used to verify the auth server.").StringVar(&dumpFlags.CAPin) - dumpNodeConfigure.Flag("join-method", "Method to use to join the cluster (token, iam, ec2)").Default("token").EnumVar(&dumpFlags.JoinMethod, "token", "iam", "ec2") + dumpNodeConfigure.Flag("join-method", "Method to use to join the cluster (token, iam, ec2, kubernetes)").Default("token").EnumVar(&dumpFlags.JoinMethod, "token", "iam", "ec2", "kubernetes") dumpNodeConfigure.Flag("node-name", "Name for the teleport node.").StringVar(&dumpFlags.NodeName) kubeState := app.Command("kube-state", "Used internally by Teleport to operate Kubernetes Secrets where Teleport stores its state.").Hidden()