diff --git a/api/proto/teleport/legacy/types/events/events.proto b/api/proto/teleport/legacy/types/events/events.proto index 830e6a8cbf1f8..88056de6e7d16 100644 --- a/api/proto/teleport/legacy/types/events/events.proto +++ b/api/proto/teleport/legacy/types/events/events.proto @@ -1280,6 +1280,13 @@ message UserCreate { // Connector is the connector used to create the user. string Connector = 5 [(gogoproto.jsontag) = "connector"]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 6 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // UserUpdate is emitted when the user is updated. @@ -1310,6 +1317,13 @@ message UserUpdate { // Connector is the connector used to create the user. string Connector = 5 [(gogoproto.jsontag) = "connector"]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 6 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // UserDelete is emitted when a user gets deleted @@ -1334,6 +1348,13 @@ message UserDelete { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // UserPasswordChange is emitted when the user changes their own password. @@ -1351,6 +1372,13 @@ message UserPasswordChange { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 3 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // AccessRequestCreate is emitted when access request has been created or updated @@ -1930,6 +1958,13 @@ message RoleCreate { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // RoleUpdate is emitted when a role is updated. @@ -1954,6 +1989,13 @@ message RoleUpdate { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // RoleDelete is emitted when a role is deleted @@ -1978,6 +2020,13 @@ message RoleDelete { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // BotCreate is emitted when a bot is created/upserted. @@ -2074,6 +2123,13 @@ message TrustedClusterCreate { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // TrustedClusterDelete is the event for removing a trusted cluster. @@ -2098,6 +2154,13 @@ message TrustedClusterDelete { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // ProvisionTokenCreate event is emitted when a provisioning token (a.k.a. join @@ -2181,6 +2244,13 @@ message GithubConnectorCreate { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // GithubConnectorUpdate fires when a Github connector is updated. @@ -2205,6 +2275,13 @@ message GithubConnectorUpdate { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // GithubConnectorDelete fires when a Github connector is deleted. @@ -2229,6 +2306,13 @@ message GithubConnectorDelete { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // OIDCConnectorCreate fires when OIDC connector is created. @@ -3186,6 +3270,12 @@ message MFADeviceAdd { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // MFADeviceDelete is emitted when a user deletes an MFA device. @@ -3208,6 +3298,12 @@ message MFADeviceDelete { (gogoproto.embed) = true, (gogoproto.jsontag) = "" ]; + // ConnectionMetadata holds information about the connection + ConnectionMetadata Connection = 4 [ + (gogoproto.nullable) = false, + (gogoproto.embed) = true, + (gogoproto.jsontag) = "" + ]; } // BillingInformationUpdate is emitted when a user updates the billing information. diff --git a/api/types/events/events.pb.go b/api/types/events/events.pb.go index 69194ecb7134d..b5d707e85e3ee 100644 --- a/api/types/events/events.pb.go +++ b/api/types/events/events.pb.go @@ -2417,7 +2417,9 @@ type UserCreate struct { // Roles is a list of roles for the user. Roles []string `protobuf:"bytes,4,rep,name=Roles,proto3" json:"roles"` // Connector is the connector used to create the user. - Connector string `protobuf:"bytes,5,opt,name=Connector,proto3" json:"connector"` + Connector string `protobuf:"bytes,5,opt,name=Connector,proto3" json:"connector"` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,6,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2467,7 +2469,9 @@ type UserUpdate struct { // Roles is a list of roles for the user. Roles []string `protobuf:"bytes,4,rep,name=Roles,proto3" json:"roles"` // Connector is the connector used to create the user. - Connector string `protobuf:"bytes,5,opt,name=Connector,proto3" json:"connector"` + Connector string `protobuf:"bytes,5,opt,name=Connector,proto3" json:"connector"` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,6,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2513,7 +2517,9 @@ type UserDelete struct { // User is a common user event metadata UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` // ResourceMetadata is a common resource event metadata - ResourceMetadata `protobuf:"bytes,3,opt,name=Resource,proto3,embedded=Resource" json:""` + ResourceMetadata `protobuf:"bytes,3,opt,name=Resource,proto3,embedded=Resource" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2557,7 +2563,9 @@ type UserPasswordChange struct { // Metadata is a common event metadata Metadata `protobuf:"bytes,1,opt,name=Metadata,proto3,embedded=Metadata" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,3,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3352,7 +3360,9 @@ type RoleCreate struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3398,7 +3408,9 @@ type RoleUpdate struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3444,7 +3456,9 @@ type RoleDelete struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3628,7 +3642,9 @@ type TrustedClusterCreate struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3674,7 +3690,9 @@ type TrustedClusterDelete struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3815,7 +3833,9 @@ type GithubConnectorCreate struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3861,7 +3881,9 @@ type GithubConnectorUpdate struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -3907,7 +3929,9 @@ type GithubConnectorDelete struct { // ResourceMetadata is a common resource event metadata ResourceMetadata `protobuf:"bytes,2,opt,name=Resource,proto3,embedded=Resource" json:""` // User is a common user event metadata - UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + UserMetadata `protobuf:"bytes,3,opt,name=User,proto3,embedded=User" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -5491,7 +5515,9 @@ type MFADeviceAdd struct { // User is a common user event metadata. UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` // Device is the new MFA device added by the user. - MFADeviceMetadata `protobuf:"bytes,3,opt,name=Device,proto3,embedded=Device" json:""` + MFADeviceMetadata `protobuf:"bytes,3,opt,name=Device,proto3,embedded=Device" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -5537,7 +5563,9 @@ type MFADeviceDelete struct { // User is a common user event metadata. UserMetadata `protobuf:"bytes,2,opt,name=User,proto3,embedded=User" json:""` // Device is the MFA device deleted by the user. - MFADeviceMetadata `protobuf:"bytes,3,opt,name=Device,proto3,embedded=Device" json:""` + MFADeviceMetadata `protobuf:"bytes,3,opt,name=Device,proto3,embedded=Device" json:""` + // ConnectionMetadata holds information about the connection + ConnectionMetadata `protobuf:"bytes,4,opt,name=Connection,proto3,embedded=Connection" json:""` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -11790,839 +11818,841 @@ func init() { } var fileDescriptor_007ba1c3d6266d56 = []byte{ - // 13298 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x70, 0x24, 0x47, - 0x72, 0x18, 0x8c, 0x79, 0x60, 0x30, 0x28, 0xbc, 0x06, 0xb5, 0xaf, 0x26, 0xb8, 0xbb, 0xb3, 0x6c, - 0xde, 0x2d, 0x77, 0x79, 0x4b, 0xec, 0x71, 0x77, 0x49, 0x1e, 0x79, 0xe4, 0x91, 0x03, 0xcc, 0x60, - 0x31, 0x5c, 0x3c, 0x86, 0x3d, 0x58, 0xee, 0xf1, 0x4e, 0xc7, 0x51, 0x63, 0xba, 0x16, 0x68, 0x62, - 0xa6, 0x7b, 0xae, 0xbb, 0x67, 0xb1, 0xe0, 0xf7, 0xb0, 0x4e, 0xd6, 0xe3, 0x4e, 0x3e, 0xc9, 0x67, - 0x39, 0x1c, 0x72, 0x84, 0x1d, 0x61, 0xc9, 0x0e, 0x47, 0xc8, 0x0a, 0x59, 0xb2, 0x6c, 0x87, 0x1e, - 0x96, 0x15, 0xb6, 0xcc, 0xb3, 0x4d, 0xf9, 0x24, 0x59, 0xb2, 0x1d, 0xfa, 0xe1, 0x07, 0x4e, 0x96, - 0x43, 0xfe, 0x81, 0xb0, 0x23, 0x14, 0x61, 0x85, 0x2d, 0xcb, 0xcf, 0xa8, 0xac, 0xea, 0xee, 0xaa, - 0xee, 0x9e, 0xc1, 0x6b, 0x4f, 0x20, 0xb8, 0xf8, 0xb3, 0x8b, 0xc9, 0xcc, 0xca, 0xaa, 0xce, 0xca, - 0xaa, 0xca, 0xaa, 0xca, 0xca, 0x44, 0x57, 0x3d, 0xd2, 0x22, 0x1d, 0xdb, 0xf1, 0xae, 0xb7, 0xc8, - 0x9a, 0xde, 0xdc, 0xba, 0xee, 0x6d, 0x75, 0x88, 0x7b, 0x9d, 0x3c, 0x20, 0x96, 0xe7, 0xff, 0x37, - 0xdd, 0x71, 0x6c, 0xcf, 0xc6, 0x39, 0xf6, 0x6b, 0xea, 0xf4, 0x9a, 0xbd, 0x66, 0x03, 0xe8, 0x3a, - 0xfd, 0x8b, 0x61, 0xa7, 0xce, 0xaf, 0xd9, 0xf6, 0x5a, 0x8b, 0x5c, 0x87, 0x5f, 0xab, 0xdd, 0xfb, - 0xd7, 0x5d, 0xcf, 0xe9, 0x36, 0x3d, 0x8e, 0x2d, 0x46, 0xb1, 0x9e, 0xd9, 0x26, 0xae, 0xa7, 0xb7, - 0x3b, 0x9c, 0xe0, 0x62, 0x94, 0x60, 0xd3, 0xd1, 0x3b, 0x1d, 0xe2, 0xf0, 0xca, 0xa7, 0x9e, 0x4a, - 0x6e, 0x27, 0xfc, 0xcb, 0x49, 0x9e, 0x4b, 0x26, 0xf1, 0x19, 0x45, 0x38, 0xaa, 0x3f, 0x9a, 0x46, - 0xf9, 0x45, 0xe2, 0xe9, 0x86, 0xee, 0xe9, 0xf8, 0x3c, 0x1a, 0xac, 0x5a, 0x06, 0x79, 0xa8, 0xa4, - 0x2e, 0xa5, 0xae, 0x64, 0x66, 0x72, 0x3b, 0xdb, 0xc5, 0x34, 0x31, 0x35, 0x06, 0xc4, 0x17, 0x50, - 0x76, 0x65, 0xab, 0x43, 0x94, 0xf4, 0xa5, 0xd4, 0x95, 0xe1, 0x99, 0xe1, 0x9d, 0xed, 0xe2, 0x20, - 0xc8, 0x42, 0x03, 0x30, 0x7e, 0x0a, 0xa5, 0xab, 0x65, 0x25, 0x03, 0xc8, 0xc9, 0x9d, 0xed, 0xe2, - 0x58, 0xd7, 0x34, 0xae, 0xd9, 0x6d, 0xd3, 0x23, 0xed, 0x8e, 0xb7, 0xa5, 0xa5, 0xab, 0x65, 0x7c, - 0x19, 0x65, 0x67, 0x6d, 0x83, 0x28, 0x59, 0x20, 0xc2, 0x3b, 0xdb, 0xc5, 0xf1, 0xa6, 0x6d, 0x10, - 0x81, 0x0a, 0xf0, 0xf8, 0x0d, 0x94, 0x5d, 0x31, 0xdb, 0x44, 0x19, 0xbc, 0x94, 0xba, 0x32, 0x72, - 0x63, 0x6a, 0x9a, 0x49, 0x65, 0xda, 0x97, 0xca, 0xf4, 0x8a, 0x2f, 0xb6, 0x99, 0xc2, 0x87, 0xdb, - 0xc5, 0x81, 0x9d, 0xed, 0x62, 0x96, 0x4a, 0xf2, 0x1b, 0xdf, 0x2e, 0xa6, 0x34, 0x28, 0x89, 0x5f, - 0x45, 0x23, 0xb3, 0xad, 0xae, 0xeb, 0x11, 0x67, 0x49, 0x6f, 0x13, 0x25, 0x07, 0x15, 0x4e, 0xed, - 0x6c, 0x17, 0xcf, 0x36, 0x19, 0xb8, 0x61, 0xe9, 0x6d, 0xb1, 0x62, 0x91, 0x5c, 0xfd, 0xc5, 0x14, - 0x9a, 0xa8, 0x13, 0xd7, 0x35, 0x6d, 0x2b, 0x90, 0xcd, 0x27, 0xd1, 0x30, 0x07, 0x55, 0xcb, 0x20, - 0x9f, 0xe1, 0x99, 0xa1, 0x9d, 0xed, 0x62, 0xc6, 0x35, 0x0d, 0x2d, 0xc4, 0xe0, 0x4f, 0xa3, 0xa1, - 0x7b, 0xa6, 0xb7, 0xbe, 0x38, 0x57, 0xe2, 0x72, 0x3a, 0xbb, 0xb3, 0x5d, 0xc4, 0x9b, 0xa6, 0xb7, - 0xde, 0x68, 0xdf, 0xd7, 0x85, 0x0a, 0x7d, 0x32, 0xbc, 0x80, 0x0a, 0x35, 0xc7, 0x7c, 0xa0, 0x7b, - 0xe4, 0x0e, 0xd9, 0xaa, 0xd9, 0x2d, 0xb3, 0xb9, 0xc5, 0xa5, 0x78, 0x69, 0x67, 0xbb, 0x78, 0xbe, - 0xc3, 0x70, 0x8d, 0x0d, 0xb2, 0xd5, 0xe8, 0x00, 0x56, 0x60, 0x12, 0x2b, 0xa9, 0x7e, 0x30, 0x88, - 0x46, 0xef, 0xba, 0xc4, 0x09, 0xda, 0x7d, 0x19, 0x65, 0xe9, 0x6f, 0xde, 0x64, 0x90, 0x79, 0xd7, - 0x25, 0x8e, 0x28, 0x73, 0x8a, 0xc7, 0x57, 0xd1, 0xe0, 0x82, 0xbd, 0x66, 0x5a, 0xbc, 0xd9, 0xa7, - 0x76, 0xb6, 0x8b, 0x13, 0x2d, 0x0a, 0x10, 0x28, 0x19, 0x05, 0xfe, 0x1c, 0x1a, 0xad, 0xb6, 0xa9, - 0x0e, 0xd9, 0x96, 0xee, 0xd9, 0x0e, 0x6f, 0x2d, 0x48, 0xd7, 0x14, 0xe0, 0x42, 0x41, 0x89, 0x1e, - 0xbf, 0x82, 0x50, 0xe9, 0x5e, 0x5d, 0xb3, 0x5b, 0xa4, 0xa4, 0x2d, 0x71, 0x65, 0x80, 0xd2, 0xfa, - 0xa6, 0xdb, 0x70, 0xec, 0x16, 0x69, 0xe8, 0x8e, 0x58, 0xad, 0x40, 0x8d, 0x2b, 0x68, 0xbc, 0xd4, - 0x6c, 0x12, 0xd7, 0xd5, 0xc8, 0x97, 0xbb, 0xc4, 0xf5, 0x5c, 0x65, 0xf0, 0x52, 0xe6, 0xca, 0xf0, - 0xcc, 0x85, 0x9d, 0xed, 0xe2, 0x13, 0x3a, 0x60, 0x1a, 0x0e, 0x47, 0x09, 0x2c, 0x22, 0x85, 0xf0, - 0x0c, 0x1a, 0x2b, 0xbd, 0xdf, 0x75, 0x48, 0xd5, 0x20, 0x96, 0x67, 0x7a, 0x5b, 0x5c, 0x43, 0xce, - 0xef, 0x6c, 0x17, 0x15, 0x9d, 0x22, 0x1a, 0x26, 0xc7, 0x08, 0x4c, 0xe4, 0x22, 0x78, 0x19, 0x4d, - 0xde, 0x9e, 0xad, 0xd5, 0x89, 0xf3, 0xc0, 0x6c, 0x92, 0x52, 0xb3, 0x69, 0x77, 0x2d, 0x4f, 0x19, - 0x02, 0x3e, 0x4f, 0xed, 0x6c, 0x17, 0x2f, 0xac, 0x35, 0x3b, 0x0d, 0x97, 0x61, 0x1b, 0x3a, 0x43, - 0x0b, 0xcc, 0xe2, 0x65, 0xf1, 0x17, 0xd0, 0xd8, 0x8a, 0x43, 0xb5, 0xd0, 0x28, 0x13, 0x0a, 0x57, - 0xf2, 0xa0, 0xff, 0x67, 0xa7, 0xf9, 0x04, 0xc4, 0xa0, 0x7e, 0xcf, 0xb2, 0xc6, 0x7a, 0xac, 0x40, - 0xc3, 0x00, 0x9c, 0xd8, 0x58, 0x89, 0x15, 0x26, 0x48, 0xa1, 0x1f, 0x6f, 0x3a, 0xc4, 0x88, 0x69, - 0xdb, 0x30, 0xb4, 0xf9, 0xea, 0xce, 0x76, 0xf1, 0x93, 0x0e, 0xa7, 0x69, 0xf4, 0x55, 0xbb, 0x9e, - 0xac, 0x70, 0x05, 0xe5, 0xa9, 0x36, 0xdd, 0x31, 0x2d, 0x43, 0x41, 0x97, 0x52, 0x57, 0xc6, 0x6f, - 0x14, 0xfc, 0xd6, 0xfb, 0xf0, 0x99, 0x73, 0x3b, 0xdb, 0xc5, 0x53, 0x54, 0x07, 0x1b, 0x1b, 0xa6, - 0x25, 0x4e, 0x11, 0x41, 0x51, 0xf5, 0xef, 0x64, 0xd1, 0x38, 0x15, 0x8e, 0xa0, 0xc7, 0x25, 0x3a, - 0x24, 0x29, 0x84, 0x8e, 0x50, 0xb7, 0xa3, 0x37, 0x09, 0x57, 0x69, 0x60, 0x67, 0xf9, 0x40, 0x81, - 0x5d, 0x94, 0x1e, 0x5f, 0x45, 0x79, 0x06, 0xaa, 0x96, 0xb9, 0x96, 0x8f, 0xed, 0x6c, 0x17, 0x87, - 0x5d, 0x80, 0x35, 0x4c, 0x43, 0x0b, 0xd0, 0x54, 0xcd, 0xd8, 0xdf, 0xf3, 0xb6, 0xeb, 0x51, 0xe6, - 0x5c, 0xc9, 0x41, 0xcd, 0x78, 0x81, 0x75, 0x8e, 0x12, 0xd5, 0x4c, 0x2e, 0x84, 0x5f, 0x46, 0x88, - 0x41, 0x4a, 0x86, 0xe1, 0x70, 0x4d, 0x7f, 0x62, 0x67, 0xbb, 0x78, 0x86, 0xb3, 0xd0, 0x0d, 0x43, - 0x1c, 0x26, 0x02, 0x31, 0x6e, 0xa3, 0x51, 0xf6, 0x6b, 0x41, 0x5f, 0x25, 0x2d, 0xa6, 0xe6, 0x23, - 0x37, 0xae, 0xf8, 0xd2, 0x94, 0xa5, 0x33, 0x2d, 0x92, 0x56, 0x2c, 0xcf, 0xd9, 0x9a, 0x29, 0xf2, - 0x99, 0xf1, 0x1c, 0xaf, 0xaa, 0x05, 0x38, 0x71, 0x4c, 0x8a, 0x65, 0xe8, 0x84, 0x39, 0x67, 0x3b, - 0x9b, 0xba, 0x63, 0x10, 0x63, 0x66, 0x4b, 0x9c, 0x30, 0xef, 0xfb, 0xe0, 0xc6, 0xaa, 0xa8, 0x03, - 0x22, 0x39, 0x9e, 0x45, 0x63, 0x8c, 0x5b, 0xbd, 0xbb, 0x0a, 0x7d, 0x3f, 0x14, 0x93, 0x96, 0xdb, - 0x5d, 0x8d, 0xf6, 0xb7, 0x5c, 0x66, 0xea, 0x75, 0x34, 0x19, 0xfb, 0x0c, 0x5c, 0x40, 0x99, 0x0d, - 0xb2, 0xc5, 0xba, 0x5a, 0xa3, 0x7f, 0xe2, 0xd3, 0x68, 0xf0, 0x81, 0xde, 0xea, 0xf2, 0x75, 0x48, - 0x63, 0x3f, 0x5e, 0x49, 0x7f, 0x26, 0x45, 0xa7, 0x6d, 0x3c, 0x6b, 0x5b, 0x16, 0x69, 0x7a, 0xe2, - 0xcc, 0xfd, 0x22, 0x1a, 0x5e, 0xb0, 0x9b, 0x7a, 0x0b, 0xfa, 0x80, 0xe9, 0x8c, 0xb2, 0xb3, 0x5d, - 0x3c, 0x4d, 0x85, 0x3f, 0xdd, 0xa2, 0x18, 0xa1, 0x4d, 0x21, 0x29, 0xed, 0x3c, 0x8d, 0xb4, 0x6d, - 0x8f, 0x40, 0xc1, 0x74, 0xd8, 0x79, 0x50, 0xd0, 0x01, 0x94, 0xd8, 0x79, 0x21, 0x31, 0xbe, 0x8e, - 0xf2, 0x35, 0xba, 0x58, 0x35, 0xed, 0x16, 0x57, 0x1c, 0x98, 0x4f, 0x61, 0x01, 0x13, 0x15, 0xde, - 0x27, 0x52, 0xe7, 0xd1, 0xf8, 0x6c, 0xcb, 0x24, 0x96, 0x27, 0xb6, 0x9a, 0x0e, 0x87, 0xd2, 0x1a, - 0xb1, 0x3c, 0xb1, 0xd5, 0x30, 0x70, 0x74, 0x0a, 0x15, 0x5b, 0x1d, 0x90, 0xaa, 0xbf, 0x99, 0x41, - 0x4f, 0xdc, 0xe9, 0xae, 0x12, 0xc7, 0x22, 0x1e, 0x71, 0xf9, 0xaa, 0x16, 0x70, 0x5d, 0x42, 0x93, - 0x31, 0x24, 0xe7, 0x0e, 0xab, 0xcd, 0x46, 0x80, 0x6c, 0xf0, 0x85, 0x52, 0x9c, 0xb2, 0x62, 0x45, - 0xf1, 0x3c, 0x9a, 0x08, 0x81, 0xb4, 0x11, 0xae, 0x92, 0x86, 0xf9, 0xf8, 0xe2, 0xce, 0x76, 0x71, - 0x4a, 0xe0, 0x46, 0x9b, 0x2d, 0x6a, 0x5f, 0xb4, 0x18, 0xbe, 0x83, 0x0a, 0x21, 0xe8, 0xb6, 0x63, - 0x77, 0x3b, 0xae, 0x92, 0x01, 0x56, 0xc5, 0x9d, 0xed, 0xe2, 0x93, 0x02, 0xab, 0x35, 0x40, 0x8a, - 0xab, 0x60, 0xb4, 0x20, 0xfe, 0xbe, 0x94, 0xc8, 0x8d, 0x8f, 0xa0, 0x2c, 0x8c, 0xa0, 0x97, 0xfc, - 0x11, 0xd4, 0x53, 0x48, 0xd3, 0xd1, 0x92, 0x7c, 0x40, 0x45, 0x9a, 0x11, 0x1b, 0x50, 0xb1, 0x1a, - 0xa7, 0x66, 0xd1, 0x99, 0x44, 0x5e, 0xfb, 0xd2, 0xea, 0xdf, 0xcf, 0x88, 0x5c, 0x6a, 0xb6, 0x11, - 0x74, 0xe6, 0xb2, 0xd8, 0x99, 0x35, 0xdb, 0x00, 0x53, 0x27, 0x15, 0x2e, 0x40, 0x42, 0x63, 0x3b, - 0xb6, 0x11, 0xb5, 0x78, 0xe2, 0x65, 0xf1, 0xbb, 0xe8, 0x6c, 0x0c, 0xc8, 0xa6, 0x5a, 0xa6, 0xfd, - 0x97, 0x77, 0xb6, 0x8b, 0x6a, 0x02, 0xd7, 0xe8, 0xcc, 0xdb, 0x83, 0x0b, 0xd6, 0xd1, 0x39, 0x41, - 0xea, 0xb6, 0xe5, 0xe9, 0xa6, 0xc5, 0x2d, 0x34, 0x36, 0x4a, 0x9e, 0xd9, 0xd9, 0x2e, 0x3e, 0x2d, - 0xea, 0xa0, 0x4f, 0x13, 0x6d, 0x7c, 0x2f, 0x3e, 0xd8, 0x40, 0x4a, 0x02, 0xaa, 0xda, 0xd6, 0xd7, - 0x7c, 0xb3, 0xf3, 0xca, 0xce, 0x76, 0xf1, 0x13, 0x89, 0x75, 0x98, 0x94, 0x4a, 0x5c, 0xe6, 0x7a, - 0x71, 0xc2, 0x1a, 0xc2, 0x21, 0x6e, 0xc9, 0x36, 0x08, 0x7c, 0xc3, 0x20, 0xf0, 0x57, 0x77, 0xb6, - 0x8b, 0x17, 0x05, 0xfe, 0x96, 0x6d, 0x90, 0x68, 0xf3, 0x13, 0x4a, 0xab, 0xbf, 0x98, 0x41, 0x17, - 0xeb, 0xa5, 0xc5, 0x85, 0xaa, 0xe1, 0xdb, 0x05, 0x35, 0xc7, 0x7e, 0x60, 0x1a, 0xc2, 0xe8, 0x5d, - 0x45, 0xe7, 0x22, 0xa8, 0x0a, 0x98, 0x22, 0x81, 0x45, 0x0a, 0xdf, 0xe6, 0xdb, 0x1c, 0x1d, 0x4e, - 0xd3, 0x60, 0xf6, 0x4a, 0x43, 0x32, 0xc7, 0x7b, 0x31, 0xa2, 0x7d, 0x14, 0x41, 0xd5, 0xd7, 0x6d, - 0xc7, 0x6b, 0x76, 0x3d, 0xae, 0x04, 0xd0, 0x47, 0xb1, 0x3a, 0x5c, 0x4e, 0xd4, 0xa7, 0x0a, 0x9f, - 0x0f, 0xfe, 0x5a, 0x0a, 0x15, 0x4a, 0x9e, 0xe7, 0x98, 0xab, 0x5d, 0x8f, 0x2c, 0xea, 0x9d, 0x8e, - 0x69, 0xad, 0xc1, 0x58, 0x1f, 0xb9, 0xf1, 0x6a, 0xb0, 0xbe, 0xf5, 0x95, 0xc4, 0x74, 0xb4, 0xb8, - 0x30, 0x44, 0x75, 0x1f, 0xd5, 0x68, 0x33, 0x9c, 0x38, 0x44, 0xa3, 0xe5, 0xe8, 0x10, 0x4d, 0xe4, - 0xb5, 0xaf, 0x21, 0xfa, 0xa3, 0x19, 0x74, 0x7e, 0x79, 0xc3, 0xd3, 0x35, 0xe2, 0xda, 0x5d, 0xa7, - 0x49, 0xdc, 0xbb, 0x1d, 0x43, 0xf7, 0x48, 0x38, 0x52, 0x8b, 0x68, 0xb0, 0x64, 0x18, 0xc4, 0x00, - 0x76, 0x83, 0x6c, 0xef, 0xa4, 0x53, 0x80, 0xc6, 0xe0, 0xf8, 0x93, 0x68, 0x88, 0x97, 0x01, 0xee, - 0x83, 0x33, 0x23, 0x3b, 0xdb, 0xc5, 0xa1, 0x2e, 0x03, 0x69, 0x3e, 0x8e, 0x92, 0x95, 0x49, 0x8b, - 0x50, 0xb2, 0x4c, 0x48, 0x66, 0x30, 0x90, 0xe6, 0xe3, 0xf0, 0x5b, 0x68, 0x1c, 0xd8, 0x06, 0xed, - 0xe1, 0x73, 0xdf, 0x69, 0x5f, 0xba, 0x62, 0x63, 0xd9, 0xd2, 0x04, 0xad, 0x69, 0x38, 0x7e, 0x01, - 0x2d, 0xc2, 0x00, 0xdf, 0x43, 0x05, 0xde, 0x88, 0x90, 0xe9, 0x60, 0x1f, 0xa6, 0x67, 0x76, 0xb6, - 0x8b, 0x93, 0xbc, 0xfd, 0x02, 0xdb, 0x18, 0x13, 0xca, 0x98, 0x37, 0x3b, 0x64, 0x9c, 0xdb, 0x8d, - 0x31, 0xff, 0x62, 0x91, 0x71, 0x94, 0x89, 0xfa, 0x0e, 0x1a, 0x15, 0x0b, 0xe2, 0xb3, 0xb0, 0x3f, - 0x65, 0xe3, 0x04, 0x76, 0xb6, 0xa6, 0x01, 0x9b, 0xd2, 0xe7, 0xd1, 0x48, 0x99, 0xb8, 0x4d, 0xc7, - 0xec, 0x50, 0xab, 0x81, 0x2b, 0xf9, 0xc4, 0xce, 0x76, 0x71, 0xc4, 0x08, 0xc1, 0x9a, 0x48, 0xa3, - 0xfe, 0xd7, 0x14, 0x3a, 0x4b, 0x79, 0x97, 0x5c, 0xd7, 0x5c, 0xb3, 0xda, 0xe2, 0xb2, 0x7d, 0x0d, - 0xe5, 0xea, 0x50, 0x1f, 0xaf, 0xe9, 0xf4, 0xce, 0x76, 0xb1, 0xc0, 0x5a, 0x20, 0xe8, 0x21, 0xa7, - 0x09, 0x36, 0x67, 0xe9, 0x5d, 0x36, 0x67, 0xd4, 0x1c, 0xf5, 0x74, 0xc7, 0x33, 0xad, 0xb5, 0xba, - 0xa7, 0x7b, 0x5d, 0x57, 0x32, 0x47, 0x39, 0xa6, 0xe1, 0x02, 0x4a, 0x32, 0x47, 0xa5, 0x42, 0xf8, - 0x75, 0x34, 0x5a, 0xb1, 0x8c, 0x90, 0x09, 0x9b, 0x10, 0x9f, 0xa4, 0x56, 0x22, 0x01, 0x78, 0x9c, - 0x85, 0x54, 0x40, 0xfd, 0x9b, 0x29, 0xa4, 0xb0, 0x9d, 0xd4, 0x82, 0xe9, 0x7a, 0x8b, 0xa4, 0xbd, - 0x2a, 0xcc, 0x4e, 0x73, 0xfe, 0xd6, 0x8c, 0xe2, 0x84, 0xb5, 0x08, 0x4c, 0x01, 0xbe, 0x35, 0x6b, - 0x99, 0xae, 0x17, 0x9d, 0x0c, 0x23, 0xa5, 0x70, 0x15, 0x0d, 0x31, 0xce, 0xcc, 0x96, 0x18, 0xb9, - 0xa1, 0xf8, 0x8a, 0x10, 0xad, 0x9a, 0x29, 0x43, 0x9b, 0x11, 0x8b, 0x7b, 0x6b, 0x5e, 0x5e, 0xfd, - 0x5b, 0x69, 0x54, 0x88, 0x16, 0xc2, 0xf7, 0x50, 0xfe, 0x4d, 0xdb, 0xb4, 0x88, 0xb1, 0x6c, 0x41, - 0x0b, 0xfb, 0x9f, 0x30, 0xf8, 0x76, 0xf4, 0xa9, 0xf7, 0xa0, 0x4c, 0xc3, 0x16, 0x76, 0xa6, 0x70, - 0xe0, 0x10, 0x30, 0xc3, 0x5f, 0x40, 0xc3, 0xd4, 0x06, 0x7c, 0x00, 0x9c, 0xd3, 0xbb, 0x72, 0xbe, - 0xc4, 0x39, 0x9f, 0x76, 0x58, 0xa1, 0x38, 0xeb, 0x90, 0x1d, 0xd5, 0x2b, 0x8d, 0xe8, 0xae, 0x6d, - 0xf1, 0x9e, 0x07, 0xbd, 0x72, 0x00, 0x22, 0xea, 0x15, 0xa3, 0xa1, 0xa6, 0x2b, 0xfb, 0x58, 0xe8, - 0x06, 0x61, 0xdf, 0xc1, 0x64, 0x15, 0xed, 0x01, 0x81, 0x58, 0xfd, 0x81, 0x34, 0x7a, 0x2e, 0x14, - 0x99, 0x46, 0x1e, 0x98, 0x64, 0x93, 0x8b, 0x73, 0xdd, 0xec, 0xf0, 0x8d, 0x1f, 0x55, 0x79, 0x77, - 0x76, 0x5d, 0xb7, 0xd6, 0x88, 0x81, 0xaf, 0xa2, 0x41, 0xba, 0x3b, 0x77, 0x95, 0x14, 0x98, 0x6b, - 0x30, 0x9d, 0xd0, 0x5d, 0xbc, 0xd8, 0x23, 0x8c, 0x02, 0xdb, 0x28, 0xb7, 0xe2, 0xe8, 0xa6, 0xe7, - 0xf7, 0x6c, 0x29, 0xde, 0xb3, 0x7b, 0xa8, 0x71, 0x9a, 0xf1, 0x60, 0x73, 0x3e, 0x08, 0xc2, 0x03, - 0x80, 0x28, 0x08, 0x46, 0x32, 0xf5, 0x32, 0x1a, 0x11, 0x88, 0xf7, 0x35, 0xa9, 0xff, 0x52, 0x56, - 0xd4, 0x75, 0xbf, 0x59, 0x5c, 0xd7, 0xaf, 0x53, 0x1d, 0x75, 0x5d, 0x6a, 0x55, 0x30, 0x25, 0xe7, - 0x9a, 0x08, 0x20, 0x59, 0x13, 0x01, 0x84, 0x6f, 0xa2, 0x3c, 0x63, 0x11, 0xec, 0x3d, 0x61, 0xdf, - 0xea, 0x00, 0x4c, 0x5e, 0x9a, 0x03, 0x42, 0xfc, 0x53, 0x29, 0x74, 0xa1, 0xaf, 0x24, 0x40, 0x19, - 0x46, 0x6e, 0xbc, 0x70, 0x20, 0x31, 0xce, 0x3c, 0xb7, 0xb3, 0x5d, 0xbc, 0xda, 0x0e, 0x48, 0x1a, - 0x8e, 0x40, 0xd3, 0x68, 0x32, 0x22, 0xa1, 0x5d, 0xfd, 0x9b, 0x42, 0x8d, 0x47, 0x56, 0xe9, 0x1c, - 0x9c, 0xbf, 0x58, 0xcd, 0x2d, 0xbf, 0x91, 0xd9, 0xd0, 0x78, 0xe4, 0xdf, 0x7b, 0xdf, 0x27, 0x49, - 0xa8, 0xa6, 0x07, 0x17, 0xdc, 0x44, 0xe7, 0x18, 0xa6, 0xac, 0x6f, 0x2d, 0xdf, 0x5f, 0xb4, 0x2d, - 0x6f, 0xdd, 0xaf, 0x60, 0x50, 0x3c, 0xc0, 0x80, 0x0a, 0x0c, 0x7d, 0xab, 0x61, 0xdf, 0x6f, 0xb4, - 0x29, 0x55, 0x42, 0x1d, 0xbd, 0x38, 0xd1, 0x89, 0x96, 0x8f, 0x39, 0x7f, 0x0a, 0xca, 0x85, 0xc7, - 0x4b, 0xfe, 0x38, 0x8d, 0x4f, 0x38, 0x91, 0x42, 0xea, 0xb7, 0x07, 0xe9, 0xee, 0x1d, 0xce, 0x04, - 0x61, 0x0a, 0xc6, 0xaf, 0x84, 0xa7, 0xac, 0x7c, 0xce, 0x09, 0xce, 0x45, 0x82, 0xf3, 0x9c, 0x51, - 0x3a, 0x1f, 0xfc, 0xd6, 0x76, 0x31, 0xb5, 0xb3, 0x5d, 0x1c, 0xd0, 0xf2, 0xc2, 0x4e, 0x30, 0x5c, - 0x24, 0x84, 0x55, 0x51, 0x3c, 0xe5, 0x8b, 0x94, 0x65, 0x8b, 0xc6, 0xeb, 0x68, 0x88, 0xb7, 0x81, - 0xab, 0xc9, 0xb9, 0xf0, 0xf0, 0x40, 0x3a, 0xdb, 0x8c, 0x94, 0xf6, 0x4b, 0xe1, 0x57, 0x51, 0x8e, - 0x6d, 0xc8, 0xa1, 0x07, 0x85, 0x83, 0x28, 0xf9, 0xf0, 0x21, 0x52, 0x9c, 0x97, 0xc1, 0xf3, 0x08, - 0x85, 0x9b, 0xf1, 0xe0, 0x28, 0x97, 0x73, 0x88, 0x6f, 0xd3, 0x23, 0x5c, 0x84, 0xb2, 0xf8, 0x45, - 0x34, 0xba, 0x42, 0x9c, 0xb6, 0x69, 0xe9, 0xad, 0xba, 0xf9, 0xbe, 0x7f, 0x9a, 0x0b, 0xab, 0xa5, - 0x6b, 0xbe, 0x2f, 0x0e, 0x37, 0x89, 0x0e, 0x7f, 0x29, 0x69, 0xb3, 0x3b, 0x04, 0x0d, 0x79, 0x6a, - 0xd7, 0x5d, 0x60, 0xa4, 0x3d, 0x09, 0x7b, 0xdf, 0xb7, 0xd0, 0x98, 0xb4, 0xcf, 0xe1, 0xc7, 0x75, - 0x17, 0xe2, 0xac, 0x85, 0x4d, 0x5b, 0x84, 0xad, 0xcc, 0x81, 0xaa, 0x5f, 0xd5, 0x32, 0x3d, 0x53, - 0x6f, 0xcd, 0xda, 0xed, 0xb6, 0x6e, 0x19, 0xca, 0x70, 0xa8, 0x7e, 0x26, 0xc3, 0x34, 0x9a, 0x0c, - 0x25, 0xaa, 0x9f, 0x5c, 0x88, 0xee, 0xa5, 0x79, 0x1f, 0x6a, 0xa4, 0x69, 0x3b, 0x74, 0x01, 0x87, - 0xd3, 0x38, 0xbe, 0x97, 0x76, 0x19, 0xae, 0xe1, 0xf8, 0x48, 0xd1, 0x42, 0x8e, 0x16, 0x7c, 0x33, - 0x9b, 0x1f, 0x29, 0x8c, 0x46, 0x0f, 0x50, 0xd5, 0xbf, 0x91, 0x41, 0x23, 0x9c, 0x94, 0xae, 0x7f, - 0x27, 0x0a, 0x7e, 0x18, 0x05, 0x4f, 0x54, 0xd4, 0xdc, 0xa3, 0x52, 0x54, 0xf5, 0xeb, 0xe9, 0x60, - 0x36, 0xaa, 0x39, 0xa6, 0x75, 0xb8, 0xd9, 0xe8, 0x32, 0x42, 0xb3, 0xeb, 0x5d, 0x6b, 0x83, 0x5d, - 0x14, 0xa5, 0xc3, 0x8b, 0xa2, 0xa6, 0xa9, 0x09, 0x18, 0x7c, 0x01, 0x65, 0xcb, 0x94, 0x3f, 0xed, - 0x99, 0xd1, 0x99, 0xe1, 0x0f, 0x19, 0xa7, 0xd4, 0x73, 0x1a, 0x80, 0xe9, 0x8e, 0x68, 0x66, 0xcb, - 0x23, 0xcc, 0x06, 0xcd, 0xb0, 0x1d, 0xd1, 0x2a, 0x05, 0x68, 0x0c, 0x8e, 0x6f, 0xa1, 0xc9, 0x32, - 0x69, 0xe9, 0x5b, 0x8b, 0x66, 0xab, 0x65, 0xba, 0xa4, 0x69, 0x5b, 0x86, 0x0b, 0x42, 0xe6, 0xd5, - 0xb5, 0x5d, 0x2d, 0x4e, 0x80, 0x55, 0x94, 0x5b, 0xbe, 0x7f, 0xdf, 0x25, 0x1e, 0x88, 0x2f, 0x33, - 0x83, 0x76, 0xb6, 0x8b, 0x39, 0x1b, 0x20, 0x1a, 0xc7, 0xa8, 0x3f, 0x9b, 0xa2, 0x5b, 0x0e, 0x77, - 0xc3, 0xb3, 0x3b, 0x81, 0x96, 0x1f, 0x4a, 0x24, 0x57, 0x43, 0x63, 0x20, 0x0d, 0x5f, 0x3b, 0xc1, - 0xbf, 0x76, 0x88, 0x1b, 0x04, 0xa1, 0x19, 0x90, 0xf8, 0x55, 0x99, 0x5d, 0xbe, 0x4a, 0xfd, 0x83, - 0x34, 0x3a, 0xc7, 0x5b, 0x3c, 0xdb, 0x32, 0x3b, 0xab, 0xb6, 0xee, 0x18, 0x1a, 0x69, 0x12, 0xf3, - 0x01, 0x39, 0x9e, 0x03, 0x4f, 0x1e, 0x3a, 0xd9, 0x43, 0x0c, 0x9d, 0x1b, 0xb0, 0x7b, 0xa3, 0x92, - 0x81, 0x53, 0x5a, 0x66, 0x09, 0x14, 0x76, 0xb6, 0x8b, 0xa3, 0x06, 0x03, 0xc3, 0x19, 0xbb, 0x26, - 0x12, 0x51, 0x25, 0x59, 0x20, 0xd6, 0x9a, 0xb7, 0x0e, 0x4a, 0x32, 0xc8, 0x94, 0xa4, 0x05, 0x10, - 0x8d, 0x63, 0xd4, 0xff, 0x9c, 0x46, 0xa7, 0xa3, 0x22, 0xaf, 0x13, 0xcb, 0x38, 0x91, 0xf7, 0x77, - 0x46, 0xde, 0x7f, 0x98, 0x41, 0x4f, 0xf2, 0x32, 0xf5, 0x75, 0xdd, 0x21, 0x46, 0xd9, 0x74, 0x48, - 0xd3, 0xb3, 0x9d, 0xad, 0x63, 0x6c, 0x40, 0x3d, 0x3a, 0xb1, 0xdf, 0x42, 0x39, 0xbe, 0x67, 0x67, - 0xeb, 0xcc, 0x78, 0xd0, 0x12, 0x80, 0xc6, 0x56, 0x28, 0xb6, 0xdf, 0x8f, 0x74, 0x56, 0x6e, 0x2f, - 0x9d, 0xf5, 0x19, 0x34, 0x16, 0x88, 0x1e, 0x76, 0x8f, 0x43, 0xa1, 0xb5, 0x65, 0xf8, 0x08, 0xd8, - 0x40, 0x6a, 0x32, 0x21, 0xd4, 0xe6, 0x03, 0xaa, 0x65, 0xb0, 0x86, 0xc6, 0x78, 0x6d, 0x41, 0x39, - 0xd3, 0xd0, 0x44, 0x22, 0x75, 0x3b, 0x8b, 0xa6, 0x92, 0xbb, 0x5d, 0x23, 0xba, 0x71, 0xd2, 0xeb, - 0x1f, 0xcb, 0x5e, 0xc7, 0x4f, 0xa1, 0x6c, 0x4d, 0xf7, 0xd6, 0xf9, 0xc5, 0x33, 0x5c, 0xc2, 0xde, - 0x37, 0x5b, 0xa4, 0xd1, 0xd1, 0xbd, 0x75, 0x0d, 0x50, 0xc2, 0x9c, 0x81, 0x80, 0x63, 0xc2, 0x9c, - 0x21, 0x2c, 0xf6, 0x23, 0x97, 0x52, 0x57, 0xb2, 0x89, 0x8b, 0xfd, 0xb7, 0xb3, 0xbd, 0xe6, 0x95, - 0x7b, 0x8e, 0xe9, 0x91, 0x13, 0x0d, 0x3b, 0xd1, 0xb0, 0x43, 0x6a, 0xd8, 0xbf, 0x48, 0xa3, 0xb1, - 0x60, 0xd3, 0xf4, 0x1e, 0x69, 0x1e, 0xcd, 0x5a, 0x15, 0x6e, 0x65, 0x32, 0x87, 0xde, 0xca, 0x1c, - 0x46, 0xa1, 0xd4, 0xe0, 0x9c, 0x92, 0x99, 0x06, 0x20, 0x31, 0x76, 0x4e, 0x19, 0x9c, 0x4e, 0x3e, - 0x85, 0x86, 0x16, 0xf5, 0x87, 0x66, 0xbb, 0xdb, 0xe6, 0x56, 0x3a, 0x38, 0x52, 0xb5, 0xf5, 0x87, - 0x9a, 0x0f, 0x57, 0xff, 0x55, 0x0a, 0x8d, 0x73, 0xa1, 0x72, 0xe6, 0x87, 0x92, 0x6a, 0x28, 0x9d, - 0xf4, 0xa1, 0xa5, 0x93, 0x39, 0xb8, 0x74, 0xd4, 0xbf, 0x9c, 0x41, 0xca, 0x9c, 0xd9, 0x22, 0x2b, - 0x8e, 0x6e, 0xb9, 0xf7, 0x89, 0xc3, 0xb7, 0xd3, 0x15, 0xca, 0xea, 0x50, 0x1f, 0x28, 0x4c, 0x29, - 0xe9, 0x03, 0x4d, 0x29, 0x9f, 0x42, 0xc3, 0xbc, 0x31, 0x81, 0x13, 0x1f, 0x8c, 0x1a, 0xc7, 0x07, - 0x6a, 0x21, 0x9e, 0x12, 0x97, 0x3a, 0x1d, 0xc7, 0x7e, 0x40, 0x1c, 0x76, 0xb5, 0xc4, 0x89, 0x75, - 0x1f, 0xa8, 0x85, 0x78, 0x81, 0x33, 0xf1, 0xed, 0x45, 0x91, 0x33, 0x71, 0xb4, 0x10, 0x8f, 0xaf, - 0xa0, 0xfc, 0x82, 0xdd, 0xd4, 0x41, 0xd0, 0x6c, 0x5a, 0x19, 0xdd, 0xd9, 0x2e, 0xe6, 0x5b, 0x1c, - 0xa6, 0x05, 0x58, 0x4a, 0x59, 0xb6, 0x37, 0xad, 0x96, 0xad, 0x33, 0x6f, 0x93, 0x3c, 0xa3, 0x34, - 0x38, 0x4c, 0x0b, 0xb0, 0x94, 0x92, 0xca, 0x1c, 0xbc, 0x78, 0xf2, 0x21, 0xcf, 0xfb, 0x1c, 0xa6, - 0x05, 0x58, 0xf5, 0x67, 0xb3, 0x54, 0x7b, 0x5d, 0xf3, 0xfd, 0xc7, 0x7e, 0x5d, 0x08, 0x07, 0xcc, - 0xe0, 0x01, 0x06, 0xcc, 0x63, 0x73, 0x60, 0xa7, 0xfe, 0xb7, 0x21, 0x84, 0xb8, 0xf4, 0x2b, 0x27, - 0x9b, 0xc3, 0xc3, 0x69, 0x4d, 0x19, 0x4d, 0x56, 0xac, 0x75, 0xdd, 0x6a, 0x12, 0x23, 0x3c, 0xb6, - 0xcc, 0xc1, 0xd0, 0x06, 0x27, 0x5a, 0xc2, 0x91, 0xe1, 0xb9, 0xa5, 0x16, 0x2f, 0x80, 0x9f, 0x47, - 0x23, 0x55, 0xcb, 0x23, 0x8e, 0xde, 0xf4, 0xcc, 0x07, 0x84, 0x4f, 0x0d, 0x70, 0x9d, 0x6b, 0x86, - 0x60, 0x4d, 0xa4, 0xc1, 0xb7, 0xd0, 0x68, 0x4d, 0x77, 0x3c, 0xb3, 0x69, 0x76, 0x74, 0xcb, 0x73, - 0x95, 0x3c, 0xcc, 0x68, 0x60, 0x61, 0x74, 0x04, 0xb8, 0x26, 0x51, 0xe1, 0x2f, 0xa1, 0x61, 0xd8, - 0x9a, 0x82, 0xa7, 0xf2, 0xf0, 0xae, 0xb7, 0x7d, 0x4f, 0x87, 0xfe, 0x78, 0xec, 0xf4, 0x15, 0xae, - 0x6d, 0xa3, 0x17, 0x7e, 0x01, 0x47, 0xfc, 0x79, 0x34, 0x54, 0xb1, 0x0c, 0x60, 0x8e, 0x76, 0x65, - 0xae, 0x72, 0xe6, 0x67, 0x43, 0xe6, 0x76, 0x27, 0xc2, 0xdb, 0x67, 0x97, 0x3c, 0xca, 0x46, 0xbe, - 0x73, 0xa3, 0x6c, 0xf4, 0x3b, 0x70, 0x2c, 0x3e, 0xf6, 0xa8, 0x8e, 0xc5, 0xc7, 0x0f, 0x78, 0x2c, - 0xae, 0xbe, 0x8f, 0x46, 0x66, 0x6a, 0x73, 0xc1, 0xe8, 0x7d, 0x02, 0x65, 0x6a, 0xdc, 0xbd, 0x20, - 0xcb, 0xec, 0x99, 0x8e, 0x69, 0x68, 0x14, 0x86, 0xaf, 0xa2, 0xfc, 0x2c, 0xf8, 0xac, 0xf1, 0xab, - 0xbf, 0x2c, 0x5b, 0xff, 0x9a, 0x00, 0x03, 0xb7, 0x53, 0x1f, 0x8d, 0x3f, 0x89, 0x86, 0x6a, 0x8e, - 0xbd, 0xe6, 0xe8, 0x6d, 0xbe, 0x06, 0x83, 0x7f, 0x47, 0x87, 0x81, 0x34, 0x1f, 0xa7, 0xfe, 0xf9, - 0x94, 0x6f, 0xb6, 0xd3, 0x12, 0xf5, 0x2e, 0x1c, 0xcd, 0x43, 0xdd, 0x79, 0x56, 0xc2, 0x65, 0x20, - 0xcd, 0xc7, 0xe1, 0xab, 0x68, 0xb0, 0xe2, 0x38, 0xb6, 0x23, 0x7a, 0x77, 0x13, 0x0a, 0x10, 0xef, - 0x68, 0x81, 0x02, 0xbf, 0x84, 0x46, 0xd8, 0x9c, 0xc3, 0x4e, 0x34, 0x33, 0xfd, 0xae, 0x37, 0x45, - 0x4a, 0xf5, 0x83, 0x8c, 0x60, 0xb3, 0x31, 0x89, 0x3f, 0x86, 0xb7, 0x02, 0x37, 0x51, 0x66, 0xa6, - 0x36, 0xc7, 0x27, 0xc0, 0x53, 0x7e, 0x51, 0x41, 0x55, 0x22, 0xe5, 0x28, 0x35, 0x3e, 0x8f, 0xb2, - 0x35, 0xaa, 0x3e, 0x39, 0x50, 0x8f, 0xfc, 0xce, 0x76, 0x31, 0xdb, 0xa1, 0xfa, 0x03, 0x50, 0xc0, - 0xd2, 0xcd, 0x0c, 0xdb, 0x31, 0x31, 0x6c, 0xb8, 0x8f, 0x39, 0x8f, 0xb2, 0x25, 0x67, 0xed, 0x01, - 0x9f, 0xb5, 0x00, 0xab, 0x3b, 0x6b, 0x0f, 0x34, 0x80, 0xe2, 0xeb, 0x08, 0x69, 0xc4, 0xeb, 0x3a, - 0x16, 0x3c, 0xbc, 0x18, 0x86, 0xf3, 0x37, 0x98, 0x0d, 0x1d, 0x80, 0x36, 0x9a, 0xb6, 0x41, 0x34, - 0x81, 0x44, 0xfd, 0xeb, 0xe1, 0xc5, 0x4e, 0xd9, 0x74, 0x37, 0x4e, 0xba, 0x70, 0x1f, 0x5d, 0xa8, - 0xf3, 0x23, 0xce, 0x78, 0x27, 0x15, 0xd1, 0xe0, 0x5c, 0x4b, 0x5f, 0x73, 0xa1, 0x0f, 0xb9, 0x03, - 0xd8, 0x7d, 0x0a, 0xd0, 0x18, 0x3c, 0xd2, 0x4f, 0xf9, 0xdd, 0xfb, 0xe9, 0xc7, 0x06, 0x83, 0xd1, - 0xb6, 0x44, 0xbc, 0x4d, 0xdb, 0x39, 0xe9, 0xaa, 0xbd, 0x76, 0xd5, 0x65, 0x34, 0x54, 0x77, 0x9a, - 0xc2, 0xd1, 0x05, 0xec, 0x07, 0x5c, 0xa7, 0xc9, 0x8e, 0x2d, 0x7c, 0x24, 0xa5, 0x2b, 0xbb, 0x1e, - 0xd0, 0x0d, 0x85, 0x74, 0x86, 0xeb, 0x71, 0x3a, 0x8e, 0xe4, 0x74, 0x35, 0xdb, 0xf1, 0x78, 0xc7, - 0x05, 0x74, 0x1d, 0xdb, 0xf1, 0x34, 0x1f, 0x89, 0x3f, 0x85, 0xd0, 0xca, 0x6c, 0xed, 0x6d, 0xe2, - 0x80, 0xb8, 0x86, 0x43, 0x07, 0xbe, 0x07, 0x0c, 0xa4, 0x09, 0x68, 0xbc, 0x82, 0x86, 0x97, 0x3b, - 0xc4, 0x61, 0x5b, 0x21, 0xf6, 0x94, 0xe2, 0x99, 0x88, 0x68, 0x79, 0xbf, 0x4f, 0xf3, 0xff, 0x03, - 0x72, 0xb6, 0xbe, 0xd8, 0xfe, 0x4f, 0x2d, 0x64, 0x84, 0x5f, 0x42, 0xb9, 0x12, 0xb3, 0xf3, 0x46, - 0x80, 0x65, 0x20, 0x32, 0xd8, 0x82, 0x32, 0x14, 0xdb, 0xb3, 0xeb, 0xf0, 0xb7, 0xc6, 0xc9, 0xd5, - 0xab, 0xa8, 0x10, 0xad, 0x06, 0x8f, 0xa0, 0xa1, 0xd9, 0xe5, 0xa5, 0xa5, 0xca, 0xec, 0x4a, 0x61, - 0x00, 0xe7, 0x51, 0xb6, 0x5e, 0x59, 0x2a, 0x17, 0x52, 0xea, 0x4f, 0x0b, 0x33, 0x08, 0x55, 0xad, - 0x93, 0xab, 0xe1, 0x43, 0xdd, 0xb7, 0x14, 0xe0, 0x3e, 0x14, 0x4e, 0x0c, 0xda, 0xa6, 0xe7, 0x11, - 0x83, 0xaf, 0x12, 0x70, 0x5f, 0xe8, 0x3d, 0xd4, 0x62, 0x78, 0x7c, 0x0d, 0x8d, 0x01, 0x8c, 0x5f, - 0x11, 0xb2, 0xfd, 0x31, 0x2f, 0xe0, 0x3c, 0xd4, 0x64, 0xa4, 0xfa, 0xad, 0xf0, 0x76, 0x78, 0x81, - 0xe8, 0xc7, 0xf5, 0x46, 0xf1, 0x23, 0xd2, 0x5f, 0xea, 0xff, 0xcc, 0xb2, 0x77, 0x1b, 0xec, 0xa5, - 0xdc, 0x51, 0x88, 0x32, 0x3c, 0xd2, 0xcd, 0xec, 0xe3, 0x48, 0xf7, 0x1a, 0xca, 0x2d, 0x12, 0x6f, - 0xdd, 0xf6, 0xbd, 0xb5, 0xc0, 0xad, 0xae, 0x0d, 0x10, 0xd1, 0xad, 0x8e, 0xd1, 0xe0, 0x0d, 0x84, - 0xfd, 0x67, 0x70, 0x81, 0xf7, 0xb4, 0x7f, 0x84, 0x7c, 0x2e, 0xb6, 0x4f, 0xa9, 0xc3, 0x1b, 0x58, - 0x70, 0x8c, 0x3f, 0x1d, 0x78, 0x67, 0x0b, 0xee, 0x53, 0x7f, 0xbc, 0x5d, 0xcc, 0x31, 0x1a, 0x2d, - 0x81, 0x2d, 0x7e, 0x0b, 0x0d, 0x2f, 0xce, 0x95, 0xf8, 0x93, 0x38, 0xe6, 0x15, 0xf1, 0x44, 0x20, - 0x45, 0x1f, 0x11, 0x88, 0x04, 0x1e, 0xc9, 0xb4, 0xef, 0xeb, 0xf1, 0x17, 0x71, 0x21, 0x17, 0xaa, - 0x2d, 0xec, 0xb9, 0x0d, 0x3f, 0x5d, 0x08, 0xb4, 0x45, 0x7e, 0x84, 0x13, 0x95, 0x15, 0xc3, 0x46, - 0xb4, 0x25, 0x7f, 0x88, 0xd1, 0xbd, 0x8c, 0x26, 0x4b, 0x9d, 0x4e, 0xcb, 0x24, 0x06, 0xe8, 0x8b, - 0xd6, 0x6d, 0x11, 0x97, 0xbb, 0xfc, 0xc0, 0x0b, 0x0e, 0x9d, 0x21, 0x1b, 0xf0, 0x10, 0xb3, 0xe1, - 0x74, 0x65, 0xa7, 0xca, 0x78, 0x59, 0xf5, 0x3f, 0xa5, 0x50, 0xc1, 0xf7, 0x78, 0x16, 0x9f, 0x80, - 0x0a, 0xee, 0xb8, 0x70, 0x0c, 0x13, 0x71, 0x00, 0x05, 0x3c, 0xae, 0xa3, 0xa1, 0xca, 0xc3, 0x8e, - 0xe9, 0x10, 0x77, 0x0f, 0xde, 0xab, 0x17, 0xf8, 0x96, 0x73, 0x92, 0xb0, 0x22, 0xb1, 0xdd, 0x26, - 0x03, 0xc3, 0x3b, 0x26, 0xe6, 0xf3, 0x3d, 0xe3, 0xbf, 0x6b, 0x65, 0xef, 0x98, 0xb8, 0x6f, 0xb8, - 0xf4, 0xa8, 0x2c, 0x24, 0xc5, 0x4f, 0xa3, 0xcc, 0xca, 0xca, 0x02, 0xd7, 0x46, 0x78, 0x4f, 0xec, - 0x79, 0xe2, 0x43, 0x2d, 0x8a, 0x55, 0x7f, 0x34, 0x8d, 0x10, 0x55, 0xfa, 0x59, 0x87, 0xe8, 0x47, - 0x74, 0x99, 0x33, 0x83, 0xf2, 0xbe, 0xc0, 0xf9, 0x80, 0x0b, 0xdc, 0x95, 0xa3, 0x1d, 0x11, 0xad, - 0x3b, 0x70, 0x4d, 0x2f, 0xfa, 0x1e, 0xb4, 0xec, 0x2c, 0x15, 0xac, 0x43, 0xf0, 0xa0, 0xf5, 0xfd, - 0x66, 0x3f, 0x85, 0x86, 0xb9, 0xd6, 0xd8, 0xd2, 0x19, 0x6a, 0xd3, 0x07, 0x6a, 0x21, 0x3e, 0x10, - 0x0a, 0x93, 0xe5, 0x89, 0x50, 0x40, 0x28, 0xdf, 0x4c, 0x31, 0xa1, 0xb0, 0x67, 0x02, 0xc7, 0x55, - 0x28, 0xea, 0x57, 0x53, 0x08, 0x53, 0x66, 0x35, 0xdd, 0x75, 0x37, 0x6d, 0xc7, 0x60, 0x7e, 0xab, - 0x47, 0xf1, 0x39, 0xea, 0x07, 0x79, 0x74, 0x4a, 0x72, 0x0a, 0x3c, 0xe6, 0x83, 0xf0, 0xaa, 0xac, - 0x6f, 0xfd, 0xdc, 0xd8, 0x3f, 0x21, 0x5e, 0x96, 0x0c, 0x4a, 0x2f, 0x4a, 0x84, 0x5b, 0x92, 0xe7, - 0xd0, 0x28, 0xff, 0x41, 0xd7, 0x58, 0xff, 0x14, 0x1c, 0xf4, 0xd8, 0xa5, 0x00, 0x4d, 0x42, 0xe3, - 0x17, 0xd0, 0x30, 0x55, 0xce, 0x35, 0x78, 0x52, 0x3f, 0x14, 0xba, 0x88, 0x1b, 0x3e, 0x50, 0x9c, - 0x27, 0x03, 0x4a, 0xe1, 0x61, 0x40, 0x7e, 0x0f, 0x0f, 0x03, 0xde, 0x45, 0x23, 0x25, 0xcb, 0xb2, - 0x3d, 0x30, 0xe0, 0x5d, 0x7e, 0x6c, 0xd9, 0x73, 0xc5, 0x7e, 0x1a, 0x5e, 0xbb, 0x86, 0xf4, 0x89, - 0x4b, 0xb6, 0xc8, 0x10, 0xdf, 0xf0, 0xdd, 0xdc, 0x89, 0xc3, 0x3d, 0x4e, 0xe1, 0xe8, 0xd6, 0xe1, - 0xb0, 0xb8, 0x97, 0x3b, 0x74, 0xde, 0x58, 0xcd, 0xb1, 0x3b, 0xb6, 0x4b, 0x0c, 0x26, 0xa8, 0x91, - 0xf0, 0x2d, 0x7e, 0x87, 0x23, 0xe0, 0x61, 0x8a, 0xf4, 0xbc, 0x5d, 0x2a, 0x82, 0xef, 0xa3, 0xd3, - 0xfe, 0x25, 0x52, 0xf0, 0x04, 0xa8, 0x5a, 0x76, 0x95, 0x51, 0x78, 0x66, 0x80, 0xa3, 0xca, 0x50, - 0x2d, 0xcf, 0x5c, 0xf4, 0x8f, 0x4c, 0xfd, 0x37, 0x44, 0x0d, 0xd3, 0x10, 0xbb, 0x3a, 0x91, 0x1f, - 0xfe, 0x6e, 0x34, 0xb2, 0xa8, 0x3f, 0x2c, 0x77, 0xf9, 0xbe, 0x6c, 0x6c, 0xef, 0x27, 0xb3, 0x6d, - 0xfd, 0x61, 0xc3, 0xe0, 0xe5, 0x22, 0x6b, 0xa5, 0xc8, 0x12, 0x37, 0xd0, 0xd9, 0x9a, 0x63, 0xb7, - 0x6d, 0x8f, 0x18, 0x91, 0xd7, 0x34, 0x13, 0xe1, 0xf3, 0xbb, 0x0e, 0xa7, 0x68, 0xf4, 0x79, 0x56, - 0xd3, 0x83, 0x0d, 0x6e, 0xa3, 0x89, 0x92, 0xeb, 0x76, 0xdb, 0x24, 0x3c, 0xbd, 0x2e, 0xec, 0xfa, - 0x19, 0xcf, 0x70, 0x8f, 0xc6, 0x27, 0x75, 0x28, 0xca, 0x0e, 0xaf, 0x1b, 0x9e, 0x29, 0xd6, 0x08, - 0xdf, 0x12, 0xe5, 0xfd, 0x66, 0x36, 0x3f, 0x5e, 0x98, 0xd0, 0xce, 0xc5, 0x1b, 0xb3, 0x62, 0x7a, - 0x2d, 0xa2, 0xfe, 0x4a, 0x0a, 0xa1, 0x50, 0xc0, 0xf8, 0x39, 0x39, 0x6e, 0x47, 0x2a, 0x3c, 0x04, - 0xe5, 0xcf, 0x91, 0xa5, 0x40, 0x1d, 0xf8, 0x3c, 0xca, 0xc2, 0x73, 0xf3, 0x74, 0x78, 0xe8, 0xb2, - 0x61, 0x5a, 0x86, 0x06, 0x50, 0x8a, 0x15, 0xde, 0x96, 0x02, 0x16, 0x2e, 0xfc, 0x98, 0xb5, 0x53, - 0x46, 0x13, 0xf5, 0xee, 0xaa, 0x5f, 0xb7, 0xf0, 0x50, 0x06, 0x5e, 0xbd, 0xbb, 0xdd, 0xd5, 0xe0, - 0x75, 0x99, 0x14, 0x53, 0x40, 0x2e, 0xa2, 0xfe, 0x6c, 0x2a, 0x32, 0x0b, 0x1e, 0xe1, 0x02, 0xf3, - 0x89, 0xf8, 0x1d, 0x6e, 0x7c, 0x5a, 0x52, 0xff, 0x4a, 0x1a, 0x8d, 0xd4, 0x6c, 0xc7, 0xe3, 0xef, - 0xf7, 0x8f, 0xa4, 0xa5, 0x8f, 0xec, 0x46, 0x5d, 0xd8, 0xed, 0x64, 0xf7, 0xb1, 0xdb, 0x39, 0x8f, - 0xb2, 0x82, 0xfb, 0x22, 0x3b, 0x33, 0x35, 0x0c, 0x47, 0x03, 0xa8, 0xfa, 0x3d, 0x69, 0x84, 0x3e, - 0xff, 0xfc, 0xf3, 0x8f, 0xb1, 0x80, 0xd4, 0xbf, 0x94, 0x42, 0x13, 0xfc, 0x10, 0x5f, 0x88, 0x80, - 0x33, 0xe4, 0x5f, 0xbf, 0x88, 0xe3, 0x92, 0x81, 0x34, 0x1f, 0x47, 0x97, 0x80, 0xca, 0x43, 0xd3, - 0x83, 0x73, 0x4c, 0x21, 0x04, 0x0e, 0xe1, 0x30, 0x71, 0x09, 0xf0, 0xe9, 0xf0, 0x73, 0xfe, 0xf5, - 0x44, 0x26, 0x5c, 0xf7, 0x68, 0x81, 0x4a, 0xe2, 0x15, 0x85, 0xfa, 0xf3, 0x59, 0x94, 0xad, 0x3c, - 0x24, 0xcd, 0x63, 0xde, 0x35, 0xc2, 0xa1, 0x47, 0xf6, 0x90, 0x87, 0x1e, 0x07, 0xb9, 0x6f, 0x7d, - 0x3d, 0xec, 0xcf, 0x9c, 0x5c, 0x7d, 0xa4, 0xe7, 0xa3, 0xd5, 0xfb, 0x3d, 0x7d, 0xfc, 0xae, 0xeb, - 0xff, 0x71, 0x06, 0x65, 0xea, 0xb3, 0xb5, 0x13, 0xbd, 0x39, 0x52, 0xbd, 0xe9, 0x7f, 0x9f, 0xa5, - 0x06, 0x47, 0xd4, 0xf9, 0xd0, 0x83, 0x2c, 0x72, 0x1a, 0xfd, 0x87, 0x19, 0x34, 0x5e, 0x9f, 0x5b, - 0xa9, 0x09, 0xa7, 0x44, 0x77, 0x98, 0x97, 0x0f, 0xf8, 0x9b, 0xb0, 0x2e, 0x3d, 0x1f, 0xb3, 0x67, - 0xee, 0x56, 0x2d, 0xef, 0xc5, 0x5b, 0x6f, 0xeb, 0xad, 0x2e, 0x81, 0x23, 0x05, 0xe6, 0x13, 0xe8, - 0x9a, 0xef, 0x93, 0x1f, 0x87, 0x97, 0xbc, 0x3e, 0x03, 0xfc, 0x59, 0x94, 0xb9, 0xcb, 0x6f, 0x6b, - 0x7b, 0xf1, 0xb9, 0x79, 0x83, 0xf1, 0xa1, 0x93, 0x60, 0xa6, 0x6b, 0x1a, 0xc0, 0x81, 0x96, 0xa2, - 0x85, 0x6f, 0xf3, 0x05, 0x78, 0x4f, 0x85, 0xd7, 0xfc, 0xc2, 0xb7, 0xab, 0x65, 0x5c, 0x47, 0x23, - 0x35, 0xe2, 0xb4, 0x4d, 0xe8, 0x28, 0x7f, 0xce, 0xee, 0xcf, 0x84, 0xee, 0x54, 0x46, 0x3a, 0x61, - 0x21, 0x60, 0x26, 0x72, 0xc1, 0xef, 0x20, 0xc4, 0x6c, 0x94, 0x3d, 0x46, 0x55, 0xbb, 0x00, 0x76, - 0x3f, 0x33, 0x2d, 0x13, 0x6c, 0x3c, 0x81, 0x19, 0xde, 0x40, 0x85, 0x45, 0xdb, 0x30, 0xef, 0x9b, - 0xcc, 0x2d, 0x0b, 0x2a, 0xc8, 0xed, 0xee, 0x0c, 0x41, 0x4d, 0xc9, 0xb6, 0x50, 0x2e, 0xa9, 0x9a, - 0x18, 0x63, 0xf5, 0x1f, 0x0c, 0xa2, 0x2c, 0xed, 0xf6, 0x93, 0xf1, 0x7b, 0x98, 0xf1, 0x5b, 0x42, - 0x85, 0x7b, 0xb6, 0xb3, 0x61, 0x5a, 0x6b, 0x81, 0xc7, 0x2c, 0xdf, 0x9b, 0xc2, 0x2d, 0xff, 0x26, - 0xc3, 0x35, 0x02, 0xe7, 0x5a, 0x2d, 0x46, 0xbe, 0xcb, 0x08, 0x7e, 0x19, 0xa1, 0x15, 0xdd, 0x59, - 0x23, 0x1e, 0xd0, 0xe4, 0xc3, 0xd7, 0xe7, 0x1e, 0x40, 0xc1, 0x09, 0x57, 0x7c, 0x7d, 0x1e, 0x12, - 0xd3, 0x4d, 0x38, 0xbb, 0x27, 0x1d, 0x06, 0x9f, 0x5c, 0xd8, 0x84, 0xc3, 0x3d, 0xa9, 0x68, 0x04, - 0xb0, 0x1b, 0xd3, 0x1a, 0x42, 0xc2, 0xd9, 0x33, 0x8a, 0x08, 0x42, 0x9a, 0x1c, 0x78, 0xbc, 0xa7, - 0x84, 0xa3, 0x67, 0x4d, 0xe0, 0x81, 0x5f, 0x8c, 0x5c, 0x8e, 0x61, 0x89, 0x5b, 0xcf, 0xbb, 0xb1, - 0xd0, 0xb9, 0x62, 0x74, 0x37, 0xe7, 0x0a, 0xf5, 0xeb, 0x69, 0x34, 0x5c, 0xef, 0xae, 0xba, 0x5b, - 0xae, 0x47, 0xda, 0xc7, 0x5c, 0x8d, 0xfd, 0xed, 0x55, 0x36, 0x71, 0x7b, 0xf5, 0xb4, 0x2f, 0x14, - 0xe1, 0x64, 0x2e, 0x30, 0xe9, 0x7c, 0x71, 0xfc, 0xed, 0x34, 0x2a, 0xb0, 0x43, 0xf5, 0xb2, 0xe9, - 0x36, 0x1f, 0x81, 0xa3, 0xef, 0xd1, 0x4b, 0xe5, 0x70, 0x17, 0x51, 0x7b, 0x70, 0x9f, 0x56, 0xbf, - 0x92, 0x46, 0x23, 0xa5, 0xae, 0xb7, 0x5e, 0xf2, 0x40, 0xb7, 0x1e, 0xcb, 0xfd, 0xc9, 0xaf, 0xa5, - 0xd0, 0x04, 0x6d, 0xc8, 0x8a, 0xbd, 0x41, 0xac, 0x47, 0x70, 0xf0, 0x28, 0x1e, 0x20, 0xa6, 0x0f, - 0x78, 0x80, 0xe8, 0xcb, 0x32, 0xb3, 0xcf, 0x83, 0xd4, 0x6f, 0xa6, 0x10, 0xd2, 0xec, 0x16, 0xf9, - 0x98, 0x7c, 0xc6, 0x23, 0xb8, 0x76, 0xf8, 0x28, 0x7c, 0xc6, 0x23, 0x38, 0xc7, 0x39, 0xca, 0xcf, - 0xf8, 0x20, 0x85, 0x86, 0x67, 0x6c, 0xef, 0x98, 0xeb, 0x14, 0xff, 0x8a, 0x63, 0xae, 0x52, 0xfc, - 0x2b, 0x8e, 0xb9, 0x46, 0xfd, 0x66, 0x0a, 0x9d, 0xe6, 0x31, 0x65, 0xf9, 0x0e, 0xfd, 0x98, 0x2b, - 0x57, 0xfc, 0x83, 0x8e, 0x79, 0x0f, 0xfd, 0x64, 0x06, 0x9d, 0x86, 0x48, 0x79, 0x74, 0x93, 0xf0, - 0x31, 0x58, 0x19, 0x71, 0x53, 0xbe, 0x92, 0x5b, 0x4c, 0xb8, 0x92, 0xfb, 0xe3, 0xed, 0xe2, 0x8b, - 0x6b, 0xa6, 0xb7, 0xde, 0x5d, 0x9d, 0x6e, 0xda, 0xed, 0xeb, 0x6b, 0x8e, 0xfe, 0xc0, 0x64, 0x97, - 0x51, 0x7a, 0xeb, 0x7a, 0x10, 0x0a, 0x5d, 0xef, 0x98, 0x3c, 0x48, 0x7a, 0x1d, 0x2c, 0x6f, 0xca, - 0xd5, 0xbf, 0xcc, 0x73, 0x11, 0x7a, 0xd3, 0x36, 0x2d, 0xee, 0xfd, 0xc2, 0xcc, 0xae, 0x3a, 0xdd, - 0xad, 0xbc, 0x67, 0x9b, 0x56, 0x23, 0xea, 0x02, 0xb3, 0xdf, 0xfa, 0x42, 0xd6, 0x9a, 0x50, 0x8d, - 0xfa, 0x2f, 0x53, 0xe8, 0x09, 0x59, 0xf7, 0x3e, 0x0e, 0x96, 0xcc, 0x3f, 0x4f, 0xa1, 0x33, 0xb7, - 0x41, 0x38, 0xc1, 0xc5, 0xfb, 0xc7, 0xef, 0x8b, 0x8e, 0xf9, 0x62, 0x94, 0xf0, 0x45, 0xc7, 0x7c, - 0xda, 0xfb, 0x8d, 0x14, 0x3a, 0xb5, 0x5c, 0x2d, 0xcf, 0x7e, 0x5c, 0x74, 0x2e, 0xf6, 0x3d, 0xc7, - 0x5c, 0xe3, 0x62, 0xdf, 0xf3, 0x31, 0xd0, 0xb7, 0x7a, 0x69, 0x71, 0xe1, 0xe3, 0xa4, 0x6f, 0xd2, - 0xf7, 0x7c, 0x0c, 0xf4, 0x4d, 0xfa, 0x9e, 0x63, 0xae, 0x6f, 0xdf, 0xcc, 0xa1, 0x91, 0x3b, 0xdd, - 0x55, 0xc2, 0xaf, 0xf0, 0x1f, 0xeb, 0xf3, 0xb1, 0x1b, 0x68, 0x84, 0x8b, 0x01, 0xce, 0x96, 0x85, - 0xf0, 0x43, 0xfc, 0x39, 0x39, 0x8b, 0xf0, 0x20, 0x12, 0xe1, 0xf3, 0x28, 0xfb, 0x36, 0x71, 0x56, - 0xc5, 0x97, 0x39, 0x0f, 0x88, 0xb3, 0xaa, 0x01, 0x14, 0x2f, 0x84, 0x0e, 0xb3, 0xa5, 0x5a, 0x15, - 0xe2, 0xc7, 0xf3, 0x63, 0x6d, 0x08, 0x88, 0x1f, 0x78, 0x07, 0xe9, 0x1d, 0x93, 0x45, 0x9e, 0x17, - 0x5f, 0x05, 0x46, 0x4b, 0xe2, 0x25, 0x34, 0x29, 0xba, 0x87, 0xb0, 0xe0, 0xe9, 0xf9, 0x04, 0x76, - 0x49, 0x61, 0xd3, 0xe3, 0x45, 0xf1, 0xeb, 0x68, 0xd4, 0x07, 0x82, 0xa3, 0xcb, 0x70, 0x18, 0xb1, - 0x37, 0x60, 0x15, 0xc9, 0xaa, 0x20, 0x15, 0x10, 0x19, 0xc0, 0x61, 0x2d, 0x4a, 0x60, 0x10, 0x71, - 0x1c, 0x92, 0x0a, 0xe0, 0x17, 0x80, 0x41, 0xc7, 0xb6, 0x5c, 0x02, 0x57, 0xfa, 0x23, 0xf0, 0x6c, - 0x05, 0x1c, 0x72, 0x1d, 0x0e, 0x67, 0x8f, 0x93, 0x24, 0x32, 0xbc, 0x8c, 0x50, 0x78, 0xf5, 0xca, - 0x9f, 0x80, 0xee, 0xfb, 0x52, 0x58, 0x60, 0x21, 0x5e, 0x9a, 0x8c, 0x1d, 0xe4, 0xd2, 0x44, 0xfd, - 0xed, 0x34, 0x1a, 0x29, 0x75, 0x3a, 0xc1, 0x50, 0x78, 0x0e, 0xe5, 0x4a, 0x9d, 0xce, 0x5d, 0xad, - 0x2a, 0x46, 0x70, 0xd5, 0x3b, 0x9d, 0x46, 0xd7, 0x31, 0x45, 0xcf, 0x39, 0x46, 0x84, 0x67, 0xd1, - 0x58, 0xa9, 0xd3, 0xa9, 0x75, 0x57, 0x5b, 0x66, 0x53, 0x48, 0x08, 0xc1, 0xf2, 0xce, 0x74, 0x3a, - 0x8d, 0x0e, 0x60, 0xa2, 0x19, 0x3d, 0xe4, 0x32, 0xf8, 0x5d, 0x08, 0x9c, 0xc0, 0xf3, 0x11, 0xb0, - 0x88, 0xe7, 0x6a, 0x10, 0xbb, 0x35, 0x6c, 0xdb, 0x74, 0x40, 0xc4, 0x62, 0xdc, 0x9e, 0xf7, 0x23, - 0x05, 0xd3, 0x8a, 0x62, 0x79, 0x07, 0x42, 0x96, 0xf8, 0xd3, 0x68, 0xa8, 0xd4, 0xe9, 0x08, 0xa7, - 0xf2, 0xe0, 0x7a, 0x41, 0x4b, 0x45, 0xfa, 0xd8, 0x27, 0x9b, 0x7a, 0x15, 0x8d, 0xcb, 0x95, 0xed, - 0x2b, 0x46, 0xee, 0x1f, 0xa5, 0xe0, 0x83, 0x8e, 0xb9, 0xe7, 0xe7, 0x4d, 0x94, 0x29, 0x75, 0x3a, - 0x7c, 0x3e, 0x3a, 0x95, 0xd0, 0x1f, 0xd1, 0x47, 0x64, 0xa5, 0x4e, 0xc7, 0xff, 0xf4, 0x63, 0xee, - 0x64, 0x7d, 0xa0, 0x4f, 0xff, 0x80, 0x7d, 0xfa, 0x31, 0x77, 0xa5, 0xfe, 0xf9, 0x0c, 0x9a, 0x28, - 0x75, 0x3a, 0x27, 0x61, 0x7a, 0x1f, 0xd5, 0x53, 0xb5, 0xe7, 0x11, 0x12, 0xa6, 0xc7, 0xa1, 0xe0, - 0xe1, 0xc6, 0x88, 0x30, 0x35, 0x2a, 0x29, 0x4d, 0x20, 0xf2, 0xd5, 0x2f, 0xbf, 0x2f, 0xf5, 0xfb, - 0x4a, 0x06, 0xa6, 0xe2, 0xe3, 0x1e, 0x76, 0xe3, 0xa3, 0xd2, 0x6d, 0xbc, 0x0f, 0x72, 0xfb, 0xea, - 0x83, 0x5f, 0x95, 0x06, 0x0f, 0x84, 0x7d, 0x3d, 0xe9, 0x85, 0xc1, 0x43, 0x99, 0xc5, 0xe3, 0xa2, - 0x30, 0x79, 0x2c, 0x00, 0x3f, 0x7f, 0x04, 0x8f, 0x4c, 0xd1, 0xa4, 0xa8, 0x86, 0x69, 0x68, 0x11, - 0x5a, 0xbf, 0x0f, 0x87, 0xf6, 0xd5, 0x87, 0xdb, 0x69, 0x78, 0x7d, 0x16, 0x44, 0xb6, 0x38, 0xfc, - 0xee, 0xe2, 0x3a, 0x42, 0xec, 0x7e, 0x36, 0x70, 0xfe, 0x1c, 0x63, 0x8f, 0xd8, 0x59, 0x5a, 0x09, - 0xfe, 0x88, 0x3d, 0x24, 0x09, 0xfc, 0x48, 0x32, 0x89, 0x7e, 0x24, 0x57, 0x51, 0x5e, 0xd3, 0x37, - 0xdf, 0xea, 0x12, 0x67, 0x8b, 0x9b, 0x33, 0x2c, 0x70, 0x94, 0xbe, 0xd9, 0xf8, 0x32, 0x05, 0x6a, - 0x01, 0x1a, 0xab, 0xc1, 0xf3, 0x45, 0xe1, 0xde, 0x9c, 0x9d, 0xdd, 0x06, 0x8f, 0x16, 0x0f, 0xa2, - 0xe8, 0xf8, 0x15, 0x94, 0x29, 0xdd, 0xab, 0x73, 0xc9, 0x06, 0x5d, 0x5b, 0xba, 0x57, 0xe7, 0xf2, - 0xea, 0x59, 0xf6, 0x5e, 0x5d, 0xfd, 0x4a, 0x1a, 0xe1, 0x38, 0x25, 0x7e, 0x11, 0x0d, 0x03, 0x74, - 0x8d, 0xea, 0x8c, 0x98, 0x8f, 0x6c, 0xd3, 0x6d, 0x38, 0x00, 0x95, 0x8c, 0x3b, 0x9f, 0x14, 0xbf, - 0x0c, 0x69, 0x13, 0x79, 0x46, 0x1c, 0x29, 0x1f, 0xd9, 0xa6, 0xeb, 0x27, 0x1a, 0x8c, 0x64, 0x4d, - 0xe4, 0xc4, 0x60, 0x17, 0xde, 0xab, 0xcf, 0xdb, 0xae, 0xc7, 0x45, 0xcd, 0xec, 0xc2, 0x4d, 0x17, - 0x92, 0xd8, 0x49, 0x76, 0x21, 0x23, 0x83, 0x64, 0x1e, 0xf7, 0xea, 0xcc, 0x99, 0xdf, 0xd0, 0xec, - 0x96, 0x6f, 0x50, 0xb2, 0x64, 0x1e, 0x9b, 0x6e, 0x83, 0x3d, 0x04, 0x30, 0x20, 0x5f, 0xa3, 0x94, - 0xcc, 0x43, 0x2a, 0xa5, 0xfe, 0x70, 0x1e, 0x15, 0xca, 0xba, 0xa7, 0xaf, 0xea, 0x2e, 0x11, 0x76, - 0xd3, 0x13, 0x3e, 0xcc, 0xff, 0x1c, 0x41, 0x0e, 0xc6, 0x6a, 0xc2, 0xd7, 0x44, 0x0b, 0xe0, 0xcf, - 0x86, 0x7c, 0x83, 0x54, 0x6b, 0x62, 0xee, 0x96, 0xd5, 0x46, 0x87, 0x83, 0xb5, 0x18, 0x21, 0xbe, - 0x86, 0x46, 0x7c, 0x18, 0xdd, 0x00, 0x64, 0x42, 0x9d, 0x31, 0x56, 0xa9, 0xfd, 0xaf, 0x89, 0x68, - 0xfc, 0x32, 0x1a, 0xf5, 0x7f, 0x0a, 0xa6, 0x35, 0x4b, 0x44, 0xb3, 0x1a, 0xdb, 0x3d, 0x89, 0xa4, - 0x62, 0x51, 0x98, 0xdf, 0x06, 0xa5, 0xa2, 0x91, 0x5c, 0x2f, 0x12, 0x29, 0xfe, 0x32, 0x1a, 0xf7, - 0x7f, 0xf3, 0x0d, 0x03, 0x4b, 0x8b, 0x73, 0x2d, 0x48, 0x07, 0x19, 0x11, 0xeb, 0xb4, 0x4c, 0xce, - 0xb6, 0x0e, 0x4f, 0xfa, 0xe9, 0x4b, 0x8c, 0xd5, 0xf8, 0xce, 0x21, 0x52, 0x01, 0xae, 0xa2, 0x49, - 0x1f, 0x12, 0x6a, 0xe8, 0x50, 0xb8, 0x63, 0x34, 0x56, 0x1b, 0x89, 0x4a, 0x1a, 0x2f, 0x85, 0x5b, - 0xe8, 0xbc, 0x04, 0x34, 0xdc, 0x75, 0xf3, 0xbe, 0xc7, 0xb7, 0x7b, 0x3c, 0x8a, 0x23, 0xcf, 0x57, - 0x15, 0x70, 0x65, 0x34, 0x7e, 0xe2, 0x39, 0x39, 0x29, 0x46, 0x5f, 0x6e, 0xb8, 0x8e, 0x4e, 0xfb, - 0xf8, 0xdb, 0xb3, 0xb5, 0x9a, 0x63, 0xbf, 0x47, 0x9a, 0x5e, 0xb5, 0xcc, 0xb7, 0xcb, 0x10, 0xdd, - 0xc7, 0x58, 0x6d, 0xac, 0x35, 0x3b, 0x54, 0x29, 0x28, 0x4e, 0x66, 0x9e, 0x58, 0x18, 0xbf, 0x8d, - 0xce, 0x08, 0xf0, 0xaa, 0xe5, 0x7a, 0xba, 0xd5, 0x24, 0xd5, 0x32, 0xdf, 0x43, 0xc3, 0x7e, 0x9e, - 0x73, 0x35, 0x39, 0x52, 0x66, 0x9b, 0x5c, 0x1c, 0xbf, 0x8a, 0xc6, 0x7c, 0x04, 0xbb, 0xdd, 0x1a, - 0x81, 0xdb, 0x2d, 0x18, 0x92, 0xc6, 0x6a, 0x23, 0xfa, 0xe6, 0x4c, 0x26, 0x16, 0x35, 0x0a, 0xb2, - 0xf1, 0x8e, 0x4a, 0x1a, 0xe5, 0x6d, 0x75, 0x12, 0x95, 0x11, 0x32, 0xf4, 0xbe, 0x1e, 0x6a, 0xd4, - 0xb2, 0x63, 0xae, 0x99, 0x6c, 0x27, 0xed, 0x3f, 0x33, 0x5b, 0x6d, 0xd8, 0x00, 0x4c, 0xd2, 0x0f, - 0x46, 0x3e, 0x55, 0x42, 0xa7, 0x12, 0x74, 0x6c, 0x5f, 0x3b, 0xc6, 0xaf, 0xa7, 0xc3, 0x46, 0x1c, - 0xf3, 0x6d, 0xe3, 0x0c, 0xca, 0xfb, 0x5f, 0xc2, 0x8d, 0x07, 0xa5, 0xd7, 0xd0, 0x8c, 0xf2, 0xf0, - 0xf1, 0x92, 0x38, 0x8e, 0xf9, 0x56, 0xf2, 0x51, 0x88, 0xe3, 0xc3, 0x54, 0x28, 0x8e, 0x63, 0xbe, - 0xbd, 0xfc, 0x8d, 0x4c, 0x38, 0x27, 0x9d, 0xec, 0x31, 0x1f, 0x95, 0x99, 0x1c, 0x7a, 0x0b, 0xe6, - 0xf6, 0xf1, 0xdc, 0x4b, 0x54, 0xcd, 0xa1, 0x03, 0xaa, 0xe6, 0xef, 0xc4, 0xfb, 0x93, 0x99, 0x9e, - 0xc7, 0xb2, 0x3f, 0x1f, 0xc1, 0x60, 0xc5, 0x37, 0xc2, 0x75, 0x8c, 0xd9, 0xe8, 0x83, 0x42, 0x90, - 0xa4, 0x55, 0x6e, 0xa2, 0xcb, 0x24, 0xf8, 0x8b, 0xe8, 0x9c, 0x04, 0xa8, 0xe9, 0x8e, 0xde, 0x26, - 0x5e, 0x98, 0x68, 0x09, 0xc2, 0x5e, 0xf8, 0xa5, 0x1b, 0x9d, 0x00, 0x2d, 0x26, 0x6f, 0xea, 0xc1, - 0x41, 0x50, 0x8e, 0xa1, 0x7d, 0xb8, 0x92, 0xfe, 0x87, 0x34, 0x1a, 0xab, 0xd9, 0xae, 0xb7, 0xe6, - 0x10, 0xb7, 0xa6, 0x3b, 0x2e, 0x79, 0x7c, 0x7b, 0xf4, 0x33, 0x68, 0x0c, 0x9e, 0x53, 0xb7, 0x89, - 0xe5, 0x09, 0x19, 0x4d, 0x59, 0xe0, 0x56, 0x1f, 0xc1, 0x63, 0x74, 0x4b, 0x84, 0xb8, 0x88, 0x06, - 0x99, 0x0e, 0x08, 0x8f, 0xdc, 0x99, 0x02, 0x30, 0xb8, 0xfa, 0x57, 0x33, 0x68, 0xd4, 0x97, 0xf2, - 0x8c, 0x79, 0x5c, 0xcf, 0x6c, 0x8e, 0x56, 0xc8, 0xd7, 0x11, 0xaa, 0xd9, 0x8e, 0xa7, 0xb7, 0xa0, - 0x58, 0x2e, 0xdc, 0xec, 0x74, 0x00, 0xca, 0xca, 0x08, 0x24, 0x78, 0x1a, 0x21, 0x61, 0x80, 0x0d, - 0xc1, 0x00, 0x1b, 0xdf, 0xd9, 0x2e, 0xa2, 0x70, 0x5c, 0x69, 0x02, 0x85, 0xfa, 0xcb, 0x69, 0x34, - 0xe1, 0x77, 0x52, 0xe5, 0x21, 0x69, 0x76, 0xbd, 0xc7, 0x78, 0x30, 0xc8, 0xd2, 0x1e, 0xdc, 0x55, - 0xda, 0xea, 0x7f, 0x11, 0x26, 0x92, 0xd9, 0x96, 0x7d, 0x32, 0x91, 0xfc, 0x49, 0xe8, 0xb8, 0xfa, - 0x7d, 0x19, 0x74, 0xda, 0x97, 0xfa, 0x5c, 0xd7, 0x02, 0x33, 0x61, 0x56, 0x6f, 0xb5, 0x1e, 0xe7, - 0x75, 0x79, 0xc4, 0x17, 0xc4, 0x32, 0x8f, 0x4f, 0xc2, 0xf3, 0x25, 0xdc, 0xe7, 0xe0, 0x86, 0x6d, - 0x1a, 0x9a, 0x48, 0x84, 0x5f, 0x47, 0xa3, 0xfe, 0xcf, 0x92, 0xb3, 0xe6, 0x2f, 0xc6, 0xb0, 0xe9, - 0x0f, 0x0a, 0xe9, 0x8e, 0xf4, 0x0c, 0x4b, 0x2a, 0xa0, 0xfe, 0xc7, 0x1c, 0x9a, 0xba, 0x67, 0x5a, - 0x86, 0xbd, 0xe9, 0xfa, 0xe9, 0x36, 0x8e, 0xbd, 0xd1, 0x7b, 0xd4, 0x69, 0x36, 0xde, 0x42, 0x67, - 0xa2, 0x22, 0x75, 0x82, 0x20, 0x68, 0xbc, 0x77, 0x36, 0x19, 0x41, 0xc3, 0x4f, 0xbc, 0xc1, 0x4f, - 0xce, 0xb4, 0xe4, 0x92, 0xd1, 0xcc, 0x1d, 0x43, 0x7b, 0xc9, 0xdc, 0xf1, 0x2c, 0xca, 0x95, 0xed, - 0xb6, 0x6e, 0xfa, 0x0f, 0x72, 0x61, 0x14, 0x07, 0xf5, 0x02, 0x46, 0xe3, 0x14, 0x94, 0x3f, 0xaf, - 0x18, 0xba, 0x6c, 0x38, 0xe4, 0xef, 0x17, 0xe8, 0xba, 0xc4, 0xd1, 0x44, 0x22, 0x6c, 0xa3, 0x31, - 0x5e, 0x1d, 0x3f, 0xe7, 0x42, 0x70, 0xce, 0x15, 0x24, 0x35, 0xed, 0xad, 0x56, 0xd3, 0x52, 0x39, - 0x76, 0xe0, 0xc5, 0x12, 0x8a, 0xf0, 0x8f, 0x61, 0x27, 0x5e, 0x9a, 0xcc, 0x5f, 0x10, 0x02, 0x4c, - 0x32, 0x23, 0x71, 0x21, 0xc0, 0x2c, 0x23, 0x12, 0xe1, 0x0a, 0x9a, 0x2c, 0xb5, 0x5a, 0xf6, 0x66, - 0x10, 0x6d, 0x8c, 0xaa, 0xc4, 0x28, 0x44, 0x5c, 0x86, 0xe3, 0x13, 0x9d, 0x22, 0xe1, 0xe3, 0x1a, - 0x4d, 0x8e, 0xd6, 0xe2, 0x25, 0xa6, 0xde, 0x40, 0x38, 0xde, 0xe6, 0x7d, 0x1d, 0xa0, 0xfc, 0x70, - 0x1a, 0xe1, 0xc8, 0x3e, 0xa4, 0xf2, 0x18, 0x9b, 0x53, 0xea, 0xcf, 0xa4, 0xd0, 0x64, 0x2c, 0x0a, - 0x20, 0xbe, 0x89, 0x10, 0x83, 0x08, 0x61, 0x64, 0xe0, 0x5d, 0x66, 0x18, 0x19, 0x90, 0x2f, 0x25, - 0x21, 0x19, 0xbe, 0x8e, 0xf2, 0xec, 0x57, 0x90, 0xa3, 0x37, 0x5a, 0xa4, 0xdb, 0x35, 0x0d, 0x2d, - 0x20, 0x0a, 0x6b, 0x81, 0x93, 0xb8, 0x4c, 0x62, 0x11, 0x6f, 0xab, 0x13, 0xd4, 0x42, 0xc9, 0xd4, - 0x0f, 0x52, 0x68, 0x34, 0x68, 0x70, 0xc9, 0x38, 0xaa, 0xae, 0xcb, 0xf1, 0x80, 0x8a, 0x99, 0xdd, - 0x02, 0x2a, 0x46, 0xe6, 0x26, 0x86, 0x55, 0xff, 0x49, 0x0a, 0x4d, 0x04, 0xb4, 0x47, 0x78, 0x54, - 0x73, 0xe8, 0x0f, 0xf9, 0x91, 0x14, 0x52, 0x66, 0xcc, 0x56, 0xcb, 0xb4, 0xd6, 0xaa, 0xd6, 0x7d, - 0xdb, 0x69, 0xc3, 0x40, 0x3d, 0xba, 0xb3, 0x38, 0xf5, 0x07, 0x53, 0x68, 0x92, 0x37, 0x68, 0x56, - 0x77, 0x8c, 0xa3, 0x3b, 0x24, 0x8d, 0xb6, 0xe4, 0xe8, 0x7a, 0x59, 0xfd, 0x3f, 0x29, 0x84, 0x16, - 0xec, 0xe6, 0xc6, 0x31, 0x7f, 0xcf, 0xf2, 0x32, 0xca, 0xb1, 0xb7, 0xee, 0x7c, 0xb6, 0x9b, 0x9c, - 0x66, 0x8f, 0x44, 0xe8, 0xa7, 0x31, 0xc4, 0xcc, 0x38, 0xbf, 0xaf, 0xc9, 0xb1, 0xb7, 0xf2, 0x1a, - 0x2f, 0x00, 0xcf, 0x12, 0x29, 0xd9, 0x31, 0xf7, 0x65, 0xfd, 0xa1, 0x14, 0x3a, 0xad, 0x91, 0xa6, - 0xfd, 0x80, 0x38, 0x5b, 0xb3, 0xb6, 0x41, 0x6e, 0x13, 0x8b, 0x38, 0x47, 0xa5, 0xdf, 0x7f, 0x1f, - 0x82, 0xa5, 0x86, 0x8d, 0xb9, 0xeb, 0x12, 0xe3, 0xf8, 0x84, 0xec, 0x55, 0xff, 0xee, 0x10, 0x52, - 0x12, 0x6d, 0xa3, 0x63, 0x6b, 0x0f, 0xf4, 0x34, 0x78, 0xb3, 0x8f, 0xca, 0xe0, 0x1d, 0xdc, 0x9f, - 0xc1, 0x9b, 0xdb, 0xaf, 0xc1, 0x3b, 0xb4, 0x17, 0x83, 0xb7, 0x1d, 0x35, 0x78, 0xf3, 0x60, 0xf0, - 0xde, 0xec, 0x6b, 0xf0, 0x56, 0x2c, 0xe3, 0x80, 0xe6, 0xee, 0xb1, 0x4d, 0x54, 0x73, 0x10, 0x3b, - 0xfd, 0x0a, 0x9d, 0xdc, 0x9a, 0xb6, 0x63, 0x10, 0x83, 0x9b, 0xe7, 0x70, 0x1e, 0xed, 0x70, 0x98, - 0x16, 0x60, 0x63, 0x59, 0x7f, 0xc6, 0xf6, 0x92, 0xf5, 0xe7, 0x11, 0x18, 0xf0, 0xbf, 0x99, 0x42, - 0x93, 0xb3, 0xc4, 0xf1, 0x58, 0x68, 0x9b, 0x47, 0x71, 0x09, 0x5a, 0x42, 0x13, 0x02, 0x43, 0xb0, - 0x45, 0xd3, 0xe1, 0xc5, 0x6e, 0x93, 0x38, 0x5e, 0xf4, 0x5e, 0x38, 0x4a, 0x4f, 0xab, 0xf7, 0x23, - 0x6f, 0xf3, 0xb1, 0x1b, 0x54, 0xef, 0xc3, 0x99, 0x20, 0x4d, 0xfe, 0x4b, 0x0b, 0xe8, 0xd5, 0x9f, - 0x4e, 0xa1, 0xcb, 0x1a, 0xb1, 0xc8, 0xa6, 0xbe, 0xda, 0x22, 0x02, 0x63, 0x3e, 0xb7, 0xd3, 0x71, - 0x6f, 0xba, 0x6d, 0xdd, 0x6b, 0xae, 0x1f, 0xea, 0x2b, 0xe7, 0xd0, 0xa8, 0x38, 0x03, 0xed, 0x63, - 0x76, 0x92, 0xca, 0xa9, 0x7f, 0x90, 0x46, 0x43, 0x33, 0xb6, 0x77, 0xe8, 0xac, 0xf5, 0xe1, 0xa4, - 0x9d, 0xde, 0xc7, 0x9e, 0xfe, 0xd3, 0x50, 0xb9, 0x10, 0x96, 0x12, 0xae, 0xfd, 0x57, 0xed, 0x58, - 0xf8, 0x4e, 0x9f, 0x6c, 0x9f, 0x91, 0xd9, 0x5f, 0x44, 0xc3, 0xf0, 0x92, 0x54, 0x38, 0x75, 0x03, - 0xa7, 0x1a, 0x8f, 0x02, 0xa3, 0x75, 0x84, 0xa4, 0xf8, 0x8b, 0x52, 0x34, 0x9d, 0xdc, 0xe1, 0x23, - 0xb9, 0x0b, 0xec, 0xd4, 0x9f, 0xca, 0xa2, 0x51, 0xdf, 0x01, 0xe2, 0x88, 0xe4, 0xfe, 0x1c, 0xca, - 0xcd, 0xdb, 0x42, 0x60, 0x4c, 0x70, 0x98, 0x58, 0xb7, 0xdd, 0x88, 0x27, 0x08, 0x27, 0xc2, 0x37, - 0x51, 0x7e, 0xc9, 0x36, 0x44, 0x77, 0x1f, 0x18, 0x4b, 0x96, 0x6d, 0xc4, 0x9e, 0x4b, 0x04, 0x84, - 0xf8, 0x32, 0xca, 0x82, 0xa7, 0x94, 0x70, 0xd8, 0x19, 0xf1, 0x8e, 0x02, 0xbc, 0xd0, 0xa3, 0xb9, - 0xfd, 0xf6, 0xe8, 0xd0, 0x41, 0x7b, 0x34, 0xff, 0x48, 0x7b, 0x14, 0xbf, 0x83, 0x46, 0xa1, 0x26, - 0x3f, 0x5e, 0xfc, 0xee, 0xcb, 0xca, 0x13, 0x7c, 0xe6, 0x1f, 0x63, 0xed, 0xe6, 0x51, 0xe3, 0x61, - 0xc2, 0x97, 0x58, 0xa9, 0xbf, 0x93, 0x42, 0x43, 0x77, 0xad, 0x0d, 0xcb, 0xde, 0x3c, 0x9c, 0x9e, - 0xdc, 0x44, 0x23, 0x9c, 0x8d, 0x30, 0x23, 0xc2, 0xbb, 0x95, 0x2e, 0x03, 0x37, 0x80, 0x93, 0x26, - 0x52, 0xe1, 0x57, 0x83, 0x42, 0xe0, 0xc2, 0x98, 0x09, 0x03, 0xc2, 0xfa, 0x85, 0x9a, 0x72, 0x0c, - 0x4b, 0x91, 0x1c, 0x9f, 0x47, 0xd9, 0x32, 0x6d, 0xaa, 0x10, 0x11, 0x89, 0x36, 0x45, 0x03, 0xa8, - 0xfa, 0xeb, 0x69, 0x34, 0x1e, 0x39, 0xa6, 0x78, 0x16, 0x0d, 0xf3, 0x63, 0x02, 0xd3, 0x0f, 0xaa, - 0x09, 0x2e, 0x8e, 0x01, 0x50, 0xcb, 0xb3, 0x3f, 0xab, 0x06, 0xfe, 0x1c, 0x1a, 0xb2, 0x5d, 0x98, - 0xc8, 0xe1, 0x5b, 0xc6, 0x43, 0xc5, 0x5f, 0xae, 0xd3, 0xb6, 0x33, 0x95, 0xe6, 0x24, 0xa2, 0x1e, - 0xd9, 0x2e, 0x7c, 0xda, 0x2d, 0x34, 0xac, 0xbb, 0x2e, 0xf1, 0x1a, 0x9e, 0xbe, 0x26, 0xc6, 0xd9, - 0x0c, 0x80, 0xa2, 0x4e, 0x03, 0x70, 0x45, 0x5f, 0xc3, 0x6f, 0xa0, 0xb1, 0xa6, 0x43, 0x60, 0xaa, - 0xd7, 0x5b, 0xb4, 0x95, 0x82, 0x29, 0x26, 0x21, 0xc4, 0x93, 0xe1, 0x10, 0x51, 0x35, 0xf0, 0xdb, - 0x68, 0x8c, 0x7f, 0x0e, 0xf3, 0x2f, 0x82, 0xe1, 0x31, 0x1e, 0x4e, 0xdc, 0x4c, 0x24, 0xcc, 0xc3, - 0x88, 0xbb, 0x99, 0x89, 0xe4, 0x22, 0x5f, 0x43, 0x20, 0x55, 0xbf, 0x95, 0xa2, 0xe6, 0x01, 0x05, - 0x04, 0xe9, 0x53, 0xdb, 0xfb, 0xd4, 0x95, 0x76, 0x98, 0x21, 0x21, 0xe7, 0xf6, 0x99, 0x53, 0x34, - 0x8e, 0xc5, 0xd3, 0x28, 0x67, 0x88, 0xa7, 0x0d, 0x67, 0xe5, 0x8f, 0xf0, 0xeb, 0xd1, 0x38, 0x15, - 0xbe, 0x82, 0xb2, 0xd4, 0xfc, 0xe3, 0xdb, 0xbd, 0xc4, 0xb5, 0x4a, 0x03, 0x0a, 0xf5, 0x7b, 0xd2, - 0x68, 0x54, 0xf8, 0x9a, 0x1b, 0x87, 0xfa, 0x9c, 0x57, 0xf6, 0xd6, 0x4c, 0xee, 0xf1, 0x08, 0xb0, - 0xa0, 0xc9, 0xb7, 0x02, 0x51, 0xec, 0xe9, 0xa8, 0x9a, 0x0b, 0xe6, 0x45, 0xfe, 0xa1, 0xb9, 0xbd, - 0x6f, 0x19, 0x28, 0xfd, 0x9b, 0xd9, 0x7c, 0xba, 0x90, 0x79, 0x33, 0x9b, 0xcf, 0x16, 0x06, 0xd5, - 0x5f, 0xac, 0xa3, 0xc1, 0x65, 0x8b, 0x2c, 0xdf, 0xc7, 0xcf, 0x0b, 0x39, 0x54, 0xf8, 0xc7, 0x4f, - 0x8a, 0x2c, 0x01, 0x31, 0x3f, 0xa0, 0x09, 0x99, 0x56, 0x6e, 0x89, 0x89, 0x20, 0x78, 0x2f, 0x62, - 0xb1, 0x0c, 0xc3, 0xcc, 0x0f, 0x68, 0x62, 0xc2, 0x88, 0x5b, 0x62, 0x52, 0x00, 0x2e, 0x2c, 0xa9, - 0x14, 0xc3, 0xf8, 0xa5, 0xf8, 0xe6, 0x7b, 0x21, 0x29, 0x06, 0x7f, 0xf4, 0x7e, 0x20, 0x4e, 0x31, - 0x3f, 0xa0, 0x25, 0xc7, 0xee, 0x1f, 0x15, 0xcf, 0xb4, 0xb9, 0xd8, 0x4f, 0x47, 0xb6, 0x4e, 0x80, - 0x9b, 0x1f, 0xd0, 0x24, 0x5a, 0xfc, 0x52, 0x90, 0x69, 0x89, 0x2e, 0xab, 0x51, 0xd7, 0x66, 0x01, - 0x35, 0x3f, 0xa0, 0x89, 0x94, 0x42, 0xa5, 0x35, 0xc7, 0x0c, 0xd2, 0xa0, 0x44, 0x2b, 0x05, 0x9c, - 0x50, 0x29, 0xfc, 0xc6, 0xaf, 0x45, 0xf2, 0x5d, 0xf3, 0xb5, 0xe5, 0x4c, 0xa4, 0x30, 0x43, 0xce, - 0x0f, 0x68, 0x91, 0xec, 0xd8, 0x57, 0xfc, 0x1c, 0xbb, 0x7c, 0xd1, 0x18, 0x17, 0x0e, 0x1f, 0xcc, - 0xf7, 0xa9, 0x94, 0xfc, 0x1c, 0xbc, 0xb7, 0xc4, 0xdc, 0xaa, 0x7c, 0x73, 0x81, 0x23, 0xb5, 0x54, - 0x2c, 0x83, 0xf6, 0x8e, 0xb0, 0xf3, 0x7d, 0x23, 0x9a, 0x85, 0x90, 0xe7, 0xb6, 0x3c, 0x1b, 0x29, - 0xc9, 0xb1, 0xf3, 0x03, 0x5a, 0x34, 0x6b, 0xe1, 0x4b, 0x52, 0x06, 0x3c, 0xfe, 0x78, 0x31, 0x2a, - 0x55, 0x8a, 0x12, 0xa4, 0x0a, 0xb9, 0xf2, 0xde, 0x88, 0xa6, 0x64, 0xe3, 0x4f, 0x15, 0xcf, 0x26, - 0x27, 0xee, 0x12, 0xaa, 0xf6, 0x53, 0xb8, 0xbd, 0x24, 0xa5, 0xce, 0x82, 0xec, 0x94, 0x09, 0x55, - 0xeb, 0x9e, 0x2e, 0x56, 0xcd, 0x86, 0xbc, 0x94, 0xc4, 0x09, 0x82, 0xc5, 0xc7, 0x3b, 0x14, 0x70, - 0x42, 0x87, 0xb2, 0x84, 0x4f, 0x2f, 0x49, 0x01, 0xc1, 0x79, 0x34, 0xf8, 0xa0, 0x52, 0x01, 0x45, - 0x2b, 0x15, 0x43, 0x87, 0xdf, 0x12, 0xe3, 0x64, 0x2b, 0x93, 0x72, 0x07, 0x85, 0x18, 0xda, 0x41, - 0x42, 0x3c, 0xed, 0x22, 0xc4, 0xe0, 0x55, 0x30, 0x90, 0x8f, 0x04, 0x2d, 0x9c, 0xad, 0xcd, 0x0f, - 0x68, 0x10, 0x9d, 0x57, 0x65, 0xd1, 0x9d, 0x95, 0x53, 0x40, 0x31, 0x1a, 0xa4, 0x28, 0x7b, 0x48, - 0x9a, 0xf3, 0x03, 0x1a, 0x8b, 0xfc, 0xfc, 0xbc, 0x10, 0x47, 0x51, 0x39, 0x2d, 0x4f, 0x11, 0x01, - 0x82, 0x4e, 0x11, 0x61, 0xb4, 0xc5, 0xb9, 0x78, 0xac, 0x41, 0xe5, 0x8c, 0x7c, 0xfe, 0x15, 0xc5, - 0xcf, 0x0f, 0x68, 0xf1, 0xf8, 0x84, 0x2f, 0x49, 0xe1, 0xf7, 0x94, 0xb3, 0x91, 0xf7, 0x04, 0x21, - 0x8a, 0x8a, 0x4b, 0x0c, 0xd4, 0xb7, 0x9c, 0x98, 0x30, 0x43, 0x39, 0x07, 0x0c, 0x9e, 0x0c, 0x18, - 0xc4, 0x49, 0xe6, 0x07, 0xb4, 0xc4, 0x54, 0x1b, 0xb3, 0xb1, 0x20, 0x78, 0x8a, 0x22, 0x1f, 0xbc, - 0x44, 0xd0, 0xf3, 0x03, 0x5a, 0x2c, 0x6c, 0xde, 0x2d, 0x31, 0xfa, 0x9c, 0xf2, 0x84, 0xdc, 0x89, - 0x21, 0x86, 0x76, 0xa2, 0x10, 0xa5, 0xee, 0x96, 0x18, 0x25, 0x4d, 0x99, 0x8a, 0x97, 0x0a, 0x67, - 0x4e, 0x21, 0x9a, 0x9a, 0x96, 0x1c, 0x42, 0x4a, 0x79, 0x92, 0x87, 0xb9, 0xe5, 0xe5, 0x93, 0x68, - 0xe6, 0x07, 0xb4, 0xe4, 0xf0, 0x53, 0x5a, 0x72, 0x14, 0x27, 0xe5, 0x7c, 0x3f, 0x9e, 0x41, 0xeb, - 0x92, 0x23, 0x40, 0xe9, 0x7d, 0xa2, 0xf3, 0x28, 0x17, 0xe4, 0xc7, 0xcc, 0x3d, 0x09, 0xe7, 0x07, - 0xb4, 0x3e, 0x31, 0x7e, 0xee, 0xf6, 0x08, 0x95, 0xa3, 0x5c, 0x94, 0xa3, 0x5c, 0x27, 0x12, 0xcd, - 0x0f, 0x68, 0x3d, 0x02, 0xed, 0xdc, 0xed, 0x11, 0xdd, 0x45, 0x29, 0xf6, 0x65, 0x1b, 0xc8, 0xa3, - 0x47, 0x6c, 0x98, 0xe5, 0xc4, 0x10, 0x2b, 0xca, 0x25, 0x59, 0x75, 0x13, 0x48, 0xa8, 0xea, 0x26, - 0x05, 0x67, 0x59, 0x4e, 0x8c, 0x09, 0xa2, 0x3c, 0xd5, 0x87, 0x61, 0xd0, 0xc6, 0xc4, 0x68, 0x22, - 0xcb, 0x89, 0x41, 0x39, 0x14, 0x55, 0x66, 0x98, 0x40, 0x42, 0x19, 0x26, 0x85, 0xf3, 0x58, 0x4e, - 0x8c, 0x22, 0xa1, 0x3c, 0xdd, 0x87, 0x61, 0xd8, 0xc2, 0xa4, 0xf8, 0x13, 0x2f, 0x49, 0x61, 0x1c, - 0x94, 0x4f, 0xc8, 0xf3, 0x86, 0x80, 0xa2, 0xf3, 0x86, 0x18, 0xf0, 0x61, 0x36, 0xf6, 0x50, 0x55, - 0xf9, 0xa4, 0x3c, 0xcc, 0x23, 0x68, 0x3a, 0xcc, 0xa3, 0x4f, 0x5b, 0x67, 0x63, 0x0f, 0xf6, 0x94, - 0xcb, 0xbd, 0x98, 0x00, 0x5a, 0x66, 0xc2, 0x9e, 0xf8, 0x55, 0x13, 0x5e, 0x8c, 0x29, 0xcf, 0xc8, - 0x17, 0x6f, 0x31, 0x82, 0xf9, 0x01, 0x2d, 0xe1, 0x9d, 0x99, 0x96, 0xec, 0x1e, 0xad, 0x5c, 0x91, - 0x87, 0x6d, 0x12, 0x0d, 0x1d, 0xb6, 0x89, 0xae, 0xd5, 0x0b, 0x49, 0x57, 0xe3, 0xca, 0x55, 0xd9, - 0x30, 0x8b, 0x53, 0x50, 0xc3, 0x2c, 0xe1, 0x4a, 0x5d, 0x4b, 0x76, 0xf8, 0x55, 0x9e, 0xed, 0xdb, - 0x42, 0xa0, 0x49, 0x68, 0x21, 0xf3, 0x7f, 0x0d, 0x6d, 0xa7, 0xbb, 0x9d, 0x96, 0xad, 0x1b, 0xca, - 0xa7, 0x12, 0x6d, 0x27, 0x86, 0x14, 0x6c, 0x27, 0x06, 0xa0, 0xab, 0xbc, 0x78, 0x75, 0xac, 0x5c, - 0x93, 0x57, 0x79, 0x11, 0x47, 0x57, 0x79, 0xe9, 0x9a, 0x79, 0x36, 0x76, 0x61, 0xab, 0x3c, 0x27, - 0x2b, 0x40, 0x04, 0x4d, 0x15, 0x20, 0x7a, 0xc5, 0xfb, 0x6e, 0xef, 0xcb, 0x52, 0x65, 0x1a, 0xb8, - 0x5d, 0x0a, 0x92, 0xb0, 0xf6, 0xa0, 0x9b, 0x1f, 0xd0, 0x7a, 0x5f, 0xb8, 0x56, 0x13, 0xee, 0x3e, - 0x95, 0xeb, 0xb2, 0x82, 0xc5, 0x08, 0xa8, 0x82, 0xc5, 0x6f, 0x4c, 0xab, 0x09, 0x97, 0x97, 0xca, - 0xa7, 0x7b, 0xb2, 0x0a, 0xbe, 0x39, 0xe1, 0xca, 0xf3, 0x96, 0x78, 0xfb, 0xa8, 0x3c, 0x2f, 0x2f, - 0x76, 0x21, 0x86, 0x2e, 0x76, 0xc2, 0x2d, 0xe5, 0x2d, 0xf1, 0xc6, 0x4e, 0xb9, 0x11, 0x2f, 0x15, - 0x2e, 0x91, 0xc2, 0xcd, 0x9e, 0x96, 0x7c, 0x41, 0xa6, 0xdc, 0x94, 0xb5, 0x2e, 0x89, 0x86, 0x6a, - 0x5d, 0xe2, 0xe5, 0xda, 0x5c, 0xfc, 0x9e, 0x4b, 0xb9, 0x15, 0xbd, 0xf9, 0x93, 0xf1, 0xd4, 0xf2, - 0x89, 0xdd, 0x8d, 0xbd, 0x11, 0x7d, 0xbb, 0xa3, 0xbc, 0x10, 0xd9, 0x5f, 0x4a, 0x58, 0x6a, 0xdf, - 0x46, 0xde, 0xfa, 0xbc, 0x11, 0x7d, 0xee, 0xa2, 0xbc, 0x98, 0xcc, 0x21, 0xd0, 0x95, 0xe8, 0xf3, - 0x98, 0x37, 0xa2, 0x2f, 0x44, 0x94, 0x97, 0x92, 0x39, 0x04, 0xd2, 0x8d, 0xbe, 0x28, 0x79, 0x5e, - 0x88, 0x59, 0xa1, 0x7c, 0x46, 0x36, 0x1d, 0x03, 0x04, 0x35, 0x1d, 0xc3, 0xc8, 0x16, 0xcf, 0x0b, - 0xb1, 0x1e, 0x94, 0x97, 0x63, 0x45, 0x82, 0xc6, 0x0a, 0x11, 0x21, 0x9e, 0x17, 0x62, 0x24, 0x28, - 0xaf, 0xc4, 0x8a, 0x04, 0xad, 0x13, 0x22, 0x29, 0x18, 0xfd, 0x5c, 0xe8, 0x94, 0xcf, 0x02, 0x0f, - 0x75, 0x77, 0xaf, 0xa8, 0xf9, 0x01, 0xad, 0x9f, 0x2b, 0xde, 0xbb, 0xbd, 0x6f, 0x0d, 0x95, 0x57, - 0xe5, 0x21, 0xdc, 0x8b, 0x8e, 0x0e, 0xe1, 0x9e, 0x37, 0x8f, 0xaf, 0x45, 0xdc, 0xe9, 0x95, 0xd7, - 0xe4, 0x29, 0x4e, 0x42, 0xd2, 0x29, 0x2e, 0xea, 0x7c, 0x2f, 0xf9, 0x89, 0x2b, 0x9f, 0x93, 0xa7, - 0x38, 0x11, 0x47, 0xa7, 0x38, 0xc9, 0xa7, 0x7c, 0x36, 0xe6, 0xbe, 0xac, 0xbc, 0x2e, 0x4f, 0x71, - 0x11, 0x34, 0x9d, 0xe2, 0xa2, 0x0e, 0xcf, 0xaf, 0x45, 0xbc, 0x78, 0x95, 0x37, 0x92, 0xdb, 0x0f, - 0x48, 0xb1, 0xfd, 0xcc, 0xe7, 0x57, 0x4b, 0x76, 0x47, 0x55, 0x4a, 0xf2, 0xf8, 0x4d, 0xa2, 0xa1, - 0xe3, 0x37, 0xd1, 0x95, 0x75, 0x39, 0x31, 0xc7, 0x94, 0x32, 0xd3, 0x67, 0xe3, 0x10, 0x9a, 0x22, - 0x49, 0xd9, 0xa9, 0xc4, 0x3d, 0x32, 0xdb, 0x08, 0xcd, 0xf6, 0xd8, 0x23, 0xfb, 0xdb, 0xa0, 0x08, - 0x3d, 0x9d, 0x5d, 0x63, 0x97, 0x58, 0x4a, 0x59, 0x9e, 0x5d, 0x63, 0x04, 0x74, 0x76, 0x8d, 0x5f, - 0x7d, 0xcd, 0xa1, 0x02, 0xd7, 0x22, 0x76, 0x37, 0x67, 0x5a, 0x6b, 0x4a, 0x25, 0xe2, 0x0d, 0x16, - 0xc1, 0xd3, 0xd9, 0x29, 0x0a, 0x83, 0xf5, 0x9a, 0xc1, 0x66, 0x5b, 0x66, 0x67, 0xd5, 0xd6, 0x1d, - 0xa3, 0x4e, 0x2c, 0x43, 0x99, 0x8b, 0xac, 0xd7, 0x09, 0x34, 0xb0, 0x5e, 0x27, 0xc0, 0xe1, 0xbd, - 0x4a, 0x04, 0xce, 0x13, 0x27, 0x2b, 0xb7, 0x81, 0x6d, 0xb1, 0x17, 0x5b, 0x4e, 0x36, 0x3f, 0xa0, - 0xf5, 0xe2, 0x40, 0x6d, 0xf5, 0xc5, 0xad, 0xfa, 0x5b, 0x0b, 0x81, 0x07, 0x74, 0xcd, 0x21, 0x1d, - 0xdd, 0x21, 0xca, 0xbc, 0x6c, 0xab, 0x27, 0x12, 0x51, 0x5b, 0x3d, 0x11, 0x11, 0x67, 0xeb, 0x8f, - 0x85, 0x6a, 0x3f, 0xb6, 0xe1, 0x88, 0x48, 0x2e, 0x4d, 0x67, 0x27, 0x19, 0x41, 0x05, 0xb4, 0x60, - 0x5b, 0x6b, 0x70, 0x52, 0xf1, 0xa6, 0x3c, 0x3b, 0xf5, 0xa6, 0xa4, 0xb3, 0x53, 0x6f, 0x2c, 0x55, - 0x75, 0x19, 0xcb, 0xc6, 0xe0, 0x1d, 0x59, 0xd5, 0x13, 0x48, 0xa8, 0xaa, 0x27, 0x80, 0xe3, 0x0c, - 0x35, 0xe2, 0x12, 0x4f, 0x59, 0xe8, 0xc7, 0x10, 0x48, 0xe2, 0x0c, 0x01, 0x1c, 0x67, 0x38, 0x47, - 0xbc, 0xe6, 0xba, 0xb2, 0xd8, 0x8f, 0x21, 0x90, 0xc4, 0x19, 0x02, 0x98, 0x6e, 0x36, 0x65, 0xf0, - 0x4c, 0xb7, 0xb5, 0xe1, 0xf7, 0xd9, 0x92, 0xbc, 0xd9, 0xec, 0x49, 0x48, 0x37, 0x9b, 0x3d, 0x91, - 0xf8, 0xab, 0x7b, 0xbe, 0xa2, 0x55, 0x96, 0xa1, 0xc2, 0xe9, 0xd0, 0x2e, 0xd8, 0x4b, 0xa9, 0xf9, - 0x01, 0x6d, 0xaf, 0x57, 0xc0, 0x9f, 0x0a, 0x6e, 0x77, 0x94, 0x1a, 0x54, 0x35, 0x11, 0x9c, 0x55, - 0x30, 0xf0, 0xfc, 0x80, 0x16, 0xdc, 0xff, 0xbc, 0x84, 0x46, 0xe0, 0xa3, 0xaa, 0x96, 0xe9, 0x95, - 0x67, 0x94, 0xb7, 0xe4, 0x2d, 0x93, 0x80, 0xa2, 0x5b, 0x26, 0xe1, 0x27, 0x9d, 0xc4, 0xe1, 0x27, - 0x9b, 0x62, 0xca, 0x33, 0x8a, 0x26, 0x4f, 0xe2, 0x12, 0x92, 0x4e, 0xe2, 0x12, 0x20, 0xa8, 0xb7, - 0xec, 0xd8, 0x9d, 0xf2, 0x8c, 0x52, 0x4f, 0xa8, 0x97, 0xa1, 0x82, 0x7a, 0xd9, 0xcf, 0xa0, 0xde, - 0xfa, 0x7a, 0xd7, 0x2b, 0xd3, 0x6f, 0x5c, 0x49, 0xa8, 0xd7, 0x47, 0x06, 0xf5, 0xfa, 0x00, 0x3a, - 0x15, 0x02, 0xa0, 0xe6, 0xd8, 0x74, 0xd2, 0xbe, 0x63, 0xb6, 0x5a, 0xca, 0x5d, 0x79, 0x2a, 0x8c, - 0xe2, 0xe9, 0x54, 0x18, 0x85, 0x51, 0xd3, 0x93, 0xb5, 0x8a, 0xac, 0x76, 0xd7, 0x94, 0xb7, 0x65, - 0xd3, 0x33, 0xc4, 0x50, 0xd3, 0x33, 0xfc, 0x05, 0xbb, 0x0b, 0xfa, 0x4b, 0x23, 0xf7, 0x1d, 0xe2, - 0xae, 0x2b, 0xf7, 0x22, 0xbb, 0x0b, 0x01, 0x07, 0xbb, 0x0b, 0xe1, 0x37, 0x5e, 0x43, 0x4f, 0x4a, - 0x0b, 0x8d, 0xef, 0x29, 0x56, 0x27, 0xba, 0xd3, 0x5c, 0x57, 0x3e, 0x0f, 0xac, 0x9e, 0x4e, 0x5c, - 0xaa, 0x64, 0xd2, 0xf9, 0x01, 0xad, 0x1f, 0x27, 0xd8, 0x96, 0xbf, 0xb5, 0xc0, 0x1e, 0x96, 0x6a, - 0xb5, 0x59, 0x7f, 0x13, 0xfa, 0x4e, 0x64, 0x5b, 0x1e, 0x27, 0x81, 0x6d, 0x79, 0x1c, 0x8c, 0x3b, - 0xe8, 0x62, 0x64, 0xab, 0xb6, 0xa8, 0xb7, 0xe8, 0xbe, 0x84, 0x18, 0x35, 0xbd, 0xb9, 0x41, 0x3c, - 0xe5, 0x0b, 0xc0, 0xfb, 0x72, 0x8f, 0x0d, 0x5f, 0x84, 0x7a, 0x7e, 0x40, 0xdb, 0x85, 0x1f, 0x56, - 0x59, 0x16, 0x23, 0xe5, 0x8b, 0xf2, 0xf9, 0x26, 0x85, 0xcd, 0x0f, 0x68, 0x2c, 0xc3, 0xd1, 0xbb, - 0x48, 0xb9, 0xdb, 0x59, 0x73, 0x74, 0x83, 0x30, 0x43, 0x0b, 0x6c, 0x37, 0x6e, 0x80, 0x7e, 0x97, - 0x6c, 0xa5, 0xf5, 0xa2, 0xa3, 0x56, 0x5a, 0x2f, 0x1c, 0x55, 0x54, 0x29, 0x86, 0x92, 0xf2, 0x25, - 0x59, 0x51, 0x25, 0x24, 0x55, 0x54, 0x39, 0xe2, 0xd2, 0xe7, 0xd1, 0xd9, 0x60, 0x3f, 0xcf, 0xd7, - 0x5f, 0xd6, 0x69, 0xca, 0xbb, 0xc0, 0xe7, 0x62, 0xec, 0x32, 0x40, 0xa2, 0x9a, 0x1f, 0xd0, 0x7a, - 0x94, 0xa7, 0x2b, 0x6e, 0x2c, 0x3c, 0x20, 0x37, 0x2f, 0xbe, 0x5b, 0x5e, 0x71, 0x7b, 0x90, 0xd1, - 0x15, 0xb7, 0x07, 0x2a, 0x91, 0x39, 0x17, 0xaa, 0xbe, 0x0b, 0xf3, 0x40, 0xa6, 0xbd, 0x38, 0x24, - 0x32, 0xe7, 0x96, 0xda, 0xea, 0x2e, 0xcc, 0x03, 0x6b, 0xad, 0x17, 0x07, 0x7c, 0x05, 0xe5, 0xea, - 0xf5, 0x45, 0xad, 0x6b, 0x29, 0xcd, 0xc8, 0xb5, 0x1c, 0x40, 0xe7, 0x07, 0x34, 0x8e, 0xa7, 0x66, - 0x50, 0xa5, 0xa5, 0xbb, 0x9e, 0xd9, 0x74, 0x61, 0xc4, 0xf8, 0x23, 0xc4, 0x90, 0xcd, 0xa0, 0x24, - 0x1a, 0x6a, 0x06, 0x25, 0xc1, 0xa9, 0xbd, 0x38, 0xab, 0xbb, 0xae, 0x6e, 0x19, 0x8e, 0x3e, 0x03, - 0xcb, 0x04, 0x89, 0xe4, 0xcd, 0x97, 0xb0, 0xd4, 0x5e, 0x94, 0x21, 0x70, 0xf8, 0xee, 0x43, 0x7c, - 0x33, 0xe7, 0x7e, 0xe4, 0xf0, 0x3d, 0x82, 0x87, 0xc3, 0xf7, 0x08, 0x0c, 0xec, 0x4e, 0x1f, 0xa6, - 0x91, 0x35, 0x13, 0x72, 0x0e, 0xae, 0x45, 0xec, 0xce, 0x28, 0x01, 0xd8, 0x9d, 0x51, 0xa0, 0xd4, - 0x24, 0x7f, 0xb9, 0x5d, 0xef, 0xd1, 0xa4, 0x70, 0x95, 0x8d, 0x95, 0xa1, 0xeb, 0x77, 0x38, 0x38, - 0xca, 0x5b, 0x96, 0xde, 0xb6, 0xcb, 0x33, 0xbe, 0xd4, 0x4d, 0x79, 0xfd, 0xee, 0x49, 0x48, 0xd7, - 0xef, 0x9e, 0x48, 0x3a, 0xbb, 0xfa, 0x1b, 0xad, 0x75, 0xdd, 0x21, 0x46, 0x90, 0x89, 0x8b, 0x6d, - 0x0d, 0xdf, 0x93, 0x67, 0xd7, 0x3e, 0xa4, 0x74, 0x76, 0xed, 0x83, 0xa6, 0x46, 0x5e, 0x32, 0x5a, - 0x23, 0xba, 0xa1, 0x6c, 0xc8, 0x46, 0x5e, 0x6f, 0x4a, 0x6a, 0xe4, 0xf5, 0xc6, 0xf6, 0xfe, 0x9c, - 0x7b, 0x8e, 0xe9, 0x11, 0xa5, 0xb5, 0x97, 0xcf, 0x01, 0xd2, 0xde, 0x9f, 0x03, 0x68, 0xba, 0x21, - 0x8c, 0x76, 0x48, 0x5b, 0xde, 0x10, 0xc6, 0xbb, 0x21, 0x5a, 0x82, 0x5a, 0x2c, 0xdc, 0x5f, 0x4c, - 0xb1, 0x64, 0x8b, 0x85, 0x83, 0xa9, 0xc5, 0x12, 0x7a, 0x94, 0x49, 0x9e, 0x4e, 0x8a, 0x2d, 0xaf, - 0xa1, 0x22, 0x8e, 0xae, 0xa1, 0x92, 0x57, 0xd4, 0x4b, 0x92, 0x43, 0x83, 0xd2, 0x91, 0xad, 0x0e, - 0x01, 0x45, 0xad, 0x0e, 0xd1, 0xf5, 0x61, 0x16, 0x4d, 0xc0, 0x2d, 0xb8, 0xd6, 0x0d, 0xee, 0x71, - 0xbe, 0x2c, 0x7f, 0x66, 0x04, 0x4d, 0x3f, 0x33, 0x02, 0x92, 0x98, 0xf0, 0x69, 0xcb, 0xe9, 0xc1, - 0x24, 0x3c, 0x1f, 0x8c, 0x80, 0xf0, 0x02, 0xc2, 0xf5, 0xd2, 0xe2, 0x42, 0xd5, 0xa8, 0x89, 0x57, - 0x64, 0xae, 0x7c, 0x02, 0x1b, 0xa7, 0x98, 0x1f, 0xd0, 0x12, 0xca, 0xe1, 0xf7, 0xd0, 0x79, 0x0e, - 0xe5, 0xee, 0xbc, 0x90, 0xdd, 0xc2, 0x08, 0x16, 0x04, 0x0f, 0xf8, 0x7e, 0x22, 0xc2, 0x37, 0x91, - 0x76, 0x7e, 0x40, 0xeb, 0xcb, 0xab, 0x77, 0x5d, 0x7c, 0x7d, 0xe8, 0xee, 0xa5, 0xae, 0x60, 0x91, - 0xe8, 0xcb, 0xab, 0x77, 0x5d, 0x5c, 0xee, 0x0f, 0xf6, 0x52, 0x57, 0xd0, 0x09, 0x7d, 0x79, 0x61, - 0x17, 0x15, 0xfb, 0xe1, 0x4b, 0xad, 0x96, 0xb2, 0x09, 0xd5, 0x3d, 0xb3, 0x97, 0xea, 0x4a, 0x60, - 0x70, 0xee, 0xc6, 0x91, 0xce, 0xd2, 0xcb, 0x1d, 0x62, 0xd5, 0xa5, 0x05, 0xe8, 0xa1, 0x3c, 0x4b, - 0xc7, 0x08, 0xe8, 0x2c, 0x1d, 0x03, 0xd2, 0x01, 0x25, 0xfa, 0xc5, 0x28, 0x5b, 0xf2, 0x80, 0x12, - 0x71, 0x74, 0x40, 0x49, 0x3e, 0x34, 0xcb, 0xe8, 0xd4, 0xf2, 0x86, 0xa7, 0xfb, 0x16, 0xa4, 0xcb, - 0xbb, 0xf2, 0xfd, 0xc8, 0x25, 0x53, 0x9c, 0x04, 0x2e, 0x99, 0xe2, 0x60, 0x3a, 0x46, 0x28, 0xb8, - 0xbe, 0x65, 0x35, 0xe7, 0x74, 0xb3, 0xd5, 0x75, 0x88, 0xf2, 0xff, 0xc8, 0x63, 0x24, 0x82, 0xa6, - 0x63, 0x24, 0x02, 0xa2, 0x0b, 0x34, 0x05, 0x95, 0x5c, 0xd7, 0x5c, 0xb3, 0xf8, 0xbe, 0xb2, 0xdb, - 0xf2, 0x94, 0xff, 0x57, 0x5e, 0xa0, 0x93, 0x68, 0xe8, 0x02, 0x9d, 0x04, 0x87, 0x53, 0xa7, 0x84, - 0xcc, 0x2f, 0xca, 0xff, 0x17, 0x39, 0x75, 0x4a, 0xa0, 0x81, 0x53, 0xa7, 0xa4, 0xac, 0x31, 0x73, - 0xa8, 0x10, 0x66, 0x6b, 0xe7, 0xfc, 0xfe, 0x7f, 0x79, 0x7d, 0x8c, 0xe2, 0xe9, 0xfa, 0x18, 0x85, - 0xc9, 0x7c, 0x78, 0x17, 0xfc, 0xa9, 0x5e, 0x7c, 0x02, 0xf9, 0xc7, 0xca, 0xe0, 0xdb, 0x22, 0x1f, - 0x3e, 0x52, 0xbe, 0x27, 0xd5, 0x8b, 0x51, 0x30, 0x3c, 0x62, 0x85, 0x64, 0x46, 0x1a, 0x79, 0x60, - 0x92, 0x4d, 0xe5, 0x2b, 0x3d, 0x19, 0x31, 0x02, 0x99, 0x11, 0x83, 0xe1, 0x77, 0xd0, 0xd9, 0x10, - 0xb6, 0x48, 0xda, 0xab, 0xc1, 0xcc, 0xf4, 0xbd, 0x29, 0xd9, 0x0c, 0x4e, 0x26, 0xa3, 0x66, 0x70, - 0x32, 0x26, 0x89, 0x35, 0x17, 0xdd, 0x9f, 0xde, 0x85, 0x75, 0x20, 0xc1, 0x1e, 0x0c, 0x92, 0x58, - 0x73, 0x69, 0x7e, 0xdf, 0x2e, 0xac, 0x03, 0x99, 0xf6, 0x60, 0x80, 0xbf, 0x96, 0x42, 0x97, 0x93, - 0x51, 0xa5, 0x56, 0x6b, 0xce, 0x76, 0x42, 0x9c, 0xf2, 0xfd, 0x29, 0xf9, 0xa0, 0x61, 0x6f, 0xc5, - 0xe6, 0x07, 0xb4, 0x3d, 0x56, 0x80, 0x3f, 0x87, 0xc6, 0x4a, 0x5d, 0xc3, 0xf4, 0xe0, 0xe2, 0x8d, - 0x1a, 0xce, 0x3f, 0x90, 0x8a, 0x6c, 0x71, 0x44, 0x2c, 0x6c, 0x71, 0x44, 0x00, 0x7e, 0x13, 0x4d, - 0xd6, 0x49, 0xb3, 0xeb, 0x98, 0xde, 0x96, 0x06, 0x59, 0x7d, 0x28, 0x8f, 0x1f, 0x4c, 0xc9, 0x93, - 0x58, 0x8c, 0x82, 0x4e, 0x62, 0x31, 0x20, 0x7e, 0xbb, 0x47, 0x16, 0x19, 0xe5, 0xab, 0xa9, 0xbe, - 0xd7, 0xf2, 0x41, 0x5f, 0xf6, 0x48, 0x42, 0x53, 0x4b, 0xcc, 0x14, 0xa2, 0x7c, 0x2d, 0xd5, 0xe7, - 0x1a, 0x5d, 0x98, 0xe1, 0x12, 0x92, 0x8c, 0xd4, 0x12, 0x73, 0x41, 0x28, 0x3f, 0x94, 0xea, 0x73, - 0xed, 0x1d, 0x72, 0x4c, 0x4a, 0x23, 0xf1, 0x82, 0x98, 0x16, 0x50, 0xf9, 0x33, 0xa9, 0xb8, 0xab, - 0x48, 0x50, 0x5e, 0xcc, 0x1f, 0xf8, 0x02, 0x73, 0xcd, 0xe3, 0xc5, 0xbe, 0x9e, 0x8a, 0xfb, 0xe6, - 0x85, 0xc5, 0xc2, 0x5f, 0x98, 0xa0, 0xa9, 0xca, 0x43, 0x8f, 0x38, 0x96, 0xde, 0x82, 0xee, 0xac, - 0x7b, 0xb6, 0xa3, 0xaf, 0x91, 0x8a, 0xa5, 0xaf, 0xb6, 0x88, 0xf2, 0xc3, 0x29, 0xd9, 0x82, 0xed, - 0x4d, 0x4a, 0x2d, 0xd8, 0xde, 0x58, 0xbc, 0x8e, 0x9e, 0x4c, 0xc2, 0x96, 0x4d, 0x17, 0xea, 0xf9, - 0x91, 0x94, 0x6c, 0xc2, 0xf6, 0xa1, 0xa5, 0x26, 0x6c, 0x1f, 0x34, 0xbe, 0x21, 0xe4, 0xf1, 0x53, - 0xfe, 0x6c, 0xc4, 0x19, 0x32, 0xc0, 0xcc, 0x0f, 0x68, 0x42, 0xba, 0xbf, 0x1b, 0x42, 0xbe, 0x39, - 0xe5, 0x1b, 0xf1, 0x32, 0xe1, 0xe5, 0x53, 0x98, 0x96, 0xee, 0x86, 0x90, 0x69, 0x4f, 0xf9, 0x73, - 0xf1, 0x32, 0xe1, 0x1d, 0x57, 0xf0, 0x63, 0x66, 0x08, 0x0d, 0xc2, 0x4a, 0xab, 0xfe, 0x78, 0x0a, - 0x8d, 0xd6, 0x3d, 0x87, 0xe8, 0x6d, 0xee, 0x6e, 0x3f, 0x85, 0xf2, 0xec, 0xca, 0xba, 0x5a, 0xe6, - 0xaf, 0x62, 0x82, 0xdf, 0xf8, 0x32, 0x1a, 0x5f, 0xd0, 0x5d, 0x0f, 0x4a, 0x56, 0x2d, 0x83, 0x3c, - 0x04, 0x77, 0xcd, 0x8c, 0x16, 0x81, 0xe2, 0x05, 0x46, 0xc7, 0xca, 0xc1, 0xfb, 0xa2, 0xcc, 0xae, - 0x5e, 0xe6, 0xf9, 0x0f, 0xb7, 0x8b, 0x03, 0xe0, 0x54, 0x1e, 0x29, 0xab, 0x7e, 0x2b, 0x85, 0x62, - 0x97, 0xe9, 0x07, 0x77, 0x2e, 0x5f, 0x46, 0x13, 0x91, 0x37, 0x6d, 0xdc, 0xe7, 0x74, 0x8f, 0x4f, - 0xde, 0xa2, 0xa5, 0xf1, 0x33, 0x81, 0xaf, 0xe3, 0x5d, 0x6d, 0x81, 0xbf, 0x20, 0x18, 0x82, 0xd4, - 0xe2, 0x4e, 0x4b, 0x13, 0x50, 0xdc, 0x57, 0xf6, 0xd7, 0x27, 0xc2, 0x07, 0x3b, 0xf8, 0x32, 0x7f, - 0xaf, 0x97, 0x0a, 0xdf, 0x1d, 0x44, 0x22, 0x8b, 0xb2, 0xf7, 0x79, 0x9f, 0x43, 0xa3, 0xd5, 0x76, - 0x87, 0x38, 0xae, 0x6d, 0xe9, 0x9e, 0xed, 0x67, 0x30, 0x00, 0xef, 0x76, 0x53, 0x80, 0x8b, 0x1e, - 0xd7, 0x22, 0x3d, 0xbe, 0xea, 0xa7, 0x63, 0xcb, 0xc0, 0x53, 0xa9, 0x53, 0x09, 0xe9, 0xd8, 0xfc, - 0xa4, 0x6a, 0x57, 0xd1, 0xe0, 0x5d, 0x57, 0x07, 0xaf, 0xd8, 0x80, 0xb4, 0x4b, 0x01, 0x22, 0x29, - 0x50, 0xe0, 0x6b, 0x28, 0x07, 0xbb, 0x08, 0x57, 0x19, 0x04, 0x5a, 0x78, 0x0d, 0xd1, 0x02, 0x88, - 0xe8, 0xc5, 0xce, 0x68, 0xf0, 0x1d, 0x54, 0x08, 0x8f, 0x48, 0x20, 0xe7, 0x86, 0x1f, 0xac, 0x04, - 0xa2, 0x7c, 0x6e, 0x04, 0x38, 0x96, 0xac, 0x43, 0x64, 0x11, 0x2b, 0x88, 0xe7, 0xd1, 0x44, 0x08, - 0xa3, 0x22, 0xf2, 0x83, 0x24, 0x41, 0x94, 0x5b, 0x81, 0x17, 0x15, 0xa7, 0xc8, 0x2a, 0x5a, 0x0c, - 0x57, 0xd1, 0x90, 0xff, 0x14, 0x22, 0xbf, 0xab, 0x92, 0x9e, 0xe2, 0x4f, 0x21, 0x86, 0xc4, 0x47, - 0x10, 0x7e, 0x79, 0x3c, 0x87, 0xc6, 0x35, 0xbb, 0xeb, 0x91, 0x15, 0x9b, 0x9f, 0x00, 0xf1, 0x28, - 0x1a, 0xd0, 0x26, 0x87, 0x62, 0x1a, 0x9e, 0xed, 0x07, 0x49, 0x15, 0x83, 0x75, 0xca, 0xa5, 0xf0, - 0x12, 0x9a, 0x8c, 0x1d, 0x26, 0x89, 0xa1, 0x4b, 0x85, 0xcf, 0x8b, 0x33, 0x8b, 0x17, 0xc5, 0x3f, - 0x90, 0x42, 0xb9, 0x15, 0x47, 0x37, 0x3d, 0x97, 0x3b, 0xd4, 0x9e, 0x99, 0xde, 0x74, 0xf4, 0x0e, - 0xd5, 0x8f, 0x69, 0x78, 0x0b, 0x07, 0xd9, 0xe8, 0xdd, 0x99, 0x7b, 0xf4, 0xeb, 0xfe, 0xf5, 0x76, - 0xf1, 0xb3, 0xfb, 0x48, 0x93, 0x77, 0x3d, 0xe0, 0xc4, 0x6a, 0xa0, 0x2a, 0xe0, 0xc1, 0x5f, 0xa2, - 0x0a, 0x30, 0x1c, 0x5e, 0xa2, 0x0b, 0x0a, 0x7c, 0x6a, 0xa9, 0xd3, 0xe1, 0xde, 0xb9, 0xc2, 0x7a, - 0xe2, 0x63, 0x98, 0x62, 0x07, 0x02, 0xd3, 0x3b, 0x62, 0xe6, 0x16, 0x81, 0x03, 0xd5, 0x82, 0x15, - 0xde, 0x22, 0x5f, 0x4c, 0x63, 0xa1, 0xc4, 0xfd, 0xc6, 0x26, 0x08, 0x29, 0x5a, 0x0c, 0xaf, 0xa2, - 0x09, 0xce, 0x37, 0x08, 0x6b, 0x31, 0x2e, 0xcf, 0x0a, 0x11, 0x34, 0x53, 0xda, 0xa0, 0x8d, 0x06, - 0x07, 0x8b, 0x75, 0x44, 0x4a, 0xe0, 0x99, 0x30, 0xea, 0x1e, 0xa4, 0x89, 0x51, 0x26, 0x40, 0x63, - 0xcf, 0xef, 0x6c, 0x17, 0x15, 0xbf, 0x3c, 0xcb, 0x2e, 0x93, 0x14, 0x43, 0x16, 0x8a, 0x88, 0x3c, - 0x98, 0xd6, 0x17, 0x12, 0x78, 0x44, 0x75, 0x5e, 0x2e, 0x82, 0x67, 0xd1, 0x58, 0xe0, 0x1c, 0x74, - 0xf7, 0x6e, 0xb5, 0x0c, 0xee, 0xbf, 0x3c, 0x1f, 0x4a, 0x24, 0x62, 0x86, 0xc8, 0x44, 0x2a, 0x83, - 0x6f, 0xa2, 0x3c, 0x73, 0xaf, 0xad, 0x32, 0x7f, 0x60, 0xff, 0xc9, 0x22, 0xc0, 0x1a, 0xa6, 0xd8, - 0x63, 0x01, 0x21, 0x7e, 0x0d, 0x8d, 0x94, 0xee, 0xd5, 0xe9, 0x3c, 0x53, 0xd2, 0x96, 0x5c, 0xe5, - 0x54, 0x18, 0xaa, 0x08, 0xc2, 0x08, 0xdb, 0x2d, 0xd2, 0xd0, 0x1d, 0x69, 0xf2, 0x10, 0xe9, 0x71, - 0x05, 0x8d, 0x4b, 0xf7, 0x0b, 0xae, 0x72, 0x1a, 0x38, 0xb0, 0x4c, 0x2e, 0x80, 0x69, 0xf0, 0x64, - 0x42, 0x52, 0xac, 0x64, 0xb9, 0x10, 0xd5, 0x1a, 0xba, 0x44, 0xb7, 0x5a, 0xf6, 0xa6, 0x46, 0x4c, - 0xd7, 0xed, 0x12, 0x70, 0x26, 0xce, 0x33, 0xad, 0x31, 0x38, 0xaa, 0xe1, 0x30, 0x9c, 0x14, 0xc9, - 0x5a, 0x2e, 0x86, 0xdf, 0x43, 0x18, 0x02, 0xc5, 0x10, 0xc3, 0xdf, 0x6e, 0x56, 0xcb, 0xae, 0x72, - 0x16, 0xde, 0x04, 0xe3, 0xe8, 0xcb, 0xfc, 0x6a, 0x79, 0xe6, 0x32, 0x9f, 0x3e, 0x2e, 0xea, 0xac, - 0x54, 0x23, 0x48, 0xe4, 0x63, 0x1a, 0x62, 0x8b, 0x13, 0xb8, 0xe2, 0x4d, 0x74, 0xae, 0xe6, 0x90, - 0x07, 0xa6, 0xdd, 0x75, 0xfd, 0xe5, 0xc3, 0x9f, 0xb7, 0xce, 0xed, 0x3a, 0x6f, 0x3d, 0xc5, 0x2b, - 0x3e, 0xd3, 0x71, 0xc8, 0x83, 0x86, 0xff, 0x12, 0x54, 0x7a, 0xca, 0xd5, 0x8b, 0x3b, 0x15, 0x57, - 0xe9, 0xfd, 0xae, 0x43, 0x38, 0xdc, 0x24, 0xae, 0xa2, 0x84, 0x53, 0xad, 0x4e, 0x51, 0x3e, 0x47, - 0x53, 0x52, 0xdd, 0x68, 0x31, 0xac, 0x21, 0x7c, 0x7b, 0xd6, 0x3f, 0x7a, 0x28, 0x35, 0x9b, 0x76, - 0xd7, 0xf2, 0x5c, 0xe5, 0x09, 0x60, 0xa6, 0x52, 0xb1, 0xac, 0x35, 0x83, 0x57, 0xe1, 0x0d, 0x9d, - 0xe3, 0x45, 0xb1, 0xc4, 0x4b, 0xe3, 0x05, 0x54, 0xa8, 0x39, 0xe6, 0x03, 0xdd, 0x23, 0x77, 0xc8, - 0x56, 0xcd, 0x6e, 0x99, 0xcd, 0x2d, 0xf0, 0x69, 0xe6, 0x53, 0x65, 0x87, 0xe1, 0x1a, 0x1b, 0x64, - 0xab, 0xd1, 0x01, 0xac, 0xb8, 0xac, 0x44, 0x4b, 0x8a, 0x6f, 0x3c, 0x9f, 0xdc, 0xd3, 0x1b, 0x4f, - 0xf5, 0x47, 0x32, 0xe2, 0x9c, 0x16, 0x64, 0xd6, 0x4f, 0x25, 0x66, 0xd6, 0xbf, 0x86, 0x86, 0xb9, - 0x3d, 0x10, 0xc4, 0xa9, 0x81, 0xa0, 0x7e, 0xfe, 0x93, 0x6a, 0xd3, 0xd0, 0x42, 0x02, 0x08, 0xa8, - 0x16, 0x66, 0xe5, 0xc8, 0x08, 0x01, 0xd5, 0xc2, 0xac, 0x1c, 0x52, 0x4e, 0x8e, 0x1b, 0x68, 0x84, - 0xcf, 0x67, 0xc2, 0xeb, 0x47, 0x78, 0x16, 0xed, 0x07, 0xe6, 0x66, 0xaf, 0xae, 0x05, 0x22, 0xfc, - 0x0a, 0x84, 0xa6, 0xe7, 0x43, 0x8c, 0x5b, 0x2f, 0x30, 0xfd, 0x8a, 0x23, 0x32, 0x12, 0x9b, 0x9e, - 0x53, 0xd3, 0xc9, 0x48, 0xec, 0x62, 0x3f, 0x84, 0x24, 0x4c, 0x46, 0x92, 0x5e, 0x6c, 0x49, 0x79, - 0x95, 0xc4, 0x22, 0x78, 0x19, 0x4d, 0xc6, 0x7a, 0x95, 0xbf, 0x95, 0x84, 0x80, 0xa2, 0x09, 0x2a, - 0x21, 0x2e, 0x76, 0xb1, 0xb2, 0xea, 0xf7, 0xa6, 0x63, 0x53, 0x39, 0x15, 0x0c, 0xa7, 0x12, 0x3a, - 0x07, 0x04, 0xe3, 0xb3, 0x66, 0x82, 0x11, 0x88, 0xf0, 0x15, 0x94, 0x8f, 0x44, 0xa7, 0x87, 0x57, - 0xd4, 0x41, 0x68, 0xfa, 0x00, 0x8b, 0x6f, 0xa0, 0x3c, 0x9d, 0x58, 0xad, 0xc8, 0xcb, 0xe0, 0x2e, - 0x87, 0x89, 0x33, 0xa1, 0x4f, 0x47, 0xcb, 0x48, 0xf1, 0x93, 0xfc, 0x20, 0xe2, 0xf1, 0x65, 0x24, - 0x8c, 0x0e, 0x17, 0x18, 0x71, 0x83, 0xbb, 0x19, 0x71, 0xea, 0xff, 0xc8, 0xf6, 0xbd, 0xd4, 0x3d, - 0x92, 0x18, 0x13, 0x2f, 0x53, 0x2b, 0x9e, 0xd6, 0x5e, 0x72, 0x63, 0xb6, 0x28, 0xbb, 0xb3, 0x6a, - 0xe8, 0x4c, 0xe5, 0x5c, 0x4d, 0xa6, 0x14, 0x53, 0xa1, 0xc1, 0x8b, 0xd0, 0x6c, 0x42, 0x2a, 0xb4, - 0x68, 0xfc, 0x74, 0xb1, 0x00, 0x7e, 0x01, 0x0d, 0x87, 0x49, 0xdd, 0x06, 0x85, 0x57, 0xc1, 0x09, - 0xb9, 0xdc, 0x42, 0x4a, 0xfc, 0x25, 0x94, 0x93, 0x02, 0xf8, 0x5f, 0xdf, 0xc3, 0x2d, 0xf8, 0xb4, - 0x18, 0xe3, 0x81, 0x59, 0xc4, 0xd1, 0xe0, 0xfd, 0x9c, 0x29, 0x5e, 0x41, 0xa7, 0x6a, 0x0e, 0x31, - 0xc0, 0xdf, 0xa2, 0xf2, 0xb0, 0xe3, 0xf0, 0x08, 0x1c, 0x4c, 0xfb, 0x61, 0x42, 0xec, 0xf8, 0x68, - 0x3a, 0x55, 0x73, 0xbc, 0xc0, 0x28, 0xa9, 0x38, 0x5d, 0x25, 0x59, 0x4b, 0xee, 0x90, 0xad, 0x4d, - 0xdb, 0x31, 0x58, 0x90, 0x0a, 0xbe, 0x4a, 0x72, 0x41, 0x6f, 0x70, 0x94, 0xb8, 0x4a, 0xca, 0x85, - 0xa6, 0x5e, 0x46, 0x23, 0x07, 0x8d, 0x93, 0xf0, 0x73, 0xe9, 0x1e, 0xee, 0x51, 0x8f, 0x6f, 0x64, - 0xc7, 0x20, 0xca, 0xee, 0x60, 0x8f, 0x28, 0xbb, 0x7f, 0x98, 0xee, 0xe1, 0xfb, 0xf5, 0x58, 0x47, - 0xc3, 0x0c, 0x84, 0x21, 0x47, 0xc3, 0x0c, 0x03, 0x91, 0x9a, 0x86, 0x26, 0x12, 0x45, 0xe2, 0xe6, - 0xe6, 0x76, 0x8d, 0x9b, 0xfb, 0x93, 0x99, 0x7e, 0xbe, 0x71, 0x27, 0xb2, 0xdf, 0x8f, 0xec, 0x6f, - 0xa0, 0x91, 0x40, 0xb2, 0x3c, 0x0b, 0xd2, 0x58, 0x10, 0x95, 0x85, 0x81, 0xa1, 0x8c, 0x40, 0x84, - 0xaf, 0xb2, 0xb6, 0xd6, 0xcd, 0xf7, 0x59, 0x84, 0x84, 0x31, 0xfe, 0x8a, 0x5e, 0xf7, 0xf4, 0x86, - 0x6b, 0xbe, 0x4f, 0xb4, 0x00, 0xad, 0xfe, 0xa3, 0x74, 0xa2, 0x83, 0xe1, 0x49, 0x1f, 0xed, 0xa3, - 0x8f, 0x12, 0x84, 0xc8, 0x5c, 0x23, 0x4f, 0x84, 0xb8, 0x0f, 0x21, 0xfe, 0x41, 0x3a, 0xd1, 0x91, - 0xf4, 0x44, 0x88, 0xfb, 0x99, 0x2d, 0xae, 0xa1, 0x61, 0xcd, 0xde, 0x74, 0x67, 0xc1, 0xe0, 0x67, - 0x73, 0x05, 0x4c, 0xd4, 0x8e, 0xbd, 0xe9, 0x36, 0xc0, 0x94, 0xd7, 0x42, 0x02, 0xf5, 0x8f, 0xd2, - 0x7d, 0x5c, 0x6d, 0x4f, 0x04, 0xff, 0x9d, 0x5c, 0x22, 0x7f, 0x21, 0x2d, 0xb9, 0xf2, 0x3e, 0xd6, - 0x61, 0xe5, 0xeb, 0xcd, 0x75, 0xd2, 0xd6, 0xa3, 0x61, 0xe5, 0x5d, 0x80, 0xf2, 0xa8, 0xb4, 0x21, - 0x89, 0xfa, 0x4b, 0xe9, 0x88, 0x2f, 0xf3, 0x89, 0xec, 0xf6, 0x2c, 0xbb, 0x40, 0xeb, 0xb8, 0x7b, - 0xf6, 0x89, 0xe4, 0xf6, 0x2a, 0xb9, 0xaf, 0xa6, 0x23, 0x9e, 0xec, 0x8f, 0x6f, 0x84, 0xe9, 0x5f, - 0x4a, 0xc7, 0xbd, 0xf2, 0x1f, 0x5f, 0x4d, 0xba, 0x86, 0x86, 0xb9, 0x1c, 0x82, 0xa5, 0x82, 0xcd, - 0xfb, 0x0c, 0x08, 0xa7, 0x8f, 0x01, 0x81, 0xfa, 0xfd, 0x69, 0x24, 0xbf, 0x30, 0x78, 0x4c, 0x75, - 0xe8, 0x17, 0xd2, 0xf2, 0xdb, 0x8a, 0xc7, 0x57, 0x7f, 0xa6, 0x11, 0xaa, 0x77, 0x57, 0x9b, 0x3c, - 0x34, 0xcf, 0xa0, 0x70, 0x7c, 0x1d, 0x40, 0x35, 0x81, 0x42, 0xfd, 0x5f, 0xe9, 0xc4, 0x07, 0x1f, - 0x8f, 0xaf, 0x00, 0x6f, 0xc2, 0x91, 0x72, 0xd3, 0x0a, 0x27, 0x72, 0x38, 0x84, 0xa4, 0xe3, 0x2f, - 0x16, 0x9a, 0xd0, 0x27, 0xc4, 0x9f, 0x49, 0x30, 0xd7, 0x20, 0x8a, 0x60, 0x62, 0x86, 0x2d, 0xd1, - 0x70, 0xfb, 0x67, 0xe9, 0xdd, 0xde, 0xc7, 0x3c, 0xce, 0xab, 0xea, 0x50, 0x4d, 0xdf, 0x82, 0x38, - 0x0e, 0xb4, 0x27, 0x46, 0x59, 0x08, 0xbe, 0x0e, 0x03, 0x89, 0xf7, 0x3c, 0x9c, 0x4a, 0xfd, 0xfd, - 0xc1, 0xe4, 0xc7, 0x19, 0x8f, 0xaf, 0x08, 0xfd, 0x0c, 0xd0, 0x83, 0xbb, 0x66, 0x80, 0xce, 0xed, - 0x35, 0x03, 0xf4, 0x50, 0xcf, 0x0c, 0xd0, 0xe7, 0x51, 0x76, 0xc6, 0x36, 0xb6, 0xc0, 0x45, 0x63, - 0x94, 0x55, 0xb6, 0x6a, 0x1b, 0x5b, 0x1a, 0x40, 0xf1, 0xd7, 0x52, 0x68, 0x68, 0x9e, 0xe8, 0x06, - 0x1d, 0x21, 0xc3, 0xfd, 0x3c, 0x1c, 0x3e, 0xff, 0x68, 0x3c, 0x1c, 0x26, 0xd7, 0x59, 0x65, 0xa2, - 0xa2, 0xf0, 0xfa, 0xf1, 0x6d, 0x94, 0x9f, 0xd5, 0x3d, 0xb2, 0x66, 0x3b, 0x5b, 0xe0, 0xb3, 0x31, - 0x1e, 0xba, 0x08, 0x4a, 0xfa, 0xe3, 0x13, 0xb1, 0x6b, 0xa5, 0x26, 0xff, 0xa5, 0x05, 0x85, 0xa9, - 0x58, 0x78, 0xc8, 0xf9, 0x91, 0x50, 0x2c, 0x72, 0x6c, 0xf9, 0xf0, 0x58, 0x79, 0x34, 0xf9, 0x58, - 0x39, 0x92, 0xd7, 0x7b, 0x6c, 0xd7, 0xbc, 0xde, 0xea, 0xb7, 0x07, 0x51, 0xa2, 0x2b, 0xf7, 0x89, - 0x92, 0x9f, 0x28, 0x79, 0xa8, 0xe4, 0xe5, 0x98, 0x92, 0x4f, 0xc5, 0x1f, 0x07, 0x7c, 0x44, 0x35, - 0xfc, 0xc7, 0xb2, 0xb1, 0xa7, 0x45, 0x8f, 0xf7, 0xee, 0x32, 0x94, 0xde, 0xe0, 0xde, 0xf3, 0xfe, - 0xe7, 0x76, 0x1d, 0x10, 0x43, 0x7b, 0x1d, 0x10, 0xf9, 0x9e, 0x03, 0x22, 0x54, 0x90, 0xe1, 0x9e, - 0x0a, 0x52, 0xe5, 0x83, 0x06, 0xf5, 0x0f, 0x93, 0x7c, 0x7e, 0x67, 0xbb, 0x38, 0x4e, 0x47, 0x53, - 0x62, 0x80, 0x64, 0x60, 0xa1, 0x7e, 0x2b, 0xdb, 0xe7, 0x3d, 0xe0, 0x91, 0xe8, 0xc8, 0x4d, 0x94, - 0x29, 0x75, 0x3a, 0x5c, 0x3f, 0x4e, 0x09, 0x4f, 0x11, 0x7b, 0x94, 0xa2, 0xd4, 0xf8, 0x15, 0x94, - 0x29, 0xdd, 0xab, 0x47, 0xa3, 0x9a, 0x42, 0xf6, 0x75, 0xf8, 0x92, 0x9e, 0x65, 0xef, 0xd5, 0xf1, - 0xab, 0x61, 0x78, 0x91, 0xf5, 0xae, 0xb5, 0xc1, 0x37, 0x8a, 0xdc, 0xb5, 0xd3, 0x77, 0x53, 0x69, - 0x52, 0x14, 0xdd, 0x2e, 0x46, 0x68, 0x23, 0xda, 0x94, 0xdb, 0xbb, 0x36, 0x0d, 0xed, 0xaa, 0x4d, - 0xf9, 0xbd, 0x6a, 0xd3, 0xf0, 0x1e, 0xb4, 0x09, 0xed, 0xaa, 0x4d, 0x23, 0x87, 0xd7, 0xa6, 0x0e, - 0x9a, 0x8a, 0xbf, 0xe1, 0x0e, 0x34, 0x42, 0x43, 0x38, 0x8e, 0xe5, 0x9e, 0x29, 0x70, 0xf5, 0xdf, - 0x65, 0xd8, 0x06, 0x4b, 0x46, 0x11, 0x4d, 0xe5, 0xa0, 0x25, 0x94, 0x56, 0x7f, 0x2e, 0xdd, 0xfb, - 0xe9, 0xf9, 0xf1, 0x9c, 0xe2, 0xbe, 0x3b, 0x51, 0x4a, 0x59, 0xf9, 0x29, 0x40, 0x6f, 0x29, 0x47, - 0xd8, 0x26, 0xc9, 0xec, 0x83, 0x54, 0xaf, 0xf7, 0xf0, 0x87, 0x92, 0xd8, 0x27, 0xe3, 0x9e, 0x5e, - 0xe0, 0x13, 0xee, 0xca, 0x2e, 0x5e, 0xd1, 0xcc, 0x08, 0x99, 0x03, 0x66, 0x46, 0xf8, 0x87, 0x29, - 0x74, 0xea, 0x4e, 0x77, 0x95, 0x70, 0xcf, 0xae, 0xa0, 0x19, 0xef, 0x21, 0x44, 0xc1, 0xdc, 0x89, - 0x25, 0x05, 0x4e, 0x2c, 0x9f, 0x12, 0xdf, 0xb2, 0x47, 0x0a, 0x4c, 0x87, 0xd4, 0xcc, 0x81, 0xe5, - 0x82, 0xef, 0x38, 0xb8, 0xd1, 0x5d, 0x25, 0x8d, 0x98, 0x27, 0x8b, 0xc0, 0x7d, 0xea, 0x35, 0xe6, - 0x92, 0x7d, 0x50, 0xa7, 0x91, 0x9f, 0x49, 0xf7, 0x0c, 0x1f, 0x70, 0x6c, 0x13, 0xeb, 0x7f, 0x31, - 0xb1, 0x57, 0xb8, 0xfe, 0x3e, 0xd9, 0xa7, 0x1f, 0x22, 0x1c, 0x93, 0xb8, 0x24, 0x0b, 0xec, 0x08, - 0x07, 0xfb, 0x47, 0x5e, 0x60, 0xbf, 0x9d, 0xea, 0x19, 0xe6, 0xe1, 0xb8, 0x0a, 0x4c, 0xfd, 0x66, - 0xda, 0x8f, 0x2e, 0x71, 0xa8, 0x4f, 0xb8, 0x86, 0x86, 0x79, 0x08, 0x6d, 0xd9, 0x31, 0x95, 0x1f, - 0xe5, 0xc1, 0xd1, 0x70, 0x40, 0x40, 0x97, 0x79, 0xff, 0xf5, 0x7b, 0x90, 0x95, 0x03, 0x96, 0x79, - 0x93, 0x43, 0x29, 0xbd, 0x40, 0x42, 0x17, 0xf2, 0xca, 0x43, 0xd3, 0x03, 0xab, 0x80, 0xf6, 0x65, - 0x86, 0x2d, 0xe4, 0xe4, 0xa1, 0xe9, 0x31, 0x9b, 0x20, 0x40, 0xd3, 0x45, 0x5a, 0xc8, 0xb7, 0xca, - 0x17, 0x69, 0x97, 0xc7, 0xf2, 0xe7, 0x4f, 0x94, 0xae, 0xa1, 0x61, 0xee, 0xed, 0xc9, 0xdd, 0x4c, - 0x78, 0x6b, 0xb9, 0x7f, 0x28, 0xb4, 0x36, 0x20, 0xa0, 0x1c, 0x35, 0xb2, 0x16, 0x3a, 0xd6, 0x01, - 0x47, 0x07, 0x20, 0x1a, 0xc7, 0xa8, 0x3b, 0xe9, 0x78, 0x90, 0x8b, 0xc7, 0x77, 0x53, 0x70, 0x55, - 0x76, 0x56, 0x03, 0x0f, 0x4d, 0x30, 0xb8, 0x44, 0x47, 0x53, 0x66, 0x77, 0xdd, 0x40, 0xf9, 0x3b, - 0x64, 0x8b, 0xf9, 0x55, 0xe6, 0x42, 0x3f, 0xd6, 0x0d, 0x0e, 0x13, 0x4f, 0x34, 0x7d, 0x3a, 0xf5, - 0x57, 0xd2, 0xf1, 0xf0, 0x1d, 0x8f, 0xaf, 0xb0, 0x3f, 0x8d, 0x86, 0x40, 0x94, 0x55, 0xff, 0x48, - 0x1d, 0x04, 0x08, 0xe2, 0x96, 0x73, 0x73, 0xf8, 0x64, 0xea, 0x4f, 0xe4, 0xa2, 0x31, 0x5d, 0x1e, - 0x5f, 0xe9, 0x7d, 0x16, 0x8d, 0xcc, 0xda, 0x96, 0x6b, 0xba, 0x1e, 0xb1, 0x9a, 0xbe, 0xc2, 0x3e, - 0x41, 0x0d, 0x96, 0x66, 0x08, 0x16, 0xdf, 0x93, 0x08, 0xd4, 0x07, 0x51, 0x5e, 0xfc, 0x22, 0x1a, - 0x06, 0x91, 0x83, 0x1f, 0xb2, 0x90, 0xd3, 0x67, 0x95, 0x02, 0xa3, 0x4e, 0xc8, 0x21, 0x29, 0xbe, - 0x8b, 0xf2, 0xb3, 0xeb, 0x66, 0xcb, 0x70, 0x88, 0xc5, 0x93, 0xc6, 0x3d, 0x95, 0x1c, 0x81, 0x67, - 0x1a, 0xfe, 0x05, 0x5a, 0xd6, 0x9c, 0x26, 0x2f, 0x26, 0xbd, 0xa8, 0xe1, 0xb0, 0xa9, 0xbf, 0x90, - 0x46, 0x28, 0x2c, 0x80, 0x2f, 0xa1, 0xb4, 0xff, 0x6c, 0x93, 0xb9, 0x81, 0x48, 0x1a, 0x94, 0x86, - 0xa9, 0x98, 0x8f, 0xed, 0xf4, 0xae, 0x63, 0xfb, 0x2e, 0xca, 0xb1, 0x13, 0x25, 0xf0, 0xd4, 0x16, - 0xc2, 0x4c, 0xf4, 0x6c, 0xf0, 0x34, 0xd0, 0xb3, 0xcd, 0x22, 0x58, 0x76, 0x92, 0xd7, 0x33, 0x63, - 0x36, 0xd5, 0x44, 0x83, 0xf0, 0x17, 0xbe, 0x8c, 0xb2, 0x20, 0xc5, 0x14, 0xec, 0x13, 0xe1, 0xf1, - 0x63, 0x44, 0x7e, 0x80, 0xa7, 0xdd, 0x34, 0x6b, 0x5b, 0x1e, 0xad, 0x1a, 0x5a, 0x3d, 0xca, 0xe5, - 0xc2, 0x61, 0x92, 0x5c, 0x38, 0x4c, 0xfd, 0xa7, 0xe9, 0x84, 0x68, 0x43, 0x8f, 0xef, 0x30, 0x79, - 0x19, 0x21, 0x78, 0x9e, 0x4b, 0xe5, 0xe9, 0xbf, 0x1f, 0x80, 0x51, 0x02, 0x8c, 0x40, 0x6d, 0x25, - 0xb3, 0x3e, 0x24, 0x56, 0x7f, 0x2d, 0x15, 0x0b, 0x51, 0x73, 0x6c, 0x73, 0x98, 0x4a, 0xdf, 0x72, - 0xcc, 0xf3, 0xb1, 0x7e, 0x3b, 0x9d, 0x14, 0xb0, 0xe7, 0x78, 0xaa, 0x78, 0x98, 0x18, 0x2e, 0xbb, - 0x8f, 0xc4, 0x70, 0xef, 0xa2, 0x89, 0x48, 0x18, 0x1b, 0x9e, 0x81, 0xe7, 0x72, 0xff, 0x78, 0x38, - 0xbd, 0x1f, 0x76, 0x4b, 0x64, 0xea, 0xff, 0x4e, 0xf5, 0x0f, 0x62, 0x74, 0xe4, 0xaa, 0x93, 0x20, - 0x80, 0xcc, 0x9f, 0x8c, 0x00, 0x1e, 0xc1, 0x36, 0xf3, 0x78, 0x0b, 0xe0, 0x23, 0x32, 0x79, 0x7c, - 0xa7, 0x05, 0xf0, 0x13, 0xa9, 0x5d, 0x63, 0x50, 0x1d, 0xb5, 0x0c, 0xd4, 0x7f, 0x97, 0x4a, 0x8c, - 0x15, 0x75, 0xa8, 0x76, 0xbd, 0x8a, 0x72, 0xcc, 0x6d, 0x85, 0xb7, 0x4a, 0x88, 0xae, 0x4d, 0xa1, - 0xbd, 0x12, 0xd3, 0x33, 0x2c, 0x5e, 0x40, 0x43, 0xac, 0x0d, 0x06, 0xef, 0x8d, 0x4f, 0xf4, 0x09, - 0x58, 0x65, 0xf4, 0x9a, 0x1c, 0x39, 0x5a, 0xfd, 0xd5, 0x54, 0x2c, 0x74, 0xd5, 0x11, 0x7e, 0xdb, - 0xc1, 0x12, 0x5e, 0xff, 0x6e, 0x3a, 0x39, 0x72, 0xd6, 0x11, 0x7e, 0xc8, 0xa3, 0x38, 0xae, 0x3a, - 0xd8, 0xba, 0xb5, 0x82, 0xc6, 0x65, 0x59, 0xf0, 0x65, 0xeb, 0x62, 0x72, 0xfc, 0xb0, 0x1e, 0xad, - 0x88, 0xf0, 0x50, 0x3f, 0x4c, 0xc5, 0x83, 0x7e, 0x1d, 0xf9, 0xfc, 0x74, 0x30, 0x6d, 0x91, 0x3f, - 0xe5, 0x23, 0xb2, 0xd6, 0x3c, 0x8a, 0x4f, 0xf9, 0x88, 0xac, 0x1a, 0x07, 0xfb, 0x94, 0x9f, 0x4a, - 0xf7, 0x8a, 0x99, 0x76, 0xe4, 0x1f, 0xf4, 0x05, 0x51, 0xc8, 0xac, 0x65, 0xfc, 0xd3, 0x2e, 0xf5, - 0x0a, 0x52, 0xd6, 0x83, 0x67, 0x8c, 0xcf, 0xc1, 0xc6, 0x78, 0xa2, 0xb0, 0x3e, 0x22, 0x8a, 0x7c, - 0x3c, 0x84, 0xf5, 0x11, 0x19, 0x2a, 0x1f, 0x3d, 0x61, 0xfd, 0xbd, 0xf4, 0x5e, 0x03, 0xf5, 0x9d, - 0x08, 0x2f, 0x26, 0xbc, 0x6f, 0xa4, 0xe3, 0x01, 0x24, 0x8f, 0x5c, 0x4c, 0x73, 0x28, 0xc7, 0x43, - 0x59, 0xf6, 0x14, 0x0e, 0xc3, 0xf7, 0xb2, 0x68, 0xf8, 0x77, 0x84, 0xf9, 0x7f, 0xb3, 0x7b, 0xcf, - 0xff, 0xab, 0xfe, 0x51, 0x2a, 0x12, 0x6d, 0xf1, 0x48, 0x8e, 0x10, 0x0e, 0xb4, 0x24, 0xe1, 0xd7, - 0xfc, 0xc3, 0xcc, 0x6c, 0x24, 0x91, 0x5d, 0xf0, 0x3d, 0x65, 0xe2, 0xe9, 0x66, 0x2b, 0x5a, 0x9e, - 0xbf, 0xb9, 0xff, 0x95, 0x34, 0x9a, 0x8c, 0x91, 0xe2, 0xcb, 0x52, 0x08, 0x17, 0x38, 0x96, 0x8c, - 0x38, 0x67, 0xb3, 0x60, 0x2e, 0xfb, 0x38, 0x49, 0xbd, 0x8c, 0xb2, 0x65, 0x7d, 0x8b, 0x7d, 0xdb, - 0x20, 0x63, 0x69, 0xe8, 0x5b, 0xe2, 0x89, 0x1b, 0xe0, 0xf1, 0x2a, 0x3a, 0xc3, 0xee, 0x43, 0x4c, - 0xdb, 0x5a, 0x31, 0xdb, 0xa4, 0x6a, 0x2d, 0x9a, 0xad, 0x96, 0xe9, 0xf2, 0x4b, 0xb3, 0x6b, 0x3b, - 0xdb, 0xc5, 0x2b, 0x9e, 0xed, 0xe9, 0xad, 0x06, 0xf1, 0xc9, 0x1a, 0x9e, 0xd9, 0x26, 0x0d, 0xd3, - 0x6a, 0xb4, 0x81, 0x52, 0x60, 0x99, 0xcc, 0x0a, 0x57, 0x59, 0xa6, 0xbd, 0x7a, 0x53, 0xb7, 0x2c, - 0x62, 0x54, 0xad, 0x99, 0x2d, 0x8f, 0xb0, 0xcb, 0xb6, 0x0c, 0x3b, 0x12, 0x64, 0x6f, 0xaf, 0x19, - 0x9a, 0x32, 0x5e, 0xa5, 0x04, 0x5a, 0x42, 0x21, 0xf5, 0x97, 0xb3, 0x09, 0x81, 0x36, 0x8f, 0x91, - 0xfa, 0xf8, 0x3d, 0x9d, 0xdd, 0xa5, 0xa7, 0xaf, 0xa3, 0xa1, 0xb7, 0x89, 0x03, 0xe7, 0x5b, 0xec, - 0x82, 0x01, 0x9c, 0xc5, 0x1f, 0x30, 0x90, 0x78, 0x43, 0xc3, 0xa9, 0x70, 0x0b, 0x4d, 0xad, 0xd0, - 0x6e, 0x4a, 0xee, 0xcc, 0xdc, 0x01, 0x3a, 0xb3, 0x0f, 0x3f, 0xfc, 0x0e, 0x3a, 0x07, 0xd8, 0x84, - 0x6e, 0x1d, 0x82, 0xaa, 0x20, 0x54, 0x19, 0xab, 0x2a, 0xb9, 0x73, 0x7b, 0x95, 0xc7, 0x5f, 0x40, - 0xa3, 0xc1, 0x00, 0x31, 0x89, 0xcb, 0x6f, 0x2e, 0xfa, 0x8c, 0x33, 0x16, 0xcc, 0x8b, 0x82, 0xc1, - 0x45, 0x4b, 0x0e, 0x08, 0x25, 0xf1, 0x52, 0xff, 0x4d, 0xaa, 0x5f, 0xc0, 0xcf, 0x23, 0x9f, 0x95, - 0x5f, 0x43, 0x43, 0x06, 0xfb, 0x28, 0xae, 0x53, 0xfd, 0x43, 0x82, 0x32, 0x52, 0xcd, 0x2f, 0xa3, - 0xfe, 0xdb, 0x54, 0xdf, 0x38, 0xa3, 0xc7, 0xfd, 0xf3, 0xbe, 0x91, 0xe9, 0xf1, 0x79, 0x7c, 0x12, - 0xbd, 0x8a, 0x0a, 0xa6, 0xe5, 0x91, 0x35, 0x96, 0x42, 0xa8, 0x11, 0xc6, 0x46, 0xd2, 0x26, 0x04, - 0x38, 0x8c, 0xae, 0x5b, 0xe8, 0xac, 0xef, 0x58, 0xe8, 0xf8, 0x1e, 0x58, 0x6e, 0xa3, 0xeb, 0x98, - 0x6c, 0x5c, 0x6a, 0xa7, 0xdd, 0x88, 0x7b, 0x96, 0x7b, 0xd7, 0x31, 0x69, 0x05, 0xba, 0xb7, 0x4e, - 0x2c, 0xbd, 0xb1, 0x69, 0x3b, 0x1b, 0x10, 0x31, 0x92, 0x0d, 0x4e, 0x6d, 0x82, 0xc1, 0xef, 0xf9, - 0x60, 0xfc, 0x34, 0x1a, 0x5b, 0x6b, 0x75, 0x49, 0x10, 0xa3, 0x8f, 0xdd, 0xf5, 0x69, 0xa3, 0x14, - 0x18, 0xdc, 0x90, 0x5c, 0x40, 0x08, 0x88, 0x3c, 0x88, 0x02, 0x0b, 0x17, 0x7b, 0xda, 0x30, 0x85, - 0xac, 0xf0, 0xee, 0x9a, 0x62, 0x5a, 0xcd, 0x84, 0xd4, 0x68, 0xd9, 0xd6, 0x5a, 0xc3, 0x23, 0x4e, - 0x1b, 0x1a, 0x0a, 0xce, 0x89, 0xda, 0x59, 0xa0, 0x80, 0xab, 0x13, 0x77, 0xc1, 0xb6, 0xd6, 0x56, - 0x88, 0xd3, 0xa6, 0x4d, 0xbd, 0x86, 0x30, 0x6f, 0xaa, 0x03, 0x87, 0x1e, 0xec, 0xe3, 0xc0, 0x4f, - 0x51, 0xe3, 0x1f, 0xc1, 0x4e, 0x43, 0xe0, 0xc3, 0x8a, 0x68, 0x84, 0x05, 0x2a, 0x63, 0x42, 0x03, - 0x57, 0x45, 0x0d, 0x31, 0x10, 0xc8, 0xeb, 0x2c, 0xe2, 0xde, 0x0b, 0xcc, 0x6b, 0x5a, 0xe3, 0xbf, - 0x9e, 0x5d, 0x64, 0x61, 0xa8, 0xee, 0x98, 0x96, 0x81, 0x9f, 0x40, 0x67, 0xee, 0xd6, 0x2b, 0x5a, - 0xe3, 0x4e, 0x75, 0xa9, 0xdc, 0xb8, 0xbb, 0x54, 0xaf, 0x55, 0x66, 0xab, 0x73, 0xd5, 0x4a, 0xb9, - 0x30, 0x80, 0x4f, 0xa1, 0x89, 0x10, 0x35, 0x7f, 0x77, 0xb1, 0xb4, 0x54, 0x48, 0xe1, 0x49, 0x34, - 0x16, 0x02, 0x67, 0x96, 0x57, 0x0a, 0xe9, 0x67, 0x9f, 0x41, 0x23, 0xf0, 0x29, 0x25, 0x48, 0x66, - 0x87, 0x47, 0x51, 0x7e, 0x79, 0xa6, 0x5e, 0xd1, 0xde, 0x06, 0x26, 0x08, 0xe5, 0xca, 0x95, 0x25, - 0xca, 0x30, 0xf5, 0xec, 0x7f, 0x4f, 0x21, 0x54, 0x9f, 0x5b, 0xa9, 0x71, 0xc2, 0x11, 0x34, 0x54, - 0x5d, 0x7a, 0xbb, 0xb4, 0x50, 0xa5, 0x74, 0x79, 0x94, 0x5d, 0xae, 0x55, 0x68, 0x0d, 0xc3, 0x68, - 0x70, 0x76, 0x61, 0xb9, 0x5e, 0x29, 0xa4, 0x29, 0x50, 0xab, 0x94, 0xca, 0x85, 0x0c, 0x05, 0xde, - 0xd3, 0xaa, 0x2b, 0x95, 0x42, 0x96, 0xfe, 0xb9, 0x50, 0x5f, 0x29, 0xad, 0x14, 0x06, 0xe9, 0x9f, - 0x73, 0xf0, 0x67, 0x8e, 0x32, 0xab, 0x57, 0x56, 0xe0, 0xc7, 0x10, 0x6d, 0xc2, 0x9c, 0xff, 0x2b, - 0x4f, 0x51, 0x94, 0x75, 0xb9, 0xaa, 0x15, 0x86, 0xe9, 0x0f, 0xca, 0x92, 0xfe, 0x40, 0xb4, 0x71, - 0x5a, 0x65, 0x71, 0xf9, 0xed, 0x4a, 0x61, 0x84, 0xf2, 0x5a, 0xbc, 0x43, 0xc1, 0xa3, 0xf4, 0x4f, - 0x6d, 0x91, 0xfe, 0x39, 0x46, 0x39, 0x69, 0x95, 0xd2, 0x42, 0xad, 0xb4, 0x32, 0x5f, 0x18, 0xa7, - 0xed, 0x01, 0x9e, 0x13, 0xac, 0xe4, 0x52, 0x69, 0xb1, 0x52, 0x28, 0x70, 0x9a, 0xf2, 0x42, 0x75, - 0xe9, 0x4e, 0x61, 0x12, 0x1a, 0xf2, 0xce, 0x22, 0xfc, 0xc0, 0xb4, 0x00, 0xfc, 0x75, 0xea, 0xd9, - 0xef, 0x42, 0xb9, 0xe5, 0x3a, 0x5c, 0x52, 0x9e, 0x43, 0xa7, 0x96, 0xeb, 0x8d, 0x95, 0x77, 0x6a, - 0x95, 0x88, 0xbc, 0x27, 0xd1, 0x98, 0x8f, 0x58, 0xa8, 0x2e, 0xdd, 0xfd, 0x3c, 0x93, 0xb6, 0x0f, - 0x5a, 0x2c, 0xcd, 0x2e, 0xd7, 0x0b, 0x69, 0xda, 0x2b, 0x3e, 0xe8, 0x5e, 0x75, 0xa9, 0xbc, 0x7c, - 0xaf, 0x5e, 0xc8, 0x3c, 0xfb, 0xc0, 0x0f, 0xa0, 0xbf, 0xec, 0x98, 0x6b, 0xa6, 0x85, 0x2f, 0xa0, - 0x27, 0xca, 0x95, 0xb7, 0xab, 0xb3, 0x95, 0xc6, 0xb2, 0x56, 0xbd, 0x5d, 0x5d, 0x8a, 0xd4, 0x74, - 0x06, 0x4d, 0xca, 0xe8, 0x52, 0xad, 0x5a, 0x48, 0xe1, 0xb3, 0x08, 0xcb, 0xe0, 0x37, 0x4b, 0x8b, - 0x73, 0x85, 0x34, 0x56, 0xd0, 0x69, 0x19, 0x5e, 0x5d, 0x5a, 0xb9, 0xbb, 0x54, 0x29, 0x64, 0x9e, - 0xfd, 0x6b, 0x29, 0x74, 0x26, 0xf1, 0xad, 0x0a, 0x56, 0xd1, 0xc5, 0xca, 0x42, 0xa9, 0xbe, 0x52, - 0x9d, 0xad, 0x57, 0x4a, 0xda, 0xec, 0x7c, 0x63, 0xb6, 0xb4, 0x52, 0xb9, 0xbd, 0xac, 0xbd, 0xd3, - 0xb8, 0x5d, 0x59, 0xaa, 0x68, 0xa5, 0x85, 0xc2, 0x00, 0x7e, 0x1a, 0x15, 0x7b, 0xd0, 0xd4, 0x2b, - 0xb3, 0x77, 0xb5, 0xea, 0xca, 0x3b, 0x85, 0x14, 0x7e, 0x0a, 0x5d, 0xe8, 0x49, 0x44, 0x7f, 0x17, - 0xd2, 0xf8, 0x22, 0x9a, 0xea, 0x45, 0xf2, 0xd6, 0x42, 0x21, 0xf3, 0xec, 0x5f, 0x4c, 0x21, 0x1c, - 0x7f, 0x6c, 0x80, 0x2f, 0xa1, 0xf3, 0x54, 0x2f, 0x1a, 0xbd, 0x1b, 0xf8, 0x14, 0xba, 0x90, 0x48, - 0x21, 0x34, 0xaf, 0x88, 0x9e, 0xec, 0x41, 0xc2, 0x1b, 0x77, 0x1e, 0x29, 0xc9, 0x04, 0xb4, 0x69, - 0x33, 0xe5, 0x0f, 0xff, 0xfd, 0xc5, 0x81, 0x0f, 0x7f, 0xef, 0x62, 0xea, 0xb7, 0x7e, 0xef, 0x62, - 0xea, 0x77, 0x7f, 0xef, 0x62, 0xea, 0x0b, 0x37, 0xf6, 0xf3, 0x16, 0x83, 0xcd, 0x31, 0xab, 0x39, - 0xf0, 0x3a, 0xbe, 0xf9, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xfe, 0x7f, 0xf5, 0xe3, 0x22, - 0x01, 0x00, + // 13341 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x70, 0x1c, 0x47, + 0x76, 0x18, 0xf6, 0x03, 0x8b, 0x45, 0xe3, 0x6b, 0xd1, 0xfc, 0x1a, 0x41, 0x24, 0x57, 0x1a, 0xdd, + 0x51, 0xa4, 0x8e, 0x02, 0x4f, 0x24, 0x25, 0x9d, 0x74, 0xd2, 0x49, 0x0b, 0xec, 0x82, 0x58, 0x11, + 0x1f, 0xab, 0x59, 0x90, 0x3c, 0xdd, 0xf9, 0xb4, 0x1e, 0xec, 0x34, 0x81, 0x11, 0x76, 0x67, 0xf6, + 0x66, 0x66, 0x09, 0x42, 0xf9, 0xf2, 0x39, 0xfe, 0x3a, 0xe7, 0x7c, 0xb9, 0x38, 0x95, 0xb2, 0x53, + 0x49, 0x55, 0xec, 0xa4, 0x52, 0xe5, 0xb8, 0x1c, 0x3b, 0x4e, 0x52, 0xfe, 0x88, 0xe3, 0x4a, 0x9c, + 0x73, 0x2a, 0x72, 0xce, 0x76, 0xd9, 0x4e, 0xca, 0x3f, 0x12, 0x07, 0xe7, 0x38, 0xe5, 0xfc, 0x40, + 0x25, 0x55, 0xae, 0x8a, 0x2b, 0xb9, 0x38, 0x9f, 0xd5, 0xaf, 0x7b, 0x66, 0xba, 0x67, 0x66, 0x17, + 0x5f, 0x3c, 0x43, 0x10, 0xf1, 0x87, 0xc4, 0xbe, 0xf7, 0xfa, 0x75, 0xcf, 0xeb, 0xd7, 0xdd, 0xaf, + 0xbb, 0x5f, 0xbf, 0x87, 0xae, 0x78, 0xa4, 0x45, 0x3a, 0xb6, 0xe3, 0x5d, 0x6b, 0x91, 0x35, 0xbd, + 0xb9, 0x75, 0xcd, 0xdb, 0xea, 0x10, 0xf7, 0x1a, 0x79, 0x40, 0x2c, 0xcf, 0xff, 0x6f, 0xba, 0xe3, + 0xd8, 0x9e, 0x8d, 0x73, 0xec, 0xd7, 0xd4, 0xe9, 0x35, 0x7b, 0xcd, 0x06, 0xd0, 0x35, 0xfa, 0x17, + 0xc3, 0x4e, 0x9d, 0x5f, 0xb3, 0xed, 0xb5, 0x16, 0xb9, 0x06, 0xbf, 0x56, 0xbb, 0xf7, 0xaf, 0xb9, + 0x9e, 0xd3, 0x6d, 0x7a, 0x1c, 0x5b, 0x8c, 0x62, 0x3d, 0xb3, 0x4d, 0x5c, 0x4f, 0x6f, 0x77, 0x38, + 0xc1, 0xc5, 0x28, 0xc1, 0xa6, 0xa3, 0x77, 0x3a, 0xc4, 0xe1, 0x95, 0x4f, 0x3d, 0x9d, 0xdc, 0x4e, + 0xf8, 0x97, 0x93, 0x3c, 0x9f, 0x4c, 0xe2, 0x33, 0x8a, 0x70, 0x54, 0x7f, 0x38, 0x8d, 0xf2, 0x8b, + 0xc4, 0xd3, 0x0d, 0xdd, 0xd3, 0xf1, 0x79, 0x34, 0x58, 0xb5, 0x0c, 0xf2, 0x50, 0x49, 0x3d, 0x95, + 0xba, 0x9c, 0x99, 0xc9, 0xed, 0x6c, 0x17, 0xd3, 0xc4, 0xd4, 0x18, 0x10, 0x5f, 0x40, 0xd9, 0x95, + 0xad, 0x0e, 0x51, 0xd2, 0x4f, 0xa5, 0x2e, 0x0f, 0xcf, 0x0c, 0xef, 0x6c, 0x17, 0x07, 0x41, 0x16, + 0x1a, 0x80, 0xf1, 0xd3, 0x28, 0x5d, 0x2d, 0x2b, 0x19, 0x40, 0x4e, 0xee, 0x6c, 0x17, 0xc7, 0xba, + 0xa6, 0x71, 0xd5, 0x6e, 0x9b, 0x1e, 0x69, 0x77, 0xbc, 0x2d, 0x2d, 0x5d, 0x2d, 0xe3, 0x4b, 0x28, + 0x3b, 0x6b, 0x1b, 0x44, 0xc9, 0x02, 0x11, 0xde, 0xd9, 0x2e, 0x8e, 0x37, 0x6d, 0x83, 0x08, 0x54, + 0x80, 0xc7, 0x6f, 0xa2, 0xec, 0x8a, 0xd9, 0x26, 0xca, 0xe0, 0x53, 0xa9, 0xcb, 0x23, 0xd7, 0xa7, + 0xa6, 0x99, 0x54, 0xa6, 0x7d, 0xa9, 0x4c, 0xaf, 0xf8, 0x62, 0x9b, 0x29, 0x7c, 0xb0, 0x5d, 0x1c, + 0xd8, 0xd9, 0x2e, 0x66, 0xa9, 0x24, 0xbf, 0xf6, 0xcd, 0x62, 0x4a, 0x83, 0x92, 0xf8, 0x35, 0x34, + 0x32, 0xdb, 0xea, 0xba, 0x1e, 0x71, 0x96, 0xf4, 0x36, 0x51, 0x72, 0x50, 0xe1, 0xd4, 0xce, 0x76, + 0xf1, 0x6c, 0x93, 0x81, 0x1b, 0x96, 0xde, 0x16, 0x2b, 0x16, 0xc9, 0xd5, 0x5f, 0x48, 0xa1, 0x89, + 0x3a, 0x71, 0x5d, 0xd3, 0xb6, 0x02, 0xd9, 0x7c, 0x1c, 0x0d, 0x73, 0x50, 0xb5, 0x0c, 0xf2, 0x19, + 0x9e, 0x19, 0xda, 0xd9, 0x2e, 0x66, 0x5c, 0xd3, 0xd0, 0x42, 0x0c, 0xfe, 0x24, 0x1a, 0xba, 0x67, + 0x7a, 0xeb, 0x8b, 0x73, 0x25, 0x2e, 0xa7, 0xb3, 0x3b, 0xdb, 0x45, 0xbc, 0x69, 0x7a, 0xeb, 0x8d, + 0xf6, 0x7d, 0x5d, 0xa8, 0xd0, 0x27, 0xc3, 0x0b, 0xa8, 0x50, 0x73, 0xcc, 0x07, 0xba, 0x47, 0x6e, + 0x93, 0xad, 0x9a, 0xdd, 0x32, 0x9b, 0x5b, 0x5c, 0x8a, 0x4f, 0xed, 0x6c, 0x17, 0xcf, 0x77, 0x18, + 0xae, 0xb1, 0x41, 0xb6, 0x1a, 0x1d, 0xc0, 0x0a, 0x4c, 0x62, 0x25, 0xd5, 0xaf, 0x0f, 0xa2, 0xd1, + 0x3b, 0x2e, 0x71, 0x82, 0x76, 0x5f, 0x42, 0x59, 0xfa, 0x9b, 0x37, 0x19, 0x64, 0xde, 0x75, 0x89, + 0x23, 0xca, 0x9c, 0xe2, 0xf1, 0x15, 0x34, 0xb8, 0x60, 0xaf, 0x99, 0x16, 0x6f, 0xf6, 0xa9, 0x9d, + 0xed, 0xe2, 0x44, 0x8b, 0x02, 0x04, 0x4a, 0x46, 0x81, 0x3f, 0x83, 0x46, 0xab, 0x6d, 0xaa, 0x43, + 0xb6, 0xa5, 0x7b, 0xb6, 0xc3, 0x5b, 0x0b, 0xd2, 0x35, 0x05, 0xb8, 0x50, 0x50, 0xa2, 0xc7, 0xaf, + 0x22, 0x54, 0xba, 0x57, 0xd7, 0xec, 0x16, 0x29, 0x69, 0x4b, 0x5c, 0x19, 0xa0, 0xb4, 0xbe, 0xe9, + 0x36, 0x1c, 0xbb, 0x45, 0x1a, 0xba, 0x23, 0x56, 0x2b, 0x50, 0xe3, 0x0a, 0x1a, 0x2f, 0x35, 0x9b, + 0xc4, 0x75, 0x35, 0xf2, 0xc5, 0x2e, 0x71, 0x3d, 0x57, 0x19, 0x7c, 0x2a, 0x73, 0x79, 0x78, 0xe6, + 0xc2, 0xce, 0x76, 0xf1, 0x09, 0x1d, 0x30, 0x0d, 0x87, 0xa3, 0x04, 0x16, 0x91, 0x42, 0x78, 0x06, + 0x8d, 0x95, 0xde, 0xef, 0x3a, 0xa4, 0x6a, 0x10, 0xcb, 0x33, 0xbd, 0x2d, 0xae, 0x21, 0xe7, 0x77, + 0xb6, 0x8b, 0x8a, 0x4e, 0x11, 0x0d, 0x93, 0x63, 0x04, 0x26, 0x72, 0x11, 0xbc, 0x8c, 0x26, 0x6f, + 0xcd, 0xd6, 0xea, 0xc4, 0x79, 0x60, 0x36, 0x49, 0xa9, 0xd9, 0xb4, 0xbb, 0x96, 0xa7, 0x0c, 0x01, + 0x9f, 0xa7, 0x77, 0xb6, 0x8b, 0x17, 0xd6, 0x9a, 0x9d, 0x86, 0xcb, 0xb0, 0x0d, 0x9d, 0xa1, 0x05, + 0x66, 0xf1, 0xb2, 0xf8, 0x73, 0x68, 0x6c, 0xc5, 0xa1, 0x5a, 0x68, 0x94, 0x09, 0x85, 0x2b, 0x79, + 0xd0, 0xff, 0xb3, 0xd3, 0x7c, 0x02, 0x62, 0x50, 0xbf, 0x67, 0x59, 0x63, 0x3d, 0x56, 0xa0, 0x61, + 0x00, 0x4e, 0x6c, 0xac, 0xc4, 0x0a, 0x13, 0xa4, 0xd0, 0x8f, 0x37, 0x1d, 0x62, 0xc4, 0xb4, 0x6d, + 0x18, 0xda, 0x7c, 0x65, 0x67, 0xbb, 0xf8, 0x71, 0x87, 0xd3, 0x34, 0xfa, 0xaa, 0x5d, 0x4f, 0x56, + 0xb8, 0x82, 0xf2, 0x54, 0x9b, 0x6e, 0x9b, 0x96, 0xa1, 0xa0, 0xa7, 0x52, 0x97, 0xc7, 0xaf, 0x17, + 0xfc, 0xd6, 0xfb, 0xf0, 0x99, 0x73, 0x3b, 0xdb, 0xc5, 0x53, 0x54, 0x07, 0x1b, 0x1b, 0xa6, 0x25, + 0x4e, 0x11, 0x41, 0x51, 0xf5, 0x1f, 0x65, 0xd1, 0x38, 0x15, 0x8e, 0xa0, 0xc7, 0x25, 0x3a, 0x24, + 0x29, 0x84, 0x8e, 0x50, 0xb7, 0xa3, 0x37, 0x09, 0x57, 0x69, 0x60, 0x67, 0xf9, 0x40, 0x81, 0x5d, + 0x94, 0x1e, 0x5f, 0x41, 0x79, 0x06, 0xaa, 0x96, 0xb9, 0x96, 0x8f, 0xed, 0x6c, 0x17, 0x87, 0x5d, + 0x80, 0x35, 0x4c, 0x43, 0x0b, 0xd0, 0x54, 0xcd, 0xd8, 0xdf, 0xf3, 0xb6, 0xeb, 0x51, 0xe6, 0x5c, + 0xc9, 0x41, 0xcd, 0x78, 0x81, 0x75, 0x8e, 0x12, 0xd5, 0x4c, 0x2e, 0x84, 0x5f, 0x41, 0x88, 0x41, + 0x4a, 0x86, 0xe1, 0x70, 0x4d, 0x7f, 0x62, 0x67, 0xbb, 0x78, 0x86, 0xb3, 0xd0, 0x0d, 0x43, 0x1c, + 0x26, 0x02, 0x31, 0x6e, 0xa3, 0x51, 0xf6, 0x6b, 0x41, 0x5f, 0x25, 0x2d, 0xa6, 0xe6, 0x23, 0xd7, + 0x2f, 0xfb, 0xd2, 0x94, 0xa5, 0x33, 0x2d, 0x92, 0x56, 0x2c, 0xcf, 0xd9, 0x9a, 0x29, 0xf2, 0x99, + 0xf1, 0x1c, 0xaf, 0xaa, 0x05, 0x38, 0x71, 0x4c, 0x8a, 0x65, 0xe8, 0x84, 0x39, 0x67, 0x3b, 0x9b, + 0xba, 0x63, 0x10, 0x63, 0x66, 0x4b, 0x9c, 0x30, 0xef, 0xfb, 0xe0, 0xc6, 0xaa, 0xa8, 0x03, 0x22, + 0x39, 0x9e, 0x45, 0x63, 0x8c, 0x5b, 0xbd, 0xbb, 0x0a, 0x7d, 0x3f, 0x14, 0x93, 0x96, 0xdb, 0x5d, + 0x8d, 0xf6, 0xb7, 0x5c, 0x66, 0xea, 0x0d, 0x34, 0x19, 0xfb, 0x0c, 0x5c, 0x40, 0x99, 0x0d, 0xb2, + 0xc5, 0xba, 0x5a, 0xa3, 0x7f, 0xe2, 0xd3, 0x68, 0xf0, 0x81, 0xde, 0xea, 0xf2, 0x75, 0x48, 0x63, + 0x3f, 0x5e, 0x4d, 0x7f, 0x2a, 0x45, 0xa7, 0x6d, 0x3c, 0x6b, 0x5b, 0x16, 0x69, 0x7a, 0xe2, 0xcc, + 0xfd, 0x12, 0x1a, 0x5e, 0xb0, 0x9b, 0x7a, 0x0b, 0xfa, 0x80, 0xe9, 0x8c, 0xb2, 0xb3, 0x5d, 0x3c, + 0x4d, 0x85, 0x3f, 0xdd, 0xa2, 0x18, 0xa1, 0x4d, 0x21, 0x29, 0xed, 0x3c, 0x8d, 0xb4, 0x6d, 0x8f, + 0x40, 0xc1, 0x74, 0xd8, 0x79, 0x50, 0xd0, 0x01, 0x94, 0xd8, 0x79, 0x21, 0x31, 0xbe, 0x86, 0xf2, + 0x35, 0xba, 0x58, 0x35, 0xed, 0x16, 0x57, 0x1c, 0x98, 0x4f, 0x61, 0x01, 0x13, 0x15, 0xde, 0x27, + 0x52, 0xe7, 0xd1, 0xf8, 0x6c, 0xcb, 0x24, 0x96, 0x27, 0xb6, 0x9a, 0x0e, 0x87, 0xd2, 0x1a, 0xb1, + 0x3c, 0xb1, 0xd5, 0x30, 0x70, 0x74, 0x0a, 0x15, 0x5b, 0x1d, 0x90, 0xaa, 0xbf, 0x99, 0x41, 0x4f, + 0xdc, 0xee, 0xae, 0x12, 0xc7, 0x22, 0x1e, 0x71, 0xf9, 0xaa, 0x16, 0x70, 0x5d, 0x42, 0x93, 0x31, + 0x24, 0xe7, 0x0e, 0xab, 0xcd, 0x46, 0x80, 0x6c, 0xf0, 0x85, 0x52, 0x9c, 0xb2, 0x62, 0x45, 0xf1, + 0x3c, 0x9a, 0x08, 0x81, 0xb4, 0x11, 0xae, 0x92, 0x86, 0xf9, 0xf8, 0xe2, 0xce, 0x76, 0x71, 0x4a, + 0xe0, 0x46, 0x9b, 0x2d, 0x6a, 0x5f, 0xb4, 0x18, 0xbe, 0x8d, 0x0a, 0x21, 0xe8, 0x96, 0x63, 0x77, + 0x3b, 0xae, 0x92, 0x01, 0x56, 0xc5, 0x9d, 0xed, 0xe2, 0x93, 0x02, 0xab, 0x35, 0x40, 0x8a, 0xab, + 0x60, 0xb4, 0x20, 0xfe, 0x9e, 0x94, 0xc8, 0x8d, 0x8f, 0xa0, 0x2c, 0x8c, 0xa0, 0x97, 0xfd, 0x11, + 0xd4, 0x53, 0x48, 0xd3, 0xd1, 0x92, 0x7c, 0x40, 0x45, 0x9a, 0x11, 0x1b, 0x50, 0xb1, 0x1a, 0xa7, + 0x66, 0xd1, 0x99, 0x44, 0x5e, 0xfb, 0xd2, 0xea, 0x3f, 0xcc, 0x88, 0x5c, 0x6a, 0xb6, 0x11, 0x74, + 0xe6, 0xb2, 0xd8, 0x99, 0x35, 0xdb, 0x00, 0x53, 0x27, 0x15, 0x2e, 0x40, 0x42, 0x63, 0x3b, 0xb6, + 0x11, 0xb5, 0x78, 0xe2, 0x65, 0xf1, 0xbb, 0xe8, 0x6c, 0x0c, 0xc8, 0xa6, 0x5a, 0xa6, 0xfd, 0x97, + 0x76, 0xb6, 0x8b, 0x6a, 0x02, 0xd7, 0xe8, 0xcc, 0xdb, 0x83, 0x0b, 0xd6, 0xd1, 0x39, 0x41, 0xea, + 0xb6, 0xe5, 0xe9, 0xa6, 0xc5, 0x2d, 0x34, 0x36, 0x4a, 0x9e, 0xdd, 0xd9, 0x2e, 0x3e, 0x23, 0xea, + 0xa0, 0x4f, 0x13, 0x6d, 0x7c, 0x2f, 0x3e, 0xd8, 0x40, 0x4a, 0x02, 0xaa, 0xda, 0xd6, 0xd7, 0x7c, + 0xb3, 0xf3, 0xf2, 0xce, 0x76, 0xf1, 0x63, 0x89, 0x75, 0x98, 0x94, 0x4a, 0x5c, 0xe6, 0x7a, 0x71, + 0xc2, 0x1a, 0xc2, 0x21, 0x6e, 0xc9, 0x36, 0x08, 0x7c, 0xc3, 0x20, 0xf0, 0x57, 0x77, 0xb6, 0x8b, + 0x17, 0x05, 0xfe, 0x96, 0x6d, 0x90, 0x68, 0xf3, 0x13, 0x4a, 0xab, 0xbf, 0x90, 0x41, 0x17, 0xeb, + 0xa5, 0xc5, 0x85, 0xaa, 0xe1, 0xdb, 0x05, 0x35, 0xc7, 0x7e, 0x60, 0x1a, 0xc2, 0xe8, 0x5d, 0x45, + 0xe7, 0x22, 0xa8, 0x0a, 0x98, 0x22, 0x81, 0x45, 0x0a, 0xdf, 0xe6, 0xdb, 0x1c, 0x1d, 0x4e, 0xd3, + 0x60, 0xf6, 0x4a, 0x43, 0x32, 0xc7, 0x7b, 0x31, 0xa2, 0x7d, 0x14, 0x41, 0xd5, 0xd7, 0x6d, 0xc7, + 0x6b, 0x76, 0x3d, 0xae, 0x04, 0xd0, 0x47, 0xb1, 0x3a, 0x5c, 0x4e, 0xd4, 0xa7, 0x0a, 0x9f, 0x0f, + 0xfe, 0x72, 0x0a, 0x15, 0x4a, 0x9e, 0xe7, 0x98, 0xab, 0x5d, 0x8f, 0x2c, 0xea, 0x9d, 0x8e, 0x69, + 0xad, 0xc1, 0x58, 0x1f, 0xb9, 0xfe, 0x5a, 0xb0, 0xbe, 0xf5, 0x95, 0xc4, 0x74, 0xb4, 0xb8, 0x30, + 0x44, 0x75, 0x1f, 0xd5, 0x68, 0x33, 0x9c, 0x38, 0x44, 0xa3, 0xe5, 0xe8, 0x10, 0x4d, 0xe4, 0xb5, + 0xaf, 0x21, 0xfa, 0xc3, 0x19, 0x74, 0x7e, 0x79, 0xc3, 0xd3, 0x35, 0xe2, 0xda, 0x5d, 0xa7, 0x49, + 0xdc, 0x3b, 0x1d, 0x43, 0xf7, 0x48, 0x38, 0x52, 0x8b, 0x68, 0xb0, 0x64, 0x18, 0xc4, 0x00, 0x76, + 0x83, 0x6c, 0xef, 0xa4, 0x53, 0x80, 0xc6, 0xe0, 0xf8, 0xe3, 0x68, 0x88, 0x97, 0x01, 0xee, 0x83, + 0x33, 0x23, 0x3b, 0xdb, 0xc5, 0xa1, 0x2e, 0x03, 0x69, 0x3e, 0x8e, 0x92, 0x95, 0x49, 0x8b, 0x50, + 0xb2, 0x4c, 0x48, 0x66, 0x30, 0x90, 0xe6, 0xe3, 0xf0, 0xdb, 0x68, 0x1c, 0xd8, 0x06, 0xed, 0xe1, + 0x73, 0xdf, 0x69, 0x5f, 0xba, 0x62, 0x63, 0xd9, 0xd2, 0x04, 0xad, 0x69, 0x38, 0x7e, 0x01, 0x2d, + 0xc2, 0x00, 0xdf, 0x43, 0x05, 0xde, 0x88, 0x90, 0xe9, 0x60, 0x1f, 0xa6, 0x67, 0x76, 0xb6, 0x8b, + 0x93, 0xbc, 0xfd, 0x02, 0xdb, 0x18, 0x13, 0xca, 0x98, 0x37, 0x3b, 0x64, 0x9c, 0xdb, 0x8d, 0x31, + 0xff, 0x62, 0x91, 0x71, 0x94, 0x89, 0xfa, 0x0e, 0x1a, 0x15, 0x0b, 0xe2, 0xb3, 0xb0, 0x3f, 0x65, + 0xe3, 0x04, 0x76, 0xb6, 0xa6, 0x01, 0x9b, 0xd2, 0x17, 0xd0, 0x48, 0x99, 0xb8, 0x4d, 0xc7, 0xec, + 0x50, 0xab, 0x81, 0x2b, 0xf9, 0xc4, 0xce, 0x76, 0x71, 0xc4, 0x08, 0xc1, 0x9a, 0x48, 0xa3, 0xfe, + 0xf7, 0x14, 0x3a, 0x4b, 0x79, 0x97, 0x5c, 0xd7, 0x5c, 0xb3, 0xda, 0xe2, 0xb2, 0x7d, 0x15, 0xe5, + 0xea, 0x50, 0x1f, 0xaf, 0xe9, 0xf4, 0xce, 0x76, 0xb1, 0xc0, 0x5a, 0x20, 0xe8, 0x21, 0xa7, 0x09, + 0x36, 0x67, 0xe9, 0x5d, 0x36, 0x67, 0xd4, 0x1c, 0xf5, 0x74, 0xc7, 0x33, 0xad, 0xb5, 0xba, 0xa7, + 0x7b, 0x5d, 0x57, 0x32, 0x47, 0x39, 0xa6, 0xe1, 0x02, 0x4a, 0x32, 0x47, 0xa5, 0x42, 0xf8, 0x0d, + 0x34, 0x5a, 0xb1, 0x8c, 0x90, 0x09, 0x9b, 0x10, 0x9f, 0xa4, 0x56, 0x22, 0x01, 0x78, 0x9c, 0x85, + 0x54, 0x40, 0xfd, 0xfb, 0x29, 0xa4, 0xb0, 0x9d, 0xd4, 0x82, 0xe9, 0x7a, 0x8b, 0xa4, 0xbd, 0x2a, + 0xcc, 0x4e, 0x73, 0xfe, 0xd6, 0x8c, 0xe2, 0x84, 0xb5, 0x08, 0x4c, 0x01, 0xbe, 0x35, 0x6b, 0x99, + 0xae, 0x17, 0x9d, 0x0c, 0x23, 0xa5, 0x70, 0x15, 0x0d, 0x31, 0xce, 0xcc, 0x96, 0x18, 0xb9, 0xae, + 0xf8, 0x8a, 0x10, 0xad, 0x9a, 0x29, 0x43, 0x9b, 0x11, 0x8b, 0x7b, 0x6b, 0x5e, 0x5e, 0xfd, 0x07, + 0x69, 0x54, 0x88, 0x16, 0xc2, 0xf7, 0x50, 0xfe, 0x2d, 0xdb, 0xb4, 0x88, 0xb1, 0x6c, 0x41, 0x0b, + 0xfb, 0x9f, 0x30, 0xf8, 0x76, 0xf4, 0xa9, 0xf7, 0xa0, 0x4c, 0xc3, 0x16, 0x76, 0xa6, 0x70, 0xe0, + 0x10, 0x30, 0xc3, 0x9f, 0x43, 0xc3, 0xd4, 0x06, 0x7c, 0x00, 0x9c, 0xd3, 0xbb, 0x72, 0x7e, 0x8a, + 0x73, 0x3e, 0xed, 0xb0, 0x42, 0x71, 0xd6, 0x21, 0x3b, 0xaa, 0x57, 0x1a, 0xd1, 0x5d, 0xdb, 0xe2, + 0x3d, 0x0f, 0x7a, 0xe5, 0x00, 0x44, 0xd4, 0x2b, 0x46, 0x43, 0x4d, 0x57, 0xf6, 0xb1, 0xd0, 0x0d, + 0xc2, 0xbe, 0x83, 0xc9, 0x2a, 0xda, 0x03, 0x02, 0xb1, 0xfa, 0x7d, 0x69, 0xf4, 0x7c, 0x28, 0x32, + 0x8d, 0x3c, 0x30, 0xc9, 0x26, 0x17, 0xe7, 0xba, 0xd9, 0xe1, 0x1b, 0x3f, 0xaa, 0xf2, 0xee, 0xec, + 0xba, 0x6e, 0xad, 0x11, 0x03, 0x5f, 0x41, 0x83, 0x74, 0x77, 0xee, 0x2a, 0x29, 0x30, 0xd7, 0x60, + 0x3a, 0xa1, 0xbb, 0x78, 0xb1, 0x47, 0x18, 0x05, 0xb6, 0x51, 0x6e, 0xc5, 0xd1, 0x4d, 0xcf, 0xef, + 0xd9, 0x52, 0xbc, 0x67, 0xf7, 0x50, 0xe3, 0x34, 0xe3, 0xc1, 0xe6, 0x7c, 0x10, 0x84, 0x07, 0x00, + 0x51, 0x10, 0x8c, 0x64, 0xea, 0x15, 0x34, 0x22, 0x10, 0xef, 0x6b, 0x52, 0xff, 0xc5, 0xac, 0xa8, + 0xeb, 0x7e, 0xb3, 0xb8, 0xae, 0x5f, 0xa3, 0x3a, 0xea, 0xba, 0xd4, 0xaa, 0x60, 0x4a, 0xce, 0x35, + 0x11, 0x40, 0xb2, 0x26, 0x02, 0x08, 0xdf, 0x40, 0x79, 0xc6, 0x22, 0xd8, 0x7b, 0xc2, 0xbe, 0xd5, + 0x01, 0x98, 0xbc, 0x34, 0x07, 0x84, 0xf8, 0x27, 0x53, 0xe8, 0x42, 0x5f, 0x49, 0x80, 0x32, 0x8c, + 0x5c, 0x7f, 0xf1, 0x40, 0x62, 0x9c, 0x79, 0x7e, 0x67, 0xbb, 0x78, 0xa5, 0x1d, 0x90, 0x34, 0x1c, + 0x81, 0xa6, 0xd1, 0x64, 0x44, 0x42, 0xbb, 0xfa, 0x37, 0x85, 0x1a, 0x8f, 0xac, 0xd2, 0x39, 0x38, + 0x7f, 0xb1, 0x9a, 0x5b, 0x7e, 0x23, 0xb3, 0xa1, 0xf1, 0xc8, 0xbf, 0xf7, 0xbe, 0x4f, 0x92, 0x50, + 0x4d, 0x0f, 0x2e, 0xb8, 0x89, 0xce, 0x31, 0x4c, 0x59, 0xdf, 0x5a, 0xbe, 0xbf, 0x68, 0x5b, 0xde, + 0xba, 0x5f, 0xc1, 0xa0, 0x78, 0x80, 0x01, 0x15, 0x18, 0xfa, 0x56, 0xc3, 0xbe, 0xdf, 0x68, 0x53, + 0xaa, 0x84, 0x3a, 0x7a, 0x71, 0xa2, 0x13, 0x2d, 0x1f, 0x73, 0xfe, 0x14, 0x94, 0x0b, 0x8f, 0x97, + 0xfc, 0x71, 0x1a, 0x9f, 0x70, 0x22, 0x85, 0xd4, 0x6f, 0x0e, 0xd2, 0xdd, 0x3b, 0x9c, 0x09, 0xc2, + 0x14, 0x8c, 0x5f, 0x0d, 0x4f, 0x59, 0xf9, 0x9c, 0x13, 0x9c, 0x8b, 0x04, 0xe7, 0x39, 0xa3, 0x74, + 0x3e, 0xf8, 0xad, 0xed, 0x62, 0x6a, 0x67, 0xbb, 0x38, 0xa0, 0xe5, 0x85, 0x9d, 0x60, 0xb8, 0x48, + 0x08, 0xab, 0xa2, 0x78, 0xca, 0x17, 0x29, 0xcb, 0x16, 0x8d, 0x37, 0xd0, 0x10, 0x6f, 0x03, 0x57, + 0x93, 0x73, 0xe1, 0xe1, 0x81, 0x74, 0xb6, 0x19, 0x29, 0xed, 0x97, 0xc2, 0xaf, 0xa1, 0x1c, 0xdb, + 0x90, 0x43, 0x0f, 0x0a, 0x07, 0x51, 0xf2, 0xe1, 0x43, 0xa4, 0x38, 0x2f, 0x83, 0xe7, 0x11, 0x0a, + 0x37, 0xe3, 0xc1, 0x51, 0x2e, 0xe7, 0x10, 0xdf, 0xa6, 0x47, 0xb8, 0x08, 0x65, 0xf1, 0x4b, 0x68, + 0x74, 0x85, 0x38, 0x6d, 0xd3, 0xd2, 0x5b, 0x75, 0xf3, 0x7d, 0xff, 0x34, 0x17, 0x56, 0x4b, 0xd7, + 0x7c, 0x5f, 0x1c, 0x6e, 0x12, 0x1d, 0xfe, 0x42, 0xd2, 0x66, 0x77, 0x08, 0x1a, 0xf2, 0xf4, 0xae, + 0xbb, 0xc0, 0x48, 0x7b, 0x12, 0xf6, 0xbe, 0x6f, 0xa3, 0x31, 0x69, 0x9f, 0xc3, 0x8f, 0xeb, 0x2e, + 0xc4, 0x59, 0x0b, 0x9b, 0xb6, 0x08, 0x5b, 0x99, 0x03, 0x55, 0xbf, 0xaa, 0x65, 0x7a, 0xa6, 0xde, + 0x9a, 0xb5, 0xdb, 0x6d, 0xdd, 0x32, 0x94, 0xe1, 0x50, 0xfd, 0x4c, 0x86, 0x69, 0x34, 0x19, 0x4a, + 0x54, 0x3f, 0xb9, 0x10, 0xdd, 0x4b, 0xf3, 0x3e, 0xd4, 0x48, 0xd3, 0x76, 0xe8, 0x02, 0x0e, 0xa7, + 0x71, 0x7c, 0x2f, 0xed, 0x32, 0x5c, 0xc3, 0xf1, 0x91, 0xa2, 0x85, 0x1c, 0x2d, 0xf8, 0x56, 0x36, + 0x3f, 0x52, 0x18, 0x8d, 0x1e, 0xa0, 0xaa, 0x7f, 0x2f, 0x83, 0x46, 0x38, 0x29, 0x5d, 0xff, 0x4e, + 0x14, 0xfc, 0x30, 0x0a, 0x9e, 0xa8, 0xa8, 0xb9, 0x47, 0xa5, 0xa8, 0xea, 0x57, 0xd2, 0xc1, 0x6c, + 0x54, 0x73, 0x4c, 0xeb, 0x70, 0xb3, 0xd1, 0x25, 0x84, 0x66, 0xd7, 0xbb, 0xd6, 0x06, 0xbb, 0x28, + 0x4a, 0x87, 0x17, 0x45, 0x4d, 0x53, 0x13, 0x30, 0xf8, 0x02, 0xca, 0x96, 0x29, 0x7f, 0xda, 0x33, + 0xa3, 0x33, 0xc3, 0x1f, 0x30, 0x4e, 0xa9, 0xe7, 0x35, 0x00, 0xd3, 0x1d, 0xd1, 0xcc, 0x96, 0x47, + 0x98, 0x0d, 0x9a, 0x61, 0x3b, 0xa2, 0x55, 0x0a, 0xd0, 0x18, 0x1c, 0xdf, 0x44, 0x93, 0x65, 0xd2, + 0xd2, 0xb7, 0x16, 0xcd, 0x56, 0xcb, 0x74, 0x49, 0xd3, 0xb6, 0x0c, 0x17, 0x84, 0xcc, 0xab, 0x6b, + 0xbb, 0x5a, 0x9c, 0x00, 0xab, 0x28, 0xb7, 0x7c, 0xff, 0xbe, 0x4b, 0x3c, 0x10, 0x5f, 0x66, 0x06, + 0xed, 0x6c, 0x17, 0x73, 0x36, 0x40, 0x34, 0x8e, 0x51, 0x7f, 0x26, 0x45, 0xb7, 0x1c, 0xee, 0x86, + 0x67, 0x77, 0x02, 0x2d, 0x3f, 0x94, 0x48, 0xae, 0x84, 0xc6, 0x40, 0x1a, 0xbe, 0x76, 0x82, 0x7f, + 0xed, 0x10, 0x37, 0x08, 0x42, 0x33, 0x20, 0xf1, 0xab, 0x32, 0xbb, 0x7c, 0x95, 0xfa, 0x47, 0x69, + 0x74, 0x8e, 0xb7, 0x78, 0xb6, 0x65, 0x76, 0x56, 0x6d, 0xdd, 0x31, 0x34, 0xd2, 0x24, 0xe6, 0x03, + 0x72, 0x3c, 0x07, 0x9e, 0x3c, 0x74, 0xb2, 0x87, 0x18, 0x3a, 0xd7, 0x61, 0xf7, 0x46, 0x25, 0x03, + 0xa7, 0xb4, 0xcc, 0x12, 0x28, 0xec, 0x6c, 0x17, 0x47, 0x0d, 0x06, 0x86, 0x33, 0x76, 0x4d, 0x24, + 0xa2, 0x4a, 0xb2, 0x40, 0xac, 0x35, 0x6f, 0x1d, 0x94, 0x64, 0x90, 0x29, 0x49, 0x0b, 0x20, 0x1a, + 0xc7, 0xa8, 0xff, 0x35, 0x8d, 0x4e, 0x47, 0x45, 0x5e, 0x27, 0x96, 0x71, 0x22, 0xef, 0x6f, 0x8f, + 0xbc, 0xff, 0x38, 0x83, 0x9e, 0xe4, 0x65, 0xea, 0xeb, 0xba, 0x43, 0x8c, 0xb2, 0xe9, 0x90, 0xa6, + 0x67, 0x3b, 0x5b, 0xc7, 0xd8, 0x80, 0x7a, 0x74, 0x62, 0xbf, 0x89, 0x72, 0x7c, 0xcf, 0xce, 0xd6, + 0x99, 0xf1, 0xa0, 0x25, 0x00, 0x8d, 0xad, 0x50, 0x6c, 0xbf, 0x1f, 0xe9, 0xac, 0xdc, 0x5e, 0x3a, + 0xeb, 0x53, 0x68, 0x2c, 0x10, 0x3d, 0xec, 0x1e, 0x87, 0x42, 0x6b, 0xcb, 0xf0, 0x11, 0xb0, 0x81, + 0xd4, 0x64, 0x42, 0xa8, 0xcd, 0x07, 0x54, 0xcb, 0x60, 0x0d, 0x8d, 0xf1, 0xda, 0x82, 0x72, 0xa6, + 0xa1, 0x89, 0x44, 0xea, 0x76, 0x16, 0x4d, 0x25, 0x77, 0xbb, 0x46, 0x74, 0xe3, 0xa4, 0xd7, 0x3f, + 0x92, 0xbd, 0x8e, 0x9f, 0x46, 0xd9, 0x9a, 0xee, 0xad, 0xf3, 0x8b, 0x67, 0xb8, 0x84, 0xbd, 0x6f, + 0xb6, 0x48, 0xa3, 0xa3, 0x7b, 0xeb, 0x1a, 0xa0, 0x84, 0x39, 0x03, 0x01, 0xc7, 0x84, 0x39, 0x43, + 0x58, 0xec, 0x47, 0x9e, 0x4a, 0x5d, 0xce, 0x26, 0x2e, 0xf6, 0xdf, 0xcc, 0xf6, 0x9a, 0x57, 0xee, + 0x39, 0xa6, 0x47, 0x4e, 0x34, 0xec, 0x44, 0xc3, 0x0e, 0xa9, 0x61, 0xbf, 0x93, 0x46, 0x63, 0xc1, + 0xa6, 0xe9, 0x3d, 0xd2, 0x3c, 0x9a, 0xb5, 0x2a, 0xdc, 0xca, 0x64, 0x0e, 0xbd, 0x95, 0x39, 0x8c, + 0x42, 0xa9, 0xc1, 0x39, 0x25, 0x33, 0x0d, 0x40, 0x62, 0xec, 0x9c, 0x32, 0x38, 0x9d, 0x7c, 0x1a, + 0x0d, 0x2d, 0xea, 0x0f, 0xcd, 0x76, 0xb7, 0xcd, 0xad, 0x74, 0x70, 0xa4, 0x6a, 0xeb, 0x0f, 0x35, + 0x1f, 0xae, 0xfe, 0xdb, 0x14, 0x1a, 0xe7, 0x42, 0xe5, 0xcc, 0x0f, 0x25, 0xd5, 0x50, 0x3a, 0xe9, + 0x43, 0x4b, 0x27, 0x73, 0x70, 0xe9, 0xa8, 0x7f, 0x33, 0x83, 0x94, 0x39, 0xb3, 0x45, 0x56, 0x1c, + 0xdd, 0x72, 0xef, 0x13, 0x87, 0x6f, 0xa7, 0x2b, 0x94, 0xd5, 0xa1, 0x3e, 0x50, 0x98, 0x52, 0xd2, + 0x07, 0x9a, 0x52, 0x3e, 0x81, 0x86, 0x79, 0x63, 0x02, 0x27, 0x3e, 0x18, 0x35, 0x8e, 0x0f, 0xd4, + 0x42, 0x3c, 0x25, 0x2e, 0x75, 0x3a, 0x8e, 0xfd, 0x80, 0x38, 0xec, 0x6a, 0x89, 0x13, 0xeb, 0x3e, + 0x50, 0x0b, 0xf1, 0x02, 0x67, 0xe2, 0xdb, 0x8b, 0x22, 0x67, 0xe2, 0x68, 0x21, 0x1e, 0x5f, 0x46, + 0xf9, 0x05, 0xbb, 0xa9, 0x83, 0xa0, 0xd9, 0xb4, 0x32, 0xba, 0xb3, 0x5d, 0xcc, 0xb7, 0x38, 0x4c, + 0x0b, 0xb0, 0x94, 0xb2, 0x6c, 0x6f, 0x5a, 0x2d, 0x5b, 0x67, 0xde, 0x26, 0x79, 0x46, 0x69, 0x70, + 0x98, 0x16, 0x60, 0x29, 0x25, 0x95, 0x39, 0x78, 0xf1, 0xe4, 0x43, 0x9e, 0xf7, 0x39, 0x4c, 0x0b, + 0xb0, 0xea, 0xcf, 0x64, 0xa9, 0xf6, 0xba, 0xe6, 0xfb, 0x8f, 0xfd, 0xba, 0x10, 0x0e, 0x98, 0xc1, + 0x03, 0x0c, 0x98, 0xc7, 0xe6, 0xc0, 0x4e, 0xfd, 0x1f, 0x43, 0x08, 0x71, 0xe9, 0x57, 0x4e, 0x36, + 0x87, 0x87, 0xd3, 0x9a, 0x32, 0x9a, 0xac, 0x58, 0xeb, 0xba, 0xd5, 0x24, 0x46, 0x78, 0x6c, 0x99, + 0x83, 0xa1, 0x0d, 0x4e, 0xb4, 0x84, 0x23, 0xc3, 0x73, 0x4b, 0x2d, 0x5e, 0x00, 0xbf, 0x80, 0x46, + 0xaa, 0x96, 0x47, 0x1c, 0xbd, 0xe9, 0x99, 0x0f, 0x08, 0x9f, 0x1a, 0xe0, 0x3a, 0xd7, 0x0c, 0xc1, + 0x9a, 0x48, 0x83, 0x6f, 0xa2, 0xd1, 0x9a, 0xee, 0x78, 0x66, 0xd3, 0xec, 0xe8, 0x96, 0xe7, 0x2a, + 0x79, 0x98, 0xd1, 0xc0, 0xc2, 0xe8, 0x08, 0x70, 0x4d, 0xa2, 0xc2, 0x5f, 0x40, 0xc3, 0xb0, 0x35, + 0x05, 0x4f, 0xe5, 0xe1, 0x5d, 0x6f, 0xfb, 0x9e, 0x09, 0xfd, 0xf1, 0xd8, 0xe9, 0x2b, 0x5c, 0xdb, + 0x46, 0x2f, 0xfc, 0x02, 0x8e, 0xf8, 0xb3, 0x68, 0xa8, 0x62, 0x19, 0xc0, 0x1c, 0xed, 0xca, 0x5c, + 0xe5, 0xcc, 0xcf, 0x86, 0xcc, 0xed, 0x4e, 0x84, 0xb7, 0xcf, 0x2e, 0x79, 0x94, 0x8d, 0x7c, 0xfb, + 0x46, 0xd9, 0xe8, 0xb7, 0xe1, 0x58, 0x7c, 0xec, 0x51, 0x1d, 0x8b, 0x8f, 0x1f, 0xf0, 0x58, 0x5c, + 0x7d, 0x1f, 0x8d, 0xcc, 0xd4, 0xe6, 0x82, 0xd1, 0xfb, 0x04, 0xca, 0xd4, 0xb8, 0x7b, 0x41, 0x96, + 0xd9, 0x33, 0x1d, 0xd3, 0xd0, 0x28, 0x0c, 0x5f, 0x41, 0xf9, 0x59, 0xf0, 0x59, 0xe3, 0x57, 0x7f, + 0x59, 0xb6, 0xfe, 0x35, 0x01, 0x06, 0x6e, 0xa7, 0x3e, 0x1a, 0x7f, 0x1c, 0x0d, 0xd5, 0x1c, 0x7b, + 0xcd, 0xd1, 0xdb, 0x7c, 0x0d, 0x06, 0xff, 0x8e, 0x0e, 0x03, 0x69, 0x3e, 0x4e, 0xfd, 0xab, 0x29, + 0xdf, 0x6c, 0xa7, 0x25, 0xea, 0x5d, 0x38, 0x9a, 0x87, 0xba, 0xf3, 0xac, 0x84, 0xcb, 0x40, 0x9a, + 0x8f, 0xc3, 0x57, 0xd0, 0x60, 0xc5, 0x71, 0x6c, 0x47, 0xf4, 0xee, 0x26, 0x14, 0x20, 0xde, 0xd1, + 0x02, 0x05, 0x7e, 0x19, 0x8d, 0xb0, 0x39, 0x87, 0x9d, 0x68, 0x66, 0xfa, 0x5d, 0x6f, 0x8a, 0x94, + 0xea, 0xd7, 0x33, 0x82, 0xcd, 0xc6, 0x24, 0xfe, 0x18, 0xde, 0x0a, 0xdc, 0x40, 0x99, 0x99, 0xda, + 0x1c, 0x9f, 0x00, 0x4f, 0xf9, 0x45, 0x05, 0x55, 0x89, 0x94, 0xa3, 0xd4, 0xf8, 0x3c, 0xca, 0xd6, + 0xa8, 0xfa, 0xe4, 0x40, 0x3d, 0xf2, 0x3b, 0xdb, 0xc5, 0x6c, 0x87, 0xea, 0x0f, 0x40, 0x01, 0x4b, + 0x37, 0x33, 0x6c, 0xc7, 0xc4, 0xb0, 0xe1, 0x3e, 0xe6, 0x3c, 0xca, 0x96, 0x9c, 0xb5, 0x07, 0x7c, + 0xd6, 0x02, 0xac, 0xee, 0xac, 0x3d, 0xd0, 0x00, 0x8a, 0xaf, 0x21, 0xa4, 0x11, 0xaf, 0xeb, 0x58, + 0xf0, 0xf0, 0x62, 0x18, 0xce, 0xdf, 0x60, 0x36, 0x74, 0x00, 0xda, 0x68, 0xda, 0x06, 0xd1, 0x04, + 0x12, 0xf5, 0xef, 0x86, 0x17, 0x3b, 0x65, 0xd3, 0xdd, 0x38, 0xe9, 0xc2, 0x7d, 0x74, 0xa1, 0xce, + 0x8f, 0x38, 0xe3, 0x9d, 0x54, 0x44, 0x83, 0x73, 0x2d, 0x7d, 0xcd, 0x85, 0x3e, 0xe4, 0x0e, 0x60, + 0xf7, 0x29, 0x40, 0x63, 0xf0, 0x48, 0x3f, 0xe5, 0x77, 0xef, 0xa7, 0x1f, 0x19, 0x0c, 0x46, 0xdb, + 0x12, 0xf1, 0x36, 0x6d, 0xe7, 0xa4, 0xab, 0xf6, 0xda, 0x55, 0x97, 0xd0, 0x50, 0xdd, 0x69, 0x0a, + 0x47, 0x17, 0xb0, 0x1f, 0x70, 0x9d, 0x26, 0x3b, 0xb6, 0xf0, 0x91, 0x94, 0xae, 0xec, 0x7a, 0x40, + 0x37, 0x14, 0xd2, 0x19, 0xae, 0xc7, 0xe9, 0x38, 0x92, 0xd3, 0xd5, 0x6c, 0xc7, 0xe3, 0x1d, 0x17, + 0xd0, 0x75, 0x6c, 0xc7, 0xd3, 0x7c, 0x24, 0xfe, 0x04, 0x42, 0x2b, 0xb3, 0xb5, 0xbb, 0xc4, 0x01, + 0x71, 0x0d, 0x87, 0x0e, 0x7c, 0x0f, 0x18, 0x48, 0x13, 0xd0, 0x78, 0x05, 0x0d, 0x2f, 0x77, 0x88, + 0xc3, 0xb6, 0x42, 0xec, 0x29, 0xc5, 0xb3, 0x11, 0xd1, 0xf2, 0x7e, 0x9f, 0xe6, 0xff, 0x07, 0xe4, + 0x6c, 0x7d, 0xb1, 0xfd, 0x9f, 0x5a, 0xc8, 0x08, 0xbf, 0x8c, 0x72, 0x25, 0x66, 0xe7, 0x8d, 0x00, + 0xcb, 0x40, 0x64, 0xb0, 0x05, 0x65, 0x28, 0xb6, 0x67, 0xd7, 0xe1, 0x6f, 0x8d, 0x93, 0xab, 0x57, + 0x50, 0x21, 0x5a, 0x0d, 0x1e, 0x41, 0x43, 0xb3, 0xcb, 0x4b, 0x4b, 0x95, 0xd9, 0x95, 0xc2, 0x00, + 0xce, 0xa3, 0x6c, 0xbd, 0xb2, 0x54, 0x2e, 0xa4, 0xd4, 0x9f, 0x12, 0x66, 0x10, 0xaa, 0x5a, 0x27, + 0x57, 0xc3, 0x87, 0xba, 0x6f, 0x29, 0xc0, 0x7d, 0x28, 0x9c, 0x18, 0xb4, 0x4d, 0xcf, 0x23, 0x06, + 0x5f, 0x25, 0xe0, 0xbe, 0xd0, 0x7b, 0xa8, 0xc5, 0xf0, 0xf8, 0x2a, 0x1a, 0x03, 0x18, 0xbf, 0x22, + 0x64, 0xfb, 0x63, 0x5e, 0xc0, 0x79, 0xa8, 0xc9, 0x48, 0xf5, 0x1b, 0xe1, 0xed, 0xf0, 0x02, 0xd1, + 0x8f, 0xeb, 0x8d, 0xe2, 0x87, 0xa4, 0xbf, 0xd4, 0xff, 0x9d, 0x65, 0xef, 0x36, 0xd8, 0x4b, 0xb9, + 0xa3, 0x10, 0x65, 0x78, 0xa4, 0x9b, 0xd9, 0xc7, 0x91, 0xee, 0x55, 0x94, 0x5b, 0x24, 0xde, 0xba, + 0xed, 0x7b, 0x6b, 0x81, 0x5b, 0x5d, 0x1b, 0x20, 0xa2, 0x5b, 0x1d, 0xa3, 0xc1, 0x1b, 0x08, 0xfb, + 0xcf, 0xe0, 0x02, 0xef, 0x69, 0xff, 0x08, 0xf9, 0x5c, 0x6c, 0x9f, 0x52, 0x87, 0x37, 0xb0, 0xe0, + 0x18, 0x7f, 0x3a, 0xf0, 0xce, 0x16, 0xdc, 0xa7, 0xfe, 0x64, 0xbb, 0x98, 0x63, 0x34, 0x5a, 0x02, + 0x5b, 0xfc, 0x36, 0x1a, 0x5e, 0x9c, 0x2b, 0xf1, 0x27, 0x71, 0xcc, 0x2b, 0xe2, 0x89, 0x40, 0x8a, + 0x3e, 0x22, 0x10, 0x09, 0x3c, 0x92, 0x69, 0xdf, 0xd7, 0xe3, 0x2f, 0xe2, 0x42, 0x2e, 0x54, 0x5b, + 0xd8, 0x73, 0x1b, 0x7e, 0xba, 0x10, 0x68, 0x8b, 0xfc, 0x08, 0x27, 0x2a, 0x2b, 0x86, 0x8d, 0x68, + 0x4b, 0xfe, 0x10, 0xa3, 0x7b, 0x19, 0x4d, 0x96, 0x3a, 0x9d, 0x96, 0x49, 0x0c, 0xd0, 0x17, 0xad, + 0xdb, 0x22, 0x2e, 0x77, 0xf9, 0x81, 0x17, 0x1c, 0x3a, 0x43, 0x36, 0xe0, 0x21, 0x66, 0xc3, 0xe9, + 0xca, 0x4e, 0x95, 0xf1, 0xb2, 0xea, 0x7f, 0x49, 0xa1, 0x82, 0xef, 0xf1, 0x2c, 0x3e, 0x01, 0x15, + 0xdc, 0x71, 0xe1, 0x18, 0x26, 0xe2, 0x00, 0x0a, 0x78, 0x5c, 0x47, 0x43, 0x95, 0x87, 0x1d, 0xd3, + 0x21, 0xee, 0x1e, 0xbc, 0x57, 0x2f, 0xf0, 0x2d, 0xe7, 0x24, 0x61, 0x45, 0x62, 0xbb, 0x4d, 0x06, + 0x86, 0x77, 0x4c, 0xcc, 0xe7, 0x7b, 0xc6, 0x7f, 0xd7, 0xca, 0xde, 0x31, 0x71, 0xdf, 0x70, 0xe9, + 0x51, 0x59, 0x48, 0x8a, 0x9f, 0x41, 0x99, 0x95, 0x95, 0x05, 0xae, 0x8d, 0xf0, 0x9e, 0xd8, 0xf3, + 0xc4, 0x87, 0x5a, 0x14, 0xab, 0xfe, 0x5e, 0x1a, 0x21, 0xaa, 0xf4, 0xb3, 0x0e, 0xd1, 0x8f, 0xe8, + 0x32, 0x67, 0x06, 0xe5, 0x7d, 0x81, 0xf3, 0x01, 0x17, 0xb8, 0x2b, 0x47, 0x3b, 0x22, 0x5a, 0x77, + 0xe0, 0x9a, 0x5e, 0xf4, 0x3d, 0x68, 0xd9, 0x59, 0x2a, 0x58, 0x87, 0xe0, 0x41, 0xeb, 0xfb, 0xcd, + 0x7e, 0x02, 0x0d, 0x73, 0xad, 0xb1, 0xa5, 0x33, 0xd4, 0xa6, 0x0f, 0xd4, 0x42, 0x7c, 0x44, 0x3d, + 0x73, 0x87, 0x98, 0xcc, 0x7c, 0xf1, 0xb2, 0x5e, 0x39, 0x11, 0xef, 0x23, 0x16, 0xef, 0x57, 0xb9, + 0x78, 0xd9, 0xd3, 0x85, 0x63, 0x2b, 0xde, 0x47, 0x76, 0x7e, 0xa8, 0xfe, 0x4e, 0x0a, 0x61, 0xda, + 0xac, 0x9a, 0xee, 0xba, 0x9b, 0xb6, 0x63, 0x30, 0xaf, 0xdc, 0x23, 0x11, 0xcc, 0xa3, 0xbb, 0xf3, + 0xf9, 0x7a, 0x1e, 0x9d, 0x92, 0x9c, 0x27, 0x8f, 0xf9, 0x64, 0x75, 0x45, 0x1e, 0x4d, 0xfd, 0xdc, + 0xfd, 0x3f, 0x26, 0x5e, 0x2a, 0x0d, 0x4a, 0x2f, 0x6f, 0x84, 0xdb, 0xa4, 0xe7, 0xd1, 0x28, 0xff, + 0x41, 0x6d, 0x11, 0xff, 0xb6, 0x00, 0x46, 0xa9, 0x4b, 0x01, 0x9a, 0x84, 0xc6, 0x2f, 0xa2, 0x61, + 0x3a, 0x60, 0xd6, 0x20, 0xf4, 0xc0, 0x50, 0xe8, 0x4a, 0x6f, 0xf8, 0x40, 0x71, 0x3d, 0x09, 0x28, + 0x85, 0x07, 0x14, 0xf9, 0x3d, 0x3c, 0xa0, 0x78, 0x17, 0x8d, 0x94, 0x2c, 0xcb, 0xf6, 0x60, 0xa3, + 0xe3, 0xf2, 0xe3, 0xdd, 0x9e, 0x96, 0xcd, 0x33, 0xf0, 0x2a, 0x38, 0xa4, 0x4f, 0x34, 0x6d, 0x44, + 0x86, 0xf8, 0xba, 0xff, 0x1c, 0x80, 0x38, 0xdc, 0x33, 0x17, 0x8e, 0xb8, 0x1d, 0x0e, 0x8b, 0xbf, + 0x06, 0x80, 0xce, 0x1b, 0xab, 0x39, 0x76, 0xc7, 0x76, 0x89, 0xc1, 0x04, 0x35, 0x12, 0xc6, 0x2c, + 0xe8, 0x70, 0x04, 0x3c, 0xe0, 0x91, 0xc2, 0x00, 0x48, 0x45, 0xf0, 0x7d, 0x74, 0xda, 0xbf, 0x6c, + 0x0b, 0x9e, 0x4a, 0x55, 0xcb, 0xae, 0x32, 0x0a, 0xcf, 0x31, 0x70, 0x54, 0x19, 0xaa, 0xe5, 0x99, + 0x8b, 0xfe, 0xd1, 0xb2, 0xff, 0xd6, 0xaa, 0x61, 0x1a, 0x62, 0x57, 0x27, 0xf2, 0xc3, 0xdf, 0x89, + 0x46, 0x16, 0xf5, 0x87, 0xe5, 0x2e, 0xdf, 0xbf, 0x8e, 0xed, 0xfd, 0x04, 0xbb, 0xad, 0x3f, 0x6c, + 0x18, 0xbc, 0x5c, 0xc4, 0xa6, 0x10, 0x59, 0xe2, 0x06, 0x3a, 0x5b, 0x73, 0xec, 0xb6, 0xed, 0x11, + 0x23, 0xf2, 0xea, 0x68, 0x22, 0x7c, 0xa6, 0xd8, 0xe1, 0x14, 0x8d, 0x3e, 0xcf, 0x8f, 0x7a, 0xb0, + 0xc1, 0x6d, 0x34, 0x51, 0x72, 0xdd, 0x6e, 0x9b, 0x84, 0xa7, 0xfc, 0x85, 0x5d, 0x3f, 0xe3, 0x59, + 0xee, 0xf9, 0xf9, 0xa4, 0x0e, 0x45, 0xd9, 0x21, 0x7f, 0xc3, 0x33, 0xc5, 0x1a, 0xe1, 0x5b, 0xa2, + 0xbc, 0xdf, 0xca, 0xe6, 0xc7, 0x0b, 0x13, 0xda, 0xb9, 0x78, 0x63, 0x56, 0x4c, 0xaf, 0x45, 0xd4, + 0x5f, 0x4e, 0x21, 0x14, 0x0a, 0x18, 0x3f, 0x2f, 0xc7, 0x37, 0x49, 0x85, 0x87, 0xc5, 0xfc, 0xd9, + 0xb6, 0x14, 0xd0, 0x04, 0x9f, 0x47, 0x59, 0x78, 0x96, 0x9f, 0x0e, 0x0f, 0xa7, 0x36, 0x4c, 0xcb, + 0xd0, 0x00, 0x4a, 0xb1, 0xc2, 0x1b, 0x5c, 0xc0, 0xc2, 0xc5, 0x28, 0xb3, 0x0a, 0xcb, 0x68, 0xa2, + 0xde, 0x5d, 0xf5, 0xeb, 0x16, 0x1e, 0x14, 0x41, 0x74, 0x00, 0xb7, 0xbb, 0x1a, 0xbc, 0xc2, 0x93, + 0x62, 0x2f, 0xc8, 0x45, 0xd4, 0x9f, 0x49, 0x45, 0x66, 0xc1, 0x23, 0x5c, 0xf4, 0x3e, 0x16, 0xbf, + 0xeb, 0x8e, 0x4f, 0x4b, 0xea, 0xdf, 0x4a, 0xa3, 0x91, 0x9a, 0xed, 0x78, 0x3c, 0xce, 0xc1, 0xf1, + 0x5e, 0x85, 0x84, 0x5d, 0x61, 0x76, 0x1f, 0xbb, 0xc2, 0xf3, 0x28, 0x2b, 0xb8, 0x79, 0xb2, 0xb3, + 0x65, 0xc3, 0x70, 0x34, 0x80, 0xaa, 0xdf, 0x95, 0x46, 0xe8, 0xb3, 0x2f, 0xbc, 0xf0, 0x18, 0x0b, + 0x48, 0xfd, 0x1b, 0x29, 0x34, 0xc1, 0x2f, 0x3b, 0x84, 0x48, 0x41, 0x43, 0xfe, 0x35, 0x95, 0x38, + 0x2e, 0x19, 0x48, 0xf3, 0x71, 0x74, 0x09, 0xa8, 0x3c, 0x34, 0x3d, 0x38, 0xef, 0x15, 0x42, 0x05, + 0x11, 0x0e, 0x13, 0x97, 0x00, 0x9f, 0x0e, 0x3f, 0xef, 0x5f, 0xe3, 0x64, 0xc2, 0x75, 0x8f, 0x16, + 0xa8, 0x24, 0x5e, 0xe5, 0xa8, 0x3f, 0x97, 0x45, 0xd9, 0xca, 0x43, 0xd2, 0x3c, 0xe6, 0x5d, 0x23, + 0x1c, 0x0e, 0x65, 0x0f, 0x79, 0x38, 0x74, 0x90, 0x7b, 0xe9, 0x37, 0xc2, 0xfe, 0xcc, 0xc9, 0xd5, + 0x47, 0x7a, 0x3e, 0x5a, 0xbd, 0xdf, 0xd3, 0xc7, 0xcf, 0xad, 0xe1, 0x5f, 0x66, 0x50, 0xa6, 0x3e, + 0x5b, 0x3b, 0xd1, 0x9b, 0x23, 0xd5, 0x9b, 0xfe, 0xf7, 0x7e, 0x6a, 0x70, 0x94, 0x9f, 0x0f, 0x3d, + 0xed, 0x22, 0xa7, 0xf6, 0x7f, 0x9c, 0x41, 0xe3, 0xf5, 0xb9, 0x95, 0x9a, 0x70, 0x9a, 0x76, 0x9b, + 0x79, 0x43, 0x81, 0x5f, 0x0e, 0xeb, 0xd2, 0xf3, 0x31, 0x7b, 0xe6, 0x4e, 0xd5, 0xf2, 0x5e, 0xba, + 0x79, 0x57, 0x6f, 0x75, 0x09, 0x1c, 0xbd, 0x30, 0xdf, 0x49, 0xd7, 0x7c, 0x9f, 0xfc, 0x18, 0xbc, + 0x78, 0xf6, 0x19, 0xe0, 0x4f, 0xa3, 0xcc, 0x1d, 0x7e, 0xab, 0xdd, 0x8b, 0xcf, 0x8d, 0xeb, 0x8c, + 0x0f, 0x9d, 0x04, 0x33, 0x5d, 0xd3, 0x00, 0x0e, 0xb4, 0x14, 0x2d, 0x7c, 0x8b, 0x2f, 0xc0, 0x7b, + 0x2a, 0xbc, 0xe6, 0x17, 0xbe, 0x55, 0x2d, 0xe3, 0x3a, 0x1a, 0xa9, 0x11, 0xa7, 0x6d, 0x42, 0x47, + 0xf9, 0x73, 0x76, 0x7f, 0x26, 0x74, 0xa7, 0x32, 0xd2, 0x09, 0x0b, 0x01, 0x33, 0x91, 0x0b, 0x7e, + 0x07, 0x21, 0x66, 0xa3, 0xec, 0x31, 0xfa, 0xdc, 0x05, 0xb0, 0xfb, 0x99, 0x69, 0x99, 0x60, 0xe3, + 0x09, 0xcc, 0xf0, 0x06, 0x2a, 0x2c, 0xda, 0x86, 0x79, 0xdf, 0x64, 0xee, 0x6b, 0x50, 0x41, 0x6e, + 0x77, 0xa7, 0x11, 0x6a, 0x4a, 0xb6, 0x85, 0x72, 0x49, 0xd5, 0xc4, 0x18, 0xab, 0xff, 0x6c, 0x10, + 0x65, 0x69, 0xb7, 0x9f, 0x8c, 0xdf, 0xc3, 0x8c, 0xdf, 0x12, 0x2a, 0xdc, 0xb3, 0x9d, 0x0d, 0xd3, + 0x5a, 0x0b, 0x3c, 0x8b, 0xf9, 0xde, 0x14, 0xbc, 0x21, 0x36, 0x19, 0xae, 0x11, 0x38, 0x21, 0x6b, + 0x31, 0xf2, 0x5d, 0x46, 0xf0, 0x2b, 0x08, 0xad, 0xe8, 0xce, 0x1a, 0xf1, 0x80, 0x26, 0x1f, 0xbe, + 0xd2, 0xf7, 0x00, 0x0a, 0xce, 0xca, 0xe2, 0x2b, 0xfd, 0x90, 0x98, 0x6e, 0xc2, 0xd9, 0x7d, 0xf2, + 0x30, 0xf8, 0x2e, 0xc3, 0x26, 0x1c, 0xee, 0x93, 0x45, 0x23, 0x80, 0xdd, 0x2c, 0xd7, 0x10, 0x12, + 0xce, 0xe8, 0x51, 0x44, 0x10, 0xd2, 0xe4, 0xc0, 0xe3, 0x62, 0x25, 0x1c, 0xd1, 0x6b, 0x02, 0x0f, + 0xfc, 0x52, 0xe4, 0x12, 0x11, 0x4b, 0xdc, 0x7a, 0xde, 0x21, 0x86, 0x4e, 0x28, 0xa3, 0xbb, 0x39, + 0xa1, 0xa8, 0x5f, 0x49, 0xa3, 0xe1, 0x7a, 0x77, 0xd5, 0xdd, 0x72, 0x3d, 0xd2, 0x3e, 0xe6, 0x6a, + 0xec, 0x6f, 0xaf, 0xb2, 0x89, 0xdb, 0xab, 0x67, 0x7c, 0xa1, 0x08, 0xe7, 0x8e, 0x81, 0x49, 0xe7, + 0x8b, 0xe3, 0x1f, 0xa6, 0x51, 0x81, 0x5d, 0x3e, 0x94, 0x4d, 0xb7, 0xf9, 0x08, 0x1c, 0xa2, 0x8f, + 0x5e, 0x2a, 0x87, 0xbb, 0xb0, 0xdb, 0x83, 0x9b, 0xb9, 0xfa, 0xa5, 0x34, 0x1a, 0x29, 0x75, 0xbd, + 0xf5, 0x92, 0x07, 0xba, 0xf5, 0x58, 0xee, 0x4f, 0x7e, 0x2d, 0x85, 0x26, 0x68, 0x43, 0x56, 0xec, + 0x0d, 0x62, 0x3d, 0x82, 0x83, 0x47, 0xf1, 0x00, 0x31, 0x7d, 0xc0, 0x03, 0x44, 0x5f, 0x96, 0x99, + 0xfd, 0xc9, 0x12, 0x8e, 0xcb, 0x35, 0xbb, 0x45, 0x8e, 0xf7, 0x67, 0x3c, 0xc2, 0xe3, 0x72, 0x5f, + 0x20, 0x8f, 0xe0, 0x7a, 0xe6, 0xa3, 0x25, 0x90, 0x47, 0x70, 0xb6, 0xf4, 0xd1, 0x10, 0xc8, 0xd7, + 0x53, 0x68, 0x78, 0xc6, 0xf6, 0x8e, 0xf9, 0xc0, 0xe7, 0x5f, 0x71, 0xbc, 0xd5, 0xdc, 0xff, 0x8a, + 0xe3, 0xad, 0x9b, 0xea, 0x8f, 0xa6, 0xd1, 0x69, 0x1e, 0x59, 0x98, 0x9f, 0x3f, 0x9c, 0x4c, 0xc7, + 0x7c, 0xb0, 0xc5, 0x45, 0x73, 0x32, 0x0f, 0x71, 0xd1, 0xfc, 0x44, 0x06, 0x9d, 0x86, 0x18, 0x8e, + 0x74, 0x5b, 0xf6, 0x11, 0xb0, 0x45, 0x70, 0x53, 0xbe, 0x04, 0x5d, 0x4c, 0xb8, 0x04, 0xfd, 0x93, + 0xed, 0xe2, 0x4b, 0x6b, 0xa6, 0xb7, 0xde, 0x5d, 0x9d, 0x6e, 0xda, 0xed, 0x6b, 0x6b, 0x8e, 0xfe, + 0xc0, 0x64, 0xd7, 0x7f, 0x7a, 0xeb, 0x5a, 0x10, 0xa4, 0x5f, 0xef, 0x98, 0x3c, 0x7c, 0x7f, 0x1d, + 0xf6, 0x3a, 0x94, 0xab, 0x7f, 0x7d, 0xea, 0x22, 0xf4, 0x96, 0x6d, 0x5a, 0xdc, 0x2f, 0x8b, 0x19, + 0xba, 0x75, 0xba, 0x3f, 0x7c, 0xcf, 0x36, 0xad, 0x46, 0xd4, 0x39, 0x6b, 0xbf, 0xf5, 0x85, 0xac, + 0x35, 0xa1, 0x1a, 0xf5, 0xdf, 0xa4, 0xd0, 0x13, 0xb2, 0x16, 0x7f, 0x14, 0x6c, 0xc7, 0xbf, 0x9e, + 0x46, 0x67, 0x6e, 0x81, 0x70, 0x02, 0x47, 0x8e, 0x93, 0x79, 0x8b, 0x0f, 0xce, 0x04, 0xd9, 0x9c, + 0x58, 0x94, 0xbd, 0x65, 0x73, 0x32, 0xa9, 0x73, 0xd9, 0xfc, 0x46, 0x0a, 0x9d, 0x5a, 0xae, 0x96, + 0x67, 0x3f, 0x22, 0x23, 0x2a, 0xfe, 0x3d, 0xc7, 0xdc, 0xe0, 0x8c, 0x7d, 0xcf, 0x31, 0x37, 0x3d, + 0xe9, 0xf7, 0xd4, 0x4b, 0x8b, 0x0b, 0x1f, 0x25, 0x7d, 0x93, 0xbe, 0xe7, 0x23, 0xa0, 0x6f, 0xd2, + 0xf7, 0x1c, 0x73, 0x7d, 0xfb, 0xd5, 0x1c, 0x1a, 0xb9, 0xdd, 0x5d, 0x25, 0xdc, 0x25, 0xe4, 0xb1, + 0x3e, 0x6f, 0xbd, 0x8e, 0x46, 0xb8, 0x18, 0xe0, 0xae, 0x42, 0x08, 0xfb, 0xc5, 0xc3, 0x38, 0xb0, + 0xc8, 0x2a, 0x22, 0x11, 0x3e, 0x8f, 0xb2, 0x77, 0x89, 0xb3, 0x2a, 0xbe, 0x88, 0x7b, 0x40, 0x9c, + 0x55, 0x0d, 0xa0, 0x78, 0x21, 0x74, 0x54, 0x2f, 0xd5, 0xaa, 0x90, 0xb7, 0x81, 0x5f, 0x93, 0x40, + 0x22, 0x8a, 0xc0, 0xdb, 0x4c, 0xef, 0x98, 0x2c, 0xe3, 0x83, 0xf8, 0x1a, 0x37, 0x5a, 0x12, 0x2f, + 0xa1, 0x49, 0xd1, 0xdd, 0x88, 0x25, 0x2d, 0xc8, 0x27, 0xb0, 0x4b, 0x4a, 0x57, 0x10, 0x2f, 0x8a, + 0xdf, 0x40, 0xa3, 0x3e, 0x10, 0x1c, 0xa7, 0x86, 0xc3, 0x48, 0xd9, 0x01, 0xab, 0x48, 0x36, 0x13, + 0xa9, 0x80, 0xc8, 0x00, 0x0e, 0xff, 0x51, 0x02, 0x83, 0x88, 0x23, 0x9a, 0x54, 0x00, 0xbf, 0x08, + 0x0c, 0x3a, 0xb6, 0xe5, 0x12, 0x70, 0x11, 0x19, 0x81, 0xe7, 0x62, 0xe0, 0x08, 0xef, 0x70, 0x38, + 0x7b, 0x14, 0x28, 0x91, 0xe1, 0x65, 0x84, 0xc2, 0xab, 0x7c, 0xfe, 0xf4, 0x7a, 0xdf, 0x4e, 0x06, + 0x02, 0x0b, 0xf1, 0x12, 0x6e, 0xec, 0x20, 0x97, 0x70, 0xea, 0x6f, 0xa7, 0xd1, 0x48, 0xa9, 0xd3, + 0x09, 0x86, 0xc2, 0xf3, 0x28, 0x57, 0xea, 0x74, 0xee, 0x68, 0x55, 0x31, 0x72, 0xb2, 0xde, 0xe9, + 0x34, 0xba, 0x8e, 0x29, 0x7a, 0x62, 0x32, 0x22, 0x3c, 0x8b, 0xc6, 0x4a, 0x9d, 0x4e, 0xad, 0xbb, + 0xda, 0x32, 0x9b, 0x42, 0x22, 0x16, 0x96, 0xef, 0xa9, 0xd3, 0x69, 0x74, 0x00, 0x13, 0xcd, 0xa4, + 0x23, 0x97, 0xc1, 0xef, 0x42, 0xc0, 0x12, 0x9e, 0x07, 0x84, 0x65, 0x1a, 0x50, 0x83, 0x98, 0xc9, + 0x61, 0xdb, 0xa6, 0x03, 0x22, 0x16, 0x5b, 0xfa, 0xbc, 0x1f, 0xa1, 0x9b, 0x56, 0x14, 0xcb, 0xf7, + 0x11, 0xb2, 0xc4, 0x9f, 0x44, 0x43, 0xa5, 0x4e, 0x47, 0xb8, 0xe5, 0x01, 0x57, 0x1e, 0x5a, 0x2a, + 0xd2, 0xc7, 0x3e, 0xd9, 0xd4, 0x6b, 0x68, 0x5c, 0xae, 0x6c, 0x5f, 0xb1, 0xa9, 0xbf, 0x95, 0x82, + 0x0f, 0x3a, 0xe6, 0x9e, 0xc4, 0x37, 0x50, 0xa6, 0xd4, 0xe9, 0xf0, 0xf9, 0xe8, 0x54, 0x42, 0x7f, + 0x44, 0x1f, 0x6f, 0x96, 0x3a, 0x1d, 0xff, 0xd3, 0x8f, 0xf9, 0x93, 0x84, 0x03, 0x7d, 0xfa, 0xd7, + 0xd9, 0xa7, 0x1f, 0xef, 0xe7, 0x02, 0xea, 0xcf, 0x65, 0xd0, 0x44, 0xa9, 0xd3, 0x39, 0x09, 0x8f, + 0xfd, 0xa8, 0x9e, 0x88, 0xbe, 0x80, 0x90, 0x30, 0x3d, 0x0e, 0x05, 0x0f, 0xa6, 0x46, 0x84, 0xa9, + 0x51, 0x49, 0x69, 0x02, 0x91, 0xaf, 0x7e, 0xf9, 0x7d, 0xa9, 0xdf, 0x97, 0x32, 0x30, 0x15, 0x1f, + 0xf7, 0x70, 0x37, 0x1f, 0x96, 0x6e, 0xe3, 0x7d, 0x90, 0xdb, 0x57, 0x1f, 0xfc, 0x8a, 0x34, 0x78, + 0x20, 0xdc, 0xf2, 0x49, 0x2f, 0x0c, 0x1e, 0xca, 0x2c, 0x1e, 0x17, 0x85, 0xc9, 0x63, 0x70, 0xf8, + 0x79, 0x5b, 0x78, 0x44, 0x98, 0x26, 0x45, 0x35, 0x4c, 0x43, 0x8b, 0xd0, 0xfa, 0x7d, 0x38, 0xb4, + 0xaf, 0x3e, 0xdc, 0x4e, 0xc3, 0xab, 0xcf, 0x20, 0xa2, 0xcc, 0xe1, 0x77, 0x17, 0xd7, 0x10, 0x62, + 0xf7, 0xfd, 0x81, 0x33, 0xf1, 0x18, 0x0b, 0x1e, 0xc1, 0xd2, 0xb9, 0xf0, 0xe0, 0x11, 0x21, 0x49, + 0xe0, 0x97, 0x94, 0x49, 0xf4, 0x4b, 0xba, 0x82, 0xf2, 0x9a, 0xbe, 0xf9, 0x76, 0x97, 0x38, 0x5b, + 0xdc, 0x9c, 0x61, 0x01, 0xdb, 0xf4, 0xcd, 0xc6, 0x17, 0x29, 0x50, 0x0b, 0xd0, 0x58, 0x0d, 0x9e, + 0x0d, 0x0b, 0x7e, 0x18, 0xec, 0x64, 0x3a, 0x78, 0x2c, 0x7c, 0x10, 0x45, 0xc7, 0xaf, 0xa2, 0x4c, + 0xe9, 0x5e, 0x9d, 0x4b, 0x36, 0xe8, 0xda, 0xd2, 0xbd, 0x3a, 0x97, 0x57, 0xcf, 0xb2, 0xf7, 0xea, + 0xea, 0x97, 0xd2, 0x08, 0xc7, 0x29, 0xf1, 0x4b, 0x68, 0x18, 0xa0, 0x6b, 0x54, 0x67, 0xc4, 0x3c, + 0x80, 0x9b, 0x6e, 0xc3, 0x01, 0xa8, 0x64, 0xdc, 0xf9, 0xa4, 0xf8, 0x15, 0x48, 0x57, 0xca, 0x33, + 0x51, 0x49, 0x79, 0x00, 0x37, 0x5d, 0x3f, 0xc1, 0x67, 0x24, 0x5b, 0x29, 0x27, 0x06, 0xbb, 0xf0, + 0x5e, 0x7d, 0xde, 0x76, 0x3d, 0x2e, 0x6a, 0x66, 0x17, 0x6e, 0xba, 0x90, 0x3c, 0x52, 0xb2, 0x0b, + 0x19, 0x19, 0x24, 0xd1, 0xb9, 0x57, 0x67, 0x8f, 0x43, 0x0c, 0xcd, 0x6e, 0xf9, 0x06, 0x25, 0x4b, + 0xa2, 0xb3, 0xe9, 0x36, 0xd8, 0xc3, 0x12, 0x03, 0xf2, 0xa4, 0x4a, 0x49, 0x74, 0xa4, 0x52, 0xea, + 0x0f, 0xe5, 0x51, 0xa1, 0xac, 0x7b, 0xfa, 0xaa, 0xee, 0x12, 0x61, 0x37, 0x3d, 0xe1, 0xc3, 0xfc, + 0xcf, 0x11, 0xe4, 0x60, 0xac, 0x26, 0x7c, 0x4d, 0xb4, 0x00, 0xfe, 0x74, 0xc8, 0x37, 0x48, 0x71, + 0x28, 0xe6, 0x4c, 0x5a, 0x6d, 0x74, 0x38, 0x58, 0x8b, 0x11, 0xe2, 0xab, 0x68, 0xc4, 0x87, 0xd1, + 0x0d, 0x40, 0x26, 0xd4, 0x19, 0x63, 0x95, 0xda, 0xff, 0x9a, 0x88, 0xc6, 0xaf, 0xa0, 0x51, 0xff, + 0xa7, 0x60, 0x5a, 0xb3, 0x04, 0x50, 0xab, 0xb1, 0xdd, 0x93, 0x48, 0x2a, 0x16, 0x85, 0xf9, 0x6d, + 0x50, 0x2a, 0x1a, 0xc9, 0xb1, 0x24, 0x91, 0xe2, 0x2f, 0xa2, 0x71, 0xff, 0x37, 0xdf, 0x30, 0xb0, + 0x74, 0x54, 0x57, 0x83, 0x34, 0xac, 0x11, 0xb1, 0x4e, 0xcb, 0xe4, 0x6c, 0xeb, 0xf0, 0xa4, 0x9f, + 0x36, 0xc8, 0x58, 0x8d, 0xef, 0x1c, 0x22, 0x15, 0xe0, 0x2a, 0x9a, 0xf4, 0x21, 0xa1, 0x86, 0x0e, + 0x85, 0x3b, 0x46, 0x63, 0xb5, 0x91, 0xa8, 0xa4, 0xf1, 0x52, 0xb8, 0x85, 0xce, 0x4b, 0x40, 0xc3, + 0x5d, 0x37, 0xef, 0x7b, 0x7c, 0xbb, 0xc7, 0xa3, 0xa7, 0xf2, 0x3c, 0x71, 0x01, 0x57, 0x46, 0xe3, + 0x27, 0x7c, 0x94, 0x93, 0xd1, 0xf4, 0xe5, 0x86, 0xeb, 0xe8, 0xb4, 0x8f, 0xbf, 0x35, 0x5b, 0xab, + 0x39, 0xf6, 0x7b, 0xa4, 0xe9, 0x55, 0xcb, 0x7c, 0xbb, 0x0c, 0x51, 0xb5, 0x8c, 0xd5, 0xc6, 0x5a, + 0xb3, 0x43, 0x95, 0x82, 0xe2, 0x64, 0xe6, 0x89, 0x85, 0xf1, 0x5d, 0x74, 0x46, 0x80, 0x57, 0x2d, + 0xd7, 0xd3, 0xad, 0x26, 0xa9, 0x96, 0xf9, 0x1e, 0x1a, 0xf6, 0xf3, 0x9c, 0xab, 0xc9, 0x91, 0x32, + 0xdb, 0xe4, 0xe2, 0xf8, 0x35, 0x34, 0xe6, 0x23, 0xd8, 0xdd, 0xdd, 0x08, 0xdc, 0xdd, 0xc1, 0x90, + 0x34, 0x56, 0x1b, 0xd1, 0x37, 0x8c, 0x32, 0xb1, 0xa8, 0x51, 0x90, 0x05, 0x7b, 0x54, 0xd2, 0x28, + 0x6f, 0xab, 0x93, 0xa8, 0x8c, 0x90, 0x19, 0xfb, 0x8d, 0x50, 0xa3, 0x96, 0x1d, 0x73, 0xcd, 0x64, + 0x3b, 0x69, 0xff, 0xd9, 0xe2, 0x6a, 0xc3, 0x06, 0x60, 0x92, 0x7e, 0x30, 0xf2, 0xa9, 0x12, 0x3a, + 0x95, 0xa0, 0x63, 0xfb, 0xda, 0x31, 0x7e, 0x25, 0x1d, 0x36, 0xe2, 0x98, 0x6f, 0x1b, 0x67, 0x50, + 0xde, 0xff, 0x12, 0x6e, 0x3c, 0x28, 0xbd, 0x86, 0x66, 0x94, 0x87, 0x8f, 0x97, 0xc4, 0x71, 0xcc, + 0xb7, 0x92, 0x8f, 0x42, 0x1c, 0x1f, 0xa4, 0x42, 0x71, 0x1c, 0xf3, 0xed, 0xe5, 0x6f, 0x64, 0xc2, + 0x39, 0xe9, 0x64, 0x8f, 0xf9, 0xa8, 0xcc, 0xe4, 0xd0, 0xfb, 0x34, 0xb7, 0x8f, 0xe7, 0x83, 0xa2, + 0x6a, 0x0e, 0x1d, 0x50, 0x35, 0x7f, 0x37, 0xde, 0x9f, 0xcc, 0xf4, 0x3c, 0x96, 0xfd, 0xf9, 0x08, + 0x06, 0x2b, 0xbe, 0x1e, 0xae, 0x63, 0xcc, 0x46, 0x1f, 0x14, 0x82, 0x93, 0xad, 0x72, 0x13, 0x5d, + 0x26, 0xc1, 0x9f, 0x47, 0xe7, 0x24, 0x40, 0x4d, 0x77, 0xf4, 0x36, 0xf1, 0xc2, 0x04, 0x67, 0x10, + 0x6e, 0xc6, 0x2f, 0xdd, 0xe8, 0x04, 0x68, 0x31, 0x69, 0x5a, 0x0f, 0x0e, 0x82, 0x72, 0x0c, 0xed, + 0xc3, 0x35, 0xf9, 0x3f, 0xa5, 0xd1, 0x58, 0xcd, 0x76, 0xbd, 0x35, 0x87, 0xb8, 0x35, 0xdd, 0x71, + 0xc9, 0xe3, 0xdb, 0xa3, 0x9f, 0x42, 0x63, 0xf0, 0x3c, 0xbf, 0x4d, 0x2c, 0x4f, 0xc8, 0x24, 0xcc, + 0x02, 0x26, 0xfb, 0x08, 0x1e, 0x1b, 0x5f, 0x22, 0xc4, 0x45, 0x34, 0xc8, 0x74, 0x40, 0x08, 0x9a, + 0xc0, 0x14, 0x80, 0xc1, 0xd5, 0xbf, 0x9d, 0x41, 0xa3, 0xbe, 0x94, 0x67, 0xcc, 0xe3, 0x7a, 0x66, + 0x73, 0xb4, 0x42, 0xbe, 0x86, 0x50, 0xcd, 0x76, 0x3c, 0xbd, 0x05, 0xc5, 0x72, 0xe1, 0x66, 0xa7, + 0x03, 0x50, 0x56, 0x46, 0x20, 0xc1, 0xd3, 0x08, 0x09, 0x03, 0x6c, 0x08, 0x06, 0xd8, 0xf8, 0xce, + 0x76, 0x11, 0x85, 0xe3, 0x4a, 0x13, 0x28, 0xd4, 0x5f, 0x4a, 0xa3, 0x09, 0xbf, 0x93, 0x2a, 0x0f, + 0x49, 0xb3, 0xeb, 0x3d, 0xc6, 0x83, 0x41, 0x96, 0xf6, 0xe0, 0xae, 0xd2, 0x56, 0xff, 0x9b, 0x30, + 0x91, 0xcc, 0xb6, 0xec, 0x93, 0x89, 0xe4, 0x4f, 0x43, 0xc7, 0xd5, 0xef, 0xc9, 0xa0, 0xd3, 0xbe, + 0xd4, 0xe7, 0xba, 0x16, 0x98, 0x09, 0xb3, 0x7a, 0xab, 0xf5, 0x38, 0xaf, 0xcb, 0x23, 0xbe, 0x20, + 0x96, 0x79, 0xbc, 0x1b, 0x9e, 0xa7, 0xe4, 0x3e, 0x07, 0x37, 0x6c, 0xd3, 0xd0, 0x44, 0x22, 0xfc, + 0x06, 0x1a, 0xf5, 0x7f, 0x96, 0x9c, 0x35, 0x7f, 0x31, 0x86, 0x4d, 0x7f, 0x50, 0x48, 0x77, 0xa4, + 0x67, 0x7d, 0x52, 0x01, 0xf5, 0x3f, 0xe7, 0xd0, 0xd4, 0x3d, 0xd3, 0x32, 0xec, 0x4d, 0xd7, 0x4f, + 0x73, 0x73, 0xec, 0x8d, 0xde, 0xa3, 0x4e, 0x6f, 0xf3, 0x36, 0x3a, 0x13, 0x15, 0xa9, 0x13, 0x04, + 0x1f, 0xe4, 0xbd, 0xb3, 0xc9, 0x08, 0x1a, 0x7e, 0xc2, 0x1b, 0x7e, 0x72, 0xa6, 0x25, 0x97, 0x8c, + 0x66, 0xcc, 0x19, 0xda, 0x4b, 0xc6, 0x9c, 0xe7, 0x50, 0xae, 0x6c, 0xb7, 0x75, 0xd3, 0x7f, 0xe0, + 0x0d, 0xa3, 0x38, 0xa8, 0x17, 0x30, 0x1a, 0xa7, 0xa0, 0xfc, 0x79, 0xc5, 0xd0, 0x65, 0xc3, 0x21, + 0x7f, 0xbf, 0x40, 0xd7, 0x25, 0x8e, 0x26, 0x12, 0x61, 0x1b, 0x8d, 0xf1, 0xea, 0xf8, 0x39, 0x17, + 0x82, 0x73, 0xae, 0x20, 0x99, 0x70, 0x6f, 0xb5, 0x9a, 0x96, 0xca, 0xb1, 0x03, 0x2f, 0x96, 0xc8, + 0x87, 0x7f, 0x0c, 0x3b, 0xf1, 0xd2, 0x64, 0xfe, 0x82, 0x10, 0x60, 0x92, 0x19, 0x89, 0x0b, 0x01, + 0x66, 0x19, 0x91, 0x08, 0x57, 0xd0, 0x64, 0xa9, 0xd5, 0xb2, 0x37, 0x83, 0x28, 0x7f, 0x54, 0x25, + 0x46, 0x21, 0xd2, 0x39, 0x1c, 0x9f, 0xe8, 0x14, 0x09, 0x1f, 0xd7, 0x68, 0x72, 0xb4, 0x16, 0x2f, + 0x31, 0xf5, 0x26, 0xc2, 0xf1, 0x36, 0xef, 0xeb, 0x00, 0xe5, 0x87, 0xd2, 0x08, 0x47, 0xf6, 0x21, + 0x95, 0xc7, 0xd8, 0x9c, 0x52, 0x7f, 0x3a, 0x85, 0x26, 0x63, 0xd1, 0x37, 0xf1, 0x0d, 0x84, 0x18, + 0x44, 0x08, 0x4b, 0x04, 0xef, 0x7c, 0xc3, 0x88, 0x9c, 0x7c, 0x29, 0x09, 0xc9, 0xf0, 0x35, 0x94, + 0x67, 0xbf, 0x82, 0xdc, 0xd8, 0xd1, 0x22, 0xdd, 0xae, 0x69, 0x68, 0x01, 0x51, 0x58, 0x0b, 0x9c, + 0xc4, 0x65, 0x12, 0x8b, 0x78, 0x5b, 0x9d, 0xa0, 0x16, 0x4a, 0x46, 0x3b, 0x70, 0x34, 0x68, 0x70, + 0xc9, 0x38, 0xaa, 0xae, 0xcb, 0xf1, 0x40, 0xa6, 0x99, 0xdd, 0x02, 0x99, 0x46, 0xe6, 0x26, 0x1e, + 0xb9, 0xf4, 0xd1, 0xb9, 0xef, 0x7e, 0x2d, 0x8d, 0x26, 0x82, 0x5a, 0x8f, 0xf0, 0xd0, 0xe7, 0x43, + 0x24, 0x92, 0xaf, 0xa6, 0x90, 0x32, 0x63, 0xb6, 0x5a, 0xa6, 0xb5, 0x56, 0xb5, 0xee, 0xdb, 0x4e, + 0x1b, 0x26, 0x8f, 0xa3, 0x3b, 0x1f, 0x54, 0xbf, 0x3f, 0x85, 0x26, 0x79, 0x83, 0x66, 0x75, 0xc7, + 0x38, 0xba, 0x83, 0xdb, 0x68, 0x4b, 0x8e, 0x4e, 0x5f, 0xd4, 0xff, 0x97, 0x42, 0x68, 0xc1, 0x6e, + 0x6e, 0x1c, 0xf3, 0xf7, 0x1b, 0xaf, 0xa0, 0x1c, 0x8b, 0xe7, 0xc0, 0x35, 0x76, 0x72, 0x9a, 0x3d, + 0xcb, 0xa1, 0x9f, 0xc6, 0x10, 0x33, 0xe3, 0xfc, 0x0e, 0x29, 0xc7, 0xe2, 0x41, 0x68, 0xbc, 0x80, + 0xfa, 0xab, 0x5c, 0x02, 0xc7, 0xdc, 0xbf, 0xf6, 0x07, 0x53, 0xe8, 0xb4, 0x46, 0x9a, 0xf6, 0x03, + 0xe2, 0x6c, 0xcd, 0xda, 0x06, 0xb9, 0x45, 0x2c, 0xe2, 0x1c, 0x95, 0x7e, 0xff, 0x53, 0x08, 0x9c, + 0x1c, 0x36, 0xe6, 0x8e, 0x4b, 0x8c, 0xe3, 0x13, 0xbe, 0x5b, 0xfd, 0xc7, 0x43, 0x48, 0x49, 0xb4, + 0xd7, 0x8e, 0xad, 0x8d, 0xd2, 0xd3, 0x08, 0xcf, 0x3e, 0x2a, 0x23, 0x7c, 0x70, 0x7f, 0x46, 0x78, + 0x6e, 0xbf, 0x46, 0xf8, 0xd0, 0x5e, 0x8c, 0xf0, 0x76, 0xd4, 0x08, 0xcf, 0x83, 0x11, 0x7e, 0xa3, + 0xaf, 0x11, 0x5e, 0xb1, 0x8c, 0x03, 0x9a, 0xe0, 0xc7, 0x36, 0x69, 0xd5, 0x41, 0xf6, 0x0e, 0x97, + 0xe9, 0xe4, 0xd6, 0xb4, 0x1d, 0x83, 0x18, 0x7c, 0xcb, 0x00, 0x67, 0xe4, 0x0e, 0x87, 0x69, 0x01, + 0x36, 0x96, 0x01, 0x6c, 0x6c, 0x2f, 0x19, 0xc0, 0x1e, 0xc1, 0xa6, 0xe2, 0x37, 0x53, 0x68, 0x72, + 0x96, 0x38, 0x1e, 0x0b, 0xdf, 0xf4, 0x28, 0x2e, 0x66, 0x4b, 0x68, 0x42, 0x60, 0x08, 0xf6, 0x71, + 0x3a, 0xbc, 0x6c, 0x6e, 0x12, 0xc7, 0x8b, 0xde, 0x55, 0x47, 0xe9, 0x69, 0xf5, 0x7e, 0x14, 0x7e, + 0x3e, 0x76, 0x83, 0xea, 0x7d, 0x38, 0x13, 0xa4, 0xc9, 0x7f, 0x69, 0x01, 0xbd, 0xfa, 0x53, 0x29, + 0x74, 0x49, 0x23, 0x16, 0xd9, 0xd4, 0x57, 0x5b, 0x44, 0x60, 0xcc, 0xe7, 0x76, 0x3a, 0xee, 0x4d, + 0xb7, 0xad, 0x7b, 0xcd, 0xf5, 0x43, 0x7d, 0xe5, 0x1c, 0x1a, 0x15, 0x67, 0xa0, 0x7d, 0xcc, 0x4e, + 0x52, 0x39, 0xf5, 0x8f, 0xd2, 0x68, 0x68, 0xc6, 0xf6, 0xde, 0xb2, 0x0f, 0x99, 0xab, 0x21, 0x9c, + 0xb4, 0xd3, 0xfb, 0x38, 0x67, 0xf8, 0x24, 0x54, 0x2e, 0x84, 0x5e, 0x05, 0x57, 0x84, 0x55, 0x3b, + 0x16, 0xa2, 0xd6, 0x27, 0xdb, 0x67, 0x96, 0x86, 0x97, 0xd0, 0x30, 0xbc, 0xdd, 0x15, 0x4e, 0x02, + 0xc1, 0xd1, 0xc7, 0xa3, 0xc0, 0x68, 0x1d, 0x21, 0x29, 0xfe, 0xbc, 0x14, 0x31, 0x2a, 0x77, 0xf8, + 0xac, 0x0e, 0x02, 0x3b, 0xf5, 0x27, 0xb3, 0x68, 0xd4, 0x77, 0xca, 0x38, 0x22, 0xb9, 0x3f, 0x8f, + 0x72, 0xf3, 0xb6, 0x10, 0xfc, 0x15, 0x9c, 0x38, 0xd6, 0x6d, 0x37, 0xe2, 0x9d, 0xc2, 0x89, 0xf0, + 0x0d, 0x94, 0x5f, 0xb2, 0x0d, 0xd1, 0x05, 0x09, 0xc6, 0x92, 0x65, 0x1b, 0xb1, 0x27, 0x1c, 0x01, + 0x21, 0xbe, 0x84, 0xb2, 0xe0, 0xbd, 0x25, 0x1c, 0xc0, 0x46, 0x3c, 0xb6, 0x00, 0x2f, 0xf4, 0x68, + 0x6e, 0xbf, 0x3d, 0x3a, 0x74, 0xd0, 0x1e, 0xcd, 0x3f, 0xd2, 0x1e, 0xc5, 0xef, 0xa0, 0x51, 0xa8, + 0xc9, 0xcf, 0x1d, 0xb1, 0xfb, 0xb2, 0xf2, 0x04, 0x9f, 0xf9, 0xc7, 0x58, 0xbb, 0x79, 0x06, 0x09, + 0x98, 0xf0, 0x25, 0x56, 0xea, 0xef, 0xa6, 0xd0, 0xd0, 0x1d, 0x6b, 0xc3, 0xb2, 0x37, 0x0f, 0xa7, + 0x27, 0x37, 0xd0, 0x08, 0x67, 0x23, 0xcc, 0x88, 0xf0, 0x96, 0xa6, 0xcb, 0xc0, 0x0d, 0xe0, 0xa4, + 0x89, 0x54, 0xf8, 0xb5, 0xa0, 0x10, 0xb8, 0x55, 0x66, 0xc2, 0xa0, 0xc7, 0x7e, 0xa1, 0xa6, 0x1c, + 0xa7, 0x55, 0x24, 0xc7, 0xe7, 0x51, 0xb6, 0x4c, 0x9b, 0x2a, 0x44, 0xfd, 0xa2, 0x4d, 0xd1, 0x00, + 0xaa, 0xfe, 0x7a, 0x1a, 0x8d, 0x47, 0x8e, 0x4e, 0x9e, 0x43, 0xc3, 0xfc, 0xe8, 0xc2, 0xf4, 0x03, + 0xc7, 0x82, 0xdb, 0x65, 0x00, 0xd4, 0xf2, 0xec, 0xcf, 0xaa, 0x81, 0x3f, 0x83, 0x86, 0x6c, 0x17, + 0x26, 0x72, 0xf8, 0x96, 0xf1, 0x50, 0xf1, 0x97, 0xeb, 0xb4, 0xed, 0x4c, 0xa5, 0x39, 0x89, 0xa8, + 0x47, 0xb6, 0x0b, 0x9f, 0x76, 0x13, 0x0d, 0xeb, 0xae, 0x4b, 0xbc, 0x86, 0xa7, 0xaf, 0x89, 0xb1, + 0x64, 0x03, 0xa0, 0xa8, 0xd3, 0x00, 0x5c, 0xd1, 0xd7, 0xf0, 0x9b, 0x68, 0xac, 0xe9, 0x10, 0x98, + 0xea, 0xf5, 0x16, 0x6d, 0xa5, 0x60, 0x8a, 0x49, 0x08, 0xf1, 0xb4, 0x3a, 0x44, 0x54, 0x0d, 0x7c, + 0x17, 0x8d, 0xf1, 0xcf, 0x61, 0x3e, 0x4f, 0x30, 0x3c, 0xc6, 0xc3, 0x89, 0x9b, 0x89, 0x84, 0x79, + 0x3d, 0x71, 0xd7, 0x37, 0x91, 0x5c, 0xe4, 0x6b, 0x08, 0xa4, 0xea, 0x37, 0x52, 0xd4, 0x3c, 0xa0, + 0x80, 0x20, 0x95, 0x72, 0x7b, 0x9f, 0xba, 0xd2, 0x0e, 0xb3, 0xa5, 0xe4, 0xdc, 0x3e, 0x73, 0x8a, + 0xc6, 0xb1, 0x78, 0x1a, 0xe5, 0x0c, 0xf1, 0xdc, 0xe2, 0xac, 0xfc, 0x11, 0x7e, 0x3d, 0x1a, 0xa7, + 0xc2, 0x97, 0x51, 0x96, 0x9a, 0x7f, 0x7c, 0xbb, 0x97, 0xb8, 0x56, 0x69, 0x40, 0xa1, 0x7e, 0x57, + 0x1a, 0x8d, 0x0a, 0x5f, 0x73, 0xfd, 0x50, 0x9f, 0xf3, 0xea, 0xde, 0x9a, 0xc9, 0xbd, 0x30, 0x01, + 0x16, 0x34, 0xf9, 0x66, 0x20, 0x8a, 0x3d, 0x1d, 0x9f, 0x73, 0xc1, 0xbc, 0xc4, 0x3f, 0x34, 0xb7, + 0xf7, 0x2d, 0x03, 0xa5, 0x7f, 0x2b, 0x9b, 0x4f, 0x17, 0x32, 0x6f, 0x65, 0xf3, 0xd9, 0xc2, 0xa0, + 0xfa, 0x0b, 0x75, 0x34, 0xb8, 0x6c, 0x91, 0xe5, 0xfb, 0xf8, 0x05, 0x21, 0x9f, 0x12, 0xff, 0xf8, + 0x49, 0x91, 0x25, 0x20, 0xe6, 0x07, 0x34, 0x21, 0xeb, 0xd2, 0x4d, 0x31, 0x29, 0x0c, 0xef, 0x45, + 0x2c, 0x96, 0x61, 0x98, 0xf9, 0x01, 0x4d, 0x4c, 0x1e, 0x73, 0x53, 0x4c, 0xc6, 0xc1, 0x85, 0x25, + 0x95, 0x62, 0x18, 0xbf, 0x14, 0xdf, 0x7c, 0x2f, 0x24, 0x65, 0xac, 0x88, 0x1e, 0x42, 0xc5, 0x29, + 0xe6, 0x07, 0xb4, 0xe4, 0x4c, 0x17, 0xa3, 0xe2, 0x39, 0x3b, 0x17, 0xfb, 0xe9, 0xc8, 0xd6, 0x09, + 0x70, 0xf3, 0x03, 0x9a, 0x44, 0x8b, 0x5f, 0x0e, 0xb2, 0xae, 0xd1, 0x65, 0x35, 0xea, 0x6e, 0x2d, + 0xa0, 0xe6, 0x07, 0x34, 0x91, 0x52, 0xa8, 0xb4, 0xe6, 0x98, 0x41, 0x4a, 0xa4, 0x68, 0xa5, 0x80, + 0x13, 0x2a, 0x85, 0xdf, 0xf8, 0xf5, 0x48, 0xee, 0x7b, 0xbe, 0xb6, 0x9c, 0x89, 0x14, 0x66, 0xc8, + 0xf9, 0x01, 0x2d, 0x92, 0x29, 0xff, 0xb2, 0x9f, 0x6f, 0x9b, 0x2f, 0x1a, 0xe3, 0xc2, 0xe1, 0x83, + 0xf9, 0x3e, 0x95, 0x92, 0x9f, 0x8f, 0xfb, 0xa6, 0x98, 0x67, 0x99, 0x6f, 0x2e, 0x70, 0xa4, 0x96, + 0x8a, 0x65, 0xd0, 0xde, 0x11, 0x76, 0xbe, 0x6f, 0x46, 0x33, 0x92, 0xf2, 0x3c, 0xb7, 0x67, 0x23, + 0x25, 0x39, 0x76, 0x7e, 0x40, 0x8b, 0x66, 0x30, 0x7d, 0x59, 0xca, 0x86, 0xc9, 0x1f, 0x54, 0x46, + 0xa5, 0x4a, 0x51, 0x82, 0x54, 0x21, 0x6f, 0xe6, 0x9b, 0xd1, 0xf4, 0x8c, 0xfc, 0xf9, 0xe4, 0xd9, + 0xe4, 0x24, 0x7e, 0x42, 0xd5, 0x7e, 0x3a, 0xc7, 0x97, 0xa5, 0x34, 0x7a, 0x90, 0xa9, 0x36, 0xa1, + 0x6a, 0xdd, 0xd3, 0xc5, 0xaa, 0xd9, 0x90, 0x97, 0x12, 0xba, 0x41, 0x42, 0x84, 0x78, 0x87, 0x02, + 0x4e, 0xe8, 0x50, 0x96, 0xfc, 0xed, 0x65, 0x29, 0xe8, 0x3d, 0xcf, 0x78, 0x10, 0x54, 0x2a, 0xa0, + 0x68, 0xa5, 0x62, 0x78, 0xfc, 0x9b, 0x62, 0x2c, 0x78, 0x65, 0x52, 0xee, 0xa0, 0x10, 0x43, 0x3b, + 0x48, 0x88, 0x19, 0x5f, 0x84, 0x38, 0xd3, 0x0a, 0x06, 0xf2, 0x91, 0xa0, 0x85, 0xb3, 0xb5, 0xf9, + 0x01, 0x0d, 0x22, 0x50, 0xab, 0x2c, 0x82, 0xb9, 0x72, 0x0a, 0x28, 0x46, 0x83, 0x74, 0x85, 0x0f, + 0x49, 0x73, 0x7e, 0x40, 0x63, 0xd1, 0xcd, 0x5f, 0x10, 0x62, 0x85, 0x2a, 0xa7, 0xe5, 0x29, 0x22, + 0x40, 0xd0, 0x29, 0x22, 0x8c, 0x28, 0x3a, 0x17, 0x8f, 0xa7, 0xa9, 0x9c, 0x91, 0xcf, 0xbf, 0xa2, + 0xf8, 0xf9, 0x01, 0x2d, 0x1e, 0x83, 0xf3, 0x65, 0x29, 0xc4, 0xa4, 0x72, 0x36, 0xf2, 0xc6, 0x21, + 0x44, 0x51, 0x71, 0x89, 0xc1, 0x28, 0x97, 0x13, 0x93, 0xc2, 0x28, 0xe7, 0x80, 0xc1, 0x93, 0x01, + 0x83, 0x38, 0xc9, 0xfc, 0x80, 0x96, 0x98, 0x4e, 0x66, 0x36, 0x16, 0xe8, 0x51, 0x51, 0xe4, 0x83, + 0x97, 0x08, 0x7a, 0x7e, 0x40, 0x8b, 0x85, 0x86, 0xbc, 0x29, 0x46, 0x58, 0x54, 0x9e, 0x90, 0x3b, + 0x31, 0xc4, 0xd0, 0x4e, 0x14, 0x22, 0x31, 0xde, 0x14, 0xa3, 0xee, 0x29, 0x53, 0xf1, 0x52, 0xe1, + 0xcc, 0x29, 0x44, 0xe7, 0xd3, 0x92, 0x03, 0x89, 0x29, 0x4f, 0xf2, 0x50, 0xce, 0xbc, 0x7c, 0x12, + 0xcd, 0xfc, 0x80, 0x96, 0x1c, 0x84, 0x4c, 0x4b, 0x8e, 0xc0, 0xa5, 0x9c, 0xef, 0xc7, 0x33, 0x68, + 0x5d, 0x72, 0xf4, 0x2e, 0xbd, 0x4f, 0x3c, 0x24, 0xe5, 0x82, 0xfc, 0xc0, 0xba, 0x27, 0xe1, 0xfc, + 0x80, 0xd6, 0x27, 0xaa, 0xd2, 0x9d, 0x1e, 0xc1, 0x89, 0x94, 0x8b, 0x72, 0x24, 0xf7, 0x44, 0xa2, + 0xf9, 0x01, 0xad, 0x47, 0x68, 0xa3, 0x3b, 0x3d, 0x62, 0xd7, 0x28, 0xc5, 0xbe, 0x6c, 0x03, 0x79, + 0xf4, 0x88, 0x7c, 0xb3, 0x9c, 0x18, 0xf6, 0x45, 0x79, 0x4a, 0x56, 0xdd, 0x04, 0x12, 0xaa, 0xba, + 0x49, 0x01, 0x63, 0x96, 0x13, 0xe3, 0x94, 0x28, 0x4f, 0xf7, 0x61, 0x18, 0xb4, 0x31, 0x31, 0xc2, + 0xc9, 0x72, 0x62, 0xa0, 0x10, 0x45, 0x95, 0x19, 0x26, 0x90, 0x50, 0x86, 0x49, 0x21, 0x46, 0x96, + 0x13, 0x23, 0x5b, 0x28, 0xcf, 0xf4, 0x61, 0x18, 0xb6, 0x30, 0x29, 0x26, 0xc6, 0xcb, 0x52, 0x68, + 0x09, 0xe5, 0x63, 0xf2, 0xbc, 0x21, 0xa0, 0xe8, 0xbc, 0x21, 0x06, 0xa1, 0x98, 0x8d, 0x3d, 0x9e, + 0x55, 0x3e, 0x2e, 0x0f, 0xf3, 0x08, 0x9a, 0x0e, 0xf3, 0xe8, 0x73, 0xdb, 0xd9, 0xd8, 0x23, 0x42, + 0xe5, 0x52, 0x2f, 0x26, 0x80, 0x96, 0x99, 0xb0, 0x67, 0x87, 0xd5, 0x84, 0x57, 0x6c, 0xca, 0xb3, + 0xf2, 0x15, 0x5e, 0x8c, 0x60, 0x7e, 0x40, 0x4b, 0x78, 0xfb, 0xa6, 0x25, 0xbb, 0x6c, 0x2b, 0x97, + 0xe5, 0x61, 0x9b, 0x44, 0x43, 0x87, 0x6d, 0xa2, 0xbb, 0xf7, 0x42, 0xd2, 0x75, 0xbd, 0x72, 0x45, + 0x36, 0xcc, 0xe2, 0x14, 0xd4, 0x30, 0x4b, 0xb8, 0xe6, 0xd7, 0x92, 0x9d, 0x90, 0x95, 0xe7, 0xfa, + 0xb6, 0x10, 0x68, 0x12, 0x5a, 0xc8, 0x7c, 0x72, 0x43, 0xdb, 0xe9, 0x4e, 0xa7, 0x65, 0xeb, 0x86, + 0xf2, 0x89, 0x44, 0xdb, 0x89, 0x21, 0x05, 0xdb, 0x89, 0x01, 0xe8, 0x2a, 0x2f, 0x5e, 0x67, 0x2b, + 0x57, 0xe5, 0x55, 0x5e, 0xc4, 0xd1, 0x55, 0x5e, 0xba, 0xfa, 0x9e, 0x8d, 0x5d, 0xfd, 0x2a, 0xcf, + 0xcb, 0x0a, 0x10, 0x41, 0x53, 0x05, 0x88, 0x5e, 0x16, 0xbf, 0xdb, 0xfb, 0xb2, 0x54, 0x99, 0x06, + 0x6e, 0x4f, 0x05, 0x09, 0x99, 0x7b, 0xd0, 0xcd, 0x0f, 0x68, 0xbd, 0x2f, 0x5c, 0xab, 0x09, 0x77, + 0x9f, 0xca, 0x35, 0x59, 0xc1, 0x62, 0x04, 0x54, 0xc1, 0xe2, 0x37, 0xa6, 0xd5, 0x84, 0xcb, 0x4b, + 0xe5, 0x93, 0x3d, 0x59, 0x05, 0xdf, 0x9c, 0x70, 0xe5, 0x79, 0x53, 0xbc, 0x7d, 0x54, 0x5e, 0x90, + 0x17, 0xbb, 0x10, 0x43, 0x17, 0x3b, 0xe1, 0x96, 0xf2, 0xa6, 0x78, 0x63, 0xa7, 0x5c, 0x8f, 0x97, + 0x0a, 0x97, 0x48, 0xe1, 0x66, 0x4f, 0x4b, 0xbe, 0x20, 0x53, 0x6e, 0xc8, 0x5a, 0x97, 0x44, 0x43, + 0xb5, 0x2e, 0xf1, 0x72, 0x6d, 0x2e, 0x7e, 0xcf, 0xa5, 0xdc, 0x8c, 0xde, 0xfc, 0xc9, 0x78, 0x6a, + 0xf9, 0xc4, 0xee, 0xc6, 0xde, 0x8c, 0xbe, 0x27, 0x52, 0x5e, 0x8c, 0xec, 0x2f, 0x25, 0x2c, 0xb5, + 0x6f, 0x23, 0xef, 0x8f, 0xde, 0x8c, 0x3e, 0xc1, 0x51, 0x5e, 0x4a, 0xe6, 0x10, 0xe8, 0x4a, 0xf4, + 0xc9, 0xce, 0x9b, 0xd1, 0x57, 0x2b, 0xca, 0xcb, 0xc9, 0x1c, 0x02, 0xe9, 0x46, 0x5f, 0xb9, 0xbc, + 0x20, 0xc4, 0xd1, 0x50, 0x3e, 0x25, 0x9b, 0x8e, 0x01, 0x82, 0x9a, 0x8e, 0x61, 0xb4, 0x8d, 0x17, + 0x84, 0xf8, 0x13, 0xca, 0x2b, 0xb1, 0x22, 0x41, 0x63, 0x85, 0x28, 0x15, 0x2f, 0x08, 0x71, 0x1b, + 0x94, 0x57, 0x63, 0x45, 0x82, 0xd6, 0x09, 0xd1, 0x1d, 0x8c, 0x7e, 0x6e, 0x7d, 0xca, 0xa7, 0x81, + 0x87, 0xba, 0xbb, 0xa7, 0xd6, 0xfc, 0x80, 0xd6, 0xcf, 0x3d, 0xf0, 0xdd, 0xde, 0xb7, 0x86, 0xca, + 0x6b, 0xf2, 0x10, 0xee, 0x45, 0x47, 0x87, 0x70, 0xcf, 0x9b, 0xc7, 0xd7, 0x23, 0x2e, 0xfe, 0xca, + 0xeb, 0xf2, 0x14, 0x27, 0x21, 0xe9, 0x14, 0x17, 0x7d, 0x10, 0x20, 0xf9, 0xae, 0x2b, 0x9f, 0x91, + 0xa7, 0x38, 0x11, 0x47, 0xa7, 0x38, 0xc9, 0xcf, 0x7d, 0x36, 0xe6, 0x52, 0xad, 0xbc, 0x21, 0x4f, + 0x71, 0x11, 0x34, 0x9d, 0xe2, 0xa2, 0x4e, 0xd8, 0xaf, 0x47, 0x3c, 0x8b, 0x95, 0x37, 0x93, 0xdb, + 0x0f, 0x48, 0xb1, 0xfd, 0xcc, 0x0f, 0x59, 0x4b, 0x76, 0x91, 0x55, 0x4a, 0xf2, 0xf8, 0x4d, 0xa2, + 0xa1, 0xe3, 0x37, 0xd1, 0xbd, 0x76, 0x39, 0x31, 0x8f, 0x9a, 0x32, 0xd3, 0x67, 0xe3, 0x10, 0x9a, + 0x22, 0x49, 0x19, 0xd8, 0xc4, 0x3d, 0x32, 0xdb, 0x08, 0xcd, 0xf6, 0xd8, 0x23, 0xfb, 0xdb, 0xa0, + 0x08, 0x3d, 0x9d, 0x5d, 0x63, 0x97, 0x58, 0x4a, 0x59, 0x9e, 0x5d, 0x63, 0x04, 0x74, 0x76, 0x8d, + 0x5f, 0x7d, 0xcd, 0xa1, 0x02, 0xd7, 0x22, 0x76, 0x37, 0x67, 0x5a, 0x6b, 0x4a, 0x25, 0xe2, 0xa1, + 0x16, 0xc1, 0xd3, 0xd9, 0x29, 0x0a, 0x83, 0xf5, 0x9a, 0xc1, 0x66, 0x5b, 0x66, 0x67, 0xd5, 0xd6, + 0x1d, 0xa3, 0x4e, 0x2c, 0x43, 0x99, 0x8b, 0xac, 0xd7, 0x09, 0x34, 0xb0, 0x5e, 0x27, 0xc0, 0xe1, + 0x0d, 0x4d, 0x04, 0xce, 0x93, 0xa8, 0x2b, 0xb7, 0x80, 0x6d, 0xb1, 0x17, 0x5b, 0x4e, 0x36, 0x3f, + 0xa0, 0xf5, 0xe2, 0x40, 0x6d, 0xf5, 0xc5, 0xad, 0xfa, 0xdb, 0x0b, 0x81, 0x57, 0x76, 0xcd, 0x21, + 0x1d, 0xdd, 0x21, 0xca, 0xbc, 0x6c, 0xab, 0x27, 0x12, 0x51, 0x5b, 0x3d, 0x11, 0x11, 0x67, 0xeb, + 0x8f, 0x85, 0x6a, 0x3f, 0xb6, 0xe1, 0x88, 0x48, 0x2e, 0x4d, 0x67, 0x27, 0x19, 0x41, 0x05, 0xb4, + 0x60, 0x5b, 0x6b, 0x70, 0x52, 0xf1, 0x96, 0x3c, 0x3b, 0xf5, 0xa6, 0xa4, 0xb3, 0x53, 0x6f, 0x2c, + 0x55, 0x75, 0x19, 0xcb, 0xc6, 0xe0, 0x6d, 0x59, 0xd5, 0x13, 0x48, 0xa8, 0xaa, 0x27, 0x80, 0xe3, + 0x0c, 0x35, 0xe2, 0x12, 0x4f, 0x59, 0xe8, 0xc7, 0x10, 0x48, 0xe2, 0x0c, 0x01, 0x1c, 0x67, 0x38, + 0x47, 0xbc, 0xe6, 0xba, 0xb2, 0xd8, 0x8f, 0x21, 0x90, 0xc4, 0x19, 0x02, 0x98, 0x6e, 0x36, 0x65, + 0xf0, 0x4c, 0xb7, 0xb5, 0xe1, 0xf7, 0xd9, 0x92, 0xbc, 0xd9, 0xec, 0x49, 0x48, 0x37, 0x9b, 0x3d, + 0x91, 0xf8, 0x07, 0xf6, 0x7c, 0x45, 0xab, 0x2c, 0x43, 0x85, 0xd3, 0xa1, 0x5d, 0xb0, 0x97, 0x52, + 0xf3, 0x03, 0xda, 0x5e, 0xaf, 0x80, 0x3f, 0x11, 0xdc, 0xee, 0x28, 0x35, 0xa8, 0x6a, 0x22, 0x38, + 0xab, 0x60, 0xe0, 0xf9, 0x01, 0x2d, 0xb8, 0xff, 0x79, 0x19, 0x8d, 0xc0, 0x47, 0x55, 0x2d, 0xd3, + 0x2b, 0xcf, 0x28, 0x6f, 0xcb, 0x5b, 0x26, 0x01, 0x45, 0xb7, 0x4c, 0xc2, 0x4f, 0x3a, 0x89, 0xc3, + 0x4f, 0x36, 0xc5, 0x94, 0x67, 0x14, 0x4d, 0x9e, 0xc4, 0x25, 0x24, 0x9d, 0xc4, 0x25, 0x40, 0x50, + 0x6f, 0xd9, 0xb1, 0x3b, 0xe5, 0x19, 0xa5, 0x9e, 0x50, 0x2f, 0x43, 0x05, 0xf5, 0xb2, 0x9f, 0x41, + 0xbd, 0xf5, 0xf5, 0xae, 0x57, 0xa6, 0xdf, 0xb8, 0x92, 0x50, 0xaf, 0x8f, 0x0c, 0xea, 0xf5, 0x01, + 0x74, 0x2a, 0x04, 0x40, 0xcd, 0xb1, 0xe9, 0xa4, 0x7d, 0xdb, 0x6c, 0xb5, 0x94, 0x3b, 0xf2, 0x54, + 0x18, 0xc5, 0xd3, 0xa9, 0x30, 0x0a, 0xa3, 0xa6, 0x27, 0x6b, 0x15, 0x59, 0xed, 0xae, 0x29, 0x77, + 0x65, 0xd3, 0x33, 0xc4, 0x50, 0xd3, 0x33, 0xfc, 0x05, 0xbb, 0x0b, 0xfa, 0x4b, 0x23, 0xf7, 0x1d, + 0xe2, 0xae, 0x2b, 0xf7, 0x22, 0xbb, 0x0b, 0x01, 0x07, 0xbb, 0x0b, 0xe1, 0x37, 0x5e, 0x43, 0x4f, + 0x4a, 0x0b, 0x8d, 0xef, 0x29, 0x56, 0x27, 0xba, 0xd3, 0x5c, 0x57, 0x3e, 0x0b, 0xac, 0x9e, 0x49, + 0x5c, 0xaa, 0x64, 0xd2, 0xf9, 0x01, 0xad, 0x1f, 0x27, 0xd8, 0x96, 0xbf, 0xbd, 0xc0, 0x1e, 0xbb, + 0x6a, 0xb5, 0x59, 0x7f, 0x13, 0xfa, 0x4e, 0x64, 0x5b, 0x1e, 0x27, 0x81, 0x6d, 0x79, 0x1c, 0x8c, + 0x3b, 0xe8, 0x62, 0x64, 0xab, 0xb6, 0xa8, 0xb7, 0xe8, 0xbe, 0x84, 0x18, 0x35, 0xbd, 0xb9, 0x41, + 0x3c, 0xe5, 0x73, 0xc0, 0xfb, 0x52, 0x8f, 0x0d, 0x5f, 0x84, 0x7a, 0x7e, 0x40, 0xdb, 0x85, 0x1f, + 0x56, 0x59, 0xa6, 0x2e, 0xe5, 0xf3, 0xf2, 0xf9, 0x26, 0x85, 0xcd, 0x0f, 0x68, 0x2c, 0x8b, 0xd7, + 0xbb, 0x48, 0xb9, 0xd3, 0x59, 0x73, 0x74, 0x83, 0x30, 0x43, 0x0b, 0x6c, 0x37, 0x6e, 0x80, 0x7e, + 0x87, 0x6c, 0xa5, 0xf5, 0xa2, 0xa3, 0x56, 0x5a, 0x2f, 0x1c, 0x55, 0x54, 0x29, 0xae, 0x93, 0xf2, + 0x05, 0x59, 0x51, 0x25, 0x24, 0x55, 0x54, 0x39, 0x0a, 0xd4, 0x67, 0xd1, 0xd9, 0x60, 0x3f, 0xcf, + 0xd7, 0x5f, 0xd6, 0x69, 0xca, 0xbb, 0xc0, 0xe7, 0x62, 0xec, 0x32, 0x40, 0xa2, 0x9a, 0x1f, 0xd0, + 0x7a, 0x94, 0xa7, 0x2b, 0x6e, 0x2c, 0x64, 0x21, 0x37, 0x2f, 0xbe, 0x53, 0x5e, 0x71, 0x7b, 0x90, + 0xd1, 0x15, 0xb7, 0x07, 0x2a, 0x91, 0x39, 0x17, 0xaa, 0xbe, 0x0b, 0xf3, 0x40, 0xa6, 0xbd, 0x38, + 0x24, 0x32, 0xe7, 0x96, 0xda, 0xea, 0x2e, 0xcc, 0x03, 0x6b, 0xad, 0x17, 0x07, 0x7c, 0x19, 0xe5, + 0xea, 0xf5, 0x45, 0xad, 0x6b, 0x29, 0xcd, 0xc8, 0xb5, 0x1c, 0x40, 0xe7, 0x07, 0x34, 0x8e, 0xa7, + 0x66, 0x50, 0xa5, 0xa5, 0xbb, 0x9e, 0xd9, 0x74, 0x61, 0xc4, 0xf8, 0x23, 0xc4, 0x90, 0xcd, 0xa0, + 0x24, 0x1a, 0x6a, 0x06, 0x25, 0xc1, 0xa9, 0xbd, 0x38, 0xab, 0xbb, 0xae, 0x6e, 0x19, 0x8e, 0x3e, + 0x03, 0xcb, 0x04, 0x91, 0xed, 0x45, 0x19, 0x4b, 0xed, 0x45, 0x19, 0x02, 0x87, 0xef, 0x3e, 0xc4, + 0x37, 0x73, 0xee, 0x47, 0x0e, 0xdf, 0x23, 0x78, 0x38, 0x7c, 0x8f, 0xc0, 0xc0, 0xee, 0xf4, 0x61, + 0x1a, 0x59, 0x33, 0x21, 0xaf, 0xe6, 0x5a, 0xc4, 0xee, 0x8c, 0x12, 0x80, 0xdd, 0x19, 0x05, 0x4a, + 0x4d, 0xf2, 0x97, 0xdb, 0xf5, 0x1e, 0x4d, 0x0a, 0x57, 0xd9, 0x58, 0x19, 0xba, 0x7e, 0x87, 0x83, + 0xa3, 0xbc, 0x65, 0xe9, 0x6d, 0xbb, 0x3c, 0xe3, 0x4b, 0xdd, 0x94, 0xd7, 0xef, 0x9e, 0x84, 0x74, + 0xfd, 0xee, 0x89, 0xa4, 0xb3, 0xab, 0xbf, 0xd1, 0x5a, 0xd7, 0x1d, 0x62, 0x04, 0xd9, 0xe6, 0xd8, + 0xd6, 0xf0, 0x3d, 0x79, 0x76, 0xed, 0x43, 0x4a, 0x67, 0xd7, 0x3e, 0x68, 0x6a, 0xe4, 0x25, 0xa3, + 0x35, 0xa2, 0x1b, 0xca, 0x86, 0x6c, 0xe4, 0xf5, 0xa6, 0xa4, 0x46, 0x5e, 0x6f, 0x6c, 0xef, 0xcf, + 0xb9, 0xe7, 0x98, 0x1e, 0x51, 0x5a, 0x7b, 0xf9, 0x1c, 0x20, 0xed, 0xfd, 0x39, 0x80, 0xa6, 0x1b, + 0xc2, 0x68, 0x87, 0xb4, 0xe5, 0x0d, 0x61, 0xbc, 0x1b, 0xa2, 0x25, 0xa8, 0xc5, 0xc2, 0xfd, 0xc5, + 0x14, 0x4b, 0xb6, 0x58, 0x38, 0x98, 0x5a, 0x2c, 0xa1, 0x47, 0x99, 0xe4, 0xe9, 0xa4, 0xd8, 0xf2, + 0x1a, 0x2a, 0xe2, 0xe8, 0x1a, 0x2a, 0x79, 0x45, 0xbd, 0x2c, 0x39, 0x34, 0x28, 0x1d, 0xd9, 0xea, + 0x10, 0x50, 0xd4, 0xea, 0x10, 0x5d, 0x1f, 0x66, 0xd1, 0x04, 0xdc, 0x82, 0x6b, 0xdd, 0xe0, 0x1e, + 0xe7, 0x8b, 0xf2, 0x67, 0x46, 0xd0, 0xf4, 0x33, 0x23, 0x20, 0x89, 0x09, 0x9f, 0xb6, 0x9c, 0x1e, + 0x4c, 0xc2, 0xf3, 0xc1, 0x08, 0x08, 0x2f, 0x20, 0x5c, 0x2f, 0x2d, 0x2e, 0x54, 0x8d, 0x9a, 0x78, + 0x45, 0xe6, 0xca, 0x27, 0xb0, 0x71, 0x8a, 0xf9, 0x01, 0x2d, 0xa1, 0x1c, 0x7e, 0x0f, 0x9d, 0xe7, + 0x50, 0xee, 0xce, 0x0b, 0xf9, 0x44, 0x8c, 0x60, 0x41, 0xf0, 0x80, 0xef, 0xc7, 0x22, 0x7c, 0x13, + 0x69, 0xe7, 0x07, 0xb4, 0xbe, 0xbc, 0x7a, 0xd7, 0xc5, 0xd7, 0x87, 0xee, 0x5e, 0xea, 0x0a, 0x16, + 0x89, 0xbe, 0xbc, 0x7a, 0xd7, 0xc5, 0xe5, 0xfe, 0x60, 0x2f, 0x75, 0x05, 0x9d, 0xd0, 0x97, 0x17, + 0x76, 0x51, 0xb1, 0x1f, 0xbe, 0xd4, 0x6a, 0x29, 0x9b, 0x50, 0xdd, 0xb3, 0x7b, 0xa9, 0xae, 0x04, + 0x06, 0xe7, 0x6e, 0x1c, 0xe9, 0x2c, 0xbd, 0xdc, 0x21, 0x56, 0x5d, 0x5a, 0x80, 0x1e, 0xca, 0xb3, + 0x74, 0x8c, 0x80, 0xce, 0xd2, 0x31, 0x20, 0x1d, 0x50, 0xa2, 0x5f, 0x8c, 0xb2, 0x25, 0x0f, 0x28, + 0x11, 0x47, 0x07, 0x94, 0xe4, 0x43, 0xb3, 0x8c, 0x4e, 0x2d, 0x6f, 0x78, 0xba, 0x6f, 0x41, 0xba, + 0xbc, 0x2b, 0xdf, 0x8f, 0x5c, 0x32, 0xc5, 0x49, 0xe0, 0x92, 0x29, 0x0e, 0xa6, 0x63, 0x84, 0x82, + 0xeb, 0x5b, 0x56, 0x73, 0x4e, 0x37, 0x5b, 0x5d, 0x87, 0x28, 0x7f, 0x46, 0x1e, 0x23, 0x11, 0x34, + 0x1d, 0x23, 0x11, 0x10, 0x5d, 0xa0, 0x29, 0xa8, 0xe4, 0xba, 0xe6, 0x9a, 0xc5, 0xf7, 0x95, 0xdd, + 0x96, 0xa7, 0xfc, 0x59, 0x79, 0x81, 0x4e, 0xa2, 0xa1, 0x0b, 0x74, 0x12, 0x1c, 0x4e, 0x9d, 0x12, + 0x72, 0xed, 0x28, 0x7f, 0x2e, 0x72, 0xea, 0x94, 0x40, 0x03, 0xa7, 0x4e, 0x49, 0x79, 0x7a, 0xe6, + 0x50, 0x81, 0xd9, 0x64, 0x0b, 0x66, 0x70, 0x57, 0xfd, 0xe7, 0xe5, 0xf5, 0x31, 0x8a, 0xa7, 0xeb, + 0x63, 0x14, 0x26, 0xf3, 0xe1, 0x5d, 0xf0, 0x17, 0x7a, 0xf1, 0x09, 0xe4, 0x1f, 0x2b, 0x83, 0x6f, + 0x89, 0x7c, 0xf8, 0x48, 0xf9, 0xae, 0x54, 0x2f, 0x46, 0xc1, 0xf0, 0x88, 0x15, 0x92, 0x19, 0x69, + 0xe4, 0x81, 0x49, 0x36, 0x95, 0x2f, 0xf5, 0x64, 0xc4, 0x08, 0x64, 0x46, 0x0c, 0x86, 0xdf, 0x41, + 0x67, 0x43, 0xd8, 0x22, 0x69, 0xaf, 0x06, 0x33, 0xd3, 0x77, 0xa7, 0x64, 0x33, 0x38, 0x99, 0x8c, + 0x9a, 0xc1, 0xc9, 0x98, 0x24, 0xd6, 0x5c, 0x74, 0x7f, 0x71, 0x17, 0xd6, 0x81, 0x04, 0x7b, 0x30, + 0x48, 0x62, 0xcd, 0xa5, 0xf9, 0x3d, 0xbb, 0xb0, 0x0e, 0x64, 0xda, 0x83, 0x01, 0xfe, 0x72, 0x0a, + 0x5d, 0x4a, 0x46, 0x95, 0x5a, 0xad, 0x39, 0xdb, 0x09, 0x71, 0xca, 0xf7, 0xa6, 0xe4, 0x83, 0x86, + 0xbd, 0x15, 0x9b, 0x1f, 0xd0, 0xf6, 0x58, 0x01, 0xfe, 0x0c, 0x1a, 0x2b, 0x75, 0x0d, 0xd3, 0x83, + 0x8b, 0x37, 0x6a, 0x38, 0x7f, 0x5f, 0x2a, 0xb2, 0xc5, 0x11, 0xb1, 0xb0, 0xc5, 0x11, 0x01, 0xf8, + 0x2d, 0x34, 0x59, 0x27, 0xcd, 0xae, 0x63, 0x7a, 0x5b, 0x1a, 0xe4, 0x51, 0xa2, 0x3c, 0xbe, 0x3f, + 0x25, 0x4f, 0x62, 0x31, 0x0a, 0x3a, 0x89, 0xc5, 0x80, 0xf8, 0x6e, 0x8f, 0x6c, 0x3b, 0xca, 0x0f, + 0xa4, 0xfa, 0x5e, 0xcb, 0x07, 0x7d, 0xd9, 0x23, 0x59, 0x4f, 0x2d, 0x31, 0x7b, 0x89, 0xf2, 0xe5, + 0x54, 0x9f, 0x6b, 0x74, 0x61, 0x86, 0x4b, 0x48, 0x7c, 0x52, 0x4b, 0xcc, 0x4f, 0xa1, 0xfc, 0x60, + 0xaa, 0xcf, 0xb5, 0x77, 0xc8, 0x31, 0x29, 0xb5, 0xc5, 0x8b, 0x62, 0xc2, 0x4a, 0xe5, 0x2f, 0xa5, + 0xe2, 0xae, 0x22, 0x41, 0x79, 0x31, 0xb3, 0xe5, 0x8b, 0xcc, 0x35, 0x8f, 0x17, 0xfb, 0x4a, 0x2a, + 0xee, 0x9b, 0x17, 0x16, 0x0b, 0x7f, 0x61, 0x82, 0xa6, 0x2a, 0x0f, 0x3d, 0xe2, 0x58, 0x7a, 0x0b, + 0xba, 0xb3, 0xee, 0xd9, 0x8e, 0xbe, 0x46, 0x2a, 0x96, 0xbe, 0xda, 0x22, 0xca, 0x0f, 0xa5, 0x64, + 0x0b, 0xb6, 0x37, 0x29, 0xb5, 0x60, 0x7b, 0x63, 0xf1, 0x3a, 0x7a, 0x32, 0x09, 0x5b, 0x36, 0x5d, + 0xa8, 0xe7, 0xab, 0x29, 0xd9, 0x84, 0xed, 0x43, 0x4b, 0x4d, 0xd8, 0x3e, 0x68, 0x7c, 0x5d, 0xc8, + 0xe6, 0xa8, 0xfc, 0xe5, 0x88, 0x33, 0x64, 0x80, 0x99, 0x1f, 0xd0, 0x84, 0xa4, 0x8f, 0xd7, 0x85, + 0xac, 0x83, 0xca, 0xd7, 0xe2, 0x65, 0xc2, 0xcb, 0xa7, 0x30, 0x39, 0xe1, 0x75, 0x21, 0xdf, 0xa2, + 0xf2, 0x57, 0xe2, 0x65, 0xc2, 0x3b, 0xae, 0xe0, 0xc7, 0xcc, 0x10, 0x1a, 0x84, 0x95, 0x56, 0xfd, + 0xb1, 0x14, 0x1a, 0xad, 0x7b, 0x0e, 0xd1, 0xdb, 0xdc, 0xdd, 0x7e, 0x0a, 0xe5, 0xd9, 0x95, 0x75, + 0xb5, 0xcc, 0x5f, 0xc5, 0x04, 0xbf, 0xf1, 0x25, 0x34, 0xbe, 0xa0, 0xbb, 0x1e, 0x94, 0xac, 0x5a, + 0x06, 0x79, 0x08, 0xee, 0x9a, 0x19, 0x2d, 0x02, 0xc5, 0x0b, 0x8c, 0x8e, 0x95, 0x83, 0xf7, 0x45, + 0x99, 0x5d, 0xbd, 0xcc, 0xf3, 0x1f, 0x6c, 0x17, 0x07, 0xc0, 0xa9, 0x3c, 0x52, 0x56, 0xfd, 0x46, + 0x0a, 0xc5, 0x2e, 0xd3, 0x0f, 0xee, 0x5c, 0xbe, 0x8c, 0x26, 0x22, 0x6f, 0xda, 0xb8, 0xcf, 0xe9, + 0x1e, 0x9f, 0xbc, 0x45, 0x4b, 0xe3, 0x67, 0x03, 0x5f, 0xc7, 0x3b, 0xda, 0x02, 0x7f, 0x41, 0x30, + 0x04, 0xe9, 0xf3, 0x9d, 0x96, 0x26, 0xa0, 0xb8, 0xaf, 0xec, 0xaf, 0x4f, 0x84, 0x0f, 0x76, 0xf0, + 0x25, 0xfe, 0x5e, 0x2f, 0x15, 0xbe, 0x3b, 0x88, 0x44, 0x3b, 0x65, 0xef, 0xf3, 0x3e, 0x83, 0x46, + 0xab, 0xed, 0x0e, 0x71, 0x5c, 0xdb, 0xd2, 0x3d, 0xdb, 0xcf, 0xaa, 0x00, 0xde, 0xed, 0xa6, 0x00, + 0x17, 0x3d, 0xae, 0x45, 0x7a, 0x7c, 0xc5, 0x4f, 0x80, 0x97, 0x81, 0xa7, 0x52, 0xa7, 0x12, 0x12, + 0xe0, 0xf9, 0x69, 0xec, 0xae, 0xa0, 0xc1, 0x3b, 0xae, 0x0e, 0x5e, 0xb1, 0x01, 0x69, 0x97, 0x02, + 0x44, 0x52, 0xa0, 0xc0, 0x57, 0x51, 0x0e, 0x76, 0x11, 0xae, 0x32, 0x08, 0xb4, 0xf0, 0x1a, 0xa2, + 0x05, 0x10, 0xd1, 0x8b, 0x9d, 0xd1, 0xe0, 0xdb, 0xa8, 0x10, 0x1e, 0x91, 0x40, 0x1e, 0x10, 0x3f, + 0x80, 0x0a, 0x44, 0x1e, 0xdd, 0x08, 0x70, 0x2c, 0x81, 0x88, 0xc8, 0x22, 0x56, 0x10, 0xcf, 0xa3, + 0x89, 0x10, 0x46, 0x45, 0xe4, 0x07, 0x6e, 0x82, 0xc8, 0xbb, 0x02, 0x2f, 0x2a, 0x4e, 0x91, 0x55, + 0xb4, 0x18, 0xae, 0xa2, 0x21, 0xff, 0x29, 0x44, 0x7e, 0x57, 0x25, 0x3d, 0xc5, 0x9f, 0x42, 0x0c, + 0x89, 0x8f, 0x20, 0xfc, 0xf2, 0x78, 0x0e, 0x8d, 0x6b, 0x76, 0xd7, 0x23, 0x2b, 0x36, 0x3f, 0x01, + 0xe2, 0x91, 0x3d, 0xa0, 0x4d, 0x0e, 0xc5, 0x34, 0x3c, 0xdb, 0x0f, 0xdc, 0x2a, 0x06, 0x10, 0x95, + 0x4b, 0xe1, 0x25, 0x34, 0x19, 0x3b, 0x4c, 0x12, 0xc3, 0xa9, 0x0a, 0x9f, 0x17, 0x67, 0x16, 0x2f, + 0x8a, 0xbf, 0x2f, 0x85, 0x72, 0x2b, 0x8e, 0x6e, 0x7a, 0x2e, 0x77, 0xa8, 0x3d, 0x33, 0xbd, 0xe9, + 0xe8, 0x1d, 0xaa, 0x1f, 0xd3, 0xf0, 0x16, 0xee, 0xae, 0xde, 0xea, 0x12, 0x77, 0xe6, 0x1e, 0xfd, + 0xba, 0x7f, 0xb7, 0x5d, 0xfc, 0xf4, 0x3e, 0x12, 0x13, 0x5e, 0x0b, 0x38, 0xb1, 0x1a, 0xa8, 0x0a, + 0x78, 0xf0, 0x97, 0xa8, 0x02, 0x0c, 0x87, 0x97, 0xe8, 0x82, 0x02, 0x9f, 0x5a, 0xea, 0x74, 0xb8, + 0x77, 0xae, 0xb0, 0x9e, 0xf8, 0x18, 0xa6, 0xd8, 0x81, 0xc0, 0xf4, 0x8e, 0x98, 0x4d, 0x46, 0xe0, + 0x40, 0xb5, 0x60, 0x85, 0xb7, 0xc8, 0x17, 0xd3, 0x58, 0x28, 0x71, 0xbf, 0xb1, 0x09, 0x42, 0x8a, + 0x16, 0xc3, 0xab, 0x68, 0x82, 0xf3, 0x0d, 0x42, 0x6d, 0x8c, 0xcb, 0xb3, 0x42, 0x04, 0xcd, 0x94, + 0x36, 0x68, 0xa3, 0xc1, 0xc1, 0x62, 0x1d, 0x91, 0x12, 0x78, 0x26, 0x8c, 0x04, 0x08, 0xa9, 0x6b, + 0x94, 0x09, 0xd0, 0xd8, 0xf3, 0x3b, 0xdb, 0x45, 0xc5, 0x2f, 0xcf, 0x32, 0xde, 0x24, 0xc5, 0xb5, + 0x85, 0x22, 0x22, 0x0f, 0xa6, 0xf5, 0x85, 0x04, 0x1e, 0x51, 0x9d, 0x97, 0x8b, 0xe0, 0x59, 0x34, + 0x16, 0x38, 0x07, 0xdd, 0xb9, 0x53, 0x2d, 0x83, 0xfb, 0x2f, 0xcf, 0xd1, 0x12, 0x89, 0xe2, 0x21, + 0x32, 0x91, 0xca, 0xe0, 0x1b, 0x28, 0xcf, 0xdc, 0x6b, 0xab, 0xcc, 0x1f, 0xd8, 0x7f, 0xb2, 0x08, + 0xb0, 0x86, 0x29, 0xf6, 0x58, 0x40, 0x88, 0x5f, 0x47, 0x23, 0xa5, 0x7b, 0x75, 0x3a, 0xcf, 0x94, + 0xb4, 0x25, 0x57, 0x39, 0x15, 0x86, 0x4f, 0x82, 0xd0, 0xc6, 0x76, 0x8b, 0x34, 0x74, 0x47, 0x9a, + 0x3c, 0x44, 0x7a, 0x5c, 0x41, 0xe3, 0xd2, 0xfd, 0x82, 0xab, 0x9c, 0x06, 0x0e, 0x2c, 0xbb, 0x0c, + 0x60, 0x1a, 0x3c, 0xc1, 0x91, 0x14, 0xbf, 0x59, 0x2e, 0x44, 0xb5, 0x86, 0x2e, 0xd1, 0xad, 0x96, + 0xbd, 0xa9, 0x11, 0xd3, 0x75, 0xbb, 0x04, 0x9c, 0x89, 0xf3, 0x4c, 0x6b, 0x0c, 0x8e, 0x6a, 0x38, + 0x0c, 0x27, 0x45, 0xd7, 0x96, 0x8b, 0xe1, 0xf7, 0x10, 0x86, 0xe0, 0x35, 0xc4, 0xf0, 0xb7, 0x9b, + 0xd5, 0xb2, 0xab, 0x9c, 0x85, 0x37, 0xc1, 0x38, 0xfa, 0x32, 0xbf, 0x5a, 0x9e, 0xb9, 0xc4, 0xa7, + 0x8f, 0x8b, 0x3a, 0x2b, 0xd5, 0x08, 0x92, 0x0b, 0x99, 0x86, 0xd8, 0xe2, 0x04, 0xae, 0x78, 0x13, + 0x9d, 0xab, 0x39, 0xe4, 0x81, 0x69, 0x77, 0x5d, 0x7f, 0xf9, 0xf0, 0xe7, 0xad, 0x73, 0xbb, 0xce, + 0x5b, 0x4f, 0xf3, 0x8a, 0xcf, 0x74, 0x1c, 0xf2, 0xa0, 0xe1, 0xbf, 0x04, 0x95, 0x9e, 0x72, 0xf5, + 0xe2, 0x4e, 0xc5, 0x55, 0x7a, 0xbf, 0xeb, 0x10, 0x0e, 0x37, 0x89, 0xab, 0x28, 0xe1, 0x54, 0xab, + 0x53, 0x94, 0xcf, 0xd1, 0x94, 0x54, 0x37, 0x5a, 0x0c, 0x6b, 0x08, 0xdf, 0x9a, 0xf5, 0x8f, 0x1e, + 0x4a, 0xcd, 0xa6, 0xdd, 0xb5, 0x3c, 0x57, 0x79, 0x02, 0x98, 0xa9, 0x54, 0x2c, 0x6b, 0xcd, 0xe0, + 0x55, 0x78, 0x43, 0xe7, 0x78, 0x51, 0x2c, 0xf1, 0xd2, 0x78, 0x01, 0x15, 0x6a, 0x8e, 0xf9, 0x40, + 0xf7, 0xc8, 0x6d, 0xb2, 0x55, 0xb3, 0x5b, 0x66, 0x73, 0x0b, 0x7c, 0x9a, 0xf9, 0x54, 0xd9, 0x61, + 0xb8, 0xc6, 0x06, 0xd9, 0x6a, 0x74, 0x00, 0x2b, 0x2e, 0x2b, 0xd1, 0x92, 0xe2, 0x1b, 0xcf, 0x27, + 0xf7, 0xf4, 0xc6, 0x53, 0xfd, 0x6a, 0x46, 0x9c, 0xd3, 0xf0, 0x79, 0x94, 0x15, 0x62, 0xe9, 0xc0, + 0x3b, 0x32, 0x78, 0xe9, 0x9c, 0xe5, 0x0f, 0x42, 0x87, 0xb9, 0x3d, 0x10, 0xc4, 0xce, 0x81, 0x40, + 0x83, 0xfe, 0x93, 0x6a, 0xd3, 0xd0, 0x42, 0x02, 0x08, 0xf2, 0x16, 0x66, 0x0a, 0xc9, 0x08, 0x41, + 0xde, 0xc2, 0x4c, 0x21, 0x52, 0x9e, 0x90, 0xeb, 0x68, 0x84, 0xcf, 0x67, 0xc2, 0xeb, 0x47, 0x78, + 0x16, 0xed, 0x07, 0x0b, 0x67, 0xaf, 0xae, 0x05, 0x22, 0xfc, 0x2a, 0x84, 0xcb, 0xe7, 0x43, 0x8c, + 0x5b, 0x2f, 0x30, 0xfd, 0x8a, 0x23, 0x32, 0x12, 0x2f, 0x9f, 0x53, 0xd3, 0xc9, 0x48, 0xec, 0x62, + 0x3f, 0xac, 0x25, 0x4c, 0x46, 0x92, 0x5e, 0x6c, 0x49, 0xb9, 0x9e, 0xc4, 0x22, 0x78, 0x19, 0x4d, + 0xc6, 0x7a, 0x95, 0xbf, 0x95, 0x84, 0x20, 0xa7, 0x09, 0x2a, 0x21, 0x2e, 0x76, 0xb1, 0xb2, 0xea, + 0x77, 0xa7, 0x63, 0x53, 0x39, 0x15, 0x0c, 0xa7, 0x12, 0x3a, 0x07, 0x04, 0xe3, 0xb3, 0x66, 0x82, + 0x11, 0x88, 0xf0, 0x65, 0x94, 0x8f, 0x44, 0xcc, 0x87, 0x57, 0xd4, 0x41, 0xb8, 0xfc, 0x00, 0x8b, + 0xaf, 0xa3, 0x3c, 0x9d, 0x58, 0xad, 0xc8, 0xcb, 0xe0, 0x2e, 0x87, 0x89, 0x33, 0xa1, 0x4f, 0x47, + 0xcb, 0x48, 0x31, 0x9d, 0xfc, 0xc0, 0xe6, 0xf1, 0x65, 0x24, 0x8c, 0x58, 0x17, 0x18, 0x71, 0x83, + 0xbb, 0x19, 0x71, 0xea, 0xff, 0xca, 0xf6, 0xbd, 0xd4, 0x3d, 0x92, 0x18, 0x13, 0xaf, 0x50, 0x2b, + 0x9e, 0xd6, 0x5e, 0x72, 0x63, 0xb6, 0x28, 0xbb, 0xb3, 0x6a, 0xe8, 0x4c, 0xe5, 0x5c, 0x4d, 0xa6, + 0x14, 0xd3, 0xb3, 0xc1, 0x8b, 0xd0, 0x6c, 0x42, 0x7a, 0xb6, 0x68, 0x4c, 0x77, 0xb1, 0x00, 0x7e, + 0x11, 0x0d, 0x87, 0x89, 0xe6, 0x06, 0x85, 0x57, 0xc1, 0x09, 0xf9, 0xe5, 0x42, 0x4a, 0xfc, 0x05, + 0x94, 0x93, 0x92, 0x0a, 0x5c, 0xdb, 0xc3, 0x2d, 0xf8, 0xb4, 0x18, 0xe3, 0x81, 0x59, 0xc4, 0xd1, + 0x84, 0x02, 0x9c, 0x29, 0x5e, 0x41, 0xa7, 0x6a, 0x0e, 0x31, 0xc0, 0xdf, 0xa2, 0xf2, 0xb0, 0xe3, + 0xf0, 0x08, 0x1c, 0x4c, 0xfb, 0x61, 0x42, 0xec, 0xf8, 0x68, 0x3a, 0x55, 0x73, 0xbc, 0xc0, 0x28, + 0xa9, 0x38, 0x5d, 0x25, 0x59, 0x4b, 0x6e, 0x93, 0xad, 0x4d, 0xdb, 0x31, 0x58, 0x90, 0x0a, 0xbe, + 0x4a, 0x72, 0x41, 0x6f, 0x70, 0x94, 0xb8, 0x4a, 0xca, 0x85, 0xa6, 0x5e, 0x41, 0x23, 0x07, 0x8d, + 0x93, 0xf0, 0xb3, 0xe9, 0x1e, 0xee, 0x51, 0x8f, 0x6f, 0xb4, 0xc9, 0x20, 0xf2, 0xef, 0x60, 0x8f, + 0xc8, 0xbf, 0x7f, 0x9c, 0xee, 0xe1, 0xfb, 0xf5, 0x58, 0x47, 0xe8, 0x0c, 0x84, 0x21, 0x47, 0xe8, + 0x0c, 0x83, 0xa3, 0x9a, 0x86, 0x26, 0x12, 0x45, 0x62, 0xf9, 0xe6, 0x76, 0x8d, 0xe5, 0xfb, 0x13, + 0x99, 0x7e, 0xbe, 0x71, 0x27, 0xb2, 0xdf, 0x8f, 0xec, 0xaf, 0xa3, 0x91, 0x40, 0xb2, 0x3c, 0x33, + 0xd3, 0x58, 0x10, 0x95, 0x85, 0x81, 0xa1, 0x8c, 0x40, 0x84, 0xaf, 0xb0, 0xb6, 0xd6, 0xcd, 0xf7, + 0x59, 0x84, 0x84, 0x31, 0xfe, 0x8a, 0x5e, 0xf7, 0xf4, 0x86, 0x6b, 0xbe, 0x4f, 0xb4, 0x00, 0xad, + 0xfe, 0x8b, 0x74, 0xa2, 0x83, 0xe1, 0x49, 0x1f, 0xed, 0xa3, 0x8f, 0x12, 0x84, 0xc8, 0x5c, 0x23, + 0x4f, 0x84, 0xb8, 0x0f, 0x21, 0xfe, 0x51, 0x3a, 0xd1, 0x91, 0xf4, 0x44, 0x88, 0xfb, 0x99, 0x2d, + 0xae, 0xa2, 0x61, 0xcd, 0xde, 0x74, 0x67, 0xc1, 0xe0, 0x67, 0x73, 0x05, 0x4c, 0xd4, 0x8e, 0xbd, + 0xe9, 0x36, 0xc0, 0x94, 0xd7, 0x42, 0x02, 0xf5, 0x5b, 0xe9, 0x3e, 0xae, 0xb6, 0x27, 0x82, 0xff, + 0x76, 0x2e, 0x91, 0x3f, 0x9f, 0x96, 0x5c, 0x79, 0x1f, 0xeb, 0x50, 0xf7, 0xf5, 0xe6, 0x3a, 0x69, + 0xeb, 0xd1, 0x50, 0xf7, 0x2e, 0x40, 0x79, 0xa4, 0xdc, 0x90, 0x44, 0xfd, 0xc5, 0x74, 0xc4, 0x97, + 0xf9, 0x44, 0x76, 0x7b, 0x96, 0x5d, 0xa0, 0x75, 0xdc, 0x3d, 0xfb, 0x44, 0x72, 0x7b, 0x95, 0xdc, + 0x0f, 0xa4, 0x23, 0x9e, 0xec, 0x8f, 0x6f, 0xd4, 0xeb, 0x5f, 0x4c, 0xc7, 0xbd, 0xf2, 0x1f, 0x5f, + 0x4d, 0xba, 0x8a, 0x86, 0xb9, 0x1c, 0x82, 0xa5, 0x82, 0xcd, 0xfb, 0x0c, 0x08, 0xa7, 0x8f, 0x01, + 0x81, 0xfa, 0xbd, 0x69, 0x24, 0xbf, 0x30, 0x78, 0x4c, 0x75, 0xe8, 0xe7, 0xd3, 0xf2, 0xdb, 0x8a, + 0xc7, 0x57, 0x7f, 0xa6, 0x11, 0xaa, 0x77, 0x57, 0x9b, 0x3c, 0x34, 0xcf, 0xa0, 0x70, 0x7c, 0x1d, + 0x40, 0x35, 0x81, 0x42, 0xfd, 0x3f, 0xe9, 0xc4, 0x07, 0x1f, 0x8f, 0xaf, 0x00, 0x6f, 0xc0, 0x91, + 0x72, 0xd3, 0x0a, 0x27, 0x72, 0x38, 0x84, 0xa4, 0xe3, 0x2f, 0x16, 0x9a, 0xd0, 0x27, 0xc4, 0x9f, + 0x4a, 0x30, 0xd7, 0x20, 0x8a, 0x60, 0x62, 0xd6, 0x2f, 0xd1, 0x70, 0xfb, 0xd7, 0xe9, 0xdd, 0xde, + 0xc7, 0x3c, 0xce, 0xab, 0xea, 0x50, 0x4d, 0xdf, 0x82, 0x38, 0x0e, 0xb4, 0x27, 0x46, 0x59, 0x08, + 0xbe, 0x0e, 0x03, 0x89, 0xf7, 0x3c, 0x9c, 0x4a, 0xfd, 0xc3, 0xc1, 0xe4, 0xc7, 0x19, 0x8f, 0xaf, + 0x08, 0xfd, 0xac, 0xd4, 0x83, 0xbb, 0x66, 0xa5, 0xce, 0xed, 0x35, 0x2b, 0xf5, 0x50, 0xcf, 0xac, + 0xd4, 0xe7, 0x51, 0x76, 0xc6, 0x36, 0xb6, 0xc0, 0x45, 0x63, 0x94, 0x55, 0xb6, 0x6a, 0x1b, 0x5b, + 0x1a, 0x40, 0xf1, 0x97, 0x53, 0x68, 0x68, 0x9e, 0xe8, 0x06, 0x1d, 0x21, 0xc3, 0xfd, 0x3c, 0x1c, + 0x3e, 0xfb, 0x68, 0x3c, 0x1c, 0x26, 0xd7, 0x59, 0x65, 0xa2, 0xa2, 0xf0, 0xfa, 0xf1, 0x2d, 0x94, + 0x9f, 0xd5, 0x3d, 0xb2, 0x66, 0x3b, 0x5b, 0xe0, 0xb3, 0x31, 0x1e, 0xba, 0x08, 0x4a, 0xfa, 0xe3, + 0x13, 0xb1, 0x6b, 0xa5, 0x26, 0xff, 0xa5, 0x05, 0x85, 0xa9, 0x58, 0x78, 0xc8, 0xf9, 0x91, 0x50, + 0x2c, 0x72, 0x6c, 0xf9, 0xf0, 0x58, 0x79, 0x34, 0xf9, 0x58, 0x39, 0x92, 0x6b, 0x7c, 0x6c, 0xd7, + 0x5c, 0xe3, 0xea, 0x37, 0x07, 0x51, 0xa2, 0x2b, 0xf7, 0x89, 0x92, 0x9f, 0x28, 0x79, 0xa8, 0xe4, + 0xe5, 0x98, 0x92, 0x4f, 0xc5, 0x1f, 0x07, 0x7c, 0x48, 0x35, 0xfc, 0x47, 0xb2, 0xb1, 0xa7, 0x45, + 0x8f, 0xf7, 0xee, 0x32, 0x94, 0xde, 0xe0, 0xae, 0xd2, 0x0b, 0x06, 0x44, 0x6e, 0xd7, 0x01, 0x31, + 0xb4, 0xd7, 0x01, 0x91, 0xef, 0x39, 0x20, 0x42, 0x05, 0x19, 0xee, 0xa9, 0x20, 0x55, 0x3e, 0x68, + 0x50, 0xff, 0x30, 0xc9, 0xe7, 0x77, 0xb6, 0x8b, 0xe3, 0x74, 0x34, 0x25, 0x06, 0x48, 0x06, 0x16, + 0xea, 0x37, 0xb2, 0x7d, 0xde, 0x03, 0x1e, 0x89, 0x8e, 0xdc, 0x40, 0x99, 0x52, 0xa7, 0xc3, 0xf5, + 0xe3, 0x94, 0xf0, 0x14, 0xb1, 0x47, 0x29, 0x4a, 0x8d, 0x5f, 0x45, 0x99, 0xd2, 0xbd, 0x7a, 0x34, + 0xaa, 0x29, 0x64, 0x84, 0x87, 0x2f, 0xe9, 0x59, 0xf6, 0x5e, 0x1d, 0xbf, 0x16, 0x86, 0x17, 0x59, + 0xef, 0x5a, 0x1b, 0x7c, 0xa3, 0xc8, 0x5d, 0x3b, 0x7d, 0x37, 0x95, 0x26, 0x45, 0xd1, 0xed, 0x62, + 0x84, 0x36, 0xa2, 0x4d, 0xb9, 0xbd, 0x6b, 0xd3, 0xd0, 0xae, 0xda, 0x94, 0xdf, 0xab, 0x36, 0x0d, + 0xef, 0x41, 0x9b, 0xd0, 0xae, 0xda, 0x34, 0x72, 0x78, 0x6d, 0xea, 0xa0, 0xa9, 0xf8, 0x1b, 0xee, + 0x40, 0x23, 0x34, 0x84, 0xe3, 0x58, 0xee, 0x99, 0x02, 0x57, 0xff, 0x5d, 0x86, 0x6d, 0xb0, 0x64, + 0x14, 0xd1, 0x54, 0x0e, 0x5a, 0x42, 0x69, 0xf5, 0x67, 0xd3, 0xbd, 0x9f, 0x9e, 0x1f, 0xcf, 0x29, + 0xee, 0x3b, 0x13, 0xa5, 0x94, 0x95, 0x9f, 0x02, 0xf4, 0x96, 0x72, 0x84, 0x6d, 0x92, 0xcc, 0xbe, + 0x9e, 0xea, 0xf5, 0x1e, 0xfe, 0x50, 0x12, 0xfb, 0x78, 0xdc, 0xd3, 0x0b, 0x7c, 0xc2, 0x5d, 0xd9, + 0xc5, 0x2b, 0x9a, 0x19, 0x21, 0x73, 0xc0, 0xcc, 0x08, 0xff, 0x3c, 0x85, 0x4e, 0xdd, 0xee, 0xae, + 0x12, 0xee, 0xd9, 0x15, 0x34, 0xe3, 0x3d, 0x84, 0x28, 0x98, 0x3b, 0xb1, 0xa4, 0xc0, 0x89, 0xe5, + 0x13, 0xe2, 0x5b, 0xf6, 0x48, 0x81, 0xe9, 0x90, 0x9a, 0x39, 0xb0, 0x5c, 0xf0, 0x1d, 0x07, 0x37, + 0xba, 0xab, 0xa4, 0x11, 0xf3, 0x64, 0x11, 0xb8, 0x4f, 0xbd, 0xce, 0x5c, 0xb2, 0x0f, 0xea, 0x34, + 0xf2, 0xd3, 0xe9, 0x9e, 0xe1, 0x03, 0x8e, 0x6d, 0xb2, 0xff, 0xcf, 0x27, 0xf6, 0x0a, 0xd7, 0xdf, + 0x27, 0xfb, 0xf4, 0x43, 0x84, 0x63, 0x12, 0x97, 0x64, 0x81, 0x1d, 0xe1, 0x60, 0xff, 0xd0, 0x0b, + 0xec, 0xb7, 0x53, 0x3d, 0xc3, 0x3c, 0x1c, 0x57, 0x81, 0xa9, 0xbf, 0x9a, 0xf6, 0xa3, 0x4b, 0x1c, + 0xea, 0x13, 0xae, 0xa2, 0x61, 0x1e, 0x42, 0x5b, 0x76, 0x4c, 0xe5, 0x47, 0x79, 0x70, 0x34, 0x1c, + 0x10, 0xd0, 0x65, 0xde, 0x7f, 0xfd, 0x1e, 0x64, 0xe5, 0x80, 0x65, 0xde, 0xe4, 0x50, 0x4a, 0x2f, + 0x90, 0xd0, 0x85, 0xbc, 0xf2, 0xd0, 0xf4, 0xc0, 0x2a, 0xa0, 0x7d, 0x99, 0x61, 0x0b, 0x39, 0x79, + 0x68, 0x7a, 0xcc, 0x26, 0x08, 0xd0, 0x74, 0x91, 0x16, 0x72, 0xc0, 0xf2, 0x45, 0xda, 0xe5, 0xb1, + 0xfc, 0xf9, 0x13, 0xa5, 0xab, 0x68, 0x98, 0x7b, 0x7b, 0x72, 0x37, 0x13, 0xde, 0x5a, 0xee, 0x1f, + 0x0a, 0xad, 0x0d, 0x08, 0x28, 0x47, 0x8d, 0xac, 0x85, 0x8e, 0x75, 0xc0, 0xd1, 0x01, 0x88, 0xc6, + 0x31, 0xea, 0x4e, 0x3a, 0x1e, 0xe4, 0xe2, 0xf1, 0xdd, 0x14, 0x5c, 0x91, 0x9d, 0xd5, 0xc0, 0x43, + 0x13, 0x0c, 0x2e, 0xd1, 0xd1, 0x94, 0xd9, 0x5d, 0xd7, 0x51, 0xfe, 0x36, 0xd9, 0x62, 0x7e, 0x95, + 0xb9, 0xd0, 0x8f, 0x75, 0x83, 0xc3, 0xc4, 0x13, 0x4d, 0x9f, 0x4e, 0xfd, 0xe5, 0x74, 0x3c, 0x7c, + 0xc7, 0xe3, 0x2b, 0xec, 0x4f, 0xa2, 0x21, 0x10, 0x65, 0xd5, 0x3f, 0x52, 0x07, 0x01, 0x82, 0xb8, + 0xe5, 0xdc, 0x1c, 0x3e, 0x99, 0xfa, 0xe3, 0xb9, 0x68, 0x4c, 0x97, 0xc7, 0x57, 0x7a, 0x9f, 0x46, + 0x23, 0xb3, 0xb6, 0xe5, 0x9a, 0xae, 0x47, 0xac, 0xa6, 0xaf, 0xb0, 0x4f, 0x50, 0x83, 0xa5, 0x19, + 0x82, 0xc5, 0xf7, 0x24, 0x02, 0xf5, 0x41, 0x94, 0x17, 0xbf, 0x84, 0x86, 0x41, 0xe4, 0xe0, 0x87, + 0x2c, 0xe4, 0xf4, 0x59, 0xa5, 0xc0, 0xa8, 0x13, 0x72, 0x48, 0x8a, 0xef, 0xa0, 0xfc, 0xec, 0xba, + 0xd9, 0x32, 0x1c, 0x62, 0xf1, 0xa4, 0x71, 0x4f, 0x27, 0x47, 0xe0, 0x99, 0x86, 0x7f, 0x81, 0x96, + 0x35, 0xa7, 0xc9, 0x8b, 0x49, 0x2f, 0x6a, 0x38, 0x6c, 0xea, 0xaf, 0xa5, 0x11, 0x0a, 0x0b, 0xe0, + 0xa7, 0x50, 0xda, 0x7f, 0xb6, 0xc9, 0xdc, 0x40, 0x24, 0x0d, 0x4a, 0xc3, 0x54, 0xcc, 0xc7, 0x76, + 0x7a, 0xd7, 0xb1, 0x7d, 0x07, 0xe5, 0xd8, 0x89, 0x12, 0x78, 0x6a, 0x0b, 0x61, 0x26, 0x7a, 0x36, + 0x78, 0x1a, 0xe8, 0xd9, 0x66, 0x11, 0x2c, 0x3b, 0xc9, 0xeb, 0x99, 0x31, 0x9b, 0x6a, 0xa2, 0x41, + 0xf8, 0x0b, 0x5f, 0x42, 0x59, 0x90, 0x62, 0x0a, 0xf6, 0x89, 0xf0, 0xf8, 0x31, 0x22, 0x3f, 0xc0, + 0xd3, 0x6e, 0x9a, 0xb5, 0x2d, 0x8f, 0x56, 0x0d, 0xad, 0x1e, 0xe5, 0x72, 0xe1, 0x30, 0x49, 0x2e, + 0x1c, 0xa6, 0xfe, 0xab, 0x74, 0x42, 0xb4, 0xa1, 0xc7, 0x77, 0x98, 0xbc, 0x82, 0x10, 0x3c, 0xcf, + 0xa5, 0xf2, 0xf4, 0xdf, 0x0f, 0xc0, 0x28, 0x01, 0x46, 0xa0, 0xb6, 0x92, 0x59, 0x1f, 0x12, 0xab, + 0xbf, 0x96, 0x8a, 0x85, 0xa8, 0x39, 0xb6, 0x39, 0x4c, 0xa5, 0x6f, 0x39, 0xe6, 0xf9, 0x58, 0xbf, + 0x99, 0x4e, 0x0a, 0xd8, 0x73, 0x3c, 0x55, 0x3c, 0x4c, 0x0c, 0x97, 0xdd, 0x47, 0x62, 0xb8, 0x77, + 0xd1, 0x44, 0x24, 0x8c, 0x0d, 0xcf, 0xc0, 0x73, 0xa9, 0x7f, 0x3c, 0x9c, 0xde, 0x0f, 0xbb, 0x25, + 0x32, 0xf5, 0xff, 0xa6, 0xfa, 0x07, 0x31, 0x3a, 0x72, 0xd5, 0x49, 0x10, 0x40, 0xe6, 0x4f, 0x47, + 0x00, 0x8f, 0x60, 0x9b, 0x79, 0xbc, 0x05, 0xf0, 0x21, 0x99, 0x3c, 0xbe, 0xdd, 0x02, 0xf8, 0xf1, + 0xd4, 0xae, 0x31, 0xa8, 0x8e, 0x5a, 0x06, 0xea, 0x7f, 0x48, 0x25, 0xc6, 0x8a, 0x3a, 0x54, 0xbb, + 0x5e, 0x43, 0x39, 0xe6, 0xb6, 0xc2, 0x5b, 0x25, 0x44, 0xd7, 0xa6, 0xd0, 0x5e, 0x29, 0xee, 0x19, + 0x16, 0x2f, 0xa0, 0x21, 0xd6, 0x06, 0x83, 0xf7, 0xc6, 0xc7, 0xfa, 0x04, 0xac, 0x32, 0x7a, 0x4d, + 0x8e, 0x1c, 0xad, 0xfe, 0x4a, 0x2a, 0x16, 0xba, 0xea, 0x08, 0xbf, 0xed, 0x60, 0x09, 0xaf, 0x7f, + 0x3f, 0x9d, 0x1c, 0x39, 0xeb, 0x08, 0x3f, 0xe4, 0x51, 0x1c, 0x57, 0x1d, 0x6c, 0xdd, 0x5a, 0x41, + 0xe3, 0xb2, 0x2c, 0xf8, 0xb2, 0x75, 0x31, 0x39, 0x7e, 0x58, 0x8f, 0x56, 0x44, 0x78, 0xa8, 0x1f, + 0xa4, 0xe2, 0x41, 0xbf, 0x8e, 0x7c, 0x7e, 0x3a, 0x98, 0xb6, 0xc8, 0x9f, 0xf2, 0x21, 0x59, 0x6b, + 0x1e, 0xc5, 0xa7, 0x7c, 0x48, 0x56, 0x8d, 0x83, 0x7d, 0xca, 0x4f, 0xa6, 0x7b, 0xc5, 0x4c, 0x3b, + 0xf2, 0x0f, 0xfa, 0x9c, 0x28, 0x64, 0xd6, 0x32, 0xfe, 0x69, 0x4f, 0xf5, 0x0a, 0x52, 0xd6, 0x83, + 0x67, 0x8c, 0xcf, 0xc1, 0xc6, 0x78, 0xa2, 0xb0, 0x3e, 0x24, 0x8a, 0x7c, 0x3c, 0x84, 0xf5, 0x21, + 0x19, 0x2a, 0x1f, 0x3e, 0x61, 0xfd, 0x93, 0xf4, 0x5e, 0x03, 0xf5, 0x9d, 0x08, 0x2f, 0x26, 0xbc, + 0xaf, 0xa5, 0xe3, 0x01, 0x24, 0x8f, 0x5c, 0x4c, 0x73, 0x28, 0xc7, 0x43, 0x59, 0xf6, 0x14, 0x0e, + 0xc3, 0xf7, 0xb2, 0x68, 0xf8, 0x77, 0x84, 0xf9, 0x7f, 0xb3, 0x7b, 0xcf, 0xff, 0xab, 0x7e, 0x2b, + 0x15, 0x89, 0xb6, 0x78, 0x24, 0x47, 0x08, 0x07, 0x5a, 0x92, 0xf0, 0xeb, 0xfe, 0x61, 0x66, 0x36, + 0x92, 0xc8, 0x2e, 0xf8, 0x9e, 0x32, 0xf1, 0x74, 0xb3, 0x15, 0x2d, 0xcf, 0xdf, 0xdc, 0xff, 0x72, + 0x1a, 0x4d, 0xc6, 0x48, 0xf1, 0x25, 0x29, 0x84, 0x0b, 0x1c, 0x4b, 0x46, 0x9c, 0xb3, 0x59, 0x30, + 0x97, 0x7d, 0x9c, 0xa4, 0x5e, 0x42, 0xd9, 0xb2, 0xbe, 0xc5, 0xbe, 0x6d, 0x90, 0xb1, 0x34, 0xf4, + 0x2d, 0xf1, 0xc4, 0x0d, 0xf0, 0x78, 0x15, 0x9d, 0x61, 0xf7, 0x21, 0xa6, 0x6d, 0xad, 0x98, 0x6d, + 0x52, 0xb5, 0x16, 0xcd, 0x56, 0xcb, 0x74, 0xf9, 0xa5, 0xd9, 0xd5, 0x9d, 0xed, 0xe2, 0x65, 0xcf, + 0xf6, 0xf4, 0x56, 0x83, 0xf8, 0x64, 0x0d, 0xcf, 0x6c, 0x93, 0x86, 0x69, 0x35, 0xda, 0x40, 0x29, + 0xb0, 0x4c, 0x66, 0x85, 0xab, 0x2c, 0xd3, 0x5e, 0xbd, 0xa9, 0x5b, 0x16, 0x31, 0xaa, 0xd6, 0xcc, + 0x96, 0x47, 0xd8, 0x65, 0x5b, 0x86, 0x1d, 0x09, 0xb2, 0xb7, 0xd7, 0x0c, 0x4d, 0x19, 0xaf, 0x52, + 0x02, 0x2d, 0xa1, 0x90, 0xfa, 0x4b, 0xd9, 0x84, 0x40, 0x9b, 0xc7, 0x48, 0x7d, 0xfc, 0x9e, 0xce, + 0xee, 0xd2, 0xd3, 0xd7, 0xd0, 0xd0, 0x5d, 0xe2, 0xc0, 0xf9, 0x16, 0xbb, 0x60, 0x00, 0x67, 0xf1, + 0x07, 0x0c, 0x24, 0xde, 0xd0, 0x70, 0x2a, 0xdc, 0x42, 0x53, 0x2b, 0xb4, 0x9b, 0x92, 0x3b, 0x33, + 0x77, 0x80, 0xce, 0xec, 0xc3, 0x0f, 0xbf, 0x83, 0xce, 0x01, 0x36, 0xa1, 0x5b, 0x87, 0xa0, 0x2a, + 0x08, 0x55, 0xc6, 0xaa, 0x4a, 0xee, 0xdc, 0x5e, 0xe5, 0xf1, 0xe7, 0xd0, 0x68, 0x30, 0x40, 0x4c, + 0xe2, 0xf2, 0x9b, 0x8b, 0x3e, 0xe3, 0x8c, 0x05, 0xf3, 0xa2, 0x60, 0x70, 0xd1, 0x92, 0x03, 0x42, + 0x49, 0xbc, 0xd4, 0x7f, 0x9f, 0xea, 0x17, 0xf0, 0xf3, 0xc8, 0x67, 0xe5, 0xd7, 0xd1, 0x90, 0xc1, + 0x3e, 0x8a, 0xeb, 0x54, 0xff, 0x90, 0xa0, 0x8c, 0x54, 0xf3, 0xcb, 0xa8, 0xbf, 0x97, 0xea, 0x1b, + 0x67, 0xf4, 0xb8, 0x7f, 0xde, 0xd7, 0x32, 0x3d, 0x3e, 0x8f, 0x4f, 0xa2, 0x57, 0x50, 0xc1, 0xb4, + 0x3c, 0xb2, 0xc6, 0x52, 0x08, 0x35, 0xc2, 0xd8, 0x48, 0xda, 0x84, 0x00, 0x87, 0xd1, 0x75, 0x13, + 0x9d, 0xf5, 0x1d, 0x0b, 0x1d, 0xdf, 0x03, 0xcb, 0x6d, 0x74, 0x1d, 0x93, 0x8d, 0x4b, 0xed, 0xb4, + 0x1b, 0x71, 0xcf, 0x72, 0xef, 0x38, 0x26, 0xad, 0x40, 0xf7, 0xd6, 0x89, 0xa5, 0x37, 0x36, 0x6d, + 0x67, 0x03, 0x22, 0x46, 0xb2, 0xc1, 0xa9, 0x4d, 0x30, 0xf8, 0x3d, 0x1f, 0x8c, 0x9f, 0x41, 0x63, + 0x6b, 0xad, 0x2e, 0x09, 0x62, 0xf4, 0xb1, 0xbb, 0x3e, 0x6d, 0x94, 0x02, 0x83, 0x1b, 0x92, 0x0b, + 0x08, 0x01, 0x91, 0x07, 0x51, 0x60, 0xe1, 0x62, 0x4f, 0x1b, 0xa6, 0x90, 0x15, 0xde, 0x5d, 0x53, + 0x4c, 0xab, 0x99, 0x90, 0x1a, 0x2d, 0xdb, 0x5a, 0x6b, 0x78, 0xc4, 0x69, 0x43, 0x43, 0xc1, 0x39, + 0x51, 0x3b, 0x0b, 0x14, 0x70, 0x75, 0xe2, 0x2e, 0xd8, 0xd6, 0xda, 0x0a, 0x71, 0xda, 0xb4, 0xa9, + 0x57, 0x11, 0xe6, 0x4d, 0x75, 0xe0, 0xd0, 0x83, 0x7d, 0x1c, 0xf8, 0x29, 0x6a, 0xfc, 0x23, 0xd8, + 0x69, 0x08, 0x7c, 0x58, 0x11, 0x8d, 0xb0, 0x40, 0x65, 0x4c, 0x68, 0xe0, 0xaa, 0xa8, 0x21, 0x06, + 0x02, 0x79, 0x9d, 0x45, 0xdc, 0x7b, 0x81, 0x79, 0x4d, 0x6b, 0xfc, 0xd7, 0x73, 0x8b, 0x2c, 0x0c, + 0xd5, 0x6d, 0xd3, 0x32, 0xf0, 0x13, 0xe8, 0xcc, 0x9d, 0x7a, 0x45, 0x6b, 0xdc, 0xae, 0x2e, 0x95, + 0x1b, 0x77, 0x96, 0xea, 0xb5, 0xca, 0x6c, 0x75, 0xae, 0x5a, 0x29, 0x17, 0x06, 0xf0, 0x29, 0x34, + 0x11, 0xa2, 0xe6, 0xef, 0x2c, 0x96, 0x96, 0x0a, 0x29, 0x3c, 0x89, 0xc6, 0x42, 0xe0, 0xcc, 0xf2, + 0x4a, 0x21, 0xfd, 0xdc, 0xb3, 0x68, 0x04, 0x3e, 0xa5, 0x04, 0xc9, 0xec, 0xf0, 0x28, 0xca, 0x2f, + 0xcf, 0xd4, 0x2b, 0xda, 0x5d, 0x60, 0x82, 0x50, 0xae, 0x5c, 0x59, 0xa2, 0x0c, 0x53, 0xcf, 0xfd, + 0xcf, 0x14, 0x42, 0xf5, 0xb9, 0x95, 0x1a, 0x27, 0x1c, 0x41, 0x43, 0xd5, 0xa5, 0xbb, 0xa5, 0x85, + 0x2a, 0xa5, 0xcb, 0xa3, 0xec, 0x72, 0xad, 0x42, 0x6b, 0x18, 0x46, 0x83, 0xb3, 0x0b, 0xcb, 0xf5, + 0x4a, 0x21, 0x4d, 0x81, 0x5a, 0xa5, 0x54, 0x2e, 0x64, 0x28, 0xf0, 0x9e, 0x56, 0x5d, 0xa9, 0x14, + 0xb2, 0xf4, 0xcf, 0x85, 0xfa, 0x4a, 0x69, 0xa5, 0x30, 0x48, 0xff, 0x9c, 0x83, 0x3f, 0x73, 0x94, + 0x59, 0xbd, 0xb2, 0x02, 0x3f, 0x86, 0x68, 0x13, 0xe6, 0xfc, 0x5f, 0x79, 0x8a, 0xa2, 0xac, 0xcb, + 0x55, 0xad, 0x30, 0x4c, 0x7f, 0x50, 0x96, 0xf4, 0x07, 0xa2, 0x8d, 0xd3, 0x2a, 0x8b, 0xcb, 0x77, + 0x2b, 0x85, 0x11, 0xca, 0x6b, 0xf1, 0x36, 0x05, 0x8f, 0xd2, 0x3f, 0xb5, 0x45, 0xfa, 0xe7, 0x18, + 0xe5, 0xa4, 0x55, 0x4a, 0x0b, 0xb5, 0xd2, 0xca, 0x7c, 0x61, 0x9c, 0xb6, 0x07, 0x78, 0x4e, 0xb0, + 0x92, 0x4b, 0xa5, 0xc5, 0x4a, 0xa1, 0xc0, 0x69, 0xca, 0x0b, 0xd5, 0xa5, 0xdb, 0x85, 0x49, 0x68, + 0xc8, 0x3b, 0x8b, 0xf0, 0x03, 0xd3, 0x02, 0xf0, 0xd7, 0xa9, 0xe7, 0xbe, 0x03, 0xe5, 0x96, 0xeb, + 0x70, 0x49, 0x79, 0x0e, 0x9d, 0x5a, 0xae, 0x37, 0x56, 0xde, 0xa9, 0x55, 0x22, 0xf2, 0x9e, 0x44, + 0x63, 0x3e, 0x62, 0xa1, 0xba, 0x74, 0xe7, 0xb3, 0x4c, 0xda, 0x3e, 0x68, 0xb1, 0x34, 0xbb, 0x5c, + 0x2f, 0xa4, 0x69, 0xaf, 0xf8, 0xa0, 0x7b, 0xd5, 0xa5, 0xf2, 0xf2, 0xbd, 0x7a, 0x21, 0xf3, 0xdc, + 0x03, 0x3f, 0x80, 0xfe, 0xb2, 0x63, 0xae, 0x99, 0x16, 0xbe, 0x80, 0x9e, 0x28, 0x57, 0xee, 0x56, + 0x67, 0x2b, 0x8d, 0x65, 0xad, 0x7a, 0xab, 0xba, 0x14, 0xa9, 0xe9, 0x0c, 0x9a, 0x94, 0xd1, 0xa5, + 0x5a, 0xb5, 0x90, 0xc2, 0x67, 0x11, 0x96, 0xc1, 0x6f, 0x95, 0x16, 0xe7, 0x0a, 0x69, 0xac, 0xa0, + 0xd3, 0x32, 0xbc, 0xba, 0xb4, 0x72, 0x67, 0xa9, 0x52, 0xc8, 0x3c, 0xf7, 0x77, 0x52, 0xe8, 0x4c, + 0xe2, 0x5b, 0x15, 0xac, 0xa2, 0x8b, 0x95, 0x85, 0x52, 0x7d, 0xa5, 0x3a, 0x5b, 0xaf, 0x94, 0xb4, + 0xd9, 0xf9, 0xc6, 0x6c, 0x69, 0xa5, 0x72, 0x6b, 0x59, 0x7b, 0xa7, 0x71, 0xab, 0xb2, 0x54, 0xd1, + 0x4a, 0x0b, 0x85, 0x01, 0xfc, 0x0c, 0x2a, 0xf6, 0xa0, 0xa9, 0x57, 0x66, 0xef, 0x68, 0xd5, 0x95, + 0x77, 0x0a, 0x29, 0xfc, 0x34, 0xba, 0xd0, 0x93, 0x88, 0xfe, 0x2e, 0xa4, 0xf1, 0x45, 0x34, 0xd5, + 0x8b, 0xe4, 0xed, 0x85, 0x42, 0xe6, 0xb9, 0x1f, 0x4d, 0x21, 0x1c, 0x7f, 0x6c, 0x80, 0x9f, 0x42, + 0xe7, 0xa9, 0x5e, 0x34, 0x7a, 0x37, 0xf0, 0x69, 0x74, 0x21, 0x91, 0x42, 0x68, 0x5e, 0x11, 0x3d, + 0xd9, 0x83, 0x84, 0x37, 0xee, 0x3c, 0x52, 0x92, 0x09, 0x68, 0xd3, 0x66, 0xca, 0x1f, 0xfc, 0xc7, + 0x8b, 0x03, 0x1f, 0xfc, 0xc1, 0xc5, 0xd4, 0x6f, 0xfd, 0xc1, 0xc5, 0xd4, 0xef, 0xff, 0xc1, 0xc5, + 0xd4, 0xe7, 0xae, 0xef, 0xe7, 0x2d, 0x06, 0x9b, 0x63, 0x56, 0x73, 0xe0, 0x75, 0x7c, 0xe3, 0xff, + 0x07, 0x00, 0x00, 0xff, 0xff, 0x79, 0x56, 0x9e, 0x9c, 0xef, 0x26, 0x01, 0x00, } func (m *Metadata) Marshal() (dAtA []byte, err error) { @@ -15678,6 +15708,16 @@ func (m *UserCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 if len(m.Connector) > 0 { i -= len(m.Connector) copy(dAtA[i:], m.Connector) @@ -15751,6 +15791,16 @@ func (m *UserUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 if len(m.Connector) > 0 { i -= len(m.Connector) copy(dAtA[i:], m.Connector) @@ -15824,6 +15874,16 @@ func (m *UserDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -15881,6 +15941,16 @@ func (m *UserPasswordChange) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -15929,12 +15999,12 @@ func (m *AccessRequestCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.AssumeStartTime != nil { - n113, err113 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) - if err113 != nil { - return 0, err113 + n117, err117 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AssumeStartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AssumeStartTime):]) + if err117 != nil { + return 0, err117 } - i -= n113 - i = encodeVarintEvents(dAtA, i, uint64(n113)) + i -= n117 + i = encodeVarintEvents(dAtA, i, uint64(n117)) i-- dAtA[i] = 0x1 i-- @@ -15947,12 +16017,12 @@ func (m *AccessRequestCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x7a } - n114, err114 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) - if err114 != nil { - return 0, err114 + n118, err118 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.MaxDuration, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.MaxDuration):]) + if err118 != nil { + return 0, err118 } - i -= n114 - i = encodeVarintEvents(dAtA, i, uint64(n114)) + i -= n118 + i = encodeVarintEvents(dAtA, i, uint64(n118)) i-- dAtA[i] = 0x6a if len(m.RequestedResourceIDs) > 0 { @@ -16596,62 +16666,62 @@ func (m *SFTPAttributes) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } if m.ModificationTime != nil { - n143, err143 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ModificationTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ModificationTime):]) - if err143 != nil { - return 0, err143 + n147, err147 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.ModificationTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.ModificationTime):]) + if err147 != nil { + return 0, err147 } - i -= n143 - i = encodeVarintEvents(dAtA, i, uint64(n143)) + i -= n147 + i = encodeVarintEvents(dAtA, i, uint64(n147)) i-- dAtA[i] = 0x32 } if m.AccessTime != nil { - n144, err144 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AccessTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AccessTime):]) - if err144 != nil { - return 0, err144 + n148, err148 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.AccessTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.AccessTime):]) + if err148 != nil { + return 0, err148 } - i -= n144 - i = encodeVarintEvents(dAtA, i, uint64(n144)) + i -= n148 + i = encodeVarintEvents(dAtA, i, uint64(n148)) i-- dAtA[i] = 0x2a } if m.Permissions != nil { - n145, err145 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.Permissions, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.Permissions):]) - if err145 != nil { - return 0, err145 + n149, err149 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.Permissions, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.Permissions):]) + if err149 != nil { + return 0, err149 } - i -= n145 - i = encodeVarintEvents(dAtA, i, uint64(n145)) + i -= n149 + i = encodeVarintEvents(dAtA, i, uint64(n149)) i-- dAtA[i] = 0x22 } if m.GID != nil { - n146, err146 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.GID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.GID):]) - if err146 != nil { - return 0, err146 + n150, err150 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.GID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.GID):]) + if err150 != nil { + return 0, err150 } - i -= n146 - i = encodeVarintEvents(dAtA, i, uint64(n146)) + i -= n150 + i = encodeVarintEvents(dAtA, i, uint64(n150)) i-- dAtA[i] = 0x1a } if m.UID != nil { - n147, err147 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.UID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.UID):]) - if err147 != nil { - return 0, err147 + n151, err151 := github_com_gogo_protobuf_types.StdUInt32MarshalTo(*m.UID, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt32(*m.UID):]) + if err151 != nil { + return 0, err151 } - i -= n147 - i = encodeVarintEvents(dAtA, i, uint64(n147)) + i -= n151 + i = encodeVarintEvents(dAtA, i, uint64(n151)) i-- dAtA[i] = 0x12 } if m.FileSize != nil { - n148, err148 := github_com_gogo_protobuf_types.StdUInt64MarshalTo(*m.FileSize, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt64(*m.FileSize):]) - if err148 != nil { - return 0, err148 + n152, err152 := github_com_gogo_protobuf_types.StdUInt64MarshalTo(*m.FileSize, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdUInt64(*m.FileSize):]) + if err152 != nil { + return 0, err152 } - i -= n148 - i = encodeVarintEvents(dAtA, i, uint64(n148)) + i -= n152 + i = encodeVarintEvents(dAtA, i, uint64(n152)) i-- dAtA[i] = 0xa } @@ -17078,6 +17148,16 @@ func (m *RoleCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17135,6 +17215,16 @@ func (m *RoleUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17192,6 +17282,16 @@ func (m *RoleDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17420,6 +17520,16 @@ func (m *TrustedClusterCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17477,6 +17587,16 @@ func (m *TrustedClusterDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17664,6 +17784,16 @@ func (m *GithubConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17722,27 +17852,7 @@ func (m *GithubConnectorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -17750,34 +17860,7 @@ func (m *GithubConnectorUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintEvents(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *GithubConnectorDelete) 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 *GithubConnectorDelete) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *GithubConnectorDelete) 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) - } + dAtA[i] = 0x22 { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -17811,7 +17894,7 @@ func (m *GithubConnectorDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *OIDCConnectorCreate) Marshal() (dAtA []byte, err error) { +func (m *GithubConnectorDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -17821,12 +17904,12 @@ func (m *OIDCConnectorCreate) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OIDCConnectorCreate) MarshalTo(dAtA []byte) (int, error) { +func (m *GithubConnectorDelete) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *OIDCConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *GithubConnectorDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -17836,27 +17919,7 @@ func (m *OIDCConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - { - size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -17864,34 +17927,121 @@ func (m *OIDCConnectorCreate) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintEvents(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *OIDCConnectorUpdate) 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 *OIDCConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *OIDCConnectorUpdate) 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) - } + dAtA[i] = 0x22 + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *OIDCConnectorCreate) 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 *OIDCConnectorCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OIDCConnectorCreate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.ResourceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *OIDCConnectorUpdate) 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 *OIDCConnectorUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *OIDCConnectorUpdate) 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) + } { size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -20159,27 +20309,7 @@ func (m *MFADeviceAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.XXX_unrecognized) } { - size, err := m.MFADeviceMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -20187,34 +20317,7 @@ func (m *MFADeviceAdd) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintEvents(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *MFADeviceDelete) 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 *MFADeviceDelete) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MFADeviceDelete) 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) - } + dAtA[i] = 0x22 { size, err := m.MFADeviceMetadata.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -20248,100 +20351,167 @@ func (m *MFADeviceDelete) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *BillingInformationUpdate) 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 *BillingInformationUpdate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *BillingInformationUpdate) 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) - } - { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *BillingCardCreate) 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 *BillingCardCreate) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *BillingCardCreate) 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) - } - { - size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x12 - { - size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintEvents(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - +func (m *MFADeviceDelete) 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 *MFADeviceDelete) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MFADeviceDelete) 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) + } + { + size, err := m.ConnectionMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + { + size, err := m.MFADeviceMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *BillingInformationUpdate) 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 *BillingInformationUpdate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BillingInformationUpdate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *BillingCardCreate) 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 *BillingCardCreate) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BillingCardCreate) 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) + } + { + size, err := m.UserMetadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + { + size, err := m.Metadata.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintEvents(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *BillingCardDelete) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -20667,20 +20837,20 @@ func (m *WindowsDesktopSessionEnd) MarshalToSizedBuffer(dAtA []byte) (int, error i-- dAtA[i] = 0x5a } - n340, err340 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime):]) - if err340 != nil { - return 0, err340 + n354, err354 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.EndTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.EndTime):]) + if err354 != nil { + return 0, err354 } - i -= n340 - i = encodeVarintEvents(dAtA, i, uint64(n340)) + i -= n354 + i = encodeVarintEvents(dAtA, i, uint64(n354)) i-- dAtA[i] = 0x52 - n341, err341 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):]) - if err341 != nil { - return 0, err341 + n355, err355 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.StartTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.StartTime):]) + if err355 != nil { + return 0, err355 } - i -= n341 - i = encodeVarintEvents(dAtA, i, uint64(n341)) + i -= n355 + i = encodeVarintEvents(dAtA, i, uint64(n355)) i-- dAtA[i] = 0x4a if len(m.DesktopLabels) > 0 { @@ -20970,12 +21140,12 @@ func (m *InstanceJoin) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n352, err352 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.TokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.TokenExpires):]) - if err352 != nil { - return 0, err352 + n366, err366 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.TokenExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.TokenExpires):]) + if err366 != nil { + return 0, err366 } - i -= n352 - i = encodeVarintEvents(dAtA, i, uint64(n352)) + i -= n366 + i = encodeVarintEvents(dAtA, i, uint64(n366)) i-- dAtA[i] = 0x4a if m.Attributes != nil { @@ -24648,12 +24818,12 @@ func (m *StreamStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { i -= len(m.XXX_unrecognized) copy(dAtA[i:], m.XXX_unrecognized) } - n509, err509 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) - if err509 != nil { - return 0, err509 + n523, err523 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.LastUploadTime, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.LastUploadTime):]) + if err523 != nil { + return 0, err523 } - i -= n509 - i = encodeVarintEvents(dAtA, i, uint64(n509)) + i -= n523 + i = encodeVarintEvents(dAtA, i, uint64(n523)) i-- dAtA[i] = 0x1a if m.LastEventIndex != 0 { @@ -24789,12 +24959,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xc2 } } - n512, err512 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) - if err512 != nil { - return 0, err512 + n526, err526 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.PreviousIdentityExpires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.PreviousIdentityExpires):]) + if err526 != nil { + return 0, err526 } - i -= n512 - i = encodeVarintEvents(dAtA, i, uint64(n512)) + i -= n526 + i = encodeVarintEvents(dAtA, i, uint64(n526)) i-- dAtA[i] = 0x1 i-- @@ -24942,12 +25112,12 @@ func (m *Identity) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x4a } - n516, err516 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) - if err516 != nil { - return 0, err516 + n530, err530 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Expires, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.Expires):]) + if err530 != nil { + return 0, err530 } - i -= n516 - i = encodeVarintEvents(dAtA, i, uint64(n516)) + i -= n530 + i = encodeVarintEvents(dAtA, i, uint64(n530)) i-- dAtA[i] = 0x42 if len(m.KubernetesUsers) > 0 { @@ -30621,6 +30791,8 @@ func (m *UserCreate) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -30649,6 +30821,8 @@ func (m *UserUpdate) Size() (n int) { if l > 0 { n += 1 + l + sovEvents(uint64(l)) } + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -30667,6 +30841,8 @@ func (m *UserDelete) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.ResourceMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -30683,6 +30859,8 @@ func (m *UserPasswordChange) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31117,6 +31295,8 @@ func (m *RoleCreate) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31135,6 +31315,8 @@ func (m *RoleUpdate) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31153,6 +31335,8 @@ func (m *RoleDelete) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31225,6 +31409,8 @@ func (m *TrustedClusterCreate) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31243,6 +31429,8 @@ func (m *TrustedClusterDelete) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31307,6 +31495,8 @@ func (m *GithubConnectorCreate) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31325,6 +31515,8 @@ func (m *GithubConnectorUpdate) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -31343,6 +31535,8 @@ func (m *GithubConnectorDelete) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.UserMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -32177,6 +32371,8 @@ func (m *MFADeviceAdd) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.MFADeviceMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -32195,6 +32391,8 @@ func (m *MFADeviceDelete) Size() (n int) { n += 1 + l + sovEvents(uint64(l)) l = m.MFADeviceMetadata.Size() n += 1 + l + sovEvents(uint64(l)) + l = m.ConnectionMetadata.Size() + n += 1 + l + sovEvents(uint64(l)) if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } @@ -45760,6 +45958,39 @@ func (m *UserCreate) Unmarshal(dAtA []byte) error { } m.Connector = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -45974,6 +46205,39 @@ func (m *UserUpdate) Unmarshal(dAtA []byte) error { } m.Connector = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -46124,6 +46388,39 @@ func (m *UserDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -46241,6 +46538,39 @@ func (m *UserPasswordChange) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -49884,6 +50214,39 @@ func (m *RoleCreate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -49997,13 +50360,46 @@ func (m *RoleUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -50030,7 +50426,7 @@ func (m *RoleUpdate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -50184,6 +50580,39 @@ func (m *RoleDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -50784,6 +51213,39 @@ func (m *TrustedClusterCreate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -50934,6 +51396,39 @@ func (m *TrustedClusterDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -51193,10 +51688,160 @@ func (m *TrustedClusterTokenCreate) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TrustedClusterTokenCreate: wiretype end group for non-group") + return fmt.Errorf("proto: TrustedClusterTokenCreate: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TrustedClusterTokenCreate: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + 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 *GithubConnectorCreate) 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 ErrIntOverflowEvents + } + 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: GithubConnectorCreate: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TrustedClusterTokenCreate: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GithubConnectorCreate: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -51298,126 +51943,9 @@ func (m *TrustedClusterTokenCreate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvents(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthEvents - } - 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 *GithubConnectorCreate) 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 ErrIntOverflowEvents - } - 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: GithubConnectorCreate: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GithubConnectorCreate: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Metadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceMetadata", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvents - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvents - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthEvents - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.ResourceMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserMetadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -51444,7 +51972,7 @@ func (m *GithubConnectorCreate) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.UserMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -51598,6 +52126,39 @@ func (m *GithubConnectorUpdate) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -51748,6 +52309,39 @@ func (m *GithubConnectorDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -59018,6 +59612,39 @@ func (m *MFADeviceAdd) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) @@ -59168,6 +59795,39 @@ func (m *MFADeviceDelete) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConnectionMetadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConnectionMetadata.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipEvents(dAtA[iNdEx:]) diff --git a/lib/auth/access.go b/lib/auth/access.go index 93d1d5d05cf85..75756b951b15d 100644 --- a/lib/auth/access.go +++ b/lib/auth/access.go @@ -49,6 +49,7 @@ func (a *Server) CreateRole(ctx context.Context, role types.Role) (types.Role, e ResourceMetadata: apievents.ResourceMetadata{ Name: role.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warnf("Failed to emit role create event.") } @@ -71,6 +72,7 @@ func (a *Server) UpdateRole(ctx context.Context, role types.Role) (types.Role, e ResourceMetadata: apievents.ResourceMetadata{ Name: role.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warnf("Failed to emit role create event.") } @@ -93,6 +95,7 @@ func (a *Server) UpsertRole(ctx context.Context, role types.Role) (types.Role, e ResourceMetadata: apievents.ResourceMetadata{ Name: role.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warnf("Failed to emit role create event.") } @@ -179,6 +182,7 @@ func (a *Server) DeleteRole(ctx context.Context, name string) error { ResourceMetadata: apievents.ResourceMetadata{ Name: name, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warnf("Failed to emit role delete event.") } diff --git a/lib/auth/access_test.go b/lib/auth/access_test.go index ca58c9f0a0b75..05c4b7a032af2 100644 --- a/lib/auth/access_test.go +++ b/lib/auth/access_test.go @@ -20,6 +20,7 @@ package auth import ( "context" + "net" "testing" "time" @@ -30,12 +31,14 @@ import ( "github.com/gravitational/teleport/api/types/accesslist" apievents "github.com/gravitational/teleport/api/types/events" "github.com/gravitational/teleport/api/types/header" + "github.com/gravitational/teleport/lib/authz" "github.com/gravitational/teleport/lib/events" ) func TestUpsertDeleteRoleEventsEmitted(t *testing.T) { t.Parallel() - ctx := context.Background() + clientAddr := &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0)} + ctx := authz.ContextWithClientSrcAddr(context.Background(), clientAddr) p, err := newTestPack(ctx, t.TempDir()) require.NoError(t, err) @@ -50,14 +53,18 @@ func TestUpsertDeleteRoleEventsEmitted(t *testing.T) { role, err = p.a.CreateRole(ctx, role) require.NoError(t, err) require.Equal(t, events.RoleCreatedEvent, p.mockEmitter.LastEvent().GetType()) - require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleCreate).Name, role.GetName()) + createEvt := p.mockEmitter.LastEvent().(*apievents.RoleCreate) + require.Equal(t, role.GetName(), createEvt.Name) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) p.mockEmitter.Reset() // Upserting a role should emit a RoleCreatedEvent. role, err = p.a.UpsertRole(ctx, role) require.NoError(t, err) require.Equal(t, events.RoleCreatedEvent, p.mockEmitter.LastEvent().GetType()) - require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleCreate).Name, role.GetName()) + createEvt = p.mockEmitter.LastEvent().(*apievents.RoleCreate) + require.Equal(t, role.GetName(), createEvt.Name) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) p.mockEmitter.Reset() // Updating a role should emit a RoleUpdatedEvent. @@ -65,14 +72,18 @@ func TestUpsertDeleteRoleEventsEmitted(t *testing.T) { role, err = p.a.UpdateRole(ctx, role) require.NoError(t, err) require.Equal(t, events.RoleUpdatedEvent, p.mockEmitter.LastEvent().GetType()) - require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleUpdate).Name, role.GetName()) + updateEvt := p.mockEmitter.LastEvent().(*apievents.RoleUpdate) + require.Equal(t, role.GetName(), updateEvt.Name) + require.Equal(t, clientAddr.String(), updateEvt.ConnectionMetadata.RemoteAddr) p.mockEmitter.Reset() // Deleting a role should emit a RoleDeletedEvent. err = p.a.DeleteRole(ctx, role.GetName()) require.NoError(t, err) require.Equal(t, events.RoleDeletedEvent, p.mockEmitter.LastEvent().GetType()) - require.Equal(t, p.mockEmitter.LastEvent().(*apievents.RoleDelete).Name, role.GetName()) + deleteEvt := p.mockEmitter.LastEvent().(*apievents.RoleDelete) + require.Equal(t, role.GetName(), deleteEvt.Name) + require.Equal(t, clientAddr.String(), deleteEvt.ConnectionMetadata.RemoteAddr) p.mockEmitter.Reset() // When deleting a nonexistent role, no event should be emitted. diff --git a/lib/auth/auth.go b/lib/auth/auth.go index a11108c6765f5..25ee1e7a09d8f 100644 --- a/lib/auth/auth.go +++ b/lib/auth/auth.go @@ -3317,8 +3317,9 @@ func (a *Server) deleteMFADeviceSafely(ctx context.Context, user, deviceName str Code: events.MFADeviceDeleteEventCode, ClusterName: clusterName.GetClusterName(), }, - UserMetadata: authz.ClientUserMetadataWithUser(ctx, user), - MFADeviceMetadata: mfaDeviceEventMetadata(deviceToDelete), + UserMetadata: authz.ClientUserMetadataWithUser(ctx, user), + MFADeviceMetadata: mfaDeviceEventMetadata(deviceToDelete), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { return nil, trace.Wrap(err) } @@ -3437,8 +3438,9 @@ func (a *Server) verifyMFARespAndAddDevice(ctx context.Context, req *newMFADevic Code: events.MFADeviceAddEventCode, ClusterName: clusterName.GetClusterName(), }, - UserMetadata: authz.ClientUserMetadataWithUser(ctx, req.username), - MFADeviceMetadata: mfaDeviceEventMetadata(dev), + UserMetadata: authz.ClientUserMetadataWithUser(ctx, req.username), + MFADeviceMetadata: mfaDeviceEventMetadata(dev), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit add mfa device event.") } diff --git a/lib/auth/auth_test.go b/lib/auth/auth_test.go index 0acefb2be79cb..74f2d2eee6c1a 100644 --- a/lib/auth/auth_test.go +++ b/lib/auth/auth_test.go @@ -29,6 +29,7 @@ import ( "encoding/pem" "errors" "fmt" + "net" "os" "sort" "strings" @@ -771,7 +772,8 @@ func TestCreateAndUpdateUserEventsEmitted(t *testing.T) { user, err := types.NewUser("some-user") require.NoError(t, err) - ctx := context.Background() + clientAddr := &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0)} + ctx := authz.ContextWithClientSrcAddr(context.Background(), clientAddr) // test create user, happy path user.SetCreatedBy(types.CreatedBy{ @@ -780,7 +782,9 @@ func TestCreateAndUpdateUserEventsEmitted(t *testing.T) { user, err = s.a.CreateUser(ctx, user) require.NoError(t, err) require.Equal(t, events.UserCreateEvent, s.mockEmitter.LastEvent().GetType()) - require.Equal(t, "some-auth-user", s.mockEmitter.LastEvent().(*apievents.UserCreate).User) + createEvt := s.mockEmitter.LastEvent().(*apievents.UserCreate) + require.Equal(t, "some-auth-user", createEvt.User) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test create user with existing user @@ -793,7 +797,10 @@ func TestCreateAndUpdateUserEventsEmitted(t *testing.T) { require.NoError(t, err) _, err = s.a.CreateUser(ctx, user2) require.NoError(t, err) - require.Equal(t, teleport.UserSystem, s.mockEmitter.LastEvent().(*apievents.UserCreate).User) + require.Equal(t, events.UserCreateEvent, s.mockEmitter.LastEvent().GetType()) + createEvt = s.mockEmitter.LastEvent().(*apievents.UserCreate) + require.Equal(t, teleport.UserSystem, createEvt.User) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test update on non-existent user @@ -807,14 +814,17 @@ func TestCreateAndUpdateUserEventsEmitted(t *testing.T) { _, err = s.a.UpdateUser(ctx, user) require.NoError(t, err) require.Equal(t, events.UserUpdatedEvent, s.mockEmitter.LastEvent().GetType()) - require.Equal(t, teleport.UserSystem, s.mockEmitter.LastEvent().(*apievents.UserUpdate).User) + updateEvt := s.mockEmitter.LastEvent().(*apievents.UserUpdate) + require.Equal(t, teleport.UserSystem, updateEvt.User) + require.Equal(t, clientAddr.String(), updateEvt.ConnectionMetadata.RemoteAddr) } func TestTrustedClusterCRUDEventEmitted(t *testing.T) { t.Parallel() s := newAuthSuite(t) - ctx := context.Background() + clientAddr := &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0)} + ctx := authz.ContextWithClientSrcAddr(context.Background(), clientAddr) s.a.emitter = s.mockEmitter // set up existing cluster to bypass switch cases that @@ -842,6 +852,8 @@ func TestTrustedClusterCRUDEventEmitted(t *testing.T) { _, err = s.a.UpsertTrustedCluster(ctx, tc) require.NoError(t, err) require.Equal(t, events.TrustedClusterCreateEvent, s.mockEmitter.LastEvent().GetType()) + createEvt := s.mockEmitter.LastEvent().(*apievents.TrustedClusterCreate) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test create event for switch case: when tc exists but enabled is true @@ -850,19 +862,24 @@ func TestTrustedClusterCRUDEventEmitted(t *testing.T) { _, err = s.a.UpsertTrustedCluster(ctx, tc) require.NoError(t, err) require.Equal(t, events.TrustedClusterCreateEvent, s.mockEmitter.LastEvent().GetType()) + createEvt = s.mockEmitter.LastEvent().(*apievents.TrustedClusterCreate) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test delete event err = s.a.DeleteTrustedCluster(ctx, "test") require.NoError(t, err) require.Equal(t, events.TrustedClusterDeleteEvent, s.mockEmitter.LastEvent().GetType()) + deleteEvt := s.mockEmitter.LastEvent().(*apievents.TrustedClusterDelete) + require.Equal(t, clientAddr.String(), deleteEvt.ConnectionMetadata.RemoteAddr) } func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { t.Parallel() s := newAuthSuite(t) - ctx := context.Background() + clientAddr := &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0)} + ctx := authz.ContextWithClientSrcAddr(context.Background(), clientAddr) github, err := types.NewGithubConnector("test", types.GithubConnectorSpecV3{ TeamsToRoles: []types.TeamRolesMapping{ { @@ -878,6 +895,8 @@ func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { require.NoError(t, err) require.IsType(t, &apievents.GithubConnectorCreate{}, s.mockEmitter.LastEvent()) require.Equal(t, events.GithubConnectorCreatedEvent, s.mockEmitter.LastEvent().GetType()) + createEvt := s.mockEmitter.LastEvent().(*apievents.GithubConnectorCreate) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test github update event @@ -886,6 +905,8 @@ func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { require.NoError(t, err) require.IsType(t, &apievents.GithubConnectorUpdate{}, s.mockEmitter.LastEvent()) require.Equal(t, events.GithubConnectorUpdatedEvent, s.mockEmitter.LastEvent().GetType()) + updateEvt := s.mockEmitter.LastEvent().(*apievents.GithubConnectorUpdate) + require.Equal(t, clientAddr.String(), updateEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test github upsert event @@ -895,6 +916,8 @@ func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { require.NotNil(t, upserted) require.IsType(t, &apievents.GithubConnectorCreate{}, s.mockEmitter.LastEvent()) require.Equal(t, events.GithubConnectorCreatedEvent, s.mockEmitter.LastEvent().GetType()) + createEvt = s.mockEmitter.LastEvent().(*apievents.GithubConnectorCreate) + require.Equal(t, clientAddr.String(), createEvt.ConnectionMetadata.RemoteAddr) s.mockEmitter.Reset() // test github delete event @@ -902,6 +925,8 @@ func TestGithubConnectorCRUDEventsEmitted(t *testing.T) { require.NoError(t, err) require.IsType(t, &apievents.GithubConnectorDelete{}, s.mockEmitter.LastEvent()) require.Equal(t, events.GithubConnectorDeletedEvent, s.mockEmitter.LastEvent().GetType()) + deleteEvt := s.mockEmitter.LastEvent().(*apievents.GithubConnectorDelete) + require.Equal(t, clientAddr.String(), deleteEvt.ConnectionMetadata.RemoteAddr) } func TestOIDCConnectorCRUDEventsEmitted(t *testing.T) { @@ -2275,6 +2300,7 @@ func TestDeleteMFADeviceSync(t *testing.T) { require.IsType(t, &apievents.MFADeviceDelete{}, event, "underlying event type") deleteEvent := event.(*apievents.MFADeviceDelete) // asserted above assert.Equal(t, username, deleteEvent.User, "event.User") + assert.Contains(t, deleteEvent.ConnectionMetadata.RemoteAddr, "127.0.0.1", "client remote addr must be localhost") }) } } @@ -2716,7 +2742,9 @@ func TestAddMFADeviceSync(t *testing.T) { event := mockEmitter.LastEvent() require.Equal(t, events.MFADeviceAddEvent, event.GetType()) require.Equal(t, events.MFADeviceAddEventCode, event.GetCode()) - require.Equal(t, event.(*apievents.MFADeviceAdd).UserMetadata.User, u.username) + addEvt := event.(*apievents.MFADeviceAdd) + require.Equal(t, u.username, addEvt.UserMetadata.User) + assert.Contains(t, addEvt.ConnectionMetadata.RemoteAddr, "127.0.0.1", "client remote addr must be localhost") // Check it's been added. res, err := userClient.GetMFADevices(ctx, &proto.GetMFADevicesRequest{}) diff --git a/lib/auth/github.go b/lib/auth/github.go index a87246826505a..cfdecd9f22717 100644 --- a/lib/auth/github.go +++ b/lib/auth/github.go @@ -169,6 +169,7 @@ func (a *Server) upsertGithubConnector(ctx context.Context, connector types.Gith ResourceMetadata: apievents.ResourceMetadata{ Name: connector.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit GitHub connector create event.") } @@ -195,6 +196,7 @@ func (a *Server) createGithubConnector(ctx context.Context, connector types.Gith ResourceMetadata: apievents.ResourceMetadata{ Name: connector.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit GitHub connector create event.") } @@ -221,6 +223,7 @@ func (a *Server) updateGithubConnector(ctx context.Context, connector types.Gith ResourceMetadata: apievents.ResourceMetadata{ Name: connector.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit GitHub connector create event.") } @@ -375,6 +378,7 @@ func (a *Server) deleteGithubConnector(ctx context.Context, connectorName string ResourceMetadata: apievents.ResourceMetadata{ Name: connectorName, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit GitHub connector delete event.") } @@ -443,7 +447,8 @@ func validateGithubAuthCallbackHelper(ctx context.Context, m githubManager, diag Metadata: apievents.Metadata{ Type: events.UserLoginEvent, }, - Method: events.LoginMethodGithub, + Method: events.LoginMethodGithub, + ConnectionMetadata: authz.ConnectionMetadata(ctx), } auth, err := m.validateGithubAuthCallback(ctx, diagCtx, q) @@ -649,7 +654,7 @@ func (a *Server) validateGithubAuthCallback(ctx context.Context, diagCtx *SSODia if err != nil { return nil, trace.Wrap(err, "failed to query GitHub user info") } - teamsResp, err := ghClient.getTeams() + teamsResp, err := ghClient.getTeams(ctx) if err != nil { return nil, trace.Wrap(err, "failed to query GitHub user teams") } @@ -990,7 +995,7 @@ type orgResponse struct { } // getTeams retrieves a list of teams authenticated user belongs to. -func (c *githubAPIClient) getTeams() ([]teamResponse, error) { +func (c *githubAPIClient) getTeams(ctx context.Context) ([]teamResponse, error) { var result []teamResponse bytes, nextPage, err := c.get("user/teams") @@ -1029,6 +1034,7 @@ func (c *githubAPIClient) getTeams() ([]teamResponse, error) { Success: false, Error: warningMessage, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit GitHub login failure event.") } diff --git a/lib/auth/github_test.go b/lib/auth/github_test.go index 2133e81cbd88c..5369b70b449dd 100644 --- a/lib/auth/github_test.go +++ b/lib/auth/github_test.go @@ -40,6 +40,7 @@ import ( apievents "github.com/gravitational/teleport/api/types/events" "github.com/gravitational/teleport/lib/auth/keystore" authority "github.com/gravitational/teleport/lib/auth/testauthority" + "github.com/gravitational/teleport/lib/authz" "github.com/gravitational/teleport/lib/backend" "github.com/gravitational/teleport/lib/backend/memory" "github.com/gravitational/teleport/lib/events" @@ -184,7 +185,8 @@ func (c *testGithubAPIClient) getTeams() ([]teamResponse, error) { } func TestValidateGithubAuthCallbackEventsEmitted(t *testing.T) { - ctx := context.Background() + clientAddr := &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0)} + ctx := authz.ContextWithClientSrcAddr(context.Background(), clientAddr) tt := setupGithubContext(ctx, t) auth := &GithubAuthResponse{ @@ -218,10 +220,12 @@ func TestValidateGithubAuthCallbackEventsEmitted(t *testing.T) { diagCtx.Info.AppliedLoginRules = []string{"login-rule"} return auth, nil } - _, _ = validateGithubAuthCallbackHelper(context.Background(), m, diagCtx, nil, tt.a.emitter) + _, _ = validateGithubAuthCallbackHelper(ctx, m, diagCtx, nil, tt.a.emitter) require.Equal(t, events.UserLoginEvent, tt.mockEmitter.LastEvent().GetType()) require.Equal(t, events.UserSSOLoginCode, tt.mockEmitter.LastEvent().GetCode()) - require.Equal(t, []string{"login-rule"}, tt.mockEmitter.LastEvent().(*apievents.UserLogin).AppliedLoginRules) + loginEvt := tt.mockEmitter.LastEvent().(*apievents.UserLogin) + require.Equal(t, []string{"login-rule"}, loginEvt.AppliedLoginRules) + require.Equal(t, clientAddr.String(), loginEvt.ConnectionMetadata.RemoteAddr) require.Equal(t, 0, ssoDiagInfoCalls) tt.mockEmitter.Reset() @@ -231,8 +235,11 @@ func TestValidateGithubAuthCallbackEventsEmitted(t *testing.T) { diagCtx.Info.GithubClaims = claims return auth, trace.BadParameter("") } - _, _ = validateGithubAuthCallbackHelper(context.Background(), m, diagCtx, nil, tt.a.emitter) + _, _ = validateGithubAuthCallbackHelper(ctx, m, diagCtx, nil, tt.a.emitter) + require.Equal(t, events.UserLoginEvent, tt.mockEmitter.LastEvent().GetType()) require.Equal(t, events.UserSSOLoginFailureCode, tt.mockEmitter.LastEvent().GetCode()) + loginEvt = tt.mockEmitter.LastEvent().(*apievents.UserLogin) + require.Equal(t, clientAddr.String(), loginEvt.ConnectionMetadata.RemoteAddr) require.Equal(t, 0, ssoDiagInfoCalls) // Test success event, test-flow. @@ -241,9 +248,11 @@ func TestValidateGithubAuthCallbackEventsEmitted(t *testing.T) { diagCtx.Info.GithubClaims = claims return auth, nil } - _, _ = validateGithubAuthCallbackHelper(context.Background(), m, diagCtx, nil, tt.a.emitter) + _, _ = validateGithubAuthCallbackHelper(ctx, m, diagCtx, nil, tt.a.emitter) require.Equal(t, events.UserLoginEvent, tt.mockEmitter.LastEvent().GetType()) require.Equal(t, events.UserSSOTestFlowLoginCode, tt.mockEmitter.LastEvent().GetCode()) + loginEvt = tt.mockEmitter.LastEvent().(*apievents.UserLogin) + require.Equal(t, clientAddr.String(), loginEvt.ConnectionMetadata.RemoteAddr) require.Equal(t, 1, ssoDiagInfoCalls) tt.mockEmitter.Reset() @@ -253,8 +262,11 @@ func TestValidateGithubAuthCallbackEventsEmitted(t *testing.T) { diagCtx.Info.GithubClaims = claims return auth, trace.BadParameter("") } - _, _ = validateGithubAuthCallbackHelper(context.Background(), m, diagCtx, nil, tt.a.emitter) + _, _ = validateGithubAuthCallbackHelper(ctx, m, diagCtx, nil, tt.a.emitter) + require.Equal(t, events.UserLoginEvent, tt.mockEmitter.LastEvent().GetType()) require.Equal(t, events.UserSSOTestFlowLoginFailureCode, tt.mockEmitter.LastEvent().GetCode()) + loginEvt = tt.mockEmitter.LastEvent().(*apievents.UserLogin) + require.Equal(t, clientAddr.String(), loginEvt.ConnectionMetadata.RemoteAddr) require.Equal(t, 2, ssoDiagInfoCalls) } diff --git a/lib/auth/password.go b/lib/auth/password.go index a9b4a4bc26c36..d7415b704e12b 100644 --- a/lib/auth/password.go +++ b/lib/auth/password.go @@ -153,7 +153,8 @@ func (a *Server) ChangePassword(ctx context.Context, req *proto.ChangePasswordRe Type: events.UserPasswordChangeEvent, Code: events.UserPasswordChangeCode, }, - UserMetadata: authz.ClientUserMetadataWithUser(ctx, user), + UserMetadata: authz.ClientUserMetadataWithUser(ctx, user), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit password change event.") } diff --git a/lib/auth/trustedcluster.go b/lib/auth/trustedcluster.go index e89bb68184753..7123fb4d28a30 100644 --- a/lib/auth/trustedcluster.go +++ b/lib/auth/trustedcluster.go @@ -180,6 +180,7 @@ func (a *Server) UpsertTrustedCluster(ctx context.Context, trustedCluster types. ResourceMetadata: apievents.ResourceMetadata{ Name: trustedCluster.GetName(), }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { logger.WithError(err).Warn("Failed to emit trusted cluster create event.") } @@ -248,6 +249,7 @@ func (a *Server) DeleteTrustedCluster(ctx context.Context, name string) error { ResourceMetadata: apievents.ResourceMetadata{ Name: name, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit trusted cluster delete event.") } diff --git a/lib/auth/user.go b/lib/auth/user.go index 28809276dd5dd..29e88e03ea8c5 100644 --- a/lib/auth/user.go +++ b/lib/auth/user.go @@ -70,8 +70,9 @@ func (a *Server) CreateUser(ctx context.Context, user types.User) (types.User, e Name: created.GetName(), Expires: created.Expiry(), }, - Connector: connectorName, - Roles: created.GetRoles(), + Connector: connectorName, + Roles: created.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit user create event.") } @@ -129,8 +130,9 @@ func (a *Server) UpdateUser(ctx context.Context, user types.User) (types.User, e Name: updated.GetName(), Expires: updated.Expiry(), }, - Connector: connectorName, - Roles: updated.GetRoles(), + Connector: connectorName, + Roles: updated.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit user update event.") } @@ -182,8 +184,9 @@ func (a *Server) UpsertUser(ctx context.Context, user types.User) (types.User, e Name: upserted.GetName(), Expires: upserted.Expiry(), }, - Connector: connectorName, - Roles: upserted.GetRoles(), + Connector: connectorName, + Roles: upserted.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit user upsert event.") } @@ -263,6 +266,7 @@ func (a *Server) DeleteUser(ctx context.Context, user string) error { ResourceMetadata: apievents.ResourceMetadata{ Name: user, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { log.WithError(err).Warn("Failed to emit user delete event.") } diff --git a/lib/auth/users/usersv1/service.go b/lib/auth/users/usersv1/service.go index e85f2a6571d48..060a1d279396b 100644 --- a/lib/auth/users/usersv1/service.go +++ b/lib/auth/users/usersv1/service.go @@ -261,8 +261,9 @@ func (s *Service) CreateUser(ctx context.Context, req *userspb.CreateUserRequest Name: created.GetName(), Expires: created.Expiry(), }, - Connector: connectorName, - Roles: created.GetRoles(), + Connector: connectorName, + Roles: created.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { s.logger.WithError(err).Warn("Failed to emit user create event.") } @@ -329,8 +330,9 @@ func (s *Service) UpdateUser(ctx context.Context, req *userspb.UpdateUserRequest Name: updated.GetName(), Expires: updated.Expiry(), }, - Connector: connectorName, - Roles: updated.GetRoles(), + Connector: connectorName, + Roles: updated.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { s.logger.WithError(err).Warn("Failed to emit user update event.") } @@ -405,8 +407,9 @@ func (s *Service) UpsertUser(ctx context.Context, req *userspb.UpsertUserRequest Name: upserted.GetName(), Expires: upserted.Expiry(), }, - Connector: connectorName, - Roles: upserted.GetRoles(), + Connector: connectorName, + Roles: upserted.GetRoles(), + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { s.logger.WithError(err).Warn("Failed to emit user upsert event.") } @@ -474,6 +477,7 @@ func (s *Service) DeleteUser(ctx context.Context, req *userspb.DeleteUserRequest ResourceMetadata: apievents.ResourceMetadata{ Name: req.Name, }, + ConnectionMetadata: authz.ConnectionMetadata(ctx), }); err != nil { s.logger.WithError(err).Warn("Failed to emit user delete event.") } diff --git a/lib/authz/permissions.go b/lib/authz/permissions.go index 6c5e7c2bc7aff..c5517d6e76056 100644 --- a/lib/authz/permissions.go +++ b/lib/authz/permissions.go @@ -1599,3 +1599,17 @@ func IsRemoteUser(authContext Context) bool { _, ok := authContext.UnmappedIdentity.(RemoteUser) return ok } + +// ConnectionMetadata returns a ConnectionMetadata suitable for events caused by +// a remote client making a call. If ctx didn't pass through auth middleware or +// did not come from an HTTP request, empty metadata is returned. +func ConnectionMetadata(ctx context.Context) apievents.ConnectionMetadata { + remoteAddr, err := ClientSrcAddrFromContext(ctx) + if err != nil { + return apievents.ConnectionMetadata{} + } + + return apievents.ConnectionMetadata{ + RemoteAddr: remoteAddr.String(), + } +} diff --git a/lib/authz/permissions_test.go b/lib/authz/permissions_test.go index 43e1c1502a256..8eec1a8691a43 100644 --- a/lib/authz/permissions_test.go +++ b/lib/authz/permissions_test.go @@ -22,6 +22,7 @@ import ( "context" "errors" "fmt" + "net" "testing" "time" @@ -38,6 +39,7 @@ import ( "github.com/gravitational/teleport/api/constants" "github.com/gravitational/teleport/api/mfa" "github.com/gravitational/teleport/api/types" + apievents "github.com/gravitational/teleport/api/types/events" "github.com/gravitational/teleport/api/utils/keys" "github.com/gravitational/teleport/lib/backend/memory" "github.com/gravitational/teleport/lib/modules" @@ -1038,6 +1040,26 @@ func TestIsUserFunctions(t *testing.T) { } } +func TestConnectionMetadata(t *testing.T) { + for name, test := range map[string]struct { + ctx context.Context + expectedConnectionMetadata apievents.ConnectionMetadata + }{ + "with client address": { + ctx: ContextWithClientSrcAddr(context.Background(), &net.TCPAddr{IP: net.IPv4(10, 255, 0, 0), Port: 1234}), + expectedConnectionMetadata: apievents.ConnectionMetadata{RemoteAddr: "10.255.0.0:1234"}, + }, + "empty client address": { + ctx: context.Background(), + expectedConnectionMetadata: apievents.ConnectionMetadata{}, + }, + } { + t.Run(name, func(t *testing.T) { + require.Empty(t, cmp.Diff(test.expectedConnectionMetadata, ConnectionMetadata(test.ctx))) + }) + } +} + // fakeCtxUser is used for auth.Context tests. type fakeCtxUser struct { types.User