From af1aa0240490045fdaf4f2ef0c9f9006ed30dee6 Mon Sep 17 00:00:00 2001 From: joerger Date: Fri, 22 Mar 2024 13:06:13 -0700 Subject: [PATCH 01/11] Add CreateAppSessionFromReq. --- lib/auth/auth_with_roles.go | 7 +-- lib/auth/sessions.go | 87 ++++++++++++++++++++++++++++++++----- 2 files changed, 78 insertions(+), 16 deletions(-) diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index 9185debd91d46..f9788b05cdda6 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -5451,12 +5451,7 @@ func (a *ServerWithRoles) CreateAppSession(ctx context.Context, req *proto.Creat return nil, trace.Wrap(err) } - uls, err := a.authServer.GetUserOrLoginState(ctx, a.context.User.GetName()) - if err != nil { - return nil, trace.Wrap(err) - } - - session, err := a.authServer.CreateAppSession(ctx, req, uls, a.context.Identity.GetIdentity(), a.context.Checker) + session, err := a.authServer.CreateAppSession(ctx, req, a.context.Identity.GetIdentity(), a.context.Checker) if err != nil { return nil, trace.Wrap(err) } diff --git a/lib/auth/sessions.go b/lib/auth/sessions.go index b4972a60a5660..0b4dc729d219a 100644 --- a/lib/auth/sessions.go +++ b/lib/auth/sessions.go @@ -242,11 +242,31 @@ func (a *Server) upsertWebSession(ctx context.Context, session types.WebSession) return nil } +// NewAppSessionRequest defines a request to create a new user app session. +type NewAppSessionRequest struct { + NewWebSessionRequest + + // PublicAddr is the public address the application. + PublicAddr string + // ClusterName is cluster within which the application is running. + ClusterName string + // AWSRoleARN is AWS role the user wants to assume. + AWSRoleARN string + // AzureIdentity is Azure identity the user wants to assume. + AzureIdentity string + // GCPServiceAccount is the GCP service account the user wants to assume. + GCPServiceAccount string + // MFAVerified is the UUID of an MFA device used to verify this request. + MFAVerified string + // DeviceExtensions holds device-aware user certificate extensions. + DeviceExtensions DeviceExtensions +} + // CreateAppSession creates and inserts a services.WebSession into the // backend with the identity of the caller used to generate the certificate. // The certificate is used for all access requests, which is where access // control is enforced. -func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest, user services.UserState, identity tlsca.Identity, checker services.AccessChecker) (types.WebSession, error) { +func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest, identity tlsca.Identity, checker services.AccessChecker) (types.WebSession, error) { if !modules.GetModules().Features().App { return nil, trace.AccessDenied( "this Teleport cluster is not licensed for application access, please contact the cluster administrator") @@ -278,6 +298,53 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi verifiedMFADeviceID = mfaData.Device.Id } + sess, err := a.CreateAppSessionFromReq(ctx, NewAppSessionRequest{ + NewWebSessionRequest: NewWebSessionRequest{ + User: req.Username, + LoginIP: identity.LoginIP, + SessionTTL: ttl, + Traits: traits, + AccessRequests: identity.ActiveRequests, + }, + PublicAddr: req.PublicAddr, + ClusterName: req.ClusterName, + AWSRoleARN: req.AWSRoleARN, + AzureIdentity: req.AzureIdentity, + GCPServiceAccount: req.GCPServiceAccount, + MFAVerified: verifiedMFADeviceID, + DeviceExtensions: DeviceExtensions(identity.DeviceExtensions), + }) + if err != nil { + return nil, trace.Wrap(err) + } + + return sess, nil +} + +func (a *Server) CreateAppSessionFromReq(ctx context.Context, req NewAppSessionRequest) (types.WebSession, error) { + if !modules.GetModules().Features().App { + return nil, trace.AccessDenied( + "this Teleport cluster is not licensed for application access, please contact the cluster administrator") + } + + user, err := a.GetUserOrLoginState(ctx, req.User) + if err != nil { + return nil, trace.Wrap(err) + } + + clusterName, err := a.GetClusterName() + if err != nil { + return nil, trace.Wrap(err) + } + checker, err := services.NewAccessChecker(&services.AccessInfo{ + Roles: user.GetRoles(), + Traits: user.GetTraits(), + AllowedResourceIDs: req.RequestedResourceIDs, + }, clusterName.GetClusterName(), a) + if err != nil { + return nil, trace.Wrap(err) + } + // Create certificate for this session. privateKey, publicKey, err := native.GenerateKeyPair() if err != nil { @@ -285,12 +352,12 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi } certs, err := a.generateUserCert(ctx, certRequest{ user: user, - loginIP: identity.LoginIP, + loginIP: req.LoginIP, publicKey: publicKey, checker: checker, - ttl: ttl, - traits: traits, - activeRequests: services.RequestIDs{AccessRequests: identity.ActiveRequests}, + ttl: req.SessionTTL, + traits: req.Traits, + activeRequests: services.RequestIDs{AccessRequests: req.AccessRequests}, // Only allow this certificate to be used for applications. usage: []string{teleport.UsageAppsOnly}, // Add in the application routing information. @@ -304,8 +371,8 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi // we need to skip attestation. skipAttestation: true, // Pass along device extensions from the user. - deviceExtensions: DeviceExtensions(identity.DeviceExtensions), - mfaVerified: verifiedMFADeviceID, + deviceExtensions: req.DeviceExtensions, + mfaVerified: req.MFAVerified, }) if err != nil { return nil, trace.Wrap(err) @@ -321,12 +388,12 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi return nil, trace.Wrap(err) } session, err := types.NewWebSession(sessionID, types.KindAppSession, types.WebSessionSpecV2{ - User: req.Username, + User: req.User, Priv: privateKey, Pub: certs.SSH, TLSCert: certs.TLS, LoginTime: a.clock.Now().UTC(), - Expires: a.clock.Now().UTC().Add(ttl), + Expires: a.clock.Now().UTC().Add(req.SessionTTL), BearerToken: bearer, }) if err != nil { @@ -335,7 +402,7 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi if err = a.UpsertAppSession(ctx, session); err != nil { return nil, trace.Wrap(err) } - log.Debugf("Generated application web session for %v with TTL %v.", req.Username, ttl) + log.Debugf("Generated application web session for %v with TTL %v.", req.User, req.SessionTTL) UserLoginCount.Inc() return session, nil } From 725c089fcfd7561c5338ea431eb30b6a19ff13a5 Mon Sep 17 00:00:00 2001 From: joerger Date: Tue, 26 Mar 2024 17:01:21 -0700 Subject: [PATCH 02/11] Deprecate passing route_to_app.session_id in cert requests. --- api/client/proto/authservice.pb.go | 1761 +++++++++-------- .../legacy/client/proto/authservice.proto | 7 +- 2 files changed, 888 insertions(+), 880 deletions(-) diff --git a/api/client/proto/authservice.pb.go b/api/client/proto/authservice.pb.go index 634d2d575ee6a..ced496b054a80 100644 --- a/api/client/proto/authservice.pb.go +++ b/api/client/proto/authservice.pb.go @@ -1227,7 +1227,9 @@ type RouteToApp struct { // Name is the application name certificate is being requested for. Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"name"` // SessionID is the ID of the application session. - SessionID string `protobuf:"bytes,2,opt,name=SessionID,proto3" json:"session_id"` + // DEPRECATED: Automatically generated by server. + // TODO (Joerger): DELETE IN v17.0.0 + SessionID string `protobuf:"bytes,2,opt,name=SessionID,proto3" json:"session_id"` // Deprecated: Do not use. // PublicAddr is the application public address. PublicAddr string `protobuf:"bytes,3,opt,name=PublicAddr,proto3" json:"public_addr"` // ClusterName is the cluster where the application resides. @@ -1283,6 +1285,7 @@ func (m *RouteToApp) GetName() string { return "" } +// Deprecated: Do not use. func (m *RouteToApp) GetSessionID() string { if m != nil { return m.SessionID @@ -14915,884 +14918,884 @@ func init() { } var fileDescriptor_0ffcffcda38ae159 = []byte{ - // 14025 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0xbd, 0x5d, 0x6c, 0x1c, 0x49, - 0x92, 0x18, 0xcc, 0xe6, 0x3f, 0x83, 0x7f, 0xad, 0x24, 0x29, 0x52, 0x14, 0xa5, 0x96, 0x6a, 0xfe, - 0x34, 0xda, 0x59, 0xfd, 0x50, 0x33, 0xb3, 0xf3, 0xb3, 0x3b, 0xb3, 0xcd, 0x1f, 0x89, 0x94, 0xf8, - 0x37, 0xd5, 0x24, 0x35, 0xb3, 0x3b, 0xb7, 0xbd, 0xc5, 0xee, 0x14, 0x59, 0xa7, 0x66, 0x55, 0x6f, - 0x55, 0xb5, 0x34, 0xda, 0xfb, 0xee, 0x3e, 0xdc, 0x9e, 0x0d, 0xfb, 0xc5, 0xe7, 0x33, 0x70, 0x67, - 0x9c, 0x7f, 0x00, 0xc3, 0x80, 0x0d, 0x18, 0x7e, 0xba, 0x17, 0xe3, 0x1e, 0xfc, 0x60, 0xf8, 0xc9, - 0x6b, 0x03, 0x67, 0x1b, 0xb8, 0xbb, 0x17, 0x3f, 0xf0, 0xec, 0x05, 0xfc, 0x42, 0x9c, 0x1f, 0x6c, - 0xc3, 0x06, 0xbc, 0x80, 0x01, 0x23, 0x23, 0x7f, 0x2a, 0xb3, 0xfe, 0x9a, 0xd4, 0x68, 0xd6, 0x7e, - 0x91, 0xd8, 0x99, 0x11, 0x91, 0x99, 0x91, 0x59, 0x91, 0x11, 0x91, 0x91, 0x19, 0x70, 0x2b, 0xa2, - 0x2d, 0xda, 0xf6, 0x83, 0xe8, 0x76, 0x8b, 0x1e, 0x3a, 0x8d, 0x17, 0xb7, 0x1b, 0x2d, 0x97, 0x7a, - 0xd1, 0xed, 0x76, 0xe0, 0x47, 0xfe, 0x6d, 0xa7, 0x13, 0x1d, 0x85, 0x34, 0x78, 0xe6, 0x36, 0xe8, - 0x2d, 0x2c, 0x21, 0x03, 0xf8, 0xdf, 0xfc, 0xf4, 0xa1, 0x7f, 0xe8, 0x73, 0x18, 0xf6, 0x17, 0xaf, - 0x9c, 0xbf, 0x7c, 0xe8, 0xfb, 0x87, 0x2d, 0xca, 0x91, 0x0f, 0x3a, 0x4f, 0x6e, 0xd3, 0xe3, 0x76, - 0xf4, 0x42, 0x54, 0x56, 0x92, 0x95, 0x91, 0x7b, 0x4c, 0xc3, 0xc8, 0x39, 0x6e, 0x0b, 0x80, 0xb7, - 0x55, 0x57, 0x9c, 0x28, 0x62, 0x35, 0x91, 0xeb, 0x7b, 0xb7, 0x9f, 0xdd, 0xd5, 0x7f, 0x0a, 0xd0, - 0x1b, 0x85, 0xbd, 0x6e, 0xd0, 0x20, 0x0a, 0xcf, 0x04, 0x49, 0x9f, 0x51, 0x2f, 0x4a, 0x35, 0x2f, - 0x20, 0xa3, 0x17, 0x6d, 0x1a, 0x72, 0x10, 0xf9, 0x9f, 0x00, 0xbd, 0x9e, 0x0d, 0x8a, 0xff, 0x0a, - 0x90, 0x6f, 0x67, 0x83, 0x3c, 0xa7, 0x07, 0x8c, 0xa7, 0x9e, 0xfa, 0xa3, 0x0b, 0x78, 0xe0, 0xb4, - 0xdb, 0x34, 0x88, 0xff, 0x10, 0xe0, 0x97, 0x14, 0xf8, 0xf1, 0x13, 0x87, 0xb1, 0xe8, 0xf8, 0x89, - 0x93, 0x1a, 0x46, 0x27, 0x74, 0x0e, 0xa9, 0xe8, 0xfe, 0xb3, 0xbb, 0xfa, 0x4f, 0x0e, 0x6a, 0xfd, - 0x83, 0x12, 0x0c, 0x3c, 0x76, 0xa2, 0xc6, 0x11, 0xf9, 0x14, 0x06, 0x1e, 0xb9, 0x5e, 0x33, 0x9c, - 0x2b, 0x5d, 0xeb, 0xbb, 0x31, 0xba, 0x58, 0xbe, 0xc5, 0x87, 0x82, 0x95, 0xac, 0x62, 0x69, 0xf6, - 0xe7, 0x27, 0x95, 0x9e, 0xd3, 0x93, 0xca, 0xe4, 0x53, 0x06, 0xf6, 0x8e, 0x7f, 0xec, 0x46, 0x38, - 0xb7, 0x36, 0xc7, 0x23, 0x7b, 0x30, 0x55, 0x6d, 0xb5, 0xfc, 0xe7, 0x3b, 0x4e, 0x10, 0xb9, 0x4e, - 0xab, 0xd6, 0x69, 0x34, 0x68, 0x18, 0xce, 0xf5, 0x5e, 0x2b, 0xdd, 0x18, 0x5e, 0x7a, 0xed, 0xf4, - 0xa4, 0x52, 0x71, 0x58, 0x75, 0xbd, 0xcd, 0xeb, 0xeb, 0x21, 0x07, 0xd0, 0x08, 0x65, 0xe1, 0x5b, - 0x7f, 0x39, 0x00, 0xe5, 0x35, 0x3f, 0x8c, 0x96, 0xd9, 0x8c, 0xda, 0xf4, 0x27, 0x1d, 0x1a, 0x46, - 0xe4, 0x35, 0x18, 0x64, 0x65, 0xeb, 0x2b, 0x73, 0xa5, 0x6b, 0xa5, 0x1b, 0x23, 0x4b, 0xa3, 0xa7, - 0x27, 0x95, 0xa1, 0x23, 0x3f, 0x8c, 0xea, 0x6e, 0xd3, 0x16, 0x55, 0xe4, 0x6d, 0x18, 0xde, 0xf2, - 0x9b, 0x74, 0xcb, 0x39, 0xa6, 0xd8, 0x8b, 0x91, 0xa5, 0xf1, 0xd3, 0x93, 0xca, 0x88, 0xe7, 0x37, - 0x69, 0xdd, 0x73, 0x8e, 0xa9, 0xad, 0xaa, 0xc9, 0x3e, 0xf4, 0xdb, 0x7e, 0x8b, 0xce, 0xf5, 0x21, - 0xd8, 0xd2, 0xe9, 0x49, 0xa5, 0x3f, 0xf0, 0x5b, 0xf4, 0x97, 0x27, 0x95, 0xf7, 0x0f, 0xdd, 0xe8, - 0xa8, 0x73, 0x70, 0xab, 0xe1, 0x1f, 0xdf, 0x3e, 0x0c, 0x9c, 0x67, 0x2e, 0x5f, 0x84, 0x4e, 0xeb, - 0x76, 0xbc, 0x54, 0xdb, 0xae, 0x98, 0xf7, 0xda, 0x8b, 0x30, 0xa2, 0xc7, 0x8c, 0x92, 0x8d, 0xf4, - 0xc8, 0x63, 0x98, 0xae, 0x36, 0x9b, 0x2e, 0xc7, 0xd8, 0x09, 0x5c, 0xaf, 0xe1, 0xb6, 0x9d, 0x56, - 0x38, 0xd7, 0x7f, 0xad, 0xef, 0xc6, 0x88, 0x60, 0x8a, 0xaa, 0xaf, 0xb7, 0x15, 0x80, 0xc6, 0x94, - 0x4c, 0x02, 0xe4, 0x1e, 0x0c, 0xaf, 0x6c, 0xd5, 0x58, 0xdf, 0xc3, 0xb9, 0x01, 0x24, 0x36, 0x7b, - 0x7a, 0x52, 0x99, 0x6a, 0x7a, 0x21, 0x0e, 0x4d, 0x27, 0xa0, 0x00, 0xc9, 0xfb, 0x30, 0xb6, 0xd3, - 0x39, 0x68, 0xb9, 0x8d, 0xdd, 0x8d, 0xda, 0x23, 0xfa, 0x62, 0x6e, 0xf0, 0x5a, 0xe9, 0xc6, 0xd8, - 0x12, 0x39, 0x3d, 0xa9, 0x4c, 0xb4, 0xb1, 0xbc, 0x1e, 0xb5, 0xc2, 0xfa, 0x53, 0xfa, 0xc2, 0x36, - 0xe0, 0x62, 0xbc, 0x5a, 0x6d, 0x8d, 0xe1, 0x0d, 0xa5, 0xf0, 0xc2, 0xf0, 0x48, 0xc7, 0xe3, 0x70, - 0xe4, 0x36, 0x80, 0x4d, 0x8f, 0xfd, 0x88, 0x56, 0x9b, 0xcd, 0x60, 0x6e, 0x18, 0x79, 0x3b, 0x79, - 0x7a, 0x52, 0x19, 0x0d, 0xb0, 0xb4, 0xee, 0x34, 0x9b, 0x81, 0xad, 0x81, 0x90, 0x65, 0x18, 0xb6, - 0x7d, 0xce, 0xe0, 0xb9, 0x91, 0x6b, 0xa5, 0x1b, 0xa3, 0x8b, 0x93, 0x62, 0x19, 0xca, 0xe2, 0xa5, - 0x8b, 0xa7, 0x27, 0x15, 0x12, 0x88, 0x5f, 0xfa, 0x28, 0x25, 0x04, 0xa9, 0xc0, 0xd0, 0x96, 0xbf, - 0xec, 0x34, 0x8e, 0xe8, 0x1c, 0xe0, 0xda, 0x1b, 0x38, 0x3d, 0xa9, 0x94, 0xbe, 0x6d, 0xcb, 0x52, - 0xf2, 0x0c, 0x46, 0xe3, 0x89, 0x0a, 0xe7, 0x46, 0x91, 0x7d, 0xbb, 0xa7, 0x27, 0x95, 0x8b, 0x21, - 0x16, 0xd7, 0xd9, 0xd4, 0x6b, 0x1c, 0xfc, 0x1a, 0xab, 0x40, 0x6f, 0xe8, 0x61, 0xff, 0xf0, 0x58, - 0x79, 0xdc, 0xbe, 0xb2, 0xe7, 0x85, 0x91, 0x73, 0xd0, 0xa2, 0x71, 0x55, 0x35, 0x0c, 0x69, 0xc0, - 0xe8, 0xad, 0xaf, 0x58, 0xff, 0xbb, 0x04, 0x64, 0xbb, 0x4d, 0xbd, 0x5a, 0x6d, 0x8d, 0xad, 0x78, - 0xb9, 0xe0, 0xdf, 0x81, 0x11, 0xce, 0x5a, 0xc6, 0xff, 0x5e, 0xe4, 0xff, 0xc4, 0xe9, 0x49, 0x05, - 0x04, 0xff, 0x19, 0xef, 0x63, 0x00, 0xf2, 0x06, 0xf4, 0xed, 0xee, 0x6e, 0xe0, 0x6a, 0xee, 0x5b, - 0x9a, 0x3a, 0x3d, 0xa9, 0xf4, 0x45, 0x51, 0xeb, 0x97, 0x27, 0x95, 0xe1, 0x95, 0x4e, 0x80, 0x1d, - 0xb7, 0x59, 0x3d, 0x79, 0x03, 0x86, 0x96, 0x5b, 0x9d, 0x30, 0xa2, 0xc1, 0x5c, 0x7f, 0xfc, 0x19, - 0x35, 0x78, 0x91, 0x2d, 0xeb, 0xc8, 0xb7, 0xa0, 0x7f, 0x2f, 0xa4, 0xc1, 0xdc, 0x00, 0xce, 0xc8, - 0xb8, 0x98, 0x11, 0x56, 0xb4, 0xbf, 0xb8, 0x34, 0xcc, 0xbe, 0x95, 0x4e, 0x48, 0x03, 0x1b, 0x81, - 0xc8, 0x2d, 0x18, 0xe0, 0x6c, 0x1d, 0x44, 0x31, 0x32, 0xae, 0xe6, 0xaf, 0x45, 0xf7, 0xdf, 0x5f, - 0x1a, 0x39, 0x3d, 0xa9, 0x0c, 0x20, 0x7b, 0xed, 0x01, 0xc9, 0x94, 0x52, 0xb9, 0xd7, 0x1e, 0x66, - 0xb8, 0x6c, 0xe1, 0x5a, 0xdf, 0x82, 0x51, 0x6d, 0xf8, 0x64, 0x01, 0xfa, 0xd9, 0xff, 0xf8, 0x99, - 0x8f, 0xf1, 0xc6, 0x98, 0x68, 0xb7, 0xb1, 0xd4, 0xfa, 0xfb, 0x93, 0x50, 0x66, 0x98, 0x86, 0x6c, - 0x30, 0x58, 0x55, 0xea, 0xc6, 0xaa, 0x1b, 0xa0, 0xda, 0x16, 0x42, 0x62, 0xec, 0xf4, 0xa4, 0x32, - 0xdc, 0x11, 0x65, 0x71, 0xcf, 0x48, 0x0d, 0x86, 0x56, 0xbf, 0x6a, 0xbb, 0x01, 0x0d, 0x91, 0xb1, - 0xa3, 0x8b, 0xf3, 0xb7, 0xf8, 0x76, 0x76, 0x4b, 0x6e, 0x67, 0xb7, 0x76, 0xe5, 0x76, 0xb6, 0x74, - 0x45, 0x08, 0xcb, 0x0b, 0x94, 0xa3, 0xc4, 0xab, 0xe9, 0xf7, 0xfe, 0xa2, 0x52, 0xb2, 0x25, 0x25, - 0xf2, 0x0e, 0x0c, 0xde, 0xf7, 0x83, 0x63, 0x27, 0x12, 0x33, 0x30, 0x7d, 0x7a, 0x52, 0x29, 0x3f, - 0xc1, 0x12, 0x6d, 0x71, 0x0b, 0x18, 0x72, 0x1f, 0x26, 0x6c, 0xbf, 0x13, 0xd1, 0x5d, 0x5f, 0xce, - 0xdb, 0x00, 0x62, 0x5d, 0x3d, 0x3d, 0xa9, 0xcc, 0x07, 0xac, 0xa6, 0x1e, 0xf9, 0x75, 0x31, 0x81, - 0x1a, 0x7e, 0x02, 0x8b, 0xac, 0xc2, 0x44, 0x15, 0xa5, 0xab, 0xe0, 0x19, 0x9f, 0xad, 0x91, 0xa5, - 0x2b, 0xa7, 0x27, 0x95, 0x4b, 0x0e, 0xd6, 0xd4, 0x03, 0x51, 0xa5, 0x93, 0x31, 0x91, 0xc8, 0x16, - 0x5c, 0x78, 0xd4, 0x39, 0xa0, 0x81, 0x47, 0x23, 0x1a, 0xca, 0x1e, 0x0d, 0x61, 0x8f, 0xae, 0x9d, - 0x9e, 0x54, 0x16, 0x9e, 0xaa, 0xca, 0x8c, 0x3e, 0xa5, 0x51, 0x09, 0x85, 0x49, 0xd1, 0xd1, 0x15, - 0x27, 0x72, 0x0e, 0x9c, 0x90, 0xa2, 0xd0, 0x18, 0x5d, 0xbc, 0xc8, 0x59, 0x7c, 0x2b, 0x51, 0xbb, - 0xf4, 0x9a, 0xe0, 0xf2, 0x65, 0x35, 0xf6, 0xa6, 0xa8, 0xd2, 0x1a, 0x4a, 0xd2, 0x64, 0xb2, 0x53, - 0xed, 0x0b, 0x23, 0xd8, 0x5b, 0x94, 0x9d, 0x6a, 0x5f, 0xd0, 0xa5, 0x8a, 0xda, 0x21, 0x36, 0x60, - 0x60, 0x8f, 0xed, 0x9e, 0x28, 0x53, 0x26, 0x16, 0xaf, 0x8b, 0x1e, 0x25, 0x57, 0xdf, 0x2d, 0xf6, - 0x03, 0x01, 0xf1, 0xbb, 0x9b, 0xc4, 0x1d, 0x57, 0xdf, 0x2b, 0xb1, 0x8e, 0x7c, 0x06, 0x20, 0x7a, - 0x55, 0x6d, 0xb7, 0xe7, 0x46, 0x71, 0x90, 0x17, 0xcc, 0x41, 0x56, 0xdb, 0xed, 0xa5, 0xab, 0x62, - 0x7c, 0x17, 0xd5, 0xf8, 0x9c, 0x76, 0x5b, 0xa3, 0xa6, 0x11, 0x21, 0x9f, 0xc2, 0x18, 0x8a, 0x1c, - 0x39, 0xa3, 0x63, 0x38, 0xa3, 0x97, 0x4f, 0x4f, 0x2a, 0xb3, 0xec, 0x83, 0xcb, 0x9a, 0x4f, 0x03, - 0x81, 0xfc, 0x16, 0xcc, 0x08, 0x72, 0x8f, 0x5d, 0xaf, 0xe9, 0x3f, 0x0f, 0x57, 0x68, 0xf8, 0x34, - 0xf2, 0xdb, 0x73, 0xe3, 0xd8, 0xbd, 0x05, 0xb3, 0x7b, 0x26, 0xcc, 0xd2, 0x4d, 0xd1, 0x53, 0x4b, - 0xf5, 0xf4, 0x39, 0x07, 0xa8, 0x37, 0x39, 0x84, 0xd6, 0x6c, 0x76, 0x33, 0x64, 0x1d, 0x26, 0xf7, - 0x42, 0x6a, 0x8c, 0x61, 0x02, 0xe5, 0x77, 0x85, 0xcd, 0x70, 0x27, 0xa4, 0xf5, 0xbc, 0x71, 0x24, - 0xf1, 0x88, 0x0d, 0x64, 0x25, 0xf0, 0xdb, 0x89, 0x35, 0x3e, 0x89, 0x1c, 0xb1, 0x4e, 0x4f, 0x2a, - 0x57, 0x9b, 0x81, 0xdf, 0xae, 0xe7, 0x2f, 0xf4, 0x0c, 0x6c, 0xf2, 0x23, 0xb8, 0xb8, 0xec, 0x7b, - 0x1e, 0x6d, 0x30, 0xf9, 0xb9, 0xe2, 0x3a, 0x87, 0x9e, 0x1f, 0x46, 0x6e, 0x63, 0x7d, 0x65, 0xae, - 0x8c, 0x6b, 0xe8, 0x4d, 0x36, 0xfa, 0x86, 0x82, 0xa8, 0x37, 0x15, 0x48, 0xdd, 0x6d, 0x6a, 0xb4, - 0x73, 0xa8, 0x90, 0x1f, 0xc2, 0xb8, 0x68, 0x8b, 0x06, 0xb8, 0x34, 0x2f, 0x14, 0x2f, 0x34, 0x05, - 0xcc, 0x37, 0xe2, 0x40, 0xfe, 0xe4, 0xaa, 0x8d, 0x49, 0x8b, 0x7c, 0x09, 0xa3, 0x9b, 0xf7, 0xab, - 0x36, 0x0d, 0xdb, 0xbe, 0x17, 0xd2, 0x39, 0x82, 0x33, 0x7a, 0x55, 0x90, 0xde, 0xbc, 0x5f, 0xad, - 0x76, 0xa2, 0x23, 0xea, 0x45, 0x6e, 0xc3, 0x89, 0xa8, 0x84, 0x5a, 0x9a, 0x67, 0x2b, 0xef, 0xf8, - 0x89, 0x53, 0x0f, 0x44, 0x89, 0x36, 0x0a, 0x9d, 0x1c, 0x99, 0x87, 0xe1, 0x5a, 0x6d, 0x6d, 0xc3, - 0x3f, 0x74, 0xbd, 0xb9, 0x29, 0xc6, 0x0c, 0x5b, 0xfd, 0x26, 0x07, 0x30, 0xa3, 0xe9, 0xee, 0x75, - 0xf6, 0x3f, 0x3d, 0xa6, 0x5e, 0x34, 0x37, 0x8d, 0x7d, 0xf8, 0xb6, 0x32, 0x3e, 0x6e, 0xe9, 0x2a, - 0xfe, 0xb3, 0xbb, 0xb7, 0xaa, 0xf1, 0xcf, 0x9a, 0x44, 0xb2, 0xa7, 0x9d, 0x8c, 0x52, 0xb2, 0x0b, - 0x43, 0x3b, 0x9d, 0xa0, 0xed, 0x87, 0x74, 0x6e, 0x06, 0x99, 0xf6, 0x5a, 0xd1, 0xd7, 0x29, 0x40, - 0x97, 0x66, 0x98, 0x78, 0x6e, 0xf3, 0x1f, 0xda, 0xc8, 0x24, 0x29, 0xeb, 0x73, 0x18, 0x51, 0x1f, - 0x33, 0x19, 0x82, 0xbe, 0x6a, 0xab, 0x55, 0xee, 0x61, 0x7f, 0xd4, 0x6a, 0x6b, 0xe5, 0x12, 0x99, - 0x00, 0x88, 0x25, 0x58, 0xb9, 0x97, 0x8c, 0xc1, 0xb0, 0x94, 0x30, 0xe5, 0x3e, 0x84, 0x6f, 0xb7, - 0xcb, 0xfd, 0x84, 0xc0, 0x84, 0xb9, 0xce, 0xcb, 0x03, 0xd6, 0x57, 0x30, 0xa2, 0xa6, 0x87, 0x4c, - 0xc2, 0xe8, 0xde, 0x56, 0x6d, 0x67, 0x75, 0x79, 0xfd, 0xfe, 0xfa, 0xea, 0x4a, 0xb9, 0x87, 0x5c, - 0x81, 0x4b, 0xbb, 0xb5, 0xb5, 0xfa, 0xca, 0x52, 0x7d, 0x63, 0x7b, 0xb9, 0xba, 0x51, 0xdf, 0xb1, - 0xb7, 0x3f, 0xff, 0xa2, 0xbe, 0xbb, 0xb7, 0xb5, 0xb5, 0xba, 0x51, 0x2e, 0x91, 0x39, 0x98, 0x66, - 0xd5, 0x8f, 0xf6, 0x96, 0x56, 0x75, 0x80, 0x72, 0x2f, 0xb9, 0x0e, 0x57, 0xb2, 0x6a, 0xea, 0x6b, - 0xab, 0xd5, 0x95, 0x8d, 0xd5, 0x5a, 0xad, 0xdc, 0x67, 0xb5, 0x60, 0x54, 0x63, 0x01, 0x59, 0x80, - 0xb9, 0xe5, 0x55, 0x7b, 0xb7, 0xbe, 0xb3, 0x67, 0xef, 0x6c, 0xd7, 0x56, 0xeb, 0x66, 0x47, 0x92, - 0xb5, 0x1b, 0xdb, 0x0f, 0xd6, 0xb7, 0xea, 0xac, 0xa8, 0x56, 0x2e, 0xb1, 0xd6, 0x8c, 0xda, 0xda, - 0xfa, 0xd6, 0x83, 0x8d, 0xd5, 0xfa, 0x5e, 0x6d, 0x55, 0x80, 0xf4, 0x5a, 0x3f, 0xeb, 0x4d, 0x09, - 0x74, 0xb2, 0x08, 0xa3, 0x35, 0x6e, 0x4d, 0xe2, 0x22, 0xe7, 0xea, 0x7b, 0xf9, 0xf4, 0xa4, 0x32, - 0x26, 0x8c, 0x4c, 0xbe, 0x7e, 0x75, 0x20, 0xb6, 0x47, 0xef, 0xb0, 0xf9, 0x6c, 0xf8, 0x2d, 0x7d, - 0x8f, 0x6e, 0x8b, 0x32, 0x5b, 0xd5, 0x92, 0x45, 0x6d, 0x37, 0xe7, 0xba, 0x3c, 0xea, 0x8b, 0x72, - 0x37, 0xd7, 0x25, 0xbb, 0xda, 0xd7, 0x17, 0xe3, 0x89, 0x13, 0x9b, 0x30, 0xe2, 0x64, 0xec, 0x24, - 0x0a, 0x8e, 0xbc, 0x2d, 0xb5, 0x1c, 0xae, 0x7b, 0xa3, 0xa8, 0x4f, 0x68, 0x8d, 0x42, 0xc1, 0xb1, - 0x3a, 0x39, 0x62, 0x95, 0x7c, 0x9c, 0x5c, 0x19, 0x82, 0x19, 0x48, 0x2c, 0x21, 0x3d, 0xed, 0x04, - 0x28, 0xa9, 0xc0, 0x00, 0xff, 0xde, 0x38, 0x3f, 0x50, 0xaf, 0x6a, 0xb1, 0x02, 0x9b, 0x97, 0x5b, - 0xbf, 0xdb, 0xa7, 0x6f, 0x31, 0x4c, 0x8f, 0xd2, 0xf8, 0x8d, 0x7a, 0x14, 0xf2, 0x19, 0x4b, 0x99, - 0xca, 0x54, 0xa3, 0x61, 0x88, 0x1a, 0xa8, 0xa0, 0x88, 0x2a, 0x53, 0xc8, 0x0b, 0x99, 0x51, 0x15, - 0x03, 0x30, 0xb5, 0x9e, 0xeb, 0x4f, 0xa8, 0xd6, 0xf7, 0xc5, 0x6a, 0xbd, 0xd0, 0xb0, 0xb8, 0x5a, - 0x1f, 0x83, 0xb0, 0x39, 0x17, 0x5b, 0x3c, 0xf6, 0xa1, 0x3f, 0x9e, 0x73, 0xa1, 0x16, 0x88, 0x39, - 0xd7, 0x80, 0xc8, 0x47, 0x00, 0xd5, 0xc7, 0x35, 0xd4, 0x8e, 0xed, 0x2d, 0xa1, 0xe6, 0xa0, 0x40, - 0x72, 0x9e, 0x87, 0x7c, 0x23, 0x70, 0x02, 0x5d, 0xff, 0xd7, 0xa0, 0xc9, 0x12, 0x8c, 0x57, 0x7f, - 0xda, 0x09, 0xe8, 0x7a, 0x93, 0xc9, 0xb4, 0x88, 0x1b, 0x3a, 0x23, 0x4b, 0x0b, 0xa7, 0x27, 0x95, - 0x39, 0x87, 0x55, 0xd4, 0x5d, 0x51, 0xa3, 0x11, 0x30, 0x51, 0xc8, 0x36, 0x5c, 0x78, 0xb0, 0xbc, - 0x23, 0x56, 0x61, 0xb5, 0xd1, 0xf0, 0x3b, 0x5e, 0x24, 0x74, 0x9b, 0xeb, 0xa7, 0x27, 0x95, 0x2b, - 0x87, 0x8d, 0x76, 0x5d, 0xae, 0x58, 0x87, 0x57, 0xeb, 0xca, 0x4d, 0x0a, 0xd7, 0x6a, 0xc1, 0xc4, - 0x03, 0x1a, 0xb1, 0x55, 0x27, 0x15, 0xd5, 0xe2, 0x39, 0xf9, 0x2e, 0x8c, 0x3e, 0x76, 0xa3, 0xa3, - 0x1a, 0x6d, 0x04, 0x34, 0x92, 0x66, 0x34, 0x72, 0xe0, 0xb9, 0x1b, 0x1d, 0xd5, 0x43, 0x5e, 0xae, - 0x8b, 0x64, 0x0d, 0xdc, 0x5a, 0x85, 0x49, 0xd1, 0x9a, 0xd2, 0x8b, 0x17, 0x4d, 0x82, 0x25, 0x24, - 0x88, 0xb3, 0xa0, 0x13, 0x34, 0xc9, 0xfc, 0xb3, 0x5e, 0x98, 0x59, 0x3e, 0x72, 0xbc, 0x43, 0xba, - 0xe3, 0x84, 0xe1, 0x73, 0x3f, 0x68, 0x6a, 0x9d, 0x47, 0xa3, 0x20, 0xd5, 0x79, 0xb4, 0x02, 0x16, - 0x61, 0x74, 0xbb, 0xd5, 0x94, 0x38, 0xc2, 0x60, 0xc1, 0xb6, 0xfc, 0x56, 0xb3, 0xde, 0x96, 0xb4, - 0x74, 0x20, 0x86, 0xb3, 0x45, 0x9f, 0x2b, 0x9c, 0xbe, 0x18, 0xc7, 0xa3, 0xcf, 0x35, 0x1c, 0x0d, - 0x88, 0xac, 0xc2, 0x85, 0x1a, 0x6d, 0xf8, 0x5e, 0xf3, 0xbe, 0xd3, 0x88, 0xfc, 0x60, 0xd7, 0x7f, - 0x4a, 0x3d, 0xb1, 0xbe, 0x50, 0xa7, 0x0b, 0xb1, 0xb2, 0xfe, 0x04, 0x6b, 0xeb, 0x11, 0xab, 0xb6, - 0xd3, 0x18, 0x64, 0x1b, 0x86, 0x1f, 0x0b, 0x67, 0x8c, 0xb0, 0x72, 0xde, 0xb8, 0xa5, 0xbc, 0x33, - 0xcb, 0x01, 0xc5, 0x45, 0xe1, 0xb4, 0x94, 0x9d, 0xa6, 0xb6, 0x48, 0x94, 0x43, 0x12, 0xd2, 0x56, - 0x44, 0xac, 0x3d, 0x18, 0xdf, 0x69, 0x75, 0x0e, 0x5d, 0x8f, 0x49, 0x8c, 0x1a, 0xfd, 0x09, 0x59, - 0x01, 0x88, 0x0b, 0x84, 0x8b, 0x65, 0x4a, 0xd8, 0x46, 0x71, 0xc5, 0xfe, 0x3d, 0xf1, 0x21, 0x61, - 0x09, 0x2a, 0xb3, 0xb6, 0x86, 0x67, 0xfd, 0xaf, 0x3e, 0x20, 0x62, 0x02, 0x70, 0xf7, 0xab, 0xd1, - 0x88, 0x6d, 0x21, 0x17, 0xa1, 0x57, 0x79, 0x42, 0x06, 0x4f, 0x4f, 0x2a, 0xbd, 0x6e, 0xd3, 0xee, - 0x5d, 0x5f, 0x21, 0xef, 0xc2, 0x00, 0x82, 0x21, 0xff, 0x27, 0x54, 0x7b, 0x3a, 0x05, 0x2e, 0x39, - 0x70, 0x57, 0xb6, 0x39, 0x30, 0x79, 0x0f, 0x46, 0x56, 0x68, 0x8b, 0x1e, 0x3a, 0x91, 0x2f, 0xbf, - 0x6e, 0xee, 0x5b, 0x90, 0x85, 0xda, 0x9a, 0x8b, 0x21, 0x99, 0x25, 0x63, 0x53, 0x27, 0xf4, 0x3d, - 0xdd, 0x92, 0x09, 0xb0, 0x44, 0xb7, 0x64, 0x38, 0x0c, 0xf9, 0x83, 0x12, 0x8c, 0x56, 0x3d, 0x4f, - 0xd8, 0xec, 0xa1, 0xe0, 0xfa, 0xcc, 0x2d, 0xe5, 0xe4, 0xda, 0x70, 0x0e, 0x68, 0x6b, 0xdf, 0x69, - 0x75, 0x68, 0xb8, 0xf4, 0x25, 0x53, 0x2e, 0xff, 0xc3, 0x49, 0xe5, 0xe3, 0x73, 0x58, 0xe1, 0xb1, - 0xbb, 0x6c, 0x37, 0x70, 0xdc, 0x28, 0x3c, 0x3d, 0xa9, 0xcc, 0x38, 0x71, 0x83, 0xfa, 0x77, 0xa3, - 0xf5, 0x23, 0x16, 0xec, 0x83, 0xdd, 0x04, 0x3b, 0x39, 0x86, 0xc9, 0x6a, 0x18, 0x76, 0x8e, 0x69, - 0x2d, 0x72, 0x82, 0x88, 0x99, 0x7e, 0x28, 0x1f, 0x8a, 0xed, 0xc2, 0xb7, 0x7e, 0x7e, 0x52, 0x29, - 0x31, 0x7d, 0xd6, 0x41, 0x54, 0xa6, 0x0f, 0x05, 0x51, 0x3d, 0x72, 0xf5, 0xbd, 0x09, 0x2d, 0xc4, - 0x24, 0x6d, 0xeb, 0x35, 0xa5, 0x34, 0xac, 0xaf, 0xe4, 0xcd, 0xb8, 0xb5, 0x0c, 0x0b, 0x0f, 0x68, - 0x64, 0xd3, 0x90, 0x46, 0xf2, 0x1b, 0xc1, 0x15, 0x1e, 0xfb, 0xcd, 0x86, 0xf0, 0xb7, 0x42, 0xc6, - 0xe9, 0xe7, 0xdf, 0x85, 0xac, 0xb1, 0xfe, 0x4a, 0x09, 0x2a, 0xcb, 0x01, 0xe5, 0xaa, 0x60, 0x0e, - 0xa1, 0x62, 0xd9, 0xb5, 0x00, 0xfd, 0xbb, 0x2f, 0xda, 0xd2, 0xa0, 0xc6, 0x5a, 0x36, 0x29, 0x36, - 0x96, 0x9e, 0xd1, 0x3b, 0x61, 0x3d, 0x81, 0x19, 0x9b, 0x7a, 0xf4, 0xb9, 0x73, 0xd0, 0xa2, 0x86, - 0x81, 0x5f, 0x81, 0x01, 0xfe, 0xa1, 0xa7, 0x86, 0xc0, 0xcb, 0xcf, 0xe7, 0x2c, 0xb1, 0xc6, 0x61, - 0x74, 0xc7, 0xf5, 0x0e, 0x05, 0x75, 0xeb, 0x8f, 0xfa, 0x60, 0x8c, 0xff, 0x16, 0xda, 0x6d, 0x62, - 0xf7, 0x2a, 0x9d, 0x65, 0xf7, 0xfa, 0x00, 0xc6, 0x99, 0xf8, 0xa7, 0xc1, 0x3e, 0x0d, 0xd8, 0xae, - 0x29, 0x38, 0x81, 0x9a, 0x7a, 0x88, 0x15, 0xf5, 0x67, 0xbc, 0xc6, 0x36, 0x01, 0xc9, 0x06, 0x4c, - 0xf0, 0x82, 0xfb, 0xd4, 0x89, 0x3a, 0xb1, 0xb3, 0x61, 0x52, 0xa8, 0xb4, 0xb2, 0x98, 0x2f, 0x4d, - 0x41, 0xeb, 0x89, 0x28, 0xb4, 0x13, 0xb8, 0xe4, 0x53, 0x98, 0xdc, 0x09, 0xfc, 0xaf, 0x5e, 0x68, - 0xfb, 0x35, 0xff, 0x3a, 0xb9, 0xf2, 0xcb, 0xaa, 0xea, 0xfa, 0xae, 0x9d, 0x84, 0x26, 0x6f, 0xc3, - 0xf0, 0x7a, 0xb8, 0xe4, 0x07, 0xae, 0x77, 0x88, 0xdf, 0xe8, 0x30, 0xf7, 0xa1, 0xba, 0x61, 0xfd, - 0x00, 0x0b, 0x6d, 0x55, 0x9d, 0xf0, 0xf6, 0x0d, 0x75, 0xf7, 0xf6, 0xdd, 0x01, 0xd8, 0xf0, 0x9d, - 0x66, 0xb5, 0xd5, 0x5a, 0xae, 0x86, 0x68, 0xe9, 0x8b, 0xfd, 0xa8, 0xe5, 0x3b, 0xcd, 0xba, 0xd3, - 0x6a, 0xd5, 0x1b, 0x4e, 0x68, 0x6b, 0x30, 0x0f, 0xfb, 0x87, 0x07, 0xcb, 0x43, 0xf6, 0xe4, 0x86, - 0xdb, 0xa0, 0x5e, 0x48, 0x1f, 0x3b, 0x81, 0xe7, 0x7a, 0x87, 0xa1, 0xf5, 0x6f, 0x27, 0x61, 0x58, - 0x0d, 0xf9, 0x96, 0xae, 0x97, 0x8b, 0x5d, 0x0e, 0x67, 0x3f, 0xf6, 0x46, 0xd8, 0x1a, 0x04, 0xb9, - 0x84, 0x9a, 0xba, 0xd8, 0x5f, 0x87, 0xd8, 0x6a, 0x74, 0xda, 0x6d, 0x9b, 0x95, 0xb1, 0xaf, 0x6c, - 0x65, 0x09, 0xf9, 0x3f, 0xcc, 0xbf, 0xb2, 0xe6, 0x81, 0xdd, 0xbb, 0xb2, 0xc4, 0x96, 0xf7, 0xf6, - 0xfa, 0xca, 0x32, 0xb2, 0x72, 0x98, 0x2f, 0x6f, 0xdf, 0x6d, 0x36, 0x6c, 0x2c, 0x65, 0xb5, 0xb5, - 0xea, 0xe6, 0x86, 0x60, 0x17, 0xd6, 0x86, 0xce, 0x71, 0xcb, 0xc6, 0x52, 0xa6, 0xf5, 0x71, 0xc3, - 0x72, 0xd9, 0xf7, 0xa2, 0xc0, 0x6f, 0x85, 0xa8, 0x9c, 0x0c, 0xf3, 0xe9, 0x14, 0x16, 0x69, 0x43, - 0x54, 0xd9, 0x09, 0x50, 0xf2, 0x18, 0x66, 0xab, 0xcd, 0x67, 0x8e, 0xd7, 0xa0, 0x4d, 0x5e, 0xf3, - 0xd8, 0x0f, 0x9e, 0x3e, 0x69, 0xf9, 0xcf, 0x43, 0xe4, 0xf7, 0xb0, 0x70, 0xe0, 0x08, 0x10, 0x69, - 0xe0, 0x3e, 0x97, 0x40, 0x76, 0x1e, 0x36, 0xfb, 0xa4, 0x96, 0x5b, 0x7e, 0xa7, 0x29, 0x66, 0x01, - 0x3f, 0xa9, 0x06, 0x2b, 0xb0, 0x79, 0x39, 0xe3, 0xd2, 0x5a, 0x6d, 0x13, 0xdd, 0x25, 0x82, 0x4b, - 0x47, 0xe1, 0xb1, 0xcd, 0xca, 0xc8, 0x1b, 0x30, 0x24, 0x15, 0x58, 0xee, 0x6f, 0x45, 0x2f, 0xa2, - 0x54, 0x5c, 0x65, 0x1d, 0xfb, 0x24, 0x6c, 0xda, 0xf0, 0x9f, 0xd1, 0xe0, 0xc5, 0xb2, 0xdf, 0xa4, - 0xd2, 0xb8, 0x17, 0xc6, 0x2b, 0xaf, 0xa8, 0x37, 0x58, 0x8d, 0x6d, 0x02, 0xb2, 0x06, 0xf8, 0x1e, - 0xc8, 0x4c, 0x78, 0xd5, 0x00, 0xdf, 0x23, 0x43, 0x5b, 0xd6, 0x91, 0x15, 0xb8, 0x50, 0xed, 0x44, - 0xfe, 0xb1, 0x13, 0xb9, 0x8d, 0xbd, 0xf6, 0x61, 0xe0, 0xb0, 0x46, 0xca, 0x88, 0x80, 0x0a, 0xbd, - 0x23, 0x2b, 0xeb, 0x1d, 0x51, 0x6b, 0xa7, 0x11, 0xc8, 0xfb, 0x30, 0xb6, 0x1e, 0x72, 0x07, 0x8e, - 0x13, 0xd2, 0x26, 0x5a, 0xe1, 0xa2, 0x97, 0x6e, 0x58, 0x47, 0x77, 0x4e, 0x9d, 0x99, 0x00, 0x4d, - 0xdb, 0x80, 0x23, 0x16, 0x0c, 0x56, 0xc3, 0xd0, 0x0d, 0x23, 0x34, 0xae, 0x87, 0x97, 0xe0, 0xf4, - 0xa4, 0x32, 0xe8, 0x60, 0x89, 0x2d, 0x6a, 0xc8, 0x63, 0x18, 0x5d, 0xa1, 0x4c, 0x27, 0xdc, 0x0d, - 0x3a, 0x61, 0x84, 0xa6, 0xf2, 0xe8, 0xe2, 0x25, 0xf1, 0x61, 0x6b, 0x35, 0x62, 0x2d, 0x73, 0x6d, - 0xaf, 0x89, 0xe5, 0xf5, 0x88, 0x55, 0xe8, 0xbb, 0x96, 0x06, 0xcf, 0x14, 0x5e, 0x81, 0xb3, 0xe6, - 0x36, 0xd9, 0xa7, 0x3a, 0x8d, 0x7d, 0x40, 0x85, 0x57, 0xc8, 0x86, 0xfa, 0x11, 0xd6, 0xe8, 0x0a, - 0xaf, 0x81, 0x42, 0x1a, 0x29, 0x9f, 0xe0, 0x8c, 0xe1, 0xf7, 0x31, 0x2b, 0x65, 0x17, 0xcf, 0xe9, - 0x31, 0xfc, 0x2e, 0x8c, 0x2e, 0x77, 0xc2, 0xc8, 0x3f, 0xde, 0x3d, 0xa2, 0xc7, 0x74, 0xee, 0x62, - 0xac, 0xd6, 0x37, 0xb0, 0xb8, 0x1e, 0xb1, 0x72, 0x7d, 0x98, 0x1a, 0x38, 0xf9, 0x0c, 0x88, 0xd4, - 0xcf, 0x1f, 0xb0, 0xf5, 0xe1, 0xb1, 0xb5, 0x3c, 0x37, 0x8b, 0x63, 0x45, 0xa5, 0x5c, 0xaa, 0xf5, - 0xf5, 0x43, 0x55, 0xad, 0x7b, 0x75, 0xd2, 0xc8, 0xac, 0x43, 0xbc, 0x8b, 0x0f, 0x02, 0xa7, 0x7d, - 0x34, 0x37, 0x17, 0x6b, 0xd9, 0x62, 0x50, 0x87, 0xac, 0xdc, 0xd0, 0x16, 0x62, 0x70, 0x52, 0x03, - 0xe0, 0x3f, 0x37, 0xd8, 0xc4, 0x5f, 0x42, 0x7e, 0xcd, 0x19, 0xfc, 0x62, 0x15, 0x92, 0x57, 0x97, - 0x50, 0x07, 0xe1, 0x64, 0x5b, 0xae, 0x31, 0x9b, 0x1a, 0x19, 0xf2, 0x14, 0xca, 0xfc, 0xd7, 0xa6, - 0xef, 0xb9, 0x11, 0x17, 0xbd, 0xf3, 0x86, 0xc3, 0x26, 0x59, 0x2d, 0x1b, 0x40, 0x47, 0x99, 0x68, - 0xe0, 0x58, 0xd5, 0x6a, 0xcd, 0xa4, 0x08, 0x93, 0x1d, 0x18, 0xdd, 0x09, 0xfc, 0x66, 0xa7, 0x11, - 0xe1, 0x86, 0x7d, 0x19, 0x15, 0x45, 0x22, 0xda, 0xd1, 0x6a, 0x38, 0x4f, 0xda, 0xbc, 0xa0, 0xce, - 0x36, 0x73, 0x9d, 0x27, 0x1a, 0x20, 0x59, 0x82, 0xc1, 0x1d, 0xbf, 0xe5, 0x36, 0x5e, 0xcc, 0x2d, - 0x60, 0xa7, 0xa7, 0x25, 0x31, 0x2c, 0x94, 0x5d, 0x45, 0xed, 0xb0, 0x8d, 0x45, 0xba, 0x76, 0xc8, - 0x81, 0x48, 0x15, 0xc6, 0x3f, 0x63, 0x0b, 0xc6, 0xf5, 0x3d, 0xcf, 0x71, 0x03, 0x3a, 0x77, 0x05, - 0xe7, 0x05, 0x9d, 0x99, 0x3f, 0xd1, 0x2b, 0xf4, 0xe5, 0x6c, 0x60, 0x90, 0x75, 0x98, 0x5c, 0x0f, - 0x6b, 0x51, 0xe0, 0xb6, 0xe9, 0xa6, 0xe3, 0x39, 0x87, 0xb4, 0x39, 0x77, 0x35, 0xf6, 0x26, 0xba, - 0x61, 0x3d, 0xc4, 0xba, 0xfa, 0x31, 0xaf, 0xd4, 0xbd, 0x89, 0x09, 0x3c, 0xf2, 0x39, 0x4c, 0xaf, - 0x7e, 0x15, 0xb1, 0x15, 0xd3, 0xaa, 0x76, 0x9a, 0x6e, 0x54, 0x8b, 0xfc, 0xc0, 0x39, 0xa4, 0x73, - 0x15, 0xa4, 0xf7, 0xfa, 0xe9, 0x49, 0xe5, 0x1a, 0x15, 0xf5, 0x75, 0x87, 0x01, 0xd4, 0x43, 0x0e, - 0xa1, 0x9f, 0xe2, 0x65, 0x51, 0x60, 0xdc, 0xaf, 0x75, 0xda, 0x4c, 0x71, 0x45, 0xee, 0x5f, 0x33, - 0xb8, 0xaf, 0xd5, 0x70, 0xee, 0x87, 0xbc, 0x20, 0xc5, 0x7d, 0x0d, 0x90, 0xd8, 0x40, 0x1e, 0xfa, - 0xae, 0x57, 0x6d, 0x44, 0xee, 0x33, 0x2a, 0x4c, 0xf6, 0x70, 0xee, 0x3a, 0xf6, 0x14, 0x3d, 0x9f, - 0xbf, 0xee, 0xbb, 0x5e, 0xdd, 0xc1, 0xea, 0xba, 0x30, 0xef, 0x0d, 0xcf, 0x67, 0x1a, 0x9b, 0xfc, - 0x08, 0x2e, 0x6e, 0xfa, 0x07, 0x6e, 0x8b, 0x72, 0x91, 0xc3, 0xd9, 0x82, 0x3e, 0x3c, 0x0b, 0xe9, - 0xa2, 0xe7, 0xf3, 0x18, 0x21, 0xea, 0x42, 0x5a, 0x1d, 0x2b, 0x18, 0xdd, 0xf3, 0x99, 0x4d, 0xe5, - 0x61, 0xff, 0xf0, 0x68, 0x79, 0x8c, 0x9f, 0x8e, 0x3d, 0xec, 0x1f, 0x1e, 0x2f, 0x4f, 0x58, 0x7f, - 0x58, 0x02, 0x92, 0x96, 0x87, 0xe4, 0x36, 0x0c, 0x51, 0x8f, 0xa9, 0x83, 0x4d, 0xb1, 0xaf, 0xa3, - 0x16, 0x23, 0x8a, 0x74, 0x17, 0x9e, 0x28, 0x22, 0x9f, 0xc1, 0x14, 0xef, 0x90, 0x94, 0xdc, 0x2d, - 0xf7, 0xd8, 0x8d, 0x70, 0xaf, 0x1f, 0xe0, 0x12, 0x23, 0xa3, 0x5a, 0x37, 0xe3, 0x45, 0x35, 0xca, - 0xf9, 0x0d, 0x56, 0x69, 0x75, 0x60, 0x26, 0x53, 0x12, 0x92, 0x4d, 0x98, 0x39, 0xf6, 0xbd, 0xe8, - 0xa8, 0xf5, 0x42, 0x0a, 0x42, 0xd1, 0x5a, 0x09, 0x5b, 0xc3, 0x8f, 0x3f, 0x13, 0xc0, 0x9e, 0x12, - 0xc5, 0x82, 0x22, 0xb6, 0xf3, 0xb0, 0x7f, 0xb8, 0xb7, 0xdc, 0xa7, 0x46, 0x62, 0xd9, 0x70, 0x21, - 0x25, 0x50, 0xc8, 0xf7, 0x60, 0xac, 0x81, 0x7a, 0xba, 0xd1, 0x12, 0x17, 0xa7, 0x5a, 0xb9, 0xbe, - 0x56, 0x78, 0x39, 0x1f, 0xca, 0x3f, 0x2e, 0xc1, 0x6c, 0x8e, 0x28, 0x39, 0x3f, 0xab, 0xbf, 0x80, - 0x8b, 0xc7, 0xce, 0x57, 0xf5, 0x00, 0xcd, 0xb0, 0x7a, 0xe0, 0x78, 0x09, 0x6e, 0xe3, 0x67, 0x92, - 0x0d, 0xa1, 0x47, 0x00, 0x1c, 0x3b, 0x5f, 0xd9, 0x08, 0x60, 0xb3, 0x7a, 0xde, 0xcf, 0xef, 0xc3, - 0xb8, 0x21, 0x3c, 0xce, 0xdd, 0x39, 0xeb, 0x2e, 0x5c, 0x60, 0x86, 0x6a, 0x44, 0xcf, 0xec, 0x7e, - 0xb1, 0x76, 0x00, 0x6a, 0xf4, 0xd8, 0x69, 0x1f, 0xf9, 0x4c, 0xa9, 0x5c, 0xd2, 0x7f, 0x09, 0xf3, - 0x9d, 0x08, 0x73, 0x5a, 0x55, 0xec, 0xdf, 0x93, 0x5e, 0x33, 0x09, 0x69, 0x6b, 0x58, 0xd6, 0x9f, - 0xf4, 0x02, 0x11, 0x5f, 0x7f, 0x40, 0x9d, 0x63, 0xd9, 0x8d, 0x0f, 0x61, 0x8c, 0x1b, 0x5b, 0xbc, - 0x18, 0xbb, 0x33, 0xba, 0x38, 0x25, 0x84, 0x80, 0x5e, 0xb5, 0xd6, 0x63, 0x1b, 0xa0, 0x0c, 0xd5, - 0xa6, 0xdc, 0x4a, 0x44, 0xd4, 0x5e, 0x03, 0x55, 0xaf, 0x62, 0xa8, 0xfa, 0x6f, 0xf2, 0x29, 0x4c, - 0x2c, 0xfb, 0xc7, 0x6d, 0xc6, 0x13, 0x81, 0xdc, 0x27, 0x2c, 0x70, 0xd1, 0xae, 0x51, 0xb9, 0xd6, - 0x63, 0x27, 0xc0, 0xc9, 0x16, 0x4c, 0xdd, 0x6f, 0x75, 0xc2, 0xa3, 0xaa, 0xd7, 0x5c, 0x6e, 0xf9, - 0xa1, 0xa4, 0xd2, 0x2f, 0x2c, 0x60, 0x61, 0xac, 0xa4, 0x21, 0xd6, 0x7a, 0xec, 0x2c, 0x44, 0xf2, - 0x06, 0x0c, 0xac, 0x3e, 0x63, 0x32, 0x45, 0x9e, 0x32, 0x8b, 0x30, 0x95, 0x6d, 0x8f, 0x6e, 0x3f, - 0x59, 0xeb, 0xb1, 0x79, 0xed, 0xd2, 0x08, 0x0c, 0x49, 0x43, 0xed, 0x36, 0xd3, 0xf7, 0x14, 0x3b, - 0x6b, 0x91, 0x13, 0x75, 0x42, 0x32, 0x0f, 0xc3, 0x7b, 0x6d, 0x66, 0x3f, 0x48, 0x0b, 0xd7, 0x56, - 0xbf, 0xad, 0x77, 0x4c, 0x4e, 0x93, 0x05, 0xdd, 0xeb, 0xc9, 0x81, 0xe3, 0x02, 0x6b, 0xcd, 0x64, - 0x6e, 0x31, 0xb4, 0xd1, 0x6e, 0x6f, 0xa2, 0xdd, 0x72, 0x92, 0xd7, 0xd6, 0x4c, 0x26, 0xf3, 0xac, - 0xcf, 0xe1, 0xea, 0x5e, 0x3b, 0xa4, 0x41, 0x54, 0x6d, 0xb7, 0x5b, 0x6e, 0x83, 0x9f, 0x72, 0xa0, - 0x41, 0x27, 0x17, 0xcb, 0xfb, 0x30, 0xc8, 0x0b, 0xc4, 0x32, 0x91, 0x6b, 0xb0, 0xda, 0x6e, 0x0b, - 0x33, 0xf2, 0x1e, 0xd7, 0x3c, 0xb9, 0x61, 0x68, 0x0b, 0x68, 0xeb, 0xf7, 0x4a, 0x70, 0x95, 0x7f, - 0x01, 0xb9, 0xa4, 0xbf, 0x05, 0x23, 0x18, 0x25, 0xd2, 0x76, 0x1a, 0xf2, 0x9b, 0xe0, 0xe1, 0x32, - 0xb2, 0xd0, 0x8e, 0xeb, 0xb5, 0xf8, 0x9b, 0xde, 0xfc, 0xf8, 0x1b, 0xf9, 0x81, 0xf5, 0x65, 0x7e, - 0x60, 0x9f, 0x81, 0x25, 0x7a, 0xd4, 0x6a, 0xa5, 0x3a, 0x15, 0xbe, 0x4c, 0xaf, 0xac, 0xff, 0xd2, - 0x0b, 0xb3, 0x0f, 0xa8, 0x47, 0x03, 0x07, 0xc7, 0x69, 0x38, 0x2c, 0xf4, 0x73, 0xfe, 0x52, 0xe1, - 0x39, 0x7f, 0x45, 0xba, 0x80, 0x7a, 0xd1, 0x05, 0x94, 0x0a, 0x59, 0x60, 0xb6, 0xd0, 0x9e, 0xbd, - 0x2e, 0x86, 0x85, 0xb6, 0x50, 0x27, 0x70, 0x6d, 0x56, 0x46, 0xd6, 0xe3, 0x18, 0x81, 0xfe, 0xae, - 0xbe, 0xa0, 0x29, 0x71, 0x66, 0x3a, 0x24, 0x62, 0x04, 0xcc, 0xc8, 0x80, 0x2d, 0x18, 0xe4, 0x9e, - 0x2b, 0x3c, 0x63, 0x18, 0x5d, 0xbc, 0x29, 0xbe, 0xa9, 0x9c, 0x01, 0x0a, 0x37, 0xd7, 0xaa, 0x17, - 0x05, 0x2f, 0xf8, 0x12, 0x88, 0xb0, 0xc0, 0x16, 0x54, 0xe6, 0x3f, 0x83, 0x51, 0x0d, 0x84, 0x94, - 0xa1, 0xef, 0xa9, 0x88, 0x8f, 0x18, 0xb1, 0xd9, 0x9f, 0xe4, 0x1d, 0x18, 0x78, 0xe6, 0xb4, 0x3a, - 0x54, 0x88, 0x91, 0x8b, 0xb1, 0x2f, 0x8e, 0xa9, 0x43, 0xde, 0x21, 0x77, 0xc6, 0xd9, 0x1c, 0xe8, - 0xa3, 0xde, 0x0f, 0x4a, 0xd6, 0xc7, 0x30, 0x97, 0xee, 0x8d, 0xf0, 0x9a, 0x74, 0x73, 0xd2, 0x58, - 0x2b, 0x30, 0xfd, 0x80, 0x46, 0xb8, 0x70, 0xf1, 0x23, 0xd2, 0xc2, 0x37, 0x12, 0xdf, 0x59, 0xc1, - 0x59, 0x84, 0x55, 0x83, 0x99, 0x04, 0x15, 0xd1, 0xfe, 0x47, 0x30, 0x24, 0x8a, 0x94, 0x44, 0x15, - 0x01, 0x6d, 0xf4, 0x40, 0x54, 0xec, 0x2f, 0xf2, 0x75, 0x2b, 0x28, 0xdb, 0x12, 0xc1, 0x3a, 0x82, - 0x8b, 0x6c, 0x9b, 0x8d, 0xa9, 0xaa, 0xe5, 0x78, 0x19, 0x46, 0xda, 0x4c, 0x51, 0x08, 0xdd, 0x9f, - 0xf2, 0x65, 0x34, 0x60, 0x0f, 0xb3, 0x82, 0x9a, 0xfb, 0x53, 0x4a, 0xae, 0x00, 0x60, 0x25, 0x0e, - 0x53, 0x48, 0x01, 0x04, 0xe7, 0x5e, 0x29, 0x02, 0x18, 0x27, 0xc3, 0xd7, 0x8d, 0x8d, 0x7f, 0x5b, - 0x01, 0xcc, 0xa6, 0x5a, 0x12, 0x03, 0xb8, 0x0d, 0xc3, 0x52, 0x3f, 0x4b, 0xf8, 0x8b, 0xf5, 0x11, - 0xd8, 0x0a, 0x88, 0xbc, 0x09, 0x93, 0x1e, 0xfd, 0x2a, 0xaa, 0xa7, 0xfa, 0x30, 0xce, 0x8a, 0x77, - 0x64, 0x3f, 0xac, 0x5f, 0x43, 0x1f, 0x61, 0xcd, 0xf3, 0x9f, 0x3f, 0x69, 0x39, 0x4f, 0x69, 0xaa, - 0xe1, 0xef, 0xc1, 0x70, 0xad, 0x7b, 0xc3, 0xfc, 0xf3, 0x91, 0x8d, 0xdb, 0x0a, 0xc5, 0x6a, 0xc1, - 0x3c, 0x1b, 0x52, 0xad, 0xba, 0xb9, 0xb1, 0xde, 0xdc, 0xf9, 0xa6, 0x19, 0xf8, 0x0c, 0x2e, 0x67, - 0xb6, 0xf6, 0x4d, 0x33, 0xf1, 0x5f, 0xf4, 0xc1, 0x2c, 0xdf, 0x4c, 0xd2, 0x2b, 0xf8, 0xec, 0xa2, - 0xe6, 0x57, 0x72, 0x92, 0x76, 0x27, 0xe3, 0x24, 0x0d, 0x51, 0xf4, 0x93, 0x34, 0xe3, 0xfc, 0xec, - 0x83, 0xec, 0xf3, 0x33, 0x74, 0x82, 0x98, 0xe7, 0x67, 0xc9, 0x53, 0xb3, 0xd5, 0xfc, 0x53, 0x33, - 0x3c, 0x43, 0xc8, 0x38, 0x35, 0xcb, 0x38, 0x2b, 0x4b, 0x86, 0x2b, 0x0c, 0xbf, 0xd2, 0x70, 0x05, - 0xae, 0x5a, 0x5b, 0xfb, 0x30, 0x97, 0x9e, 0xc0, 0x57, 0x20, 0x3c, 0xfe, 0xb8, 0x04, 0x57, 0x84, - 0x9a, 0x91, 0xf8, 0xc4, 0xce, 0xbf, 0x3e, 0xde, 0x83, 0x31, 0x81, 0xbb, 0x1b, 0x2f, 0xc5, 0xa5, - 0x0b, 0xa7, 0x27, 0x95, 0x71, 0x29, 0x0e, 0xb9, 0x4c, 0x35, 0xc0, 0xc8, 0x7b, 0x30, 0x8c, 0x7f, - 0xc4, 0x5e, 0x76, 0x66, 0x7d, 0x8c, 0x20, 0x68, 0x3d, 0xe9, 0x6b, 0x57, 0xa0, 0xd6, 0x97, 0x70, - 0x35, 0xaf, 0xe3, 0xaf, 0x80, 0x2f, 0xff, 0xb2, 0x04, 0x97, 0x05, 0x79, 0xe3, 0x63, 0x7d, 0x29, - 0xb9, 0x7f, 0x8e, 0xb0, 0xbd, 0x87, 0x30, 0xca, 0x1a, 0x94, 0xfd, 0xee, 0x13, 0x9b, 0x9b, 0xd0, - 0xdd, 0xe3, 0x9a, 0x15, 0x27, 0x72, 0x44, 0x20, 0x82, 0x73, 0xdc, 0x92, 0xb6, 0xb1, 0xad, 0x23, - 0x5b, 0x3f, 0x80, 0x85, 0xec, 0x21, 0xbc, 0x02, 0xfe, 0x3c, 0x84, 0xf9, 0x0c, 0xb1, 0xfc, 0x72, - 0xbb, 0xe2, 0x17, 0x70, 0x39, 0x93, 0xd6, 0x2b, 0xe8, 0xe6, 0x1a, 0xdb, 0xf3, 0xa3, 0x57, 0x30, - 0x85, 0xd6, 0x63, 0xb8, 0x94, 0x41, 0xe9, 0x15, 0x74, 0xf1, 0x01, 0xcc, 0x2a, 0x5d, 0xf7, 0x6b, - 0xf5, 0x70, 0x13, 0xae, 0x70, 0x42, 0xaf, 0x66, 0x56, 0x1e, 0xc1, 0x65, 0x41, 0xee, 0x15, 0x70, - 0x6f, 0x0d, 0x16, 0x62, 0x93, 0x36, 0x43, 0x53, 0x39, 0xb3, 0x90, 0xb1, 0x36, 0xe0, 0x5a, 0x4c, - 0x29, 0x67, 0xdb, 0x3e, 0x3b, 0x35, 0xae, 0x90, 0xc5, 0xb3, 0xf4, 0x4a, 0x66, 0xf4, 0x31, 0x5c, - 0x34, 0x88, 0xbe, 0x32, 0x65, 0x65, 0x1d, 0xa6, 0x38, 0x61, 0x53, 0x79, 0x5d, 0xd4, 0x95, 0xd7, - 0xd1, 0xc5, 0x0b, 0x31, 0x49, 0x2c, 0xde, 0xbf, 0x97, 0xa1, 0xcf, 0x6e, 0xa2, 0x3e, 0x2b, 0x41, - 0xe2, 0x1e, 0xbe, 0x07, 0x83, 0xbc, 0x44, 0xf4, 0x2f, 0x83, 0x18, 0x57, 0xd7, 0x39, 0x9a, 0x00, - 0xb6, 0x7e, 0x04, 0x57, 0xb8, 0x2d, 0x18, 0x1f, 0x55, 0x99, 0xf6, 0xda, 0xf7, 0x12, 0xa6, 0xe0, - 0x25, 0x41, 0x37, 0x09, 0x9f, 0x63, 0x11, 0x1e, 0xc8, 0xb5, 0x9d, 0x47, 0xff, 0x4c, 0x57, 0x2c, - 0xa4, 0x89, 0xd7, 0x9b, 0x69, 0xe2, 0xbd, 0x06, 0xd7, 0x95, 0x89, 0x97, 0x6c, 0x46, 0x2e, 0x2d, - 0xeb, 0x07, 0x70, 0x99, 0x0f, 0x54, 0x06, 0x57, 0x99, 0xdd, 0xf8, 0x38, 0x31, 0xcc, 0x59, 0x31, - 0x4c, 0x13, 0x3a, 0x67, 0x90, 0x7f, 0xa3, 0x24, 0x3f, 0xb9, 0x6c, 0xe2, 0xbf, 0x6a, 0x9b, 0x77, - 0x0b, 0x2a, 0x8a, 0x21, 0x66, 0x8f, 0x5e, 0xce, 0xe0, 0xdd, 0x84, 0x19, 0x9d, 0x8c, 0xdb, 0xa0, - 0xfb, 0x77, 0xf1, 0x0c, 0xe1, 0x5d, 0xf6, 0x59, 0x60, 0x81, 0x5c, 0x76, 0x73, 0x19, 0x7c, 0x43, - 0x78, 0x5b, 0x41, 0x5a, 0x75, 0x58, 0x48, 0x4f, 0x85, 0xdb, 0x90, 0x71, 0xb5, 0xe4, 0x53, 0xf6, - 0x09, 0x63, 0x89, 0x98, 0x8c, 0x5c, 0xa2, 0xf2, 0x3b, 0xe6, 0xe8, 0x12, 0xcb, 0xb2, 0xa4, 0xa8, - 0x49, 0x8c, 0x9f, 0xb5, 0x2e, 0xd7, 0xc3, 0x6f, 0x02, 0x91, 0x55, 0xcb, 0x35, 0x5b, 0x36, 0x7d, - 0x09, 0xfa, 0x96, 0x6b, 0xb6, 0x08, 0xe7, 0x47, 0x9b, 0xbb, 0x11, 0x06, 0x36, 0x2b, 0x4b, 0xea, - 0xc4, 0xbd, 0x67, 0xd0, 0x89, 0x1f, 0xf6, 0x0f, 0xf7, 0x95, 0xfb, 0x6d, 0x52, 0x73, 0x0f, 0xbd, - 0xc7, 0x6e, 0x74, 0xa4, 0x1a, 0xac, 0x5a, 0x3f, 0x84, 0x29, 0xa3, 0x79, 0xf1, 0x15, 0x17, 0xde, - 0x43, 0x20, 0x6f, 0xc2, 0xd0, 0x72, 0x15, 0x63, 0x14, 0xd0, 0x69, 0x30, 0xc6, 0xe5, 0x4d, 0xc3, - 0xa9, 0xe3, 0x35, 0x34, 0x5b, 0x56, 0x5a, 0xff, 0xa8, 0x5f, 0xa3, 0xae, 0xdd, 0xee, 0x28, 0x18, - 0xdd, 0x5d, 0x00, 0xbe, 0x42, 0xb4, 0xc1, 0x31, 0x05, 0x70, 0x54, 0x1c, 0xfd, 0x73, 0x91, 0x6c, - 0x6b, 0x40, 0x67, 0xbd, 0xfd, 0x21, 0x22, 0x31, 0x39, 0x92, 0xbc, 0x92, 0xa4, 0x22, 0x31, 0x05, - 0xe9, 0xd0, 0xd6, 0x81, 0xc8, 0x8f, 0x92, 0x41, 0xca, 0x03, 0x78, 0x64, 0xf1, 0xba, 0x3c, 0xc3, - 0x4c, 0x8f, 0xed, 0x7c, 0x71, 0xca, 0xcf, 0x61, 0x86, 0xe1, 0xba, 0x4f, 0x50, 0xb5, 0x5f, 0xfd, - 0x2a, 0xa2, 0x1e, 0x97, 0xed, 0x83, 0xd8, 0xce, 0x1b, 0x05, 0xed, 0xc4, 0xc0, 0xc2, 0x03, 0x1e, - 0xd3, 0xa9, 0x53, 0x55, 0x67, 0x67, 0xd3, 0xc7, 0x45, 0x64, 0x6f, 0xac, 0x7a, 0xcd, 0xb6, 0xef, - 0x2a, 0x93, 0x85, 0x2f, 0xa2, 0xa0, 0x55, 0xa7, 0xa2, 0xdc, 0xd6, 0x81, 0xac, 0x37, 0x0b, 0xc3, - 0x78, 0x87, 0xa1, 0x7f, 0x77, 0x79, 0x77, 0xa3, 0x5c, 0xb2, 0x6e, 0x03, 0x68, 0x2d, 0x01, 0x0c, - 0x6e, 0x6d, 0xdb, 0x9b, 0xd5, 0x8d, 0x72, 0x0f, 0x99, 0x81, 0x0b, 0x8f, 0xd7, 0xb7, 0x56, 0xb6, - 0x1f, 0xd7, 0xea, 0xb5, 0xcd, 0xaa, 0xbd, 0xbb, 0x5c, 0xb5, 0x57, 0xca, 0x25, 0xeb, 0x4b, 0x98, - 0x36, 0x47, 0xf8, 0x4a, 0x17, 0x61, 0x04, 0x53, 0x4a, 0x9f, 0x79, 0xf8, 0x78, 0x57, 0x0b, 0x0f, - 0x14, 0xe6, 0x57, 0x32, 0xcc, 0x45, 0x18, 0x6a, 0xe2, 0x33, 0xd2, 0x80, 0xc8, 0xdb, 0x5c, 0x2d, - 0x48, 0xde, 0xb0, 0x63, 0x6a, 0x41, 0x3d, 0xd6, 0x0b, 0x50, 0xf4, 0x7d, 0x07, 0xa6, 0xcd, 0x56, - 0xcf, 0xea, 0x27, 0x7a, 0x1d, 0xe3, 0x26, 0xb5, 0xf0, 0x7e, 0x42, 0x74, 0xc7, 0xbd, 0x90, 0xac, - 0xdf, 0x81, 0xb2, 0x80, 0x8a, 0x77, 0xde, 0xd7, 0xa4, 0x23, 0xaf, 0x94, 0x71, 0x15, 0x49, 0x86, - 0xe7, 0xfa, 0x50, 0x66, 0x12, 0x53, 0x60, 0xf2, 0x06, 0xa6, 0x61, 0x60, 0x23, 0x3e, 0x50, 0xb1, - 0xf9, 0x0f, 0x8c, 0x72, 0x8f, 0x9c, 0x20, 0x92, 0x41, 0x45, 0x23, 0xb6, 0xfa, 0x4d, 0xde, 0x86, - 0xc1, 0xfb, 0x6e, 0x2b, 0x12, 0xce, 0x89, 0x78, 0x93, 0x67, 0x64, 0x79, 0x85, 0x2d, 0x00, 0x2c, - 0x1b, 0x2e, 0x68, 0x0d, 0x9e, 0xa3, 0xab, 0x64, 0x0e, 0x86, 0xb6, 0xe8, 0x57, 0x5a, 0xfb, 0xf2, - 0xa7, 0xf5, 0x3e, 0x5c, 0x10, 0x01, 0x5b, 0x1a, 0x9b, 0xae, 0x8b, 0x3b, 0x8d, 0x25, 0xe3, 0xda, - 0x96, 0x20, 0x89, 0x55, 0x0c, 0x6f, 0xaf, 0xdd, 0x7c, 0x49, 0x3c, 0xb6, 0x51, 0x9c, 0x13, 0xef, - 0x2d, 0x79, 0x0e, 0xd3, 0x6d, 0x3a, 0xff, 0xa4, 0x04, 0x73, 0x09, 0x3b, 0x7f, 0xf9, 0xc8, 0x69, - 0xb5, 0xa8, 0x77, 0x48, 0xc9, 0x0d, 0xe8, 0xdf, 0xdd, 0xde, 0xdd, 0x11, 0x7e, 0x4a, 0x79, 0xbe, - 0xcc, 0x8a, 0x14, 0x8c, 0x8d, 0x10, 0xe4, 0x11, 0x5c, 0x90, 0x21, 0x99, 0xaa, 0x4a, 0xcc, 0xd0, - 0x95, 0xe2, 0x00, 0xcf, 0x34, 0x1e, 0x79, 0x57, 0x38, 0x25, 0x7e, 0xd2, 0x71, 0x03, 0xda, 0x44, - 0xdf, 0x4b, 0x7c, 0x58, 0xab, 0xd5, 0xd8, 0x3a, 0x18, 0xbf, 0xdf, 0x66, 0xfd, 0x41, 0x09, 0x66, - 0x73, 0xfc, 0x16, 0xe4, 0x6d, 0x63, 0x38, 0x53, 0xda, 0x70, 0x24, 0xc8, 0x5a, 0x8f, 0x18, 0xcf, - 0xb2, 0x16, 0xa7, 0xda, 0x77, 0x8e, 0x38, 0xd5, 0xb5, 0x9e, 0x38, 0x36, 0x75, 0x09, 0x60, 0x58, - 0x96, 0x5b, 0x93, 0x30, 0x6e, 0xf0, 0xcd, 0xb2, 0x60, 0x4c, 0x6f, 0x99, 0x4d, 0xce, 0xb2, 0xdf, - 0x54, 0x93, 0xc3, 0xfe, 0xb6, 0xfe, 0x56, 0x09, 0xa6, 0x71, 0x88, 0x87, 0x2e, 0x13, 0x7d, 0x31, - 0x87, 0x16, 0x8d, 0x91, 0x2c, 0x18, 0x23, 0x49, 0xc0, 0xaa, 0x21, 0x7d, 0x94, 0x1a, 0xd2, 0x42, - 0xd6, 0x90, 0x70, 0x79, 0xbb, 0xbe, 0x67, 0x8c, 0x44, 0x3b, 0x0c, 0xfa, 0xc3, 0x12, 0x4c, 0x69, - 0x7d, 0x52, 0xfd, 0xbf, 0x6b, 0x74, 0xe9, 0x72, 0x46, 0x97, 0x52, 0x4c, 0x5e, 0x4a, 0xf5, 0xe8, - 0xf5, 0xa2, 0x1e, 0x75, 0xe5, 0xf1, 0x7f, 0x2e, 0xc1, 0x4c, 0x26, 0x0f, 0xc8, 0x45, 0xa6, 0xdb, - 0x36, 0x02, 0x1a, 0x09, 0xf6, 0x8a, 0x5f, 0xac, 0x7c, 0x3d, 0x0c, 0x3b, 0x34, 0x10, 0xdf, 0xb9, - 0xf8, 0x45, 0x5e, 0x87, 0xf1, 0x1d, 0x1a, 0xb8, 0x7e, 0x93, 0x47, 0x30, 0xf3, 0xd0, 0xc0, 0x71, - 0xdb, 0x2c, 0x24, 0x0b, 0x30, 0x52, 0x6d, 0x1d, 0xfa, 0x81, 0x1b, 0x1d, 0xf1, 0xf3, 0xb8, 0x11, - 0x3b, 0x2e, 0x60, 0xb4, 0x57, 0xdc, 0x43, 0x7e, 0xac, 0xc0, 0x90, 0xc5, 0x2f, 0x26, 0x5c, 0xa4, - 0xbf, 0x6e, 0x90, 0x0b, 0x17, 0xe9, 0x8c, 0xbb, 0x08, 0x83, 0x9f, 0xd9, 0xb8, 0x08, 0xf0, 0xde, - 0xaf, 0x2d, 0x7e, 0x91, 0x09, 0x8c, 0x41, 0xc5, 0x5b, 0xbd, 0x18, 0x7b, 0xfa, 0x11, 0x4c, 0x67, - 0xf1, 0x35, 0x6b, 0x09, 0x09, 0xdc, 0x5e, 0x85, 0xfb, 0x03, 0x98, 0xaa, 0x36, 0x9b, 0x9b, 0xf7, - 0xab, 0xfc, 0xd4, 0x5f, 0xcc, 0x2a, 0xff, 0x78, 0xb8, 0xbf, 0x4e, 0xa8, 0x6c, 0xfd, 0xeb, 0x9e, - 0x1b, 0xd9, 0x53, 0xab, 0x5f, 0xb9, 0x61, 0xe4, 0x7a, 0x87, 0x9a, 0x5b, 0xcf, 0xbe, 0xb8, 0x45, - 0x9f, 0x67, 0x2c, 0x01, 0xb6, 0x9b, 0x9a, 0xb4, 0x95, 0x1b, 0x30, 0x49, 0x7c, 0x5a, 0x23, 0x1b, - 0x8b, 0x92, 0x59, 0x93, 0x6e, 0x5c, 0xd1, 0x57, 0x6d, 0x3c, 0xb5, 0xbe, 0x03, 0x17, 0xb9, 0x48, - 0x2b, 0xea, 0xbc, 0xe8, 0xb6, 0xee, 0x85, 0xb4, 0x3e, 0x90, 0x5e, 0x8a, 0xc2, 0x9e, 0xd9, 0x63, - 0x46, 0x5f, 0xb0, 0xc9, 0xbf, 0x2c, 0xc1, 0x7c, 0x02, 0xb5, 0xf6, 0xc2, 0x6b, 0x48, 0x79, 0xfa, - 0x66, 0x32, 0xc6, 0x17, 0xf5, 0x00, 0xee, 0xfc, 0x73, 0x9b, 0x2a, 0xcc, 0x97, 0xdc, 0x06, 0xe0, - 0xc8, 0xda, 0xf6, 0x8d, 0xce, 0x67, 0x11, 0xc3, 0x81, 0x1b, 0xb8, 0x06, 0x42, 0x3a, 0x90, 0xc5, - 0x77, 0xf1, 0x8d, 0x74, 0xf3, 0xce, 0xe2, 0x5d, 0x77, 0x2a, 0xd0, 0xeb, 0x39, 0x6e, 0xda, 0x2c, - 0xfa, 0xd6, 0xef, 0xf6, 0xc1, 0xac, 0x3e, 0x81, 0x2f, 0x33, 0xd6, 0x1d, 0x18, 0x5d, 0xf6, 0xbd, - 0x88, 0x7e, 0x15, 0x69, 0x37, 0x99, 0x89, 0x3a, 0xeb, 0x56, 0x35, 0x42, 0x75, 0xe4, 0x05, 0x75, - 0xa6, 0xc7, 0x18, 0xb1, 0x68, 0x31, 0x20, 0x59, 0x86, 0xf1, 0x2d, 0xfa, 0x3c, 0xc5, 0x40, 0x8c, - 0x87, 0xf3, 0xe8, 0xf3, 0xba, 0xc6, 0x44, 0x3d, 0x48, 0xc9, 0xc0, 0x21, 0x07, 0x30, 0x21, 0x17, - 0x97, 0xc1, 0xcc, 0x79, 0x7d, 0x57, 0x31, 0x97, 0x33, 0xbf, 0xeb, 0xcb, 0x5a, 0xc8, 0xe1, 0x61, - 0x82, 0x22, 0x1b, 0x3a, 0x6f, 0x91, 0x5f, 0x5f, 0x35, 0xb7, 0x2d, 0xad, 0xc6, 0x88, 0x36, 0x4c, - 0x5e, 0x5b, 0xd5, 0x49, 0x58, 0x3b, 0x30, 0x97, 0x9e, 0x0f, 0xd1, 0xda, 0xbb, 0x30, 0xc8, 0x4b, - 0x85, 0x1a, 0x20, 0x9f, 0x91, 0x50, 0xd0, 0xdc, 0x4e, 0xe7, 0xcd, 0xd8, 0x02, 0xd6, 0x5a, 0x43, - 0xdf, 0x89, 0x82, 0x51, 0x8a, 0xd8, 0x9d, 0xe4, 0xf4, 0x62, 0x20, 0xa7, 0x9c, 0x5e, 0x3d, 0xd2, - 0x43, 0xc6, 0xae, 0x2f, 0xa3, 0xfb, 0x49, 0xa7, 0x24, 0x3a, 0x76, 0x13, 0x86, 0x44, 0x51, 0xe2, - 0x81, 0x8b, 0xf8, 0xf3, 0x93, 0x00, 0xd6, 0x47, 0x70, 0x09, 0x7d, 0x61, 0xae, 0x77, 0xd8, 0xa2, - 0x7b, 0xa1, 0x11, 0x7d, 0xde, 0xed, 0xb3, 0xfe, 0x2e, 0xcc, 0x67, 0xe1, 0x76, 0xfd, 0xb2, 0xf9, - 0x85, 0xf6, 0x3f, 0xef, 0x85, 0xe9, 0xf5, 0x50, 0x57, 0x26, 0x04, 0x27, 0x6e, 0x65, 0x5d, 0xb5, - 0x46, 0x9e, 0xac, 0xf5, 0x64, 0x5d, 0xa5, 0x7e, 0x57, 0xbb, 0xd4, 0xd6, 0x5b, 0x74, 0x87, 0x9a, - 0x6d, 0x5b, 0xea, 0x5a, 0xdb, 0x9b, 0xd0, 0xbf, 0xc5, 0x44, 0x75, 0x9f, 0x98, 0x3b, 0x8e, 0xc1, - 0x8a, 0xf0, 0x52, 0x19, 0xdb, 0x22, 0xd9, 0x0f, 0x72, 0x3f, 0x75, 0x75, 0xad, 0xbf, 0xfb, 0x1d, - 0xe1, 0xb5, 0x9e, 0xd4, 0x2d, 0xb6, 0xf7, 0x61, 0xb4, 0xda, 0x3c, 0xe6, 0x01, 0x67, 0xbe, 0x97, - 0xf8, 0x2c, 0xb5, 0x9a, 0xb5, 0x1e, 0x5b, 0x07, 0x64, 0x16, 0x6e, 0xb5, 0xdd, 0xc6, 0x8d, 0x2a, - 0xeb, 0xde, 0xf4, 0x5a, 0x0f, 0xc6, 0x6f, 0x2f, 0x0d, 0xc3, 0xe0, 0xae, 0x13, 0x1c, 0xd2, 0xc8, - 0xfa, 0x01, 0xcc, 0x8b, 0x30, 0x11, 0xee, 0xf9, 0xc3, 0x60, 0x92, 0x30, 0x8e, 0x04, 0x2a, 0x0a, - 0xed, 0xb8, 0x0a, 0x80, 0x7a, 0xfe, 0xba, 0xd7, 0xa4, 0x5f, 0xf1, 0x68, 0x26, 0x5b, 0x2b, 0xb1, - 0xde, 0x83, 0x11, 0xc5, 0x21, 0x54, 0x66, 0xb5, 0xcd, 0x0e, 0xb9, 0x35, 0x6d, 0xdc, 0xd5, 0x93, - 0x17, 0xf4, 0x2e, 0x19, 0x63, 0x17, 0xef, 0x20, 0x70, 0xed, 0xd7, 0x85, 0x99, 0xc4, 0x22, 0x88, - 0x2f, 0xda, 0x2a, 0xfd, 0x13, 0x23, 0x9f, 0x6c, 0xf5, 0x3b, 0xa9, 0x9e, 0xf6, 0x9e, 0x49, 0x3d, - 0xb5, 0xfe, 0x69, 0x2f, 0x1a, 0x4e, 0x29, 0x7e, 0x24, 0x7c, 0x50, 0xba, 0x1f, 0x6c, 0x09, 0x46, - 0x70, 0xf4, 0x2b, 0xf2, 0x66, 0x51, 0x71, 0x94, 0xc3, 0xf0, 0xcf, 0x4f, 0x2a, 0x3d, 0x18, 0xda, - 0x10, 0xa3, 0x91, 0x4f, 0x60, 0x68, 0xd5, 0x6b, 0x22, 0x85, 0xbe, 0x73, 0x50, 0x90, 0x48, 0x6c, - 0x4e, 0xb0, 0xcb, 0xbb, 0xec, 0x13, 0xe6, 0xae, 0x0b, 0x5b, 0x2b, 0x89, 0x2d, 0xb8, 0x81, 0x3c, - 0x0b, 0x6e, 0x30, 0x61, 0xc1, 0x59, 0x30, 0xb0, 0x1d, 0x34, 0xc5, 0xfb, 0x05, 0x13, 0x8b, 0x63, - 0x82, 0x71, 0x58, 0x66, 0xf3, 0x2a, 0xeb, 0xbf, 0x97, 0x60, 0xf6, 0x01, 0x8d, 0x32, 0xd7, 0x90, - 0xc1, 0x95, 0xd2, 0xd7, 0xe6, 0x4a, 0xef, 0xcb, 0x70, 0x45, 0x8d, 0xba, 0x2f, 0x6f, 0xd4, 0xfd, - 0x79, 0xa3, 0x1e, 0xc8, 0x1f, 0xf5, 0x03, 0x18, 0xe4, 0x43, 0x65, 0x56, 0xea, 0x7a, 0x44, 0x8f, - 0x63, 0x2b, 0x55, 0x8f, 0xd1, 0xb2, 0x79, 0x1d, 0x53, 0x24, 0x37, 0x9c, 0x50, 0xb7, 0x52, 0xc5, - 0x4f, 0xeb, 0xc7, 0x78, 0x27, 0x71, 0xc3, 0x6f, 0x3c, 0xd5, 0xbc, 0x9d, 0x43, 0xfc, 0x0b, 0x4d, - 0x7a, 0xc7, 0x19, 0x14, 0xaf, 0xb1, 0x25, 0x04, 0xb9, 0x06, 0xa3, 0xeb, 0xde, 0x7d, 0x3f, 0x68, - 0xd0, 0x6d, 0xaf, 0xc5, 0xa9, 0x0f, 0xdb, 0x7a, 0x91, 0xf0, 0x02, 0x88, 0x16, 0x62, 0xd3, 0x1a, - 0x0b, 0x12, 0xa6, 0x35, 0x2b, 0xdb, 0x5f, 0xb4, 0x79, 0x9d, 0x70, 0x32, 0xb0, 0xbf, 0x8b, 0xac, - 0x52, 0x65, 0xbe, 0x76, 0x03, 0x3c, 0x80, 0x4b, 0x36, 0x6d, 0xb7, 0x1c, 0xa6, 0xd3, 0x1d, 0xfb, - 0x1c, 0x5e, 0x8d, 0xf9, 0x5a, 0xc6, 0x7d, 0x22, 0xf3, 0xc4, 0x5e, 0x75, 0xb9, 0xb7, 0xa0, 0xcb, - 0xc7, 0x70, 0xfd, 0x01, 0x8d, 0x4c, 0x81, 0x1a, 0xfb, 0x52, 0xc5, 0xe0, 0xd7, 0x60, 0x38, 0x34, - 0xfd, 0xc0, 0x57, 0xe5, 0xf1, 0x43, 0x16, 0xe2, 0xfe, 0x3d, 0x79, 0x52, 0x22, 0xe8, 0xa8, 0xbf, - 0xac, 0x4f, 0xa1, 0x92, 0xd7, 0xdc, 0xd9, 0x02, 0x2a, 0x5d, 0xb8, 0x96, 0x4f, 0x40, 0x74, 0x77, - 0x15, 0xa4, 0xcf, 0x58, 0x7c, 0x42, 0xdd, 0x7a, 0x6b, 0xba, 0x99, 0xc5, 0x1f, 0xd6, 0x92, 0x0c, - 0x2d, 0xfb, 0x1a, 0xdd, 0xad, 0xe3, 0x71, 0xac, 0x49, 0x20, 0xe6, 0x6b, 0x15, 0x86, 0x65, 0x99, - 0xe0, 0xeb, 0x6c, 0x66, 0x4f, 0x25, 0x43, 0x9b, 0x92, 0x80, 0x42, 0xb3, 0x7e, 0x2c, 0x8f, 0x26, - 0x4c, 0x8c, 0xb3, 0x5d, 0xb0, 0x3b, 0xcb, 0x59, 0x84, 0xe5, 0xc3, 0x25, 0x93, 0xb6, 0xee, 0x72, - 0x2e, 0x6b, 0x2e, 0x67, 0xee, 0x69, 0xbe, 0x66, 0xba, 0x40, 0x7b, 0xc5, 0xba, 0x8c, 0x8b, 0xc8, - 0x55, 0xdd, 0xb1, 0x3c, 0x96, 0xbe, 0xb1, 0x77, 0x07, 0xe6, 0xb3, 0x1a, 0xd4, 0xec, 0x40, 0xe5, - 0xbd, 0x14, 0xfa, 0xce, 0x6f, 0x97, 0xc0, 0x32, 0xe2, 0x77, 0x70, 0x86, 0x76, 0x02, 0xff, 0x99, - 0xdb, 0xd4, 0x0e, 0x45, 0xde, 0x36, 0x1c, 0x72, 0xfc, 0xae, 0x54, 0x32, 0x74, 0x58, 0x48, 0xbb, - 0x3b, 0x09, 0x27, 0x19, 0x57, 0x19, 0x31, 0xa6, 0xe7, 0x29, 0xd5, 0xef, 0x1a, 0x28, 0xe7, 0xd9, - 0xff, 0x2c, 0xc1, 0x6b, 0x85, 0x7d, 0x10, 0xfd, 0x3f, 0x80, 0x72, 0xb2, 0x4e, 0xcc, 0x7d, 0x45, - 0x8b, 0x26, 0x48, 0x53, 0xd8, 0xbf, 0xcb, 0xe3, 0x93, 0x65, 0xdc, 0x4b, 0x5b, 0x51, 0x4e, 0xd1, - 0x3b, 0x7f, 0xef, 0xc9, 0x87, 0x00, 0xbb, 0x7e, 0xe4, 0xb4, 0x96, 0xd1, 0x74, 0xef, 0x8b, 0x63, - 0xcd, 0x23, 0x56, 0x5a, 0x4f, 0x5e, 0x4c, 0xd7, 0x80, 0xad, 0xef, 0xe3, 0x17, 0x99, 0xdd, 0xe9, - 0xb3, 0x7d, 0x24, 0xcb, 0xf0, 0x5a, 0xe2, 0x44, 0xfb, 0x25, 0x88, 0x44, 0x30, 0xc3, 0xd8, 0xcf, - 0xb4, 0xe6, 0x07, 0x81, 0xdf, 0x69, 0xff, 0x6a, 0x66, 0xfd, 0xdf, 0x94, 0x78, 0x90, 0x9f, 0xde, - 0xac, 0x98, 0xe8, 0x65, 0x80, 0xb8, 0x34, 0x11, 0xec, 0xad, 0x2a, 0xf6, 0xef, 0x72, 0x63, 0x19, - 0x7d, 0xdd, 0x87, 0x9c, 0x80, 0x86, 0xf6, 0xab, 0x9d, 0xc9, 0x7b, 0x78, 0x8c, 0xad, 0x5a, 0x3f, - 0x1b, 0xdf, 0xdf, 0x97, 0x9e, 0x8b, 0x73, 0xe2, 0x1d, 0xc1, 0x34, 0xfb, 0x76, 0x99, 0x95, 0xef, - 0x07, 0x6e, 0x24, 0xaf, 0x2d, 0x90, 0x1d, 0x71, 0xe9, 0x97, 0x63, 0x7d, 0xf7, 0x97, 0x27, 0x95, - 0x0f, 0xce, 0xf3, 0x6a, 0x9a, 0xa4, 0xb9, 0xab, 0x2e, 0x0a, 0x5b, 0xb3, 0xd0, 0xb7, 0x6c, 0x6f, - 0xa0, 0xa8, 0xb2, 0x37, 0x94, 0xa8, 0xb2, 0x37, 0xac, 0xff, 0xda, 0x0b, 0x15, 0xfe, 0x2c, 0x01, - 0x46, 0x3f, 0xc4, 0xfe, 0x06, 0x2d, 0x9c, 0xe2, 0xac, 0xae, 0x81, 0xc4, 0xb3, 0x03, 0xbd, 0x67, - 0x79, 0x76, 0xe0, 0x37, 0x20, 0xc7, 0xd9, 0x74, 0x06, 0xfb, 0xfd, 0xad, 0xd3, 0x93, 0xca, 0x6b, - 0xb1, 0xfd, 0xce, 0x6b, 0xb3, 0x0c, 0xf9, 0x9c, 0x26, 0xd2, 0x9e, 0x87, 0xfe, 0x97, 0xf0, 0x3c, - 0xdc, 0x81, 0x21, 0x34, 0x43, 0xd6, 0x77, 0x44, 0x44, 0x20, 0x2e, 0x4f, 0x7c, 0x41, 0xa4, 0xee, - 0xea, 0x8f, 0x35, 0x49, 0x30, 0xeb, 0x6f, 0xf7, 0xc2, 0xb5, 0x7c, 0x9e, 0x8b, 0xbe, 0xad, 0x00, - 0xc4, 0x71, 0x17, 0x45, 0x71, 0x1e, 0xf8, 0xed, 0x3c, 0xa7, 0x07, 0x2a, 0xce, 0x4a, 0xc3, 0x63, - 0x5a, 0x8b, 0xbc, 0x01, 0x9a, 0x70, 0xf2, 0x1b, 0x17, 0x43, 0xc5, 0x5b, 0x80, 0xa2, 0xc8, 0x78, - 0x0b, 0x50, 0x94, 0x91, 0x03, 0x98, 0xdd, 0x09, 0xdc, 0x67, 0x4e, 0x44, 0x1f, 0xd1, 0x17, 0xfc, - 0x12, 0xc9, 0xaa, 0xb8, 0x39, 0xc2, 0xaf, 0xf5, 0xde, 0x38, 0x3d, 0xa9, 0xbc, 0xde, 0xe6, 0x20, - 0xec, 0xc3, 0xac, 0xf3, 0x3b, 0x69, 0xf5, 0xf4, 0x65, 0x92, 0x3c, 0x42, 0xd6, 0xbf, 0x2e, 0xc1, - 0x65, 0x54, 0xa8, 0x85, 0xc3, 0x54, 0x36, 0xfe, 0x52, 0xe1, 0x7e, 0xfa, 0x00, 0xc5, 0x5a, 0xc4, - 0x70, 0x3f, 0xe3, 0x86, 0xac, 0x6d, 0x80, 0x91, 0x75, 0x18, 0x15, 0xbf, 0xf1, 0xfb, 0xeb, 0x43, - 0x55, 0x7e, 0x46, 0x13, 0x58, 0xb8, 0xd4, 0xb9, 0x93, 0x07, 0x17, 0xb6, 0x20, 0x86, 0x17, 0xc9, - 0x6c, 0x1d, 0xd7, 0xfa, 0x45, 0x2f, 0x2c, 0xec, 0xd3, 0xc0, 0x7d, 0xf2, 0x22, 0x67, 0x30, 0xdb, - 0x30, 0x2d, 0x8b, 0xf8, 0xd3, 0x04, 0xc6, 0x27, 0xc6, 0x5f, 0x1b, 0x93, 0x5d, 0x15, 0x6f, 0x1b, - 0xc8, 0x2f, 0x2e, 0x13, 0xf1, 0x1c, 0x81, 0x7c, 0xef, 0xc2, 0x70, 0xe2, 0x71, 0x10, 0x9c, 0x7f, - 0xf9, 0x85, 0xc6, 0x53, 0xb5, 0xd6, 0x63, 0x2b, 0x48, 0xf2, 0x3b, 0xf9, 0x27, 0x2f, 0xc2, 0x69, - 0xd1, 0xcd, 0x73, 0x89, 0x1f, 0x2c, 0xfb, 0x58, 0x1d, 0xad, 0x36, 0xe3, 0x83, 0x5d, 0xeb, 0xb1, - 0xf3, 0x5a, 0x5a, 0x1a, 0x85, 0x91, 0x2a, 0x9e, 0x26, 0x31, 0x9b, 0xfb, 0x7f, 0xf4, 0xc2, 0x55, - 0x79, 0x21, 0x24, 0x87, 0xcd, 0x9f, 0xc3, 0xac, 0x2c, 0xaa, 0xb6, 0x99, 0xc2, 0x40, 0x9b, 0x26, - 0xa7, 0xf9, 0x8b, 0x7f, 0x92, 0xd3, 0x8e, 0x80, 0x89, 0x99, 0x9d, 0x87, 0xfe, 0x6a, 0xfc, 0x96, - 0x9f, 0x64, 0x3d, 0xd5, 0x82, 0xfe, 0x43, 0x5d, 0x66, 0x1a, 0xac, 0x31, 0xe4, 0x67, 0x33, 0xe5, - 0xf7, 0xec, 0xff, 0xba, 0x7e, 0xcf, 0xb5, 0x9e, 0xa4, 0xe7, 0x73, 0x69, 0x02, 0xc6, 0xb6, 0xe8, - 0xf3, 0x98, 0xef, 0x7f, 0xb5, 0x94, 0xb8, 0x82, 0xce, 0x34, 0x0c, 0x7e, 0x17, 0xbd, 0x14, 0xbf, - 0xf6, 0x81, 0x57, 0xd0, 0x75, 0x0d, 0x83, 0x83, 0xae, 0xc3, 0x10, 0x3f, 0x62, 0x6d, 0x9e, 0xc1, - 0x36, 0x57, 0x37, 0x3b, 0xf8, 0x75, 0xbb, 0x26, 0x37, 0xd3, 0x05, 0xbe, 0xf5, 0x08, 0xae, 0x8b, - 0xc8, 0x63, 0x73, 0xf2, 0xb1, 0xa1, 0x73, 0x6e, 0x5f, 0x96, 0x03, 0x57, 0x1f, 0xd0, 0xa4, 0xe8, - 0x31, 0x6e, 0xbe, 0x7c, 0x0a, 0x93, 0x46, 0xb9, 0xa2, 0x88, 0x5a, 0xa9, 0x5a, 0x43, 0x8a, 0x74, - 0x12, 0xda, 0xba, 0x96, 0xd5, 0x84, 0xde, 0x59, 0x8b, 0xe2, 0xd3, 0x7d, 0x41, 0x7c, 0x38, 0x16, - 0x9e, 0x43, 0xea, 0xdd, 0xd0, 0xbe, 0x6b, 0x2e, 0xf1, 0xf8, 0xeb, 0x5e, 0x72, 0xe7, 0x55, 0xb5, - 0xd6, 0xb8, 0xe1, 0xc5, 0xb7, 0x26, 0x60, 0x4c, 0x56, 0xb5, 0x68, 0x18, 0x5a, 0x3f, 0x1b, 0x00, - 0x4b, 0x30, 0x36, 0xeb, 0xdc, 0x58, 0xf2, 0xe3, 0x20, 0xd5, 0x59, 0xb1, 0x51, 0x5d, 0xd4, 0x5f, - 0x8d, 0x8b, 0x6b, 0xf9, 0xca, 0x43, 0x3d, 0xaf, 0x11, 0x97, 0x1a, 0x2b, 0x2f, 0x35, 0xfa, 0x1f, - 0xe6, 0x88, 0x49, 0xfe, 0xb1, 0xbd, 0x71, 0x7a, 0x52, 0xb9, 0x9e, 0x23, 0x26, 0x0d, 0xba, 0xd9, - 0x22, 0xd3, 0x36, 0x0f, 0x33, 0xfa, 0x5e, 0xe6, 0x30, 0x83, 0x7d, 0x91, 0xfa, 0x71, 0xc6, 0x9e, - 0xc9, 0x4b, 0xf1, 0x3d, 0xca, 0xc3, 0x68, 0xbd, 0x4a, 0xdc, 0x04, 0xd7, 0x4a, 0x0c, 0xaa, 0x06, - 0x19, 0xe2, 0x42, 0x59, 0xf3, 0x36, 0x2e, 0x1f, 0xd1, 0xc6, 0x53, 0xe1, 0xe5, 0x95, 0x47, 0xb1, - 0x59, 0xde, 0x6e, 0xfe, 0x7a, 0x28, 0xff, 0xce, 0x79, 0x45, 0xbd, 0xc1, 0x50, 0xf5, 0x9b, 0xec, - 0x49, 0xb2, 0xe4, 0xa7, 0x30, 0xa5, 0xa6, 0x3a, 0x11, 0x38, 0x34, 0xba, 0xf8, 0x7a, 0xfc, 0xcc, - 0xe0, 0xf1, 0x13, 0xe7, 0xd6, 0xb3, 0xbb, 0xb7, 0x32, 0x60, 0xf9, 0x05, 0xe9, 0x86, 0xac, 0xd0, - 0xa2, 0x86, 0xf4, 0x23, 0xaa, 0x2c, 0x44, 0xed, 0x20, 0xfa, 0xf7, 0x55, 0x98, 0x3b, 0xd3, 0x17, - 0xdc, 0x16, 0x15, 0x37, 0x46, 0xe4, 0xea, 0xcb, 0x39, 0x44, 0x2b, 0x7d, 0xc3, 0x87, 0x68, 0x7f, - 0xd4, 0x2b, 0x83, 0xfb, 0xd3, 0xe7, 0x98, 0xe7, 0x3e, 0x4b, 0xcb, 0x1c, 0xc1, 0x99, 0x36, 0xd3, - 0xcc, 0xce, 0x91, 0x25, 0x79, 0x12, 0xa9, 0x1e, 0x0d, 0x9a, 0x50, 0x5e, 0xfd, 0xb8, 0xc2, 0x38, - 0x9c, 0x44, 0xd5, 0x45, 0xc3, 0x4a, 0x1e, 0x73, 0xf5, 0x7d, 0xfd, 0x63, 0xae, 0xff, 0x36, 0x0c, - 0x17, 0x76, 0x9c, 0x43, 0xd7, 0x63, 0x42, 0xdb, 0xa6, 0xa1, 0xdf, 0x09, 0x1a, 0x94, 0x54, 0x61, - 0xc2, 0x8c, 0xdc, 0xec, 0x12, 0x97, 0xca, 0xf6, 0x25, 0xb3, 0x8c, 0x2c, 0xc2, 0x88, 0xba, 0xaf, - 0x29, 0x36, 0x93, 0x8c, 0x7b, 0x9c, 0x6b, 0x3d, 0x76, 0x0c, 0x46, 0x3e, 0x34, 0x4e, 0x66, 0x26, - 0xd5, 0xd5, 0x63, 0x84, 0x5d, 0xe4, 0xa1, 0x75, 0x9e, 0xdf, 0x34, 0x37, 0x44, 0x7e, 0xfc, 0xf0, - 0xe3, 0xd4, 0x61, 0xcd, 0x80, 0xd1, 0xe3, 0x94, 0xc7, 0x0a, 0x75, 0x81, 0xdc, 0xe7, 0x5b, 0x33, - 0x8e, 0x71, 0x7e, 0x00, 0xa3, 0x8f, 0x3a, 0x07, 0x54, 0x1e, 0x4b, 0x0d, 0x8a, 0xfd, 0x31, 0x19, - 0x8f, 0x2c, 0xea, 0xf7, 0xef, 0xf1, 0x39, 0x78, 0xda, 0x39, 0xa0, 0xe9, 0x77, 0x81, 0x99, 0x60, - 0xd2, 0x88, 0x91, 0x23, 0x28, 0x27, 0x43, 0x87, 0xc5, 0x33, 0x5b, 0x05, 0x01, 0xcf, 0xf8, 0xc6, - 0x83, 0xf6, 0xfa, 0x30, 0x0f, 0x68, 0x34, 0x1a, 0x49, 0x51, 0x25, 0xbf, 0x09, 0x33, 0x99, 0xfe, - 0x42, 0x75, 0xfd, 0xa8, 0xd8, 0x15, 0x89, 0x42, 0x3d, 0xc1, 0x35, 0x79, 0xd7, 0xc9, 0x68, 0x39, - 0xbb, 0x15, 0xd2, 0x84, 0xc9, 0x44, 0x48, 0xac, 0x78, 0x02, 0x3d, 0x3f, 0xc8, 0x16, 0x37, 0x26, - 0xf9, 0x4e, 0x65, 0x66, 0x5b, 0x49, 0x92, 0x64, 0x03, 0x46, 0x94, 0xb9, 0x8f, 0xcf, 0xf5, 0x64, - 0xbb, 0x36, 0xe6, 0x4e, 0x4f, 0x2a, 0xd3, 0xb1, 0x6b, 0xc3, 0xa0, 0x19, 0x13, 0x20, 0xbf, 0x05, - 0xd7, 0xd5, 0x12, 0xdd, 0x0e, 0xb2, 0x9d, 0x40, 0xe2, 0x75, 0xe3, 0x9b, 0xc9, 0x15, 0x9e, 0x07, - 0xbf, 0x7f, 0x77, 0xa9, 0x77, 0xae, 0xb4, 0xd6, 0x63, 0x77, 0x27, 0x4d, 0x7e, 0x56, 0x82, 0x8b, - 0x39, 0xad, 0x8e, 0x61, 0xab, 0x5d, 0x3d, 0x73, 0xa8, 0xdc, 0xe3, 0x85, 0x1f, 0xb7, 0x19, 0x5f, - 0x4d, 0x93, 0x2e, 0x3a, 0x63, 0xdc, 0x39, 0x2d, 0x91, 0x77, 0x60, 0x10, 0x6d, 0xe4, 0x70, 0x6e, - 0x1c, 0xb5, 0x48, 0x7c, 0xda, 0x04, 0x2d, 0x69, 0x7d, 0xdf, 0x10, 0x30, 0x4b, 0x00, 0xc3, 0x81, - 0x90, 0x25, 0x0f, 0xfb, 0x87, 0xfb, 0xcb, 0x03, 0x7c, 0xb9, 0xcb, 0x08, 0xe9, 0x7f, 0x3e, 0xc4, - 0x2f, 0x34, 0xee, 0x79, 0xee, 0x13, 0x37, 0x16, 0x3b, 0xba, 0x4f, 0x2c, 0xce, 0xd2, 0x20, 0x34, - 0xd6, 0x9c, 0x7c, 0x0c, 0xca, 0x7d, 0xd6, 0xdb, 0xd5, 0x7d, 0x76, 0x4f, 0x3b, 0x22, 0xd2, 0x5e, - 0xfc, 0xe3, 0x9a, 0x89, 0xe9, 0xae, 0x8a, 0xcf, 0x8e, 0xbe, 0x84, 0x41, 0x7c, 0xa4, 0x8f, 0x9f, - 0xbf, 0x8d, 0x2e, 0xde, 0x12, 0xc2, 0xb6, 0xa0, 0xfb, 0xfc, 0x55, 0x3f, 0x71, 0x49, 0x99, 0xf3, - 0x09, 0x0b, 0x0c, 0x3e, 0x61, 0x09, 0xd9, 0x85, 0xa9, 0x9d, 0x80, 0x36, 0x45, 0x9c, 0x6e, 0x3b, - 0x10, 0x2e, 0x05, 0xee, 0xac, 0xc0, 0x8d, 0xba, 0x2d, 0xab, 0xeb, 0x54, 0xd5, 0xeb, 0xdb, 0x60, - 0x06, 0x3a, 0x59, 0x85, 0x89, 0x1a, 0x75, 0x82, 0xc6, 0xd1, 0x23, 0xfa, 0x82, 0x29, 0x29, 0xc6, - 0xc3, 0xe7, 0x21, 0xd6, 0xb0, 0xf1, 0x62, 0x95, 0x1e, 0x53, 0x61, 0x22, 0x91, 0xef, 0xc3, 0x60, - 0xcd, 0x0f, 0xa2, 0xa5, 0x17, 0x42, 0x14, 0xc9, 0x13, 0x1a, 0x5e, 0xb8, 0x74, 0x49, 0x3e, 0xfe, - 0x1e, 0xfa, 0x41, 0x54, 0x3f, 0x30, 0x5e, 0xb8, 0xe1, 0x20, 0xe4, 0x05, 0x4c, 0x9b, 0x62, 0x40, - 0x84, 0x8f, 0x0e, 0x0b, 0xe5, 0x28, 0x4b, 0xd6, 0x70, 0x90, 0xa5, 0x1b, 0x82, 0xfa, 0xb5, 0xa4, - 0xb0, 0x79, 0x82, 0xf5, 0xfa, 0xa3, 0x33, 0x59, 0xf8, 0x64, 0x13, 0xdf, 0xcc, 0xe7, 0x23, 0xaa, - 0x86, 0x3c, 0xec, 0x74, 0x24, 0x7e, 0x43, 0xa9, 0x83, 0xa2, 0x04, 0x39, 0xe1, 0x84, 0xc9, 0x54, - 0x08, 0x76, 0x0a, 0x95, 0xec, 0xc0, 0x85, 0xbd, 0x90, 0xee, 0x04, 0xf4, 0x99, 0x4b, 0x9f, 0x4b, - 0x7a, 0x10, 0x3f, 0x38, 0xc3, 0xe8, 0xb5, 0x79, 0x6d, 0x16, 0xc1, 0x34, 0x32, 0xf9, 0x10, 0x60, - 0xc7, 0xf5, 0x3c, 0xda, 0xc4, 0x63, 0xbe, 0x51, 0x24, 0x85, 0x8e, 0xd0, 0x36, 0x96, 0xd6, 0x7d, - 0xaf, 0xa5, 0xb3, 0x54, 0x03, 0x26, 0x4b, 0x30, 0xbe, 0xee, 0x35, 0x5a, 0x1d, 0x71, 0x1c, 0x1f, - 0xa2, 0x18, 0x10, 0x0f, 0x61, 0xb9, 0xbc, 0xa2, 0x9e, 0xfa, 0x34, 0x4d, 0x94, 0xf9, 0x0f, 0x61, - 0x54, 0x5b, 0xa6, 0x19, 0x17, 0xe5, 0xa7, 0xf5, 0x8b, 0xf2, 0x23, 0xfa, 0x85, 0xf8, 0x7f, 0x58, - 0x82, 0x85, 0xec, 0xe5, 0x2f, 0x34, 0x9d, 0x6d, 0x18, 0x51, 0x85, 0xea, 0x62, 0x86, 0xd4, 0xb1, - 0x13, 0xaa, 0x06, 0xff, 0x06, 0xa5, 0xb0, 0xd0, 0x3b, 0x1c, 0xd3, 0x78, 0x09, 0xc7, 0xf7, 0x5f, - 0x1b, 0x86, 0x69, 0x0c, 0x40, 0x4e, 0x8a, 0x96, 0x4f, 0xf1, 0xc1, 0x0b, 0x2c, 0xd3, 0xfc, 0xb8, - 0xc2, 0xa5, 0xc3, 0xcb, 0x93, 0x4f, 0x0f, 0x19, 0x08, 0xe4, 0x3d, 0x3d, 0x6c, 0xa0, 0x57, 0x7b, - 0x58, 0x5f, 0x16, 0xea, 0x43, 0x88, 0xe3, 0x09, 0xde, 0x36, 0x4e, 0xad, 0xcf, 0x2c, 0xa7, 0xfa, - 0xcf, 0x2a, 0xa7, 0xf6, 0x94, 0x9c, 0xe2, 0x0f, 0x29, 0xbc, 0xa5, 0xc9, 0xa9, 0x57, 0x2f, 0xa0, - 0x06, 0x5f, 0xb5, 0x80, 0x1a, 0xfa, 0x7a, 0x02, 0x6a, 0xf8, 0x25, 0x05, 0xd4, 0x7d, 0x98, 0xd8, - 0xa2, 0xb4, 0xa9, 0x9d, 0x48, 0x70, 0x19, 0x21, 0xdc, 0x30, 0xe8, 0x6b, 0xca, 0x3a, 0x96, 0x48, - 0x60, 0xe5, 0x0a, 0x3a, 0xf8, 0xbf, 0x23, 0xe8, 0x46, 0x5f, 0xb1, 0xa0, 0x1b, 0xfb, 0x3a, 0x82, - 0x2e, 0x25, 0xad, 0xc6, 0x7f, 0xa5, 0xd2, 0xea, 0x13, 0x8c, 0xba, 0xab, 0xd5, 0xd6, 0x44, 0x80, - 0x85, 0x16, 0xd1, 0xb0, 0xe6, 0x87, 0x32, 0x28, 0x19, 0xff, 0x66, 0x65, 0x3b, 0x7e, 0x20, 0x4f, - 0x85, 0xf1, 0x6f, 0x6b, 0x09, 0x63, 0xed, 0x74, 0x7c, 0x15, 0xd1, 0x3e, 0x24, 0x6e, 0xb5, 0x09, - 0x19, 0x97, 0xb4, 0x57, 0x6c, 0x59, 0x6f, 0xfd, 0x79, 0x89, 0x9f, 0xfe, 0xfd, 0xbf, 0x28, 0x2a, - 0xbf, 0xce, 0x89, 0xdc, 0xef, 0xc4, 0xb7, 0xdd, 0xc5, 0xcd, 0xfc, 0xc0, 0x69, 0x3c, 0x8d, 0x8f, - 0x44, 0x7f, 0xc4, 0xbe, 0x73, 0xbd, 0x02, 0x9f, 0xb6, 0x8c, 0x8d, 0x32, 0xb3, 0x72, 0xff, 0xae, - 0x14, 0x00, 0xe2, 0xd2, 0x3f, 0x2f, 0x36, 0x05, 0x80, 0x8e, 0x80, 0xe1, 0x64, 0x93, 0x96, 0xcd, - 0x2f, 0x6b, 0x67, 0xf6, 0xe0, 0xfd, 0xf4, 0x75, 0x63, 0xd4, 0xfa, 0xe3, 0xeb, 0xc6, 0x3a, 0x1b, - 0xe3, 0x8b, 0xc7, 0x7b, 0x70, 0xd9, 0xa6, 0xc7, 0xfe, 0x33, 0xfa, 0x6a, 0xc9, 0xfe, 0x10, 0x2e, - 0x99, 0x04, 0xf9, 0xc5, 0x14, 0xfe, 0x24, 0xf5, 0x27, 0xd9, 0x0f, 0x59, 0x0b, 0x04, 0xfe, 0x90, - 0x35, 0x7f, 0x0f, 0x97, 0xfd, 0xa9, 0xef, 0x1b, 0x58, 0x67, 0xf9, 0xb0, 0x60, 0x12, 0xaf, 0x36, - 0x9b, 0x98, 0x66, 0xac, 0xe1, 0xb6, 0x1d, 0x2f, 0x22, 0xdb, 0x30, 0xaa, 0xfd, 0x4c, 0xd8, 0xe4, - 0x5a, 0x8d, 0x50, 0x43, 0xe2, 0x02, 0xe3, 0x11, 0xc4, 0xb8, 0xd8, 0xa2, 0x50, 0x49, 0xb2, 0x87, - 0xb1, 0x4c, 0x6f, 0x73, 0x09, 0xc6, 0xb5, 0x9f, 0xca, 0x37, 0x88, 0x1f, 0xbf, 0xd6, 0x82, 0xc9, - 0x30, 0x13, 0xc5, 0x6a, 0xc0, 0x7c, 0x16, 0xd3, 0xf0, 0x09, 0xa1, 0x17, 0x64, 0x35, 0x7e, 0x8c, - 0xa8, 0x7b, 0x40, 0xda, 0x64, 0xde, 0x43, 0x44, 0xd6, 0xdf, 0xec, 0x87, 0xcb, 0x62, 0x32, 0x5e, - 0xe5, 0x8c, 0x93, 0x1f, 0xc3, 0xa8, 0x36, 0xc7, 0x82, 0xe9, 0xd7, 0xe4, 0xe3, 0x87, 0x79, 0x6b, - 0x81, 0xfb, 0x0e, 0x3a, 0x58, 0x50, 0x4f, 0x4c, 0xf7, 0x5a, 0x8f, 0xad, 0x93, 0x24, 0x2d, 0x98, - 0x30, 0x27, 0x5a, 0xb8, 0x4f, 0x5e, 0xcb, 0x6c, 0xc4, 0x04, 0x95, 0x4f, 0xe9, 0x36, 0xeb, 0x99, - 0xd3, 0xbd, 0xd6, 0x63, 0x27, 0x68, 0x93, 0xaf, 0xe0, 0x42, 0x6a, 0x96, 0x85, 0x57, 0xec, 0xcd, - 0xcc, 0x06, 0x53, 0xd0, 0xdc, 0xef, 0x19, 0x60, 0x71, 0x6e, 0xb3, 0xe9, 0x46, 0x48, 0x13, 0xc6, - 0xf4, 0x89, 0x17, 0xfe, 0x9d, 0xeb, 0x05, 0xac, 0xe4, 0x80, 0x5c, 0xb9, 0x13, 0xbc, 0xc4, 0xb9, - 0x7f, 0x61, 0xfa, 0x72, 0x0d, 0xe0, 0x61, 0x18, 0xe4, 0xbf, 0x99, 0x08, 0xd8, 0x09, 0x68, 0x48, - 0xbd, 0x06, 0x35, 0x62, 0x98, 0xbf, 0xa6, 0x08, 0xf8, 0x57, 0x25, 0x98, 0xcb, 0xa2, 0x5b, 0xa3, - 0x5e, 0x93, 0xec, 0x40, 0x39, 0xd9, 0x90, 0x58, 0xd5, 0x96, 0x7a, 0xad, 0x34, 0xb7, 0x4b, 0x6b, - 0x3d, 0x76, 0x0a, 0x9b, 0x6c, 0xc1, 0x05, 0xad, 0x4c, 0x78, 0x31, 0x7b, 0xcf, 0xe2, 0xc5, 0x64, - 0xb3, 0x90, 0x42, 0xd5, 0x9d, 0xc0, 0x6b, 0xb8, 0x33, 0xae, 0xf8, 0xc7, 0x8e, 0xeb, 0x31, 0x45, - 0x57, 0x7b, 0x8f, 0x08, 0xe2, 0x52, 0xc1, 0x1b, 0xee, 0xd6, 0xc4, 0x52, 0x79, 0xe7, 0x42, 0x81, - 0x58, 0xdf, 0x45, 0x09, 0x2e, 0x9c, 0x61, 0xfc, 0x06, 0xa7, 0x22, 0x76, 0x0d, 0x06, 0x76, 0x37, - 0x6a, 0xcb, 0x55, 0x71, 0x1f, 0x94, 0xbf, 0x22, 0xd0, 0x0a, 0xeb, 0x0d, 0xc7, 0xe6, 0x15, 0xd6, - 0xc7, 0x40, 0x1e, 0xd0, 0x48, 0x3c, 0x97, 0xad, 0xf0, 0xde, 0x80, 0x21, 0x51, 0x24, 0x30, 0x31, - 0x7a, 0xac, 0x25, 0xa0, 0x64, 0x9d, 0xb5, 0x23, 0xed, 0x84, 0x16, 0x75, 0x42, 0x6d, 0x63, 0xfe, - 0x00, 0x86, 0x03, 0x51, 0x26, 0xf6, 0xe5, 0x09, 0x95, 0x58, 0x00, 0x8b, 0xb9, 0xe3, 0x58, 0xc2, - 0xd8, 0xea, 0x2f, 0x6b, 0x03, 0x5f, 0xfc, 0xd8, 0x5e, 0x5f, 0x59, 0x66, 0x5c, 0x15, 0xcc, 0x92, - 0xd3, 0x71, 0x1b, 0xc3, 0xac, 0x23, 0xaa, 0xdf, 0x06, 0x45, 0xd6, 0xe0, 0x47, 0x2e, 0xde, 0xb9, - 0xd1, 0x40, 0xac, 0x7b, 0xea, 0xfd, 0x90, 0x0c, 0x6a, 0x79, 0x0f, 0xe4, 0x6f, 0xe1, 0xcb, 0x28, - 0x0f, 0x30, 0x2e, 0xe5, 0x55, 0x74, 0xc2, 0x81, 0x79, 0xbe, 0xcd, 0xb3, 0x51, 0x89, 0xcc, 0x4e, - 0xbe, 0x12, 0x8d, 0xcb, 0x30, 0xa2, 0xca, 0xd4, 0x21, 0x13, 0xe7, 0x95, 0x01, 0xbf, 0x7f, 0x8f, - 0x5f, 0x9c, 0x6d, 0x28, 0x02, 0x31, 0x1e, 0x6b, 0x82, 0x7f, 0x77, 0xdf, 0x70, 0x13, 0x21, 0x0d, - 0xa2, 0x6f, 0xb4, 0x89, 0xf8, 0xe9, 0x9c, 0xf3, 0x34, 0x61, 0xc0, 0xef, 0x2f, 0x9e, 0x85, 0x51, - 0xdf, 0x70, 0x13, 0x8c, 0x51, 0xdf, 0x5c, 0x13, 0x54, 0xbe, 0x31, 0xc4, 0x17, 0x69, 0xaa, 0x91, - 0xd5, 0x74, 0x23, 0xd2, 0x43, 0x9c, 0xc0, 0x28, 0x9c, 0x0f, 0x0a, 0x0b, 0x9c, 0x59, 0xbf, 0x82, - 0x66, 0x18, 0xc3, 0xbe, 0xd9, 0x66, 0xfe, 0x4e, 0x89, 0xbf, 0x78, 0x54, 0xdb, 0xd6, 0x72, 0xaa, - 0x79, 0x4f, 0x7c, 0xed, 0x0c, 0x5c, 0xfb, 0xda, 0x1f, 0xb9, 0x5e, 0x53, 0x3f, 0x03, 0x77, 0x3a, - 0xd1, 0x91, 0x7a, 0x93, 0xf7, 0xa9, 0xeb, 0x35, 0xed, 0x24, 0x34, 0xf9, 0x10, 0xc6, 0xb5, 0x22, - 0xa5, 0xad, 0xf1, 0x57, 0xfb, 0x75, 0x74, 0xb7, 0x69, 0x9b, 0x90, 0xd6, 0xef, 0xf7, 0xc2, 0xc5, - 0xbd, 0x76, 0x88, 0xd7, 0x4f, 0xd6, 0xbd, 0x67, 0xd4, 0x8b, 0xfc, 0xe0, 0x05, 0x86, 0xcc, 0x93, - 0xf7, 0x60, 0x60, 0x8d, 0xb6, 0x5a, 0xbe, 0x18, 0xf9, 0x15, 0x79, 0x00, 0x9d, 0x84, 0x46, 0xa0, - 0xb5, 0x1e, 0x9b, 0x43, 0x93, 0x0f, 0x61, 0x64, 0x8d, 0x3a, 0x41, 0x74, 0x40, 0x1d, 0xa9, 0xac, - 0xca, 0x57, 0xe4, 0x35, 0x14, 0x01, 0xb0, 0xd6, 0x63, 0xc7, 0xd0, 0x64, 0x91, 0xd9, 0x71, 0xde, - 0xa1, 0xba, 0x6a, 0x9b, 0xd3, 0x20, 0x83, 0x59, 0xeb, 0xb1, 0x11, 0x96, 0x6c, 0xc2, 0x78, 0xf5, - 0x90, 0x7a, 0xd1, 0x26, 0x8d, 0x9c, 0xa6, 0x13, 0x39, 0x42, 0xa9, 0x79, 0x23, 0x0f, 0xd9, 0x00, - 0x5e, 0xeb, 0xb1, 0x4d, 0xec, 0xa5, 0x01, 0xe8, 0xdb, 0x0c, 0x0f, 0xad, 0x93, 0x12, 0xcc, 0xad, - 0xf8, 0xcf, 0xbd, 0x4c, 0xc6, 0x7c, 0xc7, 0x64, 0x4c, 0x45, 0x9e, 0xe3, 0xa5, 0xe1, 0x13, 0xac, - 0x79, 0x17, 0xfa, 0x77, 0x5c, 0xef, 0x30, 0xb1, 0x8f, 0x67, 0xe0, 0x31, 0x28, 0x1c, 0xa1, 0xeb, - 0x1d, 0x92, 0x0d, 0xa9, 0x40, 0x09, 0x47, 0x51, 0x9f, 0xa1, 0xb5, 0x65, 0x60, 0xeb, 0xd0, 0xb1, - 0xa2, 0xc4, 0x7f, 0xcb, 0x01, 0xbe, 0x0d, 0xb3, 0x39, 0xed, 0x8a, 0xeb, 0xaf, 0x6c, 0x6c, 0xfd, - 0xb8, 0x2b, 0xbd, 0x05, 0x33, 0x99, 0x53, 0x90, 0x02, 0xfc, 0x27, 0x59, 0x6b, 0x89, 0x8f, 0x7c, - 0x0e, 0x86, 0x64, 0xb2, 0x11, 0x6e, 0xb8, 0xcb, 0x9f, 0x78, 0x01, 0x04, 0xcd, 0xed, 0xf8, 0x6d, - 0x5a, 0xf9, 0x9b, 0xec, 0x6b, 0x0f, 0xc5, 0xf4, 0xa1, 0xa7, 0xe9, 0xa3, 0xaf, 0x91, 0xee, 0x56, - 0xd1, 0x62, 0x6d, 0xae, 0xf9, 0x61, 0xe4, 0xa9, 0xf8, 0x44, 0x5b, 0xfd, 0x26, 0x37, 0xa1, 0x2c, - 0x5f, 0x43, 0x17, 0x69, 0x17, 0x44, 0x1e, 0x53, 0x3b, 0x55, 0x4e, 0x3e, 0x80, 0xd9, 0x64, 0x99, - 0x1c, 0x25, 0xbf, 0xc1, 0x93, 0x57, 0x6d, 0xfd, 0x59, 0x2f, 0xbe, 0xa6, 0x5b, 0xb0, 0x34, 0x19, - 0x77, 0xb7, 0x6b, 0x82, 0x5b, 0xbd, 0xdb, 0x35, 0xb2, 0x00, 0x23, 0xdb, 0x35, 0x23, 0x63, 0x8b, - 0x1d, 0x17, 0xb0, 0x6e, 0xb3, 0x21, 0x54, 0x83, 0xc6, 0x91, 0x1b, 0xd1, 0x46, 0xd4, 0x09, 0xc4, - 0x33, 0x3f, 0x76, 0xaa, 0x9c, 0x58, 0x30, 0xf6, 0xa0, 0xe5, 0x1e, 0x34, 0x24, 0x31, 0xce, 0x02, - 0xa3, 0x8c, 0xbc, 0x09, 0x13, 0xeb, 0x5e, 0x18, 0x39, 0xad, 0xd6, 0x26, 0x8d, 0x8e, 0xfc, 0xa6, - 0x48, 0x26, 0x67, 0x27, 0x4a, 0x59, 0xbb, 0xcb, 0xbe, 0x17, 0x39, 0xae, 0x47, 0x03, 0xbb, 0xe3, - 0x45, 0xee, 0x31, 0x15, 0x63, 0x4f, 0x95, 0x93, 0x77, 0x61, 0x46, 0x95, 0x6d, 0x07, 0x8d, 0x23, - 0x1a, 0x46, 0x01, 0xe6, 0x71, 0xc2, 0x07, 0x4d, 0xec, 0xec, 0x4a, 0x6c, 0xa1, 0xe5, 0x77, 0x9a, - 0xab, 0xde, 0x33, 0x37, 0xf0, 0x3d, 0x7c, 0xda, 0x7d, 0x58, 0xb4, 0x90, 0x28, 0xb7, 0x76, 0x32, - 0xbf, 0xda, 0xaf, 0xb1, 0x04, 0xad, 0xd3, 0x12, 0x2c, 0x64, 0x7e, 0x58, 0x52, 0x78, 0xeb, 0xc8, - 0xa5, 0xc4, 0xfa, 0xbd, 0x09, 0xfd, 0x28, 0xcd, 0xb9, 0x63, 0x40, 0x46, 0xf0, 0x20, 0x3e, 0x27, - 0xc5, 0x6a, 0x6d, 0x84, 0x21, 0x0f, 0x94, 0x23, 0xb8, 0x0f, 0xd5, 0xd6, 0xdb, 0x49, 0x99, 0x99, - 0xd1, 0xb8, 0xee, 0x10, 0x96, 0xae, 0xdf, 0xaf, 0xe3, 0x73, 0xfb, 0xb3, 0x12, 0x54, 0xba, 0xc8, - 0x13, 0x35, 0xa6, 0xd2, 0x19, 0xc6, 0xf4, 0x50, 0x8d, 0x89, 0xdf, 0x15, 0x5a, 0x3c, 0x9b, 0xcc, - 0x7a, 0xd5, 0xc3, 0x5a, 0x06, 0x92, 0xde, 0x79, 0xc8, 0xb7, 0x61, 0xa4, 0x56, 0x5b, 0x33, 0xc2, - 0x24, 0x52, 0x9e, 0xc0, 0x18, 0xc2, 0x7a, 0x1f, 0x2e, 0x2a, 0x22, 0xfc, 0x39, 0x6f, 0xed, 0x42, - 0xa2, 0xd8, 0xeb, 0xd5, 0xc5, 0xc7, 0xb8, 0xc0, 0xfa, 0xd3, 0xfe, 0x14, 0x62, 0xad, 0x73, 0x7c, - 0xec, 0x04, 0x2f, 0x48, 0xd5, 0x44, 0xec, 0xeb, 0xba, 0xc9, 0x2e, 0xf5, 0xff, 0xfc, 0xa4, 0xd2, - 0xa3, 0x51, 0x27, 0xaf, 0xc3, 0x38, 0x7e, 0x90, 0x5e, 0x83, 0x72, 0x3f, 0x60, 0x2f, 0x7f, 0x74, - 0xc1, 0x28, 0x24, 0xfb, 0x30, 0x2e, 0xd6, 0x3a, 0xfe, 0x96, 0x4b, 0xec, 0x4e, 0x72, 0x89, 0x19, - 0xdd, 0xbb, 0x65, 0xa0, 0xf0, 0xc9, 0x30, 0xc9, 0x90, 0x2f, 0x60, 0x42, 0x0a, 0x36, 0x41, 0x98, - 0x1f, 0xb6, 0xde, 0x2d, 0x26, 0x6c, 0xe2, 0x70, 0xca, 0x09, 0x42, 0xac, 0xcb, 0x42, 0x5c, 0x0b, - 0xca, 0x03, 0x67, 0xe9, 0xb2, 0x81, 0x22, 0xba, 0x6c, 0x94, 0xcd, 0x7f, 0x1f, 0x48, 0x7a, 0x5c, - 0xdd, 0x56, 0xd3, 0xb8, 0xb6, 0x9a, 0xe6, 0xab, 0x30, 0x95, 0x31, 0x80, 0x73, 0x91, 0xf8, 0x3e, - 0x90, 0x74, 0x4f, 0xcf, 0x43, 0xc1, 0xba, 0x01, 0x6f, 0x2a, 0x16, 0xa8, 0xd5, 0x60, 0xd0, 0x94, - 0xd6, 0xfe, 0x6f, 0xf7, 0x42, 0xa5, 0x0b, 0x28, 0xf9, 0x7b, 0xa5, 0x24, 0xb7, 0xf9, 0x6a, 0xfc, - 0x30, 0xc9, 0xed, 0x6c, 0xfc, 0x0c, 0xb6, 0x2f, 0x7d, 0xf4, 0xb3, 0xbf, 0x78, 0xe9, 0x8d, 0x3a, - 0x3d, 0x65, 0xe7, 0xe7, 0x56, 0xbf, 0xce, 0x2d, 0x1b, 0xa6, 0x0d, 0x15, 0xe7, 0x2c, 0xb2, 0xfb, - 0x2a, 0x80, 0xc8, 0x6c, 0xb5, 0xe1, 0x1f, 0x8a, 0xeb, 0x9c, 0x5a, 0x89, 0x75, 0x1f, 0x66, 0x12, - 0x34, 0x85, 0x07, 0xe2, 0xdb, 0xa0, 0x2e, 0x9e, 0x21, 0xd1, 0xbe, 0xa5, 0x0b, 0xbf, 0x3c, 0xa9, - 0x8c, 0xb3, 0x1d, 0xf0, 0x56, 0xfc, 0xae, 0xad, 0xfc, 0xcb, 0xda, 0xd4, 0x7d, 0x28, 0xd5, 0x96, - 0x7e, 0x21, 0x9f, 0xdc, 0x85, 0x41, 0x5e, 0x92, 0x78, 0x3d, 0x52, 0x87, 0x16, 0x32, 0x41, 0x00, - 0x5a, 0x33, 0x78, 0xd9, 0x06, 0x7f, 0x54, 0xe3, 0x6b, 0x9d, 0xd6, 0x1e, 0x7f, 0xcf, 0x3c, 0x2e, - 0x56, 0x2f, 0x54, 0xf6, 0x57, 0xe3, 0xeb, 0xa7, 0xf2, 0xc0, 0x4b, 0xc2, 0x79, 0xfe, 0xf3, 0x16, - 0x6d, 0xf2, 0x44, 0x28, 0x4b, 0x63, 0xe2, 0xc0, 0xab, 0xdf, 0x61, 0x04, 0x10, 0xcd, 0xfa, 0x14, - 0x66, 0x96, 0x5b, 0xd4, 0x09, 0x92, 0xed, 0x91, 0x37, 0x61, 0x08, 0xcb, 0xcc, 0x70, 0x3d, 0x87, - 0x15, 0x61, 0xb8, 0x9e, 0xa8, 0xb4, 0x36, 0xe0, 0x12, 0xb7, 0xc0, 0xf4, 0x21, 0xc5, 0xfe, 0x8e, - 0x01, 0xfc, 0x9d, 0xb8, 0xaa, 0x91, 0x31, 0x7a, 0x0e, 0x67, 0x7d, 0x82, 0xb1, 0xc0, 0x59, 0x29, - 0xac, 0xcf, 0x76, 0x79, 0xe8, 0xff, 0x87, 0x85, 0x6a, 0xbb, 0x4d, 0xbd, 0x66, 0x8c, 0xb8, 0x1b, - 0x38, 0x67, 0xbc, 0x94, 0x49, 0xaa, 0x30, 0x80, 0xd0, 0xca, 0x59, 0x2c, 0xba, 0x9b, 0xd1, 0x1d, - 0x84, 0x13, 0xcf, 0x89, 0x61, 0x03, 0x1c, 0xd3, 0x6a, 0xc2, 0x6c, 0xad, 0x73, 0x70, 0xec, 0xf2, - 0xbc, 0xce, 0x78, 0xb1, 0x59, 0xb6, 0xbd, 0x2e, 0x53, 0x50, 0x70, 0x66, 0xdc, 0x88, 0x63, 0x46, - 0x31, 0x4e, 0x50, 0x5c, 0x76, 0x7e, 0x76, 0xf7, 0x56, 0x8c, 0x8a, 0xd6, 0x0a, 0x6f, 0x05, 0xab, - 0x45, 0x9a, 0x0a, 0x6b, 0x0a, 0x2e, 0xe8, 0x8e, 0x37, 0xbe, 0x42, 0x66, 0x60, 0xca, 0x74, 0xa8, - 0xf1, 0xe2, 0x2f, 0x61, 0x9a, 0x1b, 0xfc, 0xfc, 0x39, 0xd0, 0xc5, 0xf8, 0xe5, 0xcb, 0xde, 0xfd, - 0xc5, 0x44, 0x74, 0x21, 0x06, 0x1d, 0xa9, 0x87, 0x9e, 0xf7, 0x17, 0xf9, 0x7d, 0x8e, 0x67, 0x8b, - 0x86, 0xdb, 0xb6, 0x77, 0x7f, 0x71, 0x69, 0x48, 0x3c, 0xab, 0xc6, 0xa8, 0xf3, 0xe9, 0xff, 0x46, - 0xa8, 0x2f, 0xe2, 0x15, 0xc2, 0x35, 0xea, 0x60, 0xb8, 0x6f, 0xf6, 0x45, 0xac, 0x09, 0xe8, 0x75, - 0x9b, 0x52, 0xcb, 0x76, 0x9b, 0xd6, 0x1f, 0x97, 0xe0, 0x06, 0xd7, 0x45, 0xb2, 0xf1, 0xd0, 0xbb, - 0x96, 0x83, 0x4c, 0x3e, 0x00, 0x9e, 0xac, 0x54, 0x28, 0x7c, 0x96, 0xe8, 0x79, 0x11, 0x25, 0x8e, - 0x40, 0xaa, 0x30, 0xa6, 0x07, 0xcc, 0x9e, 0xed, 0xd9, 0x1a, 0x7b, 0xf4, 0xf8, 0x89, 0xa3, 0x82, - 0x68, 0x9f, 0xc2, 0xe5, 0xd5, 0xaf, 0xd8, 0x82, 0x10, 0xbb, 0x93, 0x38, 0x75, 0x8e, 0x2f, 0xfa, - 0x4c, 0xee, 0x8a, 0x15, 0x63, 0xaa, 0xc1, 0xc9, 0x62, 0x66, 0x1e, 0xc8, 0x0d, 0x4e, 0x69, 0xaf, - 0x23, 0xb6, 0x51, 0x66, 0xfd, 0x69, 0x09, 0x16, 0xb2, 0x5b, 0x13, 0x82, 0x65, 0x1d, 0x2e, 0x2c, - 0x3b, 0x9e, 0xef, 0xb9, 0x0d, 0xa7, 0x55, 0x6b, 0x1c, 0xd1, 0x66, 0x47, 0x3d, 0xbe, 0xa6, 0xa4, - 0x0c, 0x33, 0x77, 0x04, 0xba, 0x04, 0xb1, 0xd3, 0x58, 0xe4, 0x7d, 0xb8, 0x88, 0x31, 0x97, 0x5c, - 0xf6, 0xb6, 0x68, 0xa0, 0xe8, 0xf1, 0x9e, 0xe5, 0xd4, 0x92, 0x3b, 0x30, 0xc5, 0x37, 0x95, 0xe6, - 0x9e, 0xe7, 0x46, 0x0a, 0x89, 0x5b, 0x45, 0x59, 0x55, 0xd6, 0xbf, 0x2b, 0xc1, 0x25, 0xcc, 0x78, - 0x60, 0xe4, 0x50, 0x8a, 0xdf, 0x20, 0x94, 0xcf, 0xe8, 0x95, 0x8c, 0x18, 0x52, 0x03, 0xda, 0x7c, - 0x4f, 0x8f, 0xbc, 0x03, 0xfd, 0x35, 0x79, 0x32, 0x3d, 0x91, 0xc8, 0xbe, 0x26, 0x33, 0xdd, 0xfa, - 0x41, 0x64, 0x23, 0x14, 0xdb, 0x73, 0x56, 0x68, 0xd8, 0xa0, 0x1e, 0xa6, 0xc9, 0xeb, 0xe3, 0x7b, - 0x4e, 0x5c, 0x12, 0x3f, 0xa1, 0xd0, 0x9f, 0xf7, 0x84, 0xc2, 0x80, 0xf9, 0x84, 0x82, 0xf5, 0x8c, - 0xe7, 0x3b, 0x48, 0x0e, 0x48, 0x4c, 0xd2, 0x27, 0xa9, 0xac, 0x7a, 0x7c, 0x1f, 0xb8, 0x98, 0x35, - 0xb2, 0xfd, 0x7b, 0xa9, 0x84, 0x79, 0xf9, 0x6f, 0xfe, 0xed, 0xc0, 0xeb, 0x06, 0x6c, 0xb5, 0xd5, - 0xf2, 0x9f, 0xd3, 0xe6, 0x4e, 0xe0, 0x1f, 0xfb, 0x91, 0xf1, 0xda, 0xbc, 0x48, 0x2b, 0x19, 0xfb, - 0xae, 0xc4, 0xaa, 0x4c, 0x14, 0x5b, 0xff, 0x1f, 0xbc, 0xd1, 0x85, 0xa2, 0x18, 0x54, 0x0d, 0x2e, - 0x38, 0x89, 0x3a, 0x79, 0xc4, 0xf8, 0x46, 0xd6, 0xb8, 0x92, 0x84, 0x42, 0x3b, 0x8d, 0x7f, 0x73, - 0xd7, 0xc8, 0x44, 0x47, 0xe6, 0x60, 0x7a, 0xc7, 0xde, 0x5e, 0xd9, 0x5b, 0xde, 0xad, 0xef, 0x7e, - 0xb1, 0xb3, 0x5a, 0xdf, 0xdb, 0x7a, 0xb4, 0xb5, 0xfd, 0x78, 0x8b, 0x3f, 0x9a, 0x69, 0xd4, 0xec, - 0xae, 0x56, 0x37, 0xcb, 0x25, 0x32, 0x0d, 0x65, 0xa3, 0x78, 0x75, 0x6f, 0xa9, 0xdc, 0x7b, 0xf3, - 0x4b, 0x23, 0xc3, 0x1a, 0x59, 0x80, 0xb9, 0xda, 0xde, 0xce, 0xce, 0xb6, 0xad, 0xa8, 0xea, 0x4f, - 0x76, 0xce, 0xc0, 0x05, 0xa3, 0xf6, 0xbe, 0xbd, 0xba, 0xca, 0x33, 0xee, 0x1b, 0xc5, 0x3b, 0xf6, - 0xea, 0xe6, 0xfa, 0xde, 0x66, 0xb9, 0xf7, 0x66, 0x5d, 0x0f, 0x5c, 0x27, 0x97, 0x61, 0x76, 0x65, - 0x75, 0x7f, 0x7d, 0x79, 0x35, 0x8b, 0xf6, 0x34, 0x94, 0xf5, 0xca, 0xdd, 0xed, 0xdd, 0x1d, 0x4e, - 0x5a, 0x2f, 0x7d, 0xbc, 0xba, 0x54, 0xdd, 0xdb, 0x5d, 0xdb, 0x2a, 0xf7, 0x59, 0xfd, 0xc3, 0xbd, - 0xe5, 0xde, 0x9b, 0x3f, 0x36, 0xa2, 0xda, 0x59, 0xf7, 0x05, 0xf8, 0x5e, 0xad, 0xfa, 0x20, 0xbf, - 0x09, 0x5e, 0xbb, 0x79, 0xbf, 0x5a, 0x2e, 0x91, 0x2b, 0x70, 0xc9, 0x28, 0xdd, 0xa9, 0xd6, 0x6a, - 0x8f, 0xb7, 0xed, 0x95, 0x8d, 0xd5, 0x5a, 0xad, 0xdc, 0x7b, 0x73, 0xdf, 0x78, 0x36, 0x86, 0xb5, - 0xb0, 0x79, 0xbf, 0x5a, 0xb7, 0x57, 0x3f, 0xdb, 0x5b, 0xb7, 0x57, 0x57, 0xd2, 0x2d, 0x18, 0xb5, - 0x5f, 0xac, 0xd6, 0xca, 0x25, 0x32, 0x05, 0x93, 0x46, 0xe9, 0xd6, 0x76, 0xb9, 0xf7, 0xe6, 0x9b, - 0xe2, 0x65, 0x11, 0x32, 0x01, 0xb0, 0xb2, 0x5a, 0x5b, 0x5e, 0xdd, 0x5a, 0x59, 0xdf, 0x7a, 0x50, - 0xee, 0x21, 0xe3, 0x30, 0x52, 0x55, 0x3f, 0x4b, 0x37, 0x3f, 0x82, 0xc9, 0x84, 0x65, 0xcb, 0x20, - 0x94, 0x51, 0x58, 0xee, 0x41, 0xf6, 0xcb, 0x9f, 0xe8, 0x8e, 0xe0, 0x46, 0x6a, 0xb9, 0x74, 0x73, - 0x49, 0x26, 0x45, 0xd3, 0xbe, 0x73, 0x32, 0x0a, 0x43, 0x2b, 0xab, 0xf7, 0xab, 0x7b, 0x1b, 0xbb, - 0xe5, 0x1e, 0xf6, 0x63, 0xd9, 0x5e, 0xad, 0xee, 0xae, 0xae, 0x94, 0x4b, 0x64, 0x04, 0x06, 0x6a, - 0xbb, 0xd5, 0xdd, 0xd5, 0x72, 0x2f, 0x19, 0x86, 0xfe, 0xbd, 0xda, 0xaa, 0x5d, 0xee, 0x5b, 0xfc, - 0xed, 0xbf, 0x5b, 0x82, 0x51, 0x26, 0xfa, 0x65, 0x84, 0xf4, 0x97, 0x9a, 0x31, 0x29, 0x44, 0x9e, - 0xc8, 0x00, 0x95, 0x6b, 0x39, 0xa2, 0x16, 0x30, 0x5f, 0xe0, 0xa4, 0x44, 0x80, 0x1b, 0xa5, 0x3b, - 0x25, 0x62, 0xe3, 0x89, 0x5c, 0xc2, 0xb6, 0x52, 0x94, 0xb3, 0xcd, 0xdf, 0xf9, 0x2b, 0x85, 0x26, - 0x19, 0xf9, 0x0d, 0xb0, 0x74, 0x9a, 0x39, 0x16, 0xc8, 0xb7, 0xcf, 0x66, 0x69, 0xc8, 0x36, 0xdf, - 0x3c, 0x1b, 0x38, 0x79, 0x08, 0xe3, 0x4c, 0x37, 0x57, 0x60, 0xe4, 0x72, 0x12, 0x51, 0x33, 0x07, - 0xe6, 0x17, 0xb2, 0x2b, 0xd5, 0x13, 0xf1, 0x63, 0x38, 0x10, 0x6e, 0x58, 0x87, 0x44, 0xde, 0x61, - 0x95, 0x25, 0x5c, 0xe2, 0xcf, 0x5f, 0x48, 0x14, 0xef, 0xdf, 0xbd, 0x53, 0x22, 0x35, 0x7c, 0xfa, - 0xc5, 0x50, 0xf2, 0x89, 0x0c, 0xd9, 0x4f, 0x6b, 0xff, 0xbc, 0x37, 0x15, 0x95, 0x52, 0x29, 0xc7, - 0x3a, 0xd8, 0x02, 0x92, 0xd6, 0x9d, 0xc9, 0xb5, 0x78, 0x1d, 0x64, 0xab, 0xd5, 0xf3, 0x17, 0x53, - 0x81, 0x16, 0xab, 0x4c, 0x7b, 0x22, 0xab, 0x30, 0x21, 0x2e, 0xa8, 0x09, 0x6d, 0x9e, 0x14, 0xd9, - 0x03, 0xb9, 0x64, 0x1e, 0x20, 0x9f, 0x94, 0x45, 0x40, 0xe6, 0xe3, 0x71, 0x24, 0xcd, 0x84, 0xf9, - 0xcb, 0x99, 0x75, 0x62, 0x7c, 0xf7, 0x61, 0xc2, 0x34, 0x2e, 0x88, 0x9c, 0xa0, 0x4c, 0x9b, 0x23, - 0xb7, 0x43, 0x75, 0x98, 0xdd, 0x74, 0x5c, 0x74, 0x2d, 0x8a, 0xe3, 0x7c, 0x79, 0x18, 0x4f, 0x2a, - 0x05, 0xa7, 0xf3, 0x35, 0xea, 0x35, 0xd5, 0x24, 0xe4, 0x3d, 0xf7, 0x8a, 0x9f, 0x4d, 0x4d, 0xea, - 0xc8, 0x66, 0x30, 0x03, 0xb1, 0xcc, 0x34, 0x79, 0x59, 0xf1, 0x29, 0xf3, 0x79, 0x21, 0x55, 0x64, - 0x13, 0x95, 0xf4, 0x04, 0x45, 0x6d, 0x4d, 0x9c, 0x9b, 0xdc, 0x1c, 0x5e, 0x93, 0xd4, 0x72, 0x67, - 0x8a, 0xca, 0x90, 0xe4, 0x30, 0x2e, 0x97, 0xd8, 0x9d, 0x12, 0xf9, 0x12, 0xbf, 0xea, 0x4c, 0x72, - 0x8f, 0xdd, 0xe8, 0x48, 0x68, 0x3f, 0x97, 0x33, 0x09, 0x88, 0x0f, 0xa5, 0x80, 0xba, 0x0d, 0xd3, - 0x59, 0x51, 0x5c, 0x8a, 0xa1, 0x05, 0x21, 0x5e, 0xb9, 0xab, 0xc0, 0x66, 0xa6, 0x46, 0x33, 0x7f, - 0x92, 0x0a, 0x82, 0x88, 0x72, 0x69, 0x7e, 0x17, 0x26, 0xd8, 0x2a, 0x79, 0x44, 0x69, 0xbb, 0xda, - 0x72, 0x9f, 0xd1, 0x90, 0xc8, 0x77, 0xfb, 0x54, 0x51, 0x1e, 0xee, 0x8d, 0x12, 0xf9, 0x16, 0x8c, - 0x3e, 0x76, 0xa2, 0xc6, 0x91, 0x78, 0xbf, 0x4a, 0x3e, 0x6f, 0x85, 0x65, 0xf3, 0xf2, 0x17, 0x56, - 0xde, 0x29, 0x91, 0xef, 0xc1, 0xd0, 0x03, 0x1a, 0xe1, 0x95, 0xa9, 0xeb, 0x2a, 0xa0, 0x81, 0x07, - 0x0f, 0xae, 0x7b, 0x2a, 0x5c, 0x59, 0x76, 0x38, 0xe9, 0xc8, 0x24, 0xb7, 0x01, 0xb8, 0x40, 0x40, - 0x0a, 0xc9, 0xea, 0xf9, 0x54, 0xb7, 0xc9, 0x03, 0xa6, 0x3c, 0xb4, 0x68, 0x44, 0xcf, 0xda, 0x64, - 0x1e, 0x8f, 0x36, 0x60, 0x42, 0xbd, 0xaa, 0xbf, 0x85, 0x97, 0x95, 0xad, 0x04, 0xb1, 0xf0, 0x1c, - 0xd4, 0x3e, 0x62, 0x5f, 0x05, 0x4f, 0xea, 0x86, 0xb7, 0x5a, 0x51, 0x92, 0xce, 0xea, 0x57, 0x63, - 0x75, 0x11, 0x2a, 0x99, 0xc8, 0xc1, 0x34, 0xdc, 0x35, 0x3f, 0x8c, 0x4c, 0x5c, 0x55, 0x92, 0x8d, - 0xfb, 0xeb, 0x30, 0xaf, 0xb7, 0x6b, 0x3e, 0xa0, 0x18, 0xcb, 0xdc, 0xbc, 0x77, 0x19, 0xe7, 0xaf, - 0x17, 0x40, 0x08, 0xfb, 0xad, 0xef, 0xaf, 0xf7, 0x96, 0x50, 0x9c, 0xac, 0xc0, 0x94, 0x6c, 0x6b, - 0xbb, 0x4d, 0xbd, 0x5a, 0x6d, 0x0d, 0x5f, 0x50, 0x97, 0x87, 0xa8, 0x5a, 0x99, 0xa4, 0x4e, 0xd2, - 0x55, 0x6c, 0xeb, 0x33, 0x6e, 0xaf, 0x92, 0xa2, 0x3b, 0xad, 0xf1, 0xd6, 0x97, 0xf9, 0xb2, 0xdf, - 0x23, 0xee, 0x54, 0x32, 0x94, 0xff, 0xfd, 0x45, 0x52, 0x60, 0x00, 0xcd, 0xe7, 0x98, 0x10, 0x77, - 0x4a, 0xe4, 0x0b, 0x20, 0x69, 0x93, 0x44, 0xb1, 0x30, 0xd7, 0xfc, 0x52, 0x2c, 0x2c, 0xb0, 0x67, - 0x56, 0x61, 0x4a, 0xdd, 0x5d, 0x8f, 0xeb, 0x49, 0x4e, 0x5f, 0x0a, 0x76, 0xb0, 0x99, 0x0c, 0x32, - 0xfb, 0x8b, 0x05, 0x84, 0x32, 0xcb, 0xc9, 0xa7, 0x30, 0x25, 0xd6, 0xbe, 0xd1, 0x9f, 0xb2, 0x12, - 0x63, 0xc2, 0xb8, 0xc9, 0xed, 0xc9, 0x43, 0x98, 0xa9, 0x25, 0x18, 0xcf, 0x83, 0x07, 0x2f, 0x99, - 0x24, 0xb0, 0xb0, 0x46, 0x23, 0xce, 0xf9, 0x6c, 0x5a, 0x8f, 0x80, 0x70, 0xdf, 0x92, 0x24, 0xf7, - 0xcc, 0xa5, 0xcf, 0xc9, 0x95, 0x44, 0xd7, 0x59, 0x21, 0x82, 0xa1, 0x1c, 0xcc, 0x1d, 0xd9, 0x2e, - 0xcf, 0x6c, 0x88, 0xa5, 0xcb, 0x4e, 0xdb, 0x39, 0x70, 0x5b, 0x6e, 0xe4, 0x52, 0x36, 0x8f, 0x3a, - 0x82, 0x5e, 0x25, 0xe7, 0xf1, 0x52, 0x2e, 0x04, 0xf9, 0x2d, 0x7c, 0x35, 0xae, 0xd8, 0x3a, 0x23, - 0xdf, 0xca, 0x32, 0xa2, 0x73, 0xec, 0xcb, 0xf9, 0x77, 0xce, 0x06, 0xac, 0xec, 0xe1, 0xf1, 0x07, - 0x34, 0xe2, 0x29, 0xfb, 0x57, 0x9c, 0xc8, 0x21, 0xca, 0xf7, 0xa4, 0x8a, 0xc4, 0xf2, 0x56, 0x79, - 0xc3, 0x55, 0x45, 0x8d, 0xfe, 0x84, 0xac, 0x43, 0x99, 0x6f, 0x23, 0x1a, 0x89, 0x2b, 0x29, 0x12, - 0x02, 0xc4, 0x09, 0x9c, 0xe3, 0x30, 0x77, 0xb6, 0x6e, 0xf3, 0x50, 0x01, 0xa2, 0xb2, 0x9d, 0x6b, - 0x7a, 0xea, 0x94, 0x51, 0xa6, 0x5e, 0xd2, 0x65, 0x33, 0x62, 0xd3, 0x90, 0x46, 0xf2, 0x92, 0x3b, - 0xcf, 0xb7, 0xf6, 0x5a, 0xac, 0x33, 0xa4, 0x6b, 0x63, 0x09, 0x92, 0x78, 0x90, 0x65, 0xff, 0x1e, - 0x51, 0x39, 0xe8, 0x32, 0x88, 0xbe, 0x69, 0xa8, 0x36, 0xe7, 0xa3, 0xfb, 0x2e, 0x6e, 0x65, 0x78, - 0xb1, 0x7f, 0x26, 0xee, 0x9b, 0x96, 0xfc, 0x78, 0x7e, 0x5c, 0xc3, 0xda, 0x5f, 0x44, 0xc9, 0xc8, - 0xf6, 0x5a, 0xa6, 0x09, 0x77, 0x82, 0x80, 0x7a, 0x1c, 0x39, 0x4f, 0x6d, 0xc9, 0xc2, 0xfe, 0x04, - 0x25, 0x98, 0x86, 0xcd, 0xef, 0x38, 0x74, 0x23, 0xc1, 0xf3, 0x03, 0xdc, 0x29, 0x91, 0x0f, 0x60, - 0x58, 0xf4, 0x91, 0x21, 0x19, 0x9d, 0x0e, 0x0b, 0x7a, 0x8d, 0x98, 0xc0, 0x99, 0x84, 0x7d, 0x36, - 0x61, 0xf2, 0x66, 0x9f, 0xf7, 0xf9, 0x03, 0xb6, 0x67, 0x37, 0x5f, 0x06, 0x73, 0x59, 0x6e, 0xde, - 0x88, 0x39, 0xa7, 0xee, 0x99, 0x27, 0x92, 0x4c, 0x17, 0x13, 0x61, 0xea, 0x37, 0xbe, 0xa8, 0xa4, - 0x1e, 0x46, 0x51, 0xea, 0xb7, 0x51, 0xdc, 0x6d, 0xcb, 0x5e, 0x87, 0x72, 0xb5, 0x81, 0x1b, 0x8a, - 0x4a, 0x37, 0xad, 0x6c, 0x9f, 0x64, 0x85, 0xa4, 0x35, 0x93, 0xcc, 0x5e, 0xbd, 0x41, 0x1d, 0x7c, - 0x30, 0x72, 0x56, 0x69, 0x28, 0x89, 0xaa, 0x6c, 0x8c, 0x02, 0x5b, 0x67, 0x7a, 0x99, 0x59, 0x67, - 0xad, 0xaf, 0x47, 0xe6, 0x23, 0x14, 0x18, 0x5a, 0x2a, 0xee, 0x8b, 0x49, 0x7c, 0x65, 0x15, 0xca, - 0x70, 0x67, 0x05, 0x5a, 0x85, 0x49, 0xf1, 0x3c, 0x9d, 0x62, 0x4b, 0x1e, 0x76, 0x5e, 0xf3, 0xdf, - 0x81, 0x89, 0x55, 0x26, 0xd0, 0x3b, 0x4d, 0x97, 0x3f, 0x92, 0x4b, 0xcc, 0x57, 0x4f, 0x73, 0x11, - 0xd7, 0x64, 0x4a, 0x0e, 0x2d, 0x47, 0xb5, 0xda, 0x53, 0xd2, 0x69, 0xc0, 0xe7, 0xa7, 0x25, 0x59, - 0x3d, 0x9d, 0xb5, 0x70, 0x19, 0xcc, 0xe6, 0x64, 0x85, 0x26, 0x6f, 0x18, 0x96, 0x68, 0x5e, 0x6a, - 0xe7, 0x0c, 0xdd, 0xf3, 0x73, 0x2d, 0x45, 0x5e, 0x0e, 0xcd, 0xe2, 0x74, 0xd1, 0xb9, 0xe3, 0x56, - 0xcf, 0x5a, 0x66, 0xa6, 0x75, 0x26, 0x6f, 0x9b, 0xd4, 0x0b, 0x52, 0x3f, 0xe7, 0xb6, 0x80, 0x96, - 0xbe, 0x99, 0x75, 0x98, 0x5c, 0x2d, 0x4e, 0x8e, 0xac, 0x59, 0xfa, 0x39, 0xe9, 0x8a, 0x1f, 0xe2, - 0x32, 0x8b, 0xf3, 0xe8, 0x11, 0xdd, 0x6e, 0x4e, 0xa6, 0x11, 0x54, 0xba, 0x5c, 0x76, 0xea, 0xe1, - 0x1d, 0x98, 0x4c, 0x24, 0xf5, 0x55, 0x0e, 0x9e, 0xec, 0xb4, 0xc2, 0xf3, 0x57, 0xf3, 0xaa, 0x95, - 0xc3, 0xb5, 0x9c, 0xcc, 0x55, 0xaa, 0x86, 0x9c, 0x93, 0x85, 0x56, 0x0d, 0x39, 0x37, 0xc9, 0xe9, - 0x43, 0x28, 0x27, 0xd3, 0x24, 0x2a, 0xa2, 0x39, 0xf9, 0x13, 0x73, 0xe7, 0xe4, 0x3e, 0x4c, 0xeb, - 0x33, 0xaa, 0xc6, 0x9d, 0x27, 0xfd, 0xf3, 0xe8, 0xec, 0xc2, 0x4c, 0x66, 0x56, 0x43, 0xb5, 0xc5, - 0x16, 0xe5, 0x3c, 0xcc, 0xa5, 0x4a, 0xe1, 0x62, 0x76, 0x62, 0x53, 0xf2, 0xba, 0xe9, 0x3f, 0xc8, - 0x4e, 0xf3, 0x38, 0xff, 0x46, 0x17, 0x28, 0xc1, 0xd0, 0x2f, 0x71, 0x07, 0x4c, 0xb5, 0x71, 0x5d, - 0xf3, 0x28, 0xe4, 0x34, 0x60, 0x15, 0x81, 0xa8, 0x35, 0x30, 0x9d, 0x95, 0xb6, 0x39, 0x97, 0xc5, - 0xaf, 0xe5, 0xd3, 0x8c, 0x17, 0xd6, 0xbe, 0x7c, 0x03, 0x32, 0x97, 0x33, 0x85, 0x09, 0x30, 0x0b, - 0x4c, 0xd2, 0x79, 0xb5, 0x1e, 0xce, 0xde, 0xe5, 0x7c, 0xf7, 0xd2, 0x74, 0x56, 0xda, 0xd5, 0xa4, - 0xf7, 0x27, 0x2b, 0xab, 0xa6, 0x62, 0x43, 0x61, 0xde, 0xd6, 0x7d, 0xee, 0x09, 0x32, 0xa9, 0xeb, - 0x9e, 0xa0, 0x4c, 0xd2, 0xd7, 0xf2, 0x01, 0xe2, 0x15, 0x91, 0x91, 0x9d, 0x9a, 0xe8, 0x76, 0x56, - 0x76, 0xc2, 0x4d, 0xb5, 0x22, 0x8a, 0x92, 0x5b, 0xdb, 0xf2, 0xa3, 0xcb, 0x61, 0x4b, 0x41, 0xb2, - 0xd1, 0x02, 0x73, 0x68, 0x2e, 0x9e, 0xb8, 0x44, 0xb7, 0xcf, 0x3b, 0x6d, 0x5f, 0xc2, 0xa5, 0xdc, - 0xc4, 0xa2, 0xe4, 0xad, 0xd4, 0x07, 0x9d, 0xc3, 0x89, 0xfc, 0x9e, 0x8e, 0x1b, 0x39, 0x41, 0x95, - 0x2b, 0x2c, 0x91, 0x7e, 0x34, 0x25, 0xb1, 0x33, 0x72, 0x93, 0x3e, 0x40, 0xcd, 0x57, 0xcb, 0x2f, - 0x9a, 0x3b, 0xd6, 0x2b, 0x59, 0x74, 0xc2, 0xb4, 0x4c, 0xd5, 0xfa, 0x25, 0x35, 0xb1, 0x64, 0xc5, - 0x79, 0x64, 0xea, 0x59, 0xba, 0x96, 0x47, 0x67, 0x05, 0x46, 0xb5, 0xc4, 0xa4, 0xe4, 0x92, 0xc1, - 0x26, 0x63, 0x97, 0x9c, 0x37, 0x06, 0x67, 0x6e, 0x90, 0xcb, 0xe8, 0x73, 0x56, 0xe9, 0x4d, 0x73, - 0x7b, 0x71, 0x39, 0x4d, 0xc3, 0xf0, 0x37, 0x2b, 0x2e, 0xf0, 0xde, 0x2c, 0x24, 0x99, 0x63, 0x74, - 0x28, 0x7f, 0x48, 0x44, 0x67, 0x4d, 0x97, 0x2e, 0xe5, 0x6b, 0xa8, 0x53, 0x22, 0xfb, 0x19, 0x3e, - 0xd2, 0x2e, 0x5f, 0x1c, 0xba, 0xa8, 0x9c, 0x67, 0x5a, 0x69, 0x81, 0x2f, 0x63, 0x07, 0x43, 0xb2, - 0x33, 0x32, 0xb5, 0x2a, 0x19, 0x5a, 0x98, 0xc8, 0x35, 0x43, 0x3b, 0x53, 0x52, 0x39, 0x97, 0x62, - 0x61, 0xea, 0xd6, 0xdc, 0x9e, 0xfe, 0x48, 0x93, 0xca, 0xa9, 0x7c, 0xac, 0xe4, 0x46, 0x52, 0x35, - 0xcb, 0x4b, 0xd9, 0x5a, 0x20, 0xf5, 0xa7, 0xb3, 0x52, 0xb9, 0x6a, 0x0e, 0xe0, 0xdc, 0x3c, 0xaf, - 0x19, 0x5c, 0x50, 0xe2, 0x2d, 0x87, 0x5a, 0x41, 0x62, 0xd7, 0xdc, 0x1e, 0xfe, 0x40, 0x13, 0x6f, - 0x89, 0x04, 0xac, 0xca, 0xe0, 0xee, 0x92, 0xa1, 0x35, 0x97, 0xf6, 0x16, 0x06, 0xf1, 0xa7, 0xb3, - 0xa7, 0x2a, 0xdd, 0xa5, 0x28, 0xb7, 0x6a, 0xa6, 0x7f, 0x78, 0x26, 0x3d, 0x44, 0x46, 0xef, 0x62, - 0xc2, 0xbb, 0xdb, 0xad, 0x63, 0x4a, 0x0e, 0x67, 0x64, 0x5d, 0x4d, 0xc8, 0xe1, 0xfc, 0xbc, 0xac, - 0x05, 0x86, 0xce, 0x64, 0xcd, 0x3d, 0xf4, 0xb4, 0xa4, 0xa9, 0xca, 0xcc, 0x49, 0xe7, 0x71, 0x55, - 0x22, 0x26, 0x2b, 0xc7, 0xea, 0x36, 0xd3, 0x70, 0xb8, 0x7e, 0xae, 0xa7, 0xbf, 0x24, 0xf3, 0xf9, - 0x59, 0x3f, 0x95, 0xb8, 0xc9, 0xcc, 0x97, 0xa9, 0x11, 0xd4, 0x73, 0x4f, 0x2a, 0x82, 0x19, 0x69, - 0x30, 0x15, 0xc1, 0xcc, 0x64, 0x95, 0xb7, 0xd1, 0xaf, 0x62, 0xfb, 0x2d, 0xaa, 0xfb, 0x55, 0xb4, - 0x64, 0x86, 0x09, 0xb7, 0x06, 0xf9, 0x18, 0x9d, 0x1a, 0xc5, 0x9e, 0x90, 0x59, 0x93, 0x92, 0x1e, - 0x3b, 0x32, 0xa2, 0x32, 0x45, 0x2a, 0x2f, 0x7a, 0x32, 0x59, 0xe5, 0xfc, 0x5c, 0xba, 0x42, 0x65, - 0x9e, 0x86, 0x38, 0x2b, 0xa4, 0xf2, 0x51, 0xa4, 0x12, 0x45, 0x26, 0xfb, 0xfc, 0x9e, 0x74, 0x8a, - 0x18, 0x68, 0xa9, 0x3c, 0x91, 0x49, 0xb4, 0xef, 0xc0, 0x58, 0x9c, 0x13, 0x72, 0x7f, 0x51, 0x43, - 0x4c, 0x24, 0x8a, 0x4c, 0x22, 0x7e, 0x20, 0x0f, 0x4e, 0xb0, 0x3d, 0xb3, 0xb2, 0xd8, 0x7f, 0xf2, - 0x89, 0x74, 0xc2, 0x18, 0x3d, 0x4d, 0x65, 0x98, 0x2c, 0x90, 0xdc, 0x63, 0x7a, 0x22, 0x2b, 0xb5, - 0x2e, 0x32, 0x52, 0xd1, 0xa9, 0x75, 0x91, 0x95, 0x4a, 0x2e, 0x3e, 0x58, 0xf8, 0x42, 0x7a, 0x1c, - 0x62, 0xa2, 0x57, 0x8c, 0x6e, 0xa5, 0xe8, 0x5e, 0xcd, 0xab, 0x4e, 0x92, 0xae, 0x41, 0x39, 0x99, - 0x75, 0x4b, 0x99, 0x6b, 0x39, 0xe9, 0xd1, 0x94, 0x0d, 0x98, 0x9b, 0xae, 0x6b, 0x47, 0xba, 0xcf, - 0x4d, 0xba, 0xd7, 0xb3, 0x3b, 0xa5, 0x93, 0x2e, 0x56, 0xcb, 0xe2, 0x04, 0x5c, 0xba, 0x21, 0x9d, - 0x4a, 0xf0, 0xa5, 0xab, 0x65, 0x19, 0x39, 0xbb, 0x5c, 0xf9, 0x86, 0x46, 0x76, 0x1e, 0xd0, 0xb7, - 0x4d, 0x0b, 0xb7, 0xe0, 0xcd, 0xd7, 0xae, 0x87, 0xcc, 0xe4, 0xd7, 0x60, 0x36, 0xe7, 0x79, 0x4c, - 0xf2, 0x46, 0xc2, 0x11, 0x9b, 0xfd, 0x7c, 0xa6, 0x5a, 0x20, 0x99, 0x99, 0x31, 0x37, 0x31, 0x3a, - 0xc1, 0xb8, 0x2d, 0x9b, 0x3a, 0xf1, 0x7b, 0xec, 0x46, 0x47, 0x3c, 0x01, 0xa4, 0x26, 0x73, 0x33, - 0xaf, 0xd9, 0x92, 0x1a, 0xda, 0x2b, 0x46, 0x69, 0xc6, 0xa1, 0x5f, 0x06, 0xc1, 0xf9, 0x6c, 0x82, - 0x98, 0x33, 0x7c, 0x47, 0x1e, 0xed, 0x24, 0xbb, 0xa9, 0x0f, 0x3f, 0xeb, 0x82, 0x70, 0x6e, 0x37, - 0x77, 0xa4, 0x82, 0x95, 0x4d, 0x31, 0xff, 0x56, 0x73, 0x2e, 0xc5, 0x87, 0x8c, 0x62, 0xea, 0xa2, - 0x32, 0xc9, 0x01, 0x2f, 0x96, 0x1e, 0xb6, 0xdc, 0xaf, 0x4d, 0xac, 0x45, 0xad, 0x7f, 0x79, 0x57, - 0xa2, 0x73, 0xfb, 0xb7, 0x2a, 0xbf, 0xa7, 0xec, 0xfe, 0x9d, 0x75, 0xc7, 0x56, 0xc7, 0x63, 0x89, - 0xbb, 0xf2, 0xc6, 0x40, 0xb5, 0xf2, 0xf9, 0x9c, 0x72, 0xb2, 0x85, 0xe1, 0x46, 0xc9, 0x52, 0xcd, - 0x70, 0xcd, 0xbe, 0x8c, 0x9f, 0x4b, 0x8f, 0xaf, 0x63, 0xe3, 0x32, 0xf3, 0x79, 0xd6, 0x71, 0xe2, - 0x16, 0xb4, 0x58, 0xc7, 0x46, 0xe9, 0xf9, 0xd6, 0x71, 0x82, 0xa0, 0xb9, 0x8e, 0x93, 0xdd, 0x4c, - 0x3a, 0x02, 0x72, 0x67, 0x35, 0xd9, 0x4d, 0xb5, 0x8e, 0xb3, 0x29, 0xe6, 0x5f, 0x3a, 0xcf, 0xa5, - 0xa8, 0xd6, 0xb1, 0x49, 0x31, 0x07, 0xfc, 0x8c, 0xeb, 0x38, 0xd9, 0x88, 0xb9, 0x8e, 0xcf, 0xd5, - 0x3f, 0xb5, 0x8e, 0xb3, 0xfb, 0x77, 0xee, 0x75, 0x9c, 0x78, 0xa5, 0xc1, 0x18, 0x68, 0xd6, 0x3a, - 0x4e, 0xc2, 0xf3, 0x75, 0x9c, 0x2c, 0x4d, 0x38, 0x60, 0x0a, 0xd6, 0x71, 0x12, 0xf3, 0x33, 0xa4, - 0x97, 0xb8, 0x61, 0x7e, 0x96, 0x95, 0x9c, 0x7b, 0x39, 0x9d, 0x3c, 0x46, 0xef, 0x5f, 0xa2, 0xfc, - 0x6c, 0xab, 0x79, 0x21, 0x8f, 0x28, 0xae, 0xe7, 0x7d, 0xc9, 0xc4, 0x64, 0x77, 0x4d, 0xd7, 0x56, - 0xf6, 0x05, 0xfb, 0x82, 0x0e, 0xef, 0xb3, 0x75, 0xd3, 0x2c, 0xa0, 0x5b, 0xf4, 0x3e, 0x40, 0x01, - 0x5d, 0x65, 0x07, 0x25, 0xe9, 0xe6, 0xa2, 0x14, 0xaf, 0xef, 0xcf, 0xe5, 0xf9, 0x47, 0x12, 0x6f, - 0x31, 0x61, 0x59, 0x9d, 0xbb, 0xa7, 0xca, 0xc2, 0x4a, 0xf6, 0xf4, 0xbc, 0xeb, 0x7c, 0x53, 0x6a, - 0x0f, 0xa9, 0x87, 0x45, 0x12, 0x83, 0xd6, 0xd7, 0x7a, 0x6e, 0x0d, 0xd9, 0x45, 0x57, 0x6f, 0xba, - 0x5c, 0x73, 0x13, 0xe7, 0xbd, 0x60, 0xd2, 0x95, 0x6a, 0xea, 0x89, 0x04, 0x9d, 0x6a, 0xde, 0xfb, - 0x09, 0x8a, 0x6a, 0x1a, 0xfb, 0x53, 0x74, 0x9d, 0x89, 0x3b, 0x5d, 0xde, 0x13, 0x3f, 0xdf, 0xce, - 0x99, 0x32, 0x42, 0xa2, 0x18, 0x2c, 0x46, 0xa2, 0x7d, 0x57, 0x1c, 0xf0, 0xc9, 0xc2, 0x5c, 0xe6, - 0x67, 0xe1, 0x93, 0x4f, 0xa1, 0x2c, 0xc4, 0x5b, 0x4c, 0x20, 0x0b, 0x30, 0x77, 0xea, 0x96, 0xa4, - 0xc7, 0xee, 0x0c, 0x3d, 0x38, 0x8b, 0xa7, 0xee, 0x2c, 0x9c, 0xc8, 0x77, 0x6b, 0xb1, 0xed, 0x70, - 0x37, 0xe8, 0x84, 0x11, 0x6d, 0xa6, 0xdd, 0x51, 0x66, 0x67, 0x64, 0xe0, 0x84, 0x09, 0xbe, 0xbf, - 0x48, 0xd6, 0x51, 0xb6, 0x99, 0xc5, 0x45, 0xfe, 0xba, 0x6c, 0x32, 0x28, 0x7a, 0xd6, 0xd4, 0xe5, - 0x21, 0xb3, 0x4f, 0x79, 0x6d, 0xe7, 0x77, 0x4a, 0xb1, 0xe8, 0x8c, 0xa3, 0xcb, 0x63, 0x11, 0x37, - 0xa8, 0xb9, 0xef, 0xb0, 0x1b, 0x67, 0x92, 0xd7, 0x99, 0xc8, 0xf7, 0x61, 0x44, 0x22, 0x77, 0x67, - 0x48, 0x12, 0x1b, 0x19, 0xb2, 0x02, 0xe3, 0xc6, 0x5d, 0x2d, 0x65, 0xdd, 0x64, 0xdd, 0xe0, 0x2a, - 0x98, 0xe7, 0x71, 0xe3, 0x4e, 0x96, 0xa2, 0x92, 0x75, 0x53, 0x2b, 0x97, 0xca, 0xf7, 0x60, 0x54, - 0xb0, 0xb4, 0x90, 0x1b, 0xf9, 0xce, 0xba, 0x19, 0x2d, 0xee, 0xb9, 0xd3, 0x74, 0xa3, 0x65, 0xdf, - 0x7b, 0xe2, 0x1e, 0x76, 0x65, 0x4c, 0x1a, 0x65, 0x7f, 0x91, 0xfc, 0x10, 0xd3, 0x25, 0xca, 0x24, - 0x96, 0x34, 0x7a, 0xee, 0x07, 0x4f, 0x5d, 0xef, 0xb0, 0x0b, 0xc9, 0x6b, 0x26, 0xc9, 0x24, 0x9e, - 0x0c, 0x2d, 0xf9, 0x21, 0xcc, 0xd7, 0xf2, 0x89, 0x77, 0x25, 0x52, 0xbc, 0xbd, 0xd4, 0x60, 0x01, - 0x83, 0x6b, 0xce, 0xdb, 0xf7, 0x42, 0xa2, 0x5f, 0xf0, 0xb7, 0xa9, 0xa4, 0xa3, 0xbf, 0xe1, 0x07, - 0xcd, 0xee, 0x14, 0x2b, 0x66, 0xb8, 0x6e, 0x02, 0x4d, 0x32, 0xe3, 0x0b, 0xb8, 0x54, 0xcb, 0x25, - 0xdd, 0x8d, 0x44, 0x37, 0x4d, 0xf2, 0x32, 0xb2, 0xe2, 0x9c, 0xfd, 0x2e, 0xa4, 0xb9, 0x8e, 0x32, - 0x8d, 0xed, 0x43, 0x3b, 0x01, 0x7d, 0x42, 0x03, 0x0c, 0x0a, 0xef, 0x16, 0x0e, 0x6d, 0x82, 0xcb, - 0x91, 0xaf, 0xc3, 0x85, 0x5a, 0x8a, 0x54, 0x1e, 0x4a, 0x71, 0xaf, 0x1e, 0xc2, 0x14, 0x8e, 0xf4, - 0x8c, 0xfd, 0xea, 0x12, 0x44, 0x34, 0xfa, 0x80, 0x46, 0x7b, 0xeb, 0x5d, 0xb8, 0x24, 0x6f, 0x2d, - 0x48, 0xc0, 0xfd, 0xbb, 0x0c, 0xb3, 0xa6, 0x61, 0xa6, 0x21, 0x72, 0x3f, 0xde, 0xef, 0xcb, 0x83, - 0x94, 0xae, 0xcd, 0xe6, 0x51, 0xb8, 0x87, 0xb2, 0x50, 0x04, 0x46, 0x6b, 0x2e, 0x48, 0x23, 0xab, - 0xf1, 0xfc, 0xb8, 0x1e, 0x23, 0x1d, 0x92, 0x2a, 0x37, 0xff, 0xf4, 0xfc, 0xc7, 0x5a, 0xe8, 0x45, - 0x66, 0x62, 0xe4, 0x24, 0x09, 0xee, 0x42, 0xdd, 0xf0, 0x1b, 0x4f, 0x75, 0x17, 0xaa, 0x96, 0x50, - 0x77, 0xde, 0x4c, 0x77, 0x2b, 0x24, 0x3e, 0xe6, 0xbc, 0xd5, 0xe3, 0xc2, 0xf4, 0x94, 0xba, 0xba, - 0x0b, 0xd5, 0x4c, 0xfe, 0x7b, 0x4f, 0xfa, 0x16, 0xb1, 0x41, 0x93, 0x72, 0x2e, 0x6b, 0x94, 0x5b, - 0x11, 0x91, 0x4c, 0xb7, 0xa2, 0xde, 0xd1, 0xfc, 0x83, 0x00, 0x92, 0xce, 0xfe, 0xab, 0x8c, 0x95, - 0xdc, 0xc4, 0xc0, 0x05, 0xe1, 0x5d, 0x53, 0x19, 0xc9, 0xcb, 0x95, 0x79, 0x97, 0x9f, 0xd8, 0x7c, - 0xde, 0x8c, 0x55, 0xba, 0x53, 0x22, 0x5b, 0x70, 0xf1, 0x01, 0x8d, 0x84, 0x8c, 0xb3, 0x69, 0x18, - 0x05, 0x6e, 0x23, 0x2a, 0x3c, 0x55, 0x94, 0xb6, 0x49, 0x06, 0xce, 0xfe, 0xbb, 0x8c, 0x5e, 0x2d, - 0x9b, 0x5e, 0x21, 0x5e, 0x41, 0x04, 0xad, 0x38, 0xaa, 0x38, 0x4f, 0x17, 0xf3, 0x97, 0xf8, 0x10, - 0x0f, 0xd0, 0xc9, 0x47, 0x2d, 0xc7, 0x59, 0x29, 0x84, 0xb5, 0x75, 0x0b, 0x06, 0x39, 0x52, 0xee, - 0x86, 0x3a, 0xa6, 0xe3, 0x90, 0xbb, 0x30, 0xa2, 0x22, 0x6c, 0x88, 0x51, 0x95, 0xdb, 0xaf, 0xbb, - 0x30, 0xc2, 0x4d, 0xab, 0xb3, 0xa3, 0x7c, 0x0c, 0x23, 0x2a, 0x24, 0xe7, 0xdc, 0x3b, 0xfd, 0xa7, - 0x30, 0xae, 0x07, 0xe7, 0x9c, 0x9f, 0x91, 0xdf, 0xc3, 0xb3, 0x5f, 0x79, 0xc4, 0x92, 0x8f, 0x3f, - 0x93, 0xc8, 0x54, 0x22, 0x58, 0xca, 0x05, 0xa4, 0x2c, 0xcc, 0xed, 0xfe, 0x85, 0x14, 0x36, 0xf9, - 0x58, 0xde, 0x97, 0x52, 0xc8, 0x69, 0xa0, 0x02, 0x9e, 0x4d, 0x70, 0x36, 0xbf, 0x0c, 0xb2, 0x12, - 0xb0, 0x5d, 0xbb, 0x7d, 0x96, 0x33, 0xea, 0xee, 0xac, 0xcb, 0xa3, 0xb2, 0x8d, 0x5a, 0x5a, 0x2a, - 0x87, 0x4e, 0x3e, 0xa1, 0xab, 0xf9, 0x69, 0x77, 0x70, 0x32, 0x1e, 0xa2, 0x15, 0x98, 0xaa, 0xcd, - 0x1d, 0x5e, 0x41, 0x1a, 0x9f, 0xd8, 0xec, 0x4d, 0x93, 0x2b, 0x40, 0x2b, 0xb2, 0xa2, 0xc5, 0x2d, - 0xd0, 0x57, 0x42, 0x6e, 0x5d, 0xc6, 0x38, 0x9e, 0x7d, 0xb0, 0xf9, 0x3d, 0xbb, 0x9c, 0x71, 0x2a, - 0xde, 0x75, 0x2e, 0xf2, 0xc8, 0xfd, 0x1a, 0x6a, 0x87, 0xd9, 0xa9, 0xdb, 0x73, 0x89, 0xdd, 0xd0, - 0x02, 0x2b, 0x8a, 0x93, 0xbe, 0x3f, 0xc5, 0x8b, 0x68, 0xd9, 0x59, 0x86, 0xde, 0xec, 0x42, 0x45, - 0x72, 0xe2, 0xad, 0xae, 0x70, 0xea, 0x8c, 0xf5, 0x32, 0xdf, 0x61, 0xb3, 0xdb, 0xeb, 0x92, 0x35, - 0x29, 0xe3, 0xd8, 0x3b, 0x27, 0x2f, 0xba, 0x24, 0x68, 0x06, 0x90, 0x16, 0x8e, 0x21, 0x8f, 0xfd, - 0x9f, 0x41, 0x25, 0x8e, 0x1e, 0x39, 0xdf, 0x24, 0xe4, 0xc7, 0x2d, 0x92, 0x74, 0xb6, 0x78, 0x52, - 0x94, 0xdd, 0x60, 0xfe, 0x7a, 0x1e, 0x87, 0x43, 0x2d, 0x2c, 0x49, 0xc4, 0xbd, 0x25, 0xf2, 0x6d, - 0xe5, 0x65, 0xee, 0x2a, 0xf0, 0xc3, 0x8a, 0x9b, 0x79, 0xaf, 0x84, 0x50, 0x7a, 0xb6, 0xcf, 0x4f, - 0x48, 0x05, 0x77, 0x24, 0x08, 0x59, 0x05, 0xd3, 0x7b, 0x9e, 0xd8, 0xb5, 0xe4, 0x54, 0x9c, 0x77, - 0x42, 0x9d, 0xf8, 0x36, 0x5a, 0x3a, 0xa5, 0xbd, 0xd2, 0xe5, 0x72, 0xd3, 0xeb, 0xab, 0xd9, 0x2d, - 0xc8, 0x87, 0xbf, 0xcc, 0x3e, 0x53, 0xde, 0x84, 0x91, 0x4f, 0x7b, 0xd9, 0xde, 0x88, 0xdd, 0x0a, - 0x19, 0x89, 0xb6, 0xe7, 0x41, 0x56, 0xda, 0x1b, 0xa4, 0x26, 0x9f, 0xd5, 0xcd, 0x7a, 0x03, 0x47, - 0xdd, 0x8c, 0xc9, 0xaa, 0x2c, 0xb0, 0x2e, 0x6a, 0xf2, 0x21, 0xdd, 0x57, 0x49, 0xb4, 0x0e, 0xb3, - 0x39, 0x2f, 0x07, 0xa9, 0x13, 0xd6, 0xe2, 0x97, 0x85, 0xe6, 0x8b, 0x1b, 0x26, 0x3f, 0x84, 0x99, - 0xcc, 0xa7, 0x85, 0x94, 0x97, 0xb8, 0xe8, 0xe1, 0xa1, 0x6e, 0xc4, 0x9f, 0xc2, 0x5c, 0x5e, 0xf2, - 0xeb, 0xf8, 0xa6, 0x4e, 0x71, 0x46, 0x72, 0x25, 0x53, 0xbb, 0x66, 0xd1, 0xde, 0x82, 0xe9, 0xac, - 0x84, 0xd2, 0xea, 0xe3, 0x28, 0xc8, 0x36, 0x9d, 0x79, 0x1d, 0x68, 0x07, 0x66, 0x32, 0x93, 0x3a, - 0x2b, 0xce, 0x14, 0xa5, 0x7c, 0xce, 0xa4, 0xf8, 0x39, 0xcc, 0xe6, 0x64, 0x30, 0x8e, 0x8f, 0xcb, - 0x0b, 0x33, 0x1c, 0x17, 0x04, 0x2b, 0xcd, 0xe7, 0x27, 0xc7, 0x55, 0x31, 0x6a, 0x5d, 0xf3, 0xe7, - 0xce, 0x67, 0x66, 0x0c, 0x27, 0xbb, 0xb8, 0x08, 0xb3, 0xb2, 0xe5, 0xea, 0x8b, 0xb0, 0x20, 0x9b, - 0x6e, 0xce, 0x35, 0xae, 0xd9, 0x9c, 0x04, 0xb9, 0x05, 0x54, 0xcf, 0xd0, 0xdb, 0x2d, 0x29, 0xff, - 0xcd, 0x54, 0xa2, 0x89, 0xb8, 0xe7, 0xcc, 0x3c, 0xa3, 0x99, 0xfd, 0xd4, 0xde, 0x57, 0x68, 0xb5, - 0x0a, 0xd4, 0x20, 0xa2, 0x3f, 0xb0, 0xc0, 0x20, 0xd1, 0xd1, 0x3e, 0xae, 0xe3, 0x16, 0x49, 0xd4, - 0x14, 0x32, 0x2a, 0x9e, 0x1f, 0xc1, 0x58, 0x4d, 0x6f, 0x3c, 0xa3, 0x91, 0xdc, 0x45, 0xa1, 0x2e, - 0xf2, 0x74, 0xef, 0x7b, 0x41, 0xb0, 0xa7, 0xda, 0x1c, 0xce, 0x34, 0x8a, 0xdc, 0xf0, 0x16, 0x23, - 0x5d, 0x8d, 0x92, 0xd4, 0x59, 0xd9, 0xa4, 0x54, 0x78, 0x4b, 0x76, 0x86, 0x9b, 0x3a, 0x7f, 0x60, - 0x3f, 0x99, 0x2c, 0x8c, 0x58, 0xdd, 0x13, 0xe9, 0xa9, 0xb0, 0xf6, 0xc2, 0x6c, 0x63, 0x3c, 0x16, - 0x27, 0x4e, 0xd0, 0xa3, 0xc7, 0xe2, 0xa4, 0xd2, 0xfe, 0xe8, 0xb1, 0x38, 0x19, 0x39, 0x7d, 0x56, - 0x91, 0x56, 0x9c, 0x99, 0xa0, 0xc0, 0x61, 0xa0, 0xc8, 0x64, 0x24, 0x40, 0x78, 0xa4, 0x3f, 0xd3, - 0xc1, 0xf3, 0x19, 0x14, 0xf8, 0x43, 0x93, 0xcf, 0x73, 0x24, 0x12, 0x20, 0x3c, 0x84, 0x72, 0xf2, - 0x2d, 0x37, 0xe5, 0x8e, 0xca, 0x79, 0xe4, 0xad, 0x60, 0x89, 0x41, 0xfc, 0x62, 0x9b, 0x72, 0xfa, - 0xa4, 0x1e, 0x71, 0x9b, 0xbf, 0x94, 0x51, 0xa3, 0xd4, 0xb5, 0x31, 0xfd, 0x7d, 0x37, 0x15, 0x4e, - 0x96, 0xf1, 0xe8, 0xdb, 0xfc, 0xe5, 0xcc, 0x3a, 0x41, 0x28, 0xe2, 0x39, 0x20, 0xb3, 0xf3, 0x4d, - 0xc6, 0x77, 0xa8, 0x0a, 0x60, 0x64, 0x33, 0x37, 0xcf, 0x02, 0x2a, 0x5a, 0xa5, 0x2a, 0x9f, 0x42, - 0x46, 0x92, 0xcb, 0xb7, 0x32, 0xee, 0x3a, 0x18, 0x10, 0x71, 0xa4, 0x55, 0x71, 0xc6, 0x4d, 0xf2, - 0x58, 0xbe, 0x6f, 0x9f, 0xd3, 0x52, 0x37, 0x02, 0xb9, 0x33, 0xf8, 0x58, 0xbe, 0x68, 0xff, 0xaa, - 0x09, 0x1f, 0xc0, 0x42, 0xe2, 0x2a, 0x85, 0x49, 0xf8, 0x66, 0xf6, 0x7d, 0x8b, 0x4c, 0xf6, 0xe4, - 0xeb, 0xc3, 0xd7, 0xd2, 0xf7, 0x2e, 0x12, 0xf3, 0x7e, 0x5e, 0x59, 0xb5, 0x09, 0x13, 0x28, 0x1e, - 0x64, 0xba, 0xd6, 0xf8, 0x75, 0x17, 0xb3, 0x38, 0xf9, 0xcc, 0x50, 0xb2, 0x56, 0x85, 0xa3, 0x8e, - 0x89, 0xfb, 0xb8, 0x3c, 0xf9, 0xeb, 0xbc, 0x79, 0x49, 0x17, 0x0b, 0xb3, 0x76, 0x1f, 0x91, 0x53, - 0x96, 0x7c, 0x0f, 0x26, 0xe3, 0x6b, 0xba, 0x9c, 0x44, 0x06, 0x58, 0x81, 0x13, 0x6a, 0x32, 0xbe, - 0xab, 0x7b, 0x7e, 0xf4, 0x35, 0xb9, 0x85, 0xc4, 0xe8, 0x57, 0x52, 0x57, 0x50, 0x8c, 0x31, 0x9c, - 0x65, 0x27, 0xd1, 0x78, 0x7b, 0xde, 0xd9, 0x69, 0xe0, 0xe7, 0x96, 0xfd, 0x70, 0xa1, 0xfe, 0xb9, - 0x15, 0x3e, 0xae, 0xa8, 0xd4, 0xd6, 0x1c, 0x3a, 0x9b, 0xf0, 0x1a, 0x3e, 0x76, 0xb2, 0xc3, 0x9f, - 0xb7, 0xcb, 0x86, 0xca, 0xef, 0x7b, 0xf2, 0x89, 0x94, 0x16, 0x5c, 0xef, 0xfa, 0x72, 0x23, 0xb9, - 0x6d, 0x84, 0x8f, 0x74, 0x7f, 0xe3, 0xb1, 0xe8, 0xda, 0x57, 0xd6, 0x03, 0x88, 0x6a, 0x7f, 0x2c, - 0x78, 0x8b, 0x51, 0xed, 0x8f, 0x85, 0x2f, 0x28, 0x7e, 0x8e, 0x49, 0x23, 0xc4, 0xde, 0x82, 0x0f, - 0x18, 0x51, 0x8f, 0x3f, 0xe9, 0x5c, 0x78, 0xa4, 0x72, 0xdd, 0x3c, 0x70, 0x4c, 0x21, 0xa2, 0x2d, - 0x72, 0x55, 0x58, 0x50, 0x79, 0xc4, 0xbb, 0x13, 0x29, 0x08, 0x5b, 0xbe, 0xca, 0x17, 0xe0, 0xb9, - 0x7b, 0x9e, 0x53, 0xbe, 0xb4, 0xf2, 0xf3, 0xff, 0x74, 0xb5, 0xf4, 0xf3, 0x5f, 0x5c, 0x2d, 0xfd, - 0xfb, 0x5f, 0x5c, 0x2d, 0xfd, 0xc7, 0x5f, 0x5c, 0x2d, 0xfd, 0x60, 0xf1, 0x6c, 0x0f, 0x0b, 0x37, - 0x5a, 0x2e, 0xf5, 0xa2, 0xdb, 0x9c, 0xdc, 0x20, 0xfe, 0x77, 0xef, 0xff, 0x04, 0x00, 0x00, 0xff, - 0xff, 0xd5, 0x00, 0xd2, 0x0e, 0x50, 0xdc, 0x00, 0x00, + // 14030 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x7d, 0x5b, 0x6c, 0x1c, 0x49, + 0x92, 0x18, 0x9b, 0x6f, 0x06, 0x5f, 0xad, 0x24, 0x29, 0x52, 0x14, 0xa5, 0x96, 0x6a, 0x5e, 0x1a, + 0xed, 0xac, 0x1e, 0xd4, 0xcc, 0xec, 0x3c, 0x76, 0x67, 0xb6, 0xf9, 0x90, 0x48, 0x89, 0xaf, 0xa9, + 0x26, 0xa9, 0x99, 0xdd, 0xb9, 0xed, 0x2d, 0x76, 0xa7, 0xc8, 0x3a, 0x35, 0xab, 0x7a, 0xab, 0xaa, + 0xa5, 0xd1, 0x9e, 0xef, 0x8c, 0xdb, 0xb3, 0x61, 0xff, 0xd8, 0x3e, 0x03, 0x77, 0xc6, 0xf9, 0x01, + 0x18, 0x06, 0x6c, 0xc0, 0xf0, 0xd7, 0xfd, 0x18, 0xf7, 0xe1, 0x0f, 0xc3, 0x5f, 0x5e, 0x1b, 0x38, + 0xdb, 0xc0, 0xdd, 0xfd, 0xf8, 0x83, 0x67, 0x2f, 0xe0, 0x1f, 0xe2, 0xfc, 0x61, 0x1b, 0x36, 0xe0, + 0x05, 0x0c, 0x18, 0x19, 0xf9, 0xa8, 0xcc, 0x7a, 0x35, 0xa9, 0xd1, 0xac, 0xfd, 0x23, 0xb1, 0x33, + 0x23, 0x22, 0x33, 0x23, 0xb3, 0x22, 0x23, 0x22, 0x23, 0x33, 0xe0, 0x56, 0x44, 0x5b, 0xb4, 0xed, + 0x07, 0xd1, 0xed, 0x16, 0x3d, 0x74, 0x1a, 0x2f, 0x6e, 0x37, 0x5a, 0x2e, 0xf5, 0xa2, 0xdb, 0xed, + 0xc0, 0x8f, 0xfc, 0xdb, 0x4e, 0x27, 0x3a, 0x0a, 0x69, 0xf0, 0xcc, 0x6d, 0xd0, 0x5b, 0x58, 0x42, + 0x06, 0xf0, 0xbf, 0xf9, 0xe9, 0x43, 0xff, 0xd0, 0xe7, 0x30, 0xec, 0x2f, 0x5e, 0x39, 0x7f, 0xf9, + 0xd0, 0xf7, 0x0f, 0x5b, 0x94, 0x23, 0x1f, 0x74, 0x9e, 0xdc, 0xa6, 0xc7, 0xed, 0xe8, 0x85, 0xa8, + 0xac, 0x24, 0x2b, 0x23, 0xf7, 0x98, 0x86, 0x91, 0x73, 0xdc, 0x16, 0x00, 0x6f, 0xab, 0xae, 0x38, + 0x51, 0xc4, 0x6a, 0x22, 0xd7, 0xf7, 0x6e, 0x3f, 0xbb, 0xab, 0xff, 0x14, 0xa0, 0x37, 0x0a, 0x7b, + 0xdd, 0xa0, 0x41, 0x14, 0x9e, 0x09, 0x92, 0x3e, 0xa3, 0x5e, 0x94, 0x6a, 0x5e, 0x40, 0x46, 0x2f, + 0xda, 0x34, 0xe4, 0x20, 0xf2, 0x3f, 0x01, 0x7a, 0x3d, 0x1b, 0x14, 0xff, 0x15, 0x20, 0xdf, 0xce, + 0x06, 0x79, 0x4e, 0x0f, 0x18, 0x4f, 0x3d, 0xf5, 0x47, 0x17, 0xf0, 0xc0, 0x69, 0xb7, 0x69, 0x10, + 0xff, 0x21, 0xc0, 0x2f, 0x29, 0xf0, 0xe3, 0x27, 0x0e, 0x63, 0xd1, 0xf1, 0x13, 0x27, 0x35, 0x8c, + 0x4e, 0xe8, 0x1c, 0x52, 0xd1, 0xfd, 0x67, 0x77, 0xf5, 0x9f, 0x1c, 0xd4, 0xfa, 0x87, 0x25, 0x18, + 0x78, 0xec, 0x44, 0x8d, 0x23, 0xf2, 0x29, 0x0c, 0x3c, 0x72, 0xbd, 0x66, 0x38, 0x57, 0xba, 0xd6, + 0x77, 0x63, 0x74, 0xb1, 0x7c, 0x8b, 0x0f, 0x05, 0x2b, 0x59, 0xc5, 0xd2, 0xec, 0xcf, 0x4f, 0x2a, + 0x3d, 0xa7, 0x27, 0x95, 0xc9, 0xa7, 0x0c, 0xec, 0x1d, 0xff, 0xd8, 0x8d, 0x70, 0x6e, 0x6d, 0x8e, + 0x47, 0xf6, 0x60, 0xaa, 0xda, 0x6a, 0xf9, 0xcf, 0x77, 0x9c, 0x20, 0x72, 0x9d, 0x56, 0xad, 0xd3, + 0x68, 0xd0, 0x30, 0x9c, 0xeb, 0xbd, 0x56, 0xba, 0x31, 0xbc, 0xf4, 0xda, 0xe9, 0x49, 0xa5, 0xe2, + 0xb0, 0xea, 0x7a, 0x9b, 0xd7, 0xd7, 0x43, 0x0e, 0xa0, 0x11, 0xca, 0xc2, 0xb7, 0xfe, 0x62, 0x00, + 0xca, 0x6b, 0x7e, 0x18, 0x2d, 0xb3, 0x19, 0xb5, 0xe9, 0x4f, 0x3a, 0x34, 0x8c, 0xc8, 0x6b, 0x30, + 0xc8, 0xca, 0xd6, 0x57, 0xe6, 0x4a, 0xd7, 0x4a, 0x37, 0x46, 0x96, 0x46, 0x4f, 0x4f, 0x2a, 0x43, + 0x47, 0x7e, 0x18, 0xd5, 0xdd, 0xa6, 0x2d, 0xaa, 0xc8, 0xdb, 0x30, 0xbc, 0xe5, 0x37, 0xe9, 0x96, + 0x73, 0x4c, 0xb1, 0x17, 0x23, 0x4b, 0xe3, 0xa7, 0x27, 0x95, 0x11, 0xcf, 0x6f, 0xd2, 0xba, 0xe7, + 0x1c, 0x53, 0x5b, 0x55, 0x93, 0x7d, 0xe8, 0xb7, 0xfd, 0x16, 0x9d, 0xeb, 0x43, 0xb0, 0xa5, 0xd3, + 0x93, 0x4a, 0x7f, 0xe0, 0xb7, 0xe8, 0x2f, 0x4f, 0x2a, 0xef, 0x1f, 0xba, 0xd1, 0x51, 0xe7, 0xe0, + 0x56, 0xc3, 0x3f, 0xbe, 0x7d, 0x18, 0x38, 0xcf, 0x5c, 0xbe, 0x08, 0x9d, 0xd6, 0xed, 0x78, 0xa9, + 0xb6, 0x5d, 0x31, 0xef, 0xb5, 0x17, 0x61, 0x44, 0x8f, 0x19, 0x25, 0x1b, 0xe9, 0x91, 0xc7, 0x30, + 0x5d, 0x6d, 0x36, 0x5d, 0x8e, 0xb1, 0x13, 0xb8, 0x5e, 0xc3, 0x6d, 0x3b, 0xad, 0x70, 0xae, 0xff, + 0x5a, 0xdf, 0x8d, 0x11, 0xc1, 0x14, 0x55, 0x5f, 0x6f, 0x2b, 0x00, 0x8d, 0x29, 0x99, 0x04, 0xc8, + 0x3d, 0x18, 0x5e, 0xd9, 0xaa, 0xb1, 0xbe, 0x87, 0x73, 0x03, 0x48, 0x6c, 0xf6, 0xf4, 0xa4, 0x32, + 0xd5, 0xf4, 0x42, 0x1c, 0x9a, 0x4e, 0x40, 0x01, 0x92, 0xf7, 0x61, 0x6c, 0xa7, 0x73, 0xd0, 0x72, + 0x1b, 0xbb, 0x1b, 0xb5, 0x47, 0xf4, 0xc5, 0xdc, 0xe0, 0xb5, 0xd2, 0x8d, 0xb1, 0x25, 0x72, 0x7a, + 0x52, 0x99, 0x68, 0x63, 0x79, 0x3d, 0x6a, 0x85, 0xf5, 0xa7, 0xf4, 0x85, 0x6d, 0xc0, 0xc5, 0x78, + 0xb5, 0xda, 0x1a, 0xc3, 0x1b, 0x4a, 0xe1, 0x85, 0xe1, 0x91, 0x8e, 0xc7, 0xe1, 0xc8, 0x6d, 0x00, + 0x9b, 0x1e, 0xfb, 0x11, 0xad, 0x36, 0x9b, 0xc1, 0xdc, 0x30, 0xf2, 0x76, 0xf2, 0xf4, 0xa4, 0x32, + 0x1a, 0x60, 0x69, 0xdd, 0x69, 0x36, 0x03, 0x5b, 0x03, 0x21, 0xcb, 0x30, 0x6c, 0xfb, 0x9c, 0xc1, + 0x73, 0x23, 0xd7, 0x4a, 0x37, 0x46, 0x17, 0x27, 0xc5, 0x32, 0x94, 0xc5, 0x4b, 0x17, 0x4f, 0x4f, + 0x2a, 0x24, 0x10, 0xbf, 0xf4, 0x51, 0x4a, 0x08, 0x52, 0x81, 0xa1, 0x2d, 0x7f, 0xd9, 0x69, 0x1c, + 0xd1, 0x39, 0xc0, 0xb5, 0x37, 0x70, 0x7a, 0x52, 0x29, 0x7d, 0xdb, 0x96, 0xa5, 0xe4, 0x19, 0x8c, + 0xc6, 0x13, 0x15, 0xce, 0x8d, 0x22, 0xfb, 0x76, 0x4f, 0x4f, 0x2a, 0x17, 0x43, 0x2c, 0xae, 0xb3, + 0xa9, 0xd7, 0x38, 0xf8, 0x35, 0x56, 0x81, 0xde, 0xd0, 0xc3, 0xfe, 0xe1, 0xb1, 0xf2, 0xb8, 0x7d, + 0x65, 0xcf, 0x0b, 0x23, 0xe7, 0xa0, 0x45, 0xe3, 0xaa, 0x6a, 0x18, 0xd2, 0x80, 0xd1, 0x5b, 0x5f, + 0xb1, 0xfe, 0x4f, 0x09, 0xc8, 0x76, 0x9b, 0x7a, 0xb5, 0xda, 0x1a, 0x5b, 0xf1, 0x72, 0xc1, 0xbf, + 0x03, 0x23, 0x9c, 0xb5, 0x8c, 0xff, 0xbd, 0xc8, 0xff, 0x89, 0xd3, 0x93, 0x0a, 0x08, 0xfe, 0x33, + 0xde, 0xc7, 0x00, 0xe4, 0x0d, 0xe8, 0xdb, 0xdd, 0xdd, 0xc0, 0xd5, 0xdc, 0xb7, 0x34, 0x75, 0x7a, + 0x52, 0xe9, 0x8b, 0xa2, 0xd6, 0x2f, 0x4f, 0x2a, 0xc3, 0x2b, 0x9d, 0x00, 0x3b, 0x6e, 0xb3, 0x7a, + 0xf2, 0x06, 0x0c, 0x2d, 0xb7, 0x3a, 0x61, 0x44, 0x83, 0xb9, 0xfe, 0xf8, 0x33, 0x6a, 0xf0, 0x22, + 0x5b, 0xd6, 0x91, 0x6f, 0x41, 0xff, 0x5e, 0x48, 0x83, 0xb9, 0x01, 0x9c, 0x91, 0x71, 0x31, 0x23, + 0xac, 0x68, 0x7f, 0x71, 0x69, 0x98, 0x7d, 0x2b, 0x9d, 0x90, 0x06, 0x36, 0x02, 0x91, 0x5b, 0x30, + 0xc0, 0xd9, 0x3a, 0x88, 0x62, 0x64, 0x5c, 0xcd, 0x5f, 0x8b, 0xee, 0xbf, 0xbf, 0x34, 0x72, 0x7a, + 0x52, 0x19, 0x40, 0xf6, 0xda, 0x03, 0x92, 0x29, 0xa5, 0x72, 0xaf, 0x3d, 0xcc, 0x70, 0xd9, 0xc2, + 0xb5, 0xbe, 0x05, 0xa3, 0xda, 0xf0, 0xc9, 0x02, 0xf4, 0xb3, 0xff, 0xf1, 0x33, 0x1f, 0xe3, 0x8d, + 0x31, 0xd1, 0x6e, 0x63, 0xa9, 0xf5, 0x0f, 0x26, 0xa1, 0xcc, 0x30, 0x0d, 0xd9, 0x60, 0xb0, 0xaa, + 0xd4, 0x8d, 0x55, 0x37, 0x40, 0xb5, 0x2d, 0x84, 0xc4, 0xd8, 0xe9, 0x49, 0x65, 0xb8, 0x23, 0xca, + 0xe2, 0x9e, 0x91, 0x1a, 0x0c, 0xad, 0x7e, 0xd5, 0x76, 0x03, 0x1a, 0x22, 0x63, 0x47, 0x17, 0xe7, + 0x6f, 0xf1, 0xed, 0xec, 0x96, 0xdc, 0xce, 0x6e, 0xed, 0xca, 0xed, 0x6c, 0xe9, 0x8a, 0x10, 0x96, + 0x17, 0x28, 0x47, 0x89, 0x57, 0xd3, 0xef, 0xfe, 0x79, 0xa5, 0x64, 0x4b, 0x4a, 0xe4, 0x1d, 0x18, + 0xbc, 0xef, 0x07, 0xc7, 0x4e, 0x24, 0x66, 0x60, 0xfa, 0xf4, 0xa4, 0x52, 0x7e, 0x82, 0x25, 0xda, + 0xe2, 0x16, 0x30, 0xe4, 0x3e, 0x4c, 0xd8, 0x7e, 0x27, 0xa2, 0xbb, 0xbe, 0x9c, 0xb7, 0x01, 0xc4, + 0xba, 0x7a, 0x7a, 0x52, 0x99, 0x0f, 0x58, 0x4d, 0x3d, 0xf2, 0xeb, 0x62, 0x02, 0x35, 0xfc, 0x04, + 0x16, 0x59, 0x85, 0x89, 0x2a, 0x4a, 0x57, 0xc1, 0x33, 0x3e, 0x5b, 0x23, 0x4b, 0x57, 0x4e, 0x4f, + 0x2a, 0x97, 0x1c, 0xac, 0xa9, 0x07, 0xa2, 0x4a, 0x27, 0x63, 0x22, 0x91, 0x2d, 0xb8, 0xf0, 0xa8, + 0x73, 0x40, 0x03, 0x8f, 0x46, 0x34, 0x94, 0x3d, 0x1a, 0xc2, 0x1e, 0x5d, 0x3b, 0x3d, 0xa9, 0x2c, + 0x3c, 0x55, 0x95, 0x19, 0x7d, 0x4a, 0xa3, 0x12, 0x0a, 0x93, 0xa2, 0xa3, 0x2b, 0x4e, 0xe4, 0x1c, + 0x38, 0x21, 0x45, 0xa1, 0x31, 0xba, 0x78, 0x91, 0xb3, 0xf8, 0x56, 0xa2, 0x76, 0xe9, 0x35, 0xc1, + 0xe5, 0xcb, 0x6a, 0xec, 0x4d, 0x51, 0xa5, 0x35, 0x94, 0xa4, 0xc9, 0x64, 0xa7, 0xda, 0x17, 0x46, + 0xb0, 0xb7, 0x28, 0x3b, 0xd5, 0xbe, 0xa0, 0x4b, 0x15, 0xb5, 0x43, 0x6c, 0xc0, 0xc0, 0x1e, 0xdb, + 0x3d, 0x51, 0xa6, 0x4c, 0x2c, 0x5e, 0x17, 0x3d, 0x4a, 0xae, 0xbe, 0x5b, 0xec, 0x07, 0x02, 0xe2, + 0x77, 0x37, 0x89, 0x3b, 0xae, 0xbe, 0x57, 0x62, 0x1d, 0xf9, 0x0c, 0x40, 0xf4, 0xaa, 0xda, 0x6e, + 0xcf, 0x8d, 0xe2, 0x20, 0x2f, 0x98, 0x83, 0xac, 0xb6, 0xdb, 0x4b, 0x57, 0xc5, 0xf8, 0x2e, 0xaa, + 0xf1, 0x39, 0xed, 0xb6, 0x46, 0x4d, 0x23, 0x42, 0x3e, 0x85, 0x31, 0x14, 0x39, 0x72, 0x46, 0xc7, + 0x70, 0x46, 0x2f, 0x9f, 0x9e, 0x54, 0x66, 0xd9, 0x07, 0x97, 0x35, 0x9f, 0x06, 0x02, 0xf9, 0x2d, + 0x98, 0x11, 0xe4, 0x1e, 0xbb, 0x5e, 0xd3, 0x7f, 0x1e, 0xae, 0xd0, 0xf0, 0x69, 0xe4, 0xb7, 0xe7, + 0xc6, 0xb1, 0x7b, 0x0b, 0x66, 0xf7, 0x4c, 0x98, 0xa5, 0x9b, 0xa2, 0xa7, 0x96, 0xea, 0xe9, 0x73, + 0x0e, 0x50, 0x6f, 0x72, 0x08, 0xad, 0xd9, 0xec, 0x66, 0xc8, 0x3a, 0x4c, 0xee, 0x85, 0xd4, 0x18, + 0xc3, 0x04, 0xca, 0xef, 0x0a, 0x9b, 0xe1, 0x4e, 0x48, 0xeb, 0x79, 0xe3, 0x48, 0xe2, 0x11, 0x1b, + 0xc8, 0x4a, 0xe0, 0xb7, 0x13, 0x6b, 0x7c, 0x12, 0x39, 0x62, 0x9d, 0x9e, 0x54, 0xae, 0x36, 0x03, + 0xbf, 0x5d, 0xcf, 0x5f, 0xe8, 0x19, 0xd8, 0xe4, 0x47, 0x70, 0x71, 0xd9, 0xf7, 0x3c, 0xda, 0x60, + 0xf2, 0x73, 0xc5, 0x75, 0x0e, 0x3d, 0x3f, 0x8c, 0xdc, 0xc6, 0xfa, 0xca, 0x5c, 0x19, 0xd7, 0xd0, + 0x9b, 0x6c, 0xf4, 0x0d, 0x05, 0x51, 0x6f, 0x2a, 0x90, 0xba, 0xdb, 0xd4, 0x68, 0xe7, 0x50, 0x21, + 0x3f, 0x84, 0x71, 0xd1, 0x16, 0x0d, 0x70, 0x69, 0x5e, 0x28, 0x5e, 0x68, 0x0a, 0x98, 0x6f, 0xc4, + 0x81, 0xfc, 0xc9, 0x55, 0x1b, 0x93, 0x16, 0xf9, 0x12, 0x46, 0x37, 0xef, 0x57, 0x6d, 0x1a, 0xb6, + 0x7d, 0x2f, 0xa4, 0x73, 0x04, 0x67, 0xf4, 0xaa, 0x20, 0xbd, 0x79, 0xbf, 0x5a, 0xed, 0x44, 0x47, + 0xd4, 0x8b, 0xdc, 0x86, 0x13, 0x51, 0x09, 0xb5, 0x34, 0xcf, 0x56, 0xde, 0xf1, 0x13, 0xa7, 0x1e, + 0x88, 0x12, 0x6d, 0x14, 0x3a, 0x39, 0x32, 0x0f, 0xc3, 0xb5, 0xda, 0xda, 0x86, 0x7f, 0xe8, 0x7a, + 0x73, 0x53, 0x8c, 0x19, 0xb6, 0xfa, 0x4d, 0x0e, 0x60, 0x46, 0xd3, 0xdd, 0xeb, 0xec, 0x7f, 0x7a, + 0x4c, 0xbd, 0x68, 0x6e, 0x1a, 0xfb, 0xf0, 0x6d, 0x65, 0x7c, 0xdc, 0xd2, 0x55, 0xfc, 0x67, 0x77, + 0x6f, 0x55, 0xe3, 0x9f, 0x35, 0x89, 0x64, 0x4f, 0x3b, 0x19, 0xa5, 0x64, 0x17, 0x86, 0x76, 0x3a, + 0x41, 0xdb, 0x0f, 0xe9, 0xdc, 0x0c, 0x32, 0xed, 0xb5, 0xa2, 0xaf, 0x53, 0x80, 0x2e, 0xcd, 0x30, + 0xf1, 0xdc, 0xe6, 0x3f, 0xb4, 0x91, 0x49, 0x52, 0xd6, 0xe7, 0x30, 0xa2, 0x3e, 0x66, 0x32, 0x04, + 0x7d, 0xd5, 0x56, 0xab, 0xdc, 0xc3, 0xfe, 0xa8, 0xd5, 0xd6, 0xca, 0x25, 0x32, 0x01, 0x10, 0x4b, + 0xb0, 0x72, 0x2f, 0x19, 0x83, 0x61, 0x29, 0x61, 0xca, 0x7d, 0x08, 0xdf, 0x6e, 0x97, 0xfb, 0x09, + 0x81, 0x09, 0x73, 0x9d, 0x97, 0x07, 0xac, 0xaf, 0x60, 0x44, 0x4d, 0x0f, 0x99, 0x84, 0xd1, 0xbd, + 0xad, 0xda, 0xce, 0xea, 0xf2, 0xfa, 0xfd, 0xf5, 0xd5, 0x95, 0x72, 0x0f, 0xb9, 0x02, 0x97, 0x76, + 0x6b, 0x6b, 0xf5, 0x95, 0xa5, 0xfa, 0xc6, 0xf6, 0x72, 0x75, 0xa3, 0xbe, 0x63, 0x6f, 0x7f, 0xfe, + 0x45, 0x7d, 0x77, 0x6f, 0x6b, 0x6b, 0x75, 0xa3, 0x5c, 0x22, 0x73, 0x30, 0xcd, 0xaa, 0x1f, 0xed, + 0x2d, 0xad, 0xea, 0x00, 0xe5, 0x5e, 0x72, 0x1d, 0xae, 0x64, 0xd5, 0xd4, 0xd7, 0x56, 0xab, 0x2b, + 0x1b, 0xab, 0xb5, 0x5a, 0xb9, 0xcf, 0x6a, 0xc1, 0xa8, 0xc6, 0x02, 0xb2, 0x00, 0x73, 0xcb, 0xab, + 0xf6, 0x6e, 0x7d, 0x67, 0xcf, 0xde, 0xd9, 0xae, 0xad, 0xd6, 0xcd, 0x8e, 0x24, 0x6b, 0x37, 0xb6, + 0x1f, 0xac, 0x6f, 0xd5, 0x59, 0x51, 0xad, 0x5c, 0x62, 0xad, 0x19, 0xb5, 0xb5, 0xf5, 0xad, 0x07, + 0x1b, 0xab, 0xf5, 0xbd, 0xda, 0xaa, 0x00, 0xe9, 0xb5, 0x7e, 0xd6, 0x9b, 0x12, 0xe8, 0x64, 0x11, + 0x46, 0x6b, 0xdc, 0x9a, 0xc4, 0x45, 0xce, 0xd5, 0xf7, 0xf2, 0xe9, 0x49, 0x65, 0x4c, 0x18, 0x99, + 0x7c, 0xfd, 0xea, 0x40, 0x6c, 0x8f, 0xde, 0x61, 0xf3, 0xd9, 0xf0, 0x5b, 0xfa, 0x1e, 0xdd, 0x16, + 0x65, 0xb6, 0xaa, 0x25, 0x8b, 0xda, 0x6e, 0xce, 0x75, 0x79, 0xd4, 0x17, 0xe5, 0x6e, 0xae, 0x4b, + 0x76, 0xb5, 0xaf, 0x2f, 0xc6, 0x13, 0x27, 0x36, 0x61, 0xc4, 0xc9, 0xd8, 0x49, 0x14, 0x1c, 0x79, + 0x5b, 0x6a, 0x39, 0x5c, 0xf7, 0x46, 0x51, 0x9f, 0xd0, 0x1a, 0x85, 0x82, 0x63, 0x75, 0x72, 0xc4, + 0x2a, 0xf9, 0x38, 0xb9, 0x32, 0x04, 0x33, 0x90, 0x58, 0x42, 0x7a, 0xda, 0x09, 0x50, 0x52, 0x81, + 0x01, 0xfe, 0xbd, 0x71, 0x7e, 0xa0, 0x5e, 0xd5, 0x62, 0x05, 0x36, 0x2f, 0xb7, 0x7e, 0xb7, 0x4f, + 0xdf, 0x62, 0x98, 0x1e, 0xa5, 0xf1, 0x1b, 0xf5, 0x28, 0xe4, 0x33, 0x96, 0x92, 0x5b, 0x30, 0x52, + 0xa3, 0x61, 0x88, 0x1a, 0xa8, 0xa0, 0xc8, 0xa6, 0x04, 0x42, 0x5e, 0x58, 0x77, 0x9b, 0x73, 0x25, + 0x3b, 0x06, 0x61, 0x8a, 0x3d, 0xd7, 0xa0, 0x50, 0xb1, 0xef, 0x8b, 0x15, 0x7b, 0xa1, 0x63, 0x71, + 0xc5, 0x3e, 0x06, 0x61, 0xb3, 0x2e, 0x36, 0x79, 0xec, 0x45, 0x7f, 0x3c, 0xeb, 0x42, 0x31, 0x10, + 0xb3, 0xae, 0x01, 0x91, 0x8f, 0x00, 0xaa, 0x8f, 0x6b, 0xa8, 0x1f, 0xdb, 0x5b, 0x42, 0xd1, 0x41, + 0x91, 0xe4, 0x3c, 0x0f, 0xf9, 0x56, 0xe0, 0x04, 0xba, 0x05, 0xa0, 0x41, 0x93, 0x25, 0x18, 0xaf, + 0xfe, 0xb4, 0x13, 0xd0, 0xf5, 0x26, 0x93, 0x6a, 0x11, 0x37, 0x75, 0x46, 0x96, 0x16, 0x4e, 0x4f, + 0x2a, 0x73, 0x0e, 0xab, 0xa8, 0xbb, 0xa2, 0x46, 0x23, 0x60, 0xa2, 0x90, 0x6d, 0xb8, 0xf0, 0x60, + 0x79, 0x47, 0xac, 0xc3, 0x6a, 0xa3, 0xe1, 0x77, 0xbc, 0x48, 0x68, 0x37, 0xd7, 0x4f, 0x4f, 0x2a, + 0x57, 0x0e, 0x1b, 0xed, 0xba, 0x5c, 0xb3, 0x0e, 0xaf, 0xd6, 0xd5, 0x9b, 0x14, 0xae, 0xd5, 0x82, + 0x89, 0x07, 0x34, 0x62, 0xeb, 0x4e, 0xaa, 0xaa, 0xc5, 0xb3, 0xf2, 0x5d, 0x18, 0x7d, 0xec, 0x46, + 0x47, 0x35, 0xda, 0x08, 0x68, 0x24, 0x0d, 0x69, 0xe4, 0xc0, 0x73, 0x37, 0x3a, 0xaa, 0x87, 0xbc, + 0x5c, 0x17, 0xca, 0x1a, 0xb8, 0xb5, 0x0a, 0x93, 0xa2, 0x35, 0xa5, 0x19, 0x2f, 0x9a, 0x04, 0x4b, + 0x48, 0x10, 0x67, 0x41, 0x27, 0x68, 0x92, 0xf9, 0xe7, 0xbd, 0x30, 0xb3, 0x7c, 0xe4, 0x78, 0x87, + 0x74, 0xc7, 0x09, 0xc3, 0xe7, 0x7e, 0xd0, 0xd4, 0x3a, 0x8f, 0x66, 0x41, 0xaa, 0xf3, 0x68, 0x07, + 0x2c, 0xc2, 0xe8, 0x76, 0xab, 0x29, 0x71, 0x84, 0xc9, 0x82, 0x6d, 0xf9, 0xad, 0x66, 0xbd, 0x2d, + 0x69, 0xe9, 0x40, 0x0c, 0x67, 0x8b, 0x3e, 0x57, 0x38, 0x7d, 0x31, 0x8e, 0x47, 0x9f, 0x6b, 0x38, + 0x1a, 0x10, 0x59, 0x85, 0x0b, 0x35, 0xda, 0xf0, 0xbd, 0xe6, 0x7d, 0xa7, 0x11, 0xf9, 0xc1, 0xae, + 0xff, 0x94, 0x7a, 0x62, 0x7d, 0xa1, 0x56, 0x17, 0x62, 0x65, 0xfd, 0x09, 0xd6, 0xd6, 0x23, 0x56, + 0x6d, 0xa7, 0x31, 0xc8, 0x36, 0x0c, 0x3f, 0x16, 0xee, 0x18, 0x61, 0xe7, 0xbc, 0x71, 0x4b, 0xf9, + 0x67, 0x96, 0x03, 0x8a, 0x8b, 0xc2, 0x69, 0x29, 0x4b, 0x4d, 0x6d, 0x92, 0x28, 0x89, 0x24, 0xa4, + 0xad, 0x88, 0x58, 0x7b, 0x30, 0xbe, 0xd3, 0xea, 0x1c, 0xba, 0x1e, 0x93, 0x19, 0x35, 0xfa, 0x13, + 0xb2, 0x02, 0x10, 0x17, 0x08, 0x27, 0xcb, 0x94, 0xb0, 0x8e, 0xe2, 0x8a, 0xfd, 0x7b, 0xe2, 0x43, + 0xc2, 0x12, 0x54, 0x67, 0x6d, 0x0d, 0xcf, 0xfa, 0xdf, 0x7d, 0x40, 0xc4, 0x04, 0xe0, 0xfe, 0x57, + 0xa3, 0x11, 0xdb, 0x44, 0x2e, 0x42, 0xaf, 0xf2, 0x85, 0x0c, 0x9e, 0x9e, 0x54, 0x7a, 0xdd, 0xa6, + 0xdd, 0xbb, 0xbe, 0x42, 0xde, 0x85, 0x01, 0x04, 0x43, 0xfe, 0x4f, 0xa8, 0xf6, 0x74, 0x0a, 0x5c, + 0x76, 0xe0, 0xbe, 0x6c, 0x73, 0x60, 0xf2, 0x1e, 0x8c, 0xac, 0xd0, 0x16, 0x3d, 0x74, 0x22, 0x5f, + 0x7e, 0xdd, 0xdc, 0xbb, 0x20, 0x0b, 0xb5, 0x35, 0x17, 0x43, 0x32, 0x5b, 0xc6, 0xa6, 0x4e, 0xe8, + 0x7b, 0xba, 0x2d, 0x13, 0x60, 0x89, 0x6e, 0xcb, 0x70, 0x18, 0xf2, 0xfb, 0x25, 0x18, 0xad, 0x7a, + 0x9e, 0xb0, 0xda, 0x43, 0xc1, 0xf5, 0x99, 0x5b, 0xca, 0xcd, 0xb5, 0xe1, 0x1c, 0xd0, 0xd6, 0xbe, + 0xd3, 0xea, 0xd0, 0x70, 0xe9, 0x4b, 0xa6, 0x5e, 0xfe, 0xc7, 0x93, 0xca, 0xc7, 0xe7, 0xb0, 0xc3, + 0x63, 0x87, 0xd9, 0x6e, 0xe0, 0xb8, 0x51, 0x78, 0x7a, 0x52, 0x99, 0x71, 0xe2, 0x06, 0xf5, 0xef, + 0x46, 0xeb, 0x47, 0x2c, 0xda, 0x07, 0xbb, 0x89, 0x76, 0x72, 0x0c, 0x93, 0xd5, 0x30, 0xec, 0x1c, + 0xd3, 0x5a, 0xe4, 0x04, 0x11, 0x33, 0xfe, 0x50, 0x3e, 0x14, 0x5b, 0x86, 0x6f, 0xfd, 0xfc, 0xa4, + 0x52, 0x62, 0x1a, 0xad, 0x83, 0xa8, 0x4c, 0x23, 0x0a, 0xa2, 0x7a, 0xe4, 0xea, 0xbb, 0x13, 0xda, + 0x88, 0x49, 0xda, 0xd6, 0x6b, 0x4a, 0x6d, 0x58, 0x5f, 0xc9, 0x9b, 0x71, 0x6b, 0x19, 0x16, 0x1e, + 0xd0, 0xc8, 0xa6, 0x21, 0x8d, 0xe4, 0x37, 0x82, 0x2b, 0x3c, 0xf6, 0x9c, 0x0d, 0xe1, 0x6f, 0x85, + 0x8c, 0xd3, 0xcf, 0xbf, 0x0b, 0x59, 0x63, 0xfd, 0x95, 0x12, 0x54, 0x96, 0x03, 0xca, 0x95, 0xc1, + 0x1c, 0x42, 0xc5, 0xb2, 0x6b, 0x01, 0xfa, 0x77, 0x5f, 0xb4, 0xa5, 0x49, 0x8d, 0xb5, 0x6c, 0x52, + 0x6c, 0x2c, 0x3d, 0xa3, 0x7f, 0xc2, 0x7a, 0x02, 0x33, 0x36, 0xf5, 0xe8, 0x73, 0xe7, 0xa0, 0x45, + 0x0d, 0x13, 0xbf, 0x02, 0x03, 0xfc, 0x43, 0x4f, 0x0d, 0x81, 0x97, 0x9f, 0xcf, 0x5d, 0x62, 0x8d, + 0xc3, 0xe8, 0x8e, 0xeb, 0x1d, 0x0a, 0xea, 0xd6, 0x1f, 0xf6, 0xc1, 0x18, 0xff, 0x2d, 0xf4, 0xdb, + 0xc4, 0xee, 0x55, 0x3a, 0xcb, 0xee, 0xf5, 0x01, 0x8c, 0x33, 0xf1, 0x4f, 0x83, 0x7d, 0x1a, 0xb0, + 0x5d, 0x53, 0x70, 0x02, 0x75, 0xf5, 0x10, 0x2b, 0xea, 0xcf, 0x78, 0x8d, 0x6d, 0x02, 0x92, 0x0d, + 0x98, 0xe0, 0x05, 0xf7, 0xa9, 0x13, 0x75, 0x62, 0x77, 0xc3, 0xa4, 0x50, 0x6a, 0x65, 0x31, 0x5f, + 0x9a, 0x82, 0xd6, 0x13, 0x51, 0x68, 0x27, 0x70, 0xc9, 0xa7, 0x30, 0xb9, 0x13, 0xf8, 0x5f, 0xbd, + 0xd0, 0xf6, 0x6b, 0xfe, 0x75, 0x72, 0xf5, 0x97, 0x55, 0xd5, 0xf5, 0x5d, 0x3b, 0x09, 0x4d, 0xde, + 0x86, 0xe1, 0xf5, 0x70, 0xc9, 0x0f, 0x5c, 0xef, 0x10, 0xbf, 0xd1, 0x61, 0xee, 0x45, 0x75, 0xc3, + 0xfa, 0x01, 0x16, 0xda, 0xaa, 0x3a, 0xe1, 0xef, 0x1b, 0xea, 0xee, 0xef, 0xbb, 0x03, 0xb0, 0xe1, + 0x3b, 0xcd, 0x6a, 0xab, 0xb5, 0x5c, 0x0d, 0xd1, 0xd6, 0x17, 0xfb, 0x51, 0xcb, 0x77, 0x9a, 0x75, + 0xa7, 0xd5, 0xaa, 0x37, 0x9c, 0xd0, 0xd6, 0x60, 0x1e, 0xf6, 0x0f, 0x0f, 0x96, 0x87, 0xec, 0xc9, + 0x0d, 0xb7, 0x41, 0xbd, 0x90, 0x3e, 0x76, 0x02, 0xcf, 0xf5, 0x0e, 0x43, 0xeb, 0xdf, 0x4d, 0xc2, + 0xb0, 0x1a, 0xf2, 0x2d, 0x5d, 0x33, 0x17, 0xbb, 0x1c, 0xce, 0x7e, 0xec, 0x8f, 0xb0, 0x35, 0x08, + 0x72, 0x09, 0x75, 0x75, 0xb1, 0xbf, 0x0e, 0xb1, 0xd5, 0xe8, 0xb4, 0xdb, 0x36, 0x2b, 0x63, 0x5f, + 0xd9, 0xca, 0x12, 0xf2, 0x7f, 0x98, 0x7f, 0x65, 0xcd, 0x03, 0xbb, 0x77, 0x65, 0x89, 0x2d, 0xef, + 0xed, 0xf5, 0x95, 0x65, 0x64, 0xe5, 0x30, 0x5f, 0xde, 0xbe, 0xdb, 0x6c, 0xd8, 0x58, 0xca, 0x6a, + 0x6b, 0xd5, 0xcd, 0x0d, 0xc1, 0x2e, 0xac, 0x0d, 0x9d, 0xe3, 0x96, 0x8d, 0xa5, 0x4c, 0xef, 0xe3, + 0xa6, 0xe5, 0xb2, 0xef, 0x45, 0x81, 0xdf, 0x0a, 0x51, 0x39, 0x19, 0xe6, 0xd3, 0x29, 0x6c, 0xd2, + 0x86, 0xa8, 0xb2, 0x13, 0xa0, 0xe4, 0x31, 0xcc, 0x56, 0x9b, 0xcf, 0x1c, 0xaf, 0x41, 0x9b, 0xbc, + 0xe6, 0xb1, 0x1f, 0x3c, 0x7d, 0xd2, 0xf2, 0x9f, 0x87, 0xc8, 0xef, 0x61, 0xe1, 0xc2, 0x11, 0x20, + 0xd2, 0xc4, 0x7d, 0x2e, 0x81, 0xec, 0x3c, 0x6c, 0xf6, 0x49, 0x2d, 0xb7, 0xfc, 0x4e, 0x53, 0xcc, + 0x02, 0x7e, 0x52, 0x0d, 0x56, 0x60, 0xf3, 0x72, 0xc6, 0xa5, 0xb5, 0xda, 0x26, 0x3a, 0x4c, 0x04, + 0x97, 0x8e, 0xc2, 0x63, 0x9b, 0x95, 0x91, 0x37, 0x60, 0x48, 0xaa, 0xb0, 0xdc, 0xe3, 0x8a, 0x7e, + 0x44, 0xa9, 0xba, 0xca, 0x3a, 0xf6, 0x49, 0xd8, 0xb4, 0xe1, 0x3f, 0xa3, 0xc1, 0x8b, 0x65, 0xbf, + 0x49, 0xa5, 0x79, 0x2f, 0xcc, 0x57, 0x5e, 0x51, 0x6f, 0xb0, 0x1a, 0xdb, 0x04, 0x64, 0x0d, 0xf0, + 0x3d, 0x90, 0x19, 0xf1, 0xaa, 0x01, 0xbe, 0x47, 0x86, 0xb6, 0xac, 0x23, 0x2b, 0x70, 0xa1, 0xda, + 0x89, 0xfc, 0x63, 0x27, 0x72, 0x1b, 0x7b, 0xed, 0xc3, 0xc0, 0x61, 0x8d, 0x94, 0x11, 0x01, 0x55, + 0x7a, 0x47, 0x56, 0xd6, 0x3b, 0xa2, 0xd6, 0x4e, 0x23, 0x90, 0xf7, 0x61, 0x6c, 0x3d, 0xe4, 0x2e, + 0x1c, 0x27, 0xa4, 0x4d, 0xb4, 0xc3, 0x45, 0x2f, 0xdd, 0xb0, 0x8e, 0x0e, 0x9d, 0x3a, 0x33, 0x02, + 0x9a, 0xb6, 0x01, 0x47, 0x2c, 0x18, 0xac, 0x86, 0xa1, 0x1b, 0x46, 0x68, 0x5e, 0x0f, 0x2f, 0xc1, + 0xe9, 0x49, 0x65, 0xd0, 0xc1, 0x12, 0x5b, 0xd4, 0x90, 0xc7, 0x30, 0xba, 0x42, 0x99, 0x4e, 0xb8, + 0x1b, 0x74, 0xc2, 0x08, 0x8d, 0xe5, 0xd1, 0xc5, 0x4b, 0xe2, 0xc3, 0xd6, 0x6a, 0xc4, 0x5a, 0xe6, + 0xda, 0x5e, 0x13, 0xcb, 0xeb, 0x11, 0xab, 0xd0, 0x77, 0x2d, 0x0d, 0x9e, 0x29, 0xbc, 0x02, 0x67, + 0xcd, 0x6d, 0xb2, 0x4f, 0x75, 0x1a, 0xfb, 0x80, 0x0a, 0xaf, 0x90, 0x0d, 0xf5, 0x23, 0xac, 0xd1, + 0x15, 0x5e, 0x03, 0x85, 0x34, 0x52, 0x5e, 0xc1, 0x19, 0xc3, 0xf3, 0x63, 0x56, 0xca, 0x2e, 0x9e, + 0xd3, 0x67, 0xf8, 0x5d, 0x18, 0x5d, 0xee, 0x84, 0x91, 0x7f, 0xbc, 0x7b, 0x44, 0x8f, 0xe9, 0xdc, + 0xc5, 0x58, 0xad, 0x6f, 0x60, 0x71, 0x3d, 0x62, 0xe5, 0xfa, 0x30, 0x35, 0x70, 0xf2, 0x19, 0x10, + 0xa9, 0x9f, 0x3f, 0x60, 0xeb, 0xc3, 0x63, 0x6b, 0x79, 0x6e, 0x16, 0xc7, 0x8a, 0x4a, 0xb9, 0x54, + 0xeb, 0xeb, 0x87, 0xaa, 0x5a, 0xf7, 0xeb, 0xa4, 0x91, 0x59, 0x87, 0x78, 0x17, 0x1f, 0x04, 0x4e, + 0xfb, 0x68, 0x6e, 0x2e, 0xd6, 0xb2, 0xc5, 0xa0, 0x0e, 0x59, 0xb9, 0xa1, 0x2d, 0xc4, 0xe0, 0xa4, + 0x06, 0xc0, 0x7f, 0x6e, 0xb0, 0x89, 0xbf, 0x84, 0xfc, 0x9a, 0x33, 0xf8, 0xc5, 0x2a, 0x24, 0xaf, + 0x2e, 0xa1, 0x0e, 0xc2, 0xc9, 0xb6, 0x5c, 0x63, 0x36, 0x35, 0x32, 0xe4, 0x29, 0x94, 0xf9, 0xaf, + 0x4d, 0xdf, 0x73, 0x23, 0x2e, 0x7a, 0xe7, 0x0d, 0x97, 0x4d, 0xb2, 0x5a, 0x36, 0x80, 0xae, 0x32, + 0xd1, 0xc0, 0xb1, 0xaa, 0xd5, 0x9a, 0x49, 0x11, 0x26, 0x3b, 0x30, 0xba, 0x13, 0xf8, 0xcd, 0x4e, + 0x23, 0xc2, 0x0d, 0xfb, 0x32, 0x2a, 0x8a, 0x44, 0xb4, 0xa3, 0xd5, 0x70, 0x9e, 0xb4, 0x79, 0x41, + 0x9d, 0x6d, 0xe6, 0x3a, 0x4f, 0x34, 0x40, 0xb2, 0x04, 0x83, 0x3b, 0x7e, 0xcb, 0x6d, 0xbc, 0x98, + 0x5b, 0xc0, 0x4e, 0x4f, 0x4b, 0x62, 0x58, 0x28, 0xbb, 0x8a, 0xda, 0x61, 0x1b, 0x8b, 0x74, 0xed, + 0x90, 0x03, 0x91, 0x2a, 0x8c, 0x7f, 0xc6, 0x16, 0x8c, 0xeb, 0x7b, 0x9e, 0xe3, 0x06, 0x74, 0xee, + 0x0a, 0xce, 0x0b, 0xba, 0x33, 0x7f, 0xa2, 0x57, 0xe8, 0xcb, 0xd9, 0xc0, 0x20, 0xeb, 0x30, 0xb9, + 0x1e, 0xd6, 0xa2, 0xc0, 0x6d, 0xd3, 0x4d, 0xc7, 0x73, 0x0e, 0x69, 0x73, 0xee, 0x6a, 0xec, 0x4f, + 0x74, 0xc3, 0x7a, 0x88, 0x75, 0xf5, 0x63, 0x5e, 0xa9, 0xfb, 0x13, 0x13, 0x78, 0xe4, 0x73, 0x98, + 0x5e, 0xfd, 0x2a, 0x62, 0x2b, 0xa6, 0x55, 0xed, 0x34, 0xdd, 0xa8, 0x16, 0xf9, 0x81, 0x73, 0x48, + 0xe7, 0x2a, 0x48, 0xef, 0xf5, 0xd3, 0x93, 0xca, 0x35, 0x2a, 0xea, 0xeb, 0x0e, 0x03, 0xa8, 0x87, + 0x1c, 0x42, 0x3f, 0xc7, 0xcb, 0xa2, 0xc0, 0xb8, 0x5f, 0xeb, 0xb4, 0x99, 0xe2, 0x8a, 0xdc, 0xbf, + 0x66, 0x70, 0x5f, 0xab, 0xe1, 0xdc, 0x0f, 0x79, 0x41, 0x8a, 0xfb, 0x1a, 0x20, 0xb1, 0x81, 0x3c, + 0xf4, 0x5d, 0xaf, 0xda, 0x88, 0xdc, 0x67, 0x54, 0x98, 0xec, 0xe1, 0xdc, 0x75, 0xec, 0x29, 0xfa, + 0x3e, 0x7f, 0xdd, 0x77, 0xbd, 0xba, 0x83, 0xd5, 0x75, 0x61, 0xe0, 0x1b, 0xbe, 0xcf, 0x34, 0x36, + 0xf9, 0x11, 0x5c, 0xdc, 0xf4, 0x0f, 0xdc, 0x16, 0xe5, 0x22, 0x87, 0xb3, 0x05, 0xbd, 0x78, 0x16, + 0xd2, 0x45, 0xdf, 0xe7, 0x31, 0x42, 0xd4, 0x85, 0xb4, 0x3a, 0x56, 0x30, 0xba, 0xef, 0x33, 0x9b, + 0xca, 0xc3, 0xfe, 0xe1, 0xd1, 0xf2, 0x18, 0x3f, 0x1f, 0x7b, 0xd8, 0x3f, 0x3c, 0x5e, 0x9e, 0xb0, + 0xfe, 0xa0, 0x04, 0x24, 0x2d, 0x0f, 0xc9, 0x6d, 0x18, 0xa2, 0x1e, 0x53, 0x07, 0x9b, 0x62, 0x5f, + 0x47, 0x2d, 0x46, 0x14, 0xe9, 0x4e, 0x3c, 0x51, 0x44, 0x3e, 0x83, 0x29, 0xde, 0x21, 0x29, 0xb9, + 0x5b, 0xee, 0xb1, 0x1b, 0xe1, 0x5e, 0x3f, 0xc0, 0x25, 0x46, 0x46, 0xb5, 0x6e, 0xc6, 0x8b, 0x6a, + 0x94, 0xf3, 0x1b, 0xac, 0xd2, 0xea, 0xc0, 0x4c, 0xa6, 0x24, 0x24, 0x9b, 0x30, 0x73, 0xec, 0x7b, + 0xd1, 0x51, 0xeb, 0x85, 0x14, 0x84, 0xa2, 0xb5, 0x12, 0xb6, 0x86, 0x1f, 0x7f, 0x26, 0x80, 0x3d, + 0x25, 0x8a, 0x05, 0x45, 0x6c, 0xe7, 0x61, 0xff, 0x70, 0x6f, 0xb9, 0x4f, 0x8d, 0xc4, 0xb2, 0xe1, + 0x42, 0x4a, 0xa0, 0x90, 0xef, 0xc1, 0x58, 0x03, 0xf5, 0x74, 0xa3, 0x25, 0x2e, 0x4e, 0xb5, 0x72, + 0x7d, 0xad, 0xf0, 0x72, 0x3e, 0x94, 0x7f, 0x52, 0x82, 0xd9, 0x1c, 0x51, 0x72, 0x7e, 0x56, 0x7f, + 0x01, 0x17, 0x8f, 0x9d, 0xaf, 0xea, 0x01, 0x9a, 0x61, 0xf5, 0xc0, 0xf1, 0x12, 0xdc, 0xc6, 0xcf, + 0x24, 0x1b, 0x42, 0x8f, 0x01, 0x38, 0x76, 0xbe, 0xb2, 0x11, 0xc0, 0x66, 0xf5, 0xbc, 0x9f, 0xdf, + 0x87, 0x71, 0x43, 0x78, 0x9c, 0xbb, 0x73, 0xd6, 0x5d, 0xb8, 0xc0, 0x0c, 0xd5, 0x88, 0x9e, 0xd9, + 0xfd, 0x62, 0xed, 0x00, 0xd4, 0xe8, 0xb1, 0xd3, 0x3e, 0xf2, 0x99, 0x52, 0xb9, 0xa4, 0xff, 0x12, + 0xe6, 0x3b, 0x11, 0xe6, 0xb4, 0xaa, 0xd8, 0xbf, 0xc7, 0x15, 0xcd, 0x50, 0x41, 0xda, 0x1a, 0x96, + 0xf5, 0xc7, 0xbd, 0x40, 0xc4, 0xd7, 0x1f, 0x50, 0xe7, 0x58, 0x76, 0xe3, 0x43, 0x18, 0xe3, 0xc6, + 0x16, 0x2f, 0xc6, 0xee, 0x8c, 0x2e, 0x4e, 0x09, 0x21, 0xa0, 0x57, 0xad, 0xf5, 0xd8, 0x06, 0x28, + 0x43, 0xb5, 0x29, 0xb7, 0x12, 0x11, 0xb5, 0xd7, 0x40, 0xd5, 0xab, 0x18, 0xaa, 0xfe, 0x9b, 0x7c, + 0x0a, 0x13, 0xcb, 0xfe, 0x71, 0x9b, 0xf1, 0x44, 0x20, 0xf7, 0x09, 0x0b, 0x5c, 0xb4, 0x6b, 0x54, + 0xae, 0xf5, 0xd8, 0x09, 0x70, 0xb2, 0x05, 0x53, 0xf7, 0x5b, 0x9d, 0xf0, 0xa8, 0xea, 0x35, 0x97, + 0x5b, 0x7e, 0x28, 0xa9, 0xf4, 0x0b, 0x0b, 0x58, 0x18, 0x2b, 0x69, 0x88, 0xb5, 0x1e, 0x3b, 0x0b, + 0x91, 0xbc, 0x01, 0x03, 0xab, 0xcf, 0x98, 0x4c, 0x91, 0xe7, 0xcc, 0x22, 0x50, 0x65, 0xdb, 0xa3, + 0xdb, 0x4f, 0xd6, 0x7a, 0x6c, 0x5e, 0xbb, 0x34, 0x02, 0x43, 0xd2, 0x50, 0xbb, 0xcd, 0xf4, 0x3d, + 0xc5, 0xce, 0x5a, 0xe4, 0x44, 0x9d, 0x90, 0xcc, 0xc3, 0xf0, 0x5e, 0x9b, 0xd9, 0x0f, 0xd2, 0xc2, + 0xb5, 0xd5, 0x6f, 0xeb, 0x1d, 0x93, 0xd3, 0x64, 0x41, 0xf7, 0x7b, 0x72, 0xe0, 0xb8, 0xc0, 0x5a, + 0x33, 0x99, 0x5b, 0x0c, 0x6d, 0xb4, 0xdb, 0x9b, 0x68, 0xb7, 0x9c, 0xe4, 0xb5, 0x35, 0x93, 0xc9, + 0x3c, 0xeb, 0x73, 0xb8, 0xba, 0xd7, 0x0e, 0x69, 0x10, 0x55, 0xdb, 0xed, 0x96, 0xdb, 0xe0, 0xe7, + 0x1c, 0x68, 0xd0, 0xc9, 0xc5, 0xf2, 0x3e, 0x0c, 0xf2, 0x02, 0xb1, 0x4c, 0xe4, 0x1a, 0xac, 0xb6, + 0xdb, 0xc2, 0x8c, 0xbc, 0xc7, 0x35, 0x4f, 0x6e, 0x18, 0xda, 0x02, 0xda, 0xfa, 0xdd, 0x12, 0x5c, + 0xe5, 0x5f, 0x40, 0x2e, 0xe9, 0x6f, 0xc1, 0x08, 0xc6, 0x89, 0xb4, 0x9d, 0x86, 0xfc, 0x26, 0x78, + 0xc0, 0x8c, 0x2c, 0xb4, 0xe3, 0x7a, 0x2d, 0x02, 0xa7, 0x37, 0x3f, 0x02, 0x47, 0x7e, 0x60, 0x7d, + 0x99, 0x1f, 0xd8, 0x67, 0x60, 0x89, 0x1e, 0xb5, 0x5a, 0xa9, 0x4e, 0x85, 0x2f, 0xd3, 0x2b, 0xeb, + 0xbf, 0xf6, 0xc2, 0xec, 0x03, 0xea, 0xd1, 0xc0, 0xc1, 0x71, 0x1a, 0x0e, 0x0b, 0xfd, 0xa4, 0xbf, + 0x54, 0x78, 0xd2, 0x5f, 0x91, 0x2e, 0xa0, 0x5e, 0x74, 0x01, 0xa5, 0x82, 0x16, 0x98, 0x2d, 0xb4, + 0x67, 0xaf, 0x8b, 0x61, 0xa1, 0x2d, 0xd4, 0x09, 0x5c, 0x9b, 0x95, 0x91, 0xf5, 0x38, 0x4a, 0xa0, + 0xbf, 0xab, 0x2f, 0x68, 0x4a, 0x9c, 0x9a, 0x0e, 0x89, 0x28, 0x01, 0x33, 0x36, 0x60, 0x0b, 0x06, + 0xb9, 0xe7, 0x0a, 0x4f, 0x19, 0x46, 0x17, 0x6f, 0x8a, 0x6f, 0x2a, 0x67, 0x80, 0xc2, 0xcd, 0xb5, + 0xea, 0x45, 0xc1, 0x0b, 0xbe, 0x04, 0x22, 0x2c, 0xb0, 0x05, 0x95, 0xf9, 0xcf, 0x60, 0x54, 0x03, + 0x21, 0x65, 0xe8, 0x7b, 0x2a, 0x22, 0x24, 0x46, 0x6c, 0xf6, 0x27, 0x79, 0x07, 0x06, 0x9e, 0x39, + 0xad, 0x0e, 0x15, 0x62, 0xe4, 0x62, 0xec, 0x8b, 0x63, 0xea, 0x90, 0x77, 0xc8, 0x9d, 0x71, 0x36, + 0x07, 0xfa, 0xa8, 0xf7, 0x83, 0x92, 0xf5, 0x31, 0xcc, 0xa5, 0x7b, 0x23, 0xbc, 0x26, 0xdd, 0x9c, + 0x34, 0xd6, 0x0a, 0x4c, 0x3f, 0xa0, 0x11, 0x2e, 0x5c, 0xfc, 0x88, 0xb4, 0x00, 0x8e, 0xc4, 0x77, + 0x26, 0xa5, 0xaa, 0x3c, 0x8d, 0xd0, 0xbf, 0xd2, 0x1a, 0xcc, 0x24, 0xa8, 0x88, 0xf6, 0x3f, 0x82, + 0x21, 0x51, 0xa4, 0x24, 0xaa, 0x08, 0x69, 0xa3, 0x07, 0xa2, 0x62, 0x7f, 0x91, 0xaf, 0x5b, 0x41, + 0xd9, 0x96, 0x08, 0xd6, 0x11, 0x5c, 0x64, 0xdb, 0x6c, 0x4c, 0x55, 0x2d, 0xc7, 0xcb, 0x30, 0xd2, + 0x66, 0x8a, 0x42, 0xe8, 0xfe, 0x94, 0x2f, 0xa3, 0x01, 0x7b, 0x98, 0x15, 0xd4, 0xdc, 0x9f, 0x52, + 0x72, 0x05, 0x00, 0x2b, 0x71, 0x98, 0x42, 0x0a, 0x20, 0x38, 0xf7, 0x4a, 0x11, 0xc0, 0x48, 0x19, + 0xbe, 0x6e, 0x6c, 0xfc, 0xdb, 0x0a, 0x60, 0x36, 0xd5, 0x92, 0x18, 0xc0, 0x6d, 0x18, 0x96, 0xfa, + 0x59, 0xc2, 0x5f, 0xac, 0x8f, 0xc0, 0x56, 0x40, 0xe4, 0x4d, 0x98, 0xf4, 0xe8, 0x57, 0x51, 0x3d, + 0xd5, 0x87, 0x71, 0x56, 0xbc, 0x23, 0xfb, 0x61, 0xfd, 0x1a, 0xfa, 0x08, 0x6b, 0x9e, 0xff, 0xfc, + 0x49, 0xcb, 0x79, 0x4a, 0x53, 0x0d, 0x7f, 0x0f, 0x86, 0x6b, 0xdd, 0x1b, 0xe6, 0x9f, 0x8f, 0x6c, + 0xdc, 0x56, 0x28, 0x56, 0x0b, 0xe6, 0xd9, 0x90, 0x6a, 0xd5, 0xcd, 0x8d, 0xf5, 0xe6, 0xce, 0x37, + 0xcd, 0xc0, 0x67, 0x70, 0x39, 0xb3, 0xb5, 0x6f, 0x9a, 0x89, 0xff, 0xb2, 0x0f, 0x66, 0xf9, 0x66, + 0x92, 0x5e, 0xc1, 0x67, 0x17, 0x35, 0xbf, 0x92, 0x93, 0xb4, 0x3b, 0x19, 0x27, 0x69, 0x88, 0xa2, + 0x9f, 0xa4, 0x19, 0xe7, 0x67, 0x1f, 0x64, 0x9f, 0x9f, 0xa1, 0x13, 0xc4, 0x3c, 0x3f, 0x4b, 0x9e, + 0x9a, 0xad, 0xe6, 0x9f, 0x9a, 0xe1, 0x19, 0x42, 0xc6, 0xa9, 0x59, 0xc6, 0x59, 0x59, 0x32, 0x60, + 0x61, 0xf8, 0x95, 0x06, 0x2c, 0x70, 0xd5, 0xda, 0xda, 0x87, 0xb9, 0xf4, 0x04, 0xbe, 0x02, 0xe1, + 0xf1, 0x47, 0x25, 0xb8, 0x22, 0xd4, 0x8c, 0xc4, 0x27, 0x76, 0xfe, 0xf5, 0xf1, 0x1e, 0x8c, 0x09, + 0xdc, 0xdd, 0x78, 0x29, 0x2e, 0x5d, 0x38, 0x3d, 0xa9, 0x8c, 0x4b, 0x71, 0xc8, 0x65, 0xaa, 0x01, + 0x46, 0xde, 0x83, 0x61, 0xfc, 0x23, 0xf6, 0xb2, 0x33, 0xeb, 0x63, 0x04, 0x41, 0xeb, 0x49, 0x5f, + 0xbb, 0x02, 0xb5, 0xbe, 0x84, 0xab, 0x79, 0x1d, 0x7f, 0x05, 0x7c, 0xf9, 0x57, 0x25, 0xb8, 0x2c, + 0xc8, 0x1b, 0x1f, 0xeb, 0x4b, 0xc9, 0xfd, 0x73, 0x04, 0xee, 0x3d, 0x84, 0x51, 0xd6, 0xa0, 0xec, + 0x77, 0x9f, 0xd8, 0xdc, 0x84, 0xee, 0x1e, 0xd7, 0xac, 0x38, 0x91, 0x23, 0x42, 0x11, 0x9c, 0xe3, + 0x96, 0xb4, 0x8d, 0x6d, 0x1d, 0xd9, 0xfa, 0x01, 0x2c, 0x64, 0x0f, 0xe1, 0x15, 0xf0, 0xe7, 0x21, + 0xcc, 0x67, 0x88, 0xe5, 0x97, 0xdb, 0x15, 0xbf, 0x80, 0xcb, 0x99, 0xb4, 0x5e, 0x41, 0x37, 0xd7, + 0xd8, 0x9e, 0x1f, 0xbd, 0x82, 0x29, 0xb4, 0x1e, 0xc3, 0xa5, 0x0c, 0x4a, 0xaf, 0xa0, 0x8b, 0x0f, + 0x60, 0x56, 0xe9, 0xba, 0x5f, 0xab, 0x87, 0x9b, 0x70, 0x85, 0x13, 0x7a, 0x35, 0xb3, 0xf2, 0x08, + 0x2e, 0x0b, 0x72, 0xaf, 0x80, 0x7b, 0x6b, 0xb0, 0x10, 0x9b, 0xb4, 0x19, 0x9a, 0xca, 0x99, 0x85, + 0x8c, 0xb5, 0x01, 0xd7, 0x62, 0x4a, 0x39, 0xdb, 0xf6, 0xd9, 0xa9, 0x71, 0x85, 0x2c, 0x9e, 0xa5, + 0x57, 0x32, 0xa3, 0x8f, 0xe1, 0xa2, 0x41, 0xf4, 0x95, 0x29, 0x2b, 0xeb, 0x30, 0xc5, 0x09, 0x9b, + 0xca, 0xeb, 0xa2, 0xae, 0xbc, 0x8e, 0x2e, 0x5e, 0x88, 0x49, 0x62, 0xf1, 0xfe, 0xbd, 0x0c, 0x7d, + 0x76, 0x13, 0xf5, 0x59, 0x09, 0x12, 0xf7, 0xf0, 0x3d, 0x18, 0xe4, 0x25, 0xa2, 0x7f, 0x19, 0xc4, + 0xb8, 0xba, 0xce, 0xd1, 0x04, 0xb0, 0xf5, 0x23, 0xb8, 0xc2, 0x6d, 0xc1, 0xf8, 0xa8, 0xca, 0xb4, + 0xd7, 0xbe, 0x97, 0x30, 0x05, 0x2f, 0x09, 0xba, 0x49, 0xf8, 0x1c, 0x8b, 0xf0, 0x40, 0xae, 0xed, + 0x3c, 0xfa, 0x67, 0xba, 0x64, 0x21, 0x4d, 0xbc, 0xde, 0x4c, 0x13, 0xef, 0x35, 0xb8, 0xae, 0x4c, + 0xbc, 0x64, 0x33, 0x72, 0x69, 0x59, 0x3f, 0x80, 0xcb, 0x7c, 0xa0, 0x32, 0xbc, 0xca, 0xec, 0xc6, + 0xc7, 0x89, 0x61, 0xce, 0x8a, 0x61, 0x9a, 0xd0, 0x39, 0x83, 0xfc, 0x1b, 0x25, 0xf9, 0xc9, 0x65, + 0x13, 0xff, 0x55, 0xdb, 0xbc, 0x5b, 0x50, 0x51, 0x0c, 0x31, 0x7b, 0xf4, 0x72, 0x06, 0xef, 0x26, + 0xcc, 0xe8, 0x64, 0xdc, 0x06, 0xdd, 0xbf, 0x8b, 0x67, 0x08, 0xef, 0xb2, 0xcf, 0x02, 0x0b, 0xe4, + 0xb2, 0x9b, 0xcb, 0xe0, 0x1b, 0xc2, 0xdb, 0x0a, 0xd2, 0xaa, 0xc3, 0x42, 0x7a, 0x2a, 0xdc, 0x86, + 0x8c, 0xac, 0x25, 0x9f, 0xb2, 0x4f, 0x18, 0x4b, 0xc4, 0x64, 0xe4, 0x12, 0x95, 0xdf, 0x31, 0x47, + 0x97, 0x58, 0x96, 0x25, 0x45, 0x4d, 0x62, 0xfc, 0xac, 0x75, 0xb9, 0x1e, 0x7e, 0x13, 0x88, 0xac, + 0x5a, 0xae, 0xd9, 0xb2, 0xe9, 0x4b, 0xd0, 0xb7, 0x5c, 0xb3, 0x45, 0x40, 0x3f, 0xda, 0xdc, 0x8d, + 0x30, 0xb0, 0x59, 0x59, 0x52, 0x27, 0xee, 0x3d, 0x83, 0x4e, 0xfc, 0xb0, 0x7f, 0xb8, 0xaf, 0xdc, + 0x6f, 0x93, 0x9a, 0x7b, 0xe8, 0x3d, 0x76, 0xa3, 0x23, 0xd5, 0x60, 0xd5, 0xfa, 0x21, 0x4c, 0x19, + 0xcd, 0x8b, 0xaf, 0xb8, 0xf0, 0x26, 0x02, 0x79, 0x13, 0x86, 0x96, 0xab, 0x18, 0xa3, 0x80, 0x4e, + 0x83, 0x31, 0x2e, 0x6f, 0x1a, 0x4e, 0x1d, 0x2f, 0xa2, 0xd9, 0xb2, 0xd2, 0xfa, 0xc7, 0xfd, 0x1a, + 0x75, 0xed, 0x7e, 0x47, 0xc1, 0xe8, 0xee, 0x02, 0xf0, 0x15, 0xa2, 0x0d, 0x8e, 0x29, 0x80, 0xa3, + 0xe2, 0xe8, 0x9f, 0x8b, 0x64, 0x5b, 0x03, 0x3a, 0xeb, 0xfd, 0x0f, 0x11, 0x8b, 0xc9, 0x91, 0xe4, + 0xa5, 0x24, 0x15, 0x8b, 0x29, 0x48, 0x87, 0xb6, 0x0e, 0x44, 0x7e, 0x94, 0x0c, 0x53, 0x1e, 0xc0, + 0x23, 0x8b, 0xd7, 0xe5, 0x19, 0x66, 0x7a, 0x6c, 0xe7, 0x8b, 0x54, 0x7e, 0x0e, 0x33, 0x0c, 0xd7, + 0x7d, 0x82, 0xaa, 0xfd, 0xea, 0x57, 0x11, 0xf5, 0xb8, 0x6c, 0x1f, 0xc4, 0x76, 0xde, 0x28, 0x68, + 0x27, 0x06, 0x16, 0x1e, 0xf0, 0x98, 0x4e, 0x9d, 0xaa, 0x3a, 0x3b, 0x9b, 0x3e, 0x2e, 0x22, 0x7b, + 0x63, 0xd5, 0x6b, 0xb6, 0x7d, 0x57, 0x99, 0x2c, 0x7c, 0x11, 0x05, 0xad, 0x3a, 0x15, 0xe5, 0xb6, + 0x0e, 0x64, 0xbd, 0x59, 0x18, 0xc8, 0x3b, 0x0c, 0xfd, 0xbb, 0xcb, 0xbb, 0x1b, 0xe5, 0x92, 0x75, + 0x1b, 0x40, 0x6b, 0x09, 0x60, 0x70, 0x6b, 0xdb, 0xde, 0xac, 0x6e, 0x94, 0x7b, 0xc8, 0x0c, 0x5c, + 0x78, 0xbc, 0xbe, 0xb5, 0xb2, 0xfd, 0xb8, 0x56, 0xaf, 0x6d, 0x56, 0xed, 0xdd, 0xe5, 0xaa, 0xbd, + 0x52, 0x2e, 0x59, 0x5f, 0xc2, 0xb4, 0x39, 0xc2, 0x57, 0xba, 0x08, 0x23, 0x98, 0x52, 0xfa, 0xcc, + 0xc3, 0xc7, 0xbb, 0x5a, 0x78, 0xa0, 0x30, 0xbf, 0x92, 0x61, 0x2e, 0xc2, 0x50, 0x13, 0x9f, 0x91, + 0x06, 0x44, 0xde, 0xe6, 0x6a, 0x41, 0xf2, 0x8e, 0x1d, 0x53, 0x0b, 0xea, 0xb1, 0x5e, 0x80, 0xa2, + 0xef, 0x3b, 0x30, 0x6d, 0xb6, 0x7a, 0x56, 0x3f, 0xd1, 0xeb, 0x18, 0x37, 0xa9, 0x05, 0xf8, 0x13, + 0xa2, 0x3b, 0xee, 0x85, 0x64, 0xfd, 0x0e, 0x94, 0x05, 0x54, 0xbc, 0xf3, 0xbe, 0x26, 0x1d, 0x79, + 0xa5, 0x8c, 0xcb, 0x48, 0x32, 0x40, 0xd7, 0x87, 0x32, 0x93, 0x98, 0x02, 0x93, 0x37, 0x30, 0x0d, + 0x03, 0x1b, 0xf1, 0x81, 0x8a, 0xcd, 0x7f, 0x60, 0x9c, 0x7b, 0xe4, 0x04, 0x91, 0x0c, 0x2a, 0x1a, + 0xb1, 0xd5, 0x6f, 0xf2, 0x36, 0x0c, 0xde, 0x77, 0x5b, 0x91, 0x70, 0x4e, 0xc4, 0x9b, 0x3c, 0x23, + 0xcb, 0x2b, 0x6c, 0x01, 0x60, 0xd9, 0x70, 0x41, 0x6b, 0xf0, 0x1c, 0x5d, 0x25, 0x73, 0x30, 0xb4, + 0x45, 0xbf, 0xd2, 0xda, 0x97, 0x3f, 0xad, 0xf7, 0xe1, 0x82, 0x08, 0xd8, 0xd2, 0xd8, 0x74, 0x5d, + 0xdc, 0x6a, 0x2c, 0x19, 0x17, 0xb7, 0x04, 0x49, 0xac, 0x62, 0x78, 0x7b, 0xed, 0xe6, 0x4b, 0xe2, + 0xb1, 0x8d, 0xe2, 0x9c, 0x78, 0x6f, 0xc9, 0x73, 0x98, 0x6e, 0xd3, 0xf9, 0xc7, 0x25, 0x98, 0x4b, + 0xd8, 0xf9, 0xcb, 0x47, 0x4e, 0xab, 0x45, 0xbd, 0x43, 0x4a, 0x6e, 0x40, 0xff, 0xee, 0xf6, 0xee, + 0x8e, 0xf0, 0x53, 0xca, 0xf3, 0x65, 0x56, 0xa4, 0x60, 0x6c, 0x84, 0x20, 0x8f, 0xe0, 0x82, 0x0c, + 0xc9, 0x54, 0x55, 0x62, 0x86, 0xae, 0x14, 0x07, 0x78, 0xa6, 0xf1, 0xc8, 0xbb, 0xc2, 0x29, 0xf1, + 0x93, 0x8e, 0x1b, 0xd0, 0x26, 0xfa, 0x5e, 0xe2, 0xc3, 0x5a, 0xad, 0xc6, 0xd6, 0xc1, 0xf8, 0x0d, + 0x37, 0xeb, 0xf7, 0x4b, 0x30, 0x9b, 0xe3, 0xb7, 0x20, 0x6f, 0x1b, 0xc3, 0x99, 0xd2, 0x86, 0x23, + 0x41, 0xd6, 0x7a, 0xc4, 0x78, 0x96, 0xb5, 0x38, 0xd5, 0xbe, 0x73, 0xc4, 0xa9, 0xae, 0xf5, 0xc4, + 0xb1, 0xa9, 0x4b, 0x00, 0xc3, 0xb2, 0xdc, 0x9a, 0x84, 0x71, 0x83, 0x6f, 0x96, 0x05, 0x63, 0x7a, + 0xcb, 0x6c, 0x72, 0x96, 0xfd, 0xa6, 0x9a, 0x1c, 0xf6, 0xb7, 0xf5, 0xb7, 0x4b, 0x30, 0x8d, 0x43, + 0x3c, 0x74, 0x99, 0xe8, 0x8b, 0x39, 0xb4, 0x68, 0x8c, 0x64, 0xc1, 0x18, 0x49, 0x02, 0x56, 0x0d, + 0xe9, 0xa3, 0xd4, 0x90, 0x16, 0xb2, 0x86, 0x84, 0xcb, 0xdb, 0xf5, 0x3d, 0x63, 0x24, 0xda, 0x61, + 0xd0, 0x1f, 0x94, 0x60, 0x4a, 0xeb, 0x93, 0xea, 0xff, 0x5d, 0xa3, 0x4b, 0x97, 0x33, 0xba, 0x94, + 0x62, 0xf2, 0x52, 0xaa, 0x47, 0xaf, 0x17, 0xf5, 0xa8, 0x2b, 0x8f, 0xff, 0x4b, 0x09, 0x66, 0x32, + 0x79, 0x40, 0x2e, 0x32, 0xdd, 0xb6, 0x11, 0xd0, 0x48, 0xb0, 0x57, 0xfc, 0x62, 0xe5, 0xeb, 0x61, + 0xd8, 0xa1, 0x81, 0xf8, 0xce, 0xc5, 0x2f, 0xf2, 0x3a, 0x8c, 0xef, 0xd0, 0xc0, 0xf5, 0x9b, 0x3c, + 0x82, 0x99, 0x87, 0x06, 0x8e, 0xdb, 0x66, 0x21, 0x59, 0x80, 0x91, 0x6a, 0xeb, 0xd0, 0x0f, 0xdc, + 0xe8, 0x88, 0x9f, 0xc7, 0x8d, 0xd8, 0x71, 0x01, 0xa3, 0xbd, 0xe2, 0x1e, 0xf2, 0x63, 0x05, 0x86, + 0x2c, 0x7e, 0x31, 0xe1, 0x22, 0xfd, 0x75, 0x83, 0x5c, 0xb8, 0x48, 0x67, 0xdc, 0x45, 0x18, 0xfc, + 0xcc, 0xc6, 0x45, 0x80, 0x37, 0x7f, 0x6d, 0xf1, 0x8b, 0x4c, 0x60, 0x0c, 0x2a, 0xde, 0xeb, 0xc5, + 0xd8, 0xd3, 0x8f, 0x60, 0x3a, 0x8b, 0xaf, 0x59, 0x4b, 0x48, 0xe0, 0xf6, 0x2a, 0xdc, 0x1f, 0xc0, + 0x54, 0xb5, 0xd9, 0xdc, 0xbc, 0x5f, 0xe5, 0xa7, 0xfe, 0x62, 0x56, 0xf9, 0xc7, 0xc3, 0xfd, 0x75, + 0x42, 0x65, 0xeb, 0x5f, 0xf7, 0xdc, 0xc8, 0x9e, 0x5a, 0xfd, 0xca, 0x0d, 0x23, 0xd7, 0x3b, 0xd4, + 0xdc, 0x7a, 0xf6, 0xc5, 0x2d, 0xfa, 0x3c, 0x63, 0x09, 0xb0, 0xdd, 0xd4, 0xa4, 0xad, 0xdc, 0x80, + 0x49, 0xe2, 0xd3, 0x1a, 0xd9, 0x58, 0x94, 0xcc, 0x9a, 0x74, 0xe3, 0x8a, 0xbe, 0x6a, 0xe3, 0xa9, + 0xf5, 0x1d, 0xb8, 0xc8, 0x45, 0x5a, 0x51, 0xe7, 0x45, 0xb7, 0x75, 0x2f, 0xa4, 0xf5, 0x81, 0xf4, + 0x52, 0x14, 0xf6, 0xcc, 0x1e, 0x33, 0xfa, 0x82, 0x4d, 0xfe, 0x45, 0x09, 0xe6, 0x13, 0xa8, 0xb5, + 0x17, 0x5e, 0x43, 0xca, 0xd3, 0x37, 0x93, 0x31, 0xbe, 0xa8, 0x07, 0x70, 0xe7, 0x9f, 0xdb, 0x54, + 0x61, 0xbe, 0xe4, 0x36, 0x00, 0x47, 0xd6, 0xb6, 0x6f, 0x74, 0x3e, 0x8b, 0x18, 0x0e, 0xdc, 0xc0, + 0x35, 0x10, 0xd2, 0x81, 0x2c, 0xbe, 0x8b, 0x6f, 0xa4, 0x9b, 0x77, 0x16, 0x6f, 0xbb, 0x53, 0x81, + 0x5e, 0xcf, 0x71, 0xd3, 0x66, 0xd1, 0xb7, 0xfe, 0x66, 0x1f, 0xcc, 0xea, 0x13, 0xf8, 0x32, 0x63, + 0xdd, 0x81, 0xd1, 0x65, 0xdf, 0x8b, 0xe8, 0x57, 0x91, 0x76, 0x97, 0x99, 0xa8, 0xb3, 0x6e, 0x55, + 0x23, 0x54, 0x47, 0x5e, 0x50, 0x67, 0x7a, 0x8c, 0x11, 0x8b, 0x16, 0x03, 0x92, 0x65, 0x18, 0xdf, + 0xa2, 0xcf, 0x53, 0x0c, 0xc4, 0x78, 0x38, 0x8f, 0x3e, 0xaf, 0x6b, 0x4c, 0xd4, 0x83, 0x94, 0x0c, + 0x1c, 0x72, 0x00, 0x13, 0x72, 0x71, 0x19, 0xcc, 0x9c, 0xd7, 0x77, 0x15, 0x73, 0x39, 0xf3, 0xdb, + 0xbe, 0xac, 0x85, 0x1c, 0x1e, 0x26, 0x28, 0xb2, 0xa1, 0xf3, 0x16, 0xf9, 0x05, 0x56, 0x73, 0xdb, + 0xd2, 0x6a, 0x8c, 0x68, 0xc3, 0xe4, 0xc5, 0x55, 0x9d, 0x84, 0xb5, 0x03, 0x73, 0xe9, 0xf9, 0x10, + 0xad, 0xbd, 0x0b, 0x83, 0xbc, 0x54, 0xa8, 0x01, 0xf2, 0x21, 0x09, 0x05, 0xcd, 0xed, 0x74, 0xde, + 0x8c, 0x2d, 0x60, 0xad, 0x35, 0xf4, 0x9d, 0x28, 0x18, 0xa5, 0x88, 0xdd, 0x49, 0x4e, 0x2f, 0x06, + 0x72, 0xca, 0xe9, 0xd5, 0x23, 0x3d, 0x64, 0xec, 0xfa, 0x32, 0xba, 0x9f, 0x74, 0x4a, 0xa2, 0x63, + 0x37, 0x61, 0x48, 0x14, 0x25, 0x9e, 0xb8, 0x88, 0x3f, 0x3f, 0x09, 0x60, 0x7d, 0x04, 0x97, 0xd0, + 0x17, 0xe6, 0x7a, 0x87, 0x2d, 0xba, 0x17, 0x1a, 0xd1, 0xe7, 0xdd, 0x3e, 0xeb, 0xef, 0xc2, 0x7c, + 0x16, 0x6e, 0xd7, 0x2f, 0x9b, 0x5f, 0x69, 0xff, 0xb3, 0x5e, 0x98, 0x5e, 0x0f, 0x75, 0x65, 0x42, + 0x70, 0xe2, 0x56, 0xd6, 0x65, 0x6b, 0xe4, 0xc9, 0x5a, 0x4f, 0xd6, 0x65, 0xea, 0x77, 0xb5, 0x6b, + 0x6d, 0xbd, 0x45, 0xb7, 0xa8, 0xd9, 0xb6, 0xa5, 0x2e, 0xb6, 0xbd, 0x09, 0xfd, 0x5b, 0x4c, 0x54, + 0xf7, 0x89, 0xb9, 0xe3, 0x18, 0xac, 0x08, 0xaf, 0x95, 0xb1, 0x2d, 0x92, 0xfd, 0x20, 0xf7, 0x53, + 0x97, 0xd7, 0xfa, 0xbb, 0xdf, 0x12, 0x5e, 0xeb, 0x49, 0xdd, 0x63, 0x7b, 0x1f, 0x46, 0xab, 0xcd, + 0x63, 0x1e, 0x70, 0xe6, 0x7b, 0x89, 0xcf, 0x52, 0xab, 0x59, 0xeb, 0xb1, 0x75, 0x40, 0x66, 0xe1, + 0x56, 0xdb, 0x6d, 0xdc, 0xa8, 0xb2, 0x6e, 0x4e, 0xaf, 0xf5, 0x60, 0xfc, 0xf6, 0xd2, 0x30, 0x0c, + 0xee, 0x3a, 0xc1, 0x21, 0x8d, 0xac, 0x1f, 0xc0, 0xbc, 0x08, 0x13, 0xe1, 0x9e, 0x3f, 0x0c, 0x26, + 0x09, 0xe3, 0x48, 0xa0, 0xa2, 0xd0, 0x8e, 0xab, 0x00, 0xa8, 0xe7, 0xaf, 0x7b, 0x4d, 0xfa, 0x15, + 0x8f, 0x66, 0xb2, 0xb5, 0x12, 0xeb, 0x3d, 0x18, 0x51, 0x1c, 0x42, 0x65, 0x56, 0xdb, 0xec, 0x90, + 0x5b, 0xd3, 0xc6, 0x6d, 0x3d, 0x79, 0x45, 0xef, 0x92, 0x31, 0x76, 0xf1, 0x12, 0x02, 0xd7, 0x7e, + 0x5d, 0x98, 0x49, 0x2c, 0x82, 0xf8, 0xaa, 0xad, 0xd2, 0x3f, 0x31, 0xf2, 0xc9, 0x56, 0xbf, 0x93, + 0xea, 0x69, 0xef, 0x99, 0xd4, 0x53, 0xeb, 0x9f, 0xf5, 0xa2, 0xe1, 0x94, 0xe2, 0x47, 0xc2, 0x07, + 0xa5, 0xfb, 0xc1, 0x96, 0x60, 0x04, 0x47, 0xbf, 0x22, 0x6f, 0x16, 0x15, 0x47, 0x39, 0x0c, 0xff, + 0xfc, 0xa4, 0xd2, 0x83, 0xa1, 0x0d, 0x31, 0x1a, 0xf9, 0x04, 0x86, 0x56, 0xbd, 0x26, 0x52, 0xe8, + 0x3b, 0x07, 0x05, 0x89, 0xc4, 0xe6, 0x04, 0xbb, 0xbc, 0xcb, 0x3e, 0x61, 0xee, 0xba, 0xb0, 0xb5, + 0x92, 0xd8, 0x82, 0x1b, 0xc8, 0xb3, 0xe0, 0x06, 0x13, 0x16, 0x9c, 0x05, 0x03, 0xdb, 0x41, 0x53, + 0xbc, 0x60, 0x30, 0xb1, 0x38, 0x26, 0x18, 0x87, 0x65, 0x36, 0xaf, 0xb2, 0xfe, 0x47, 0x09, 0x66, + 0x1f, 0xd0, 0x28, 0x73, 0x0d, 0x19, 0x5c, 0x29, 0x7d, 0x6d, 0xae, 0xf4, 0xbe, 0x0c, 0x57, 0xd4, + 0xa8, 0xfb, 0xf2, 0x46, 0xdd, 0x9f, 0x37, 0xea, 0x81, 0xfc, 0x51, 0x3f, 0x80, 0x41, 0x3e, 0x54, + 0x66, 0xa5, 0xae, 0x47, 0xf4, 0x38, 0xb6, 0x52, 0xf5, 0x18, 0x2d, 0x9b, 0xd7, 0x31, 0x45, 0x72, + 0xc3, 0x09, 0x75, 0x2b, 0x55, 0xfc, 0xb4, 0x7e, 0x8c, 0x77, 0x12, 0x37, 0xfc, 0xc6, 0x53, 0xcd, + 0xdb, 0x39, 0xc4, 0xbf, 0xd0, 0xa4, 0x77, 0x9c, 0x41, 0xf1, 0x1a, 0x5b, 0x42, 0x90, 0x6b, 0x30, + 0xba, 0xee, 0xdd, 0xf7, 0x83, 0x06, 0xdd, 0xf6, 0x5a, 0x9c, 0xfa, 0xb0, 0xad, 0x17, 0x09, 0x2f, + 0x80, 0x68, 0x21, 0x36, 0xad, 0xb1, 0x20, 0x61, 0x5a, 0xb3, 0xb2, 0xfd, 0x45, 0x9b, 0xd7, 0x09, + 0x27, 0x03, 0xfb, 0xbb, 0xc8, 0x2a, 0x55, 0xe6, 0x6b, 0x37, 0xc0, 0x03, 0xb8, 0x64, 0xd3, 0x76, + 0xcb, 0x61, 0x3a, 0xdd, 0xb1, 0xcf, 0xe1, 0xd5, 0x98, 0xaf, 0x65, 0xdc, 0x27, 0x32, 0x4f, 0xec, + 0x55, 0x97, 0x7b, 0x0b, 0xba, 0x7c, 0x0c, 0xd7, 0x1f, 0xd0, 0xc8, 0x14, 0xa8, 0xb1, 0x2f, 0x55, + 0x0c, 0x7e, 0x0d, 0x86, 0x43, 0xd3, 0x0f, 0x7c, 0x55, 0x1e, 0x3f, 0x64, 0x21, 0xee, 0xdf, 0x93, + 0x27, 0x25, 0x82, 0x8e, 0xfa, 0xcb, 0xfa, 0x14, 0x2a, 0x79, 0xcd, 0x9d, 0x2d, 0xa0, 0xd2, 0x85, + 0x6b, 0xf9, 0x04, 0x44, 0x77, 0x57, 0x41, 0xfa, 0x8c, 0xc5, 0x27, 0xd4, 0xad, 0xb7, 0xa6, 0x9b, + 0x59, 0xfc, 0x61, 0x2d, 0xc9, 0xd0, 0xb2, 0xaf, 0xd1, 0xdd, 0x3a, 0x1e, 0xc7, 0x9a, 0x04, 0x62, + 0xbe, 0x56, 0x61, 0x58, 0x96, 0x09, 0xbe, 0xce, 0x66, 0xf6, 0x54, 0x32, 0xb4, 0x29, 0x09, 0x28, + 0x34, 0xeb, 0xc7, 0xf2, 0x68, 0xc2, 0xc4, 0x38, 0xdb, 0x05, 0xbb, 0xb3, 0x9c, 0x45, 0x58, 0x3e, + 0x5c, 0x32, 0x69, 0xeb, 0x2e, 0xe7, 0xb2, 0xe6, 0x72, 0xe6, 0x9e, 0xe6, 0x6b, 0xa6, 0x0b, 0xb4, + 0x57, 0xac, 0xcb, 0xb8, 0x88, 0x5c, 0xd5, 0x1d, 0xcb, 0x63, 0xe9, 0x1b, 0x7b, 0x77, 0x60, 0x3e, + 0xab, 0x41, 0xcd, 0x0e, 0x54, 0xde, 0x4b, 0xa1, 0xef, 0xfc, 0x76, 0x09, 0x2c, 0x23, 0x7e, 0x07, + 0x67, 0x68, 0x27, 0xf0, 0x9f, 0xb9, 0x4d, 0xed, 0x50, 0xe4, 0x6d, 0xc3, 0x21, 0xc7, 0xef, 0x4a, + 0x25, 0x43, 0x87, 0x85, 0xb4, 0xbb, 0x93, 0x70, 0x92, 0x71, 0x95, 0x11, 0x63, 0x7a, 0x9e, 0x52, + 0xfd, 0xae, 0x81, 0x72, 0x9e, 0xfd, 0xaf, 0x12, 0xbc, 0x56, 0xd8, 0x07, 0xd1, 0xff, 0x03, 0x28, + 0x27, 0xeb, 0xc4, 0xdc, 0x57, 0xb4, 0x68, 0x82, 0x34, 0x85, 0xfd, 0xbb, 0x3c, 0x3e, 0x59, 0xc6, + 0xbd, 0xb4, 0x15, 0xe5, 0x14, 0xbd, 0xf3, 0xf7, 0x9e, 0x7c, 0x08, 0xb0, 0xeb, 0x47, 0x4e, 0x6b, + 0x19, 0x4d, 0xf7, 0xbe, 0x38, 0xd6, 0x3c, 0x62, 0xa5, 0xf5, 0xe4, 0xc5, 0x74, 0x0d, 0xd8, 0xfa, + 0x3e, 0x7e, 0x91, 0xd9, 0x9d, 0x3e, 0xdb, 0x47, 0xb2, 0x0c, 0xaf, 0x25, 0x4e, 0xb4, 0x5f, 0x82, + 0x48, 0x04, 0x33, 0x8c, 0xfd, 0x4c, 0x6b, 0x7e, 0x10, 0xf8, 0x9d, 0xf6, 0xaf, 0x66, 0xd6, 0xff, + 0x6d, 0x89, 0x07, 0xf9, 0xe9, 0xcd, 0x8a, 0x89, 0x5e, 0x06, 0x88, 0x4b, 0x13, 0xc1, 0xde, 0xaa, + 0x62, 0xff, 0x2e, 0x37, 0x96, 0xd1, 0xd7, 0x7d, 0xc8, 0x09, 0x68, 0x68, 0xbf, 0xda, 0x99, 0xbc, + 0x87, 0xc7, 0xd8, 0xaa, 0xf5, 0xb3, 0xf1, 0xfd, 0x7d, 0xe9, 0xb9, 0x38, 0x27, 0xde, 0x11, 0x4c, + 0xb3, 0x6f, 0x97, 0x59, 0xf9, 0x7e, 0xe0, 0x46, 0xf2, 0xda, 0x02, 0xd9, 0x11, 0x97, 0x7e, 0x39, + 0xd6, 0x77, 0x7f, 0x79, 0x52, 0xf9, 0xe0, 0x3c, 0xef, 0xa6, 0x49, 0x9a, 0xbb, 0xea, 0xa2, 0xb0, + 0x35, 0x0b, 0x7d, 0xcb, 0xf6, 0x06, 0x8a, 0x2a, 0x7b, 0x43, 0x89, 0x2a, 0x7b, 0xc3, 0xfa, 0x6f, + 0xbd, 0x50, 0xe1, 0xcf, 0x12, 0x60, 0xf4, 0x43, 0xec, 0x6f, 0xd0, 0xc2, 0x29, 0xce, 0xea, 0x1a, + 0x48, 0x3c, 0x3b, 0xd0, 0x7b, 0x96, 0x67, 0x07, 0x7e, 0x03, 0x72, 0x9c, 0x4d, 0x67, 0xb0, 0xdf, + 0xdf, 0x3a, 0x3d, 0xa9, 0xbc, 0x16, 0xdb, 0xef, 0xbc, 0x36, 0xcb, 0x90, 0xcf, 0x69, 0x22, 0xed, + 0x79, 0xe8, 0x7f, 0x09, 0xcf, 0xc3, 0x1d, 0x18, 0x42, 0x33, 0x64, 0x7d, 0x47, 0x44, 0x04, 0xe2, + 0xf2, 0xc4, 0x37, 0x44, 0xea, 0xae, 0xfe, 0x5c, 0x93, 0x04, 0xb3, 0xfe, 0x4e, 0x2f, 0x5c, 0xcb, + 0xe7, 0xb9, 0xe8, 0xdb, 0x0a, 0x40, 0x1c, 0x77, 0x51, 0x14, 0xe7, 0x81, 0xdf, 0xce, 0x73, 0x7a, + 0xa0, 0xe2, 0xac, 0x34, 0x3c, 0xa6, 0xb5, 0xc8, 0x1b, 0xa0, 0x09, 0x27, 0xbf, 0x71, 0x31, 0x54, + 0xbc, 0x06, 0x28, 0x8a, 0x8c, 0xd7, 0x00, 0x45, 0x19, 0x39, 0x80, 0xd9, 0x9d, 0xc0, 0x7d, 0xe6, + 0x44, 0xf4, 0x11, 0x7d, 0xc1, 0x2f, 0x91, 0xac, 0x8a, 0x9b, 0x23, 0xfc, 0x5a, 0xef, 0x8d, 0xd3, + 0x93, 0xca, 0xeb, 0x6d, 0x0e, 0xc2, 0x3e, 0xcc, 0x3a, 0xbf, 0x93, 0x56, 0x4f, 0x5f, 0x26, 0xc9, + 0x23, 0x64, 0xfd, 0x9b, 0x12, 0x5c, 0x46, 0x85, 0x5a, 0x38, 0x4c, 0x65, 0xe3, 0x2f, 0x15, 0xee, + 0xa7, 0x0f, 0x50, 0xac, 0x45, 0x0c, 0xf7, 0x33, 0x6e, 0xc8, 0xda, 0x06, 0x18, 0x59, 0x87, 0x51, + 0xf1, 0x1b, 0xbf, 0xbf, 0x3e, 0x54, 0xe5, 0x67, 0x34, 0x81, 0x85, 0x4b, 0x9d, 0x3b, 0x79, 0x70, + 0x61, 0x0b, 0x62, 0x78, 0x91, 0xcc, 0xd6, 0x71, 0xad, 0x5f, 0xf4, 0xc2, 0xc2, 0x3e, 0x0d, 0xdc, + 0x27, 0x2f, 0x72, 0x06, 0xb3, 0x0d, 0xd3, 0xb2, 0x88, 0x3f, 0x4d, 0x60, 0x7c, 0x62, 0xfc, 0xbd, + 0x31, 0xd9, 0x55, 0xf1, 0xb6, 0x81, 0xfc, 0xe2, 0x32, 0x11, 0xcf, 0x11, 0xc8, 0xf7, 0x2e, 0x0c, + 0x27, 0x1e, 0x07, 0xc1, 0xf9, 0x97, 0x5f, 0x68, 0x3c, 0x55, 0x6b, 0x3d, 0xb6, 0x82, 0x24, 0xbf, + 0x93, 0x7f, 0xf2, 0x22, 0x9c, 0x16, 0xdd, 0x3c, 0x97, 0xf8, 0xc1, 0xb2, 0x8f, 0xd5, 0xd1, 0x6a, + 0x33, 0x3e, 0xd8, 0xb5, 0x1e, 0x3b, 0xaf, 0xa5, 0xa5, 0x51, 0x18, 0xa9, 0xe2, 0x69, 0x12, 0xb3, + 0xb9, 0xff, 0x67, 0x2f, 0x5c, 0x95, 0x17, 0x42, 0x72, 0xd8, 0xfc, 0x39, 0xcc, 0xca, 0xa2, 0x6a, + 0x9b, 0x29, 0x0c, 0xb4, 0x69, 0x72, 0x9a, 0xbf, 0xf9, 0x27, 0x39, 0xed, 0x08, 0x98, 0x98, 0xd9, + 0x79, 0xe8, 0xaf, 0xc6, 0x6f, 0xf9, 0x49, 0xd6, 0x53, 0x2d, 0xe8, 0x3f, 0xd4, 0x65, 0xa6, 0xc1, + 0x1a, 0x43, 0x7e, 0x36, 0x53, 0x7e, 0xcf, 0xfe, 0xaf, 0xeb, 0xf7, 0x5c, 0xeb, 0x49, 0x7a, 0x3e, + 0x97, 0x26, 0x60, 0x6c, 0x8b, 0x3e, 0x8f, 0xf9, 0xfe, 0x57, 0x4b, 0x89, 0x2b, 0xe8, 0x4c, 0xc3, + 0xe0, 0x77, 0xd1, 0x4b, 0xf1, 0x6b, 0x1f, 0x78, 0x05, 0x5d, 0xd7, 0x30, 0x38, 0xe8, 0x3a, 0x0c, + 0xf1, 0x23, 0xd6, 0xe6, 0x19, 0x6c, 0x73, 0x75, 0xb3, 0x83, 0x5f, 0xb7, 0x6b, 0x72, 0x33, 0x5d, + 0xe0, 0x5b, 0x8f, 0xe0, 0xba, 0x88, 0x3c, 0x36, 0x27, 0x1f, 0x1b, 0x3a, 0xe7, 0xf6, 0x65, 0x39, + 0x70, 0xf5, 0x01, 0x4d, 0x8a, 0x1e, 0xe3, 0xe6, 0xcb, 0xa7, 0x30, 0x69, 0x94, 0x2b, 0x8a, 0xa8, + 0x95, 0xaa, 0x35, 0xa4, 0x48, 0x27, 0xa1, 0xad, 0x6b, 0x59, 0x4d, 0xe8, 0x9d, 0xb5, 0x28, 0x3e, + 0xde, 0x17, 0xc4, 0x87, 0x63, 0xe1, 0x39, 0xa4, 0xde, 0x0d, 0xed, 0xbb, 0xe6, 0x12, 0x8f, 0xbf, + 0xef, 0x25, 0x77, 0x5e, 0x55, 0x6b, 0x8d, 0x1b, 0x5e, 0x7c, 0x6b, 0x02, 0xc6, 0x64, 0x55, 0x8b, + 0x86, 0xa1, 0xf5, 0xb3, 0x01, 0xb0, 0x04, 0x63, 0xb3, 0xce, 0x8d, 0x25, 0x3f, 0x0e, 0x52, 0x9d, + 0x15, 0x1b, 0xd5, 0x45, 0xfd, 0xdd, 0xb8, 0xb8, 0x96, 0xaf, 0x3c, 0xd4, 0xf3, 0x1a, 0x71, 0xa9, + 0xb1, 0xf2, 0x52, 0xa3, 0xff, 0x61, 0x8e, 0x98, 0xe4, 0x1f, 0xdb, 0x1b, 0xa7, 0x27, 0x95, 0xeb, + 0x39, 0x62, 0xd2, 0xa0, 0x9b, 0x2d, 0x32, 0x6d, 0xf3, 0x30, 0xa3, 0xef, 0x65, 0x0e, 0x33, 0xd8, + 0x17, 0xa9, 0x1f, 0x67, 0xec, 0x99, 0xbc, 0x14, 0xdf, 0xa3, 0x3c, 0x8c, 0xd6, 0xab, 0xc4, 0x4d, + 0x70, 0xad, 0xc4, 0xa0, 0x6a, 0x90, 0x21, 0x2e, 0x94, 0x35, 0x6f, 0xe3, 0xf2, 0x11, 0x6d, 0x3c, + 0x15, 0x5e, 0x5e, 0x79, 0x14, 0x9b, 0xe5, 0xed, 0xe6, 0xef, 0x87, 0xf2, 0xef, 0x9c, 0x57, 0xd4, + 0x1b, 0x0c, 0x55, 0xbf, 0xc9, 0x9e, 0x24, 0x4b, 0x7e, 0x0a, 0x53, 0x6a, 0xaa, 0x13, 0x81, 0x43, + 0xa3, 0x8b, 0xaf, 0xc7, 0x0f, 0x0d, 0x1e, 0x3f, 0x71, 0x6e, 0x3d, 0xbb, 0x7b, 0x2b, 0x03, 0x96, + 0x5f, 0x90, 0x6e, 0xc8, 0x0a, 0x2d, 0x6a, 0x48, 0x3f, 0xa2, 0xca, 0x42, 0xd4, 0x0e, 0xa2, 0x7f, + 0x4f, 0x85, 0xb9, 0x33, 0x7d, 0xc1, 0x6d, 0x51, 0x71, 0x63, 0x44, 0xae, 0xbe, 0x9c, 0x43, 0xb4, + 0xd2, 0x37, 0x7c, 0x88, 0xf6, 0x87, 0xbd, 0x32, 0xb8, 0x3f, 0x7d, 0x8e, 0x79, 0xee, 0xb3, 0xb4, + 0xcc, 0x11, 0x9c, 0x69, 0x33, 0xcd, 0xec, 0x1c, 0x59, 0x92, 0x27, 0x91, 0xea, 0xd1, 0xa0, 0x09, + 0xe5, 0xd5, 0x8f, 0x2b, 0x8c, 0xc3, 0x49, 0x54, 0x5d, 0x34, 0xac, 0xe4, 0x31, 0x57, 0xdf, 0xd7, + 0x3f, 0xe6, 0xfa, 0xef, 0xc3, 0x70, 0x61, 0xc7, 0x39, 0x74, 0x3d, 0x26, 0xb4, 0x6d, 0x1a, 0xfa, + 0x9d, 0xa0, 0x41, 0x49, 0x15, 0x26, 0xcc, 0xc8, 0xcd, 0x2e, 0x71, 0xa9, 0x6c, 0x5f, 0x32, 0xcb, + 0xc8, 0x22, 0x8c, 0xa8, 0xfb, 0x9a, 0x62, 0x33, 0xc9, 0xb8, 0xc7, 0xb9, 0xd6, 0x63, 0xc7, 0x60, + 0xe4, 0x43, 0xe3, 0x64, 0x66, 0x52, 0x5d, 0x3d, 0x46, 0xd8, 0x45, 0x1e, 0x5a, 0xe7, 0xf9, 0x4d, + 0x73, 0x43, 0xe4, 0xc7, 0x0f, 0x3f, 0x4e, 0x1d, 0xd6, 0x0c, 0x18, 0x3d, 0x4e, 0x79, 0xac, 0x50, + 0x17, 0xc8, 0x7d, 0xc0, 0x35, 0xe3, 0x18, 0xe7, 0x07, 0x30, 0xfa, 0xa8, 0x73, 0x40, 0xe5, 0xb1, + 0xd4, 0xa0, 0xd8, 0x1f, 0x93, 0xf1, 0xc8, 0xa2, 0x7e, 0xff, 0x1e, 0x9f, 0x83, 0xa7, 0x9d, 0x03, + 0x9a, 0x7e, 0x19, 0x98, 0x09, 0x26, 0x8d, 0x18, 0x39, 0x82, 0x72, 0x32, 0x74, 0x58, 0x3c, 0xb3, + 0x55, 0x10, 0xf0, 0x8c, 0x6f, 0x3c, 0x68, 0xef, 0x0f, 0xf3, 0x80, 0x46, 0xa3, 0x91, 0x14, 0x55, + 0xf2, 0x9b, 0x30, 0x93, 0xe9, 0x2f, 0x54, 0xd7, 0x8f, 0x8a, 0x5d, 0x91, 0x28, 0xd4, 0x13, 0x5c, + 0x93, 0x77, 0x9d, 0x8c, 0x96, 0xb3, 0x5b, 0x21, 0x4d, 0x98, 0x4c, 0x84, 0xc4, 0x8a, 0x47, 0xd0, + 0xf3, 0x83, 0x6c, 0x71, 0x63, 0x92, 0x2f, 0x55, 0x66, 0xb6, 0x95, 0x24, 0x49, 0x36, 0x60, 0x44, + 0x99, 0xfb, 0xf8, 0x5c, 0x4f, 0xb6, 0x6b, 0x63, 0xee, 0xf4, 0xa4, 0x32, 0x1d, 0xbb, 0x36, 0x0c, + 0x9a, 0x31, 0x01, 0xf2, 0x5b, 0x70, 0x5d, 0x2d, 0xd1, 0xed, 0x20, 0xdb, 0x09, 0x24, 0xde, 0x37, + 0xbe, 0x99, 0x5c, 0xe1, 0x79, 0xf0, 0xfb, 0x77, 0x97, 0x7a, 0xe7, 0x4a, 0x6b, 0x3d, 0x76, 0x77, + 0xd2, 0xe4, 0x67, 0x25, 0xb8, 0x98, 0xd3, 0xea, 0x18, 0xb6, 0xda, 0xd5, 0x33, 0x87, 0xca, 0x3d, + 0x5e, 0xf8, 0x71, 0x9b, 0xf1, 0xd5, 0x34, 0xe9, 0xa2, 0x33, 0xc6, 0x9d, 0xd3, 0x12, 0x79, 0x07, + 0x06, 0xd1, 0x46, 0x0e, 0xe7, 0xc6, 0x51, 0x8b, 0xc4, 0xa7, 0x4d, 0xd0, 0x92, 0xd6, 0xf7, 0x0d, + 0x01, 0xb3, 0x04, 0x30, 0x1c, 0x08, 0x59, 0xf2, 0xb0, 0x7f, 0xb8, 0xbf, 0x3c, 0xc0, 0x97, 0xbb, + 0x8c, 0x90, 0xfe, 0x17, 0x43, 0xfc, 0x42, 0xe3, 0x9e, 0xe7, 0x3e, 0x71, 0x63, 0xb1, 0xa3, 0xfb, + 0xc4, 0xe2, 0x3c, 0x0d, 0x42, 0x63, 0xcd, 0xc9, 0xc8, 0xa0, 0xdc, 0x67, 0xbd, 0x5d, 0xdd, 0x67, + 0xf7, 0xb4, 0x23, 0x22, 0xed, 0xc5, 0x3f, 0xae, 0x99, 0x98, 0xee, 0xaa, 0xf8, 0xec, 0xe8, 0x4b, + 0x18, 0xc4, 0x47, 0xfa, 0xf8, 0xf9, 0xdb, 0xe8, 0xe2, 0x2d, 0x21, 0x6c, 0x0b, 0xba, 0xcf, 0x5f, + 0xf5, 0x13, 0x97, 0x94, 0x39, 0x9f, 0xb0, 0xc0, 0xe0, 0x13, 0x96, 0x90, 0x5d, 0x98, 0xda, 0x09, + 0x68, 0x53, 0xc4, 0xe9, 0xb6, 0x03, 0xe1, 0x52, 0xe0, 0xce, 0x0a, 0xdc, 0xa8, 0xdb, 0xb2, 0xba, + 0x4e, 0x55, 0xbd, 0xbe, 0x0d, 0x66, 0xa0, 0x93, 0x55, 0x98, 0xa8, 0x51, 0x27, 0x68, 0x1c, 0x3d, + 0xa2, 0x2f, 0x98, 0x92, 0x62, 0x3c, 0x7d, 0x1e, 0x62, 0x0d, 0x1b, 0x2f, 0x56, 0xe9, 0x31, 0x15, + 0x26, 0x12, 0xf9, 0x3e, 0x0c, 0xd6, 0xfc, 0x20, 0x5a, 0x7a, 0x21, 0x44, 0x91, 0x3c, 0xa1, 0xe1, + 0x85, 0x4b, 0x97, 0xe4, 0xf3, 0xef, 0xa1, 0x1f, 0x44, 0xf5, 0x03, 0xe3, 0x85, 0x1b, 0x0e, 0x42, + 0x5e, 0xc0, 0xb4, 0x29, 0x06, 0x44, 0xf8, 0xe8, 0xb0, 0x50, 0x8e, 0xb2, 0x64, 0x0d, 0x07, 0x59, + 0xba, 0x21, 0xa8, 0x5f, 0x4b, 0x0a, 0x9b, 0x27, 0x58, 0xaf, 0x3f, 0x3a, 0x93, 0x85, 0x4f, 0x36, + 0xf1, 0xd5, 0x7c, 0x3e, 0xa2, 0x6a, 0xc8, 0xc3, 0x4e, 0x47, 0xe2, 0x37, 0x94, 0x3a, 0x28, 0x4a, + 0x90, 0x13, 0x4e, 0x98, 0x4c, 0x86, 0x60, 0xa7, 0x50, 0xc9, 0x0e, 0x5c, 0xd8, 0x0b, 0xe9, 0x4e, + 0x40, 0x9f, 0xb9, 0xf4, 0xb9, 0xa4, 0x07, 0xf1, 0x83, 0x33, 0x8c, 0x5e, 0x9b, 0xd7, 0x66, 0x11, + 0x4c, 0x23, 0x93, 0x0f, 0x01, 0x76, 0x5c, 0xcf, 0xa3, 0x4d, 0x3c, 0xe6, 0x1b, 0x45, 0x52, 0xe8, + 0x08, 0x6d, 0x63, 0x69, 0xdd, 0xf7, 0x5a, 0x3a, 0x4b, 0x35, 0x60, 0xb2, 0x04, 0xe3, 0xeb, 0x5e, + 0xa3, 0xd5, 0x11, 0xc7, 0xf1, 0x21, 0x8a, 0x01, 0xf1, 0x10, 0x96, 0xcb, 0x2b, 0xea, 0xa9, 0x4f, + 0xd3, 0x44, 0x99, 0xff, 0x10, 0x46, 0xb5, 0x65, 0x9a, 0x71, 0x51, 0x7e, 0x5a, 0xbf, 0x28, 0x3f, + 0xa2, 0x5f, 0x88, 0xff, 0x47, 0x25, 0x58, 0xc8, 0x5e, 0xfe, 0x42, 0xd3, 0xd9, 0x86, 0x11, 0x55, + 0xa8, 0x2e, 0x66, 0x48, 0x1d, 0x3b, 0xa1, 0x6a, 0xf0, 0x6f, 0x50, 0x0a, 0x0b, 0xbd, 0xc3, 0x31, + 0x8d, 0x97, 0x70, 0x7c, 0xff, 0xb5, 0x61, 0x98, 0xc6, 0x00, 0xe4, 0xa4, 0x68, 0xf9, 0x14, 0x1f, + 0xbc, 0xc0, 0x32, 0xcd, 0x8f, 0x2b, 0x5c, 0x3a, 0xbc, 0x3c, 0xf9, 0xf4, 0x90, 0x81, 0x40, 0xde, + 0xd3, 0xc3, 0x06, 0x7a, 0xb5, 0xa7, 0xf5, 0x65, 0xa1, 0x3e, 0x84, 0x38, 0x9e, 0xe0, 0x6d, 0xe3, + 0xd4, 0xfa, 0xcc, 0x72, 0xaa, 0xff, 0xac, 0x72, 0x6a, 0x4f, 0xc9, 0x29, 0xfe, 0x90, 0xc2, 0x5b, + 0x9a, 0x9c, 0x7a, 0xf5, 0x02, 0x6a, 0xf0, 0x55, 0x0b, 0xa8, 0xa1, 0xaf, 0x27, 0xa0, 0x86, 0x5f, + 0x52, 0x40, 0xdd, 0x87, 0x89, 0x2d, 0x4a, 0x9b, 0xda, 0x89, 0x04, 0x97, 0x11, 0xc2, 0x0d, 0x83, + 0xbe, 0xa6, 0xac, 0x63, 0x89, 0x04, 0x56, 0xae, 0xa0, 0x83, 0xff, 0x37, 0x82, 0x6e, 0xf4, 0x15, + 0x0b, 0xba, 0xb1, 0xaf, 0x23, 0xe8, 0x52, 0xd2, 0x6a, 0xfc, 0x57, 0x2a, 0xad, 0x3e, 0xc1, 0xa8, + 0xbb, 0x5a, 0x6d, 0x4d, 0x04, 0x58, 0x68, 0x11, 0x0d, 0x6b, 0x7e, 0x28, 0x83, 0x92, 0xf1, 0x6f, + 0x56, 0xb6, 0xe3, 0x07, 0xf2, 0x54, 0x18, 0xff, 0xb6, 0x96, 0x30, 0xd6, 0x4e, 0xc7, 0x57, 0x11, + 0xed, 0x43, 0xe2, 0x56, 0x9b, 0x90, 0x71, 0x49, 0x7b, 0xc5, 0x96, 0xf5, 0xd6, 0x9f, 0x95, 0xf8, + 0xe9, 0xdf, 0xff, 0x8f, 0xa2, 0xf2, 0xeb, 0x9c, 0xc8, 0xfd, 0x4e, 0x7c, 0xdb, 0x5d, 0xdc, 0xcc, + 0x0f, 0x9c, 0xc6, 0xd3, 0xf8, 0x48, 0xf4, 0x47, 0xec, 0x3b, 0xd7, 0x2b, 0xf0, 0x69, 0xcb, 0xd8, + 0x28, 0x33, 0x2b, 0xf7, 0xef, 0x4a, 0x01, 0x20, 0x2e, 0xfd, 0xf3, 0x62, 0x53, 0x00, 0xe8, 0x08, + 0x18, 0x4e, 0x36, 0x69, 0xd9, 0xfc, 0xb2, 0x76, 0x66, 0x0f, 0xde, 0x4f, 0x5f, 0x37, 0x46, 0xad, + 0x3f, 0xbe, 0x6e, 0xac, 0xb3, 0x31, 0xbe, 0x78, 0xbc, 0x07, 0x97, 0x6d, 0x7a, 0xec, 0x3f, 0xa3, + 0xaf, 0x96, 0xec, 0x0f, 0xe1, 0x92, 0x49, 0x90, 0x5f, 0x4c, 0xe1, 0x4f, 0x52, 0x7f, 0x92, 0xfd, + 0x90, 0xb5, 0x40, 0xe0, 0x0f, 0x59, 0xf3, 0xf7, 0x70, 0xd9, 0x9f, 0xfa, 0xbe, 0x81, 0x75, 0x96, + 0x0f, 0x0b, 0x26, 0xf1, 0x6a, 0xb3, 0x89, 0x89, 0xc6, 0x1a, 0x6e, 0xdb, 0xf1, 0x22, 0xb2, 0x0d, + 0xa3, 0xda, 0xcf, 0x84, 0x4d, 0xae, 0xd5, 0x08, 0x35, 0x24, 0x2e, 0x30, 0x1e, 0x41, 0x8c, 0x8b, + 0x2d, 0x0a, 0x95, 0x24, 0x7b, 0x18, 0xcb, 0xf4, 0x36, 0x97, 0x60, 0x5c, 0xfb, 0xa9, 0x7c, 0x83, + 0xf8, 0xf1, 0x6b, 0x2d, 0x98, 0x0c, 0x33, 0x51, 0xac, 0x06, 0xcc, 0x67, 0x31, 0x0d, 0x9f, 0x10, + 0x7a, 0x41, 0x56, 0xe3, 0xc7, 0x88, 0xba, 0x07, 0xa4, 0x4d, 0xe6, 0x3d, 0x44, 0x64, 0xfd, 0xad, + 0x7e, 0xb8, 0x2c, 0x26, 0xe3, 0x55, 0xce, 0x38, 0xf9, 0x31, 0x8c, 0x6a, 0x73, 0x2c, 0x98, 0x7e, + 0x4d, 0x3e, 0x7e, 0x98, 0xb7, 0x16, 0xb8, 0xef, 0xa0, 0x83, 0x05, 0xf5, 0xc4, 0x74, 0xaf, 0xf5, + 0xd8, 0x3a, 0x49, 0xd2, 0x82, 0x09, 0x73, 0xa2, 0x85, 0xfb, 0xe4, 0xb5, 0xcc, 0x46, 0x4c, 0x50, + 0xf9, 0x94, 0x6e, 0xb3, 0x9e, 0x39, 0xdd, 0x6b, 0x3d, 0x76, 0x82, 0x36, 0xf9, 0x0a, 0x2e, 0xa4, + 0x66, 0x59, 0x78, 0xc5, 0xde, 0xcc, 0x6c, 0x30, 0x05, 0xcd, 0xfd, 0x9e, 0x01, 0x16, 0xe7, 0x36, + 0x9b, 0x6e, 0x84, 0x34, 0x61, 0x4c, 0x9f, 0x78, 0xe1, 0xdf, 0xb9, 0x5e, 0xc0, 0x4a, 0x0e, 0xc8, + 0x95, 0x3b, 0xc1, 0x4b, 0x9c, 0xfb, 0x17, 0xa6, 0x2f, 0xd7, 0x00, 0x1e, 0x86, 0x41, 0xfe, 0x9b, + 0x89, 0x80, 0x9d, 0x80, 0x86, 0xd4, 0x6b, 0x50, 0x23, 0x86, 0xf9, 0x6b, 0x8a, 0x80, 0x7f, 0x5d, + 0x82, 0xb9, 0x2c, 0xba, 0x35, 0xea, 0x35, 0xc9, 0x0e, 0x94, 0x93, 0x0d, 0x89, 0x55, 0x6d, 0xa9, + 0xd7, 0x4a, 0x73, 0xbb, 0xb4, 0xd6, 0x63, 0xa7, 0xb0, 0xc9, 0x16, 0x5c, 0xd0, 0xca, 0x84, 0x17, + 0xb3, 0xf7, 0x2c, 0x5e, 0x4c, 0x36, 0x0b, 0x29, 0x54, 0xdd, 0x09, 0xbc, 0x86, 0x3b, 0xe3, 0x8a, + 0x7f, 0xec, 0xb8, 0x1e, 0x53, 0x74, 0xb5, 0xf7, 0x88, 0x20, 0x2e, 0x15, 0xbc, 0xe1, 0x6e, 0x4d, + 0x2c, 0x95, 0x77, 0x2e, 0x14, 0x88, 0xf5, 0x5d, 0x94, 0xe0, 0xc2, 0x19, 0xc6, 0x6f, 0x70, 0x2a, + 0x62, 0xd7, 0x60, 0x60, 0x77, 0xa3, 0xb6, 0x5c, 0x15, 0xf7, 0x41, 0xf9, 0x2b, 0x02, 0xad, 0xb0, + 0xde, 0x70, 0x6c, 0x5e, 0x61, 0x7d, 0x0c, 0xe4, 0x01, 0x8d, 0xc4, 0x73, 0xd9, 0x0a, 0xef, 0x0d, + 0x18, 0x12, 0x45, 0x02, 0x13, 0xa3, 0xc7, 0x5a, 0x02, 0x4a, 0xd6, 0x59, 0x3b, 0xd2, 0x4e, 0x68, + 0x51, 0x27, 0xd4, 0x36, 0xe6, 0x0f, 0x60, 0x38, 0x10, 0x65, 0x62, 0x5f, 0x9e, 0x50, 0x89, 0x05, + 0xb0, 0x98, 0x3b, 0x8e, 0x25, 0x8c, 0xad, 0xfe, 0xb2, 0x36, 0xf0, 0xc5, 0x8f, 0xed, 0xf5, 0x95, + 0x65, 0xc6, 0x55, 0xc1, 0x2c, 0x39, 0x1d, 0xb7, 0x31, 0xcc, 0x3a, 0xa2, 0xfa, 0x6d, 0x50, 0x64, + 0x0d, 0x7e, 0xe4, 0xe2, 0x9d, 0x1b, 0x0d, 0xc4, 0xba, 0xa7, 0xde, 0x0f, 0xc9, 0xa0, 0x96, 0xf7, + 0x40, 0xfe, 0x16, 0xbe, 0x8c, 0xf2, 0x00, 0xe3, 0x52, 0x5e, 0x45, 0x27, 0x1c, 0x98, 0xe7, 0xdb, + 0x3c, 0x1b, 0x95, 0xc8, 0xed, 0xe4, 0x2b, 0xd1, 0xb8, 0x0c, 0x23, 0xaa, 0x4c, 0x1d, 0x32, 0x71, + 0x5e, 0x19, 0xf0, 0xfb, 0xf7, 0xf8, 0xc5, 0xd9, 0x86, 0x22, 0x10, 0xe3, 0xb1, 0x26, 0xf8, 0x77, + 0xf7, 0x0d, 0x37, 0x11, 0xd2, 0x20, 0xfa, 0x46, 0x9b, 0x88, 0x9f, 0xce, 0x39, 0x4f, 0x13, 0x06, + 0xfc, 0xfe, 0xe2, 0x59, 0x18, 0xf5, 0x0d, 0x37, 0xc1, 0x18, 0xf5, 0xcd, 0x35, 0x41, 0xe5, 0x1b, + 0x43, 0x7c, 0x91, 0xa6, 0x1a, 0x59, 0x4d, 0x37, 0x22, 0x3d, 0xc4, 0x09, 0x8c, 0xc2, 0xf9, 0xa0, + 0xb0, 0xc0, 0x99, 0xf5, 0x2b, 0x68, 0x86, 0x31, 0xec, 0x9b, 0x6d, 0xe6, 0xef, 0x96, 0xf8, 0x8b, + 0x47, 0xb5, 0x6d, 0x2d, 0xab, 0x9a, 0xf7, 0xc4, 0xd7, 0xce, 0xc0, 0xb5, 0xaf, 0xfd, 0x91, 0xeb, + 0x35, 0xf5, 0x33, 0x70, 0xa7, 0x13, 0x1d, 0xa9, 0x37, 0x79, 0x9f, 0xba, 0x5e, 0xd3, 0x4e, 0x42, + 0x93, 0x0f, 0x61, 0x5c, 0x2b, 0x52, 0xda, 0x1a, 0x7f, 0xb5, 0x5f, 0x47, 0x77, 0x9b, 0xb6, 0x09, + 0x69, 0xfd, 0x5e, 0x2f, 0x5c, 0xdc, 0x6b, 0x87, 0x78, 0xfd, 0x64, 0xdd, 0x7b, 0x46, 0xbd, 0xc8, + 0x0f, 0x5e, 0x60, 0xc8, 0x3c, 0x79, 0x0f, 0x06, 0xd6, 0x68, 0xab, 0xe5, 0x8b, 0x91, 0x5f, 0x91, + 0x07, 0xd0, 0x49, 0x68, 0x04, 0x5a, 0xeb, 0xb1, 0x39, 0x34, 0xf9, 0x10, 0x46, 0xd6, 0xa8, 0x13, + 0x44, 0x07, 0xd4, 0x91, 0xca, 0xaa, 0x7c, 0x45, 0x5e, 0x43, 0x11, 0x00, 0x6b, 0x3d, 0x76, 0x0c, + 0x4d, 0x16, 0x99, 0x1d, 0xe7, 0x1d, 0xaa, 0xab, 0xb6, 0x39, 0x0d, 0x32, 0x98, 0xb5, 0x1e, 0x1b, + 0x61, 0xc9, 0x26, 0x8c, 0x57, 0x0f, 0xa9, 0x17, 0x6d, 0xd2, 0xc8, 0x69, 0x3a, 0x91, 0x23, 0x94, + 0x9a, 0x37, 0xf2, 0x90, 0x0d, 0xe0, 0xb5, 0x1e, 0xdb, 0xc4, 0x5e, 0x1a, 0x80, 0xbe, 0xcd, 0xf0, + 0xd0, 0x3a, 0x29, 0xc1, 0xdc, 0x8a, 0xff, 0xdc, 0xcb, 0x64, 0xcc, 0x77, 0x4c, 0xc6, 0x54, 0xe4, + 0x39, 0x5e, 0x1a, 0x3e, 0xc1, 0x9a, 0x77, 0xa1, 0x7f, 0xc7, 0xf5, 0x0e, 0x13, 0xfb, 0x78, 0x06, + 0x1e, 0x83, 0xc2, 0x11, 0xba, 0xde, 0x21, 0xd9, 0x90, 0x0a, 0x94, 0x70, 0x14, 0xf5, 0x19, 0x5a, + 0x5b, 0x06, 0xb6, 0x0e, 0x1d, 0x2b, 0x4a, 0xfc, 0xb7, 0x1c, 0xe0, 0xdb, 0x30, 0x9b, 0xd3, 0xae, + 0xb8, 0xfe, 0xca, 0xc6, 0xd6, 0x8f, 0xbb, 0xd2, 0x5b, 0x30, 0x93, 0x39, 0x05, 0x29, 0xc0, 0x7f, + 0x9a, 0xb5, 0x96, 0xf8, 0xc8, 0xe7, 0x60, 0x48, 0x26, 0x1b, 0xe1, 0x86, 0xbb, 0xfc, 0x89, 0x17, + 0x40, 0xd0, 0xdc, 0x8e, 0xdf, 0xa6, 0x95, 0xbf, 0xc9, 0xbe, 0xf6, 0x50, 0x4c, 0x1f, 0x7a, 0x9a, + 0x3e, 0xfa, 0x1a, 0x09, 0x6f, 0x15, 0x2d, 0xd6, 0xe6, 0x9a, 0x1f, 0x46, 0x9e, 0x8a, 0x4f, 0xb4, + 0xd5, 0x6f, 0x72, 0x13, 0xca, 0xf2, 0x35, 0x74, 0x91, 0x76, 0x41, 0x64, 0x32, 0xb5, 0x53, 0xe5, + 0xe4, 0x03, 0x98, 0x4d, 0x96, 0xc9, 0x51, 0xf2, 0x1b, 0x3c, 0x79, 0xd5, 0xd6, 0x9f, 0xf6, 0xe2, + 0x6b, 0xba, 0x05, 0x4b, 0x93, 0x71, 0x77, 0xbb, 0x26, 0xb8, 0xd5, 0xbb, 0x5d, 0x23, 0x0b, 0x30, + 0xb2, 0x5d, 0x33, 0x32, 0xb6, 0xd8, 0x71, 0x01, 0xeb, 0x36, 0x1b, 0x42, 0x35, 0x68, 0x1c, 0xb9, + 0x11, 0x6d, 0x44, 0x9d, 0x40, 0x3c, 0xf3, 0x63, 0xa7, 0xca, 0x89, 0x05, 0x63, 0x0f, 0x5a, 0xee, + 0x41, 0x43, 0x12, 0xe3, 0x2c, 0x30, 0xca, 0xc8, 0x9b, 0x30, 0xb1, 0xee, 0x85, 0x91, 0xd3, 0x6a, + 0x6d, 0xd2, 0xe8, 0xc8, 0x6f, 0x8a, 0x74, 0x72, 0x76, 0xa2, 0x94, 0xb5, 0xbb, 0xec, 0x7b, 0x91, + 0xe3, 0x7a, 0x34, 0xb0, 0x3b, 0x5e, 0xe4, 0x1e, 0x53, 0x31, 0xf6, 0x54, 0x39, 0x79, 0x17, 0x66, + 0x54, 0xd9, 0x76, 0xd0, 0x38, 0xa2, 0x61, 0x14, 0x60, 0x1e, 0x27, 0x7c, 0xd0, 0xc4, 0xce, 0xae, + 0xc4, 0x16, 0x5a, 0x7e, 0xa7, 0xb9, 0xea, 0x3d, 0x73, 0x03, 0xdf, 0xc3, 0xa7, 0xdd, 0x87, 0x45, + 0x0b, 0x89, 0x72, 0x6b, 0x27, 0xf3, 0xab, 0xfd, 0x1a, 0x4b, 0xd0, 0x3a, 0x2d, 0xc1, 0x42, 0xe6, + 0x87, 0x25, 0x85, 0xb7, 0x8e, 0x5c, 0x4a, 0xac, 0xdf, 0x9b, 0xd0, 0x8f, 0xd2, 0x9c, 0x3b, 0x06, + 0x64, 0x04, 0x0f, 0xe2, 0x73, 0x52, 0xac, 0xd6, 0x46, 0x18, 0xf2, 0x40, 0x39, 0x82, 0xfb, 0x50, + 0x6d, 0xbd, 0x9d, 0x94, 0x99, 0x19, 0x8d, 0xeb, 0x0e, 0x61, 0xe9, 0xfa, 0xfd, 0x3a, 0x3e, 0xb7, + 0x3f, 0x2d, 0x41, 0xa5, 0x8b, 0x3c, 0x51, 0x63, 0x2a, 0x9d, 0x61, 0x4c, 0x0f, 0xd5, 0x98, 0xf8, + 0x5d, 0xa1, 0xc5, 0xb3, 0xc9, 0xac, 0x57, 0x3d, 0xac, 0x65, 0x20, 0xe9, 0x9d, 0x87, 0x7c, 0x1b, + 0x46, 0x6a, 0xb5, 0x35, 0x23, 0x4c, 0x22, 0xe5, 0x09, 0x8c, 0x21, 0xac, 0xf7, 0xe1, 0xa2, 0x22, + 0xc2, 0x9f, 0xf3, 0xd6, 0x2e, 0x24, 0x8a, 0xbd, 0x5e, 0x5d, 0x7c, 0x8c, 0x0b, 0xac, 0x3f, 0xe9, + 0x4f, 0x21, 0xd6, 0x3a, 0xc7, 0xc7, 0x4e, 0xf0, 0x82, 0x54, 0x4d, 0xc4, 0xbe, 0xae, 0x9b, 0xec, + 0x52, 0xff, 0xcf, 0x4f, 0x2a, 0x3d, 0x1a, 0x75, 0xf2, 0x3a, 0x8c, 0xe3, 0x07, 0xe9, 0x35, 0x28, + 0xf7, 0x03, 0xf6, 0xf2, 0x47, 0x17, 0x8c, 0x42, 0xb2, 0x0f, 0xe3, 0x62, 0xad, 0xe3, 0x6f, 0xb9, + 0xc4, 0xee, 0x24, 0x97, 0x98, 0xd1, 0xbd, 0x5b, 0x06, 0x0a, 0x9f, 0x0c, 0x93, 0x0c, 0xf9, 0x02, + 0x26, 0xa4, 0x60, 0x13, 0x84, 0xf9, 0x61, 0xeb, 0xdd, 0x62, 0xc2, 0x26, 0x0e, 0xa7, 0x9c, 0x20, + 0xc4, 0xba, 0x2c, 0xc4, 0xb5, 0xa0, 0x3c, 0x70, 0x96, 0x2e, 0x1b, 0x28, 0xa2, 0xcb, 0x46, 0xd9, + 0xfc, 0xf7, 0x81, 0xa4, 0xc7, 0xd5, 0x6d, 0x35, 0x8d, 0x6b, 0xab, 0x69, 0xbe, 0x0a, 0x53, 0x19, + 0x03, 0x38, 0x17, 0x89, 0xef, 0x03, 0x49, 0xf7, 0xf4, 0x3c, 0x14, 0xac, 0x1b, 0xf0, 0xa6, 0x62, + 0x81, 0x5a, 0x0d, 0x06, 0x4d, 0x69, 0xed, 0xff, 0x76, 0x2f, 0x54, 0xba, 0x80, 0x92, 0xbf, 0x5f, + 0x4a, 0x72, 0x9b, 0xaf, 0xc6, 0x0f, 0x93, 0xdc, 0xce, 0xc6, 0xcf, 0x60, 0xfb, 0xd2, 0x47, 0x3f, + 0xfb, 0xf3, 0x97, 0xde, 0xa8, 0xd3, 0x53, 0x76, 0x7e, 0x6e, 0xf5, 0xeb, 0xdc, 0xb2, 0x61, 0xda, + 0x50, 0x71, 0xce, 0x22, 0xbb, 0xaf, 0x02, 0x88, 0xcc, 0x56, 0x1b, 0xfe, 0xa1, 0xb8, 0xce, 0xa9, + 0x95, 0x58, 0xf7, 0x61, 0x26, 0x41, 0x53, 0x78, 0x20, 0xbe, 0x0d, 0xea, 0xe2, 0x19, 0x12, 0xed, + 0x5b, 0xba, 0xf0, 0xcb, 0x93, 0xca, 0x38, 0xdb, 0x01, 0x6f, 0xc5, 0xef, 0xda, 0xca, 0xbf, 0xac, + 0x4d, 0xdd, 0x87, 0x52, 0x6d, 0xe9, 0x17, 0xf2, 0xc9, 0x5d, 0x18, 0xe4, 0x25, 0x89, 0xd7, 0x23, + 0x75, 0x68, 0x21, 0x13, 0x04, 0xa0, 0x35, 0x83, 0x97, 0x6d, 0xf0, 0x47, 0x35, 0xbe, 0xd6, 0x69, + 0xed, 0xf1, 0xf7, 0xcc, 0xe3, 0x62, 0xf5, 0x42, 0x65, 0x7f, 0x35, 0xbe, 0x7e, 0x2a, 0x0f, 0xbc, + 0x24, 0x9c, 0xe7, 0x3f, 0x6f, 0xd1, 0x26, 0x4f, 0x84, 0xb2, 0x34, 0x26, 0x0e, 0xbc, 0xfa, 0x1d, + 0x46, 0x00, 0xd1, 0xac, 0x4f, 0x61, 0x66, 0xb9, 0x45, 0x9d, 0x20, 0xd9, 0x1e, 0x79, 0x13, 0x86, + 0xb0, 0xcc, 0x0c, 0xd7, 0x73, 0x58, 0x11, 0x86, 0xeb, 0x89, 0x4a, 0x6b, 0x03, 0x2e, 0x71, 0x0b, + 0x4c, 0x1f, 0x52, 0xec, 0xef, 0x18, 0xc0, 0xdf, 0x89, 0xab, 0x1a, 0x19, 0xa3, 0xe7, 0x70, 0xd6, + 0x27, 0x18, 0x0b, 0x9c, 0x95, 0xc4, 0xfa, 0x6c, 0x97, 0x87, 0xfe, 0x32, 0x2c, 0x54, 0xdb, 0x6d, + 0xea, 0x35, 0x63, 0xc4, 0xdd, 0xc0, 0x39, 0xe3, 0xa5, 0x4c, 0x52, 0x85, 0x01, 0x84, 0x56, 0xce, + 0x62, 0xd1, 0xdd, 0x8c, 0xee, 0x20, 0x9c, 0x78, 0x4e, 0x0c, 0x1b, 0xe0, 0x98, 0x56, 0x13, 0x66, + 0x6b, 0x9d, 0x83, 0x63, 0x97, 0x67, 0x76, 0xc6, 0x8b, 0xcd, 0xb2, 0xed, 0x75, 0x99, 0x82, 0x82, + 0x33, 0xe3, 0x46, 0x1c, 0x33, 0x8a, 0x71, 0x82, 0xe2, 0xb2, 0xf3, 0xb3, 0xbb, 0xb7, 0x62, 0x54, + 0xb4, 0x56, 0x78, 0x2b, 0x58, 0x2d, 0xd2, 0x54, 0x58, 0x53, 0x70, 0x41, 0x77, 0xbc, 0xf1, 0x15, + 0x32, 0x03, 0x53, 0xa6, 0x43, 0x8d, 0x17, 0x7f, 0x09, 0xd3, 0xdc, 0xe0, 0xe7, 0xcf, 0x81, 0x2e, + 0xc6, 0x2f, 0x5f, 0xf6, 0xee, 0x2f, 0x26, 0xa2, 0x0b, 0x31, 0xe8, 0x48, 0x3d, 0xf4, 0xbc, 0xbf, + 0xc8, 0xef, 0x73, 0x3c, 0x5b, 0x34, 0xdc, 0xb6, 0xbd, 0xfb, 0x8b, 0x4b, 0x43, 0xe2, 0x59, 0x35, + 0x46, 0x9d, 0x4f, 0xff, 0x37, 0x42, 0x7d, 0x11, 0xaf, 0x10, 0xae, 0x51, 0x07, 0xc3, 0x7d, 0xb3, + 0x2f, 0x62, 0x4d, 0x40, 0xaf, 0xdb, 0x94, 0x5a, 0xb6, 0xdb, 0xb4, 0xfe, 0xa8, 0x04, 0x37, 0xb8, + 0x2e, 0x92, 0x8d, 0x87, 0xde, 0xb5, 0x1c, 0x64, 0xf2, 0x01, 0xf0, 0x64, 0xa5, 0x42, 0xe1, 0xb3, + 0x44, 0xcf, 0x8b, 0x28, 0x71, 0x04, 0x52, 0x85, 0x31, 0x3d, 0x60, 0xf6, 0x6c, 0xcf, 0xd6, 0xd8, + 0xa3, 0xc7, 0x4f, 0x1c, 0x15, 0x44, 0xfb, 0x14, 0x2e, 0xaf, 0x7e, 0xc5, 0x16, 0x84, 0xd8, 0x9d, + 0xc4, 0xa9, 0x73, 0x7c, 0xd1, 0x67, 0x72, 0x57, 0xac, 0x18, 0x53, 0x0d, 0x4e, 0x16, 0x33, 0xf3, + 0x40, 0x6e, 0x70, 0x4a, 0x7b, 0x1d, 0xb1, 0x8d, 0x32, 0xeb, 0x4f, 0x4a, 0xb0, 0x90, 0xdd, 0x9a, + 0x10, 0x2c, 0xeb, 0x70, 0x61, 0xd9, 0xf1, 0x7c, 0xcf, 0x6d, 0x38, 0xad, 0x5a, 0xe3, 0x88, 0x36, + 0x3b, 0xea, 0xf1, 0x35, 0x25, 0x65, 0x98, 0xb9, 0x23, 0xd0, 0x25, 0x88, 0x9d, 0xc6, 0x22, 0xef, + 0xc3, 0x45, 0x8c, 0xb9, 0xe4, 0xb2, 0xb7, 0x45, 0x03, 0x45, 0x8f, 0xf7, 0x2c, 0xa7, 0x96, 0xdc, + 0x81, 0x29, 0xbe, 0xa9, 0x34, 0xf7, 0x3c, 0x37, 0x52, 0x48, 0xdc, 0x2a, 0xca, 0xaa, 0xb2, 0xfe, + 0x7d, 0x09, 0x2e, 0x61, 0xc6, 0x03, 0x23, 0x87, 0x52, 0xfc, 0x06, 0xa1, 0x7c, 0x46, 0xaf, 0x64, + 0xc4, 0x90, 0x1a, 0xd0, 0xe6, 0x7b, 0x7a, 0xe4, 0x1d, 0xe8, 0xaf, 0xc9, 0x93, 0xe9, 0x89, 0x44, + 0xf6, 0x35, 0x99, 0xe9, 0xd6, 0x0f, 0x22, 0x1b, 0xa1, 0xd8, 0x9e, 0xb3, 0x42, 0xc3, 0x06, 0xf5, + 0x30, 0x4d, 0x5e, 0x1f, 0xdf, 0x73, 0xe2, 0x92, 0xf8, 0x09, 0x85, 0xfe, 0xbc, 0x27, 0x14, 0x06, + 0xcc, 0x27, 0x14, 0xac, 0x67, 0x3c, 0xdf, 0x41, 0x72, 0x40, 0x62, 0x92, 0x3e, 0x49, 0x65, 0xd5, + 0xe3, 0xfb, 0xc0, 0xc5, 0xac, 0x91, 0xed, 0xdf, 0x4b, 0x25, 0xcc, 0xcb, 0x7f, 0xf3, 0x6f, 0x07, + 0x5e, 0x37, 0x60, 0xab, 0xad, 0x96, 0xff, 0x9c, 0x36, 0x77, 0x02, 0xff, 0xd8, 0x8f, 0x8c, 0xd7, + 0xe6, 0x45, 0x5a, 0xc9, 0xd8, 0x77, 0x25, 0x56, 0x65, 0xa2, 0xd8, 0xfa, 0x4b, 0xf0, 0x46, 0x17, + 0x8a, 0x62, 0x50, 0x35, 0xb8, 0xe0, 0x24, 0xea, 0xe4, 0x11, 0xe3, 0x1b, 0x59, 0xe3, 0x4a, 0x12, + 0x0a, 0xed, 0x34, 0xfe, 0xcd, 0x5d, 0x23, 0x13, 0x1d, 0x99, 0x83, 0xe9, 0x1d, 0x7b, 0x7b, 0x65, + 0x6f, 0x79, 0xb7, 0xbe, 0xfb, 0xc5, 0xce, 0x6a, 0x7d, 0x6f, 0xeb, 0xd1, 0xd6, 0xf6, 0xe3, 0x2d, + 0xfe, 0x68, 0xa6, 0x51, 0xb3, 0xbb, 0x5a, 0xdd, 0x2c, 0x97, 0xc8, 0x34, 0x94, 0x8d, 0xe2, 0xd5, + 0xbd, 0xa5, 0x72, 0xef, 0xcd, 0x2f, 0x8d, 0x0c, 0x6b, 0x64, 0x01, 0xe6, 0x6a, 0x7b, 0x3b, 0x3b, + 0xdb, 0xb6, 0xa2, 0xaa, 0x3f, 0xd9, 0x39, 0x03, 0x17, 0x8c, 0xda, 0xfb, 0xf6, 0xea, 0x2a, 0xcf, + 0xb9, 0x6f, 0x14, 0xef, 0xd8, 0xab, 0x9b, 0xeb, 0x7b, 0x9b, 0xe5, 0xde, 0x9b, 0x75, 0x3d, 0x70, + 0x9d, 0x5c, 0x86, 0xd9, 0x95, 0xd5, 0xfd, 0xf5, 0xe5, 0xd5, 0x2c, 0xda, 0xd3, 0x50, 0xd6, 0x2b, + 0x77, 0xb7, 0x77, 0x77, 0x38, 0x69, 0xbd, 0xf4, 0xf1, 0xea, 0x52, 0x75, 0x6f, 0x77, 0x6d, 0xab, + 0xdc, 0x67, 0xf5, 0x0f, 0xf7, 0x96, 0x7b, 0x6f, 0xfe, 0xd8, 0x88, 0x6a, 0x67, 0xdd, 0x17, 0xe0, + 0x7b, 0xb5, 0xea, 0x83, 0xfc, 0x26, 0x78, 0xed, 0xe6, 0xfd, 0x6a, 0xb9, 0x44, 0xae, 0xc0, 0x25, + 0xa3, 0x74, 0xa7, 0x5a, 0xab, 0x3d, 0xde, 0xb6, 0x57, 0x36, 0x56, 0x6b, 0xb5, 0x72, 0xef, 0xcd, + 0x7d, 0xe3, 0xd9, 0x18, 0xd6, 0xc2, 0xe6, 0xfd, 0x6a, 0xdd, 0x5e, 0xfd, 0x6c, 0x6f, 0xdd, 0x5e, + 0x5d, 0x49, 0xb7, 0x60, 0xd4, 0x7e, 0xb1, 0x5a, 0x2b, 0x97, 0xc8, 0x14, 0x4c, 0x1a, 0xa5, 0x5b, + 0xdb, 0xe5, 0xde, 0x9b, 0x6f, 0x8a, 0x97, 0x45, 0xc8, 0x04, 0xc0, 0xca, 0x6a, 0x6d, 0x79, 0x75, + 0x6b, 0x65, 0x7d, 0xeb, 0x41, 0xb9, 0x87, 0x8c, 0xc3, 0x48, 0x55, 0xfd, 0x2c, 0xdd, 0xfc, 0x08, + 0x26, 0x13, 0x96, 0x2d, 0x83, 0x50, 0x46, 0x61, 0xb9, 0x07, 0xd9, 0x2f, 0x7f, 0xa2, 0x3b, 0x82, + 0x1b, 0xa9, 0xe5, 0xd2, 0xcd, 0x25, 0x99, 0x14, 0x4d, 0xfb, 0xce, 0xc9, 0x28, 0x0c, 0xad, 0xac, + 0xde, 0xaf, 0xee, 0x6d, 0xec, 0x96, 0x7b, 0xd8, 0x8f, 0x65, 0x7b, 0xb5, 0xba, 0xbb, 0xba, 0x52, + 0x2e, 0x91, 0x11, 0x18, 0xa8, 0xed, 0x56, 0x77, 0x57, 0xcb, 0xbd, 0x64, 0x18, 0xfa, 0xf7, 0x6a, + 0xab, 0x76, 0xb9, 0x6f, 0xf1, 0xb7, 0xff, 0x5e, 0x09, 0x46, 0x99, 0xe8, 0x97, 0x11, 0xd2, 0x5f, + 0x6a, 0xc6, 0xa4, 0x10, 0x79, 0x22, 0x03, 0x54, 0xae, 0xe5, 0x88, 0x5a, 0xc0, 0x7c, 0x81, 0x93, + 0x12, 0x01, 0x6e, 0x94, 0xee, 0x94, 0x88, 0x8d, 0x27, 0x72, 0x09, 0xdb, 0x4a, 0x51, 0xce, 0x36, + 0x7f, 0xe7, 0xaf, 0x14, 0x9a, 0x64, 0xe4, 0x37, 0xc0, 0xd2, 0x69, 0xe6, 0x58, 0x20, 0xdf, 0x3e, + 0x9b, 0xa5, 0x21, 0xdb, 0x7c, 0xf3, 0x6c, 0xe0, 0xe4, 0x21, 0x8c, 0x33, 0xdd, 0x5c, 0x81, 0x91, + 0xcb, 0x49, 0x44, 0xcd, 0x1c, 0x98, 0x5f, 0xc8, 0xae, 0x54, 0x4f, 0xc4, 0x8f, 0xe1, 0x40, 0xb8, + 0x61, 0x1d, 0x12, 0x79, 0x87, 0x55, 0x96, 0x70, 0x89, 0x3f, 0x7f, 0x21, 0x51, 0xbc, 0x7f, 0xf7, + 0x4e, 0x89, 0xd4, 0xf0, 0xe9, 0x17, 0x43, 0xc9, 0x27, 0x32, 0x64, 0x3f, 0xad, 0xfd, 0xf3, 0xde, + 0x54, 0x54, 0x4a, 0xa5, 0x1c, 0xeb, 0x60, 0x0b, 0x48, 0x5a, 0x77, 0x26, 0xd7, 0xe2, 0x75, 0x90, + 0xad, 0x56, 0xcf, 0x5f, 0x4c, 0x05, 0x5a, 0xac, 0x32, 0xed, 0x89, 0xac, 0xc2, 0x84, 0xb8, 0xa0, + 0x26, 0xb4, 0x79, 0x52, 0x64, 0x0f, 0xe4, 0x92, 0x79, 0x80, 0x7c, 0x52, 0x16, 0x01, 0x99, 0x8f, + 0xc7, 0x91, 0x34, 0x13, 0xe6, 0x2f, 0x67, 0xd6, 0x89, 0xf1, 0xdd, 0x87, 0x09, 0xd3, 0xb8, 0x20, + 0x72, 0x82, 0x32, 0x6d, 0x8e, 0xdc, 0x0e, 0xd5, 0x61, 0x76, 0xd3, 0x71, 0xd1, 0xb5, 0x28, 0x8e, + 0xf3, 0xe5, 0x61, 0x3c, 0xa9, 0x14, 0x9c, 0xce, 0xd7, 0xa8, 0xd7, 0x54, 0x93, 0x90, 0xf7, 0xdc, + 0x2b, 0x7e, 0x36, 0x35, 0xa9, 0x23, 0x9b, 0xc1, 0x0c, 0xc4, 0x32, 0xd3, 0xe4, 0x65, 0xc5, 0xa7, + 0xcc, 0xe7, 0x85, 0x54, 0x91, 0x4d, 0x54, 0xd2, 0x13, 0x14, 0xb5, 0x35, 0x71, 0x6e, 0x72, 0x73, + 0x78, 0x4d, 0x52, 0xcb, 0x9d, 0x29, 0x2a, 0x43, 0x92, 0xc3, 0xb8, 0x5c, 0x62, 0x77, 0x4a, 0xe4, + 0x4b, 0xfc, 0xaa, 0x33, 0xc9, 0x3d, 0x76, 0xa3, 0x23, 0xa1, 0xfd, 0x5c, 0xce, 0x24, 0x20, 0x3e, + 0x94, 0x02, 0xea, 0x36, 0x4c, 0x67, 0x45, 0x71, 0x29, 0x86, 0x16, 0x84, 0x78, 0xe5, 0xae, 0x02, + 0x9b, 0x99, 0x1a, 0xcd, 0xfc, 0x49, 0x2a, 0x08, 0x22, 0xca, 0xa5, 0xf9, 0x5d, 0x98, 0x60, 0xab, + 0xe4, 0x11, 0xa5, 0xed, 0x6a, 0xcb, 0x7d, 0x46, 0x43, 0x22, 0xdf, 0xed, 0x53, 0x45, 0x79, 0xb8, + 0x37, 0x4a, 0xe4, 0x5b, 0x30, 0xfa, 0xd8, 0x89, 0x1a, 0x47, 0xe2, 0xfd, 0x2a, 0xf9, 0xbc, 0x15, + 0x96, 0xcd, 0xcb, 0x5f, 0x58, 0x79, 0xa7, 0x44, 0xbe, 0x07, 0x43, 0x0f, 0x68, 0x84, 0x57, 0xa6, + 0xae, 0xab, 0x80, 0x06, 0x1e, 0x3c, 0xb8, 0xee, 0xa9, 0x70, 0x65, 0xd9, 0xe1, 0xa4, 0x23, 0x93, + 0xdc, 0x06, 0xe0, 0x02, 0x01, 0x29, 0x24, 0xab, 0xe7, 0x53, 0xdd, 0x26, 0x0f, 0x98, 0xf2, 0xd0, + 0xa2, 0x11, 0x3d, 0x6b, 0x93, 0x79, 0x3c, 0xda, 0x80, 0x09, 0xf5, 0xaa, 0xfe, 0x16, 0x5e, 0x56, + 0xb6, 0x12, 0xc4, 0xc2, 0x73, 0x50, 0xfb, 0x88, 0x7d, 0x15, 0x3c, 0xa9, 0x1b, 0xde, 0x6a, 0x45, + 0x49, 0x3a, 0xab, 0x5f, 0x8d, 0xd5, 0x45, 0xa8, 0x64, 0x22, 0x07, 0xd3, 0x70, 0xd7, 0xfc, 0x30, + 0x32, 0x71, 0x55, 0x49, 0x36, 0xee, 0xaf, 0xc3, 0xbc, 0xde, 0xae, 0xf9, 0x80, 0x62, 0x2c, 0x73, + 0xf3, 0xde, 0x65, 0x9c, 0xbf, 0x5e, 0x00, 0x21, 0xec, 0xb7, 0xbe, 0xbf, 0xde, 0x5b, 0x42, 0x71, + 0xb2, 0x02, 0x53, 0xb2, 0xad, 0xed, 0x36, 0xf5, 0x6a, 0xb5, 0x35, 0x7c, 0x41, 0x5d, 0x1e, 0xa2, + 0x6a, 0x65, 0x92, 0x3a, 0x49, 0x57, 0xb1, 0xad, 0xcf, 0xb8, 0xbd, 0x4a, 0x8a, 0xee, 0xb4, 0xc6, + 0x5b, 0x5f, 0xe6, 0xcb, 0x7e, 0x8f, 0xb8, 0x53, 0xc9, 0x50, 0xfe, 0xf7, 0x17, 0x49, 0x81, 0x01, + 0x34, 0x9f, 0x63, 0x42, 0xdc, 0x29, 0x91, 0x2f, 0x80, 0xa4, 0x4d, 0x12, 0xc5, 0xc2, 0x5c, 0xf3, + 0x4b, 0xb1, 0xb0, 0xc0, 0x9e, 0x59, 0x85, 0x29, 0x75, 0x77, 0x3d, 0xae, 0x27, 0x39, 0x7d, 0x29, + 0xd8, 0xc1, 0x66, 0x32, 0xc8, 0xec, 0x2f, 0x16, 0x10, 0xca, 0x2c, 0x27, 0x9f, 0xc2, 0x94, 0x58, + 0xfb, 0x46, 0x7f, 0xca, 0x4a, 0x8c, 0x09, 0xe3, 0x26, 0xb7, 0x27, 0x0f, 0x61, 0xa6, 0x96, 0x60, + 0x3c, 0x0f, 0x1e, 0xbc, 0x64, 0x92, 0xc0, 0xc2, 0x1a, 0x8d, 0x38, 0xe7, 0xb3, 0x69, 0x3d, 0x02, + 0xc2, 0x7d, 0x4b, 0x92, 0xdc, 0x33, 0x97, 0x3e, 0x27, 0x57, 0x12, 0x5d, 0x67, 0x85, 0x08, 0x86, + 0x72, 0x30, 0x77, 0x64, 0xbb, 0x3c, 0xb3, 0x21, 0x96, 0x2e, 0x3b, 0x6d, 0xe7, 0xc0, 0x6d, 0xb9, + 0x91, 0x4b, 0xd9, 0x3c, 0xea, 0x08, 0x7a, 0x95, 0x9c, 0xc7, 0x4b, 0xb9, 0x10, 0xe4, 0xb7, 0xf0, + 0xd5, 0xb8, 0x62, 0xeb, 0x8c, 0x7c, 0x2b, 0xcb, 0x88, 0xce, 0xb1, 0x2f, 0xe7, 0xdf, 0x39, 0x1b, + 0xb0, 0xb2, 0x87, 0xc7, 0x1f, 0xd0, 0x88, 0xa7, 0xec, 0x5f, 0x71, 0x22, 0x87, 0x28, 0xdf, 0x93, + 0x2a, 0x12, 0xcb, 0x5b, 0xe5, 0x0d, 0x57, 0x15, 0x35, 0xfa, 0x13, 0xb2, 0x0e, 0x65, 0xbe, 0x8d, + 0x68, 0x24, 0xae, 0xa4, 0x48, 0x08, 0x10, 0x27, 0x70, 0x8e, 0xc3, 0xdc, 0xd9, 0xba, 0xcd, 0x43, + 0x05, 0x88, 0xca, 0x76, 0xae, 0xe9, 0xa9, 0x53, 0x46, 0x99, 0x7a, 0x49, 0x97, 0xcd, 0x88, 0x4d, + 0x43, 0x1a, 0xc9, 0x4b, 0xee, 0x3c, 0xdf, 0xda, 0x6b, 0xb1, 0xce, 0x90, 0xae, 0x8d, 0x25, 0x48, + 0xe2, 0x41, 0x96, 0xfd, 0x7b, 0x44, 0xe5, 0xa0, 0xcb, 0x20, 0xfa, 0xa6, 0xa1, 0xda, 0x9c, 0x8f, + 0xee, 0xbb, 0xb8, 0x95, 0xe1, 0xc5, 0xfe, 0x99, 0xb8, 0x6f, 0x5a, 0xf2, 0xe3, 0xf9, 0x71, 0x0d, + 0x6b, 0x7f, 0x11, 0x25, 0x23, 0xdb, 0x6b, 0x99, 0x26, 0xdc, 0x09, 0x02, 0xea, 0x71, 0xe4, 0x3c, + 0xb5, 0x25, 0x0b, 0xfb, 0x13, 0x94, 0x60, 0x1a, 0x36, 0xbf, 0xe3, 0xd0, 0x8d, 0x04, 0xcf, 0x0f, + 0x70, 0xa7, 0x44, 0x3e, 0x80, 0x61, 0xd1, 0x47, 0x86, 0x64, 0x74, 0x3a, 0x2c, 0xe8, 0x35, 0x62, + 0x02, 0x67, 0x12, 0xf6, 0xd9, 0x84, 0xc9, 0x9b, 0x7d, 0xde, 0xe7, 0x0f, 0xd8, 0x9e, 0xdd, 0x7c, + 0x19, 0xcc, 0x65, 0xb9, 0x79, 0x23, 0xe6, 0x9c, 0xba, 0x67, 0x9e, 0x48, 0x32, 0x5d, 0x4c, 0x84, + 0xa9, 0xdf, 0xf8, 0xa2, 0x92, 0x7a, 0x18, 0x45, 0xa9, 0xdf, 0x46, 0x71, 0xb7, 0x2d, 0x7b, 0x1d, + 0xca, 0xd5, 0x06, 0x6e, 0x28, 0x2a, 0xdd, 0xb4, 0xb2, 0x7d, 0x92, 0x15, 0x92, 0xd6, 0x4c, 0x32, + 0x7b, 0xf5, 0x06, 0x75, 0xf0, 0xc1, 0xc8, 0x59, 0xa5, 0xa1, 0x24, 0xaa, 0xb2, 0x31, 0x0a, 0x6c, + 0x9d, 0xe9, 0x65, 0x66, 0x9d, 0xb5, 0xbe, 0x1e, 0x99, 0x8f, 0x50, 0x60, 0x68, 0xa9, 0xb8, 0x2f, + 0x26, 0xf1, 0x95, 0x55, 0x28, 0xc3, 0x9d, 0x15, 0x68, 0x15, 0x26, 0xc5, 0xf3, 0x74, 0x8a, 0x2d, + 0x79, 0xd8, 0x79, 0xcd, 0x7f, 0x07, 0x26, 0x56, 0x99, 0x40, 0xef, 0x34, 0x5d, 0xfe, 0x48, 0x2e, + 0x31, 0x5f, 0x3d, 0xcd, 0x45, 0x5c, 0x93, 0x29, 0x39, 0xb4, 0x1c, 0xd5, 0x6a, 0x4f, 0x49, 0xa7, + 0x01, 0x9f, 0x9f, 0x96, 0x64, 0xf5, 0x74, 0xd6, 0xc2, 0x65, 0x30, 0x9b, 0x93, 0x15, 0x9a, 0xbc, + 0x61, 0x58, 0xa2, 0x79, 0xa9, 0x9d, 0x33, 0x74, 0xcf, 0xcf, 0xb5, 0x14, 0x79, 0x39, 0x34, 0x8b, + 0xd3, 0x45, 0xe7, 0x8e, 0x5b, 0x3d, 0x6b, 0x99, 0x99, 0xd6, 0x99, 0xbc, 0x6d, 0x52, 0x2f, 0x48, + 0xfd, 0x9c, 0xdb, 0x02, 0x5a, 0xfa, 0x66, 0xd6, 0x61, 0x72, 0xb5, 0x38, 0x39, 0xb2, 0x66, 0xe9, + 0xe7, 0xa4, 0x2b, 0x7e, 0x88, 0xcb, 0x2c, 0xce, 0xa3, 0x47, 0x74, 0xbb, 0x39, 0x99, 0x46, 0x50, + 0xe9, 0x72, 0xd9, 0xa9, 0x87, 0x77, 0x60, 0x32, 0x91, 0xd4, 0x57, 0x39, 0x78, 0xb2, 0xd3, 0x0a, + 0xcf, 0x5f, 0xcd, 0xab, 0x56, 0x0e, 0xd7, 0x72, 0x32, 0x57, 0xa9, 0x1a, 0x72, 0x4e, 0x16, 0x5a, + 0x35, 0xe4, 0xdc, 0x24, 0xa7, 0x0f, 0xa1, 0x9c, 0x4c, 0x93, 0xa8, 0x88, 0xe6, 0xe4, 0x4f, 0xcc, + 0x9d, 0x93, 0xfb, 0x30, 0xad, 0xcf, 0xa8, 0x1a, 0x77, 0x9e, 0xf4, 0xcf, 0xa3, 0xb3, 0x0b, 0x33, + 0x99, 0x59, 0x0d, 0xd5, 0x16, 0x5b, 0x94, 0xf3, 0x30, 0x97, 0x2a, 0x85, 0x8b, 0xd9, 0x89, 0x4d, + 0xc9, 0xeb, 0xa6, 0xff, 0x20, 0x3b, 0xcd, 0xe3, 0xfc, 0x1b, 0x5d, 0xa0, 0x04, 0x43, 0xbf, 0xc4, + 0x1d, 0x30, 0xd5, 0xc6, 0x75, 0xcd, 0xa3, 0x90, 0xd3, 0x80, 0x55, 0x04, 0xa2, 0xd6, 0xc0, 0x74, + 0x56, 0xda, 0xe6, 0x5c, 0x16, 0xbf, 0x96, 0x4f, 0x33, 0x5e, 0x58, 0xfb, 0xf2, 0x0d, 0xc8, 0x5c, + 0xce, 0x14, 0x26, 0xc0, 0x2c, 0x30, 0x49, 0xe7, 0xd5, 0x7a, 0x38, 0x7b, 0x97, 0xf3, 0xdd, 0x4b, + 0xd3, 0x59, 0x69, 0x57, 0x93, 0xde, 0x9f, 0xac, 0xac, 0x9a, 0x8a, 0x0d, 0x85, 0x79, 0x5b, 0xf7, + 0xb9, 0x27, 0xc8, 0xa4, 0xae, 0x7b, 0x82, 0x32, 0x49, 0x5f, 0xcb, 0x07, 0x88, 0x57, 0x44, 0x46, + 0x76, 0x6a, 0xa2, 0xdb, 0x59, 0xd9, 0x09, 0x37, 0xd5, 0x8a, 0x28, 0x4a, 0x6e, 0x6d, 0xcb, 0x8f, + 0x2e, 0x87, 0x2d, 0x05, 0xc9, 0x46, 0x0b, 0xcc, 0xa1, 0xb9, 0x78, 0xe2, 0x12, 0xdd, 0x3e, 0xef, + 0xb4, 0x7d, 0x09, 0x97, 0x72, 0x13, 0x8b, 0x92, 0xb7, 0x52, 0x1f, 0x74, 0x0e, 0x27, 0xf2, 0x7b, + 0x3a, 0x6e, 0xe4, 0x04, 0x55, 0xae, 0xb0, 0x44, 0xfa, 0xd1, 0x94, 0xc4, 0xce, 0xc8, 0x4d, 0xfa, + 0x00, 0x35, 0x5f, 0x2d, 0xbf, 0x68, 0xee, 0x58, 0xaf, 0x64, 0xd1, 0x09, 0xd3, 0x32, 0x55, 0xeb, + 0x97, 0xd4, 0xc4, 0x92, 0x15, 0xe7, 0x91, 0xa9, 0x67, 0xe9, 0x5a, 0x1e, 0x9d, 0x15, 0x18, 0xd5, + 0x12, 0x93, 0x92, 0x4b, 0x06, 0x9b, 0x8c, 0x5d, 0x72, 0xde, 0x18, 0x9c, 0xb9, 0x41, 0x2e, 0xa3, + 0xcf, 0x59, 0xa5, 0x37, 0xcd, 0xed, 0xc5, 0xe5, 0x34, 0x0d, 0xc3, 0xdf, 0xac, 0xb8, 0xc0, 0x7b, + 0xb3, 0x90, 0x64, 0x8e, 0xd1, 0xa1, 0xfc, 0x21, 0x11, 0x9d, 0x35, 0x5d, 0xba, 0x94, 0xaf, 0xa1, + 0x4e, 0x89, 0xec, 0x67, 0xf8, 0x48, 0xbb, 0x7c, 0x71, 0xe8, 0xa2, 0x72, 0x9e, 0x69, 0xa5, 0x05, + 0xbe, 0x8c, 0x1d, 0x0c, 0xc9, 0xce, 0xc8, 0xd4, 0xaa, 0x64, 0x68, 0x61, 0x22, 0xd7, 0x0c, 0xed, + 0x4c, 0x49, 0xe5, 0x5c, 0x8a, 0x85, 0xa9, 0x5b, 0x73, 0x7b, 0xfa, 0x23, 0x4d, 0x2a, 0xa7, 0xf2, + 0xb1, 0x92, 0x1b, 0x49, 0xd5, 0x2c, 0x2f, 0x65, 0x6b, 0x81, 0xd4, 0x9f, 0xce, 0x4a, 0xe5, 0xaa, + 0x39, 0x80, 0x73, 0xf3, 0xbc, 0x66, 0x70, 0x41, 0x89, 0xb7, 0x1c, 0x6a, 0x05, 0x89, 0x5d, 0x73, + 0x7b, 0xf8, 0x03, 0x4d, 0xbc, 0x25, 0x12, 0xb0, 0x2a, 0x83, 0xbb, 0x4b, 0x86, 0xd6, 0x5c, 0xda, + 0x5b, 0x18, 0xc4, 0x9f, 0xce, 0x9e, 0xaa, 0x74, 0x97, 0xa2, 0xdc, 0xaa, 0x99, 0xfe, 0xe1, 0x99, + 0xf4, 0x10, 0x19, 0xbd, 0x8b, 0x09, 0xef, 0x6e, 0xb7, 0x8e, 0x29, 0x39, 0x9c, 0x91, 0x75, 0x35, + 0x21, 0x87, 0xf3, 0xf3, 0xb2, 0x16, 0x18, 0x3a, 0x93, 0x35, 0xf7, 0xd0, 0xd3, 0x92, 0xa6, 0x2a, + 0x33, 0x27, 0x9d, 0xc7, 0x55, 0x89, 0x98, 0xac, 0x1c, 0xab, 0xdb, 0x4c, 0xc3, 0xe1, 0xfa, 0xb9, + 0x9e, 0xfe, 0x92, 0xcc, 0xe7, 0x67, 0xfd, 0x54, 0xe2, 0x26, 0x33, 0x5f, 0xa6, 0x46, 0x50, 0xcf, + 0x3d, 0xa9, 0x08, 0x66, 0xa4, 0xc1, 0x54, 0x04, 0x33, 0x93, 0x55, 0xde, 0x46, 0xbf, 0x8a, 0xed, + 0xb7, 0xa8, 0xee, 0x57, 0xd1, 0x92, 0x19, 0x26, 0xdc, 0x1a, 0xe4, 0x63, 0x74, 0x6a, 0x14, 0x7b, + 0x42, 0x66, 0x4d, 0x4a, 0x7a, 0xec, 0xc8, 0x88, 0xca, 0x14, 0xa9, 0xbc, 0xe8, 0xc9, 0x64, 0x95, + 0xf3, 0x73, 0xe9, 0x0a, 0x95, 0x79, 0x1a, 0xe2, 0xac, 0x90, 0xca, 0x47, 0x91, 0x4a, 0x14, 0x99, + 0xec, 0xf3, 0x7b, 0xd2, 0x29, 0x62, 0xa0, 0xa5, 0xf2, 0x44, 0x26, 0xd1, 0xbe, 0x03, 0x63, 0x71, + 0x4e, 0xc8, 0xfd, 0x45, 0x0d, 0x31, 0x91, 0x28, 0x32, 0x89, 0xf8, 0x81, 0x3c, 0x38, 0xc1, 0xf6, + 0xcc, 0xca, 0x62, 0xff, 0xc9, 0x27, 0xd2, 0x09, 0x63, 0xf4, 0x34, 0x95, 0x61, 0xb2, 0x40, 0x72, + 0x8f, 0xe9, 0x89, 0xac, 0xd4, 0xba, 0xc8, 0x48, 0x45, 0xa7, 0xd6, 0x45, 0x56, 0x2a, 0xb9, 0xf8, + 0x60, 0xe1, 0x0b, 0xe9, 0x71, 0x88, 0x89, 0x5e, 0x31, 0xba, 0x95, 0xa2, 0x7b, 0x35, 0xaf, 0x3a, + 0x49, 0xba, 0x06, 0xe5, 0x64, 0xd6, 0x2d, 0x65, 0xae, 0xe5, 0xa4, 0x47, 0x53, 0x36, 0x60, 0x6e, + 0xba, 0xae, 0x1d, 0xe9, 0x3e, 0x37, 0xe9, 0x5e, 0xcf, 0xee, 0x94, 0x4e, 0xba, 0x58, 0x2d, 0x8b, + 0x13, 0x70, 0xe9, 0x86, 0x74, 0x2a, 0xc1, 0x97, 0xae, 0x96, 0x65, 0xe4, 0xec, 0x72, 0xe5, 0x1b, + 0x1a, 0xd9, 0x79, 0x40, 0xdf, 0x36, 0x2d, 0xdc, 0x82, 0x37, 0x5f, 0xbb, 0x1e, 0x32, 0x93, 0x5f, + 0x83, 0xd9, 0x9c, 0xe7, 0x31, 0xc9, 0x1b, 0x09, 0x47, 0x6c, 0xf6, 0xf3, 0x99, 0x6a, 0x81, 0x64, + 0x66, 0xc6, 0xdc, 0xc4, 0xe8, 0x04, 0xe3, 0xb6, 0x6c, 0xea, 0xc4, 0xef, 0xb1, 0x1b, 0x1d, 0xf1, + 0x04, 0x90, 0x9a, 0xcc, 0xcd, 0xbc, 0x66, 0x4b, 0x6a, 0x68, 0xaf, 0x18, 0xa5, 0x19, 0x87, 0x7e, + 0x19, 0x04, 0xe7, 0xb3, 0x09, 0x62, 0xce, 0xf0, 0x1d, 0x79, 0xb4, 0x93, 0xec, 0xa6, 0x3e, 0xfc, + 0xac, 0x0b, 0xc2, 0xb9, 0xdd, 0xdc, 0x91, 0x0a, 0x56, 0x36, 0xc5, 0xfc, 0x5b, 0xcd, 0xb9, 0x14, + 0x1f, 0x32, 0x8a, 0xa9, 0x8b, 0xca, 0x24, 0x07, 0xbc, 0x58, 0x7a, 0xd8, 0x72, 0xbf, 0x36, 0xb1, + 0x16, 0xb5, 0xfe, 0xe5, 0x5d, 0x89, 0xce, 0xed, 0xdf, 0xaa, 0xfc, 0x9e, 0xb2, 0xfb, 0x77, 0xd6, + 0x1d, 0x5b, 0x1d, 0x8f, 0x25, 0xee, 0xca, 0x1b, 0x03, 0xd5, 0xca, 0xe7, 0x73, 0xca, 0xc9, 0x16, + 0x86, 0x1b, 0x25, 0x4b, 0x35, 0xc3, 0x35, 0xfb, 0x32, 0x7e, 0x2e, 0x3d, 0xbe, 0x8e, 0x8d, 0xcb, + 0xcc, 0xe7, 0x59, 0xc7, 0x89, 0x5b, 0xd0, 0x62, 0x1d, 0x1b, 0xa5, 0xe7, 0x5b, 0xc7, 0x09, 0x82, + 0xe6, 0x3a, 0x4e, 0x76, 0x33, 0xe9, 0x08, 0xc8, 0x9d, 0xd5, 0x64, 0x37, 0xd5, 0x3a, 0xce, 0xa6, + 0x98, 0x7f, 0xe9, 0x3c, 0x97, 0xa2, 0x5a, 0xc7, 0x26, 0xc5, 0x1c, 0xf0, 0x33, 0xae, 0xe3, 0x64, + 0x23, 0xe6, 0x3a, 0x3e, 0x57, 0xff, 0xd4, 0x3a, 0xce, 0xee, 0xdf, 0xb9, 0xd7, 0x71, 0xe2, 0x95, + 0x06, 0x63, 0xa0, 0x59, 0xeb, 0x38, 0x09, 0xcf, 0xd7, 0x71, 0xb2, 0x34, 0xe1, 0x80, 0x29, 0x58, + 0xc7, 0x49, 0xcc, 0xcf, 0x90, 0x5e, 0xe2, 0x86, 0xf9, 0x59, 0x56, 0x72, 0xee, 0xe5, 0x74, 0xf2, + 0x18, 0xbd, 0x7f, 0x89, 0xf2, 0xb3, 0xad, 0xe6, 0x85, 0x3c, 0xa2, 0xb8, 0x9e, 0xf7, 0x25, 0x13, + 0x93, 0xdd, 0x35, 0x5d, 0x5b, 0xd9, 0x17, 0xec, 0x0b, 0x3a, 0xbc, 0xcf, 0xd6, 0x4d, 0xb3, 0x80, + 0x6e, 0xd1, 0xfb, 0x00, 0x05, 0x74, 0x95, 0x1d, 0x94, 0xa4, 0x9b, 0x8b, 0x52, 0xbc, 0xbe, 0x3f, + 0x97, 0xe7, 0x1f, 0x49, 0xbc, 0xc5, 0x84, 0x65, 0x75, 0xee, 0x9e, 0x2a, 0x0b, 0x2b, 0xd9, 0xd3, + 0xf3, 0xae, 0xf3, 0x4d, 0xa9, 0x3d, 0xa4, 0x1e, 0x16, 0x49, 0x0c, 0x5a, 0x5f, 0xeb, 0xb9, 0x35, + 0x64, 0x17, 0x5d, 0xbd, 0xe9, 0x72, 0xcd, 0x4d, 0x9c, 0xf7, 0x82, 0x49, 0x57, 0xaa, 0xa9, 0x27, + 0x12, 0x74, 0xaa, 0x79, 0xef, 0x27, 0x28, 0xaa, 0x69, 0xec, 0x4f, 0xd1, 0x75, 0x26, 0xee, 0x74, + 0x79, 0x4f, 0xfc, 0x7c, 0x3b, 0x67, 0xca, 0x08, 0x89, 0x62, 0xb0, 0x18, 0x89, 0xf6, 0x5d, 0x71, + 0xc0, 0x27, 0x0b, 0x73, 0x99, 0x9f, 0x85, 0x4f, 0x3e, 0x85, 0xb2, 0x10, 0x6f, 0x31, 0x81, 0x2c, + 0xc0, 0xdc, 0xa9, 0x5b, 0x92, 0x1e, 0xbb, 0x33, 0xf4, 0xe0, 0x2c, 0x9e, 0xba, 0xb3, 0x70, 0x22, + 0xdf, 0xad, 0xc5, 0xb6, 0xc3, 0xdd, 0xa0, 0x13, 0x46, 0xb4, 0x99, 0x76, 0x47, 0x99, 0x9d, 0x91, + 0x81, 0x13, 0x26, 0xf8, 0xfe, 0x22, 0x59, 0x47, 0xd9, 0x66, 0x16, 0x17, 0xf9, 0xeb, 0xb2, 0xc9, + 0xa0, 0xe8, 0x59, 0x53, 0x97, 0x87, 0xcc, 0x3e, 0xe5, 0xb5, 0x9d, 0xdf, 0x29, 0xc5, 0xa2, 0x33, + 0x8e, 0x2e, 0x8f, 0x45, 0xdc, 0xa0, 0xe6, 0xbe, 0xc3, 0x6e, 0x9c, 0x49, 0x5e, 0x67, 0x22, 0xdf, + 0x87, 0x11, 0x89, 0xdc, 0x9d, 0x21, 0x49, 0x6c, 0x64, 0xc8, 0x0a, 0x8c, 0x1b, 0x77, 0xb5, 0x94, + 0x75, 0x93, 0x75, 0x83, 0xab, 0x60, 0x9e, 0xc7, 0x8d, 0x3b, 0x59, 0x8a, 0x4a, 0xd6, 0x4d, 0xad, + 0x5c, 0x2a, 0xdf, 0x83, 0x51, 0xc1, 0xd2, 0x42, 0x6e, 0xe4, 0x3b, 0xeb, 0x66, 0xb4, 0xb8, 0xe7, + 0x4e, 0xd3, 0x8d, 0x96, 0x7d, 0xef, 0x89, 0x7b, 0xd8, 0x95, 0x31, 0x69, 0x94, 0xfd, 0x45, 0xf2, + 0x43, 0x4c, 0x97, 0x28, 0x93, 0x58, 0xd2, 0xe8, 0xb9, 0x1f, 0x3c, 0x75, 0xbd, 0xc3, 0x2e, 0x24, + 0xaf, 0x99, 0x24, 0x93, 0x78, 0x32, 0xb4, 0xe4, 0x87, 0x30, 0x5f, 0xcb, 0x27, 0xde, 0x95, 0x48, + 0xf1, 0xf6, 0x52, 0x83, 0x05, 0x0c, 0xae, 0x39, 0x6f, 0xdf, 0x0b, 0x89, 0x7e, 0xc1, 0xdf, 0xa6, + 0x92, 0x8e, 0xfe, 0x86, 0x1f, 0x34, 0xbb, 0x53, 0xac, 0x98, 0xe1, 0xba, 0x09, 0x34, 0xc9, 0x8c, + 0x2f, 0xe0, 0x52, 0x2d, 0x97, 0x74, 0x37, 0x12, 0xdd, 0x34, 0xc9, 0xcb, 0xc8, 0x8a, 0x73, 0xf6, + 0xbb, 0x90, 0xe6, 0x3a, 0xca, 0x34, 0xb6, 0x0f, 0xed, 0x04, 0xf4, 0x09, 0x0d, 0x30, 0x28, 0xbc, + 0x5b, 0x38, 0xb4, 0x09, 0x2e, 0x47, 0xbe, 0x0e, 0x17, 0x6a, 0x29, 0x52, 0x79, 0x28, 0xc5, 0xbd, + 0x7a, 0x08, 0x53, 0x38, 0xd2, 0x33, 0xf6, 0xab, 0x4b, 0x10, 0xd1, 0xe8, 0x03, 0x1a, 0xed, 0xad, + 0x77, 0xe1, 0x92, 0xbc, 0xb5, 0x20, 0x01, 0xf7, 0xef, 0x32, 0xcc, 0x9a, 0x86, 0x99, 0x86, 0xc8, + 0xfd, 0x78, 0xbf, 0x2f, 0x0f, 0x52, 0xba, 0x36, 0x9b, 0x47, 0xe1, 0x1e, 0xca, 0x42, 0x11, 0x18, + 0xad, 0xb9, 0x20, 0x8d, 0xac, 0xc6, 0xf3, 0xe3, 0x7a, 0x8c, 0x74, 0x48, 0xaa, 0xdc, 0xfc, 0xd3, + 0xf3, 0x1f, 0x6b, 0xa1, 0x17, 0x99, 0x89, 0x91, 0x93, 0x24, 0xb8, 0x0b, 0x75, 0xc3, 0x6f, 0x3c, + 0xd5, 0x5d, 0xa8, 0x5a, 0x42, 0xdd, 0x79, 0x33, 0xdd, 0xad, 0x90, 0xf8, 0x98, 0xf3, 0x56, 0x8f, + 0x0b, 0xd3, 0x53, 0xea, 0xea, 0x2e, 0x54, 0x33, 0xf9, 0xef, 0x3d, 0xe9, 0x5b, 0xc4, 0x06, 0x4d, + 0xca, 0xb9, 0xac, 0x51, 0x6e, 0x45, 0x44, 0x32, 0xdd, 0x8a, 0x7a, 0x47, 0xf3, 0x0f, 0x02, 0x48, + 0x3a, 0xfb, 0xaf, 0x32, 0x56, 0x72, 0x13, 0x03, 0x17, 0x84, 0x77, 0x4d, 0x65, 0x24, 0x2f, 0x57, + 0xe6, 0x5d, 0x7e, 0x62, 0xf3, 0x79, 0x33, 0x56, 0xe9, 0x4e, 0x89, 0x6c, 0xc1, 0xc5, 0x07, 0x34, + 0x12, 0x32, 0xce, 0xa6, 0x61, 0x14, 0xb8, 0x8d, 0xa8, 0xf0, 0x54, 0x51, 0xda, 0x26, 0x19, 0x38, + 0xfb, 0xef, 0x32, 0x7a, 0xb5, 0x6c, 0x7a, 0x85, 0x78, 0x05, 0x11, 0xb4, 0xe2, 0xa8, 0xe2, 0x3c, + 0x5d, 0xcc, 0x5f, 0xe2, 0x43, 0x3c, 0x40, 0x27, 0x1f, 0xb5, 0x1c, 0x67, 0xa5, 0x10, 0xd6, 0xd6, + 0x2d, 0x18, 0xe4, 0x48, 0xb9, 0x1b, 0xea, 0x98, 0x8e, 0x43, 0xee, 0xc2, 0x88, 0x8a, 0xb0, 0x21, + 0x46, 0x55, 0x6e, 0xbf, 0xee, 0xc2, 0x08, 0x37, 0xad, 0xce, 0x8e, 0xf2, 0x31, 0x8c, 0xa8, 0x90, + 0x9c, 0x73, 0xef, 0xf4, 0x9f, 0xc2, 0xb8, 0x1e, 0x9c, 0x73, 0x7e, 0x46, 0x7e, 0x0f, 0xcf, 0x7e, + 0xe5, 0x11, 0x4b, 0x3e, 0xfe, 0x4c, 0x22, 0x53, 0x89, 0x60, 0x29, 0x17, 0x90, 0xb2, 0x30, 0xb7, + 0xfb, 0x17, 0x52, 0xd8, 0xe4, 0x63, 0x79, 0x5f, 0x4a, 0x21, 0xa7, 0x81, 0x0a, 0x78, 0x36, 0xc1, + 0xd9, 0xfc, 0x32, 0xc8, 0x4a, 0xc0, 0x76, 0xed, 0xf6, 0x59, 0xce, 0xa8, 0xbb, 0xb3, 0x2e, 0x8f, + 0xca, 0x36, 0x6a, 0x69, 0xa9, 0x1c, 0x3a, 0xf9, 0x84, 0xae, 0xe6, 0xa7, 0xdd, 0xc1, 0xc9, 0x78, + 0x88, 0x56, 0x60, 0xaa, 0x36, 0x77, 0x78, 0x05, 0x69, 0x7c, 0x62, 0xb3, 0x37, 0x4d, 0xae, 0x00, + 0xad, 0xc8, 0x8a, 0x16, 0xb7, 0x40, 0x5f, 0x09, 0xb9, 0x75, 0x19, 0xe3, 0x78, 0xf6, 0xc1, 0xe6, + 0xf7, 0xec, 0x72, 0xc6, 0xa9, 0x78, 0xd7, 0xb9, 0xc8, 0x23, 0xf7, 0x6b, 0xa8, 0x1d, 0x66, 0xa7, + 0x6e, 0xcf, 0x25, 0x76, 0x43, 0x0b, 0xac, 0x28, 0x4e, 0xfa, 0xfe, 0x14, 0x2f, 0xa2, 0x65, 0x67, + 0x19, 0x7a, 0xb3, 0x0b, 0x15, 0xc9, 0x89, 0xb7, 0xba, 0xc2, 0xa9, 0x33, 0xd6, 0xcb, 0x7c, 0x87, + 0xcd, 0x6e, 0xaf, 0x4b, 0xd6, 0xa4, 0x8c, 0x63, 0xef, 0x9c, 0xbc, 0xe8, 0x92, 0xa0, 0x19, 0x40, + 0x5a, 0x38, 0x86, 0x3c, 0xf6, 0x7f, 0x06, 0x95, 0x38, 0x7a, 0xe4, 0x7c, 0x93, 0x90, 0x1f, 0xb7, + 0x48, 0xd2, 0xd9, 0xe2, 0x49, 0x51, 0x76, 0x83, 0xf9, 0xeb, 0x79, 0x1c, 0x0e, 0xb5, 0xb0, 0x24, + 0x11, 0xf7, 0x96, 0xc8, 0xb7, 0x95, 0x97, 0xb9, 0xab, 0xc0, 0x0f, 0x2b, 0x6e, 0xe6, 0xbd, 0x12, + 0x42, 0xe9, 0xd9, 0x3e, 0x3f, 0x21, 0x15, 0xdc, 0x91, 0x20, 0x64, 0x15, 0x4c, 0xef, 0x79, 0x62, + 0xd7, 0x92, 0x53, 0x71, 0xde, 0x09, 0x75, 0xe2, 0xdb, 0x68, 0xe9, 0x94, 0xf6, 0x4a, 0x97, 0xcb, + 0x4d, 0xaf, 0xaf, 0x66, 0xb7, 0x20, 0x1f, 0xfe, 0x32, 0xfb, 0x4c, 0x79, 0x13, 0x46, 0x3e, 0xed, + 0x65, 0x7b, 0x23, 0x76, 0x2b, 0x64, 0x24, 0xda, 0x9e, 0x07, 0x59, 0x69, 0x6f, 0x90, 0x9a, 0x7c, + 0x56, 0x37, 0xeb, 0x0d, 0x1c, 0x75, 0x33, 0x26, 0xab, 0xb2, 0xc0, 0xba, 0xa8, 0xc9, 0x87, 0x74, + 0x5f, 0x25, 0xd1, 0x3a, 0xcc, 0xe6, 0xbc, 0x1c, 0xa4, 0x4e, 0x58, 0x8b, 0x5f, 0x16, 0x9a, 0x2f, + 0x6e, 0x98, 0xfc, 0x10, 0x66, 0x32, 0x9f, 0x16, 0x52, 0x5e, 0xe2, 0xa2, 0x87, 0x87, 0xba, 0x11, + 0x7f, 0x0a, 0x73, 0x79, 0xc9, 0xaf, 0xe3, 0x9b, 0x3a, 0xc5, 0x19, 0xc9, 0x95, 0x4c, 0xed, 0x9a, + 0x45, 0x7b, 0x0b, 0xa6, 0xb3, 0x12, 0x4a, 0xab, 0x8f, 0xa3, 0x20, 0xdb, 0x74, 0xe6, 0x75, 0xa0, + 0x1d, 0x98, 0xc9, 0x4c, 0xea, 0xac, 0x38, 0x53, 0x94, 0xf2, 0x39, 0x93, 0xe2, 0xe7, 0x30, 0x9b, + 0x93, 0xc1, 0x38, 0x3e, 0x2e, 0x2f, 0xcc, 0x70, 0x5c, 0x10, 0xac, 0x34, 0x9f, 0x9f, 0x1c, 0x57, + 0xc5, 0xa8, 0x75, 0xcd, 0x9f, 0x3b, 0x9f, 0x99, 0x31, 0x9c, 0xec, 0xe2, 0x22, 0xcc, 0xca, 0x96, + 0xab, 0x2f, 0xc2, 0x82, 0x6c, 0xba, 0x39, 0xd7, 0xb8, 0x66, 0x73, 0x12, 0xe4, 0x16, 0x50, 0x3d, + 0x43, 0x6f, 0xb7, 0xa4, 0xfc, 0x37, 0x53, 0x89, 0x26, 0xe2, 0x9e, 0x33, 0xf3, 0x8c, 0x66, 0xf6, + 0x53, 0x7b, 0x5f, 0xa1, 0xd5, 0x2a, 0x50, 0x83, 0x88, 0xfe, 0xc0, 0x02, 0x83, 0x44, 0x47, 0xfb, + 0xb8, 0x8e, 0x5b, 0x24, 0x51, 0x53, 0xc8, 0xa8, 0x78, 0x7e, 0x04, 0x63, 0x35, 0xbd, 0xf1, 0x8c, + 0x46, 0x72, 0x17, 0x85, 0xba, 0xc8, 0xd3, 0xbd, 0xef, 0x05, 0xc1, 0x9e, 0x6a, 0x73, 0x38, 0xd3, + 0x28, 0x72, 0xc3, 0x5b, 0x8c, 0x74, 0x35, 0x4a, 0x52, 0x67, 0x65, 0x93, 0x52, 0xe1, 0x2d, 0xd9, + 0x19, 0x6e, 0xea, 0xfc, 0x81, 0xfd, 0x64, 0xb2, 0x30, 0x62, 0x75, 0x4f, 0xa4, 0xa7, 0xc2, 0xda, + 0x0b, 0xb3, 0x8d, 0xf1, 0x58, 0x9c, 0x38, 0x41, 0x8f, 0x1e, 0x8b, 0x93, 0x4a, 0xfb, 0xa3, 0xc7, + 0xe2, 0x64, 0xe4, 0xf4, 0x59, 0x45, 0x5a, 0x71, 0x66, 0x82, 0x02, 0x87, 0x81, 0x22, 0x93, 0x91, + 0x00, 0xe1, 0x91, 0xfe, 0x4c, 0x07, 0xcf, 0x67, 0x50, 0xe0, 0x0f, 0x4d, 0x3e, 0xcf, 0x91, 0x48, + 0x80, 0xf0, 0x10, 0xca, 0xc9, 0xb7, 0xdc, 0x94, 0x3b, 0x2a, 0xe7, 0x91, 0xb7, 0x82, 0x25, 0x06, + 0xf1, 0x8b, 0x6d, 0xca, 0xe9, 0x93, 0x7a, 0xc4, 0x6d, 0xfe, 0x52, 0x46, 0x8d, 0x52, 0xd7, 0xc6, + 0xf4, 0xf7, 0xdd, 0x54, 0x38, 0x59, 0xc6, 0xa3, 0x6f, 0xf3, 0x97, 0x33, 0xeb, 0x04, 0xa1, 0x88, + 0xe7, 0x80, 0xcc, 0xce, 0x37, 0x19, 0xdf, 0xa1, 0x2a, 0x80, 0x91, 0xcd, 0xdc, 0x3c, 0x0b, 0xa8, + 0x68, 0x95, 0xaa, 0x7c, 0x0a, 0x19, 0x49, 0x2e, 0xdf, 0xca, 0xb8, 0xeb, 0x60, 0x40, 0xc4, 0x91, + 0x56, 0xc5, 0x19, 0x37, 0xc9, 0x63, 0xf9, 0xbe, 0x7d, 0x4e, 0x4b, 0xdd, 0x08, 0xe4, 0xce, 0xe0, + 0x63, 0xf9, 0xa2, 0xfd, 0xab, 0x26, 0x7c, 0x00, 0x0b, 0x89, 0xab, 0x14, 0x26, 0xe1, 0x9b, 0xd9, + 0xf7, 0x2d, 0x32, 0xd9, 0x93, 0xaf, 0x0f, 0x5f, 0x4b, 0xdf, 0xbb, 0x48, 0xcc, 0xfb, 0x79, 0x65, + 0xd5, 0x26, 0x4c, 0xa0, 0x78, 0x90, 0xe9, 0x5a, 0xe3, 0xd7, 0x5d, 0xcc, 0xe2, 0xe4, 0x33, 0x43, + 0xc9, 0x5a, 0x15, 0x8e, 0x3a, 0x26, 0xee, 0xe3, 0xf2, 0xe4, 0xaf, 0xf3, 0xe6, 0x25, 0x5d, 0x2c, + 0xcc, 0xda, 0x7d, 0x44, 0x4e, 0x59, 0xf2, 0x3d, 0x98, 0x8c, 0xaf, 0xe9, 0x72, 0x12, 0x19, 0x60, + 0x05, 0x4e, 0xa8, 0xc9, 0xf8, 0xae, 0xee, 0xf9, 0xd1, 0xd7, 0xe4, 0x16, 0x12, 0xa3, 0x5f, 0x49, + 0x5d, 0x41, 0x31, 0xc6, 0x70, 0x96, 0x9d, 0x44, 0xe3, 0xed, 0x79, 0x67, 0xa7, 0x81, 0x9f, 0x5b, + 0xf6, 0xc3, 0x85, 0xfa, 0xe7, 0x56, 0xf8, 0xb8, 0xa2, 0x52, 0x5b, 0x73, 0xe8, 0x6c, 0xc2, 0x6b, + 0xf8, 0xd8, 0xc9, 0x0e, 0x7f, 0xde, 0x2e, 0x1b, 0x2a, 0xbf, 0xef, 0xc9, 0x27, 0x52, 0x5a, 0x70, + 0xbd, 0xeb, 0xcb, 0x8d, 0xe4, 0xb6, 0x11, 0x3e, 0xd2, 0xfd, 0x8d, 0xc7, 0xa2, 0x6b, 0x5f, 0x59, + 0x0f, 0x20, 0xaa, 0xfd, 0xb1, 0xe0, 0x2d, 0x46, 0xb5, 0x3f, 0x16, 0xbe, 0xa0, 0xf8, 0x39, 0x26, + 0x8d, 0x10, 0x7b, 0x0b, 0x3e, 0x60, 0x44, 0x3d, 0xfe, 0xa4, 0x73, 0xe1, 0x91, 0xca, 0x75, 0xf3, + 0xc0, 0x31, 0x85, 0x88, 0xb6, 0xc8, 0x55, 0x61, 0x41, 0xe5, 0x11, 0xef, 0x4e, 0xa4, 0x20, 0x6c, + 0xf9, 0x2a, 0x5f, 0x80, 0xe7, 0xee, 0x79, 0x4e, 0xf9, 0xd2, 0xca, 0xcf, 0xff, 0xf3, 0xd5, 0xd2, + 0xcf, 0x7f, 0x71, 0xb5, 0xf4, 0x1f, 0x7e, 0x71, 0xb5, 0xf4, 0x9f, 0x7e, 0x71, 0xb5, 0xf4, 0x83, + 0xc5, 0xb3, 0x3d, 0x2c, 0xdc, 0x68, 0xb9, 0xd4, 0x8b, 0x6e, 0x73, 0x72, 0x83, 0xf8, 0xdf, 0xbd, + 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x28, 0xf9, 0xbd, 0x44, 0x52, 0xdc, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/api/proto/teleport/legacy/client/proto/authservice.proto b/api/proto/teleport/legacy/client/proto/authservice.proto index e24fb484ee13e..eeed70257f27f 100644 --- a/api/proto/teleport/legacy/client/proto/authservice.proto +++ b/api/proto/teleport/legacy/client/proto/authservice.proto @@ -292,7 +292,12 @@ message RouteToApp { // Name is the application name certificate is being requested for. string Name = 1 [(gogoproto.jsontag) = "name"]; // SessionID is the ID of the application session. - string SessionID = 2 [(gogoproto.jsontag) = "session_id"]; + // DEPRECATED: Automatically generated by server. + // TODO (Joerger): DELETE IN v17.0.0 + string SessionID = 2 [ + (gogoproto.jsontag) = "session_id", + deprecated = true + ]; // PublicAddr is the application public address. string PublicAddr = 3 [(gogoproto.jsontag) = "public_addr"]; // ClusterName is the cluster where the application resides. From 11132edd1535080a1cfe75332f3118cdb44cd724 Mon Sep 17 00:00:00 2001 From: joerger Date: Tue, 26 Mar 2024 17:01:49 -0700 Subject: [PATCH 03/11] Automatically create app sessions for app cert requests. --- lib/auth/auth_with_roles.go | 54 ++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index f9788b05cdda6..1442d095e5f09 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -3153,6 +3153,58 @@ func (a *ServerWithRoles) generateUserCerts(ctx context.Context, req proto.UserC } } + appSessionID := req.RouteToApp.SessionID + if req.RouteToApp.Name != "" { + // Create a new app session using the same cert request. The user certs + // generated below will be linked to this session by the session ID. + if req.RouteToApp.SessionID == "" { + ws, err := a.authServer.CreateAppSessionFromReq(ctx, NewAppSessionRequest{ + NewWebSessionRequest: NewWebSessionRequest{ + User: req.Username, + LoginIP: a.context.Identity.GetIdentity().LoginIP, + SessionTTL: req.Expires.Sub(a.authServer.GetClock().Now()), + Traits: accessInfo.Traits, + AccessRequests: req.AccessRequests, + }, + PublicAddr: req.RouteToApp.PublicAddr, + ClusterName: req.RouteToApp.ClusterName, + AWSRoleARN: req.RouteToApp.AWSRoleARN, + AzureIdentity: req.RouteToApp.AzureIdentity, + GCPServiceAccount: req.RouteToApp.GCPServiceAccount, + MFAVerified: verifiedMFADeviceID, + DeviceExtensions: DeviceExtensions(a.context.Identity.GetIdentity().DeviceExtensions), + }) + if err != nil { + return nil, trace.Wrap(err) + } + appSessionID = ws.GetName() + } else { + // TODO (Joerger): DELETE IN 17.0.0 + // Old clients will pass a session ID of an existing App session instead of a + // single GenerateUserCerts call. This is allowed, but ensure new clients cannot + // generate certs for MFA verified app sessions without an additional MFA check. + ws, err := a.GetAppSession(ctx, types.GetAppSessionRequest{ + SessionID: req.RouteToApp.SessionID, + }) + if err != nil { + return nil, trace.Wrap(err) + } + + // If the app session is MFA verified and this request is not MFA verified, deny the request. + x509Cert, err := tlsca.ParseCertificatePEM(ws.GetTLSCert()) + if err != nil { + return nil, trace.Wrap(err) + } + wsIdentity, err := tlsca.FromSubject(x509Cert.Subject, x509Cert.NotAfter) + if err != nil { + return nil, trace.Wrap(err) + } + if wsIdentity.IsMFAVerified() && verifiedMFADeviceID == "" { + return nil, trace.BadParameter("mfa verification required to sign app certs for mfa-verified session") + } + } + } + // Generate certificate, note that the roles TTL will be ignored because // the request is coming from "tctl auth sign" itself. certReq := certRequest{ @@ -3169,8 +3221,8 @@ func (a *ServerWithRoles) generateUserCerts(ctx context.Context, req proto.UserC dbUser: req.RouteToDatabase.Username, dbName: req.RouteToDatabase.Database, dbRoles: req.RouteToDatabase.Roles, + appSessionID: appSessionID, appName: req.RouteToApp.Name, - appSessionID: req.RouteToApp.SessionID, appPublicAddr: req.RouteToApp.PublicAddr, appClusterName: req.RouteToApp.ClusterName, awsRoleARN: req.RouteToApp.AWSRoleARN, From de78ab719db07394bbcdf916685452a0e894fa67 Mon Sep 17 00:00:00 2001 From: joerger Date: Wed, 27 Mar 2024 18:55:04 -0700 Subject: [PATCH 04/11] Deprecate client use of CreateAppSession for app cert requests. --- integration/appaccess/appaccess_test.go | 86 ++++++++----------------- integration/appaccess/pack.go | 43 ++++++++++--- integration/proxy/proxy_test.go | 4 +- lib/auth/grpcserver_test.go | 1 - lib/auth/sessions.go | 51 ++++++++++++++- lib/client/api.go | 33 ---------- lib/client/client.go | 41 ------------ lib/tbot/service_outputs.go | 20 ++---- lib/teleterm/clusters/cluster_apps.go | 21 +++--- tool/tctl/common/auth_command.go | 18 +++--- tool/tsh/common/app.go | 32 ++++----- 11 files changed, 152 insertions(+), 198 deletions(-) diff --git a/integration/appaccess/appaccess_test.go b/integration/appaccess/appaccess_test.go index b66b90a8b1617..8480ccad2843e 100644 --- a/integration/appaccess/appaccess_test.go +++ b/integration/appaccess/appaccess_test.go @@ -38,7 +38,6 @@ import ( "github.com/stretchr/testify/require" "github.com/gravitational/teleport" - "github.com/gravitational/teleport/api/client/proto" "github.com/gravitational/teleport/api/types" apievents "github.com/gravitational/teleport/api/types/events" "github.com/gravitational/teleport/integration/helpers" @@ -77,8 +76,8 @@ func TestAppAccess(t *testing.T) { // testForward tests that requests get forwarded to the target application // within a single cluster and trusted cluster. func testForward(p *Pack, t *testing.T) { - rootCookies := helpers.ParseCookies(t, p.CreateAppSession(t, p.rootAppPublicAddr, p.rootAppClusterName)) - leafCookies := helpers.ParseCookies(t, p.CreateAppSession(t, p.leafAppPublicAddr, p.leafAppClusterName)) + rootCookies := helpers.ParseCookies(t, p.CreateAppSessionCookies(t, p.rootAppPublicAddr, p.rootAppClusterName)) + leafCookies := helpers.ParseCookies(t, p.CreateAppSessionCookies(t, p.leafAppPublicAddr, p.leafAppClusterName)) tests := []struct { desc string inCookies []*http.Cookie @@ -157,27 +156,27 @@ func testWebsockets(p *Pack, t *testing.T) { }{ { desc: "root cluster, valid application session cookie, successful websocket (ws://) request", - inCookies: p.CreateAppSession(t, p.rootWSPublicAddr, p.rootAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.rootWSPublicAddr, p.rootAppClusterName), outMessage: p.rootWSMessage, }, { desc: "root cluster, valid application session cookie, successful secure websocket (wss://) request", - inCookies: p.CreateAppSession(t, p.rootWSSPublicAddr, p.rootAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.rootWSSPublicAddr, p.rootAppClusterName), outMessage: p.rootWSSMessage, }, { desc: "leaf cluster, valid application session cookie, successful websocket (ws://) request", - inCookies: p.CreateAppSession(t, p.leafWSPublicAddr, p.leafAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.leafWSPublicAddr, p.leafAppClusterName), outMessage: p.leafWSMessage, }, { desc: "leaf cluster, valid application session cookie, successful secure websocket (wss://) request", - inCookies: p.CreateAppSession(t, p.leafWSSPublicAddr, p.leafAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.leafWSSPublicAddr, p.leafAppClusterName), outMessage: p.leafWSSMessage, }, { desc: "valid application session cookie, invalid subject session cookie, websocket request fails to dial", - inCookies: helpers.ParseCookies(t, p.CreateAppSession(t, p.rootWSPublicAddr, p.rootAppClusterName)).WithSubjectCookie( + inCookies: helpers.ParseCookies(t, p.CreateAppSessionCookies(t, p.rootWSPublicAddr, p.rootAppClusterName)).WithSubjectCookie( &http.Cookie{ Name: app.SubjectCookieName, Value: "foobarbaz", @@ -237,13 +236,13 @@ func testForwardModes(p *Pack, t *testing.T) { }{ { desc: "root cluster, valid application session cookie, success", - inCookies: p.CreateAppSession(t, p.rootAppPublicAddr, p.rootAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.rootAppPublicAddr, p.rootAppClusterName), outStatusCode: http.StatusOK, outMessage: p.rootMessage, }, { desc: "leaf cluster, valid application session cookie, success", - inCookies: p.CreateAppSession(t, p.leafAppPublicAddr, p.leafAppClusterName), + inCookies: p.CreateAppSessionCookies(t, p.leafAppPublicAddr, p.leafAppClusterName), outStatusCode: http.StatusOK, outMessage: p.leafMessage, }, @@ -270,19 +269,8 @@ func testClientCert(p *Pack, t *testing.T) { }, }) evilUser, _ := p.CreateUser(t) - rootWs, err := p.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: p.user.GetName(), - PublicAddr: p.rootAppPublicAddr, - ClusterName: p.rootAppClusterName, - }) - require.NoError(t, err) - - leafWs, err := p.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: p.user.GetName(), - PublicAddr: p.leafAppPublicAddr, - ClusterName: p.leafAppClusterName, - }) - require.NoError(t, err) + rootWs := p.CreateAppSession(t, p.username, p.rootAppClusterName, p.rootAppPublicAddr) + leafWs := p.CreateAppSession(t, p.username, p.leafAppClusterName, p.leafAppPublicAddr) tests := []struct { desc string @@ -355,7 +343,7 @@ func testFlush(p *Pack, t *testing.T) { req, err := http.NewRequest("GET", p.assembleRootProxyURL("/"), nil) require.NoError(t, err) - cookies := p.CreateAppSession(t, p.flushAppPublicAddr, p.flushAppClusterName) + cookies := p.CreateAppSessionCookies(t, p.flushAppPublicAddr, p.flushAppClusterName) for _, c := range cookies { req.AddCookie(c) } @@ -389,7 +377,7 @@ func testFlush(p *Pack, t *testing.T) { // rewrite configuration are correctly passed to proxied applications in root. func testRewriteHeadersRoot(p *Pack, t *testing.T) { // Create an application session for dumper app in root cluster. - appCookies := p.CreateAppSession(t, "dumper-root.example.com", "example.com") + appCookies := p.CreateAppSessionCookies(t, "dumper-root.example.com", "example.com") // Get headers response and make sure headers were passed. status, resp, err := p.MakeRequest(appCookies, http.MethodGet, "/", servicecfg.Header{ @@ -425,7 +413,7 @@ func testRewriteHeadersRoot(p *Pack, t *testing.T) { // rewrite configuration are correctly passed to proxied applications in leaf. func testRewriteHeadersLeaf(p *Pack, t *testing.T) { // Create an application session for dumper app in leaf cluster. - appCookie := p.CreateAppSession(t, "dumper-leaf.example.com", "leaf.example.com") + appCookie := p.CreateAppSessionCookies(t, "dumper-leaf.example.com", "leaf.example.com") // Get headers response and make sure headers were passed. status, resp, err := p.MakeRequest(appCookie, http.MethodGet, "/", servicecfg.Header{ @@ -456,7 +444,7 @@ func testRewriteHeadersLeaf(p *Pack, t *testing.T) { // testLogout verifies the session is removed from the backend when the user logs out. func testLogout(p *Pack, t *testing.T) { // Create an application session. - appCookies := p.CreateAppSession(t, p.rootAppPublicAddr, p.rootAppClusterName) + appCookies := p.CreateAppSessionCookies(t, p.rootAppPublicAddr, p.rootAppClusterName) // Log user out of session. status, _, err := p.MakeRequest(appCookies, http.MethodGet, "/teleport-logout") @@ -473,7 +461,7 @@ func testLogout(p *Pack, t *testing.T) { // be validated. func testJWT(p *Pack, t *testing.T) { // Create an application session. - appCookies := p.CreateAppSession(t, p.jwtAppPublicAddr, p.jwtAppClusterName) + appCookies := p.CreateAppSessionCookies(t, p.jwtAppPublicAddr, p.jwtAppClusterName) // Get JWT. status, token, err := p.MakeRequest(appCookies, http.MethodGet, "/") @@ -484,7 +472,7 @@ func testJWT(p *Pack, t *testing.T) { verifyJWT(t, p, token, p.jwtAppURI) // Connect to websocket application that dumps the upgrade request. - wsCookies := p.CreateAppSession(t, p.wsHeaderAppPublicAddr, p.wsHeaderAppClusterName) + wsCookies := p.CreateAppSessionCookies(t, p.wsHeaderAppPublicAddr, p.wsHeaderAppClusterName) body, err := p.makeWebsocketRequest(wsCookies, "/") require.NoError(t, err) @@ -502,7 +490,7 @@ func testJWT(p *Pack, t *testing.T) { // by values passed in by the user. func testNoHeaderOverrides(p *Pack, t *testing.T) { // Create an application session. - appCookies := p.CreateAppSession(t, p.headerAppPublicAddr, p.headerAppClusterName) + appCookies := p.CreateAppSessionCookies(t, p.headerAppPublicAddr, p.headerAppClusterName) // Get HTTP headers forwarded to the application. status, origHeaderResp, err := p.MakeRequest(appCookies, http.MethodGet, "/") @@ -535,7 +523,7 @@ func testNoHeaderOverrides(p *Pack, t *testing.T) { } func testAuditEvents(p *Pack, t *testing.T) { - inCookies := p.CreateAppSession(t, p.rootAppPublicAddr, p.rootAppClusterName) + inCookies := p.CreateAppSessionCookies(t, p.rootAppPublicAddr, p.rootAppClusterName) status, body, err := p.MakeRequest(inCookies, http.MethodGet, "/") require.NoError(t, err) @@ -593,7 +581,7 @@ func TestInvalidateAppSessionsOnLogout(t *testing.T) { p := Setup(t) // Create an application session. - appCookies := p.CreateAppSession(t, p.rootAppPublicAddr, p.rootAppClusterName) + appCookies := p.CreateAppSessionCookies(t, p.rootAppPublicAddr, p.rootAppClusterName) sessID := helpers.ParseCookies(t, appCookies).SessionCookie.Value // Issue a request to the application to guarantee everything is working correctly. @@ -640,18 +628,8 @@ func TestTCP(t *testing.T) { pack := Setup(t) evilUser, _ := pack.CreateUser(t) - rootWs, err := pack.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: pack.tc.Username, - PublicAddr: pack.rootTCPPublicAddr, - ClusterName: pack.rootAppClusterName, - }) - require.NoError(t, err) - leafWs, err := pack.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: pack.tc.Username, - PublicAddr: pack.leafTCPPublicAddr, - ClusterName: pack.leafAppClusterName, - }) - require.NoError(t, err) + rootWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.rootTCPPublicAddr) + leafWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.leafTCPPublicAddr) tests := []struct { description string @@ -719,17 +697,13 @@ func TestTCPLock(t *testing.T) { msg := []byte(uuid.New().String()) // Start the proxy to the two way communication app. - rootWs, err := pack.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: pack.tc.Username, - PublicAddr: pack.rootTCPTwoWayPublicAddr, - ClusterName: pack.rootAppClusterName, - }) - require.NoError(t, err) + rootWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.rootTCPTwoWayPublicAddr) tlsConfig := pack.makeTLSConfig(t, rootWs.GetName(), rootWs.GetUser(), pack.rootTCPTwoWayPublicAddr, pack.rootAppClusterName, "") address := pack.startLocalProxy(t, tlsConfig) var conn net.Conn + var err error var n int buf := make([]byte, 1024) @@ -797,17 +771,13 @@ func TestTCPCertExpiration(t *testing.T) { msg := []byte(uuid.New().String()) // Start the proxy to the two way communication app. - rootWs, err := pack.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: pack.tc.Username, - PublicAddr: pack.rootTCPTwoWayPublicAddr, - ClusterName: pack.rootAppClusterName, - }) - require.NoError(t, err) + rootWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.rootTCPTwoWayPublicAddr) tlsConfig := pack.makeTLSConfig(t, rootWs.GetName(), rootWs.GetUser(), pack.rootTCPTwoWayPublicAddr, pack.rootAppClusterName, "") address := pack.startLocalProxy(t, tlsConfig) var conn net.Conn + var err error var n int buf := make([]byte, 1024) @@ -947,8 +917,8 @@ func testServersHA(p *Pack, t *testing.T) { t.Run(name, func(t *testing.T) { t.Parallel() info := test.packInfo(p) - httpCookies := p.CreateAppSession(t, info.publicHTTPAddr, info.clusterName) - wsCookies := p.CreateAppSession(t, info.publicWSAddr, info.clusterName) + httpCookies := p.CreateAppSessionCookies(t, info.publicHTTPAddr, info.clusterName) + wsCookies := p.CreateAppSessionCookies(t, info.publicWSAddr, info.clusterName) makeRequests(t, p, httpCookies, wsCookies, responseWithoutError) diff --git a/integration/appaccess/pack.go b/integration/appaccess/pack.go index 7b4bb3862efbb..8e6c176e65c9a 100644 --- a/integration/appaccess/pack.go +++ b/integration/appaccess/pack.go @@ -40,7 +40,6 @@ import ( "github.com/gravitational/teleport" "github.com/gravitational/teleport/api/breaker" - "github.com/gravitational/teleport/api/client/proto" apidefaults "github.com/gravitational/teleport/api/defaults" "github.com/gravitational/teleport/api/types" apievents "github.com/gravitational/teleport/api/types/events" @@ -48,6 +47,7 @@ import ( "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/auth/native" "github.com/gravitational/teleport/lib/client" + "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/events" "github.com/gravitational/teleport/lib/httplib/csrf" "github.com/gravitational/teleport/lib/httplib/reverseproxy" @@ -303,9 +303,10 @@ func (p *Pack) GenerateAndSetupUserCreds(t *testing.T, tc *client.TeleportClient require.NoError(t, err) } -// CreateAppSession creates an application session with the root cluster. The -// application that the user connects to may be running in a leaf cluster. -func (p *Pack) CreateAppSession(t *testing.T, publicAddr, clusterName string) []*http.Cookie { +// CreateAppSessionCookies creates an application session with the root cluster through the web +// API and returns the app session cookies. The application that the user connects to may be +// running in a leaf cluster. +func (p *Pack) CreateAppSessionCookies(t *testing.T, publicAddr, clusterName string) []*http.Cookie { require.NotEmpty(t, p.webCookie) require.NotEmpty(t, p.webToken) @@ -339,16 +340,38 @@ func (p *Pack) CreateAppSession(t *testing.T, publicAddr, clusterName string) [] // cluster and returns the client cert that can be used for an application // request. func (p *Pack) CreateAppSessionWithClientCert(t *testing.T) []tls.Certificate { - session, err := p.tc.CreateAppSession(context.Background(), &proto.CreateAppSessionRequest{ - Username: p.username, - PublicAddr: p.rootAppPublicAddr, - ClusterName: p.rootAppClusterName, - }) - require.NoError(t, err) + session := p.CreateAppSession(t, p.username, p.rootAppPublicAddr, p.rootAppClusterName) config := p.makeTLSConfig(t, session.GetName(), session.GetUser(), p.rootAppPublicAddr, p.rootAppClusterName, "") return config.Certificates } +func (p *Pack) CreateAppSession(t *testing.T, username, clusterName, appPublicAddr string) types.WebSession { + privateKey, publicKey, err := native.GenerateKeyPair() + require.NoError(t, err) + + certificate, err := p.rootCluster.Process.GetAuthServer().GenerateUserAppTestCert( + auth.AppTestCertRequest{ + PublicKey: publicKey, + Username: username, + TTL: time.Hour, + PublicAddr: appPublicAddr, + ClusterName: clusterName, + }) + require.NoError(t, err) + + token, err := utils.CryptoRandomHex(defaults.SessionTokenBytes) + require.NoError(t, err) + + ws, err := types.NewWebSession(token, types.KindAppSession, types.WebSessionSpecV2{ + Priv: privateKey, + Pub: publicKey, + TLSCert: certificate, + }) + require.NoError(t, err) + + return ws +} + // LockUser will lock the configured user for this pack. func (p *Pack) LockUser(t *testing.T) { err := p.rootCluster.Process.GetAuthServer().UpsertLock(context.Background(), &types.LockV2{ diff --git a/integration/proxy/proxy_test.go b/integration/proxy/proxy_test.go index 7decbad24e96d..2c05d69fa756f 100644 --- a/integration/proxy/proxy_test.go +++ b/integration/proxy/proxy_test.go @@ -1238,14 +1238,14 @@ func TestALPNSNIProxyAppAccess(t *testing.T) { }) t.Run("root cluster", func(t *testing.T) { - cookies := pack.CreateAppSession(t, pack.RootAppPublicAddr(), pack.RootAppClusterName()) + cookies := pack.CreateAppSessionCookies(t, pack.RootAppPublicAddr(), pack.RootAppClusterName()) status, _, err := pack.MakeRequest(cookies, http.MethodGet, "/") require.NoError(t, err) require.Equal(t, http.StatusOK, status) }) t.Run("leaf cluster", func(t *testing.T) { - cookies := pack.CreateAppSession(t, pack.LeafAppPublicAddr(), pack.LeafAppClusterName()) + cookies := pack.CreateAppSessionCookies(t, pack.LeafAppPublicAddr(), pack.LeafAppClusterName()) status, _, err := pack.MakeRequest(cookies, http.MethodGet, "/") require.NoError(t, err) require.Equal(t, http.StatusOK, status) diff --git a/lib/auth/grpcserver_test.go b/lib/auth/grpcserver_test.go index 7c5aa92696665..c85d42465ad29 100644 --- a/lib/auth/grpcserver_test.go +++ b/lib/auth/grpcserver_test.go @@ -844,7 +844,6 @@ func TestGenerateUserCerts_deviceAuthz(t *testing.T) { Usage: proto.UserCertsRequest_App, RouteToApp: proto.RouteToApp{ Name: "hello", - SessionID: "mysessionid", PublicAddr: "hello.cluster.dev", ClusterName: clusterName, }, diff --git a/lib/auth/sessions.go b/lib/auth/sessions.go index 0b4dc729d219a..d4d8b46a6ce34 100644 --- a/lib/auth/sessions.go +++ b/lib/auth/sessions.go @@ -407,9 +407,17 @@ func (a *Server) CreateAppSessionFromReq(ctx context.Context, req NewAppSessionR return session, nil } +// AppSessionWatcher is watcher interface used by app session watcher. +type AppSessionWatcher interface { + // NewWatcher returns a new event watcher. + NewWatcher(ctx context.Context, watch types.Watch) (types.Watcher, error) + // GetAppSession gets an app session for a given request. + GetAppSession(context.Context, types.GetAppSessionRequest) (types.WebSession, error) +} + // WaitForAppSession will block until the requested application session shows up in the // cache or a timeout occurs. -func WaitForAppSession(ctx context.Context, sessionID, user string, ap ReadProxyAccessPoint) error { +func WaitForAppSession(ctx context.Context, sessionID, user string, ap AppSessionWatcher) error { req := waitForWebSessionReq{ newWatcherFn: ap.NewWatcher, getSessionFn: func(ctx context.Context, sessionID string) (types.WebSession, error) { @@ -638,3 +646,44 @@ func (a *Server) CreateSAMLIdPSession(ctx context.Context, req types.CreateSAMLI return session, nil } + +type CreateAppSessionForV15Client interface { + Ping(ctx context.Context) (proto.PingResponse, error) + CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest) (types.WebSession, error) + AppSessionWatcher +} + +// TryCreateAppSessionForClientCertV15 creates an app session if the auth +// server is pre-v16 and returns the app session ID. This app session ID +// is needed for user app certs requests before v16. +// TODO (Joerger): DELETE IN v17.0.0 +func TryCreateAppSessionForClientCertV15(ctx context.Context, client CreateAppSessionForV15Client, username string, routeToApp proto.RouteToApp) (string, error) { + pingResp, err := client.Ping(ctx) + if err != nil { + return "", trace.Wrap(err) + } + + // If the auth server is v16+, the client does not need to provide a pre-created app session. + const minServerVersion = "16.0.0-aa" // "-aa" matches all development versions + if utils.MeetsVersion(pingResp.ServerVersion, minServerVersion) { + return "", nil + } + + ws, err := client.CreateAppSession(ctx, &proto.CreateAppSessionRequest{ + Username: username, + PublicAddr: routeToApp.PublicAddr, + ClusterName: routeToApp.ClusterName, + AWSRoleARN: routeToApp.AWSRoleARN, + AzureIdentity: routeToApp.AzureIdentity, + GCPServiceAccount: routeToApp.GCPServiceAccount, + }) + if err != nil { + return "", trace.Wrap(err) + } + + if err = WaitForAppSession(ctx, ws.GetName(), ws.GetUser(), client); err != nil { + return "", trace.Wrap(err) + } + + return ws.GetName(), nil +} diff --git a/lib/client/api.go b/lib/client/api.go index d1f9398cf0f2d..5570567384548 100644 --- a/lib/client/api.go +++ b/lib/client/api.go @@ -2502,39 +2502,6 @@ func (tc *TeleportClient) ListApps(ctx context.Context, customFilter *proto.List return types.DeduplicateApps(apps), nil } -// CreateAppSession creates a new application access session. -func (tc *TeleportClient) CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest) (types.WebSession, error) { - ctx, span := tc.Tracer.Start( - ctx, - "teleportClient/CreateAppSession", - oteltrace.WithSpanKind(oteltrace.SpanKindClient), - ) - defer span.End() - - clusterClient, err := tc.ConnectToCluster(ctx) - if err != nil { - return nil, trace.Wrap(err) - } - defer clusterClient.Close() - - rootAuthClient, err := clusterClient.ConnectToRootCluster(ctx) - if err != nil { - return nil, trace.Wrap(err) - } - defer rootAuthClient.Close() - - ws, err := rootAuthClient.CreateAppSession(ctx, req) - if err != nil { - return nil, trace.Wrap(err) - } - - err = auth.WaitForAppSession(ctx, ws.GetName(), ws.GetUser(), rootAuthClient) - if err != nil { - return nil, trace.Wrap(err) - } - return ws, nil -} - // DeleteAppSession removes the specified application access session. func (tc *TeleportClient) DeleteAppSession(ctx context.Context, sessionID string) error { ctx, span := tc.Tracer.Start( diff --git a/lib/client/client.go b/lib/client/client.go index 01df1a19b9455..e93e7ccdfe152 100644 --- a/lib/client/client.go +++ b/lib/client/client.go @@ -769,47 +769,6 @@ func (proxy *ProxyClient) FindAppServersByFiltersForCluster(ctx context.Context, return servers, trace.Wrap(err) } -// CreateAppSession creates a new application access session. -func (proxy *ProxyClient) CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest) (types.WebSession, error) { - ctx, span := proxy.Tracer.Start( - ctx, - "proxyClient/CreateAppSession", - oteltrace.WithSpanKind(oteltrace.SpanKindClient), - oteltrace.WithAttributes( - attribute.String("username", req.Username), - attribute.String("cluster", req.ClusterName), - ), - ) - defer span.End() - - clusterName, err := proxy.RootClusterName(ctx) - if err != nil { - return nil, trace.Wrap(err) - } - authClient, err := proxy.ConnectToCluster(ctx, clusterName) - if err != nil { - return nil, trace.Wrap(err) - } - defer authClient.Close() - - ws, err := authClient.CreateAppSession(ctx, req) - if err != nil { - return nil, trace.Wrap(err) - } - // Make sure to wait for the created app session to propagate through the cache. - accessPoint, err := proxy.ConnectToCluster(ctx, clusterName) - if err != nil { - return nil, trace.Wrap(err) - } - defer accessPoint.Close() - - err = auth.WaitForAppSession(ctx, ws.GetName(), ws.GetUser(), accessPoint) - if err != nil { - return nil, trace.Wrap(err) - } - return ws, nil -} - // DeleteAppSession removes the specified application access session. func (proxy *ProxyClient) DeleteAppSession(ctx context.Context, sessionID string) error { ctx, span := proxy.Tracer.Start( diff --git a/lib/tbot/service_outputs.go b/lib/tbot/service_outputs.go index 242fe3b12448d..b16090ad71356 100644 --- a/lib/tbot/service_outputs.go +++ b/lib/tbot/service_outputs.go @@ -438,27 +438,19 @@ func (s *outputsService) getRouteToApp(ctx context.Context, botIdentity *identit return proto.RouteToApp{}, trace.Wrap(err) } - // TODO: AWS? - ws, err := client.CreateAppSession(ctx, &proto.CreateAppSessionRequest{ - ClusterName: botIdentity.ClusterName, - Username: botIdentity.X509Cert.Subject.CommonName, + routeToApp := proto.RouteToApp{ + Name: app.GetName(), PublicAddr: app.GetPublicAddr(), - }) - if err != nil { - return proto.RouteToApp{}, trace.Wrap(err) + ClusterName: botIdentity.ClusterName, } - err = auth.WaitForAppSession(ctx, ws.GetName(), ws.GetUser(), client) + // TODO (Joerger): DELETE IN v17.0.0 + routeToApp.SessionID, err = auth.TryCreateAppSessionForClientCertV15(ctx, client, botIdentity.X509Cert.Subject.CommonName, routeToApp) if err != nil { return proto.RouteToApp{}, trace.Wrap(err) } - return proto.RouteToApp{ - Name: app.GetName(), - SessionID: ws.GetName(), - PublicAddr: app.GetPublicAddr(), - ClusterName: botIdentity.ClusterName, - }, nil + return routeToApp, nil } // generateImpersonatedIdentity generates an impersonated identity for a given diff --git a/lib/teleterm/clusters/cluster_apps.go b/lib/teleterm/clusters/cluster_apps.go index 8bb3dd6608849..e3e0b237ace26 100644 --- a/lib/teleterm/clusters/cluster_apps.go +++ b/lib/teleterm/clusters/cluster_apps.go @@ -161,8 +161,8 @@ func (c *Cluster) reissueAppCert(ctx context.Context, proxyClient *client.ProxyC return tls.Certificate{}, trace.Wrap(err) } - request := &proto.CreateAppSessionRequest{ - Username: c.status.Username, + routeToApp := proto.RouteToApp{ + Name: app.GetName(), PublicAddr: app.GetPublicAddr(), ClusterName: c.clusterClient.SiteName, AWSRoleARN: "", @@ -170,22 +170,19 @@ func (c *Cluster) reissueAppCert(ctx context.Context, proxyClient *client.ProxyC GCPServiceAccount: "", } - ws, err := proxyClient.CreateAppSession(ctx, request) + // TODO (Joerger): DELETE IN v17.0.0 + rootClient, err := proxyClient.ConnectToRootCluster(ctx) + if err != nil { + return tls.Certificate{}, trace.Wrap(err) + } + routeToApp.SessionID, err = auth.TryCreateAppSessionForClientCertV15(ctx, rootClient, c.status.Username, routeToApp) if err != nil { return tls.Certificate{}, trace.Wrap(err) } err = proxyClient.ReissueUserCerts(ctx, client.CertCacheKeep, client.ReissueParams{ RouteToCluster: c.clusterClient.SiteName, - RouteToApp: proto.RouteToApp{ - Name: app.GetName(), - SessionID: ws.GetName(), - PublicAddr: app.GetPublicAddr(), - ClusterName: c.clusterClient.SiteName, - AWSRoleARN: "", - AzureIdentity: "", - GCPServiceAccount: "", - }, + RouteToApp: routeToApp, AccessRequests: c.status.ActiveRequests.AccessRequests, }) if err != nil { diff --git a/tool/tctl/common/auth_command.go b/tool/tctl/common/auth_command.go index c7b6feea0be1c..6c47733725a8b 100644 --- a/tool/tctl/common/auth_command.go +++ b/tool/tctl/common/auth_command.go @@ -264,7 +264,6 @@ func (a *AuthCommand) GenerateKeys(ctx context.Context) error { // to sign certificates using the Auth Server. type certificateSigner interface { kubeutils.KubeServicesPresence - CreateAppSession(ctx context.Context, req *proto.CreateAppSessionRequest) (types.WebSession, error) GenerateDatabaseCert(context.Context, *proto.DatabaseCertRequest) (*proto.DatabaseCertResponse, error) GenerateUserCerts(ctx context.Context, req proto.UserCertsRequest) (*proto.Certs, error) GenerateWindowsDesktopCert(context.Context, *proto.WindowsDesktopCertRequest) (*proto.WindowsDesktopCertResponse, error) @@ -277,6 +276,8 @@ type certificateSigner interface { GetProxies() ([]types.Server, error) GetRemoteClusters(ctx context.Context) ([]types.RemoteCluster, error) TrustClient() trustpb.TrustServiceClient + // TODO (Joerger): DELETE IN 17.0.0 + auth.CreateAppSessionForV15Client } // GenerateAndSignKeys generates a new keypair and signs it for role @@ -875,21 +876,18 @@ func (a *AuthCommand) generateUserKeys(ctx context.Context, clusterAPI certifica return trace.Wrap(err) } - appSession, err := clusterAPI.CreateAppSession(ctx, &proto.CreateAppSessionRequest{ - Username: a.genUser, + routeToApp := proto.RouteToApp{ + Name: a.appName, PublicAddr: server.GetApp().GetPublicAddr(), ClusterName: a.leafCluster, - }) + } + + // TODO (Joerger): DELETE IN v17.0.0 + routeToApp.SessionID, err = auth.TryCreateAppSessionForClientCertV15(ctx, clusterAPI, a.genUser, routeToApp) if err != nil { return trace.Wrap(err) } - routeToApp = proto.RouteToApp{ - Name: a.appName, - PublicAddr: server.GetApp().GetPublicAddr(), - ClusterName: a.leafCluster, - SessionID: appSession.GetName(), - } certUsage = proto.UserCertsRequest_App case a.dbService != "": server, err := getDatabaseServer(ctx, clusterAPI, a.dbService) diff --git a/tool/tsh/common/app.go b/tool/tsh/common/app.go index 6e7a6cecd5d8b..cc5f2d4cb9f4f 100644 --- a/tool/tsh/common/app.go +++ b/tool/tsh/common/app.go @@ -38,6 +38,7 @@ import ( "github.com/gravitational/teleport/api/types" "github.com/gravitational/teleport/api/utils/keys" "github.com/gravitational/teleport/lib/asciitable" + "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/client" "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/tlsca" @@ -93,8 +94,8 @@ func onAppLogin(cf *CLIConf) error { log.Debugf("GCP service account is %q", gcpServiceAccount) } - request := &proto.CreateAppSessionRequest{ - Username: tc.Username, + routeToApp := proto.RouteToApp{ + Name: app.GetName(), PublicAddr: app.GetPublicAddr(), ClusterName: tc.SiteName, AWSRoleARN: awsRoleARN, @@ -102,26 +103,25 @@ func onAppLogin(cf *CLIConf) error { GCPServiceAccount: gcpServiceAccount, } - ws, err := tc.CreateAppSession(cf.Context, request) + // TODO (Joerger): DELETE IN v17.0.0 + clusterClient, err := tc.ConnectToCluster(cf.Context) + if err != nil { + return trace.Wrap(err) + } + rootClient, err := clusterClient.ConnectToRootCluster(cf.Context) + if err != nil { + return trace.Wrap(err) + } + routeToApp.SessionID, err = auth.TryCreateAppSessionForClientCertV15(cf.Context, rootClient, tc.Username, routeToApp) if err != nil { return trace.Wrap(err) } - params := client.ReissueParams{ + err = tc.ReissueUserCerts(cf.Context, client.CertCacheKeep, client.ReissueParams{ RouteToCluster: profile.Cluster, - RouteToApp: proto.RouteToApp{ - Name: app.GetName(), - SessionID: ws.GetName(), - PublicAddr: app.GetPublicAddr(), - ClusterName: tc.SiteName, - AWSRoleARN: awsRoleARN, - AzureIdentity: azureIdentity, - GCPServiceAccount: gcpServiceAccount, - }, + RouteToApp: routeToApp, AccessRequests: profile.ActiveRequests.AccessRequests, - } - - err = tc.ReissueUserCerts(cf.Context, client.CertCacheKeep, params) + }) if err != nil { return trace.Wrap(err) } From 0bf630e408066fcca8ad33c1e7eb0f35947caec5 Mon Sep 17 00:00:00 2001 From: joerger Date: Fri, 29 Mar 2024 16:21:29 -0700 Subject: [PATCH 05/11] Fix affected tests. --- lib/auth/grpcserver_test.go | 3 +++ tool/tctl/common/auth_command.go | 2 +- tool/tctl/common/auth_command_test.go | 8 +++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/auth/grpcserver_test.go b/lib/auth/grpcserver_test.go index c85d42465ad29..9c5b9c21b5804 100644 --- a/lib/auth/grpcserver_test.go +++ b/lib/auth/grpcserver_test.go @@ -744,6 +744,9 @@ func TestGenerateUserCerts_deviceExtensions(t *testing.T) { func TestGenerateUserCerts_deviceAuthz(t *testing.T) { modules.SetTestModules(t, &modules.TestModules{ TestBuildType: modules.BuildEnterprise, // required for Device Trust. + TestFeatures: modules.Features{ + App: true, + }, }) testServer := newTestTLSServer(t) diff --git a/tool/tctl/common/auth_command.go b/tool/tctl/common/auth_command.go index 6c47733725a8b..f303b6caa5e19 100644 --- a/tool/tctl/common/auth_command.go +++ b/tool/tctl/common/auth_command.go @@ -876,7 +876,7 @@ func (a *AuthCommand) generateUserKeys(ctx context.Context, clusterAPI certifica return trace.Wrap(err) } - routeToApp := proto.RouteToApp{ + routeToApp = proto.RouteToApp{ Name: a.appName, PublicAddr: server.GetApp().GetPublicAddr(), ClusterName: a.leafCluster, diff --git a/tool/tctl/common/auth_command_test.go b/tool/tctl/common/auth_command_test.go index 2de3347346cad..1b9430e6a9b1d 100644 --- a/tool/tctl/common/auth_command_test.go +++ b/tool/tctl/common/auth_command_test.go @@ -33,6 +33,7 @@ import ( "github.com/gravitational/trace" "github.com/stretchr/testify/require" + "github.com/gravitational/teleport/api" "github.com/gravitational/teleport/api/client/proto" "github.com/gravitational/teleport/api/client/webclient" "github.com/gravitational/teleport/api/fixtures" @@ -404,6 +405,12 @@ func (c *mockClient) GetClusterName(...services.MarshalOption) (types.ClusterNam return c.clusterName, nil } +func (c *mockClient) Ping(ctx context.Context) (proto.PingResponse, error) { + return proto.PingResponse{ + ServerVersion: api.Version, + }, nil +} + func (c *mockClient) GetClusterNetworkingConfig(ctx context.Context) (types.ClusterNetworkingConfig, error) { if c.networkConfig == nil { return &types.ClusterNetworkingConfigV2{}, nil @@ -821,7 +828,6 @@ func TestGenerateAppCertificates(t *testing.T) { expectedRouteToApp := proto.RouteToApp{ Name: tc.appName, - SessionID: sessionID, PublicAddr: publicAddr, ClusterName: clusterNameStr, } From 834a32eebc97366edbce5b84d6b34ff19d191567 Mon Sep 17 00:00:00 2001 From: joerger Date: Tue, 2 Apr 2024 10:46:35 -0700 Subject: [PATCH 06/11] Use traits and roles from existing user certificate for app sessions. --- lib/auth/auth_with_roles.go | 1 + lib/auth/sessions.go | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index 1442d095e5f09..5f9c837e17024 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -3164,6 +3164,7 @@ func (a *ServerWithRoles) generateUserCerts(ctx context.Context, req proto.UserC LoginIP: a.context.Identity.GetIdentity().LoginIP, SessionTTL: req.Expires.Sub(a.authServer.GetClock().Now()), Traits: accessInfo.Traits, + Roles: accessInfo.Roles, AccessRequests: req.AccessRequests, }, PublicAddr: req.RouteToApp.PublicAddr, diff --git a/lib/auth/sessions.go b/lib/auth/sessions.go index d4d8b46a6ce34..83b9d9ea2bbb7 100644 --- a/lib/auth/sessions.go +++ b/lib/auth/sessions.go @@ -127,10 +127,12 @@ func (a *Server) newWebSession( // TODO(antonam): consider turning this into error after all use cases are covered (before v14.0 testplan) log.Debug("Creating new web session without login IP specified.") } + clusterName, err := a.GetClusterName() if err != nil { return nil, trace.Wrap(err) } + checker, err := services.NewAccessChecker(&services.AccessInfo{ Roles: req.Roles, Traits: req.Traits, @@ -283,7 +285,7 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi // Encode user traits in the app access certificate. This will allow to // pass user traits when talking to app servers in leaf clusters. - _, traits, err := services.ExtractFromIdentity(ctx, a, identity) + roles, traits, err := services.ExtractFromIdentity(ctx, a, identity) if err != nil { return nil, trace.Wrap(err) } @@ -303,6 +305,7 @@ func (a *Server) CreateAppSession(ctx context.Context, req *proto.CreateAppSessi User: req.Username, LoginIP: identity.LoginIP, SessionTTL: ttl, + Roles: roles, Traits: traits, AccessRequests: identity.ActiveRequests, }, @@ -336,9 +339,11 @@ func (a *Server) CreateAppSessionFromReq(ctx context.Context, req NewAppSessionR if err != nil { return nil, trace.Wrap(err) } + checker, err := services.NewAccessChecker(&services.AccessInfo{ - Roles: user.GetRoles(), - Traits: user.GetTraits(), + Username: req.User, + Roles: req.Roles, + Traits: req.Traits, AllowedResourceIDs: req.RequestedResourceIDs, }, clusterName.GetClusterName(), a) if err != nil { From 8a8a89efdf9e3c34fcb144eda7d141f9f4438fee Mon Sep 17 00:00:00 2001 From: joerger Date: Thu, 18 Apr 2024 17:49:46 -0700 Subject: [PATCH 07/11] Fix app access integration tests. --- integration/appaccess/pack.go | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/integration/appaccess/pack.go b/integration/appaccess/pack.go index 360f1344e4c07..671056a33fab6 100644 --- a/integration/appaccess/pack.go +++ b/integration/appaccess/pack.go @@ -47,7 +47,6 @@ import ( "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/auth/native" "github.com/gravitational/teleport/lib/client" - "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/events" "github.com/gravitational/teleport/lib/httplib/csrf" "github.com/gravitational/teleport/lib/httplib/reverseproxy" @@ -348,26 +347,20 @@ func (p *Pack) CreateAppSessionWithClientCert(t *testing.T) []tls.Certificate { } func (p *Pack) CreateAppSession(t *testing.T, username, clusterName, appPublicAddr string) types.WebSession { - privateKey, publicKey, err := native.GenerateKeyPair() - require.NoError(t, err) - - certificate, err := p.rootCluster.Process.GetAuthServer().GenerateUserAppTestCert( - auth.AppTestCertRequest{ - PublicKey: publicKey, - Username: username, - TTL: time.Hour, - PublicAddr: appPublicAddr, - ClusterName: clusterName, - }) - require.NoError(t, err) - - token, err := utils.CryptoRandomHex(defaults.SessionTokenBytes) + ctx := context.Background() + userState, err := p.rootCluster.Process.GetAuthServer().GetUserOrLoginState(ctx, username) require.NoError(t, err) + accessInfo := services.AccessInfoFromUserState(userState) - ws, err := types.NewWebSession(token, types.KindAppSession, types.WebSessionSpecV2{ - Priv: privateKey, - Pub: publicKey, - TLSCert: certificate, + ws, err := p.rootCluster.Process.GetAuthServer().CreateAppSessionFromReq(ctx, auth.NewAppSessionRequest{ + NewWebSessionRequest: auth.NewWebSessionRequest{ + User: username, + Roles: accessInfo.Roles, + Traits: accessInfo.Traits, + SessionTTL: time.Hour, + }, + PublicAddr: appPublicAddr, + ClusterName: clusterName, }) require.NoError(t, err) From cc6caa248574c8cf40008da060f0c1d033dd4f04 Mon Sep 17 00:00:00 2001 From: joerger Date: Mon, 22 Apr 2024 09:51:48 -0700 Subject: [PATCH 08/11] go mod tidy. --- go.mod | 2 ++ go.sum | 2 ++ 2 files changed, 4 insertions(+) diff --git a/go.mod b/go.mod index c75877eeb587f..b741879f0ced7 100644 --- a/go.mod +++ b/go.mod @@ -235,6 +235,8 @@ require ( github.com/mailgun/minheap v0.0.0-20170619185613-3dbe6c6bf55f // indirect ) +require gopkg.in/square/go-jose.v2 v2.6.0 + require ( cloud.google.com/go v0.112.1 // indirect cloud.google.com/go/longrunning v0.5.6 // indirect diff --git a/go.sum b/go.sum index 0f11daca556f8..2494e3710a45f 100644 --- a/go.sum +++ b/go.sum @@ -3147,6 +3147,8 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= From ee3ed913203e892fd466801e6c1a1eeb980cf404 Mon Sep 17 00:00:00 2001 From: joerger Date: Mon, 22 Apr 2024 10:36:40 -0700 Subject: [PATCH 09/11] Fix TestTCP. --- integration/appaccess/appaccess_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/appaccess/appaccess_test.go b/integration/appaccess/appaccess_test.go index 8480ccad2843e..928b0f039a6f7 100644 --- a/integration/appaccess/appaccess_test.go +++ b/integration/appaccess/appaccess_test.go @@ -629,7 +629,7 @@ func TestTCP(t *testing.T) { evilUser, _ := pack.CreateUser(t) rootWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.rootTCPPublicAddr) - leafWs := pack.CreateAppSession(t, pack.tc.Username, pack.rootAppClusterName, pack.leafTCPPublicAddr) + leafWs := pack.CreateAppSession(t, pack.tc.Username, pack.leafAppClusterName, pack.leafTCPPublicAddr) tests := []struct { description string From d6ff75e84d60811005e26810f3368fd6a7521a55 Mon Sep 17 00:00:00 2001 From: joerger Date: Mon, 22 Apr 2024 11:08:43 -0700 Subject: [PATCH 10/11] Fix TestALPNSNIProxyAppAccess. --- integration/appaccess/pack.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integration/appaccess/pack.go b/integration/appaccess/pack.go index 671056a33fab6..37be061735b88 100644 --- a/integration/appaccess/pack.go +++ b/integration/appaccess/pack.go @@ -341,7 +341,7 @@ func (p *Pack) CreateAppSessionCookies(t *testing.T, publicAddr, clusterName str // cluster and returns the client cert that can be used for an application // request. func (p *Pack) CreateAppSessionWithClientCert(t *testing.T) []tls.Certificate { - session := p.CreateAppSession(t, p.username, p.rootAppPublicAddr, p.rootAppClusterName) + session := p.CreateAppSession(t, p.username, p.rootAppClusterName, p.rootAppPublicAddr) config := p.makeTLSConfig(t, session.GetName(), session.GetUser(), p.rootAppPublicAddr, p.rootAppClusterName, "") return config.Certificates } From 8ac56697c77972882e9839828a50003c18433667 Mon Sep 17 00:00:00 2001 From: joerger Date: Tue, 23 Apr 2024 12:35:09 -0700 Subject: [PATCH 11/11] Revert "go mod tidy." This reverts commit cc6caa248574c8cf40008da060f0c1d033dd4f04. --- go.mod | 2 -- go.sum | 2 -- 2 files changed, 4 deletions(-) diff --git a/go.mod b/go.mod index d9af2d9eb63d4..26f2f1e9008e2 100644 --- a/go.mod +++ b/go.mod @@ -236,8 +236,6 @@ require ( github.com/mailgun/minheap v0.0.0-20170619185613-3dbe6c6bf55f // indirect ) -require gopkg.in/square/go-jose.v2 v2.6.0 - require ( cloud.google.com/go v0.112.1 // indirect cloud.google.com/go/auth v0.2.2 // indirect diff --git a/go.sum b/go.sum index 828345269d145..4e03b6c80a0cc 100644 --- a/go.sum +++ b/go.sum @@ -3151,8 +3151,6 @@ gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24 gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= -gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=