diff --git a/assets/swagger.json b/assets/swagger.json index fb78f9420dc12..cd0bb3dd033f2 100644 --- a/assets/swagger.json +++ b/assets/swagger.json @@ -6529,6 +6529,10 @@ "kustomize": { "$ref": "#/definitions/v1alpha1ApplicationSourceKustomize" }, + "name": { + "description": "Name is used to refer to a source and is displayed in the UI.", + "type": "string" + }, "path": { "description": "Path is a directory path within the Git repository, and is only valid for applications sourced from Git.", "type": "string" diff --git a/cmd/argocd/commands/app.go b/cmd/argocd/commands/app.go index 29b3ee2df27da..35e8eac1c15d6 100644 --- a/cmd/argocd/commands/app.go +++ b/cmd/argocd/commands/app.go @@ -316,6 +316,17 @@ func printHeader(acdClient argocdclient.Client, app *argoappv1.Application, ctx } } +// getSourceNameToPositionMap returns a map of source name to position +func getSourceNameToPositionMap(app *argoappv1.Application) map[string]int64 { + sourceNameToPosition := make(map[string]int64) + for i, s := range app.Spec.Sources { + if s.Name != "" { + sourceNameToPosition[s.Name] = int64(i + 1) + } + } + return sourceNameToPosition +} + // NewApplicationGetCommand returns a new instance of an `argocd app get` command func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( @@ -326,6 +337,7 @@ func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com showOperation bool appNamespace string sourcePosition int + sourceName string ) command := &cobra.Command{ Use: "get APPNAME", @@ -349,6 +361,9 @@ func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com # Show application parameters and overrides for a source at position 1 under spec.sources of app my-app argocd app get my-app --show-params --source-position 1 + # Show application parameters and overrides for a source named "test" + argocd app get my-app --show-params --source-name test + # Refresh application data when retrieving argocd app get my-app --refresh @@ -381,6 +396,19 @@ func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com }) errors.CheckError(err) + if sourceName != "" && sourcePosition != -1 { + errors.CheckError(fmt.Errorf("Only one of source-position and source-name can be specified.")) + } + + if sourceName != "" { + sourceNameToPosition := getSourceNameToPositionMap(app) + if pos, ok := sourceNameToPosition[sourceName]; !ok { + log.Fatalf("Unknown source name '%s'", sourceName) + } else { + sourcePosition = int(pos) + } + } + if app.Spec.HasMultipleSources() { if sourcePosition <= 0 { errors.CheckError(fmt.Errorf("Source position should be specified and must be greater than 0 for applications with multiple sources")) @@ -435,6 +463,7 @@ func NewApplicationGetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com command.Flags().BoolVar(&hardRefresh, "hard-refresh", false, "Refresh application data as well as target manifests cache") command.Flags().StringVarP(&appNamespace, "app-namespace", "N", "", "Only get application from namespace") command.Flags().IntVar(&sourcePosition, "source-position", -1, "Position of the source from the list of sources of the app. Counting starts at 1.") + command.Flags().StringVar(&sourceName, "source-name", "", "Name of the source from the list of sources of the app.") return command } @@ -764,6 +793,7 @@ func NewApplicationSetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com appOpts cmdutil.AppOptions appNamespace string sourcePosition int + sourceName string ) command := &cobra.Command{ Use: "set APPNAME", @@ -778,6 +808,9 @@ func NewApplicationSetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com # Set and override application parameters for a source at position 1 under spec.sources of app my-app. source-position starts at 1. argocd app set my-app --source-position 1 --repo https://github.com/argoproj/argocd-example-apps.git + # Set and override application parameters for a source named "test" under spec.sources of app my-app. + argocd app set my-app --source-name test --repo https://github.com/argoproj/argocd-example-apps.git + # Set application parameters and specify the namespace argocd app set my-app --parameter key1=value1 --parameter key2=value2 --namespace my-namespace `), @@ -796,6 +829,20 @@ func NewApplicationSetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Com app, err := appIf.Get(ctx, &application.ApplicationQuery{Name: &appName, AppNamespace: &appNs}) errors.CheckError(err) + sourceName = appOpts.SourceName + if sourceName != "" && sourcePosition != -1 { + errors.CheckError(fmt.Errorf("Only one of source-position and source-name can be specified.")) + } + + if sourceName != "" { + sourceNameToPosition := getSourceNameToPositionMap(app) + if pos, ok := sourceNameToPosition[sourceName]; !ok { + log.Fatalf("Unknown source name '%s'", sourceName) + } else { + sourcePosition = int(pos) + } + } + if app.Spec.HasMultipleSources() { if sourcePosition <= 0 { errors.CheckError(fmt.Errorf("Source position should be specified and must be greater than 0 for applications with multiple sources")) @@ -859,6 +906,7 @@ func (o *unsetOpts) KustomizeIsZero() bool { // NewApplicationUnsetCommand returns a new instance of an `argocd app unset` command func NewApplicationUnsetCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var sourcePosition int + var sourceName string appOpts := cmdutil.AppOptions{} opts := unsetOpts{} var appNamespace string @@ -874,6 +922,9 @@ func NewApplicationUnsetCommand(clientOpts *argocdclient.ClientOptions) *cobra.C # Unset kustomize override suffix for source at position 1 under spec.sources of app my-app. source-position starts at 1. argocd app unset my-app --source-position 1 --namesuffix + # Unset kustomize override suffix for source named "test" under spec.sources of app my-app. + argocd app unset my-app --source-name test --namesuffix + # Unset parameter override argocd app unset my-app -p COMPONENT=PARAM`, @@ -891,6 +942,20 @@ func NewApplicationUnsetCommand(clientOpts *argocdclient.ClientOptions) *cobra.C app, err := appIf.Get(ctx, &application.ApplicationQuery{Name: &appName, AppNamespace: &appNs}) errors.CheckError(err) + sourceName = appOpts.SourceName + if sourceName != "" && sourcePosition != -1 { + errors.CheckError(fmt.Errorf("Only one of source-position and source-name can be specified.")) + } + + if sourceName != "" { + sourceNameToPosition := getSourceNameToPositionMap(app) + if pos, ok := sourceNameToPosition[sourceName]; !ok { + log.Fatalf("Unknown source name '%s'", sourceName) + } else { + sourcePosition = int(pos) + } + } + if app.Spec.HasMultipleSources() { if sourcePosition <= 0 { errors.CheckError(fmt.Errorf("Source position should be specified and must be greater than 0 for applications with multiple sources")) @@ -1152,6 +1217,7 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co appNamespace string revisions []string sourcePositions []int64 + sourceNames []string ignoreNormalizerOpts normalizers.IgnoreNormalizerOpts ) shortDesc := "Perform a diff against the target and live state." @@ -1167,8 +1233,16 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co os.Exit(2) } - if len(revisions) != len(sourcePositions) { - errors.CheckError(fmt.Errorf("While using revisions and source-positions, length of values for both flags should be same.")) + if len(sourceNames) > 0 && len(sourcePositions) > 0 { + errors.CheckError(fmt.Errorf("Only one of source-positions and source-names can be specified.")) + } + + if len(sourcePositions) > 0 && len(revisions) != len(sourcePositions) { + errors.CheckError(fmt.Errorf("While using --revisions and --source-positions, length of values for both flags should be same.")) + } + + if len(sourceNames) > 0 && len(revisions) != len(sourceNames) { + errors.CheckError(fmt.Errorf("While using --revisions and --source-names, length of values for both flags should be same.")) } clientset := headless.NewClientOrDie(clientOpts, c) @@ -1182,6 +1256,18 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co }) errors.CheckError(err) + if len(sourceNames) > 0 { + sourceNameToPosition := getSourceNameToPositionMap(app) + + for _, name := range sourceNames { + if pos, ok := sourceNameToPosition[name]; !ok { + log.Fatalf("Unknown source name '%s'", name) + } else { + sourcePositions = append(sourcePositions, pos) + } + } + } + resources, err := appIf.ManagedResources(ctx, &application.ResourcesQuery{ApplicationName: &appName, AppNamespace: &appNs}) errors.CheckError(err) conn, settingsIf := clientset.NewSettingsClientOrDie() @@ -1262,6 +1348,7 @@ func NewApplicationDiffCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co command.Flags().StringVarP(&appNamespace, "app-namespace", "N", "", "Only render the difference in namespace") command.Flags().StringArrayVar(&revisions, "revisions", []string{}, "Show manifests at specific revisions for source position in source-positions") command.Flags().Int64SliceVar(&sourcePositions, "source-positions", []int64{}, "List of source positions. Default is empty array. Counting start at 1.") + command.Flags().StringArrayVar(&sourceNames, "source-names", []string{}, "List of source names. Default is an empty array.") command.Flags().DurationVar(&ignoreNormalizerOpts.JQExecutionTimeout, "ignore-normalizer-jq-execution-timeout", normalizers.DefaultJQExecutionTimeout, "Set ignore normalizer JQ execution timeout") return command } @@ -1835,6 +1922,7 @@ func NewApplicationSyncCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co revision string revisions []string sourcePositions []int64 + sourceNames []string resources []string labels []string selector string @@ -1878,7 +1966,8 @@ func NewApplicationSyncCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co argocd app sync -l 'app.kubernetes.io/instance notin (my-app,other-app)' # Sync a multi-source application for specific revision of specific sources - argocd app manifests my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 + argocd app sync my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 + argocd app sync my-app --revisions 0.0.1 --source-names my-chart --revisions 0.0.2 --source-names my-values # Sync a specific resource # Resource should be formatted as GROUP:KIND:NAME. If no GROUP is specified then :KIND:NAME @@ -1903,10 +1992,22 @@ func NewApplicationSyncCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co log.Fatal("Cannot use --revisions and --source-positions options when 0 or more than 1 application names are passed as argument(s)") } - if len(revisions) != len(sourcePositions) { + if len(args) != 1 && (len(revisions) > 0 || len(sourceNames) > 0) { + log.Fatal("Cannot use --revisions and --source-names options when 0 or more than 1 application names are passed as argument(s)") + } + + if len(sourceNames) > 0 && len(sourcePositions) > 0 { + log.Fatal("Only one of source-positions and source-names can be specified.") + } + + if len(sourcePositions) > 0 && len(revisions) != len(sourcePositions) { log.Fatal("While using --revisions and --source-positions, length of values for both flags should be same.") } + if len(sourceNames) > 0 && len(revisions) != len(sourceNames) { + log.Fatal("While using --revisions and --source-names, length of values for both flags should be same.") + } + for _, pos := range sourcePositions { if pos <= 0 { log.Fatal("source-position cannot be less than or equal to 0, Counting starts at 1") @@ -1920,6 +2021,22 @@ func NewApplicationSyncCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co selectedLabels, err := label.Parse(labels) errors.CheckError(err) + if len(args) == 1 && len(sourceNames) > 0 { + appName, _ := argo.ParseFromQualifiedName(args[0], appNamespace) + app, err := appIf.Get(context.Background(), &application.ApplicationQuery{Name: &appName}) + errors.CheckError(err) + + sourceNameToPosition := getSourceNameToPositionMap(app) + + for _, name := range sourceNames { + if pos, ok := sourceNameToPosition[name]; !ok { + log.Fatalf("Unknown source name '%s'", name) + } else { + sourcePositions = append(sourcePositions, pos) + } + } + } + appNames := args if selector != "" || len(projects) > 0 { list, err := appIf.List(ctx, &application.ApplicationQuery{ @@ -2178,6 +2295,7 @@ func NewApplicationSyncCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co command.Flags().DurationVar(&ignoreNormalizerOpts.JQExecutionTimeout, "ignore-normalizer-jq-execution-timeout", normalizers.DefaultJQExecutionTimeout, "Set ignore normalizer JQ execution timeout") command.Flags().StringArrayVar(&revisions, "revisions", []string{}, "Show manifests at specific revisions for source position in source-positions") command.Flags().Int64SliceVar(&sourcePositions, "source-positions", []int64{}, "List of source positions. Default is empty array. Counting start at 1.") + command.Flags().StringArrayVar(&sourceNames, "source-names", []string{}, "List of source names. Default is an empty array.") return command } @@ -2818,6 +2936,7 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob revision string revisions []string sourcePositions []int64 + sourceNames []string local string localRepoRoot string ) @@ -2831,6 +2950,9 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob # Get manifests for an application at a specific revision argocd app manifests my-app --revision 0.0.1 + # Get manifests for a multi-source application at specific revisions for specific sources + argocd app manifests my-app --revisions 0.0.1 --source-names src-base --revisions 0.0.2 --source-names src-values + # Get manifests for a multi-source application at specific revisions for specific sources argocd app manifests my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 `), @@ -2842,8 +2964,16 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob os.Exit(1) } - if len(revisions) != len(sourcePositions) { - errors.CheckError(fmt.Errorf("While using revisions and source-positions, length of values for both flags should be same.")) + if len(sourceNames) > 0 && len(sourcePositions) > 0 { + errors.CheckError(fmt.Errorf("Only one of source-positions and source-names can be specified.")) + } + + if len(sourcePositions) > 0 && len(revisions) != len(sourcePositions) { + errors.CheckError(fmt.Errorf("While using --revisions and --source-positions, length of values for both flags should be same.")) + } + + if len(sourceNames) > 0 && len(revisions) != len(sourceNames) { + errors.CheckError(fmt.Errorf("While using --revisions and --source-names, length of values for both flags should be same.")) } for _, pos := range sourcePositions { @@ -2857,6 +2987,24 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob conn, appIf := clientset.NewApplicationClientOrDie() defer argoio.Close(conn) + app, err := appIf.Get(context.Background(), &application.ApplicationQuery{ + Name: &appName, + AppNamespace: &appNs, + }) + errors.CheckError(err) + + if len(sourceNames) > 0 { + sourceNameToPosition := getSourceNameToPositionMap(app) + + for _, name := range sourceNames { + if pos, ok := sourceNameToPosition[name]; !ok { + log.Fatalf("Unknown source name '%s'", name) + } else { + sourcePositions = append(sourcePositions, pos) + } + } + } + resources, err := appIf.ManagedResources(ctx, &application.ResourcesQuery{ ApplicationName: &appName, AppNamespace: &appNs, @@ -2867,9 +3015,6 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob switch source { case "git": if local != "" { - app, err := appIf.Get(context.Background(), &application.ApplicationQuery{Name: &appName}) - errors.CheckError(err) - settingsConn, settingsIf := clientset.NewSettingsClientOrDie() defer argoio.Close(settingsConn) argoSettings, err := settingsIf.Get(context.Background(), &settings.SettingsQuery{}) @@ -2938,6 +3083,7 @@ func NewApplicationManifestsCommand(clientOpts *argocdclient.ClientOptions) *cob command.Flags().StringVar(&revision, "revision", "", "Show manifests at a specific revision") command.Flags().StringArrayVar(&revisions, "revisions", []string{}, "Show manifests at specific revisions for the source at position in source-positions") command.Flags().Int64SliceVar(&sourcePositions, "source-positions", []int64{}, "List of source positions. Default is empty array. Counting start at 1.") + command.Flags().StringArrayVar(&sourceNames, "source-names", []string{}, "List of source names. Default is an empty array.") command.Flags().StringVar(&local, "local", "", "If set, show locally-generated manifests. Value is the absolute path to app manifests within the manifest repo. Example: '/home/username/apps/env/app-1'.") command.Flags().StringVar(&localRepoRoot, "local-repo-root", ".", "Path to the local repository root. Used together with --local allows setting the repository root. Example: '/home/username/apps'.") return command @@ -3086,7 +3232,7 @@ func NewApplicationAddSourceCommand(clientOpts *argocdclient.ClientOptions) *cob Use: "add-source APPNAME", Short: "Adds a source to the list of sources in the application", Example: ` # Append a source to the list of sources in the application - argocd app add-source guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook`, + argocd app add-source guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --source-name guestbook`, Run: func(c *cobra.Command, args []string) { ctx := c.Context() if len(args) != 1 { @@ -3144,13 +3290,17 @@ func NewApplicationAddSourceCommand(clientOpts *argocdclient.ClientOptions) *cob func NewApplicationRemoveSourceCommand(clientOpts *argocdclient.ClientOptions) *cobra.Command { var ( sourcePosition int + sourceName string appNamespace string ) command := &cobra.Command{ Use: "remove-source APPNAME", - Short: "Remove a source from multiple sources application. Counting starts with 1. Default value is -1.", + Short: "Remove a source from multiple sources application.", Example: ` # Remove the source at position 1 from application's sources. Counting starts at 1. - argocd app remove-source myapplication --source-position 1`, + argocd app remove-source myapplication --source-position 1 + + # Remove the source named "test" from application's sources. + argocd app remove-source myapplication --source-name test`, Run: func(c *cobra.Command, args []string) { ctx := c.Context() @@ -3159,7 +3309,7 @@ func NewApplicationRemoveSourceCommand(clientOpts *argocdclient.ClientOptions) * os.Exit(1) } - if sourcePosition <= 0 { + if sourceName == "" && sourcePosition <= 0 { errors.CheckError(fmt.Errorf("Value of source-position must be greater than 0")) } @@ -3176,6 +3326,19 @@ func NewApplicationRemoveSourceCommand(clientOpts *argocdclient.ClientOptions) * }) errors.CheckError(err) + if sourceName != "" && sourcePosition != -1 { + errors.CheckError(fmt.Errorf("Only one of source-position and source-name can be specified.")) + } + + if sourceName != "" { + sourceNameToPosition := getSourceNameToPositionMap(app) + if pos, ok := sourceNameToPosition[sourceName]; !ok { + log.Fatalf("Unknown source name '%s'", sourceName) + } else { + sourcePosition = int(pos) + } + } + if !app.Spec.HasMultipleSources() { errors.CheckError(fmt.Errorf("Application does not have multiple sources configured")) } @@ -3202,6 +3365,7 @@ func NewApplicationRemoveSourceCommand(clientOpts *argocdclient.ClientOptions) * } command.Flags().StringVarP(&appNamespace, "app-namespace", "N", "", "Namespace of the target application where the source will be appended") command.Flags().IntVar(&sourcePosition, "source-position", -1, "Position of the source from the list of sources of the app. Counting starts at 1.") + command.Flags().StringVar(&sourceName, "source-name", "", "Name of the source from the list of sources of the app.") return command } diff --git a/cmd/util/app.go b/cmd/util/app.go index 025ef968097e5..f53b808f8a938 100644 --- a/cmd/util/app.go +++ b/cmd/util/app.go @@ -89,6 +89,7 @@ type AppOptions struct { retryBackoffMaxDuration time.Duration retryBackoffFactor int64 ref string + SourceName string } // SetAutoMaxProcs sets the GOMAXPROCS value based on the binary name. @@ -164,6 +165,7 @@ func AddAppFlags(command *cobra.Command, opts *AppOptions) { command.Flags().DurationVar(&opts.retryBackoffMaxDuration, "sync-retry-backoff-max-duration", argoappv1.DefaultSyncRetryMaxDuration, "Max sync retry backoff duration. Input needs to be a duration (e.g. 2m, 1h)") command.Flags().Int64Var(&opts.retryBackoffFactor, "sync-retry-backoff-factor", argoappv1.DefaultSyncRetryFactor, "Factor multiplies the base duration after each failed sync retry") command.Flags().StringVar(&opts.ref, "ref", "", "Ref is reference to another source within sources field") + command.Flags().StringVar(&opts.SourceName, "source-name", "", "Name of the source from the list of sources of the app.") } func SetAppSpecOptions(flags *pflag.FlagSet, spec *argoappv1.ApplicationSpec, appOpts *AppOptions, sourcePosition int) int { @@ -751,6 +753,8 @@ func ConstructSource(source *argoappv1.ApplicationSource, appOpts AppOptions, fl setPluginOptEnvs(source, appOpts.pluginEnvs) case "ref": source.Ref = appOpts.ref + case "source-name": + source.Name = appOpts.SourceName } }) return source, visited diff --git a/docs/user-guide/commands/argocd_admin_app_generate-spec.md b/docs/user-guide/commands/argocd_admin_app_generate-spec.md index abb54ae0ad3eb..5588be20e590c 100644 --- a/docs/user-guide/commands/argocd_admin_app_generate-spec.md +++ b/docs/user-guide/commands/argocd_admin_app_generate-spec.md @@ -93,6 +93,7 @@ argocd admin app generate-spec APPNAME [flags] --revision-history-limit int How many items to keep in revision history (default 10) --self-heal Set self healing when sync is automated --set-finalizer Sets deletion finalizer on the application, application resources will be cascaded on deletion + --source-name string Name of the source from the list of sources of the app. --sync-option Prune=false Add or remove a sync option, e.g add Prune=false. Remove using `!` prefix, e.g. `!Prune=false` --sync-policy string Set the sync policy (one of: manual (aliases of manual: none), automated (aliases of automated: auto, automatic)) --sync-retry-backoff-duration duration Sync retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h) (default 5s) diff --git a/docs/user-guide/commands/argocd_app.md b/docs/user-guide/commands/argocd_app.md index 7b675f3b08bca..712b5f408e9a6 100644 --- a/docs/user-guide/commands/argocd_app.md +++ b/docs/user-guide/commands/argocd_app.md @@ -94,7 +94,7 @@ argocd app [flags] * [argocd app manifests](argocd_app_manifests.md) - Print manifests of an application * [argocd app patch](argocd_app_patch.md) - Patch application * [argocd app patch-resource](argocd_app_patch-resource.md) - Patch resource in an application -* [argocd app remove-source](argocd_app_remove-source.md) - Remove a source from multiple sources application. Counting starts with 1. Default value is -1. +* [argocd app remove-source](argocd_app_remove-source.md) - Remove a source from multiple sources application. * [argocd app resources](argocd_app_resources.md) - List resource of application * [argocd app rollback](argocd_app_rollback.md) - Rollback application to a previous deployed version by History ID, omitted will Rollback to the previous version * [argocd app set](argocd_app_set.md) - Set application parameters diff --git a/docs/user-guide/commands/argocd_app_add-source.md b/docs/user-guide/commands/argocd_app_add-source.md index 98fdb57a6f37a..4689914d1f6e9 100644 --- a/docs/user-guide/commands/argocd_app_add-source.md +++ b/docs/user-guide/commands/argocd_app_add-source.md @@ -12,7 +12,7 @@ argocd app add-source APPNAME [flags] ``` # Append a source to the list of sources in the application - argocd app add-source guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook + argocd app add-source guestbook --repo https://github.com/argoproj/argocd-example-apps.git --path guestbook --source-name guestbook ``` ### Options @@ -70,6 +70,7 @@ argocd app add-source APPNAME [flags] --revision string The tracking source branch, tag, commit or Helm chart version the application will sync to --revision-history-limit int How many items to keep in revision history (default 10) --self-heal Set self healing when sync is automated + --source-name string Name of the source from the list of sources of the app. --sync-option Prune=false Add or remove a sync option, e.g add Prune=false. Remove using `!` prefix, e.g. `!Prune=false` --sync-policy string Set the sync policy (one of: manual (aliases of manual: none), automated (aliases of automated: auto, automatic)) --sync-retry-backoff-duration duration Sync retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h) (default 5s) diff --git a/docs/user-guide/commands/argocd_app_create.md b/docs/user-guide/commands/argocd_app_create.md index 4ba51b98779df..4bfb5056581b9 100644 --- a/docs/user-guide/commands/argocd_app_create.md +++ b/docs/user-guide/commands/argocd_app_create.md @@ -93,6 +93,7 @@ argocd app create APPNAME [flags] --revision-history-limit int How many items to keep in revision history (default 10) --self-heal Set self healing when sync is automated --set-finalizer Sets deletion finalizer on the application, application resources will be cascaded on deletion + --source-name string Name of the source from the list of sources of the app. --sync-option Prune=false Add or remove a sync option, e.g add Prune=false. Remove using `!` prefix, e.g. `!Prune=false` --sync-policy string Set the sync policy (one of: manual (aliases of manual: none), automated (aliases of automated: auto, automatic)) --sync-retry-backoff-duration duration Sync retry backoff base duration. Input needs to be a duration (e.g. 2m, 1h) (default 5s) diff --git a/docs/user-guide/commands/argocd_app_diff.md b/docs/user-guide/commands/argocd_app_diff.md index f86f76d20891e..4cec2d6404708 100644 --- a/docs/user-guide/commands/argocd_app_diff.md +++ b/docs/user-guide/commands/argocd_app_diff.md @@ -31,6 +31,7 @@ argocd app diff APPNAME [flags] --revision string Compare live app to a particular revision --revisions stringArray Show manifests at specific revisions for source position in source-positions --server-side-generate Used with --local, this will send your manifests to the server for diffing + --source-names stringArray List of source names. Default is an empty array. --source-positions int64Slice List of source positions. Default is empty array. Counting start at 1. (default []) ``` diff --git a/docs/user-guide/commands/argocd_app_get.md b/docs/user-guide/commands/argocd_app_get.md index 8f132f0a2cb68..6d7bb1d9ea7bb 100644 --- a/docs/user-guide/commands/argocd_app_get.md +++ b/docs/user-guide/commands/argocd_app_get.md @@ -29,6 +29,9 @@ argocd app get APPNAME [flags] # Show application parameters and overrides for a source at position 1 under spec.sources of app my-app argocd app get my-app --show-params --source-position 1 + # Show application parameters and overrides for a source named "test" + argocd app get my-app --show-params --source-name test + # Refresh application data when retrieving argocd app get my-app --refresh @@ -52,6 +55,7 @@ argocd app get APPNAME [flags] --refresh Refresh application data when retrieving --show-operation Show application operation --show-params Show application parameters and overrides + --source-name string Name of the source from the list of sources of the app. --source-position int Position of the source from the list of sources of the app. Counting starts at 1. (default -1) ``` diff --git a/docs/user-guide/commands/argocd_app_manifests.md b/docs/user-guide/commands/argocd_app_manifests.md index 3a0a748f58613..3cae8c654bd73 100644 --- a/docs/user-guide/commands/argocd_app_manifests.md +++ b/docs/user-guide/commands/argocd_app_manifests.md @@ -17,6 +17,9 @@ argocd app manifests APPNAME [flags] # Get manifests for an application at a specific revision argocd app manifests my-app --revision 0.0.1 + # Get manifests for a multi-source application at specific revisions for specific sources + argocd app manifests my-app --revisions 0.0.1 --source-names src-base --revisions 0.0.2 --source-names src-values + # Get manifests for a multi-source application at specific revisions for specific sources argocd app manifests my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 ``` @@ -30,6 +33,7 @@ argocd app manifests APPNAME [flags] --revision string Show manifests at a specific revision --revisions stringArray Show manifests at specific revisions for the source at position in source-positions --source string Source of manifests. One of: live|git (default "git") + --source-names stringArray List of source names. Default is an empty array. --source-positions int64Slice List of source positions. Default is empty array. Counting start at 1. (default []) ``` diff --git a/docs/user-guide/commands/argocd_app_remove-source.md b/docs/user-guide/commands/argocd_app_remove-source.md index 213e71f298f29..3c35119697534 100644 --- a/docs/user-guide/commands/argocd_app_remove-source.md +++ b/docs/user-guide/commands/argocd_app_remove-source.md @@ -2,7 +2,7 @@ ## argocd app remove-source -Remove a source from multiple sources application. Counting starts with 1. Default value is -1. +Remove a source from multiple sources application. ``` argocd app remove-source APPNAME [flags] @@ -13,6 +13,9 @@ argocd app remove-source APPNAME [flags] ``` # Remove the source at position 1 from application's sources. Counting starts at 1. argocd app remove-source myapplication --source-position 1 + + # Remove the source named "test" from application's sources. + argocd app remove-source myapplication --source-name test ``` ### Options @@ -20,6 +23,7 @@ argocd app remove-source APPNAME [flags] ``` -N, --app-namespace string Namespace of the target application where the source will be appended -h, --help help for remove-source + --source-name string Name of the source from the list of sources of the app. --source-position int Position of the source from the list of sources of the app. Counting starts at 1. (default -1) ``` diff --git a/docs/user-guide/commands/argocd_app_set.md b/docs/user-guide/commands/argocd_app_set.md index fde1b520984eb..c0e41ee54bc73 100644 --- a/docs/user-guide/commands/argocd_app_set.md +++ b/docs/user-guide/commands/argocd_app_set.md @@ -20,6 +20,9 @@ argocd app set APPNAME [flags] # Set and override application parameters for a source at position 1 under spec.sources of app my-app. source-position starts at 1. argocd app set my-app --source-position 1 --repo https://github.com/argoproj/argocd-example-apps.git + # Set and override application parameters for a source named "test" under spec.sources of app my-app. + argocd app set my-app --source-name test --repo https://github.com/argoproj/argocd-example-apps.git + # Set application parameters and specify the namespace argocd app set my-app --parameter key1=value1 --parameter key2=value2 --namespace my-namespace ``` @@ -79,6 +82,7 @@ argocd app set APPNAME [flags] --revision string The tracking source branch, tag, commit or Helm chart version the application will sync to --revision-history-limit int How many items to keep in revision history (default 10) --self-heal Set self healing when sync is automated + --source-name string Name of the source from the list of sources of the app. --source-position int Position of the source from the list of sources of the app. Counting starts at 1. (default -1) --sync-option Prune=false Add or remove a sync option, e.g add Prune=false. Remove using `!` prefix, e.g. `!Prune=false` --sync-policy string Set the sync policy (one of: manual (aliases of manual: none), automated (aliases of automated: auto, automatic)) diff --git a/docs/user-guide/commands/argocd_app_sync.md b/docs/user-guide/commands/argocd_app_sync.md index 5bef5958bba39..f6c0bde2ab63c 100644 --- a/docs/user-guide/commands/argocd_app_sync.md +++ b/docs/user-guide/commands/argocd_app_sync.md @@ -25,7 +25,8 @@ argocd app sync [APPNAME... | -l selector | --project project-name] [flags] argocd app sync -l 'app.kubernetes.io/instance notin (my-app,other-app)' # Sync a multi-source application for specific revision of specific sources - argocd app manifests my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 + argocd app sync my-app --revisions 0.0.1 --source-positions 1 --revisions 0.0.2 --source-positions 2 + argocd app sync my-app --revisions 0.0.1 --source-names my-chart --revisions 0.0.2 --source-names my-values # Sync a specific resource # Resource should be formatted as GROUP:KIND:NAME. If no GROUP is specified then :KIND:NAME @@ -67,6 +68,7 @@ argocd app sync [APPNAME... | -l selector | --project project-name] [flags] --revisions stringArray Show manifests at specific revisions for source position in source-positions -l, --selector string Sync apps that match this label. Supports '=', '==', '!=', in, notin, exists & not exists. Matching apps must satisfy all of the specified label constraints. --server-side Use server-side apply while syncing the application + --source-names stringArray List of source names. Default is an empty array. --source-positions int64Slice List of source positions. Default is empty array. Counting start at 1. (default []) --strategy string Sync strategy (one of: apply|hook) --timeout uint Time out after this many seconds diff --git a/docs/user-guide/commands/argocd_app_unset.md b/docs/user-guide/commands/argocd_app_unset.md index 0eebf2299f711..3bf8c773756de 100644 --- a/docs/user-guide/commands/argocd_app_unset.md +++ b/docs/user-guide/commands/argocd_app_unset.md @@ -20,6 +20,9 @@ argocd app unset APPNAME parameters [flags] # Unset kustomize override suffix for source at position 1 under spec.sources of app my-app. source-position starts at 1. argocd app unset my-app --source-position 1 --namesuffix + # Unset kustomize override suffix for source named "test" under spec.sources of app my-app. + argocd app unset my-app --source-name test --namesuffix + # Unset parameter override argocd app unset my-app -p COMPONENT=PARAM ``` diff --git a/manifests/core-install.yaml b/manifests/core-install.yaml index 2c54ad05ea977..48a625cf1e202 100644 --- a/manifests/core-install.yaml +++ b/manifests/core-install.yaml @@ -460,6 +460,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -832,6 +836,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1314,6 +1322,10 @@ spec: use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1676,6 +1688,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2204,6 +2220,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2579,6 +2599,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -3103,6 +3127,10 @@ spec: Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -3497,6 +3525,10 @@ spec: of Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications @@ -4001,6 +4033,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -4387,6 +4423,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -4917,6 +4957,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -5303,6 +5347,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -5739,6 +5787,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -5971,6 +6021,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6367,6 +6419,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6599,6 +6653,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6994,6 +7050,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7226,6 +7284,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7601,6 +7661,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7833,6 +7895,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8233,6 +8297,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8465,6 +8531,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8861,6 +8929,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9093,6 +9163,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9488,6 +9560,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9720,6 +9794,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10095,6 +10171,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10327,6 +10405,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10710,6 +10790,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10942,6 +11024,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11544,6 +11628,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11776,6 +11862,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12373,6 +12461,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12605,6 +12695,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12997,6 +13089,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13229,6 +13323,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13631,6 +13727,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13863,6 +13961,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14259,6 +14359,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14491,6 +14593,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14886,6 +14990,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15118,6 +15224,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15493,6 +15601,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15725,6 +15835,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16108,6 +16220,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16340,6 +16454,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16942,6 +17058,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17174,6 +17292,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17771,6 +17891,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18003,6 +18125,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18399,6 +18523,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18631,6 +18757,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19013,6 +19141,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19245,6 +19375,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19847,6 +19979,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20079,6 +20213,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20676,6 +20812,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20908,6 +21046,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21375,6 +21515,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21607,6 +21749,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: diff --git a/manifests/crds/application-crd.yaml b/manifests/crds/application-crd.yaml index 1f08621786eeb..71127da77747c 100644 --- a/manifests/crds/application-crd.yaml +++ b/manifests/crds/application-crd.yaml @@ -459,6 +459,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -831,6 +835,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1313,6 +1321,10 @@ spec: use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1675,6 +1687,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2203,6 +2219,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2578,6 +2598,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -3102,6 +3126,10 @@ spec: Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -3496,6 +3524,10 @@ spec: of Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications @@ -4000,6 +4032,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -4386,6 +4422,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -4916,6 +4956,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -5302,6 +5346,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced diff --git a/manifests/crds/applicationset-crd.yaml b/manifests/crds/applicationset-crd.yaml index b9a8c84e0620d..46f12a9f6a735 100644 --- a/manifests/crds/applicationset-crd.yaml +++ b/manifests/crds/applicationset-crd.yaml @@ -331,6 +331,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -563,6 +565,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -959,6 +963,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -1191,6 +1197,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -1586,6 +1594,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -1818,6 +1828,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -2193,6 +2205,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -2425,6 +2439,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -2825,6 +2841,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -3057,6 +3075,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -3453,6 +3473,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -3685,6 +3707,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -4080,6 +4104,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -4312,6 +4338,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -4687,6 +4715,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -4919,6 +4949,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -5302,6 +5334,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -5534,6 +5568,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6136,6 +6172,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6368,6 +6406,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6965,6 +7005,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7197,6 +7239,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7589,6 +7633,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7821,6 +7867,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8223,6 +8271,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8455,6 +8505,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8851,6 +8903,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9083,6 +9137,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9478,6 +9534,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9710,6 +9768,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10085,6 +10145,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10317,6 +10379,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10700,6 +10764,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10932,6 +10998,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11534,6 +11602,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11766,6 +11836,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12363,6 +12435,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12595,6 +12669,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12991,6 +13067,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13223,6 +13301,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13605,6 +13685,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13837,6 +13919,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14439,6 +14523,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14671,6 +14757,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15268,6 +15356,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15500,6 +15590,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15967,6 +16059,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16199,6 +16293,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: diff --git a/manifests/ha/install.yaml b/manifests/ha/install.yaml index 9615aa8c27d39..23640e9642e20 100644 --- a/manifests/ha/install.yaml +++ b/manifests/ha/install.yaml @@ -460,6 +460,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -832,6 +836,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1314,6 +1322,10 @@ spec: use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1676,6 +1688,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2204,6 +2220,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2579,6 +2599,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -3103,6 +3127,10 @@ spec: Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -3497,6 +3525,10 @@ spec: of Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications @@ -4001,6 +4033,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -4387,6 +4423,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -4917,6 +4957,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -5303,6 +5347,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -5739,6 +5787,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -5971,6 +6021,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6367,6 +6419,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6599,6 +6653,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6994,6 +7050,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7226,6 +7284,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7601,6 +7661,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7833,6 +7895,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8233,6 +8297,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8465,6 +8531,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8861,6 +8929,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9093,6 +9163,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9488,6 +9560,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9720,6 +9794,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10095,6 +10171,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10327,6 +10405,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10710,6 +10790,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10942,6 +11024,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11544,6 +11628,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11776,6 +11862,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12373,6 +12461,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12605,6 +12695,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12997,6 +13089,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13229,6 +13323,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13631,6 +13727,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13863,6 +13961,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14259,6 +14359,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14491,6 +14593,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14886,6 +14990,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15118,6 +15224,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15493,6 +15601,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15725,6 +15835,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16108,6 +16220,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16340,6 +16454,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16942,6 +17058,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17174,6 +17292,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17771,6 +17891,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18003,6 +18125,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18399,6 +18523,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18631,6 +18757,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19013,6 +19141,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19245,6 +19375,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19847,6 +19979,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20079,6 +20213,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20676,6 +20812,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20908,6 +21046,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21375,6 +21515,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21607,6 +21749,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: diff --git a/manifests/install.yaml b/manifests/install.yaml index f64634743cac3..1b250bf2ae3be 100644 --- a/manifests/install.yaml +++ b/manifests/install.yaml @@ -460,6 +460,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -832,6 +836,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1314,6 +1322,10 @@ spec: use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -1676,6 +1688,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2204,6 +2220,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is displayed + in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -2579,6 +2599,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -3103,6 +3127,10 @@ spec: Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -3497,6 +3525,10 @@ spec: of Kustomize to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and + is displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications @@ -4001,6 +4033,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -4387,6 +4423,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -4917,6 +4957,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced from Git. @@ -5303,6 +5347,10 @@ spec: to use for rendering manifests type: string type: object + name: + description: Name is used to refer to a source and is + displayed in the UI. + type: string path: description: Path is a directory path within the Git repository, and is only valid for applications sourced @@ -5739,6 +5787,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -5971,6 +6021,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6367,6 +6419,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6599,6 +6653,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -6994,6 +7050,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7226,6 +7284,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7601,6 +7661,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -7833,6 +7895,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8233,6 +8297,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8465,6 +8531,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -8861,6 +8929,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9093,6 +9163,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9488,6 +9560,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -9720,6 +9794,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10095,6 +10171,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10327,6 +10405,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10710,6 +10790,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -10942,6 +11024,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11544,6 +11628,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -11776,6 +11862,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12373,6 +12461,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12605,6 +12695,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -12997,6 +13089,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13229,6 +13323,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13631,6 +13727,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -13863,6 +13961,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14259,6 +14359,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14491,6 +14593,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -14886,6 +14990,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15118,6 +15224,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15493,6 +15601,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -15725,6 +15835,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16108,6 +16220,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16340,6 +16454,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -16942,6 +17058,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17174,6 +17292,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -17771,6 +17891,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18003,6 +18125,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18399,6 +18523,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -18631,6 +18757,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19013,6 +19141,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19245,6 +19375,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -19847,6 +19979,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20079,6 +20213,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20676,6 +20812,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -20908,6 +21046,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21375,6 +21515,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: @@ -21607,6 +21749,8 @@ spec: version: type: string type: object + name: + type: string path: type: string plugin: diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index 3f31bf6dacd21..929dcb1e0c6c8 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -4593,7 +4593,7 @@ func init() { } var fileDescriptor_030104ce3b95bcac = []byte{ - // 11491 bytes of a gzipped FileDescriptorProto + // 11498 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6f, 0x70, 0x1c, 0xc9, 0x75, 0x18, 0xae, 0xd9, 0xc5, 0x02, 0xbb, 0x0f, 0xff, 0x88, 0x26, 0x79, 0x87, 0xa3, 0x78, 0x07, 0x7a, 0x4e, 0x3e, 0x9d, 0x7f, 0xba, 0x03, 0x7c, 0xf4, 0x9d, 0x7c, 0x3f, 0x9d, 0x25, 0x19, 0x7f, @@ -4770,549 +4770,549 @@ var fileDescriptor_030104ce3b95bcac = []byte{ 0x32, 0xcf, 0x26, 0x84, 0xd3, 0x66, 0xe0, 0x1e, 0x39, 0x6d, 0x52, 0x6e, 0xa8, 0x6a, 0xe1, 0x6e, 0x28, 0xfb, 0x53, 0x1d, 0x9e, 0xfb, 0xb5, 0x88, 0x10, 0x14, 0x42, 0x25, 0x08, 0xeb, 0x44, 0xda, 0xb8, 0x97, 0x8b, 0x31, 0xd8, 0xae, 0x86, 0x75, 0x23, 0x5c, 0x9c, 0xfe, 0x8b, 0x31, 0xe7, 0x63, - 0xdf, 0xae, 0x40, 0xca, 0x9c, 0xe4, 0xdf, 0xfd, 0xc7, 0x60, 0x20, 0x22, 0xad, 0xf0, 0x1a, 0x5e, - 0x14, 0xba, 0x4c, 0x67, 0x94, 0xf0, 0x66, 0x2c, 0xe1, 0x54, 0xe7, 0xb5, 0x9c, 0x64, 0x53, 0x28, - 0x33, 0xa5, 0xf3, 0x56, 0x9c, 0x64, 0x13, 0x33, 0x08, 0x7a, 0x0f, 0x8c, 0x24, 0xa9, 0xa3, 0x70, - 0x71, 0xe4, 0xfb, 0x90, 0xc0, 0x1d, 0x49, 0x1f, 0x94, 0xe3, 0x0c, 0x36, 0x7a, 0x15, 0xfa, 0x36, - 0x89, 0xdf, 0x14, 0x9f, 0x7e, 0xb5, 0x38, 0x5d, 0xc3, 0xde, 0xf5, 0x12, 0xf1, 0x9b, 0x5c, 0x12, - 0xd2, 0x5f, 0x98, 0xb1, 0xa2, 0xf3, 0xbe, 0xb6, 0xd5, 0x8e, 0x93, 0xb0, 0xe9, 0xbd, 0x26, 0x3d, - 0x9d, 0xef, 0x2b, 0x98, 0xf1, 0x15, 0x49, 0x9f, 0xbb, 0x94, 0xd4, 0x5f, 0xac, 0x39, 0xb3, 0x7e, - 0xd4, 0xbd, 0x88, 0x4d, 0x99, 0x5d, 0xe1, 0xb0, 0x2c, 0xba, 0x1f, 0x73, 0x92, 0x3e, 0xef, 0x87, - 0xfa, 0x8b, 0x35, 0x67, 0xb4, 0xab, 0xd6, 0xdf, 0x20, 0xeb, 0xc3, 0xb5, 0x82, 0xfb, 0xc0, 0xd7, - 0x5e, 0xee, 0x3a, 0x7c, 0x1c, 0x2a, 0xee, 0xa6, 0x13, 0x25, 0xe3, 0x43, 0x6c, 0xd2, 0xa8, 0x59, - 0x3c, 0x4b, 0x1b, 0x31, 0x87, 0xa1, 0x47, 0xa1, 0x1c, 0x91, 0x0d, 0x16, 0x9d, 0x6c, 0xc4, 0x45, - 0x61, 0xb2, 0x81, 0x69, 0xbb, 0xfd, 0xab, 0xa5, 0xb4, 0xd9, 0x96, 0x7e, 0x6f, 0x3e, 0xdb, 0xdd, - 0x76, 0x14, 0x4b, 0xf7, 0x97, 0x31, 0xdb, 0x59, 0x33, 0x96, 0x70, 0xf4, 0x71, 0x0b, 0x06, 0x6e, - 0xc6, 0x61, 0x10, 0x90, 0x44, 0xa8, 0xc8, 0xeb, 0x05, 0x0f, 0xc5, 0x65, 0x4e, 0x5d, 0xf7, 0x41, - 0x34, 0x60, 0xc9, 0x97, 0x76, 0x97, 0xec, 0xb8, 0x7e, 0xbb, 0xde, 0x11, 0xea, 0x72, 0x81, 0x37, - 0x63, 0x09, 0xa7, 0xa8, 0x5e, 0xc0, 0x51, 0xfb, 0xd2, 0xa8, 0x0b, 0x81, 0x40, 0x15, 0x70, 0xfb, - 0xfb, 0x03, 0x70, 0x3a, 0x77, 0x71, 0x50, 0x83, 0x8a, 0x99, 0x2c, 0x17, 0x3d, 0x9f, 0xc8, 0x20, - 0x2f, 0x66, 0x50, 0x5d, 0x57, 0xad, 0xd8, 0xc0, 0x40, 0x3f, 0x07, 0xd0, 0x72, 0x22, 0xa7, 0x49, - 0x94, 0x7b, 0xfa, 0xc8, 0x76, 0x0b, 0xed, 0xc7, 0x8a, 0xa4, 0xa9, 0xb7, 0xe8, 0xaa, 0x29, 0xc6, - 0x06, 0x4b, 0xf4, 0x1c, 0x0c, 0x46, 0xc4, 0x27, 0x4e, 0xcc, 0x82, 0xdb, 0xb3, 0x99, 0x3a, 0x58, - 0x83, 0xb0, 0x89, 0x87, 0x9e, 0x50, 0xf1, 0x70, 0x99, 0xb8, 0xa0, 0x74, 0x4c, 0x1c, 0x7a, 0xdd, - 0x82, 0x91, 0x0d, 0xcf, 0x27, 0x9a, 0xbb, 0xc8, 0xab, 0x59, 0x3e, 0xfa, 0x4b, 0x5e, 0x34, 0xe9, - 0x6a, 0x09, 0x99, 0x6a, 0x8e, 0x71, 0x86, 0x3d, 0xfd, 0xcc, 0xdb, 0x24, 0x62, 0xa2, 0xb5, 0x3f, - 0xfd, 0x99, 0xaf, 0xf3, 0x66, 0x2c, 0xe1, 0x68, 0x1a, 0x46, 0x5b, 0x4e, 0x1c, 0xcf, 0x46, 0xa4, - 0x4e, 0x82, 0xc4, 0x73, 0x7c, 0x9e, 0xf5, 0x52, 0xd5, 0xc1, 0xe2, 0x2b, 0x69, 0x30, 0xce, 0xe2, - 0xa3, 0xf7, 0xc3, 0xc3, 0xdc, 0xff, 0xb3, 0xe4, 0xc5, 0xb1, 0x17, 0x34, 0xf4, 0x34, 0x10, 0x6e, - 0xb0, 0x09, 0x41, 0xea, 0xe1, 0x85, 0x7c, 0x34, 0xdc, 0xed, 0x79, 0xf4, 0x14, 0x54, 0xe3, 0x2d, - 0xaf, 0x35, 0x1b, 0xd5, 0x63, 0x76, 0xf6, 0x53, 0xd5, 0x4e, 0xd7, 0x55, 0xd1, 0x8e, 0x15, 0x06, - 0x72, 0x61, 0x88, 0x7f, 0x12, 0x1e, 0xd0, 0x27, 0xe4, 0xe3, 0xd3, 0x5d, 0xd5, 0xb4, 0x48, 0xe2, - 0x9c, 0xc4, 0xce, 0xad, 0x0b, 0xf2, 0x24, 0x8a, 0x1f, 0x9c, 0x5c, 0x37, 0xc8, 0xe0, 0x14, 0xd1, - 0xf4, 0x8e, 0x6d, 0xb0, 0x87, 0x1d, 0xdb, 0x73, 0x30, 0xb8, 0xd5, 0x5e, 0x27, 0x62, 0xe4, 0x85, - 0xd8, 0x52, 0xb3, 0xef, 0x8a, 0x06, 0x61, 0x13, 0x8f, 0xc5, 0x52, 0xb6, 0x3c, 0xf1, 0x2f, 0x1e, - 0x1f, 0x36, 0x62, 0x29, 0x57, 0x16, 0x64, 0x33, 0x36, 0x71, 0x68, 0xd7, 0xe8, 0x58, 0xac, 0x91, - 0x98, 0xa5, 0x4a, 0xd0, 0xe1, 0x52, 0x5d, 0x5b, 0x95, 0x00, 0xac, 0x71, 0xec, 0x5f, 0x2e, 0xa5, - 0xbd, 0x18, 0xa6, 0xc0, 0x41, 0x31, 0x15, 0x2b, 0xc9, 0x75, 0x27, 0x92, 0xc6, 0xc7, 0x11, 0x13, - 0x8d, 0x04, 0xdd, 0xeb, 0x4e, 0x64, 0x0a, 0x28, 0xc6, 0x00, 0x4b, 0x4e, 0xe8, 0x26, 0xf4, 0x25, - 0xbe, 0x53, 0x50, 0x66, 0xa2, 0xc1, 0x51, 0x3b, 0x95, 0x16, 0xa7, 0x63, 0xcc, 0x78, 0xa0, 0xb3, - 0x74, 0x27, 0xb5, 0x2e, 0x4f, 0xbd, 0xc4, 0xe6, 0x67, 0x3d, 0xc6, 0xac, 0xd5, 0xfe, 0xb3, 0xc1, - 0x1c, 0x1d, 0xa1, 0x94, 0x32, 0x3a, 0x0f, 0x40, 0x3f, 0xf1, 0x4a, 0x44, 0x36, 0xbc, 0x1d, 0x61, - 0x14, 0x29, 0x39, 0x74, 0x55, 0x41, 0xb0, 0x81, 0x25, 0x9f, 0x59, 0x6d, 0x6f, 0xd0, 0x67, 0x4a, - 0x9d, 0xcf, 0x70, 0x08, 0x36, 0xb0, 0xd0, 0xb3, 0xd0, 0xef, 0x35, 0x9d, 0x86, 0x0a, 0xca, 0x3d, - 0x4b, 0x05, 0xd0, 0x02, 0x6b, 0xb9, 0xb3, 0x37, 0x31, 0xa2, 0x3a, 0xc4, 0x9a, 0xb0, 0xc0, 0x45, - 0xbf, 0x6e, 0xc1, 0x90, 0x1b, 0x36, 0x9b, 0x61, 0xc0, 0xb7, 0xb2, 0x62, 0x5f, 0x7e, 0xf3, 0xb8, - 0x4c, 0x96, 0xc9, 0x59, 0x83, 0x19, 0xdf, 0x98, 0xab, 0x14, 0x4a, 0x13, 0x84, 0x53, 0xbd, 0x32, - 0xe5, 0x54, 0xe5, 0x00, 0x39, 0xf5, 0x1b, 0x16, 0x8c, 0xf1, 0x67, 0x8d, 0x1d, 0xb6, 0xc8, 0x16, - 0x0c, 0x8f, 0xf9, 0xb5, 0x3a, 0x9c, 0x0e, 0xca, 0xf1, 0xda, 0x01, 0xc7, 0x9d, 0x9d, 0x44, 0xf3, - 0x30, 0xb6, 0x11, 0x46, 0x2e, 0x31, 0x07, 0x42, 0x08, 0x59, 0x45, 0xe8, 0x62, 0x16, 0x01, 0x77, - 0x3e, 0x83, 0xae, 0xc3, 0x43, 0x46, 0xa3, 0x39, 0x0e, 0x5c, 0xce, 0x3e, 0x26, 0xa8, 0x3d, 0x74, - 0x31, 0x17, 0x0b, 0x77, 0x79, 0x3a, 0x2d, 0xd2, 0x6a, 0x3d, 0x88, 0xb4, 0x57, 0xe0, 0x11, 0xb7, - 0x73, 0x64, 0xb6, 0xe3, 0xf6, 0x7a, 0xcc, 0xa5, 0x6e, 0x75, 0xe6, 0x47, 0x04, 0x81, 0x47, 0x66, - 0xbb, 0x21, 0xe2, 0xee, 0x34, 0xd0, 0x87, 0xa1, 0x1a, 0x11, 0xf6, 0x55, 0x62, 0x91, 0x3a, 0x77, - 0x44, 0xcf, 0x83, 0xb6, 0xa6, 0x39, 0x59, 0xad, 0x47, 0x44, 0x43, 0x8c, 0x15, 0x47, 0x74, 0x0b, - 0x06, 0x5a, 0x4e, 0xe2, 0x6e, 0x8a, 0x84, 0xb9, 0x23, 0xfb, 0xc9, 0x15, 0x73, 0x76, 0xac, 0x61, - 0xa4, 0xd8, 0x73, 0x26, 0x58, 0x72, 0xa3, 0x96, 0x95, 0x1b, 0x36, 0x5b, 0x61, 0x40, 0x82, 0x44, - 0x8a, 0xfc, 0x11, 0x7e, 0xf6, 0x20, 0x5b, 0xb1, 0x81, 0x81, 0x56, 0xe0, 0x14, 0xf3, 0xc3, 0xdd, - 0xf0, 0x92, 0xcd, 0xb0, 0x9d, 0xc8, 0x6d, 0xa5, 0x90, 0xfd, 0xea, 0xf4, 0x69, 0x31, 0x07, 0x07, - 0xe7, 0x3e, 0x99, 0x55, 0x56, 0xa3, 0x77, 0xa7, 0xac, 0x4e, 0x1c, 0xac, 0xac, 0xce, 0xbc, 0x17, - 0xc6, 0x3a, 0x84, 0xc6, 0xa1, 0x9c, 0x6d, 0x73, 0xf0, 0x50, 0xfe, 0xf2, 0x3c, 0x94, 0xcb, 0xed, - 0x9f, 0x67, 0x62, 0xae, 0x8d, 0xed, 0x47, 0x0f, 0xee, 0x5b, 0x07, 0xca, 0x24, 0xd8, 0x16, 0xda, - 0xea, 0xe2, 0xd1, 0x66, 0xc9, 0x85, 0x60, 0x9b, 0x4b, 0x17, 0xe6, 0xa3, 0xba, 0x10, 0x6c, 0x63, - 0x4a, 0x1b, 0x7d, 0xd1, 0x4a, 0x99, 0xcf, 0xdc, 0xe9, 0xfb, 0xc1, 0x63, 0xd9, 0x6f, 0xf5, 0x6c, - 0x51, 0xdb, 0xff, 0xbe, 0x04, 0xe7, 0x0e, 0x22, 0xd2, 0xc3, 0xf0, 0x3d, 0x0e, 0xfd, 0x31, 0x8b, - 0xa2, 0x10, 0xe2, 0x7f, 0x90, 0xae, 0x0a, 0x1e, 0x57, 0xf1, 0x0a, 0x16, 0x20, 0xe4, 0x43, 0xb9, - 0xe9, 0xb4, 0x84, 0x2f, 0x70, 0xe1, 0xa8, 0xb9, 0x69, 0xf4, 0xbf, 0xe3, 0x2f, 0x39, 0x2d, 0x3e, - 0x3d, 0x8d, 0x06, 0x4c, 0xd9, 0xa0, 0x04, 0x2a, 0x4e, 0x14, 0x39, 0xf2, 0xc8, 0xfe, 0x4a, 0x31, - 0xfc, 0xa6, 0x29, 0x49, 0x7e, 0xe2, 0x99, 0x6a, 0xc2, 0x9c, 0x99, 0xfd, 0xd9, 0x81, 0x54, 0x22, - 0x13, 0x8b, 0xc3, 0x88, 0xa1, 0x5f, 0xb8, 0x00, 0xad, 0xa2, 0x53, 0x02, 0x79, 0xa6, 0x30, 0xdb, - 0x5d, 0x8b, 0x7a, 0x0b, 0x82, 0x15, 0xfa, 0x8c, 0xc5, 0xaa, 0x1a, 0xc8, 0xec, 0x30, 0xb1, 0xa7, - 0x3d, 0x9e, 0x22, 0x0b, 0x66, 0xad, 0x04, 0xd9, 0x88, 0x4d, 0xee, 0xa2, 0x3a, 0x09, 0xb3, 0xe5, - 0x3b, 0xab, 0x93, 0x30, 0xdb, 0x5c, 0xc2, 0xd1, 0x4e, 0x4e, 0xbc, 0x45, 0x01, 0x99, 0xf1, 0x3d, - 0x44, 0x58, 0x7c, 0xd5, 0x82, 0x31, 0x2f, 0x7b, 0x70, 0x2e, 0x76, 0x80, 0x37, 0x8a, 0xf1, 0xd7, - 0x75, 0x9e, 0xcb, 0x2b, 0xc3, 0xa1, 0x03, 0x84, 0x3b, 0x3b, 0x83, 0xea, 0xd0, 0xe7, 0x05, 0x1b, - 0xa1, 0x30, 0x97, 0x66, 0x8e, 0xd6, 0xa9, 0x85, 0x60, 0x23, 0xd4, 0xab, 0x99, 0xfe, 0xc3, 0x8c, - 0x3a, 0x5a, 0x84, 0x53, 0x32, 0x97, 0xe5, 0x92, 0x17, 0x27, 0x61, 0xb4, 0xbb, 0xe8, 0x35, 0xbd, - 0x84, 0x99, 0x3a, 0xe5, 0x99, 0x71, 0xaa, 0x89, 0x70, 0x0e, 0x1c, 0xe7, 0x3e, 0x85, 0x5e, 0x83, - 0x01, 0x79, 0x58, 0x5d, 0x2d, 0x62, 0x37, 0xdd, 0x39, 0xff, 0xd5, 0x64, 0x5a, 0x15, 0xa7, 0xd5, - 0x92, 0xa1, 0xfd, 0xfa, 0x20, 0x74, 0x9e, 0xa9, 0xa7, 0x0f, 0xd0, 0xad, 0x7b, 0x7d, 0x80, 0x4e, - 0xb7, 0x46, 0xb1, 0x3e, 0xfb, 0x2e, 0x60, 0x6e, 0x0b, 0xae, 0xfa, 0x5c, 0x73, 0x37, 0x70, 0x31, - 0xe3, 0x81, 0x22, 0xe8, 0xdf, 0x24, 0x8e, 0x9f, 0x6c, 0x16, 0x73, 0x04, 0x73, 0x89, 0xd1, 0xca, - 0x26, 0xa0, 0xf1, 0x56, 0x2c, 0x38, 0xa1, 0x1d, 0x18, 0xd8, 0xe4, 0x13, 0x40, 0xec, 0x56, 0x96, - 0x8e, 0x3a, 0xb8, 0xa9, 0x59, 0xa5, 0x3f, 0xb7, 0x68, 0xc0, 0x92, 0x1d, 0x0b, 0xd6, 0x32, 0xc2, - 0x49, 0xf8, 0xd2, 0x2d, 0x2e, 0xf7, 0xae, 0xf7, 0x58, 0x92, 0x0f, 0xc1, 0x50, 0x44, 0xdc, 0x30, - 0x70, 0x3d, 0x9f, 0xd4, 0xa7, 0xe5, 0xf1, 0xca, 0x61, 0x52, 0xae, 0x98, 0xf7, 0x02, 0x1b, 0x34, - 0x70, 0x8a, 0x22, 0xfa, 0xb4, 0x05, 0x23, 0x2a, 0x0d, 0x9b, 0x7e, 0x10, 0x22, 0xdc, 0xe8, 0x8b, - 0x05, 0x25, 0x7d, 0x33, 0x9a, 0x33, 0xe8, 0xf6, 0xde, 0xc4, 0x48, 0xba, 0x0d, 0x67, 0xf8, 0xa2, - 0x97, 0x00, 0xc2, 0x75, 0x1e, 0x91, 0x35, 0x9d, 0x08, 0x9f, 0xfa, 0x61, 0x5e, 0x75, 0x84, 0xa7, - 0x6e, 0x4a, 0x0a, 0xd8, 0xa0, 0x86, 0xae, 0x00, 0xf0, 0x65, 0xb3, 0xb6, 0xdb, 0x92, 0x5b, 0x1a, - 0x99, 0x33, 0x07, 0xab, 0x0a, 0x72, 0x67, 0x6f, 0xa2, 0xd3, 0xc7, 0xc9, 0xc2, 0x4e, 0x8c, 0xc7, - 0xd1, 0xcf, 0xc2, 0x40, 0xdc, 0x6e, 0x36, 0x1d, 0xe5, 0x71, 0x2f, 0x30, 0x19, 0x94, 0xd3, 0x35, - 0x44, 0x11, 0x6f, 0xc0, 0x92, 0x23, 0xba, 0x49, 0x85, 0x6a, 0x2c, 0x9c, 0xaf, 0x6c, 0x15, 0x71, - 0x9b, 0x80, 0x7b, 0x9e, 0xde, 0x29, 0x4d, 0x7c, 0x9c, 0x83, 0x73, 0x67, 0x6f, 0xe2, 0xa1, 0x74, - 0xfb, 0x62, 0x28, 0xd2, 0x33, 0x73, 0x69, 0xa2, 0xcb, 0xb2, 0x2a, 0x13, 0x7d, 0x6d, 0x59, 0x2c, - 0xe4, 0x49, 0x5d, 0x95, 0x89, 0x35, 0x77, 0x1f, 0x33, 0xf3, 0x61, 0xb4, 0x04, 0x27, 0xdd, 0x30, - 0x48, 0xa2, 0xd0, 0xf7, 0x79, 0x55, 0x32, 0xbe, 0xbb, 0xe4, 0x1e, 0xf9, 0xb7, 0x8a, 0x6e, 0x9f, - 0x9c, 0xed, 0x44, 0xc1, 0x79, 0xcf, 0xd9, 0x41, 0xfa, 0x74, 0x4c, 0x0c, 0xce, 0xb3, 0x30, 0x44, - 0x76, 0x12, 0x12, 0x05, 0x8e, 0x7f, 0x0d, 0x2f, 0x4a, 0x5f, 0x34, 0x5b, 0x03, 0x17, 0x8c, 0x76, - 0x9c, 0xc2, 0x42, 0xb6, 0x72, 0xa9, 0x18, 0x29, 0xc7, 0xdc, 0xa5, 0x22, 0x1d, 0x28, 0xf6, 0x37, - 0xca, 0x29, 0x83, 0xec, 0xbe, 0x9c, 0xc5, 0xb1, 0xda, 0x36, 0xb2, 0x08, 0x10, 0x03, 0x88, 0x8d, - 0x46, 0x91, 0x9c, 0x55, 0x6d, 0x9b, 0x65, 0x93, 0x11, 0x4e, 0xf3, 0x45, 0x5b, 0x50, 0xd9, 0x0c, - 0xe3, 0x44, 0x6e, 0x3f, 0x8e, 0xb8, 0xd3, 0xb9, 0x14, 0xc6, 0x09, 0xb3, 0x22, 0xd4, 0x6b, 0xd3, - 0x96, 0x18, 0x73, 0x1e, 0x74, 0x0f, 0x1a, 0x6f, 0x3a, 0x51, 0x3d, 0x9e, 0x65, 0x05, 0x02, 0xfa, - 0x98, 0xf9, 0xa0, 0x8c, 0xc5, 0x55, 0x0d, 0xc2, 0x26, 0x9e, 0xfd, 0xe7, 0x56, 0xea, 0xc0, 0xe2, - 0x06, 0x8b, 0xf6, 0xde, 0x26, 0x01, 0x95, 0x06, 0x66, 0x7c, 0xd9, 0x4f, 0x66, 0x72, 0x67, 0xdf, - 0xde, 0xad, 0x56, 0xdf, 0x2d, 0x4a, 0x61, 0x92, 0x91, 0x30, 0x42, 0xd1, 0x3e, 0x66, 0xa5, 0x93, - 0xa0, 0x4b, 0x45, 0xec, 0x4b, 0xcc, 0x42, 0x00, 0x07, 0xe6, 0x53, 0xdb, 0x5f, 0xb4, 0x60, 0x60, - 0xc6, 0x71, 0xb7, 0xc2, 0x8d, 0x0d, 0xf4, 0x14, 0x54, 0xeb, 0xed, 0xc8, 0xcc, 0xc7, 0x56, 0x9e, - 0x8d, 0x39, 0xd1, 0x8e, 0x15, 0x06, 0x9d, 0xfa, 0x1b, 0x8e, 0x2b, 0xcb, 0x01, 0x94, 0xf9, 0xd4, - 0xbf, 0xc8, 0x5a, 0xb0, 0x80, 0xd0, 0xe1, 0x6f, 0x3a, 0x3b, 0xf2, 0xe1, 0xec, 0x69, 0xc9, 0x92, - 0x06, 0x61, 0x13, 0xcf, 0xfe, 0xd7, 0x16, 0x8c, 0xcf, 0x38, 0xb1, 0xe7, 0x4e, 0xb7, 0x93, 0xcd, - 0x19, 0x2f, 0x59, 0x6f, 0xbb, 0x5b, 0x24, 0xe1, 0x65, 0x23, 0x68, 0x2f, 0xdb, 0x31, 0x5d, 0x81, - 0x6a, 0x3b, 0xa8, 0x7a, 0x79, 0x4d, 0xb4, 0x63, 0x85, 0x81, 0x5e, 0x83, 0xc1, 0x96, 0x13, 0xc7, - 0xb7, 0xc2, 0xa8, 0x8e, 0xc9, 0x46, 0x31, 0x85, 0x65, 0x56, 0x89, 0x1b, 0x91, 0x04, 0x93, 0x0d, - 0x11, 0x59, 0xa0, 0xe9, 0x63, 0x93, 0x99, 0xfd, 0x4b, 0x16, 0x9c, 0x9a, 0x21, 0x4e, 0x44, 0x22, - 0x56, 0x87, 0x46, 0xbd, 0x08, 0x7a, 0x15, 0xaa, 0x09, 0x6d, 0xa1, 0x3d, 0xb2, 0x8a, 0xed, 0x11, - 0x8b, 0x09, 0x58, 0x13, 0xc4, 0xb1, 0x62, 0x63, 0x7f, 0xde, 0x82, 0x47, 0xf2, 0xfa, 0x32, 0xeb, - 0x87, 0xed, 0xfa, 0xfd, 0xe8, 0xd0, 0xdf, 0xb1, 0x60, 0x88, 0x9d, 0xb3, 0xce, 0x91, 0xc4, 0xf1, - 0xfc, 0x8e, 0x1a, 0x78, 0x56, 0x8f, 0x35, 0xf0, 0xce, 0x41, 0xdf, 0x66, 0xd8, 0x24, 0xd9, 0x18, - 0x81, 0x4b, 0x61, 0x93, 0x60, 0x06, 0x41, 0xcf, 0xd0, 0x49, 0xe8, 0x05, 0x89, 0x43, 0x97, 0xa3, - 0xf4, 0x7d, 0x8f, 0xf2, 0x09, 0xa8, 0x9a, 0xb1, 0x89, 0x63, 0xff, 0xab, 0x1a, 0x0c, 0x88, 0x80, - 0x96, 0x9e, 0xcb, 0x98, 0x48, 0x17, 0x45, 0xa9, 0xab, 0x8b, 0x22, 0x86, 0x7e, 0x97, 0x15, 0xe3, - 0x14, 0x96, 0xf0, 0x95, 0x42, 0x22, 0xa0, 0x78, 0x7d, 0x4f, 0xdd, 0x2d, 0xfe, 0x1f, 0x0b, 0x56, - 0xe8, 0x0b, 0x16, 0x8c, 0xba, 0x61, 0x10, 0x10, 0x57, 0x9b, 0x69, 0x7d, 0x45, 0x04, 0xba, 0xcc, - 0xa6, 0x89, 0xea, 0x43, 0xbe, 0x0c, 0x00, 0x67, 0xd9, 0xa3, 0x17, 0x60, 0x98, 0x8f, 0xd9, 0xf5, - 0x94, 0xc3, 0x5e, 0x97, 0x46, 0x33, 0x81, 0x38, 0x8d, 0x8b, 0x26, 0xf9, 0xc1, 0x87, 0x28, 0x42, - 0xd6, 0xaf, 0xfd, 0x9a, 0x46, 0xf9, 0x31, 0x03, 0x03, 0x45, 0x80, 0x22, 0xb2, 0x11, 0x91, 0x78, - 0x53, 0x04, 0xfc, 0x30, 0x13, 0x71, 0xe0, 0xee, 0x0a, 0x10, 0xe0, 0x0e, 0x4a, 0x38, 0x87, 0x3a, - 0xda, 0x12, 0x7b, 0xe4, 0x6a, 0x11, 0xf2, 0x5c, 0x7c, 0xe6, 0xae, 0x5b, 0xe5, 0x09, 0xa8, 0x30, - 0xd5, 0xc5, 0x4c, 0xd3, 0x32, 0x4f, 0x7a, 0x63, 0x8a, 0x0d, 0xf3, 0x76, 0x34, 0x07, 0x27, 0x32, - 0x85, 0xdd, 0x62, 0xe1, 0x58, 0x57, 0x09, 0x4e, 0x99, 0x92, 0x70, 0x31, 0xee, 0x78, 0xc2, 0xf4, - 0x9f, 0x0c, 0x1e, 0xe0, 0x3f, 0xd9, 0x55, 0x61, 0xa5, 0xdc, 0xe5, 0xfd, 0x62, 0x21, 0x03, 0xd0, - 0x53, 0x0c, 0xe9, 0xe7, 0x32, 0x31, 0xa4, 0xc3, 0xac, 0x03, 0xd7, 0x8b, 0xe9, 0xc0, 0xe1, 0x03, - 0x46, 0xef, 0x67, 0x00, 0xe8, 0xff, 0xb2, 0x40, 0x7e, 0xd7, 0x59, 0xc7, 0xdd, 0x24, 0x74, 0xca, - 0xa0, 0xf7, 0xc0, 0x88, 0xf2, 0x02, 0x70, 0x93, 0xc8, 0x62, 0xb3, 0x46, 0x45, 0x03, 0xe0, 0x14, - 0x14, 0x67, 0xb0, 0xd1, 0x14, 0xd4, 0xe8, 0x38, 0xf1, 0x47, 0xb9, 0xde, 0x57, 0x9e, 0x86, 0xe9, - 0x95, 0x05, 0xf1, 0x94, 0xc6, 0x41, 0x21, 0x8c, 0xf9, 0x4e, 0x9c, 0xb0, 0x1e, 0xac, 0xee, 0x06, - 0xee, 0x5d, 0x96, 0xff, 0x60, 0x59, 0x34, 0x8b, 0x59, 0x42, 0xb8, 0x93, 0xb6, 0xfd, 0x1f, 0x2a, - 0x30, 0x9c, 0x92, 0x8c, 0x87, 0x34, 0x18, 0x9e, 0x82, 0xaa, 0xd4, 0xe1, 0xd9, 0x3a, 0x47, 0x4a, - 0xd1, 0x2b, 0x0c, 0xaa, 0xb4, 0xd6, 0xb5, 0x56, 0xcd, 0x1a, 0x38, 0x86, 0xc2, 0xc5, 0x26, 0x1e, - 0x13, 0xca, 0x89, 0x1f, 0xcf, 0xfa, 0x1e, 0x09, 0x12, 0xde, 0xcd, 0x62, 0x84, 0xf2, 0xda, 0xe2, - 0xaa, 0x49, 0x54, 0x0b, 0xe5, 0x0c, 0x00, 0x67, 0xd9, 0xa3, 0x4f, 0x5a, 0x30, 0xec, 0xdc, 0x8a, - 0x75, 0xc5, 0x68, 0x11, 0x2d, 0x7a, 0x44, 0x25, 0x95, 0x2a, 0x42, 0xcd, 0xbd, 0xd6, 0xa9, 0x26, - 0x9c, 0x66, 0x8a, 0xde, 0xb0, 0x00, 0x91, 0x1d, 0xe2, 0xca, 0x78, 0x56, 0xd1, 0x97, 0xfe, 0x22, - 0x36, 0xcb, 0x17, 0x3a, 0xe8, 0x72, 0xa9, 0xde, 0xd9, 0x8e, 0x73, 0xfa, 0x80, 0x2e, 0x03, 0xaa, - 0x7b, 0xb1, 0xb3, 0xee, 0x93, 0xd9, 0xb0, 0x29, 0x33, 0x3f, 0xc5, 0xe1, 0xeb, 0x19, 0x31, 0xce, - 0x68, 0xae, 0x03, 0x03, 0xe7, 0x3c, 0xc5, 0x66, 0x59, 0x14, 0xee, 0xec, 0x5e, 0x8b, 0x7c, 0xa6, - 0x25, 0xcc, 0x59, 0x26, 0xda, 0xb1, 0xc2, 0xb0, 0xff, 0xa2, 0xac, 0x96, 0xb2, 0x0e, 0xde, 0x76, - 0x8c, 0x20, 0x52, 0xeb, 0xee, 0x83, 0x48, 0x75, 0x10, 0x4c, 0x67, 0x3e, 0x73, 0x2a, 0xfd, 0xb1, - 0x74, 0x9f, 0xd2, 0x1f, 0x7f, 0xde, 0x4a, 0xd5, 0x12, 0x1b, 0x3c, 0xff, 0x52, 0xb1, 0x81, 0xe3, - 0x93, 0x3c, 0x40, 0x27, 0xa3, 0x57, 0x32, 0x71, 0x59, 0x4f, 0x41, 0x75, 0xc3, 0x77, 0x58, 0x05, - 0x0c, 0xb6, 0x50, 0x8d, 0xe0, 0xa1, 0x8b, 0xa2, 0x1d, 0x2b, 0x0c, 0x2a, 0xf5, 0x0d, 0xa2, 0x87, - 0x92, 0xda, 0xff, 0xa9, 0x0c, 0x83, 0x86, 0xc6, 0xcf, 0x35, 0xdf, 0xac, 0x07, 0xcc, 0x7c, 0x2b, - 0x1d, 0xc2, 0x7c, 0xfb, 0x39, 0xa8, 0xb9, 0x52, 0x1b, 0x15, 0x53, 0x1b, 0x3d, 0xab, 0xe3, 0xb4, - 0x42, 0x52, 0x4d, 0x58, 0xf3, 0x44, 0xf3, 0xa9, 0x14, 0xbb, 0x94, 0x5f, 0x20, 0x2f, 0x07, 0x4e, - 0x68, 0xb4, 0xce, 0x67, 0xb2, 0xe7, 0xd4, 0x95, 0x83, 0xcf, 0xa9, 0xed, 0xef, 0x58, 0xea, 0xe3, - 0xde, 0x83, 0x5a, 0x2a, 0x37, 0xd3, 0xb5, 0x54, 0x2e, 0x14, 0x32, 0xcc, 0x5d, 0x8a, 0xa8, 0x5c, - 0x85, 0x81, 0xd9, 0xb0, 0xd9, 0x74, 0x82, 0x3a, 0xfa, 0x51, 0x18, 0x70, 0xf9, 0x4f, 0xe1, 0x43, - 0x63, 0x27, 0xb1, 0x02, 0x8a, 0x25, 0x0c, 0x9d, 0x85, 0x3e, 0x27, 0x6a, 0x48, 0xbf, 0x19, 0x8b, - 0x98, 0x9a, 0x8e, 0x1a, 0x31, 0x66, 0xad, 0xf6, 0x3f, 0xeb, 0x03, 0x16, 0xa8, 0xe0, 0x44, 0xa4, - 0xbe, 0x16, 0xb2, 0x92, 0xa6, 0xc7, 0x7a, 0x7e, 0xa9, 0x37, 0x75, 0x0f, 0xf2, 0x19, 0xa6, 0x71, - 0x8e, 0x55, 0xbe, 0xc7, 0xe7, 0x58, 0x5d, 0x8e, 0x26, 0xfb, 0x1e, 0xa0, 0xa3, 0x49, 0xfb, 0xb3, - 0x16, 0x20, 0x15, 0xdd, 0xa2, 0x63, 0x07, 0xa6, 0xa0, 0xa6, 0xe2, 0x5c, 0x84, 0x01, 0xa8, 0x45, - 0x84, 0x04, 0x60, 0x8d, 0xd3, 0xc3, 0x4e, 0xfe, 0x71, 0x29, 0xbf, 0xcb, 0xe9, 0xc0, 0x71, 0x26, - 0xf5, 0x85, 0x38, 0xb7, 0x7f, 0xb7, 0x04, 0x0f, 0x71, 0xd3, 0x61, 0xc9, 0x09, 0x9c, 0x06, 0x69, - 0xd2, 0x5e, 0xf5, 0x1a, 0x0d, 0xe2, 0xd2, 0x2d, 0xa4, 0x27, 0x03, 0xc1, 0x8f, 0xba, 0x76, 0xf9, - 0x9a, 0xe3, 0xab, 0x6c, 0x21, 0xf0, 0x12, 0xcc, 0x88, 0xa3, 0x18, 0xaa, 0xf2, 0xe2, 0x10, 0x21, - 0x8b, 0x0b, 0x62, 0xa4, 0xc4, 0x92, 0xd0, 0xb2, 0x04, 0x2b, 0x46, 0x54, 0x95, 0xfa, 0xa1, 0xbb, - 0x85, 0x49, 0x2b, 0xcc, 0xaa, 0xd2, 0x45, 0xd1, 0x8e, 0x15, 0x86, 0xdd, 0x84, 0x51, 0x39, 0x86, - 0xad, 0x2b, 0x64, 0x17, 0x93, 0x0d, 0xaa, 0x7f, 0x5c, 0xd9, 0x64, 0xdc, 0x65, 0xa2, 0xf4, 0xcf, - 0xac, 0x09, 0xc4, 0x69, 0x5c, 0x59, 0xe5, 0xb4, 0x94, 0x5f, 0xe5, 0xd4, 0xfe, 0x5d, 0x0b, 0xb2, - 0x0a, 0xd0, 0xa8, 0xe9, 0x68, 0xed, 0x5b, 0xd3, 0xf1, 0x10, 0x55, 0x11, 0x7f, 0x06, 0x06, 0x9d, - 0x84, 0x5a, 0x38, 0xdc, 0x1b, 0x51, 0xbe, 0xbb, 0x03, 0xab, 0xa5, 0xb0, 0xee, 0x6d, 0x78, 0xcc, - 0x0b, 0x61, 0x92, 0xb3, 0xff, 0xaa, 0x0f, 0xc6, 0x3a, 0xb2, 0xb4, 0xd0, 0xf3, 0x30, 0xa4, 0x86, - 0x42, 0xfa, 0xf9, 0x6a, 0x66, 0x68, 0xa5, 0x86, 0xe1, 0x14, 0x66, 0x0f, 0xeb, 0x61, 0x01, 0x4e, - 0x46, 0xe4, 0xd5, 0x36, 0x69, 0x93, 0xe9, 0x8d, 0x84, 0x44, 0xab, 0xc4, 0x0d, 0x83, 0x3a, 0xaf, - 0x3c, 0x5a, 0x9e, 0x79, 0xf8, 0xf6, 0xde, 0xc4, 0x49, 0xdc, 0x09, 0xc6, 0x79, 0xcf, 0xa0, 0x16, - 0x0c, 0xfb, 0xa6, 0x81, 0x2a, 0xf6, 0x45, 0x77, 0x65, 0xdb, 0xaa, 0x29, 0x91, 0x6a, 0xc6, 0x69, - 0x06, 0x69, 0x2b, 0xb7, 0x72, 0x9f, 0xac, 0xdc, 0x4f, 0x68, 0x2b, 0x97, 0x47, 0x56, 0x7c, 0xa0, - 0xe0, 0x2c, 0xbd, 0x5e, 0xcc, 0xdc, 0xa3, 0x18, 0xae, 0x2f, 0x42, 0x55, 0x46, 0x9d, 0xf5, 0x14, - 0xad, 0x65, 0xd2, 0xe9, 0x22, 0x40, 0x9f, 0x80, 0xb7, 0x5d, 0x88, 0x22, 0x63, 0x30, 0xaf, 0x86, - 0xc9, 0xb4, 0xef, 0x87, 0xb7, 0xa8, 0x4d, 0x70, 0x2d, 0x26, 0xc2, 0xf1, 0x64, 0xdf, 0x29, 0x41, - 0xce, 0x1e, 0x8e, 0xae, 0x47, 0x6d, 0x88, 0xa4, 0xd6, 0xe3, 0xe1, 0x8c, 0x11, 0xb4, 0xc3, 0x23, - 0xf3, 0xb8, 0xca, 0x7d, 0x7f, 0xd1, 0x7b, 0x50, 0x1d, 0xac, 0xa7, 0xc4, 0x91, 0x0a, 0xd8, 0x3b, - 0x0f, 0xa0, 0xed, 0x47, 0x91, 0x3a, 0xa2, 0x0e, 0xfe, 0xb5, 0x99, 0x89, 0x0d, 0x2c, 0xf4, 0x1c, - 0x0c, 0x7a, 0x41, 0x9c, 0x38, 0xbe, 0x7f, 0xc9, 0x0b, 0x12, 0xe1, 0x5b, 0x55, 0xb6, 0xc5, 0x82, - 0x06, 0x61, 0x13, 0xef, 0xcc, 0x3b, 0x8d, 0xef, 0x77, 0x98, 0xef, 0xbe, 0x09, 0x8f, 0xcc, 0x7b, - 0x89, 0x4a, 0x78, 0x52, 0xf3, 0x8d, 0x9a, 0x87, 0x2a, 0x81, 0xcf, 0xea, 0x9a, 0xc0, 0x67, 0x24, - 0x1c, 0x95, 0xd2, 0xf9, 0x51, 0xd9, 0x84, 0x23, 0xfb, 0x79, 0x38, 0x35, 0xef, 0x25, 0x17, 0x3d, - 0x9f, 0x1c, 0x92, 0x89, 0xfd, 0x3b, 0xfd, 0x30, 0x64, 0xa6, 0xee, 0x1e, 0x26, 0x07, 0xf1, 0xf3, - 0xd4, 0x02, 0x14, 0x6f, 0xe7, 0xa9, 0x63, 0xd3, 0x1b, 0x47, 0xce, 0x23, 0xce, 0x1f, 0x31, 0xc3, - 0x08, 0xd4, 0x3c, 0xb1, 0xd9, 0x01, 0x74, 0x0b, 0x2a, 0x1b, 0x2c, 0x21, 0xa6, 0x5c, 0x44, 0x6c, - 0x49, 0xde, 0x88, 0xea, 0xe5, 0xc8, 0x53, 0x6a, 0x38, 0x3f, 0xaa, 0xb8, 0xa3, 0x74, 0x96, 0xa5, - 0x11, 0xf8, 0x2c, 0xf2, 0x2b, 0x15, 0x46, 0x37, 0x95, 0x50, 0xb9, 0x0b, 0x95, 0x90, 0x12, 0xd0, - 0xfd, 0xf7, 0x49, 0x40, 0xb3, 0xe4, 0xa6, 0x64, 0x93, 0x99, 0x95, 0x22, 0x53, 0x63, 0x80, 0x0d, - 0x82, 0x91, 0xdc, 0x94, 0x02, 0xe3, 0x2c, 0x3e, 0xfa, 0xa8, 0x12, 0xf1, 0xd5, 0x22, 0xdc, 0xd2, - 0xe6, 0x8c, 0x3e, 0x6e, 0xe9, 0xfe, 0xd9, 0x12, 0x8c, 0xcc, 0x07, 0xed, 0x95, 0xf9, 0x95, 0xf6, - 0xba, 0xef, 0xb9, 0x57, 0xc8, 0x2e, 0x15, 0xe1, 0x5b, 0x64, 0x77, 0x61, 0x4e, 0xac, 0x20, 0x35, - 0x67, 0xae, 0xd0, 0x46, 0xcc, 0x61, 0x54, 0x18, 0x6d, 0x78, 0x41, 0x83, 0x44, 0xad, 0xc8, 0x13, - 0x1e, 0x63, 0x43, 0x18, 0x5d, 0xd4, 0x20, 0x6c, 0xe2, 0x51, 0xda, 0xe1, 0xad, 0x80, 0x44, 0x59, - 0xfb, 0x7a, 0x99, 0x36, 0x62, 0x0e, 0xa3, 0x48, 0x49, 0xd4, 0x16, 0x0e, 0x19, 0x03, 0x69, 0x8d, - 0x36, 0x62, 0x0e, 0xa3, 0x2b, 0x3d, 0x6e, 0xaf, 0xb3, 0xd0, 0x9d, 0x4c, 0x5a, 0xc8, 0x2a, 0x6f, - 0xc6, 0x12, 0x4e, 0x51, 0xb7, 0xc8, 0xee, 0x1c, 0xdd, 0x8c, 0x67, 0x32, 0xdd, 0xae, 0xf0, 0x66, - 0x2c, 0xe1, 0xac, 0x36, 0x6a, 0x7a, 0x38, 0x7e, 0xe0, 0x6a, 0xa3, 0xa6, 0xbb, 0xdf, 0x65, 0x5b, - 0xff, 0x6b, 0x16, 0x0c, 0x99, 0x01, 0x77, 0xa8, 0x91, 0xb1, 0x85, 0x97, 0x3b, 0x4a, 0x6b, 0xbf, - 0x3b, 0xef, 0xda, 0xc9, 0x86, 0x97, 0x84, 0xad, 0xf8, 0x69, 0x12, 0x34, 0xbc, 0x80, 0xb0, 0x80, - 0x08, 0x1e, 0xa8, 0x97, 0x8a, 0xe6, 0x9b, 0x0d, 0xeb, 0xe4, 0x2e, 0x8c, 0x69, 0xfb, 0x06, 0x8c, - 0x75, 0xa4, 0x37, 0xf6, 0x60, 0x82, 0x1c, 0x98, 0x5c, 0x6e, 0x63, 0x18, 0xa4, 0x84, 0x65, 0x7d, - 0xae, 0x59, 0x18, 0xe3, 0x0b, 0x89, 0x72, 0x5a, 0x75, 0x37, 0x49, 0x53, 0xa5, 0xac, 0xb2, 0xe3, - 0x89, 0xeb, 0x59, 0x20, 0xee, 0xc4, 0xb7, 0x3f, 0x67, 0xc1, 0x70, 0x2a, 0xe3, 0xb4, 0x20, 0x63, - 0x89, 0xad, 0xb4, 0x90, 0xc5, 0x7f, 0xb2, 0x20, 0xf8, 0x32, 0x53, 0xa6, 0x7a, 0xa5, 0x69, 0x10, - 0x36, 0xf1, 0xec, 0x2f, 0x96, 0xa0, 0x2a, 0x63, 0x68, 0x7a, 0xe8, 0xca, 0x67, 0x2c, 0x18, 0x56, - 0x47, 0x42, 0xcc, 0x87, 0x57, 0x2a, 0x22, 0xa5, 0x86, 0xf6, 0x40, 0x79, 0x01, 0x82, 0x8d, 0x50, - 0x5b, 0xee, 0xd8, 0x64, 0x86, 0xd3, 0xbc, 0xd1, 0x75, 0x80, 0x78, 0x37, 0x4e, 0x48, 0xd3, 0xf0, - 0x26, 0xda, 0xc6, 0x8a, 0x9b, 0x74, 0xc3, 0x88, 0xd0, 0xf5, 0x75, 0x35, 0xac, 0x93, 0x55, 0x85, - 0xa9, 0x4d, 0x28, 0xdd, 0x86, 0x0d, 0x4a, 0xf6, 0x3f, 0x29, 0xc1, 0x89, 0x6c, 0x97, 0xd0, 0x07, - 0x60, 0x48, 0x72, 0x37, 0x76, 0x9d, 0x32, 0x02, 0x68, 0x08, 0x1b, 0xb0, 0x3b, 0x7b, 0x13, 0x13, - 0x9d, 0x57, 0x98, 0x4e, 0x9a, 0x28, 0x38, 0x45, 0x8c, 0x9f, 0xcb, 0x89, 0x03, 0xe4, 0x99, 0xdd, - 0xe9, 0x56, 0x4b, 0x1c, 0xae, 0x19, 0xe7, 0x72, 0x26, 0x14, 0x67, 0xb0, 0xd1, 0x0a, 0x9c, 0x32, - 0x5a, 0xae, 0x12, 0xaf, 0xb1, 0xb9, 0x1e, 0x46, 0x72, 0x07, 0x76, 0x56, 0x87, 0xf6, 0x75, 0xe2, - 0xe0, 0xdc, 0x27, 0xa9, 0xb6, 0x77, 0x9d, 0x96, 0xe3, 0x7a, 0xc9, 0xae, 0x70, 0x8f, 0x2a, 0xd9, - 0x34, 0x2b, 0xda, 0xb1, 0xc2, 0xb0, 0x97, 0xa0, 0xaf, 0xc7, 0x19, 0xd4, 0x93, 0xe5, 0xff, 0x22, - 0x54, 0x29, 0x39, 0x69, 0xde, 0x15, 0x41, 0x32, 0x84, 0xaa, 0xbc, 0x10, 0x0a, 0xd9, 0x50, 0xf6, - 0x1c, 0x79, 0xf4, 0xa9, 0x5e, 0x6b, 0x21, 0x8e, 0xdb, 0x6c, 0x33, 0x4d, 0x81, 0xe8, 0x71, 0x28, - 0x93, 0x9d, 0x56, 0xf6, 0x8c, 0xf3, 0xc2, 0x4e, 0xcb, 0x8b, 0x48, 0x4c, 0x91, 0xc8, 0x4e, 0x0b, - 0x9d, 0x81, 0x92, 0x57, 0x17, 0x4a, 0x0a, 0x04, 0x4e, 0x69, 0x61, 0x0e, 0x97, 0xbc, 0xba, 0xbd, - 0x03, 0x35, 0x75, 0x03, 0x15, 0xda, 0x92, 0xb2, 0xdb, 0x2a, 0x22, 0xe8, 0x4d, 0xd2, 0xed, 0x22, - 0xb5, 0xdb, 0x00, 0x3a, 0x5d, 0xb5, 0x28, 0xf9, 0x72, 0x0e, 0xfa, 0xdc, 0x50, 0x94, 0x05, 0xa8, - 0x6a, 0x32, 0x4c, 0x68, 0x33, 0x88, 0x7d, 0x03, 0x46, 0xae, 0x04, 0xe1, 0x2d, 0x76, 0x51, 0x04, - 0xab, 0x8b, 0x48, 0x09, 0x6f, 0xd0, 0x1f, 0x59, 0x13, 0x81, 0x41, 0x31, 0x87, 0xa9, 0x8a, 0x6d, - 0xa5, 0x6e, 0x15, 0xdb, 0xec, 0x8f, 0x59, 0x30, 0xa4, 0xf2, 0xde, 0xe6, 0xb7, 0xb7, 0x28, 0xdd, - 0x46, 0x14, 0xb6, 0x5b, 0x59, 0xba, 0xec, 0xb2, 0x3b, 0xcc, 0x61, 0x66, 0x42, 0x68, 0xe9, 0x80, - 0x84, 0xd0, 0x73, 0xd0, 0xb7, 0xe5, 0x05, 0xf5, 0xec, 0xa5, 0x47, 0x57, 0xbc, 0xa0, 0x8e, 0x19, - 0x84, 0x76, 0xe1, 0x84, 0xea, 0x82, 0x54, 0x08, 0xcf, 0xc3, 0xd0, 0x7a, 0xdb, 0xf3, 0xeb, 0xb2, - 0xe0, 0x63, 0xc6, 0xa3, 0x32, 0x63, 0xc0, 0x70, 0x0a, 0x93, 0xee, 0xeb, 0xd6, 0xbd, 0xc0, 0x89, - 0x76, 0x57, 0xb4, 0x06, 0x52, 0x42, 0x69, 0x46, 0x41, 0xb0, 0x81, 0x65, 0xbf, 0x5e, 0x86, 0x91, - 0x74, 0xf6, 0x5f, 0x0f, 0xdb, 0xab, 0xc7, 0xa1, 0xc2, 0x12, 0x02, 0xb3, 0x9f, 0x96, 0xd7, 0x48, - 0xe4, 0x30, 0x14, 0x43, 0x3f, 0x2f, 0x8b, 0x52, 0xcc, 0x85, 0x61, 0xaa, 0x93, 0xca, 0x0f, 0xc3, - 0x42, 0x03, 0x45, 0x25, 0x16, 0xc1, 0x0a, 0x7d, 0xd2, 0x82, 0x81, 0xb0, 0x65, 0x56, 0xfa, 0x7a, - 0x7f, 0x91, 0x99, 0x91, 0x22, 0x5d, 0x4a, 0x58, 0xc4, 0xea, 0xd3, 0xcb, 0xcf, 0x21, 0x59, 0x9f, - 0x79, 0x17, 0x0c, 0x99, 0x98, 0x07, 0x19, 0xc5, 0x55, 0xd3, 0x28, 0xfe, 0x8c, 0x39, 0x29, 0x44, - 0xee, 0x67, 0x0f, 0xcb, 0xed, 0x1a, 0x54, 0x5c, 0x15, 0x3f, 0x71, 0x57, 0x65, 0x82, 0x55, 0x9d, - 0x12, 0x76, 0x36, 0xc5, 0xa9, 0xd9, 0xdf, 0xb1, 0x8c, 0xf9, 0x81, 0x49, 0xbc, 0x50, 0x47, 0x11, - 0x94, 0x1b, 0xdb, 0x5b, 0xc2, 0x14, 0xbd, 0x5c, 0xd0, 0xf0, 0xce, 0x6f, 0x6f, 0xe9, 0x39, 0x6e, - 0xb6, 0x62, 0xca, 0xac, 0x07, 0x67, 0x61, 0x2a, 0x45, 0xb8, 0x7c, 0x70, 0x8a, 0xb0, 0xfd, 0x46, - 0x09, 0xc6, 0x3a, 0x26, 0x15, 0x7a, 0x0d, 0x2a, 0x11, 0x7d, 0x4b, 0xf1, 0x7a, 0x8b, 0x85, 0x25, - 0xf5, 0xc6, 0x0b, 0x75, 0xad, 0x77, 0xd3, 0xed, 0x98, 0xb3, 0x44, 0x97, 0x01, 0xe9, 0x28, 0x1f, - 0xe5, 0xa9, 0xe4, 0xaf, 0xac, 0x42, 0x01, 0xa6, 0x3b, 0x30, 0x70, 0xce, 0x53, 0xe8, 0x85, 0xac, - 0xc3, 0xb3, 0x9c, 0x76, 0x67, 0xef, 0xe7, 0xbb, 0xb4, 0x7f, 0xab, 0x04, 0xc3, 0xa9, 0xc2, 0x6b, - 0xc8, 0x87, 0x2a, 0xf1, 0xd9, 0x59, 0x83, 0x54, 0x36, 0x47, 0x2d, 0xa3, 0xae, 0x14, 0xe4, 0x05, - 0x41, 0x17, 0x2b, 0x0e, 0x0f, 0x46, 0x84, 0xc0, 0xf3, 0x30, 0x24, 0x3b, 0xf4, 0x7e, 0xa7, 0xe9, - 0x8b, 0x01, 0x54, 0x73, 0xf4, 0x82, 0x01, 0xc3, 0x29, 0x4c, 0xfb, 0xf7, 0xca, 0x30, 0xce, 0x0f, - 0x67, 0xea, 0x6a, 0xe6, 0x2d, 0xc9, 0xfd, 0xd6, 0xdf, 0xd0, 0xe5, 0x11, 0xad, 0x22, 0xee, 0x0a, - 0xed, 0xc6, 0xa8, 0xa7, 0xc0, 0xb6, 0xaf, 0x64, 0x02, 0xdb, 0xb8, 0xd9, 0xdd, 0x38, 0xa6, 0x1e, - 0xfd, 0x60, 0x45, 0xba, 0xfd, 0xc3, 0x12, 0x8c, 0x66, 0xae, 0x84, 0x41, 0xaf, 0xa7, 0xab, 0x88, - 0x5b, 0x45, 0xf8, 0xd4, 0xf7, 0xbd, 0x25, 0xe4, 0x70, 0xb5, 0xc4, 0xef, 0xd3, 0x52, 0xb1, 0xbf, - 0x5d, 0x82, 0x91, 0xf4, 0x5d, 0x36, 0x0f, 0xe0, 0x48, 0xbd, 0x03, 0x6a, 0xec, 0xba, 0x06, 0x76, - 0x05, 0x33, 0x77, 0xc9, 0xf3, 0xca, 0xf8, 0xb2, 0x11, 0x6b, 0xf8, 0x03, 0x51, 0xa2, 0xdd, 0xfe, - 0xc7, 0x16, 0x9c, 0xe6, 0x6f, 0x99, 0x9d, 0x87, 0x7f, 0x33, 0x6f, 0x74, 0x5f, 0x2e, 0xb6, 0x83, - 0x99, 0xb2, 0x9e, 0x07, 0x8d, 0x2f, 0xbb, 0x31, 0x55, 0xf4, 0x36, 0x3d, 0x15, 0x1e, 0xc0, 0xce, - 0x1e, 0x6a, 0x32, 0xd8, 0xdf, 0x2e, 0x83, 0xbe, 0x24, 0x16, 0x79, 0x22, 0xcb, 0xb5, 0x90, 0xf2, - 0xa6, 0xab, 0xbb, 0x81, 0xab, 0xaf, 0xa3, 0xad, 0x66, 0x92, 0x5c, 0x7f, 0xd1, 0x82, 0x41, 0x2f, - 0xf0, 0x12, 0xcf, 0x61, 0xdb, 0xe8, 0x62, 0x6e, 0x7a, 0x54, 0xec, 0x16, 0x38, 0xe5, 0x30, 0x32, - 0xcf, 0x71, 0x14, 0x33, 0x6c, 0x72, 0x46, 0x1f, 0x12, 0xb1, 0xe7, 0xe5, 0xc2, 0xf2, 0xb3, 0xab, - 0x99, 0x80, 0xf3, 0x16, 0x35, 0xbc, 0x92, 0xa8, 0xa0, 0xb2, 0x06, 0x98, 0x92, 0x52, 0x95, 0xb2, - 0x95, 0x69, 0xcb, 0x9a, 0x31, 0x67, 0x64, 0xc7, 0x80, 0x3a, 0xc7, 0xe2, 0x90, 0x71, 0xbd, 0x53, - 0x50, 0x73, 0xda, 0x49, 0xd8, 0xa4, 0xc3, 0x24, 0x8e, 0x9a, 0x74, 0xe4, 0xb2, 0x04, 0x60, 0x8d, - 0x63, 0xbf, 0x5e, 0x81, 0x4c, 0xda, 0x29, 0xda, 0x31, 0x2f, 0x38, 0xb6, 0x8a, 0xbd, 0xe0, 0x58, - 0x75, 0x26, 0xef, 0x92, 0x63, 0xd4, 0x80, 0x4a, 0x6b, 0xd3, 0x89, 0xa5, 0x59, 0xfd, 0xa2, 0xda, - 0xc7, 0xd1, 0xc6, 0x3b, 0x7b, 0x13, 0x3f, 0xdd, 0x9b, 0xd7, 0x95, 0xce, 0xd5, 0x29, 0x5e, 0x2a, - 0x47, 0xb3, 0x66, 0x34, 0x30, 0xa7, 0x7f, 0x98, 0xbb, 0x2e, 0x3f, 0x2e, 0xee, 0xa5, 0xc0, 0x24, - 0x6e, 0xfb, 0x89, 0x98, 0x0d, 0x2f, 0x16, 0xb8, 0xca, 0x38, 0x61, 0x5d, 0x30, 0x81, 0xff, 0xc7, - 0x06, 0x53, 0xf4, 0x01, 0xa8, 0xc5, 0x89, 0x13, 0x25, 0x77, 0x99, 0xe2, 0xac, 0x4b, 0x9a, 0x49, - 0x22, 0x58, 0xd3, 0x43, 0x2f, 0xb1, 0x6a, 0xcf, 0x5e, 0xbc, 0x79, 0x97, 0x29, 0x23, 0xb2, 0x32, - 0xb4, 0xa0, 0x80, 0x0d, 0x6a, 0xe8, 0x3c, 0x00, 0x9b, 0xdb, 0x3c, 0xfe, 0xb0, 0xca, 0xbc, 0x4c, - 0x4a, 0x14, 0x62, 0x05, 0xc1, 0x06, 0x96, 0xfd, 0xe3, 0x90, 0xae, 0xf8, 0x81, 0x26, 0x64, 0x81, - 0x11, 0xee, 0x85, 0x66, 0xa9, 0x1f, 0xa9, 0x5a, 0x20, 0xbf, 0x61, 0x81, 0x59, 0x96, 0x04, 0xbd, - 0xca, 0xeb, 0x9f, 0x58, 0x45, 0x9c, 0x1c, 0x1a, 0x74, 0x27, 0x97, 0x9c, 0x56, 0xe6, 0x08, 0x5b, - 0x16, 0x41, 0x39, 0xf3, 0x4e, 0xa8, 0x4a, 0xe8, 0xa1, 0x8c, 0xba, 0x8f, 0xc2, 0x49, 0x99, 0x46, - 0x2a, 0xfd, 0xa6, 0xe2, 0xd4, 0xe9, 0x60, 0xd7, 0x8f, 0xf4, 0xe7, 0x94, 0xba, 0xf9, 0x73, 0x7a, - 0xb8, 0xe6, 0xfa, 0x37, 0x2d, 0x38, 0x97, 0xed, 0x40, 0xbc, 0x14, 0x06, 0x5e, 0x12, 0x46, 0xab, - 0x24, 0x49, 0xbc, 0xa0, 0xc1, 0xca, 0xbe, 0xdd, 0x72, 0x22, 0x59, 0x86, 0x9f, 0x09, 0xca, 0x1b, - 0x4e, 0x14, 0x60, 0xd6, 0x8a, 0x76, 0xa1, 0x9f, 0x07, 0xa9, 0x09, 0x6b, 0xfd, 0x88, 0x6b, 0x23, - 0x67, 0x38, 0xf4, 0x76, 0x81, 0x07, 0xc8, 0x61, 0xc1, 0xd0, 0xfe, 0x9e, 0x05, 0x68, 0x79, 0x9b, - 0x44, 0x91, 0x57, 0x37, 0xc2, 0xea, 0xd8, 0xfd, 0x4e, 0xc6, 0x3d, 0x4e, 0x66, 0x92, 0x73, 0xe6, - 0x7e, 0x27, 0xe3, 0x5f, 0xfe, 0xfd, 0x4e, 0xa5, 0xc3, 0xdd, 0xef, 0x84, 0x96, 0xe1, 0x74, 0x93, - 0x6f, 0x37, 0xf8, 0x9d, 0x29, 0x7c, 0xef, 0xa1, 0xf2, 0xf1, 0x1e, 0xb9, 0xbd, 0x37, 0x71, 0x7a, - 0x29, 0x0f, 0x01, 0xe7, 0x3f, 0x67, 0xbf, 0x13, 0x10, 0x8f, 0xa6, 0x9b, 0xcd, 0x8b, 0x55, 0xea, - 0xea, 0x7e, 0xb1, 0xbf, 0x5c, 0x81, 0xd1, 0x4c, 0x91, 0x66, 0xba, 0xd5, 0xeb, 0x0c, 0x8e, 0x3a, - 0xb2, 0xfe, 0xee, 0xec, 0x5e, 0x4f, 0xe1, 0x56, 0x01, 0x54, 0xbc, 0xa0, 0xd5, 0x4e, 0x8a, 0x49, - 0x07, 0xe6, 0x9d, 0x58, 0xa0, 0x04, 0x0d, 0x77, 0x31, 0xfd, 0x8b, 0x39, 0x9b, 0x22, 0x83, 0xb7, - 0x52, 0xc6, 0x78, 0xdf, 0x7d, 0x72, 0x07, 0x7c, 0x5c, 0x87, 0x52, 0x55, 0x8a, 0x70, 0x2c, 0x66, - 0x26, 0xcb, 0x71, 0x1f, 0xb5, 0x7f, 0xa3, 0x04, 0x83, 0xc6, 0x47, 0x43, 0xbf, 0x9a, 0x2e, 0xda, - 0x65, 0x15, 0xf7, 0x4a, 0x8c, 0xfe, 0xa4, 0x2e, 0xcb, 0xc5, 0x5f, 0xe9, 0x89, 0xce, 0x7a, 0x5d, - 0x77, 0xf6, 0x26, 0x4e, 0x64, 0x2a, 0x72, 0xa5, 0x6a, 0x78, 0x9d, 0xf9, 0x08, 0x8c, 0x66, 0xc8, - 0xe4, 0xbc, 0xf2, 0x9a, 0xf9, 0xca, 0x47, 0x76, 0x4b, 0x99, 0x43, 0xf6, 0x75, 0x3a, 0x64, 0x22, - 0x0b, 0x31, 0xf4, 0x49, 0x0f, 0x3e, 0xd8, 0x4c, 0xb2, 0x71, 0xa9, 0xc7, 0x64, 0xe3, 0x27, 0xa1, - 0xda, 0x0a, 0x7d, 0xcf, 0xf5, 0x54, 0x0d, 0x4d, 0x96, 0xde, 0xbc, 0x22, 0xda, 0xb0, 0x82, 0xa2, - 0x5b, 0x50, 0xbb, 0x79, 0x2b, 0xe1, 0xa7, 0x3f, 0xc2, 0xbf, 0x5d, 0xd4, 0xa1, 0x8f, 0x32, 0x5a, - 0xd4, 0xf1, 0x12, 0xd6, 0xbc, 0x90, 0x0d, 0xfd, 0x4c, 0x09, 0xca, 0x8c, 0x04, 0xe6, 0x7b, 0x67, - 0xda, 0x31, 0xc6, 0x02, 0x62, 0x7f, 0xad, 0x06, 0xa7, 0xf2, 0x2a, 0xe5, 0xa3, 0x0f, 0x43, 0x3f, - 0xef, 0x63, 0x31, 0x97, 0xb1, 0xe4, 0xf1, 0x98, 0x67, 0x04, 0x45, 0xb7, 0xd8, 0x6f, 0x2c, 0x78, - 0x0a, 0xee, 0xbe, 0xb3, 0x2e, 0x66, 0xc8, 0xf1, 0x70, 0x5f, 0x74, 0x34, 0xf7, 0x45, 0x87, 0x73, - 0xf7, 0x9d, 0x75, 0xb4, 0x03, 0x95, 0x86, 0x97, 0x10, 0x47, 0x38, 0x11, 0x6e, 0x1c, 0x0b, 0x73, - 0xe2, 0x70, 0x2b, 0x8d, 0xfd, 0xc4, 0x9c, 0x21, 0xfa, 0xaa, 0x05, 0xa3, 0xeb, 0xe9, 0x2a, 0x07, - 0x42, 0x78, 0x3a, 0xc7, 0x70, 0x1b, 0x42, 0x9a, 0x11, 0xbf, 0xe0, 0x2c, 0xd3, 0x88, 0xb3, 0xdd, - 0x41, 0x9f, 0xb0, 0x60, 0x60, 0xc3, 0xf3, 0x8d, 0x82, 0xd4, 0xc7, 0xf0, 0x71, 0x2e, 0x32, 0x06, - 0x7a, 0xc7, 0xc1, 0xff, 0xc7, 0x58, 0x72, 0xee, 0xa6, 0xa9, 0xfa, 0x8f, 0xaa, 0xa9, 0x06, 0xee, - 0x93, 0xa6, 0xfa, 0xb4, 0x05, 0x35, 0x35, 0xd2, 0x22, 0x5b, 0xfc, 0x03, 0xc7, 0xf8, 0xc9, 0xb9, - 0xe7, 0x44, 0xfd, 0xc5, 0x9a, 0x39, 0xfa, 0x82, 0x05, 0x83, 0xce, 0x6b, 0xed, 0x88, 0xd4, 0xc9, - 0x76, 0xd8, 0x8a, 0xc5, 0xed, 0xa8, 0x2f, 0x17, 0xdf, 0x99, 0x69, 0xca, 0x64, 0x8e, 0x6c, 0x2f, - 0xb7, 0x62, 0x91, 0x2d, 0xa5, 0x1b, 0xb0, 0xd9, 0x05, 0x7b, 0xaf, 0x04, 0x13, 0x07, 0x50, 0x40, - 0xcf, 0xc3, 0x50, 0x18, 0x35, 0x9c, 0xc0, 0x7b, 0xcd, 0x2c, 0x5b, 0xa2, 0xac, 0xac, 0x65, 0x03, - 0x86, 0x53, 0x98, 0x66, 0x3e, 0x7b, 0xe9, 0x80, 0x7c, 0xf6, 0x73, 0xd0, 0x17, 0x91, 0x56, 0x98, - 0xdd, 0x2c, 0xb0, 0x4c, 0x05, 0x06, 0x41, 0x8f, 0x42, 0xd9, 0x69, 0x79, 0x22, 0x10, 0x4d, 0xed, - 0x81, 0xa6, 0x57, 0x16, 0x30, 0x6d, 0x4f, 0x95, 0xd7, 0xa8, 0xdc, 0x93, 0xf2, 0x1a, 0x54, 0x0d, - 0x88, 0xb3, 0x8b, 0x7e, 0xad, 0x06, 0xd2, 0x67, 0x0a, 0xf6, 0x1b, 0x65, 0x78, 0x74, 0xdf, 0xf9, - 0xa2, 0xe3, 0xf0, 0xac, 0x7d, 0xe2, 0xf0, 0xe4, 0xf0, 0x94, 0x0e, 0x1a, 0x9e, 0x72, 0x97, 0xe1, - 0xf9, 0x04, 0x5d, 0x06, 0xb2, 0xdc, 0x4b, 0x31, 0xf7, 0x5b, 0x76, 0xab, 0x1e, 0x23, 0x56, 0x80, - 0x84, 0x62, 0xcd, 0x97, 0xee, 0x01, 0x52, 0xb9, 0xdc, 0x95, 0x22, 0xd4, 0x40, 0xd7, 0x92, 0x2b, - 0x7c, 0xee, 0x77, 0x4b, 0x10, 0xb7, 0x7f, 0xbb, 0x0f, 0x1e, 0xef, 0x41, 0x7a, 0x9b, 0xb3, 0xd8, - 0xea, 0x71, 0x16, 0xff, 0x80, 0x7f, 0xa6, 0x4f, 0xe5, 0x7e, 0x26, 0x5c, 0xfc, 0x67, 0xda, 0xff, - 0x0b, 0xa1, 0xa7, 0xa0, 0xea, 0x05, 0x31, 0x71, 0xdb, 0x11, 0x8f, 0x49, 0x36, 0xd2, 0x98, 0x16, - 0x44, 0x3b, 0x56, 0x18, 0x74, 0x4f, 0xe7, 0x3a, 0x74, 0xf9, 0x0f, 0x14, 0x94, 0xbb, 0x6b, 0x66, - 0x44, 0x71, 0x93, 0x62, 0x76, 0x9a, 0x4a, 0x00, 0xce, 0xc6, 0xfe, 0x5b, 0x16, 0x9c, 0xe9, 0xae, - 0x62, 0xd1, 0x33, 0x30, 0xb8, 0x1e, 0x39, 0x81, 0xbb, 0xc9, 0x6e, 0x36, 0x96, 0x53, 0x87, 0xbd, - 0xaf, 0x6e, 0xc6, 0x26, 0x0e, 0x9a, 0x85, 0x31, 0x1e, 0xb9, 0x61, 0x60, 0xc8, 0xcc, 0xdf, 0xdb, - 0x7b, 0x13, 0x63, 0x6b, 0x59, 0x20, 0xee, 0xc4, 0xb7, 0xbf, 0x5f, 0xce, 0xef, 0x16, 0x37, 0xc5, - 0x0e, 0x33, 0x9b, 0xc5, 0x5c, 0x2d, 0xf5, 0x20, 0x71, 0xcb, 0xf7, 0x5a, 0xe2, 0xf6, 0x75, 0x93, - 0xb8, 0x68, 0x0e, 0x4e, 0x18, 0x57, 0x4f, 0xf1, 0x6c, 0x6e, 0x1e, 0x96, 0xac, 0x4a, 0xb1, 0xac, - 0x64, 0xe0, 0xb8, 0xe3, 0x89, 0x07, 0x7c, 0xea, 0xfd, 0x5a, 0x09, 0x1e, 0xe9, 0x6a, 0xfd, 0xde, - 0x23, 0x8d, 0x62, 0x7e, 0xfe, 0xbe, 0x7b, 0xf3, 0xf9, 0xcd, 0x8f, 0x52, 0x39, 0xe8, 0xa3, 0xd8, - 0x7f, 0x5c, 0xea, 0xba, 0x10, 0xe8, 0x4e, 0xe8, 0x87, 0x76, 0x94, 0x5e, 0x80, 0x61, 0xa7, 0xd5, - 0xe2, 0x78, 0x2c, 0x8a, 0x36, 0x53, 0xfa, 0x69, 0xda, 0x04, 0xe2, 0x34, 0x6e, 0x4f, 0x36, 0xcd, - 0x9f, 0x58, 0x50, 0xc3, 0x64, 0x83, 0x4b, 0x23, 0x74, 0x53, 0x0c, 0x91, 0x55, 0x44, 0x9d, 0x5b, - 0x3a, 0xb0, 0xb1, 0xc7, 0xea, 0xbf, 0xe6, 0x0d, 0x76, 0xe7, 0x55, 0x64, 0xa5, 0x43, 0x5d, 0x45, - 0xa6, 0x2e, 0xa3, 0x2a, 0x77, 0xbf, 0x8c, 0xca, 0xfe, 0xee, 0x00, 0x7d, 0xbd, 0x56, 0x38, 0x1b, - 0x91, 0x7a, 0x4c, 0xbf, 0x6f, 0x3b, 0xf2, 0xc5, 0x24, 0x51, 0xdf, 0xf7, 0x1a, 0x5e, 0xc4, 0xb4, - 0x3d, 0x75, 0x40, 0x56, 0x3a, 0x54, 0xe1, 0x9b, 0xf2, 0x81, 0x85, 0x6f, 0x5e, 0x80, 0xe1, 0x38, - 0xde, 0x5c, 0x89, 0xbc, 0x6d, 0x27, 0x21, 0x57, 0xc8, 0xae, 0xb0, 0x7d, 0x75, 0x11, 0x88, 0xd5, - 0x4b, 0x1a, 0x88, 0xd3, 0xb8, 0x68, 0x1e, 0xc6, 0x74, 0xf9, 0x19, 0x12, 0x25, 0x2c, 0xe7, 0x82, - 0xcf, 0x04, 0x95, 0xf1, 0xad, 0x0b, 0xd6, 0x08, 0x04, 0xdc, 0xf9, 0x0c, 0x95, 0xa7, 0xa9, 0x46, - 0xda, 0x91, 0xfe, 0xb4, 0x3c, 0x4d, 0xd1, 0xa1, 0x7d, 0xe9, 0x78, 0x02, 0x2d, 0xc1, 0x49, 0x3e, - 0x31, 0xa6, 0x5b, 0x2d, 0xe3, 0x8d, 0x06, 0xd2, 0xf5, 0x45, 0xe7, 0x3b, 0x51, 0x70, 0xde, 0x73, - 0xe8, 0x39, 0x18, 0x54, 0xcd, 0x0b, 0x73, 0xe2, 0x6c, 0x47, 0xf9, 0x96, 0x14, 0x99, 0x85, 0x3a, - 0x36, 0xf1, 0xd0, 0xfb, 0xe1, 0x61, 0xfd, 0x97, 0x27, 0xe6, 0xf1, 0x03, 0xcf, 0x39, 0x51, 0xd9, - 0x4b, 0x5d, 0x7d, 0x34, 0x9f, 0x8b, 0x56, 0xc7, 0xdd, 0x9e, 0x47, 0xeb, 0x70, 0x46, 0x81, 0x2e, - 0x04, 0x09, 0xcb, 0xb2, 0x89, 0xc9, 0x8c, 0x13, 0x93, 0x6b, 0x91, 0x2f, 0xae, 0xd0, 0x56, 0xb7, - 0xe3, 0xce, 0x7b, 0xc9, 0xa5, 0x3c, 0x4c, 0xbc, 0x88, 0xf7, 0xa1, 0x82, 0xa6, 0xa0, 0x46, 0x02, - 0x67, 0xdd, 0x27, 0xcb, 0xb3, 0x0b, 0xac, 0x42, 0x98, 0x71, 0xbe, 0x7a, 0x41, 0x02, 0xb0, 0xc6, - 0x51, 0x71, 0xbf, 0x43, 0x5d, 0x6f, 0x6a, 0x5e, 0x81, 0x53, 0x0d, 0xb7, 0x45, 0x2d, 0x42, 0xcf, - 0x25, 0xd3, 0x2e, 0x0b, 0x73, 0xa4, 0x1f, 0x86, 0x17, 0x7e, 0x55, 0x41, 0xed, 0xf3, 0xb3, 0x2b, - 0x1d, 0x38, 0x38, 0xf7, 0x49, 0x16, 0x0e, 0x1b, 0x85, 0x3b, 0xbb, 0xe3, 0x27, 0x33, 0xe1, 0xb0, - 0xb4, 0x11, 0x73, 0x18, 0xba, 0x0c, 0x88, 0x65, 0x48, 0x5c, 0x4a, 0x92, 0x96, 0x32, 0x41, 0xc7, - 0x4f, 0xa5, 0xeb, 0xfc, 0x5c, 0xec, 0xc0, 0xc0, 0x39, 0x4f, 0x51, 0x8b, 0x26, 0x08, 0x19, 0xf5, - 0xf1, 0x87, 0xd3, 0x16, 0xcd, 0x55, 0xde, 0x8c, 0x25, 0xdc, 0xfe, 0xcf, 0x16, 0x0c, 0xab, 0xa5, - 0x7d, 0x0f, 0xd2, 0x89, 0xfc, 0x74, 0x3a, 0xd1, 0xfc, 0xd1, 0x85, 0x23, 0xeb, 0x79, 0x97, 0x98, - 0xf4, 0x6f, 0x0c, 0x02, 0x68, 0x01, 0xaa, 0x74, 0x97, 0xd5, 0x55, 0x77, 0x3d, 0xb0, 0xc2, 0x2b, - 0xaf, 0x22, 0x4f, 0xe5, 0xfe, 0x56, 0xe4, 0x59, 0x85, 0xd3, 0xd2, 0xb2, 0xe0, 0x87, 0x7d, 0x97, - 0xc2, 0x58, 0xc9, 0xc2, 0xea, 0xcc, 0xa3, 0x82, 0xd0, 0xe9, 0x85, 0x3c, 0x24, 0x9c, 0xff, 0x6c, - 0xca, 0xa0, 0x19, 0x38, 0xd0, 0xca, 0x54, 0xcb, 0x7f, 0x71, 0x43, 0x5e, 0x21, 0x94, 0x59, 0xfe, - 0x8b, 0x17, 0x57, 0xb1, 0xc6, 0xc9, 0xd7, 0x01, 0xb5, 0x82, 0x74, 0x00, 0x1c, 0x5a, 0x07, 0x48, - 0x69, 0x34, 0xd8, 0x55, 0x1a, 0xc9, 0x43, 0x85, 0xa1, 0xae, 0x87, 0x0a, 0xef, 0x81, 0x11, 0x2f, - 0xd8, 0x24, 0x91, 0x97, 0x90, 0x3a, 0x5b, 0x0b, 0x4c, 0x52, 0x55, 0xb5, 0x05, 0xb0, 0x90, 0x82, - 0xe2, 0x0c, 0x76, 0x5a, 0x84, 0x8e, 0xf4, 0x20, 0x42, 0xbb, 0x28, 0xae, 0xd1, 0x62, 0x14, 0xd7, - 0x89, 0xa3, 0x2b, 0xae, 0xb1, 0x63, 0x55, 0x5c, 0xa8, 0x10, 0xc5, 0xd5, 0x93, 0x4e, 0x30, 0x76, - 0xa6, 0xa7, 0x0e, 0xd8, 0x99, 0x76, 0xd3, 0x5a, 0xa7, 0xef, 0x5a, 0x6b, 0xe5, 0x2b, 0xa4, 0x87, - 0x8e, 0x5b, 0x21, 0x7d, 0xba, 0x04, 0xa7, 0xb5, 0xc8, 0xa6, 0x0b, 0xc5, 0xdb, 0xa0, 0x42, 0x8b, - 0x5d, 0x58, 0xc7, 0xcf, 0xe8, 0x8c, 0x44, 0x38, 0x9d, 0x53, 0xa7, 0x20, 0xd8, 0xc0, 0x62, 0xf9, - 0x64, 0x24, 0x62, 0xd5, 0xaf, 0xb3, 0xf2, 0x7c, 0x56, 0xb4, 0x63, 0x85, 0x41, 0xa7, 0x22, 0xfd, - 0x2d, 0x72, 0x74, 0xb3, 0x75, 0x15, 0x67, 0x35, 0x08, 0x9b, 0x78, 0xe8, 0x49, 0xce, 0x84, 0xc9, - 0x12, 0x2a, 0xd3, 0x87, 0xc4, 0xad, 0xe0, 0x52, 0x7c, 0x28, 0xa8, 0xec, 0x0e, 0x4b, 0x1c, 0xac, - 0x74, 0x76, 0x87, 0x85, 0xbb, 0x29, 0x0c, 0xfb, 0x7f, 0x5a, 0xf0, 0x48, 0xee, 0x50, 0xdc, 0x03, - 0x3d, 0xbd, 0x93, 0xd6, 0xd3, 0xab, 0x45, 0x6d, 0x62, 0x8c, 0xb7, 0xe8, 0xa2, 0xb3, 0xff, 0xa3, - 0x05, 0x23, 0x1a, 0xff, 0x1e, 0xbc, 0xaa, 0x97, 0x7e, 0xd5, 0xe2, 0xf6, 0x6b, 0xb5, 0x8e, 0x77, - 0xfb, 0xbd, 0x12, 0xa8, 0x5a, 0xa7, 0xd3, 0xae, 0xac, 0x24, 0x7d, 0xc0, 0xa9, 0xf1, 0x2e, 0xf4, - 0xb3, 0x43, 0xef, 0xb8, 0x98, 0x80, 0x9e, 0x34, 0x7f, 0x76, 0x80, 0xae, 0x03, 0x0a, 0xd8, 0xdf, - 0x18, 0x0b, 0x86, 0xac, 0x36, 0x3b, 0x2f, 0x23, 0x59, 0x17, 0x29, 0x78, 0xba, 0x36, 0xbb, 0x68, - 0xc7, 0x0a, 0x83, 0x6a, 0x12, 0xcf, 0x0d, 0x83, 0x59, 0xdf, 0x89, 0xe5, 0x8d, 0xb3, 0x4a, 0x93, - 0x2c, 0x48, 0x00, 0xd6, 0x38, 0xec, 0x3c, 0xdc, 0x8b, 0x5b, 0xbe, 0xb3, 0x6b, 0xec, 0xca, 0x8d, - 0x5a, 0x14, 0x0a, 0x84, 0x4d, 0x3c, 0xbb, 0x09, 0xe3, 0xe9, 0x97, 0x98, 0x23, 0x1b, 0x2c, 0x18, - 0xb5, 0xa7, 0xe1, 0x9c, 0x82, 0x9a, 0xc3, 0x9e, 0x5a, 0x6c, 0x3b, 0x42, 0x26, 0xe8, 0x90, 0x4c, - 0x09, 0xc0, 0x1a, 0xc7, 0xfe, 0x47, 0x16, 0x9c, 0xcc, 0x19, 0xb4, 0x02, 0x53, 0x1c, 0x13, 0x2d, - 0x6d, 0xf2, 0x6c, 0x80, 0x1f, 0x83, 0x81, 0x3a, 0xd9, 0x70, 0x64, 0xb8, 0xa3, 0x21, 0x3d, 0xe7, - 0x78, 0x33, 0x96, 0x70, 0xfb, 0xb7, 0x4a, 0x30, 0x9a, 0xee, 0x6b, 0xcc, 0xd2, 0x86, 0xf8, 0x30, - 0x79, 0xb1, 0x1b, 0x6e, 0x93, 0x68, 0x97, 0xbe, 0xb9, 0x95, 0x49, 0x1b, 0xea, 0xc0, 0xc0, 0x39, - 0x4f, 0xb1, 0x4a, 0xc7, 0x75, 0x35, 0xda, 0x72, 0x46, 0x5e, 0x2f, 0x72, 0x46, 0xea, 0x8f, 0x69, - 0x86, 0x46, 0x28, 0x96, 0xd8, 0xe4, 0x4f, 0x6d, 0x11, 0x16, 0x87, 0x3d, 0xd3, 0xf6, 0xfc, 0xc4, - 0x0b, 0xc4, 0x2b, 0x8b, 0xb9, 0xaa, 0x6c, 0x91, 0xa5, 0x4e, 0x14, 0x9c, 0xf7, 0x9c, 0xfd, 0xbd, - 0x3e, 0x50, 0x29, 0xd5, 0x2c, 0x74, 0xad, 0xa0, 0xc0, 0xbf, 0xc3, 0x26, 0x9f, 0xa9, 0xb9, 0xd5, - 0xb7, 0x5f, 0x2c, 0x09, 0x77, 0xe5, 0x98, 0xfe, 0x5c, 0x35, 0x60, 0x6b, 0x1a, 0x84, 0x4d, 0x3c, - 0xda, 0x13, 0xdf, 0xdb, 0x26, 0xfc, 0xa1, 0xfe, 0x74, 0x4f, 0x16, 0x25, 0x00, 0x6b, 0x1c, 0xda, - 0x93, 0xba, 0xb7, 0xb1, 0x21, 0xfc, 0x12, 0xaa, 0x27, 0x74, 0x74, 0x30, 0x83, 0xf0, 0x5a, 0xf8, - 0xe1, 0x96, 0xb0, 0xbf, 0x8d, 0x5a, 0xf8, 0xe1, 0x16, 0x66, 0x10, 0xfa, 0x95, 0x82, 0x30, 0x6a, - 0x3a, 0xbe, 0xf7, 0x1a, 0xa9, 0x2b, 0x2e, 0xc2, 0xee, 0x56, 0x5f, 0xe9, 0x6a, 0x27, 0x0a, 0xce, - 0x7b, 0x8e, 0x4e, 0xe8, 0x56, 0x44, 0xea, 0x9e, 0x9b, 0x98, 0xd4, 0x20, 0x3d, 0xa1, 0x57, 0x3a, - 0x30, 0x70, 0xce, 0x53, 0x68, 0x1a, 0x46, 0x65, 0x4a, 0xbc, 0x2c, 0x78, 0x34, 0x98, 0x2e, 0xb0, - 0x82, 0xd3, 0x60, 0x9c, 0xc5, 0xa7, 0x42, 0xb2, 0x29, 0x6a, 0xa2, 0x31, 0x33, 0xdd, 0x10, 0x92, - 0xb2, 0x56, 0x1a, 0x56, 0x18, 0xf6, 0xc7, 0xcb, 0x54, 0xa9, 0x77, 0x29, 0x3d, 0x78, 0xcf, 0x02, - 0x4d, 0xd3, 0x33, 0xb2, 0xaf, 0x87, 0x19, 0xf9, 0x2c, 0x0c, 0xdd, 0x8c, 0xc3, 0x40, 0x05, 0x71, - 0x56, 0xba, 0x06, 0x71, 0x1a, 0x58, 0xf9, 0x41, 0x9c, 0xfd, 0x45, 0x05, 0x71, 0x0e, 0xdc, 0x65, - 0x10, 0xe7, 0x1f, 0x54, 0x40, 0xdd, 0x2b, 0x74, 0x95, 0x24, 0xb7, 0xc2, 0x68, 0xcb, 0x0b, 0x1a, - 0xac, 0x94, 0xc0, 0x57, 0x2d, 0x18, 0xe2, 0xeb, 0x65, 0xd1, 0x4c, 0xc2, 0xdb, 0x28, 0xe8, 0xc2, - 0x9a, 0x14, 0xb3, 0xc9, 0x35, 0x83, 0x51, 0xe6, 0xce, 0x61, 0x13, 0x84, 0x53, 0x3d, 0x42, 0x1f, - 0x01, 0x90, 0x4e, 0xdc, 0x0d, 0x29, 0x81, 0x17, 0x8a, 0xe9, 0x1f, 0x26, 0x1b, 0xda, 0xa4, 0x5e, - 0x53, 0x4c, 0xb0, 0xc1, 0x10, 0x7d, 0x5a, 0x27, 0x28, 0xf2, 0x6c, 0x8f, 0x0f, 0x1d, 0xcb, 0xd8, - 0xf4, 0x92, 0x9e, 0x88, 0x61, 0xc0, 0x0b, 0x1a, 0x74, 0x9e, 0x88, 0x60, 0xb7, 0xb7, 0xe7, 0x95, - 0xe1, 0x58, 0x0c, 0x9d, 0xfa, 0x8c, 0xe3, 0x3b, 0x81, 0x4b, 0xa2, 0x05, 0x8e, 0xae, 0x35, 0xa8, - 0x68, 0xc0, 0x92, 0x50, 0xc7, 0x8d, 0x4c, 0x95, 0x5e, 0x6e, 0x64, 0x3a, 0xf3, 0x5e, 0x18, 0xeb, - 0xf8, 0x98, 0x87, 0xca, 0x46, 0xbc, 0xfb, 0x44, 0x46, 0xfb, 0xb7, 0xfb, 0xb5, 0xd2, 0xba, 0x1a, - 0xd6, 0xf9, 0x05, 0x3f, 0x91, 0xfe, 0xa2, 0xc2, 0x64, 0x2e, 0x70, 0x8a, 0x28, 0x35, 0x63, 0x34, - 0x62, 0x93, 0x25, 0x9d, 0xa3, 0x2d, 0x27, 0x22, 0xc1, 0x71, 0xcf, 0xd1, 0x15, 0xc5, 0x04, 0x1b, - 0x0c, 0xd1, 0x66, 0x2a, 0x1d, 0xe9, 0xe2, 0xd1, 0xd3, 0x91, 0x58, 0x81, 0xb2, 0xbc, 0x7b, 0x30, - 0xbe, 0x60, 0xc1, 0x48, 0x90, 0x9a, 0xb9, 0xc5, 0x44, 0x20, 0xe7, 0xaf, 0x0a, 0x7e, 0x2d, 0x5d, - 0xba, 0x0d, 0x67, 0xf8, 0xe7, 0xa9, 0xb4, 0xca, 0x21, 0x55, 0x9a, 0xbe, 0x60, 0xac, 0xbf, 0xdb, - 0x05, 0x63, 0x28, 0x50, 0x37, 0x2c, 0x0e, 0x14, 0x7e, 0xc3, 0x22, 0xe4, 0xdc, 0xae, 0x78, 0x03, - 0x6a, 0x6e, 0x44, 0x9c, 0xe4, 0x2e, 0x2f, 0xdb, 0x63, 0xb1, 0x1d, 0xb3, 0x92, 0x00, 0xd6, 0xb4, - 0xec, 0xff, 0xd3, 0x07, 0x27, 0xe4, 0x88, 0xc8, 0xec, 0x05, 0xaa, 0x1f, 0x39, 0x5f, 0x6d, 0x2b, - 0x2b, 0xfd, 0x78, 0x49, 0x02, 0xb0, 0xc6, 0xa1, 0xf6, 0x58, 0x3b, 0x26, 0xcb, 0x2d, 0x12, 0x2c, - 0x7a, 0xeb, 0xb1, 0x38, 0x8c, 0x55, 0x0b, 0xe5, 0x9a, 0x06, 0x61, 0x13, 0x8f, 0xda, 0xf6, 0x8e, - 0x61, 0xb4, 0x1a, 0xb6, 0xbd, 0x34, 0x54, 0x25, 0x1c, 0xfd, 0x72, 0x6e, 0x2d, 0xe4, 0x62, 0x72, - 0xfe, 0x3a, 0x92, 0x36, 0x0e, 0x79, 0x3f, 0xeb, 0xdf, 0xb7, 0xe0, 0x34, 0x6f, 0x95, 0x23, 0x79, - 0xad, 0x55, 0x77, 0x12, 0x12, 0x17, 0x73, 0x87, 0x42, 0x4e, 0xff, 0xb4, 0x7b, 0x39, 0x8f, 0x2d, - 0xce, 0xef, 0x0d, 0x7a, 0xdd, 0x82, 0xd1, 0xad, 0x54, 0xb9, 0x18, 0xa9, 0x3a, 0x8e, 0x5a, 0xc9, - 0x21, 0x45, 0x54, 0x2f, 0xb5, 0x74, 0x7b, 0x8c, 0xb3, 0xdc, 0xed, 0xff, 0x61, 0x81, 0x29, 0x46, - 0xef, 0x7d, 0x95, 0x99, 0xc3, 0x9b, 0x82, 0xd2, 0xba, 0xac, 0x74, 0xb5, 0x2e, 0x1f, 0x85, 0x72, - 0xdb, 0xab, 0x8b, 0xfd, 0x85, 0x3e, 0x22, 0x5e, 0x98, 0xc3, 0xb4, 0xdd, 0xfe, 0x97, 0x15, 0xed, - 0x06, 0x11, 0x29, 0x75, 0x3f, 0x14, 0xaf, 0xbd, 0xa1, 0xea, 0xd4, 0xf1, 0x37, 0xbf, 0xda, 0x51, - 0xa7, 0xee, 0xa7, 0x0e, 0x9f, 0x31, 0xc9, 0x07, 0xa8, 0x5b, 0x99, 0xba, 0x81, 0x03, 0xd2, 0x25, - 0x6f, 0x42, 0x95, 0x6e, 0xc1, 0x98, 0x3f, 0xb3, 0x9a, 0xea, 0x54, 0xf5, 0x92, 0x68, 0xbf, 0xb3, - 0x37, 0xf1, 0xae, 0xc3, 0x77, 0x4b, 0x3e, 0x8d, 0x15, 0x7d, 0x14, 0x43, 0x8d, 0xfe, 0x66, 0x99, - 0x9d, 0x62, 0x73, 0x77, 0x4d, 0xc9, 0x4c, 0x09, 0x28, 0x24, 0x6d, 0x54, 0xf3, 0x41, 0x01, 0xd4, - 0xd8, 0x55, 0xd6, 0x8c, 0x29, 0xdf, 0x03, 0xae, 0xa8, 0xfc, 0x4a, 0x09, 0xb8, 0xb3, 0x37, 0xf1, - 0xc2, 0xe1, 0x99, 0xaa, 0xc7, 0xb1, 0x66, 0x61, 0xff, 0x75, 0x9f, 0x9e, 0xbb, 0xa2, 0x3c, 0xe1, - 0x0f, 0xc5, 0xdc, 0x7d, 0x3e, 0x33, 0x77, 0xcf, 0x75, 0xcc, 0xdd, 0x11, 0x7d, 0xe5, 0x72, 0x6a, - 0x36, 0xde, 0x6b, 0x43, 0xe0, 0x60, 0x7f, 0x03, 0xb3, 0x80, 0x5e, 0x6d, 0x7b, 0x11, 0x89, 0x57, - 0xa2, 0x76, 0xe0, 0x05, 0x0d, 0x36, 0x1d, 0xab, 0xa6, 0x05, 0x94, 0x02, 0xe3, 0x2c, 0x3e, 0xdd, - 0xd4, 0xd3, 0x6f, 0x7e, 0xc3, 0xd9, 0xe6, 0xb3, 0xca, 0xa8, 0xd8, 0xb6, 0x2a, 0xda, 0xb1, 0xc2, - 0x40, 0x9b, 0x70, 0x56, 0x12, 0x98, 0x23, 0x3e, 0x11, 0x77, 0x26, 0x6f, 0x78, 0x51, 0x93, 0x07, - 0x88, 0xf3, 0xc8, 0x84, 0xb7, 0x09, 0x0a, 0x67, 0xf1, 0x3e, 0xb8, 0x78, 0x5f, 0x4a, 0xf6, 0xd7, - 0xd9, 0x79, 0xbd, 0x91, 0xbc, 0x4e, 0x67, 0x9f, 0xcf, 0x6e, 0x29, 0xe7, 0x85, 0xe5, 0xd4, 0xec, - 0xe3, 0x57, 0x93, 0x73, 0x18, 0xba, 0x05, 0x03, 0xeb, 0xfc, 0xbe, 0xcd, 0x62, 0x6a, 0xfb, 0x8b, - 0xcb, 0x3b, 0xd9, 0x4d, 0x46, 0xf2, 0x26, 0xcf, 0x3b, 0xfa, 0x27, 0x96, 0xdc, 0xec, 0x6f, 0x55, - 0x60, 0x34, 0x73, 0x8f, 0x75, 0xaa, 0xa4, 0x6f, 0xe9, 0xc0, 0x92, 0xbe, 0x1f, 0x04, 0xa8, 0x93, - 0x96, 0x1f, 0xee, 0x32, 0xc3, 0xaf, 0xef, 0xd0, 0x86, 0x9f, 0xda, 0x2b, 0xcc, 0x29, 0x2a, 0xd8, - 0xa0, 0x28, 0xaa, 0xe9, 0xf1, 0x0a, 0xc1, 0x99, 0x6a, 0x7a, 0xc6, 0x0d, 0x20, 0xfd, 0xf7, 0xf6, - 0x06, 0x10, 0x0f, 0x46, 0x79, 0x17, 0x55, 0x8a, 0xf8, 0x5d, 0x64, 0x82, 0xb3, 0x24, 0x9b, 0xb9, - 0x34, 0x19, 0x9c, 0xa5, 0x7b, 0x3f, 0xaf, 0xa9, 0x47, 0xef, 0x80, 0x9a, 0xfc, 0xce, 0xf1, 0x78, - 0x4d, 0x97, 0xd9, 0x90, 0xd3, 0x80, 0x5d, 0x1f, 0x2f, 0x7e, 0x76, 0x54, 0xbb, 0x80, 0xfb, 0x55, - 0xed, 0xc2, 0xfe, 0x7c, 0x89, 0xee, 0x18, 0x78, 0xbf, 0x54, 0xe1, 0xa6, 0x27, 0xa0, 0xdf, 0x69, - 0x27, 0x9b, 0x61, 0xc7, 0x8d, 0x9d, 0xd3, 0xac, 0x15, 0x0b, 0x28, 0x5a, 0x84, 0xbe, 0xba, 0x2e, - 0xc6, 0x73, 0x98, 0xef, 0xa9, 0x9d, 0xaf, 0x4e, 0x42, 0x30, 0xa3, 0x82, 0xce, 0x42, 0x5f, 0xe2, - 0x34, 0x64, 0x5e, 0x20, 0xcb, 0x05, 0x5f, 0x73, 0x1a, 0x31, 0x66, 0xad, 0xa6, 0xa1, 0xd0, 0x77, - 0x80, 0xa1, 0xf0, 0x02, 0x0c, 0xc7, 0x5e, 0x23, 0x70, 0x92, 0x76, 0x44, 0x8c, 0xf3, 0x49, 0x1d, - 0x9d, 0x62, 0x02, 0x71, 0x1a, 0xd7, 0xfe, 0x9d, 0x21, 0x38, 0xb5, 0x3a, 0xbb, 0x24, 0x4b, 0xcc, - 0x1f, 0x5b, 0x6a, 0x5f, 0x1e, 0x8f, 0x7b, 0x97, 0xda, 0xd7, 0x85, 0xbb, 0x6f, 0xa4, 0xf6, 0xf9, - 0x46, 0x6a, 0x5f, 0x3a, 0xcf, 0xaa, 0x5c, 0x44, 0x9e, 0x55, 0x5e, 0x0f, 0x7a, 0xc9, 0xb3, 0x3a, - 0xb6, 0x5c, 0xbf, 0x7d, 0x3b, 0x74, 0xa8, 0x5c, 0x3f, 0x95, 0x08, 0x59, 0x48, 0x06, 0x4c, 0x97, - 0x4f, 0x95, 0x9b, 0x08, 0xa9, 0x92, 0xd0, 0x78, 0x76, 0x97, 0x10, 0xf5, 0x2f, 0x17, 0xdf, 0x81, - 0x1e, 0x92, 0xd0, 0x44, 0x82, 0x99, 0x99, 0xf8, 0x38, 0x50, 0x44, 0xe2, 0x63, 0x5e, 0x77, 0x0e, - 0x4c, 0x7c, 0x7c, 0x01, 0x86, 0x5d, 0x3f, 0x0c, 0xc8, 0x4a, 0x14, 0x26, 0xa1, 0x1b, 0xca, 0x3b, - 0x03, 0xf5, 0x95, 0x37, 0x26, 0x10, 0xa7, 0x71, 0xbb, 0x65, 0x4d, 0xd6, 0x8e, 0x9a, 0x35, 0x09, - 0xf7, 0x29, 0x6b, 0xf2, 0x17, 0x74, 0x7e, 0xff, 0x20, 0xfb, 0x22, 0x1f, 0x2c, 0xfe, 0x8b, 0xf4, - 0x74, 0x29, 0xe0, 0x1b, 0xfc, 0xca, 0x4c, 0x6a, 0x82, 0xcf, 0x86, 0x4d, 0x6a, 0xf8, 0x0d, 0xb1, - 0x21, 0x79, 0xe5, 0x18, 0x26, 0xec, 0x8d, 0x55, 0xcd, 0x46, 0x5d, 0xa3, 0xa9, 0x9b, 0x70, 0xba, - 0x23, 0x47, 0xa9, 0x3f, 0xf0, 0xe5, 0x12, 0xfc, 0xc8, 0x81, 0x5d, 0x40, 0xb7, 0x00, 0x12, 0xa7, - 0x21, 0x26, 0xaa, 0x38, 0x9a, 0x39, 0x62, 0x08, 0xe9, 0x9a, 0xa4, 0xc7, 0x0b, 0xe7, 0xa8, 0xbf, - 0xec, 0xd0, 0x43, 0xfe, 0x66, 0x91, 0xa3, 0xa1, 0xdf, 0x51, 0x5f, 0x14, 0x87, 0x3e, 0xc1, 0x0c, - 0x42, 0xd5, 0x7f, 0x44, 0x1a, 0xfa, 0xbe, 0x79, 0xf5, 0xf9, 0x30, 0x6b, 0xc5, 0x02, 0x8a, 0x9e, - 0x83, 0x41, 0xc7, 0xf7, 0x79, 0x7a, 0x12, 0x89, 0xc5, 0x5d, 0x54, 0xba, 0xd0, 0xa1, 0x06, 0x61, - 0x13, 0xcf, 0xfe, 0xcb, 0x12, 0x4c, 0x1c, 0x20, 0x53, 0x3a, 0xd2, 0x52, 0x2b, 0x3d, 0xa7, 0xa5, - 0x8a, 0x94, 0x8d, 0xfe, 0x2e, 0x29, 0x1b, 0xcf, 0xc1, 0x60, 0x42, 0x9c, 0xa6, 0x08, 0x3a, 0x13, - 0x3e, 0x07, 0x7d, 0xd6, 0xac, 0x41, 0xd8, 0xc4, 0xa3, 0x52, 0x6c, 0xc4, 0x71, 0x5d, 0x12, 0xc7, - 0x32, 0x27, 0x43, 0xf8, 0x6d, 0x0b, 0x4b, 0xf8, 0x60, 0xee, 0xf0, 0xe9, 0x14, 0x0b, 0x9c, 0x61, - 0x99, 0x1d, 0xf0, 0x5a, 0x8f, 0x03, 0xfe, 0xb5, 0x12, 0x3c, 0xba, 0xaf, 0x76, 0xeb, 0x39, 0x5d, - 0xa6, 0x1d, 0x93, 0x28, 0x3b, 0x71, 0xae, 0xc5, 0x24, 0xc2, 0x0c, 0xc2, 0x47, 0xa9, 0xd5, 0x32, - 0xee, 0xf3, 0x2f, 0x3a, 0x77, 0x8c, 0x8f, 0x52, 0x8a, 0x05, 0xce, 0xb0, 0xbc, 0xdb, 0x69, 0xf9, - 0xad, 0x3e, 0x78, 0xbc, 0x07, 0x1b, 0xa0, 0xc0, 0x1c, 0xbb, 0x74, 0x3e, 0x68, 0xf9, 0x3e, 0xe5, - 0x83, 0xde, 0xdd, 0x70, 0xbd, 0x99, 0x46, 0xda, 0x53, 0x2e, 0xdf, 0xd7, 0x4b, 0x70, 0xa6, 0xbb, - 0xc1, 0x82, 0xde, 0x0d, 0xa3, 0x91, 0x0a, 0xb2, 0x33, 0x53, 0x49, 0x4f, 0x72, 0xcf, 0x4e, 0x0a, - 0x84, 0xb3, 0xb8, 0x68, 0x12, 0xa0, 0xe5, 0x24, 0x9b, 0xf1, 0x85, 0x1d, 0x2f, 0x4e, 0x44, 0x41, - 0xa9, 0x11, 0x7e, 0x96, 0x28, 0x5b, 0xb1, 0x81, 0x41, 0xd9, 0xb1, 0x7f, 0x73, 0xe1, 0xd5, 0x30, - 0xe1, 0x0f, 0xf1, 0xcd, 0xd6, 0x49, 0x79, 0xfd, 0x8e, 0x01, 0xc2, 0x59, 0x5c, 0xca, 0x8e, 0x9d, - 0x56, 0xf3, 0x8e, 0xf2, 0x5d, 0x18, 0x63, 0xb7, 0xa8, 0x5a, 0xb1, 0x81, 0x91, 0x4d, 0x92, 0xad, - 0x1c, 0x9c, 0x24, 0x6b, 0xff, 0x8b, 0x12, 0x3c, 0xd2, 0xd5, 0xe0, 0xed, 0x4d, 0x4c, 0x3d, 0x78, - 0x89, 0xad, 0x77, 0xb9, 0xc2, 0x0e, 0x97, 0x10, 0xf9, 0x27, 0x5d, 0x66, 0x9a, 0x48, 0x88, 0xbc, - 0xfb, 0x3a, 0x0f, 0x0f, 0xde, 0x78, 0x76, 0xe4, 0x40, 0xf6, 0x1d, 0x22, 0x07, 0x32, 0xf3, 0x31, - 0x2a, 0x3d, 0x6a, 0x87, 0x3f, 0xeb, 0xeb, 0x3a, 0xbc, 0x74, 0x83, 0xdc, 0x93, 0xdf, 0x7c, 0x0e, - 0x4e, 0x78, 0x01, 0xbb, 0x8a, 0x6d, 0xb5, 0xbd, 0x2e, 0x6a, 0x0c, 0xf1, 0x42, 0x9a, 0x2a, 0xd1, - 0x62, 0x21, 0x03, 0xc7, 0x1d, 0x4f, 0x3c, 0x80, 0x39, 0xa9, 0x77, 0x37, 0xa4, 0x87, 0x94, 0xdc, - 0xcb, 0x70, 0x5a, 0x0e, 0xc5, 0xa6, 0x13, 0x91, 0xba, 0x50, 0xb6, 0xb1, 0x48, 0xad, 0x79, 0x84, - 0xa7, 0xe7, 0xe4, 0x20, 0xe0, 0xfc, 0xe7, 0xd8, 0xed, 0x57, 0x61, 0xcb, 0x73, 0xc5, 0x56, 0x50, - 0xdf, 0x7e, 0x45, 0x1b, 0x31, 0x87, 0x69, 0x7d, 0x51, 0xbb, 0x37, 0xfa, 0xe2, 0x83, 0x50, 0x53, - 0xe3, 0xcd, 0xb3, 0x04, 0xd4, 0x24, 0xef, 0xc8, 0x12, 0x50, 0x33, 0xdc, 0xc0, 0x3a, 0xe8, 0x7a, - 0xd6, 0x9f, 0x80, 0x21, 0xe5, 0xfd, 0xea, 0xf5, 0x0e, 0x32, 0xfb, 0xcf, 0xfb, 0x61, 0x38, 0x55, - 0x57, 0x34, 0xe5, 0xf6, 0xb6, 0x0e, 0x74, 0x7b, 0xb3, 0x04, 0x91, 0x76, 0x20, 0x2f, 0x28, 0x34, - 0x12, 0x44, 0xda, 0x01, 0xc1, 0x1c, 0x46, 0x37, 0x1d, 0xf5, 0x68, 0x17, 0xb7, 0x03, 0x11, 0xf1, - 0xaa, 0x36, 0x1d, 0x73, 0xac, 0x15, 0x0b, 0x28, 0xfa, 0x98, 0x05, 0x43, 0x31, 0x3b, 0xbd, 0xe1, - 0x87, 0x06, 0x62, 0x92, 0x5f, 0x3e, 0x7a, 0xd9, 0x54, 0x55, 0x43, 0x97, 0x45, 0x48, 0x99, 0x2d, - 0x38, 0xc5, 0x11, 0x7d, 0xd2, 0x82, 0x9a, 0xba, 0x47, 0x49, 0xdc, 0x36, 0xba, 0x5a, 0x6c, 0xd9, - 0x56, 0xee, 0x6d, 0x56, 0x07, 0x61, 0xaa, 0x7e, 0x26, 0xd6, 0x8c, 0x51, 0xac, 0x3c, 0xfa, 0x03, - 0xc7, 0xe3, 0xd1, 0x87, 0x1c, 0x6f, 0xfe, 0x3b, 0xa0, 0xd6, 0x74, 0x02, 0x6f, 0x83, 0xc4, 0x09, - 0x77, 0xb2, 0xcb, 0x6a, 0xd2, 0xb2, 0x11, 0x6b, 0x38, 0x35, 0x00, 0x62, 0xf6, 0x62, 0x89, 0xe1, - 0x15, 0x67, 0x06, 0xc0, 0xaa, 0x6e, 0xc6, 0x26, 0x8e, 0xe9, 0xc2, 0x87, 0xfb, 0xea, 0xc2, 0x1f, - 0x3c, 0xc0, 0x85, 0xbf, 0x0a, 0xa7, 0x9d, 0x76, 0x12, 0x5e, 0x22, 0x8e, 0x3f, 0xcd, 0xaf, 0x0e, - 0x16, 0x57, 0xe1, 0x0f, 0x31, 0xb7, 0x90, 0x8a, 0xe9, 0x58, 0x25, 0xfe, 0x46, 0x07, 0x12, 0xce, - 0x7f, 0xd6, 0xfe, 0xa7, 0x16, 0x9c, 0xce, 0x9d, 0x0a, 0x0f, 0x6e, 0x34, 0xad, 0xfd, 0xa5, 0x0a, - 0x9c, 0xcc, 0xa9, 0x3a, 0x8c, 0x76, 0xcd, 0x45, 0x62, 0x15, 0x11, 0x98, 0x92, 0x8e, 0xb3, 0x90, - 0xdf, 0x26, 0x67, 0x65, 0x1c, 0xee, 0x54, 0x4e, 0x9f, 0x8c, 0x95, 0xef, 0xed, 0xc9, 0x98, 0x31, - 0xd7, 0xfb, 0xee, 0xeb, 0x5c, 0xaf, 0x1c, 0x30, 0xd7, 0xbf, 0x61, 0xc1, 0x78, 0xb3, 0xcb, 0x55, - 0x17, 0xc2, 0xc7, 0x7c, 0xfd, 0x78, 0x2e, 0xd2, 0x98, 0x39, 0x7b, 0x7b, 0x6f, 0xa2, 0xeb, 0x0d, - 0x23, 0xb8, 0x6b, 0xaf, 0xec, 0xef, 0x95, 0x81, 0x95, 0xbc, 0x66, 0x95, 0x25, 0x77, 0xd1, 0x47, - 0xcd, 0xe2, 0xe5, 0x56, 0x51, 0x85, 0xb6, 0x39, 0x71, 0x55, 0xfc, 0x9c, 0x8f, 0x60, 0x5e, 0x2d, - 0xf4, 0xac, 0x24, 0x2c, 0xf5, 0x20, 0x09, 0x7d, 0x59, 0x25, 0xbe, 0x5c, 0x7c, 0x95, 0xf8, 0x5a, - 0xb6, 0x42, 0xfc, 0xfe, 0x9f, 0xb8, 0xef, 0x81, 0xfc, 0xc4, 0xbf, 0x62, 0x71, 0xc1, 0x93, 0xf9, - 0x0a, 0xda, 0xdc, 0xb0, 0xf6, 0x31, 0x37, 0x9e, 0x82, 0x6a, 0x2c, 0x24, 0xb3, 0x30, 0x4b, 0x74, - 0x50, 0x84, 0x68, 0xc7, 0x0a, 0x83, 0x5d, 0x23, 0xed, 0xfb, 0xe1, 0xad, 0x0b, 0xcd, 0x56, 0xb2, - 0x2b, 0x0c, 0x14, 0x7d, 0x8d, 0xb4, 0x82, 0x60, 0x03, 0xcb, 0xfe, 0x7b, 0x25, 0x3e, 0x03, 0x45, - 0x64, 0xcd, 0xf3, 0x99, 0x8b, 0x3f, 0x7b, 0x0f, 0x4a, 0xf9, 0x30, 0x80, 0x1b, 0x36, 0x5b, 0xd4, - 0x78, 0x5d, 0x0b, 0xc5, 0xf1, 0xdf, 0xa5, 0xa3, 0x1a, 0xa2, 0x92, 0x9e, 0x7e, 0x0d, 0xdd, 0x86, - 0x0d, 0x7e, 0x29, 0x59, 0x5a, 0x3e, 0x50, 0x96, 0xa6, 0xc4, 0x4a, 0xdf, 0xfe, 0x62, 0xc5, 0xfe, - 0x4b, 0x0b, 0x52, 0x66, 0x16, 0x6a, 0x41, 0x85, 0x76, 0x77, 0x57, 0xac, 0xd0, 0xe5, 0xe2, 0x6c, - 0x3a, 0x2a, 0x1a, 0xc5, 0xb4, 0x67, 0x3f, 0x31, 0x67, 0x84, 0x7c, 0x11, 0x80, 0xc3, 0x47, 0xf5, - 0x6a, 0x71, 0x0c, 0x2f, 0x85, 0xe1, 0x16, 0x3f, 0xc3, 0xd6, 0xc1, 0x3c, 0xf6, 0xf3, 0x30, 0xd6, - 0xd1, 0x29, 0x76, 0xc7, 0x5f, 0x48, 0xb5, 0x4f, 0x66, 0xba, 0xb2, 0x7c, 0x64, 0xcc, 0x61, 0xf6, - 0xd7, 0x2d, 0x38, 0x91, 0x25, 0x8f, 0xde, 0xb0, 0x60, 0x2c, 0xce, 0xd2, 0x3b, 0xae, 0xb1, 0x53, - 0x41, 0xb4, 0x1d, 0x20, 0xdc, 0xd9, 0x09, 0xfb, 0xaf, 0xc5, 0xe4, 0xbf, 0xe1, 0x05, 0xf5, 0xf0, - 0x96, 0x32, 0x4c, 0xac, 0xae, 0x86, 0x09, 0x5d, 0x8f, 0xee, 0x26, 0xa9, 0xb7, 0xfd, 0x8e, 0xec, - 0xe6, 0x55, 0xd1, 0x8e, 0x15, 0x06, 0x4b, 0xe6, 0x6c, 0x8b, 0x6b, 0x24, 0x32, 0x93, 0x72, 0x4e, - 0xb4, 0x63, 0x85, 0x81, 0x9e, 0x85, 0x21, 0xe3, 0x25, 0xe5, 0xbc, 0x64, 0x56, 0xbe, 0xa1, 0x32, - 0x63, 0x9c, 0xc2, 0x42, 0x93, 0x00, 0xca, 0xc8, 0x91, 0x2a, 0x92, 0x79, 0xbb, 0x94, 0x24, 0x8a, - 0xb1, 0x81, 0xc1, 0x52, 0xa7, 0xfd, 0x76, 0xcc, 0x8e, 0x73, 0xfa, 0x75, 0x69, 0xe3, 0x59, 0xd1, - 0x86, 0x15, 0x94, 0x4a, 0x93, 0xa6, 0x13, 0xb4, 0x1d, 0x9f, 0x8e, 0x90, 0xd8, 0xbf, 0xaa, 0x65, - 0xb8, 0xa4, 0x20, 0xd8, 0xc0, 0xa2, 0x6f, 0x9c, 0x78, 0x4d, 0xf2, 0x52, 0x18, 0xc8, 0xe0, 0x47, - 0x7d, 0xc2, 0x27, 0xda, 0xb1, 0xc2, 0xb0, 0xff, 0xc2, 0x82, 0x51, 0x5d, 0xb3, 0x81, 0xdf, 0xe6, - 0x6f, 0x6e, 0xb7, 0xad, 0x03, 0xb7, 0xdb, 0xe9, 0x0c, 0xf5, 0x52, 0x4f, 0x19, 0xea, 0x66, 0xf2, - 0x78, 0x79, 0xdf, 0xe4, 0xf1, 0x1f, 0xd5, 0x37, 0x45, 0xf3, 0x2c, 0xf3, 0xc1, 0xbc, 0x5b, 0xa2, - 0x91, 0x0d, 0xfd, 0xae, 0xa3, 0x6a, 0x1b, 0x0d, 0xf1, 0x0d, 0xc9, 0xec, 0x34, 0x43, 0x12, 0x10, - 0x7b, 0x19, 0x6a, 0xea, 0xa0, 0x4b, 0xee, 0x7e, 0xad, 0xfc, 0xdd, 0x6f, 0x4f, 0x49, 0xac, 0x33, - 0xeb, 0xdf, 0xfc, 0xfe, 0x63, 0x6f, 0xf9, 0xa3, 0xef, 0x3f, 0xf6, 0x96, 0xef, 0x7e, 0xff, 0xb1, - 0xb7, 0x7c, 0xec, 0xf6, 0x63, 0xd6, 0x37, 0x6f, 0x3f, 0x66, 0xfd, 0xd1, 0xed, 0xc7, 0xac, 0xef, - 0xde, 0x7e, 0xcc, 0xfa, 0xde, 0xed, 0xc7, 0xac, 0x2f, 0xfc, 0xd7, 0xc7, 0xde, 0xf2, 0x52, 0x6e, - 0xf4, 0x2b, 0xfd, 0xf1, 0xb4, 0x5b, 0x9f, 0xda, 0x3e, 0xcf, 0x02, 0x30, 0xe9, 0xf2, 0x9a, 0x32, - 0xe6, 0xd4, 0x94, 0x5c, 0x5e, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x0a, 0x57, 0x97, 0x8d, 0x5b, - 0xec, 0x00, 0x00, + 0x7f, 0xb2, 0x1f, 0x52, 0xe6, 0x24, 0xff, 0xee, 0x3f, 0x06, 0x03, 0x11, 0x69, 0x85, 0xd7, 0xf0, + 0xa2, 0xd0, 0x65, 0x3a, 0xa3, 0x84, 0x37, 0x63, 0x09, 0xa7, 0x3a, 0xaf, 0xe5, 0x24, 0x9b, 0x42, + 0x99, 0x29, 0x9d, 0xb7, 0xe2, 0x24, 0x9b, 0x98, 0x41, 0xd0, 0x7b, 0x60, 0x24, 0x49, 0x1d, 0x85, + 0x8b, 0x23, 0xdf, 0x87, 0x04, 0xee, 0x48, 0xfa, 0xa0, 0x1c, 0x67, 0xb0, 0xd1, 0xab, 0xd0, 0xb7, + 0x49, 0xfc, 0xa6, 0xf8, 0xf4, 0xab, 0xc5, 0xe9, 0x1a, 0xf6, 0xae, 0x97, 0x88, 0xdf, 0xe4, 0x92, + 0x90, 0xfe, 0xc2, 0x8c, 0x15, 0x9d, 0xf7, 0xb5, 0xad, 0x76, 0x9c, 0x84, 0x4d, 0xef, 0x35, 0xe9, + 0xe9, 0x7c, 0x5f, 0xc1, 0x8c, 0xaf, 0x48, 0xfa, 0xdc, 0xa5, 0xa4, 0xfe, 0x62, 0xcd, 0x99, 0xf5, + 0xa3, 0xee, 0x45, 0x6c, 0xca, 0xec, 0x0a, 0x87, 0x65, 0xd1, 0xfd, 0x98, 0x93, 0xf4, 0x79, 0x3f, + 0xd4, 0x5f, 0xac, 0x39, 0xa3, 0x5d, 0xb5, 0xfe, 0x06, 0x59, 0x1f, 0xae, 0x15, 0xdc, 0x07, 0xbe, + 0xf6, 0x72, 0xd7, 0xe1, 0xe3, 0x50, 0x71, 0x37, 0x9d, 0x28, 0x19, 0x1f, 0x62, 0x93, 0x46, 0xcd, + 0xe2, 0x59, 0xda, 0x88, 0x39, 0x0c, 0x3d, 0x0a, 0xe5, 0x88, 0x6c, 0xb0, 0xe8, 0x64, 0x23, 0x2e, + 0x0a, 0x93, 0x0d, 0x4c, 0xdb, 0x95, 0x5d, 0x36, 0xd2, 0x35, 0x60, 0xee, 0x57, 0x4b, 0x69, 0xc3, + 0x2e, 0x3d, 0x32, 0x7c, 0x3d, 0xb8, 0xed, 0x28, 0x96, 0x0e, 0x32, 0x63, 0x3d, 0xb0, 0x66, 0x2c, + 0xe1, 0xe8, 0xe3, 0x16, 0x0c, 0xdc, 0x8c, 0xc3, 0x20, 0x20, 0x89, 0x50, 0xa2, 0xd7, 0x0b, 0x1e, + 0xac, 0xcb, 0x9c, 0xba, 0xee, 0x83, 0x68, 0xc0, 0x92, 0x2f, 0xed, 0x2e, 0xd9, 0x71, 0xfd, 0x76, + 0xbd, 0x23, 0x18, 0xe6, 0x02, 0x6f, 0xc6, 0x12, 0x4e, 0x51, 0xbd, 0x80, 0xa3, 0xf6, 0xa5, 0x51, + 0x17, 0x02, 0x81, 0x2a, 0xe0, 0xf6, 0xf7, 0x07, 0xe0, 0x74, 0xee, 0xf2, 0xa1, 0x26, 0x17, 0x33, + 0x6a, 0x2e, 0x7a, 0x3e, 0x91, 0x61, 0x60, 0xcc, 0xe4, 0xba, 0xae, 0x5a, 0xb1, 0x81, 0x81, 0x7e, + 0x0e, 0xa0, 0xe5, 0x44, 0x4e, 0x93, 0x28, 0x07, 0xf6, 0x91, 0x2d, 0x1b, 0xda, 0x8f, 0x15, 0x49, + 0x53, 0x6f, 0xe2, 0x55, 0x53, 0x8c, 0x0d, 0x96, 0xe8, 0x39, 0x18, 0x8c, 0x88, 0x4f, 0x9c, 0x98, + 0x85, 0xbf, 0x67, 0x73, 0x79, 0xb0, 0x06, 0x61, 0x13, 0x0f, 0x3d, 0xa1, 0x22, 0xe6, 0x32, 0x91, + 0x43, 0xe9, 0xa8, 0x39, 0xf4, 0xba, 0x05, 0x23, 0x1b, 0x9e, 0x4f, 0x34, 0x77, 0x91, 0x79, 0xb3, + 0x7c, 0xf4, 0x97, 0xbc, 0x68, 0xd2, 0xd5, 0x32, 0x34, 0xd5, 0x1c, 0xe3, 0x0c, 0x7b, 0xfa, 0x99, + 0xb7, 0x49, 0xc4, 0x84, 0x6f, 0x7f, 0xfa, 0x33, 0x5f, 0xe7, 0xcd, 0x58, 0xc2, 0xd1, 0x34, 0x8c, + 0xb6, 0x9c, 0x38, 0x9e, 0x8d, 0x48, 0x9d, 0x04, 0x89, 0xe7, 0xf8, 0x3c, 0x2f, 0xa6, 0xaa, 0xc3, + 0xc9, 0x57, 0xd2, 0x60, 0x9c, 0xc5, 0x47, 0xef, 0x87, 0x87, 0xb9, 0x87, 0x68, 0xc9, 0x8b, 0x63, + 0x2f, 0x68, 0xe8, 0x69, 0x20, 0x1c, 0x65, 0x13, 0x82, 0xd4, 0xc3, 0x0b, 0xf9, 0x68, 0xb8, 0xdb, + 0xf3, 0xe8, 0x29, 0xa8, 0xc6, 0x5b, 0x5e, 0x6b, 0x36, 0xaa, 0xc7, 0xec, 0x74, 0xa8, 0xaa, 0xdd, + 0xb2, 0xab, 0xa2, 0x1d, 0x2b, 0x0c, 0xe4, 0xc2, 0x10, 0xff, 0x24, 0x3c, 0xe4, 0x4f, 0x48, 0xd0, + 0xa7, 0xbb, 0x2a, 0x72, 0x91, 0xe6, 0x39, 0x89, 0x9d, 0x5b, 0x17, 0xe4, 0x59, 0x15, 0x3f, 0x5a, + 0xb9, 0x6e, 0x90, 0xc1, 0x29, 0xa2, 0xe9, 0x3d, 0xdd, 0x60, 0x0f, 0x7b, 0xba, 0xe7, 0x60, 0x70, + 0xab, 0xbd, 0x4e, 0xc4, 0xc8, 0x0b, 0xc1, 0xa6, 0x66, 0xdf, 0x15, 0x0d, 0xc2, 0x26, 0x1e, 0x8b, + 0xb6, 0x6c, 0x79, 0xe2, 0x5f, 0x3c, 0x3e, 0x6c, 0x44, 0x5b, 0xae, 0x2c, 0xc8, 0x66, 0x6c, 0xe2, + 0xd0, 0xae, 0xd1, 0xb1, 0x58, 0x23, 0x31, 0x4b, 0xa6, 0xa0, 0xc3, 0xa5, 0xba, 0xb6, 0x2a, 0x01, + 0x58, 0xe3, 0xd8, 0xbf, 0x5c, 0x4a, 0xfb, 0x39, 0x4c, 0x81, 0x83, 0x62, 0x2a, 0x56, 0x92, 0xeb, + 0x4e, 0x24, 0xcd, 0x93, 0x23, 0xa6, 0x22, 0x09, 0xba, 0xd7, 0x9d, 0xc8, 0x14, 0x50, 0x8c, 0x01, + 0x96, 0x9c, 0xd0, 0x4d, 0xe8, 0x4b, 0x7c, 0xa7, 0xa0, 0xdc, 0x45, 0x83, 0xa3, 0x76, 0x3b, 0x2d, + 0x4e, 0xc7, 0x98, 0xf1, 0x40, 0x67, 0xe9, 0x5e, 0x6b, 0x5d, 0x9e, 0x8b, 0x89, 0xed, 0xd1, 0x7a, + 0x8c, 0x59, 0xab, 0xfd, 0x67, 0x83, 0x39, 0x3a, 0x42, 0xa9, 0x6d, 0x74, 0x1e, 0x80, 0x7e, 0xe2, + 0x95, 0x88, 0x6c, 0x78, 0x3b, 0xc2, 0x6c, 0x52, 0x72, 0xe8, 0xaa, 0x82, 0x60, 0x03, 0x4b, 0x3e, + 0xb3, 0xda, 0xde, 0xa0, 0xcf, 0x94, 0x3a, 0x9f, 0xe1, 0x10, 0x6c, 0x60, 0xa1, 0x67, 0xa1, 0xdf, + 0x6b, 0x3a, 0x0d, 0x15, 0xb6, 0x7b, 0x96, 0x0a, 0xa0, 0x05, 0xd6, 0x72, 0x67, 0x6f, 0x62, 0x44, + 0x75, 0x88, 0x35, 0x61, 0x81, 0x8b, 0x7e, 0xdd, 0x82, 0x21, 0x37, 0x6c, 0x36, 0xc3, 0x80, 0x6f, + 0x76, 0xc5, 0xce, 0xfd, 0xe6, 0x71, 0x19, 0x35, 0x93, 0xb3, 0x06, 0x33, 0xbe, 0x75, 0x57, 0x49, + 0x96, 0x26, 0x08, 0xa7, 0x7a, 0x65, 0xca, 0xa9, 0xca, 0x01, 0x72, 0xea, 0x37, 0x2c, 0x18, 0xe3, + 0xcf, 0x1a, 0x7b, 0x70, 0x91, 0x4f, 0x18, 0x1e, 0xf3, 0x6b, 0x75, 0xb8, 0x25, 0x94, 0x6b, 0xb6, + 0x03, 0x8e, 0x3b, 0x3b, 0x89, 0xe6, 0x61, 0x6c, 0x23, 0x8c, 0x5c, 0x62, 0x0e, 0x84, 0x10, 0xb2, + 0x8a, 0xd0, 0xc5, 0x2c, 0x02, 0xee, 0x7c, 0x06, 0x5d, 0x87, 0x87, 0x8c, 0x46, 0x73, 0x1c, 0xb8, + 0x9c, 0x7d, 0x4c, 0x50, 0x7b, 0xe8, 0x62, 0x2e, 0x16, 0xee, 0xf2, 0x74, 0x5a, 0xa4, 0xd5, 0x7a, + 0x10, 0x69, 0xaf, 0xc0, 0x23, 0x6e, 0xe7, 0xc8, 0x6c, 0xc7, 0xed, 0xf5, 0x98, 0x4b, 0xdd, 0xea, + 0xcc, 0x8f, 0x08, 0x02, 0x8f, 0xcc, 0x76, 0x43, 0xc4, 0xdd, 0x69, 0xa0, 0x0f, 0x43, 0x35, 0x22, + 0xec, 0xab, 0xc4, 0x22, 0xb9, 0xee, 0x88, 0xbe, 0x09, 0x6d, 0x6f, 0x73, 0xb2, 0x5a, 0x8f, 0x88, + 0x86, 0x18, 0x2b, 0x8e, 0xe8, 0x16, 0x0c, 0xb4, 0x9c, 0xc4, 0xdd, 0x14, 0x29, 0x75, 0x47, 0xf6, + 0xa4, 0x2b, 0xe6, 0xec, 0xe0, 0xc3, 0x48, 0xc2, 0xe7, 0x4c, 0xb0, 0xe4, 0x46, 0x2d, 0x2b, 0x37, + 0x6c, 0xb6, 0xc2, 0x80, 0x04, 0x89, 0x14, 0xf9, 0x23, 0xfc, 0x74, 0x42, 0xb6, 0x62, 0x03, 0x03, + 0xad, 0xc0, 0x29, 0xe6, 0xa9, 0xbb, 0xe1, 0x25, 0x9b, 0x61, 0x3b, 0x91, 0x1b, 0x4f, 0x21, 0xfb, + 0xd5, 0xf9, 0xd4, 0x62, 0x0e, 0x0e, 0xce, 0x7d, 0x32, 0xab, 0xac, 0x46, 0xef, 0x4e, 0x59, 0x9d, + 0x38, 0x58, 0x59, 0x9d, 0x79, 0x2f, 0x8c, 0x75, 0x08, 0x8d, 0x43, 0xb9, 0xe3, 0xe6, 0xe0, 0xa1, + 0xfc, 0xe5, 0x79, 0x28, 0xa7, 0xdc, 0x3f, 0xcf, 0x44, 0x65, 0x1b, 0x1b, 0x94, 0x1e, 0x1c, 0xbc, + 0x0e, 0x94, 0x49, 0xb0, 0x2d, 0xb4, 0xd5, 0xc5, 0xa3, 0xcd, 0x92, 0x0b, 0xc1, 0x36, 0x97, 0x2e, + 0xcc, 0x8b, 0x75, 0x21, 0xd8, 0xc6, 0x94, 0x36, 0xfa, 0xa2, 0x95, 0x32, 0x9f, 0xb9, 0x5b, 0xf8, + 0x83, 0xc7, 0xb2, 0x23, 0xeb, 0xd9, 0xa2, 0xb6, 0xff, 0x7d, 0x09, 0xce, 0x1d, 0x44, 0xa4, 0x87, + 0xe1, 0x7b, 0x1c, 0xfa, 0x63, 0x16, 0x67, 0x21, 0xc4, 0xff, 0x20, 0x5d, 0x15, 0x3c, 0xf2, 0xe2, + 0x15, 0x2c, 0x40, 0xc8, 0x87, 0x72, 0xd3, 0x69, 0x09, 0x6f, 0xe1, 0xc2, 0x51, 0xb3, 0xd7, 0xe8, + 0x7f, 0xc7, 0x5f, 0x72, 0x5a, 0x7c, 0x7a, 0x1a, 0x0d, 0x98, 0xb2, 0x41, 0x09, 0x54, 0x9c, 0x28, + 0x72, 0xe4, 0xa1, 0xfe, 0x95, 0x62, 0xf8, 0x4d, 0x53, 0x92, 0xfc, 0x4c, 0x34, 0xd5, 0x84, 0x39, + 0x33, 0xfb, 0xb3, 0x03, 0xa9, 0x54, 0x27, 0x16, 0xa9, 0x11, 0x43, 0xbf, 0x70, 0x12, 0x5a, 0x45, + 0x27, 0x0d, 0xf2, 0x5c, 0x62, 0xb6, 0xff, 0x16, 0x15, 0x19, 0x04, 0x2b, 0xf4, 0x19, 0x8b, 0xd5, + 0x3d, 0x90, 0xf9, 0x63, 0x62, 0x4f, 0x7b, 0x3c, 0x65, 0x18, 0xcc, 0x6a, 0x0a, 0xb2, 0x11, 0x9b, + 0xdc, 0x45, 0xfd, 0x12, 0x66, 0xcb, 0x77, 0xd6, 0x2f, 0x61, 0xb6, 0xb9, 0x84, 0xa3, 0x9d, 0x9c, + 0x88, 0x8c, 0x02, 0x72, 0xe7, 0x7b, 0x88, 0xc1, 0xf8, 0xaa, 0x05, 0x63, 0x5e, 0xf6, 0x68, 0x5d, + 0xec, 0x00, 0x6f, 0x14, 0xe3, 0xd1, 0xeb, 0x3c, 0xb9, 0x57, 0x86, 0x43, 0x07, 0x08, 0x77, 0x76, + 0x06, 0xd5, 0xa1, 0xcf, 0x0b, 0x36, 0x42, 0x61, 0x2e, 0xcd, 0x1c, 0xad, 0x53, 0x0b, 0xc1, 0x46, + 0xa8, 0x57, 0x33, 0xfd, 0x87, 0x19, 0x75, 0xb4, 0x08, 0xa7, 0x64, 0xb6, 0xcb, 0x25, 0x2f, 0x4e, + 0xc2, 0x68, 0x77, 0xd1, 0x6b, 0x7a, 0x09, 0x33, 0x75, 0xca, 0x33, 0xe3, 0x54, 0x13, 0xe1, 0x1c, + 0x38, 0xce, 0x7d, 0x0a, 0xbd, 0x06, 0x03, 0xf2, 0x38, 0xbb, 0x5a, 0xc4, 0x6e, 0xba, 0x73, 0xfe, + 0xab, 0xc9, 0xb4, 0x2a, 0xce, 0xb3, 0x25, 0x43, 0xfb, 0xf5, 0x41, 0xe8, 0x3c, 0x75, 0x4f, 0x1f, + 0xb1, 0x5b, 0xf7, 0xfa, 0x88, 0x9d, 0x6e, 0x8d, 0x62, 0x7d, 0x3a, 0x5e, 0xc0, 0xdc, 0x16, 0x5c, + 0xf5, 0xc9, 0xe7, 0x6e, 0xe0, 0x62, 0xc6, 0x03, 0x45, 0xd0, 0xbf, 0x49, 0x1c, 0x3f, 0xd9, 0x2c, + 0xe6, 0x90, 0xe6, 0x12, 0xa3, 0x95, 0x4d, 0x51, 0xe3, 0xad, 0x58, 0x70, 0x42, 0x3b, 0x30, 0xb0, + 0xc9, 0x27, 0x80, 0xd8, 0xad, 0x2c, 0x1d, 0x75, 0x70, 0x53, 0xb3, 0x4a, 0x7f, 0x6e, 0xd1, 0x80, + 0x25, 0x3b, 0x16, 0xce, 0x65, 0x04, 0x9c, 0xf0, 0xa5, 0x5b, 0x5c, 0x76, 0x5e, 0xef, 0xd1, 0x26, + 0x1f, 0x82, 0xa1, 0x88, 0xb8, 0x61, 0xe0, 0x7a, 0x3e, 0xa9, 0x4f, 0xcb, 0x03, 0x98, 0xc3, 0x24, + 0x65, 0x31, 0xef, 0x05, 0x36, 0x68, 0xe0, 0x14, 0x45, 0xf4, 0x69, 0x0b, 0x46, 0x54, 0xa2, 0x36, + 0xfd, 0x20, 0x44, 0x38, 0xda, 0x17, 0x0b, 0x4a, 0x0b, 0x67, 0x34, 0x67, 0xd0, 0xed, 0xbd, 0x89, + 0x91, 0x74, 0x1b, 0xce, 0xf0, 0x45, 0x2f, 0x01, 0x84, 0xeb, 0x3c, 0x66, 0x6b, 0x3a, 0x11, 0x5e, + 0xf7, 0xc3, 0xbc, 0xea, 0x08, 0x4f, 0xee, 0x94, 0x14, 0xb0, 0x41, 0x0d, 0x5d, 0x01, 0xe0, 0xcb, + 0x66, 0x6d, 0xb7, 0x25, 0xb7, 0x34, 0x32, 0xab, 0x0e, 0x56, 0x15, 0xe4, 0xce, 0xde, 0x44, 0xa7, + 0x8f, 0x93, 0x05, 0xa6, 0x18, 0x8f, 0xa3, 0x9f, 0x85, 0x81, 0xb8, 0xdd, 0x6c, 0x3a, 0xca, 0x27, + 0x5f, 0x60, 0xba, 0x28, 0xa7, 0x6b, 0x88, 0x22, 0xde, 0x80, 0x25, 0x47, 0x74, 0x93, 0x0a, 0xd5, + 0x58, 0x38, 0x5f, 0xd9, 0x2a, 0xe2, 0x36, 0x01, 0xf7, 0x3c, 0xbd, 0x53, 0x9a, 0xf8, 0x38, 0x07, + 0xe7, 0xce, 0xde, 0xc4, 0x43, 0xe9, 0xf6, 0xc5, 0x50, 0x24, 0x70, 0xe6, 0xd2, 0x44, 0x97, 0x65, + 0xdd, 0x26, 0xfa, 0xda, 0xb2, 0x9c, 0xc8, 0x93, 0xba, 0x6e, 0x13, 0x6b, 0xee, 0x3e, 0x66, 0xe6, + 0xc3, 0x68, 0x09, 0x4e, 0xba, 0x61, 0x90, 0x44, 0xa1, 0xef, 0xf3, 0xba, 0x65, 0x7c, 0x77, 0xc9, + 0x7d, 0xf6, 0x6f, 0x15, 0xdd, 0x3e, 0x39, 0xdb, 0x89, 0x82, 0xf3, 0x9e, 0xb3, 0x83, 0xf4, 0xf9, + 0x99, 0x18, 0x9c, 0x67, 0x61, 0x88, 0xec, 0x24, 0x24, 0x0a, 0x1c, 0xff, 0x1a, 0x5e, 0x94, 0xbe, + 0x68, 0xb6, 0x06, 0x2e, 0x18, 0xed, 0x38, 0x85, 0x85, 0x6c, 0xe5, 0x52, 0x31, 0x92, 0x92, 0xb9, + 0x4b, 0x45, 0x3a, 0x50, 0xec, 0x6f, 0x94, 0x53, 0x06, 0xd9, 0x7d, 0x39, 0xad, 0x63, 0xd5, 0x6f, + 0x64, 0x99, 0x20, 0x06, 0x10, 0x1b, 0x8d, 0x22, 0x39, 0xab, 0xea, 0x37, 0xcb, 0x26, 0x23, 0x9c, + 0xe6, 0x8b, 0xb6, 0xa0, 0xb2, 0x19, 0xc6, 0x89, 0xdc, 0x7e, 0x1c, 0x71, 0xa7, 0x73, 0x29, 0x8c, + 0x13, 0x66, 0x45, 0xa8, 0xd7, 0xa6, 0x2d, 0x31, 0xe6, 0x3c, 0xe8, 0x1e, 0x34, 0xde, 0x74, 0xa2, + 0x7a, 0x3c, 0xcb, 0x4a, 0x08, 0xf4, 0x31, 0xf3, 0x41, 0x19, 0x8b, 0xab, 0x1a, 0x84, 0x4d, 0x3c, + 0xfb, 0xcf, 0xad, 0xd4, 0x81, 0xc5, 0x0d, 0x16, 0x0f, 0xbe, 0x4d, 0x02, 0x2a, 0x0d, 0xcc, 0x08, + 0xb4, 0x9f, 0xcc, 0x64, 0xd7, 0xbe, 0xbd, 0x5b, 0x35, 0xbf, 0x5b, 0x94, 0xc2, 0x24, 0x23, 0x61, + 0x04, 0xab, 0x7d, 0xcc, 0x4a, 0xa7, 0x49, 0x97, 0x8a, 0xd8, 0x97, 0x98, 0xa5, 0x02, 0x0e, 0xcc, + 0xb8, 0xb6, 0xbf, 0x68, 0xc1, 0xc0, 0x8c, 0xe3, 0x6e, 0x85, 0x1b, 0x1b, 0xe8, 0x29, 0xa8, 0xd6, + 0xdb, 0x91, 0x99, 0xb1, 0xad, 0x3c, 0x1b, 0x73, 0xa2, 0x1d, 0x2b, 0x0c, 0x3a, 0xf5, 0x37, 0x1c, + 0x57, 0x16, 0x0c, 0x28, 0xf3, 0xa9, 0x7f, 0x91, 0xb5, 0x60, 0x01, 0xa1, 0xc3, 0xdf, 0x74, 0x76, + 0xe4, 0xc3, 0xd9, 0xd3, 0x92, 0x25, 0x0d, 0xc2, 0x26, 0x9e, 0xfd, 0xaf, 0x2d, 0x18, 0x9f, 0x71, + 0x62, 0xcf, 0x9d, 0x6e, 0x27, 0x9b, 0x33, 0x5e, 0xb2, 0xde, 0x76, 0xb7, 0x48, 0xc2, 0x0b, 0x4b, + 0xd0, 0x5e, 0xb6, 0x63, 0xba, 0x02, 0xd5, 0x76, 0x50, 0xf5, 0xf2, 0x9a, 0x68, 0xc7, 0x0a, 0x03, + 0xbd, 0x06, 0x83, 0x2d, 0x27, 0x8e, 0x6f, 0x85, 0x51, 0x1d, 0x93, 0x8d, 0x62, 0x4a, 0xcf, 0xac, + 0x12, 0x37, 0x22, 0x09, 0x26, 0x1b, 0x22, 0xf6, 0x40, 0xd3, 0xc7, 0x26, 0x33, 0xfb, 0x97, 0x2c, + 0x38, 0x35, 0x43, 0x9c, 0x88, 0x44, 0xac, 0x52, 0x8d, 0x7a, 0x11, 0xf4, 0x2a, 0x54, 0x13, 0xda, + 0x42, 0x7b, 0x64, 0x15, 0xdb, 0x23, 0x16, 0x35, 0xb0, 0x26, 0x88, 0x63, 0xc5, 0xc6, 0xfe, 0xbc, + 0x05, 0x8f, 0xe4, 0xf5, 0x65, 0xd6, 0x0f, 0xdb, 0xf5, 0xfb, 0xd1, 0xa1, 0xbf, 0x63, 0xc1, 0x10, + 0x3b, 0x89, 0x9d, 0x23, 0x89, 0xe3, 0xf9, 0x1d, 0x55, 0xf2, 0xac, 0x1e, 0xab, 0xe4, 0x9d, 0x83, + 0xbe, 0xcd, 0xb0, 0x49, 0xb2, 0x51, 0x04, 0x97, 0xc2, 0x26, 0xc1, 0x0c, 0x82, 0x9e, 0xa1, 0x93, + 0xd0, 0x0b, 0x12, 0x87, 0x2e, 0x47, 0xe9, 0xfb, 0x1e, 0xe5, 0x13, 0x50, 0x35, 0x63, 0x13, 0xc7, + 0xfe, 0x57, 0x35, 0x18, 0x10, 0x21, 0x2f, 0x3d, 0x17, 0x3a, 0x91, 0x2e, 0x8a, 0x52, 0x57, 0x17, + 0x45, 0x0c, 0xfd, 0x2e, 0x2b, 0xd7, 0x29, 0x2c, 0xe1, 0x2b, 0x85, 0xc4, 0x48, 0xf1, 0x0a, 0xa0, + 0xba, 0x5b, 0xfc, 0x3f, 0x16, 0xac, 0xd0, 0x17, 0x2c, 0x18, 0x75, 0xc3, 0x20, 0x20, 0xae, 0x36, + 0xd3, 0xfa, 0x8a, 0x08, 0x85, 0x99, 0x4d, 0x13, 0xd5, 0x87, 0x7c, 0x19, 0x00, 0xce, 0xb2, 0x47, + 0x2f, 0xc0, 0x30, 0x1f, 0xb3, 0xeb, 0x29, 0x87, 0xbd, 0x2e, 0x9e, 0x66, 0x02, 0x71, 0x1a, 0x17, + 0x4d, 0xf2, 0x83, 0x0f, 0x51, 0xa6, 0xac, 0x5f, 0xfb, 0x35, 0x8d, 0x02, 0x65, 0x06, 0x06, 0x8a, + 0x00, 0x45, 0x64, 0x23, 0x22, 0xf1, 0xa6, 0x08, 0x09, 0x62, 0x26, 0xe2, 0xc0, 0xdd, 0x95, 0x28, + 0xc0, 0x1d, 0x94, 0x70, 0x0e, 0x75, 0xb4, 0x25, 0xf6, 0xc8, 0xd5, 0x22, 0xe4, 0xb9, 0xf8, 0xcc, + 0x5d, 0xb7, 0xca, 0x13, 0x50, 0x61, 0xaa, 0x8b, 0x99, 0xa6, 0x65, 0x9e, 0x16, 0xc7, 0x14, 0x1b, + 0xe6, 0xed, 0x68, 0x0e, 0x4e, 0x64, 0x4a, 0xbf, 0xc5, 0xc2, 0xb1, 0xae, 0x52, 0xa0, 0x32, 0x45, + 0xe3, 0x62, 0xdc, 0xf1, 0x84, 0xe9, 0x3f, 0x19, 0x3c, 0xc0, 0x7f, 0xb2, 0xab, 0x02, 0x4f, 0xb9, + 0xcb, 0xfb, 0xc5, 0x42, 0x06, 0xa0, 0xa7, 0x28, 0xd3, 0xcf, 0x65, 0xa2, 0x4c, 0x87, 0x59, 0x07, + 0xae, 0x17, 0xd3, 0x81, 0xc3, 0x87, 0x94, 0xde, 0xcf, 0x10, 0xd1, 0xff, 0x65, 0x81, 0xfc, 0xae, + 0xb3, 0x8e, 0xbb, 0x49, 0xe8, 0x94, 0x41, 0xef, 0x81, 0x11, 0xe5, 0x05, 0xe0, 0x26, 0x91, 0xc5, + 0x66, 0x8d, 0x8a, 0x06, 0xc0, 0x29, 0x28, 0xce, 0x60, 0xa3, 0x29, 0xa8, 0xd1, 0x71, 0xe2, 0x8f, + 0x72, 0xbd, 0xaf, 0x3c, 0x0d, 0xd3, 0x2b, 0x0b, 0xe2, 0x29, 0x8d, 0x83, 0x42, 0x18, 0xf3, 0x9d, + 0x38, 0x61, 0x3d, 0x58, 0xdd, 0x0d, 0xdc, 0xbb, 0x2c, 0x10, 0xc2, 0xf2, 0x6c, 0x16, 0xb3, 0x84, + 0x70, 0x27, 0x6d, 0xfb, 0x3f, 0x54, 0x60, 0x38, 0x25, 0x19, 0x0f, 0x69, 0x30, 0x3c, 0x05, 0x55, + 0xa9, 0xc3, 0xb3, 0x95, 0x90, 0x94, 0xa2, 0x57, 0x18, 0x54, 0x69, 0xad, 0x6b, 0xad, 0x9a, 0x35, + 0x70, 0x0c, 0x85, 0x8b, 0x4d, 0x3c, 0x26, 0x94, 0x13, 0x3f, 0x9e, 0xf5, 0x3d, 0x12, 0x24, 0xbc, + 0x9b, 0xc5, 0x08, 0xe5, 0xb5, 0xc5, 0x55, 0x93, 0xa8, 0x16, 0xca, 0x19, 0x00, 0xce, 0xb2, 0x47, + 0x9f, 0xb4, 0x60, 0xd8, 0xb9, 0x15, 0xeb, 0x9a, 0xd2, 0x22, 0x9e, 0xf4, 0x88, 0x4a, 0x2a, 0x55, + 0xa6, 0x9a, 0x7b, 0xad, 0x53, 0x4d, 0x38, 0xcd, 0x14, 0xbd, 0x61, 0x01, 0x22, 0x3b, 0xc4, 0x95, + 0x11, 0xaf, 0xa2, 0x2f, 0xfd, 0x45, 0x6c, 0x96, 0x2f, 0x74, 0xd0, 0xe5, 0x52, 0xbd, 0xb3, 0x1d, + 0xe7, 0xf4, 0x01, 0x5d, 0x06, 0x54, 0xf7, 0x62, 0x67, 0xdd, 0x27, 0xb3, 0x61, 0x53, 0xe6, 0x86, + 0x8a, 0xc3, 0xd7, 0x33, 0x62, 0x9c, 0xd1, 0x5c, 0x07, 0x06, 0xce, 0x79, 0x8a, 0xcd, 0xb2, 0x28, + 0xdc, 0xd9, 0xbd, 0x16, 0xf9, 0x4c, 0x4b, 0x98, 0xb3, 0x4c, 0xb4, 0x63, 0x85, 0x61, 0xff, 0x45, + 0x59, 0x2d, 0x65, 0x1d, 0xde, 0xed, 0x18, 0x61, 0xa6, 0xd6, 0xdd, 0x87, 0x99, 0xea, 0x20, 0x98, + 0xce, 0x8c, 0xe7, 0x54, 0x82, 0x64, 0xe9, 0x3e, 0x25, 0x48, 0xfe, 0xbc, 0x95, 0xaa, 0x36, 0x36, + 0x78, 0xfe, 0xa5, 0x62, 0x43, 0xcb, 0x27, 0x79, 0x80, 0x4e, 0x46, 0xaf, 0x64, 0xe2, 0xb2, 0x9e, + 0x82, 0xea, 0x86, 0xef, 0xb0, 0x1a, 0x19, 0x6c, 0xa1, 0x1a, 0xc1, 0x43, 0x17, 0x45, 0x3b, 0x56, + 0x18, 0x54, 0xea, 0x1b, 0x44, 0x0f, 0x25, 0xb5, 0xff, 0x53, 0x19, 0x06, 0x0d, 0x8d, 0x9f, 0x6b, + 0xbe, 0x59, 0x0f, 0x98, 0xf9, 0x56, 0x3a, 0x84, 0xf9, 0xf6, 0x73, 0x50, 0x73, 0xa5, 0x36, 0x2a, + 0xa6, 0x7a, 0x7a, 0x56, 0xc7, 0x69, 0x85, 0xa4, 0x9a, 0xb0, 0xe6, 0x89, 0xe6, 0x53, 0x49, 0x78, + 0x29, 0xbf, 0x40, 0x5e, 0x96, 0x9c, 0xd0, 0x68, 0x9d, 0xcf, 0x64, 0xcf, 0xa9, 0x2b, 0x07, 0x9f, + 0x53, 0xdb, 0xdf, 0xb1, 0xd4, 0xc7, 0xbd, 0x07, 0xd5, 0x56, 0x6e, 0xa6, 0xab, 0xad, 0x5c, 0x28, + 0x64, 0x98, 0xbb, 0x94, 0x59, 0xb9, 0x0a, 0x03, 0xb3, 0x61, 0xb3, 0xe9, 0x04, 0x75, 0xf4, 0xa3, + 0x30, 0xe0, 0xf2, 0x9f, 0xc2, 0x87, 0xc6, 0x4e, 0x62, 0x05, 0x14, 0x4b, 0x18, 0x3a, 0x0b, 0x7d, + 0x4e, 0xd4, 0x90, 0x7e, 0x33, 0x16, 0x31, 0x35, 0x1d, 0x35, 0x62, 0xcc, 0x5a, 0xed, 0x7f, 0xd6, + 0x07, 0x2c, 0x50, 0xc1, 0x89, 0x48, 0x7d, 0x2d, 0x64, 0x45, 0x4f, 0x8f, 0xf5, 0xfc, 0x52, 0x6f, + 0xea, 0x1e, 0xe4, 0x33, 0x4c, 0xe3, 0x1c, 0xab, 0x7c, 0x8f, 0xcf, 0xb1, 0xba, 0x1c, 0x4d, 0xf6, + 0x3d, 0x40, 0x47, 0x93, 0xf6, 0x67, 0x2d, 0x40, 0x2a, 0xba, 0x45, 0xc7, 0x0e, 0x4c, 0x41, 0x4d, + 0xc5, 0xb9, 0x08, 0x03, 0x50, 0x8b, 0x08, 0x09, 0xc0, 0x1a, 0xa7, 0x87, 0x9d, 0xfc, 0xe3, 0x52, + 0x7e, 0x97, 0xd3, 0xa1, 0xe5, 0x4c, 0xea, 0x0b, 0x71, 0x6e, 0xff, 0x6e, 0x09, 0x1e, 0xe2, 0xa6, + 0xc3, 0x92, 0x13, 0x38, 0x0d, 0xd2, 0xa4, 0xbd, 0xea, 0x35, 0x1a, 0xc4, 0xa5, 0x5b, 0x48, 0x4f, + 0x06, 0x82, 0x1f, 0x75, 0xed, 0xf2, 0x35, 0xc7, 0x57, 0xd9, 0x42, 0xe0, 0x25, 0x98, 0x11, 0x47, + 0x31, 0x54, 0xe5, 0xd5, 0x22, 0x42, 0x16, 0x17, 0xc4, 0x48, 0x89, 0x25, 0xa1, 0x65, 0x09, 0x56, + 0x8c, 0xa8, 0x2a, 0xf5, 0x43, 0x77, 0x0b, 0x93, 0x56, 0x98, 0x55, 0xa5, 0x8b, 0xa2, 0x1d, 0x2b, + 0x0c, 0xbb, 0x09, 0xa3, 0x72, 0x0c, 0x5b, 0x57, 0xc8, 0x2e, 0x26, 0x1b, 0x54, 0xff, 0xb8, 0xb2, + 0xc9, 0xb8, 0xed, 0x44, 0xe9, 0x9f, 0x59, 0x13, 0x88, 0xd3, 0xb8, 0xb2, 0x0e, 0x6a, 0x29, 0xbf, + 0x0e, 0xaa, 0xfd, 0xbb, 0x16, 0x64, 0x15, 0xa0, 0x51, 0xf5, 0xd1, 0xda, 0xb7, 0xea, 0xe3, 0x21, + 0xea, 0x26, 0xfe, 0x0c, 0x0c, 0x3a, 0x09, 0xb5, 0x70, 0xb8, 0x37, 0xa2, 0x7c, 0x77, 0x07, 0x56, + 0x4b, 0x61, 0xdd, 0xdb, 0xf0, 0x98, 0x17, 0xc2, 0x24, 0x67, 0xff, 0x55, 0x1f, 0x8c, 0x75, 0xe4, + 0x71, 0xa1, 0xe7, 0x61, 0x48, 0x0d, 0x85, 0xf4, 0xf3, 0xd5, 0xcc, 0xd0, 0x4a, 0x0d, 0xc3, 0x29, + 0xcc, 0x1e, 0xd6, 0xc3, 0x02, 0x9c, 0x8c, 0xc8, 0xab, 0x6d, 0xd2, 0x26, 0xd3, 0x1b, 0x09, 0x89, + 0x56, 0x89, 0x1b, 0x06, 0x75, 0x5e, 0x9b, 0xb4, 0x3c, 0xf3, 0xf0, 0xed, 0xbd, 0x89, 0x93, 0xb8, + 0x13, 0x8c, 0xf3, 0x9e, 0x41, 0x2d, 0x18, 0xf6, 0x4d, 0x03, 0x55, 0xec, 0x8b, 0xee, 0xca, 0xb6, + 0x55, 0x53, 0x22, 0xd5, 0x8c, 0xd3, 0x0c, 0xd2, 0x56, 0x6e, 0xe5, 0x3e, 0x59, 0xb9, 0x9f, 0xd0, + 0x56, 0x2e, 0x8f, 0xac, 0xf8, 0x40, 0xc1, 0x79, 0x7c, 0xbd, 0x98, 0xb9, 0x47, 0x31, 0x5c, 0x5f, + 0x84, 0xaa, 0x8c, 0x3a, 0xeb, 0x29, 0x5a, 0xcb, 0xa4, 0xd3, 0x45, 0x80, 0x3e, 0x01, 0x6f, 0xbb, + 0x10, 0x45, 0xc6, 0x60, 0x5e, 0x0d, 0x93, 0x69, 0xdf, 0x0f, 0x6f, 0x51, 0x9b, 0xe0, 0x5a, 0x4c, + 0x84, 0xe3, 0xc9, 0xbe, 0x53, 0x82, 0x9c, 0x3d, 0x1c, 0x5d, 0x8f, 0xda, 0x10, 0x49, 0xad, 0xc7, + 0xc3, 0x19, 0x23, 0x68, 0x87, 0x47, 0xe6, 0x71, 0x95, 0xfb, 0xfe, 0xa2, 0xf7, 0xa0, 0x3a, 0x58, + 0x4f, 0x89, 0x23, 0x15, 0xb0, 0x77, 0x1e, 0x40, 0xdb, 0x8f, 0x22, 0x75, 0x44, 0x1d, 0xfc, 0x6b, + 0x33, 0x13, 0x1b, 0x58, 0xe8, 0x39, 0x18, 0xf4, 0x82, 0x38, 0x71, 0x7c, 0xff, 0x92, 0x17, 0x24, + 0xc2, 0xb7, 0xaa, 0x6c, 0x8b, 0x05, 0x0d, 0xc2, 0x26, 0xde, 0x99, 0x77, 0x1a, 0xdf, 0xef, 0x30, + 0xdf, 0x7d, 0x13, 0x1e, 0x99, 0xf7, 0x12, 0x95, 0xf0, 0xa4, 0xe6, 0x1b, 0x35, 0x0f, 0x55, 0x8a, + 0x9f, 0xd5, 0x35, 0xc5, 0xcf, 0x48, 0x38, 0x2a, 0xa5, 0xf3, 0xa3, 0xb2, 0x09, 0x47, 0xf6, 0xf3, + 0x70, 0x6a, 0xde, 0x4b, 0x2e, 0x7a, 0x3e, 0x39, 0x24, 0x13, 0xfb, 0x77, 0xfa, 0x61, 0xc8, 0x4c, + 0xee, 0x3d, 0x4c, 0x96, 0xe2, 0xe7, 0xa9, 0x05, 0x28, 0xde, 0xce, 0x53, 0xc7, 0xa6, 0x37, 0x8e, + 0x9c, 0x69, 0x9c, 0x3f, 0x62, 0x86, 0x11, 0xa8, 0x79, 0x62, 0xb3, 0x03, 0xe8, 0x16, 0x54, 0x36, + 0x58, 0x42, 0x4c, 0xb9, 0x88, 0xd8, 0x92, 0xbc, 0x11, 0xd5, 0xcb, 0x91, 0xa7, 0xd4, 0x70, 0x7e, + 0x54, 0x71, 0x47, 0xe9, 0x3c, 0x4c, 0x23, 0xf0, 0x59, 0x64, 0x60, 0x2a, 0x8c, 0x6e, 0x2a, 0xa1, + 0x72, 0x17, 0x2a, 0x21, 0x25, 0xa0, 0xfb, 0xef, 0x93, 0x80, 0x66, 0xc9, 0x4d, 0xc9, 0x26, 0x33, + 0x2b, 0x45, 0xa6, 0xc6, 0x00, 0x1b, 0x04, 0x23, 0xb9, 0x29, 0x05, 0xc6, 0x59, 0x7c, 0xf4, 0x51, + 0x25, 0xe2, 0xab, 0x45, 0xb8, 0xa5, 0xcd, 0x19, 0x7d, 0xdc, 0xd2, 0xfd, 0xb3, 0x25, 0x18, 0x99, + 0x0f, 0xda, 0x2b, 0xf3, 0x2b, 0xed, 0x75, 0xdf, 0x73, 0xaf, 0x90, 0x5d, 0x2a, 0xc2, 0xb7, 0xc8, + 0xee, 0xc2, 0x9c, 0x58, 0x41, 0x6a, 0xce, 0x5c, 0xa1, 0x8d, 0x98, 0xc3, 0xa8, 0x30, 0xda, 0xf0, + 0x82, 0x06, 0x89, 0x5a, 0x91, 0x27, 0x3c, 0xc6, 0x86, 0x30, 0xba, 0xa8, 0x41, 0xd8, 0xc4, 0xa3, + 0xb4, 0xc3, 0x5b, 0x01, 0x89, 0xb2, 0xf6, 0xf5, 0x32, 0x6d, 0xc4, 0x1c, 0x46, 0x91, 0x92, 0xa8, + 0x2d, 0x1c, 0x32, 0x06, 0xd2, 0x1a, 0x6d, 0xc4, 0x1c, 0x46, 0x57, 0x7a, 0xdc, 0x5e, 0x67, 0xa1, + 0x3b, 0x99, 0xb4, 0x90, 0x55, 0xde, 0x8c, 0x25, 0x9c, 0xa2, 0x6e, 0x91, 0xdd, 0x39, 0xba, 0x19, + 0xcf, 0x64, 0xba, 0x5d, 0xe1, 0xcd, 0x58, 0xc2, 0x59, 0xf5, 0xd4, 0xf4, 0x70, 0xfc, 0xc0, 0x55, + 0x4f, 0x4d, 0x77, 0xbf, 0xcb, 0xb6, 0xfe, 0xd7, 0x2c, 0x18, 0x32, 0x03, 0xee, 0x50, 0x23, 0x63, + 0x0b, 0x2f, 0x77, 0x14, 0xdf, 0x7e, 0x77, 0xde, 0xc5, 0x94, 0x0d, 0x2f, 0x09, 0x5b, 0xf1, 0xd3, + 0x24, 0x68, 0x78, 0x01, 0x61, 0x01, 0x11, 0x3c, 0x50, 0x2f, 0x15, 0xcd, 0x37, 0x1b, 0xd6, 0xc9, + 0x5d, 0x18, 0xd3, 0xf6, 0x0d, 0x18, 0xeb, 0x48, 0x6f, 0xec, 0xc1, 0x04, 0x39, 0x30, 0xfd, 0xdc, + 0xc6, 0x30, 0x48, 0x09, 0xcb, 0x0a, 0x5e, 0xb3, 0x30, 0xc6, 0x17, 0x12, 0xe5, 0xb4, 0xea, 0x6e, + 0x92, 0xa6, 0x4a, 0x59, 0x65, 0xc7, 0x13, 0xd7, 0xb3, 0x40, 0xdc, 0x89, 0x6f, 0x7f, 0xce, 0x82, + 0xe1, 0x54, 0xc6, 0x69, 0x41, 0xc6, 0x12, 0x5b, 0x69, 0x21, 0x8b, 0xff, 0x64, 0x41, 0xf0, 0x65, + 0xa6, 0x4c, 0xf5, 0x4a, 0xd3, 0x20, 0x6c, 0xe2, 0xd9, 0x5f, 0x2c, 0x41, 0x55, 0xc6, 0xd0, 0xf4, + 0xd0, 0x95, 0xcf, 0x58, 0x30, 0xac, 0x8e, 0x84, 0x98, 0x0f, 0xaf, 0x54, 0x44, 0x4a, 0x0d, 0xed, + 0x81, 0xf2, 0x02, 0x04, 0x1b, 0xa1, 0xb6, 0xdc, 0xb1, 0xc9, 0x0c, 0xa7, 0x79, 0xa3, 0xeb, 0x00, + 0xf1, 0x6e, 0x9c, 0x90, 0xa6, 0xe1, 0x4d, 0xb4, 0x8d, 0x15, 0x37, 0xe9, 0x86, 0x11, 0xa1, 0xeb, + 0xeb, 0x6a, 0x58, 0x27, 0xab, 0x0a, 0x53, 0x9b, 0x50, 0xba, 0x0d, 0x1b, 0x94, 0xec, 0x7f, 0x52, + 0x82, 0x13, 0xd9, 0x2e, 0xa1, 0x0f, 0xc0, 0x90, 0xe4, 0x6e, 0xec, 0x3a, 0x65, 0x04, 0xd0, 0x10, + 0x36, 0x60, 0x77, 0xf6, 0x26, 0x26, 0x3a, 0x2f, 0x39, 0x9d, 0x34, 0x51, 0x70, 0x8a, 0x18, 0x3f, + 0x97, 0x13, 0x07, 0xc8, 0x33, 0xbb, 0xd3, 0xad, 0x96, 0x38, 0x5c, 0x33, 0xce, 0xe5, 0x4c, 0x28, + 0xce, 0x60, 0xa3, 0x15, 0x38, 0x65, 0xb4, 0x5c, 0x25, 0x5e, 0x63, 0x73, 0x3d, 0x8c, 0xe4, 0x0e, + 0xec, 0xac, 0x0e, 0xed, 0xeb, 0xc4, 0xc1, 0xb9, 0x4f, 0x52, 0x6d, 0xef, 0x3a, 0x2d, 0xc7, 0xf5, + 0x92, 0x5d, 0xe1, 0x1e, 0x55, 0xb2, 0x69, 0x56, 0xb4, 0x63, 0x85, 0x61, 0x2f, 0x41, 0x5f, 0x8f, + 0x33, 0xa8, 0x27, 0xcb, 0xff, 0x45, 0xa8, 0x52, 0x72, 0xd2, 0xbc, 0x2b, 0x82, 0x64, 0x08, 0x55, + 0x79, 0x65, 0x14, 0xb2, 0xa1, 0xec, 0x39, 0xf2, 0xe8, 0x53, 0xbd, 0xd6, 0x42, 0x1c, 0xb7, 0xd9, + 0x66, 0x9a, 0x02, 0xd1, 0xe3, 0x50, 0x26, 0x3b, 0xad, 0xec, 0x19, 0xe7, 0x85, 0x9d, 0x96, 0x17, + 0x91, 0x98, 0x22, 0x91, 0x9d, 0x16, 0x3a, 0x03, 0x25, 0xaf, 0x2e, 0x94, 0x14, 0x08, 0x9c, 0xd2, + 0xc2, 0x1c, 0x2e, 0x79, 0x75, 0x7b, 0x07, 0x6a, 0xea, 0x8e, 0x2a, 0xb4, 0x25, 0x65, 0xb7, 0x55, + 0x44, 0xd0, 0x9b, 0xa4, 0xdb, 0x45, 0x6a, 0xb7, 0x01, 0x74, 0xba, 0x6a, 0x51, 0xf2, 0xe5, 0x1c, + 0xf4, 0xb9, 0xa1, 0x28, 0x0b, 0x50, 0xd5, 0x64, 0x98, 0xd0, 0x66, 0x10, 0xfb, 0x06, 0x8c, 0x5c, + 0x09, 0xc2, 0x5b, 0xec, 0x2a, 0x09, 0x56, 0x39, 0x91, 0x12, 0xde, 0xa0, 0x3f, 0xb2, 0x26, 0x02, + 0x83, 0x62, 0x0e, 0x53, 0x35, 0xdd, 0x4a, 0xdd, 0x6a, 0xba, 0xd9, 0x1f, 0xb3, 0x60, 0x48, 0xe5, + 0xbd, 0xcd, 0x6f, 0x6f, 0x51, 0xba, 0x8d, 0x28, 0x6c, 0xb7, 0xb2, 0x74, 0xd9, 0x75, 0x78, 0x98, + 0xc3, 0xcc, 0x84, 0xd0, 0xd2, 0x01, 0x09, 0xa1, 0xe7, 0xa0, 0x6f, 0xcb, 0x0b, 0xea, 0xd9, 0x6b, + 0x91, 0xae, 0x78, 0x41, 0x1d, 0x33, 0x08, 0xed, 0xc2, 0x09, 0xd5, 0x05, 0xa9, 0x10, 0x9e, 0x87, + 0xa1, 0xf5, 0xb6, 0xe7, 0xd7, 0x65, 0x49, 0xc8, 0x8c, 0x47, 0x65, 0xc6, 0x80, 0xe1, 0x14, 0x26, + 0xdd, 0xd7, 0xad, 0x7b, 0x81, 0x13, 0xed, 0xae, 0x68, 0x0d, 0xa4, 0x84, 0xd2, 0x8c, 0x82, 0x60, + 0x03, 0xcb, 0x7e, 0xbd, 0x0c, 0x23, 0xe9, 0xec, 0xbf, 0x1e, 0xb6, 0x57, 0x8f, 0x43, 0x85, 0x25, + 0x04, 0x66, 0x3f, 0x2d, 0xaf, 0xa2, 0xc8, 0x61, 0x28, 0x86, 0x7e, 0x5e, 0x38, 0xa5, 0x98, 0x2b, + 0xc5, 0x54, 0x27, 0x95, 0x1f, 0x86, 0x85, 0x06, 0x8a, 0x5a, 0x2d, 0x82, 0x15, 0xfa, 0xa4, 0x05, + 0x03, 0x61, 0xcb, 0xac, 0x05, 0xf6, 0xfe, 0x22, 0x33, 0x23, 0x45, 0xba, 0x94, 0xb0, 0x88, 0xd5, + 0xa7, 0x97, 0x9f, 0x43, 0xb2, 0x3e, 0xf3, 0x2e, 0x18, 0x32, 0x31, 0x0f, 0x32, 0x8a, 0xab, 0xa6, + 0x51, 0xfc, 0x19, 0x73, 0x52, 0x88, 0xdc, 0xcf, 0x1e, 0x96, 0xdb, 0x35, 0xa8, 0xb8, 0x2a, 0x7e, + 0xe2, 0xae, 0x0a, 0x09, 0xab, 0x4a, 0x26, 0xec, 0x6c, 0x8a, 0x53, 0xb3, 0xbf, 0x63, 0x19, 0xf3, + 0x03, 0x93, 0x78, 0xa1, 0x8e, 0x22, 0x28, 0x37, 0xb6, 0xb7, 0x84, 0x29, 0x7a, 0xb9, 0xa0, 0xe1, + 0x9d, 0xdf, 0xde, 0xd2, 0x73, 0xdc, 0x6c, 0xc5, 0x94, 0x59, 0x0f, 0xce, 0xc2, 0x54, 0x8a, 0x70, + 0xf9, 0xe0, 0x14, 0x61, 0xfb, 0x8d, 0x12, 0x8c, 0x75, 0x4c, 0x2a, 0xf4, 0x1a, 0x54, 0x22, 0xfa, + 0x96, 0xe2, 0xf5, 0x16, 0x0b, 0x4b, 0xea, 0x8d, 0x17, 0xea, 0x5a, 0xef, 0xa6, 0xdb, 0x31, 0x67, + 0x89, 0x2e, 0x03, 0xd2, 0x51, 0x3e, 0xca, 0x53, 0xc9, 0x5f, 0x59, 0x85, 0x02, 0x4c, 0x77, 0x60, + 0xe0, 0x9c, 0xa7, 0xd0, 0x0b, 0x59, 0x87, 0x67, 0x39, 0xed, 0xce, 0xde, 0xcf, 0x77, 0x69, 0xff, + 0x56, 0x09, 0x86, 0x53, 0xa5, 0xd9, 0x90, 0x0f, 0x55, 0xe2, 0xb3, 0xb3, 0x06, 0xa9, 0x6c, 0x8e, + 0x5a, 0x68, 0x5d, 0x29, 0xc8, 0x0b, 0x82, 0x2e, 0x56, 0x1c, 0x1e, 0x8c, 0x08, 0x81, 0xe7, 0x61, + 0x48, 0x76, 0xe8, 0xfd, 0x4e, 0xd3, 0x17, 0x03, 0xa8, 0xe6, 0xe8, 0x05, 0x03, 0x86, 0x53, 0x98, + 0xf6, 0xef, 0x95, 0x61, 0x9c, 0x1f, 0xce, 0xd4, 0xd5, 0xcc, 0x5b, 0x92, 0xfb, 0xad, 0xbf, 0xa1, + 0x0b, 0x28, 0x5a, 0x45, 0xdc, 0x26, 0xda, 0x8d, 0x51, 0x4f, 0x81, 0x6d, 0x5f, 0xc9, 0x04, 0xb6, + 0x71, 0xb3, 0xbb, 0x71, 0x4c, 0x3d, 0xfa, 0xc1, 0x8a, 0x74, 0xfb, 0x87, 0x25, 0x18, 0xcd, 0x5c, + 0x1a, 0x83, 0x5e, 0x4f, 0xd7, 0x19, 0xb7, 0x8a, 0xf0, 0xa9, 0xef, 0x7b, 0x8f, 0xc8, 0xe1, 0xaa, + 0x8d, 0xdf, 0xa7, 0xa5, 0x62, 0x7f, 0xbb, 0x04, 0x23, 0xe9, 0xdb, 0x6e, 0x1e, 0xc0, 0x91, 0x7a, + 0x07, 0xd4, 0xd8, 0x85, 0x0e, 0xec, 0x92, 0x66, 0xee, 0x92, 0xe7, 0xb5, 0xf3, 0x65, 0x23, 0xd6, + 0xf0, 0x07, 0xa2, 0x88, 0xbb, 0xfd, 0x8f, 0x2d, 0x38, 0xcd, 0xdf, 0x32, 0x3b, 0x0f, 0xff, 0x66, + 0xde, 0xe8, 0xbe, 0x5c, 0x6c, 0x07, 0x33, 0x85, 0x3f, 0x0f, 0x1a, 0x5f, 0x76, 0xa7, 0xaa, 0xe8, + 0x6d, 0x7a, 0x2a, 0x3c, 0x80, 0x9d, 0x3d, 0xd4, 0x64, 0xb0, 0xbf, 0x5d, 0x06, 0x7d, 0x8d, 0x2c, + 0xf2, 0x44, 0x96, 0x6b, 0x21, 0x05, 0x50, 0x57, 0x77, 0x03, 0x57, 0x5f, 0x58, 0x5b, 0xcd, 0x24, + 0xb9, 0xfe, 0xa2, 0x05, 0x83, 0x5e, 0xe0, 0x25, 0x9e, 0xc3, 0xb6, 0xd1, 0xc5, 0xdc, 0x05, 0xa9, + 0xd8, 0x2d, 0x70, 0xca, 0x61, 0x64, 0x9e, 0xe3, 0x28, 0x66, 0xd8, 0xe4, 0x8c, 0x3e, 0x24, 0x62, + 0xcf, 0xcb, 0x85, 0xe5, 0x67, 0x57, 0x33, 0x01, 0xe7, 0x2d, 0x6a, 0x78, 0x25, 0x51, 0x41, 0x65, + 0x0d, 0x30, 0x25, 0xa5, 0x6a, 0x69, 0x2b, 0xd3, 0x96, 0x35, 0x63, 0xce, 0xc8, 0x8e, 0x01, 0x75, + 0x8e, 0xc5, 0x21, 0xe3, 0x7a, 0xa7, 0xa0, 0xe6, 0xb4, 0x93, 0xb0, 0x49, 0x87, 0x49, 0x1c, 0x35, + 0xe9, 0xc8, 0x65, 0x09, 0xc0, 0x1a, 0xc7, 0x7e, 0xbd, 0x02, 0x99, 0xb4, 0x53, 0xb4, 0x63, 0x5e, + 0x81, 0x6c, 0x15, 0x7b, 0x05, 0xb2, 0xea, 0x4c, 0xde, 0x35, 0xc8, 0xa8, 0x01, 0x95, 0xd6, 0xa6, + 0x13, 0x4b, 0xb3, 0xfa, 0x45, 0xb5, 0x8f, 0xa3, 0x8d, 0x77, 0xf6, 0x26, 0x7e, 0xba, 0x37, 0xaf, + 0x2b, 0x9d, 0xab, 0x53, 0xbc, 0x54, 0x8e, 0x66, 0xcd, 0x68, 0x60, 0x4e, 0xff, 0x30, 0xb7, 0x61, + 0x7e, 0x5c, 0xdc, 0x5c, 0x81, 0x49, 0xdc, 0xf6, 0x13, 0x31, 0x1b, 0x5e, 0x2c, 0x70, 0x95, 0x71, + 0xc2, 0xba, 0x60, 0x02, 0xff, 0x8f, 0x0d, 0xa6, 0xe8, 0x03, 0x50, 0x8b, 0x13, 0x27, 0x4a, 0xee, + 0x32, 0xc5, 0x59, 0x97, 0x34, 0x93, 0x44, 0xb0, 0xa6, 0x87, 0x5e, 0x62, 0xf5, 0xa0, 0xbd, 0x78, + 0xf3, 0x2e, 0x53, 0x46, 0x64, 0xed, 0x68, 0x41, 0x01, 0x1b, 0xd4, 0xd0, 0x79, 0x00, 0x36, 0xb7, + 0x79, 0xfc, 0x61, 0x95, 0x79, 0x99, 0x94, 0x28, 0xc4, 0x0a, 0x82, 0x0d, 0x2c, 0xfb, 0xc7, 0x21, + 0x5d, 0xf1, 0x03, 0x4d, 0xc8, 0x02, 0x23, 0xdc, 0x0b, 0xcd, 0x52, 0x3f, 0x52, 0xb5, 0x40, 0x7e, + 0xc3, 0x02, 0xb3, 0x2c, 0x09, 0x7a, 0x95, 0xd7, 0x3f, 0xb1, 0x8a, 0x38, 0x39, 0x34, 0xe8, 0x4e, + 0x2e, 0x39, 0xad, 0xcc, 0x11, 0xb6, 0x2c, 0x82, 0x72, 0xe6, 0x9d, 0x50, 0x95, 0xd0, 0x43, 0x19, + 0x75, 0x1f, 0x85, 0x93, 0x32, 0x8d, 0x54, 0xfa, 0x4d, 0xc5, 0xa9, 0xd3, 0xc1, 0xae, 0x1f, 0xe9, + 0xcf, 0x29, 0x75, 0xf3, 0xe7, 0xf4, 0x70, 0x11, 0xf6, 0x6f, 0x5a, 0x70, 0x2e, 0xdb, 0x81, 0x78, + 0x29, 0x0c, 0xbc, 0x24, 0x8c, 0x56, 0x49, 0x92, 0x78, 0x41, 0x83, 0x95, 0x7d, 0xbb, 0xe5, 0x44, + 0xb2, 0x50, 0x3f, 0x13, 0x94, 0x37, 0x9c, 0x28, 0xc0, 0xac, 0x15, 0xed, 0x42, 0x3f, 0x0f, 0x52, + 0x13, 0xd6, 0xfa, 0x11, 0xd7, 0x46, 0xce, 0x70, 0xe8, 0xed, 0x02, 0x0f, 0x90, 0xc3, 0x82, 0xa1, + 0xfd, 0x3d, 0x0b, 0xd0, 0xf2, 0x36, 0x89, 0x22, 0xaf, 0x6e, 0x84, 0xd5, 0xb1, 0x1b, 0xa0, 0x8c, + 0x9b, 0x9e, 0xcc, 0x24, 0xe7, 0xcc, 0x0d, 0x50, 0xc6, 0xbf, 0xfc, 0x1b, 0xa0, 0x4a, 0x87, 0xbb, + 0x01, 0x0a, 0x2d, 0xc3, 0xe9, 0x26, 0xdf, 0x6e, 0xf0, 0x5b, 0x55, 0xf8, 0xde, 0x43, 0xe5, 0xe3, + 0x3d, 0x72, 0x7b, 0x6f, 0xe2, 0xf4, 0x52, 0x1e, 0x02, 0xce, 0x7f, 0xce, 0x7e, 0x27, 0x20, 0x1e, + 0x4d, 0x37, 0x9b, 0x17, 0xab, 0xd4, 0xd5, 0xfd, 0x62, 0x7f, 0xb9, 0x02, 0xa3, 0x99, 0x32, 0xce, + 0x74, 0xab, 0xd7, 0x19, 0x1c, 0x75, 0x64, 0xfd, 0xdd, 0xd9, 0xbd, 0x9e, 0xc2, 0xad, 0x02, 0xa8, + 0x78, 0x41, 0xab, 0x9d, 0x14, 0x93, 0x0e, 0xcc, 0x3b, 0xb1, 0x40, 0x09, 0x1a, 0xee, 0x62, 0xfa, + 0x17, 0x73, 0x36, 0x45, 0x06, 0x6f, 0xa5, 0x8c, 0xf1, 0xbe, 0xfb, 0xe4, 0x0e, 0xf8, 0xb8, 0x0e, + 0xa5, 0xaa, 0x14, 0xe1, 0x58, 0xcc, 0x4c, 0x96, 0xe3, 0x3e, 0x6a, 0xff, 0x46, 0x09, 0x06, 0x8d, + 0x8f, 0x86, 0x7e, 0x35, 0x5d, 0xb4, 0xcb, 0x2a, 0xee, 0x95, 0x18, 0xfd, 0x49, 0x5d, 0x96, 0x8b, + 0xbf, 0xd2, 0x13, 0x9d, 0xf5, 0xba, 0xee, 0xec, 0x4d, 0x9c, 0xc8, 0x54, 0xe4, 0x4a, 0xd5, 0xf0, + 0x3a, 0xf3, 0x11, 0x18, 0xcd, 0x90, 0xc9, 0x79, 0xe5, 0x35, 0xf3, 0x95, 0x8f, 0xec, 0x96, 0x32, + 0x87, 0xec, 0xeb, 0x74, 0xc8, 0x44, 0x16, 0x62, 0xe8, 0x93, 0x1e, 0x7c, 0xb0, 0x99, 0x64, 0xe3, + 0x52, 0x8f, 0xc9, 0xc6, 0x4f, 0x42, 0xb5, 0x15, 0xfa, 0x9e, 0xeb, 0xa9, 0x1a, 0x9a, 0x2c, 0xbd, + 0x79, 0x45, 0xb4, 0x61, 0x05, 0x45, 0xb7, 0xa0, 0x76, 0xf3, 0x56, 0xc2, 0x4f, 0x7f, 0x84, 0x7f, + 0xbb, 0xa8, 0x43, 0x1f, 0x65, 0xb4, 0xa8, 0xe3, 0x25, 0xac, 0x79, 0x21, 0x1b, 0xfa, 0x99, 0x12, + 0x94, 0x19, 0x09, 0xcc, 0xf7, 0xce, 0xb4, 0x63, 0x8c, 0x05, 0xc4, 0xfe, 0x5a, 0x0d, 0x4e, 0xe5, + 0xd5, 0xd2, 0x47, 0x1f, 0x86, 0x7e, 0xde, 0xc7, 0x62, 0xae, 0x6b, 0xc9, 0xe3, 0x31, 0xcf, 0x08, + 0x8a, 0x6e, 0xb1, 0xdf, 0x58, 0xf0, 0x14, 0xdc, 0x7d, 0x67, 0x5d, 0xcc, 0x90, 0xe3, 0xe1, 0xbe, + 0xe8, 0x68, 0xee, 0x8b, 0x0e, 0xe7, 0xee, 0x3b, 0xeb, 0x68, 0x07, 0x2a, 0x0d, 0x2f, 0x21, 0x8e, + 0x70, 0x22, 0xdc, 0x38, 0x16, 0xe6, 0xc4, 0xe1, 0x56, 0x1a, 0xfb, 0x89, 0x39, 0x43, 0xf4, 0x55, + 0x0b, 0x46, 0xd7, 0xd3, 0x55, 0x0e, 0x84, 0xf0, 0x74, 0x8e, 0xe1, 0xbe, 0x84, 0x34, 0x23, 0x7e, + 0x05, 0x5a, 0xa6, 0x11, 0x67, 0xbb, 0x83, 0x3e, 0x61, 0xc1, 0xc0, 0x86, 0xe7, 0x1b, 0x05, 0xa9, + 0x8f, 0xe1, 0xe3, 0x5c, 0x64, 0x0c, 0xf4, 0x8e, 0x83, 0xff, 0x8f, 0xb1, 0xe4, 0xdc, 0x4d, 0x53, + 0xf5, 0x1f, 0x55, 0x53, 0x0d, 0xdc, 0x27, 0x4d, 0xf5, 0x69, 0x0b, 0x6a, 0x6a, 0xa4, 0x45, 0xb6, + 0xf8, 0x07, 0x8e, 0xf1, 0x93, 0x73, 0xcf, 0x89, 0xfa, 0x8b, 0x35, 0x73, 0xf4, 0x05, 0x0b, 0x06, + 0x9d, 0xd7, 0xda, 0x11, 0xa9, 0x93, 0xed, 0xb0, 0x15, 0x8b, 0xfb, 0x53, 0x5f, 0x2e, 0xbe, 0x33, + 0xd3, 0x94, 0xc9, 0x1c, 0xd9, 0x5e, 0x6e, 0xc5, 0x22, 0x5b, 0x4a, 0x37, 0x60, 0xb3, 0x0b, 0xf6, + 0x5e, 0x09, 0x26, 0x0e, 0xa0, 0x80, 0x9e, 0x87, 0xa1, 0x30, 0x6a, 0x38, 0x81, 0xf7, 0x9a, 0x59, + 0xb6, 0x44, 0x59, 0x59, 0xcb, 0x06, 0x0c, 0xa7, 0x30, 0xcd, 0x7c, 0xf6, 0xd2, 0x01, 0xf9, 0xec, + 0xe7, 0xa0, 0x2f, 0x22, 0xad, 0x30, 0xbb, 0x59, 0x60, 0x99, 0x0a, 0x0c, 0x82, 0x1e, 0x85, 0xb2, + 0xd3, 0xf2, 0x44, 0x20, 0x9a, 0xda, 0x03, 0x4d, 0xaf, 0x2c, 0x60, 0xda, 0x9e, 0x2a, 0xaf, 0x51, + 0xb9, 0x27, 0xe5, 0x35, 0xa8, 0x1a, 0x10, 0x67, 0x17, 0xfd, 0x5a, 0x0d, 0xa4, 0xcf, 0x14, 0xec, + 0x37, 0xca, 0xf0, 0xe8, 0xbe, 0xf3, 0x45, 0xc7, 0xe1, 0x59, 0xfb, 0xc4, 0xe1, 0xc9, 0xe1, 0x29, + 0x1d, 0x34, 0x3c, 0xe5, 0x2e, 0xc3, 0xf3, 0x09, 0xba, 0x0c, 0x64, 0xb9, 0x97, 0x62, 0x6e, 0xc0, + 0xec, 0x56, 0x3d, 0x46, 0xac, 0x00, 0x09, 0xc5, 0x9a, 0x2f, 0xdd, 0x03, 0xa4, 0x72, 0xb9, 0x2b, + 0x45, 0xa8, 0x81, 0xae, 0x25, 0x57, 0xf8, 0xdc, 0xef, 0x96, 0x20, 0x6e, 0xff, 0x76, 0x1f, 0x3c, + 0xde, 0x83, 0xf4, 0x36, 0x67, 0xb1, 0xd5, 0xe3, 0x2c, 0xfe, 0x01, 0xff, 0x4c, 0x9f, 0xca, 0xfd, + 0x4c, 0xb8, 0xf8, 0xcf, 0xb4, 0xff, 0x17, 0x42, 0x4f, 0x41, 0xd5, 0x0b, 0x62, 0xe2, 0xb6, 0x23, + 0x1e, 0x93, 0x6c, 0xa4, 0x31, 0x2d, 0x88, 0x76, 0xac, 0x30, 0xe8, 0x9e, 0xce, 0x75, 0xe8, 0xf2, + 0x1f, 0x28, 0x28, 0x77, 0xd7, 0xcc, 0x88, 0xe2, 0x26, 0xc5, 0xec, 0x34, 0x95, 0x00, 0x9c, 0x8d, + 0xfd, 0xb7, 0x2c, 0x38, 0xd3, 0x5d, 0xc5, 0xa2, 0x67, 0x60, 0x70, 0x3d, 0x72, 0x02, 0x77, 0x93, + 0xdd, 0x7d, 0x2c, 0xa7, 0x0e, 0x7b, 0x5f, 0xdd, 0x8c, 0x4d, 0x1c, 0x34, 0x0b, 0x63, 0x3c, 0x72, + 0xc3, 0xc0, 0x90, 0x99, 0xbf, 0xb7, 0xf7, 0x26, 0xc6, 0xd6, 0xb2, 0x40, 0xdc, 0x89, 0x6f, 0x7f, + 0xbf, 0x9c, 0xdf, 0x2d, 0x6e, 0x8a, 0x1d, 0x66, 0x36, 0x8b, 0xb9, 0x5a, 0xea, 0x41, 0xe2, 0x96, + 0xef, 0xb5, 0xc4, 0xed, 0xeb, 0x26, 0x71, 0xd1, 0x1c, 0x9c, 0x30, 0x2e, 0xa7, 0xe2, 0xd9, 0xdc, + 0x3c, 0x2c, 0x59, 0x95, 0x62, 0x59, 0xc9, 0xc0, 0x71, 0xc7, 0x13, 0x0f, 0xf8, 0xd4, 0xfb, 0xb5, + 0x12, 0x3c, 0xd2, 0xd5, 0xfa, 0xbd, 0x47, 0x1a, 0xc5, 0xfc, 0xfc, 0x7d, 0xf7, 0xe6, 0xf3, 0x9b, + 0x1f, 0xa5, 0x72, 0xd0, 0x47, 0xb1, 0xff, 0xb8, 0xd4, 0x75, 0x21, 0xd0, 0x9d, 0xd0, 0x0f, 0xed, + 0x28, 0xbd, 0x00, 0xc3, 0x4e, 0xab, 0xc5, 0xf1, 0x58, 0x14, 0x6d, 0xa6, 0xf4, 0xd3, 0xb4, 0x09, + 0xc4, 0x69, 0xdc, 0x9e, 0x6c, 0x9a, 0x3f, 0xb1, 0xa0, 0x86, 0xc9, 0x06, 0x97, 0x46, 0xe8, 0xa6, + 0x18, 0x22, 0xab, 0x88, 0x3a, 0xb7, 0x74, 0x60, 0x63, 0x8f, 0xd5, 0x7f, 0xcd, 0x1b, 0xec, 0xce, + 0xcb, 0xca, 0x4a, 0x87, 0xba, 0xac, 0x4c, 0x5d, 0x57, 0x55, 0xee, 0x7e, 0x5d, 0x95, 0xfd, 0xdd, + 0x01, 0xfa, 0x7a, 0xad, 0x70, 0x36, 0x22, 0xf5, 0x98, 0x7e, 0xdf, 0x76, 0xe4, 0x8b, 0x49, 0xa2, + 0xbe, 0xef, 0x35, 0xbc, 0x88, 0x69, 0x7b, 0xea, 0x80, 0xac, 0x74, 0xa8, 0xc2, 0x37, 0xe5, 0x03, + 0x0b, 0xdf, 0xbc, 0x00, 0xc3, 0x71, 0xbc, 0xb9, 0x12, 0x79, 0xdb, 0x4e, 0x42, 0xae, 0x90, 0x5d, + 0x61, 0xfb, 0xea, 0x22, 0x10, 0xab, 0x97, 0x34, 0x10, 0xa7, 0x71, 0xd1, 0x3c, 0x8c, 0xe9, 0xf2, + 0x33, 0x24, 0x4a, 0x58, 0xce, 0x05, 0x9f, 0x09, 0x2a, 0xe3, 0x5b, 0x17, 0xac, 0x11, 0x08, 0xb8, + 0xf3, 0x19, 0x2a, 0x4f, 0x53, 0x8d, 0xb4, 0x23, 0xfd, 0x69, 0x79, 0x9a, 0xa2, 0x43, 0xfb, 0xd2, + 0xf1, 0x04, 0x5a, 0x82, 0x93, 0x7c, 0x62, 0x4c, 0xb7, 0x5a, 0xc6, 0x1b, 0x0d, 0xa4, 0xeb, 0x8b, + 0xce, 0x77, 0xa2, 0xe0, 0xbc, 0xe7, 0xd0, 0x73, 0x30, 0xa8, 0x9a, 0x17, 0xe6, 0xc4, 0xd9, 0x8e, + 0xf2, 0x2d, 0x29, 0x32, 0x0b, 0x75, 0x6c, 0xe2, 0xa1, 0xf7, 0xc3, 0xc3, 0xfa, 0x2f, 0x4f, 0xcc, + 0xe3, 0x07, 0x9e, 0x73, 0xa2, 0xb2, 0x97, 0xba, 0xfa, 0x68, 0x3e, 0x17, 0xad, 0x8e, 0xbb, 0x3d, + 0x8f, 0xd6, 0xe1, 0x8c, 0x02, 0x5d, 0x08, 0x12, 0x96, 0x65, 0x13, 0x93, 0x19, 0x27, 0x26, 0xd7, + 0x22, 0x5f, 0x5c, 0xb2, 0xad, 0xee, 0xcf, 0x9d, 0xf7, 0x92, 0x4b, 0x79, 0x98, 0x78, 0x11, 0xef, + 0x43, 0x05, 0x4d, 0x41, 0x8d, 0x04, 0xce, 0xba, 0x4f, 0x96, 0x67, 0x17, 0x58, 0x85, 0x30, 0xe3, + 0x7c, 0xf5, 0x82, 0x04, 0x60, 0x8d, 0xa3, 0xe2, 0x7e, 0x87, 0xba, 0xde, 0xe5, 0xbc, 0x02, 0xa7, + 0x1a, 0x6e, 0x8b, 0x5a, 0x84, 0x9e, 0x4b, 0xa6, 0x5d, 0x16, 0xe6, 0x48, 0x3f, 0x0c, 0x2f, 0xfc, + 0xaa, 0x82, 0xda, 0xe7, 0x67, 0x57, 0x3a, 0x70, 0x70, 0xee, 0x93, 0x2c, 0x1c, 0x36, 0x0a, 0x77, + 0x76, 0xc7, 0x4f, 0x66, 0xc2, 0x61, 0x69, 0x23, 0xe6, 0x30, 0x74, 0x19, 0x10, 0xcb, 0x90, 0xb8, + 0x94, 0x24, 0x2d, 0x65, 0x82, 0x8e, 0x9f, 0x4a, 0xd7, 0xf9, 0xb9, 0xd8, 0x81, 0x81, 0x73, 0x9e, + 0xa2, 0x16, 0x4d, 0x10, 0x32, 0xea, 0xe3, 0x0f, 0xa7, 0x2d, 0x9a, 0xab, 0xbc, 0x19, 0x4b, 0xb8, + 0xfd, 0x9f, 0x2d, 0x18, 0x56, 0x4b, 0xfb, 0x1e, 0xa4, 0x13, 0xf9, 0xe9, 0x74, 0xa2, 0xf9, 0xa3, + 0x0b, 0x47, 0xd6, 0xf3, 0x2e, 0x31, 0xe9, 0xdf, 0x18, 0x04, 0xd0, 0x02, 0x54, 0xe9, 0x2e, 0xab, + 0xab, 0xee, 0x7a, 0x60, 0x85, 0x57, 0x5e, 0x45, 0x9e, 0xca, 0xfd, 0xad, 0xc8, 0xb3, 0x0a, 0xa7, + 0xa5, 0x65, 0xc1, 0x0f, 0xfb, 0x2e, 0x85, 0xb1, 0x92, 0x85, 0xd5, 0x99, 0x47, 0x05, 0xa1, 0xd3, + 0x0b, 0x79, 0x48, 0x38, 0xff, 0xd9, 0x94, 0x41, 0x33, 0x70, 0xa0, 0x95, 0xa9, 0x96, 0xff, 0xe2, + 0x86, 0xbc, 0x42, 0x28, 0xb3, 0xfc, 0x17, 0x2f, 0xae, 0x62, 0x8d, 0x93, 0xaf, 0x03, 0x6a, 0x05, + 0xe9, 0x00, 0x38, 0xb4, 0x0e, 0x90, 0xd2, 0x68, 0xb0, 0xab, 0x34, 0x92, 0x87, 0x0a, 0x43, 0x5d, + 0x0f, 0x15, 0xde, 0x03, 0x23, 0x5e, 0xb0, 0x49, 0x22, 0x2f, 0x21, 0x75, 0xb6, 0x16, 0x98, 0xa4, + 0xaa, 0x6a, 0x0b, 0x60, 0x21, 0x05, 0xc5, 0x19, 0xec, 0xb4, 0x08, 0x1d, 0xe9, 0x41, 0x84, 0x76, + 0x51, 0x5c, 0xa3, 0xc5, 0x28, 0xae, 0x13, 0x47, 0x57, 0x5c, 0x63, 0xc7, 0xaa, 0xb8, 0x50, 0x21, + 0x8a, 0xab, 0x27, 0x9d, 0x60, 0xec, 0x4c, 0x4f, 0x1d, 0xb0, 0x33, 0xed, 0xa6, 0xb5, 0x4e, 0xdf, + 0xb5, 0xd6, 0xca, 0x57, 0x48, 0x0f, 0x1d, 0xb7, 0x42, 0xfa, 0x74, 0x09, 0x4e, 0x6b, 0x91, 0x4d, + 0x17, 0x8a, 0xb7, 0x41, 0x85, 0x16, 0xbb, 0xb0, 0x8e, 0x9f, 0xd1, 0x19, 0x89, 0x70, 0x3a, 0xa7, + 0x4e, 0x41, 0xb0, 0x81, 0xc5, 0xf2, 0xc9, 0x48, 0xc4, 0xaa, 0x5f, 0x67, 0xe5, 0xf9, 0xac, 0x68, + 0xc7, 0x0a, 0x83, 0x4e, 0x45, 0xfa, 0x5b, 0xe4, 0xe8, 0x66, 0xeb, 0x2a, 0xce, 0x6a, 0x10, 0x36, + 0xf1, 0xd0, 0x93, 0x9c, 0x09, 0x93, 0x25, 0x54, 0xa6, 0x0f, 0x89, 0x7b, 0xc3, 0xa5, 0xf8, 0x50, + 0x50, 0xd9, 0x1d, 0x96, 0x38, 0x58, 0xe9, 0xec, 0x0e, 0x0b, 0x77, 0x53, 0x18, 0xf6, 0xff, 0xb4, + 0xe0, 0x91, 0xdc, 0xa1, 0xb8, 0x07, 0x7a, 0x7a, 0x27, 0xad, 0xa7, 0x57, 0x8b, 0xda, 0xc4, 0x18, + 0x6f, 0xd1, 0x45, 0x67, 0xff, 0x47, 0x0b, 0x46, 0x34, 0xfe, 0x3d, 0x78, 0x55, 0x2f, 0xfd, 0xaa, + 0xc5, 0xed, 0xd7, 0x6a, 0x1d, 0xef, 0xf6, 0x7b, 0x25, 0x50, 0xb5, 0x4e, 0xa7, 0x5d, 0x59, 0x49, + 0xfa, 0x80, 0x53, 0xe3, 0x5d, 0xe8, 0x67, 0x87, 0xde, 0x71, 0x31, 0x01, 0x3d, 0x69, 0xfe, 0xec, + 0x00, 0x5d, 0x07, 0x14, 0xb0, 0xbf, 0x31, 0x16, 0x0c, 0x59, 0x6d, 0x76, 0x5e, 0x46, 0xb2, 0x2e, + 0x52, 0xf0, 0x74, 0x6d, 0x76, 0xd1, 0x8e, 0x15, 0x06, 0xd5, 0x24, 0x9e, 0x1b, 0x06, 0xb3, 0xbe, + 0x13, 0xcb, 0x1b, 0x67, 0x95, 0x26, 0x59, 0x90, 0x00, 0xac, 0x71, 0xd8, 0x79, 0xb8, 0x17, 0xb7, + 0x7c, 0x67, 0xd7, 0xd8, 0x95, 0x1b, 0xb5, 0x28, 0x14, 0x08, 0x9b, 0x78, 0x76, 0x13, 0xc6, 0xd3, + 0x2f, 0x31, 0x47, 0x36, 0x58, 0x30, 0x6a, 0x4f, 0xc3, 0x39, 0x05, 0x35, 0x87, 0x3d, 0xb5, 0xd8, + 0x76, 0x84, 0x4c, 0xd0, 0x21, 0x99, 0x12, 0x80, 0x35, 0x8e, 0xfd, 0x8f, 0x2c, 0x38, 0x99, 0x33, + 0x68, 0x05, 0xa6, 0x38, 0x26, 0x5a, 0xda, 0xe4, 0xd9, 0x00, 0x3f, 0x06, 0x03, 0x75, 0xb2, 0xe1, + 0xc8, 0x70, 0x47, 0x43, 0x7a, 0xce, 0xf1, 0x66, 0x2c, 0xe1, 0xf6, 0x6f, 0x95, 0x60, 0x34, 0xdd, + 0xd7, 0x98, 0xa5, 0x0d, 0xf1, 0x61, 0xf2, 0x62, 0x37, 0xdc, 0x26, 0xd1, 0x2e, 0x7d, 0x73, 0x2b, + 0x93, 0x36, 0xd4, 0x81, 0x81, 0x73, 0x9e, 0x62, 0x95, 0x8e, 0xeb, 0x6a, 0xb4, 0xe5, 0x8c, 0xbc, + 0x5e, 0xe4, 0x8c, 0xd4, 0x1f, 0xd3, 0x0c, 0x8d, 0x50, 0x2c, 0xb1, 0xc9, 0x9f, 0xda, 0x22, 0x2c, + 0x0e, 0x7b, 0xa6, 0xed, 0xf9, 0x89, 0x17, 0x88, 0x57, 0x16, 0x73, 0x55, 0xd9, 0x22, 0x4b, 0x9d, + 0x28, 0x38, 0xef, 0x39, 0xfb, 0x7b, 0x7d, 0xa0, 0x52, 0xaa, 0x59, 0xe8, 0x5a, 0x41, 0x81, 0x7f, + 0x87, 0x4d, 0x3e, 0x53, 0x73, 0xab, 0x6f, 0xbf, 0x58, 0x12, 0xee, 0xca, 0x31, 0xfd, 0xb9, 0x6a, + 0xc0, 0xd6, 0x34, 0x08, 0x9b, 0x78, 0xb4, 0x27, 0xbe, 0xb7, 0x4d, 0xf8, 0x43, 0xfd, 0xe9, 0x9e, + 0x2c, 0x4a, 0x00, 0xd6, 0x38, 0xb4, 0x27, 0x75, 0x6f, 0x63, 0x43, 0xf8, 0x25, 0x54, 0x4f, 0xe8, + 0xe8, 0x60, 0x06, 0xe1, 0xb5, 0xf0, 0xc3, 0x2d, 0x61, 0x7f, 0x1b, 0xb5, 0xf0, 0xc3, 0x2d, 0xcc, + 0x20, 0xf4, 0x2b, 0x05, 0x61, 0xd4, 0x74, 0x7c, 0xef, 0x35, 0x52, 0x57, 0x5c, 0x84, 0xdd, 0xad, + 0xbe, 0xd2, 0xd5, 0x4e, 0x14, 0x9c, 0xf7, 0x1c, 0x9d, 0xd0, 0xad, 0x88, 0xd4, 0x3d, 0x37, 0x31, + 0xa9, 0x41, 0x7a, 0x42, 0xaf, 0x74, 0x60, 0xe0, 0x9c, 0xa7, 0xd0, 0x34, 0x8c, 0xca, 0x94, 0x78, + 0x59, 0xf0, 0x68, 0x30, 0x5d, 0x60, 0x05, 0xa7, 0xc1, 0x38, 0x8b, 0x4f, 0x85, 0x64, 0x53, 0xd4, + 0x44, 0x63, 0x66, 0xba, 0x21, 0x24, 0x65, 0xad, 0x34, 0xac, 0x30, 0xec, 0x8f, 0x97, 0xa9, 0x52, + 0xef, 0x52, 0x7a, 0xf0, 0x9e, 0x05, 0x9a, 0xa6, 0x67, 0x64, 0x5f, 0x0f, 0x33, 0xf2, 0x59, 0x18, + 0xba, 0x19, 0x87, 0x81, 0x0a, 0xe2, 0xac, 0x74, 0x0d, 0xe2, 0x34, 0xb0, 0xf2, 0x83, 0x38, 0xfb, + 0x8b, 0x0a, 0xe2, 0x1c, 0xb8, 0xcb, 0x20, 0xce, 0x3f, 0xa8, 0x80, 0xba, 0x57, 0xe8, 0x2a, 0x49, + 0x6e, 0x85, 0xd1, 0x96, 0x17, 0x34, 0x58, 0x29, 0x81, 0xaf, 0x5a, 0x30, 0xc4, 0xd7, 0xcb, 0xa2, + 0x99, 0x84, 0xb7, 0x51, 0xd0, 0x85, 0x35, 0x29, 0x66, 0x93, 0x6b, 0x06, 0xa3, 0xcc, 0x9d, 0xc3, + 0x26, 0x08, 0xa7, 0x7a, 0x84, 0x3e, 0x02, 0x20, 0x9d, 0xb8, 0x1b, 0x52, 0x02, 0x2f, 0x14, 0xd3, + 0x3f, 0x4c, 0x36, 0xb4, 0x49, 0xbd, 0xa6, 0x98, 0x60, 0x83, 0x21, 0xfa, 0xb4, 0x4e, 0x50, 0xe4, + 0xd9, 0x1e, 0x1f, 0x3a, 0x96, 0xb1, 0xe9, 0x25, 0x3d, 0x11, 0xc3, 0x80, 0x17, 0x34, 0xe8, 0x3c, + 0x11, 0xc1, 0x6e, 0x6f, 0xcf, 0x2b, 0xc3, 0xb1, 0x18, 0x3a, 0xf5, 0x19, 0xc7, 0x77, 0x02, 0x97, + 0x44, 0x0b, 0x1c, 0x5d, 0x6b, 0x50, 0xd1, 0x80, 0x25, 0xa1, 0x8e, 0x1b, 0x99, 0x2a, 0xbd, 0xdc, + 0xc8, 0x74, 0xe6, 0xbd, 0x30, 0xd6, 0xf1, 0x31, 0x0f, 0x95, 0x8d, 0x78, 0xf7, 0x89, 0x8c, 0xf6, + 0x6f, 0xf7, 0x6b, 0xa5, 0x75, 0x35, 0xac, 0xf3, 0x0b, 0x7e, 0x22, 0xfd, 0x45, 0x85, 0xc9, 0x5c, + 0xe0, 0x14, 0x51, 0x6a, 0xc6, 0x68, 0xc4, 0x26, 0x4b, 0x3a, 0x47, 0x5b, 0x4e, 0x44, 0x82, 0xe3, + 0x9e, 0xa3, 0x2b, 0x8a, 0x09, 0x36, 0x18, 0xa2, 0xcd, 0x54, 0x3a, 0xd2, 0xc5, 0xa3, 0xa7, 0x23, + 0xb1, 0x02, 0x65, 0x79, 0xf7, 0x60, 0x7c, 0xc1, 0x82, 0x91, 0x20, 0x35, 0x73, 0x8b, 0x89, 0x40, + 0xce, 0x5f, 0x15, 0xfc, 0x5a, 0xba, 0x74, 0x1b, 0xce, 0xf0, 0xcf, 0x53, 0x69, 0x95, 0x43, 0xaa, + 0x34, 0x7d, 0xc1, 0x58, 0x7f, 0xb7, 0x0b, 0xc6, 0x50, 0xa0, 0x6e, 0x58, 0x1c, 0x28, 0xfc, 0x86, + 0x45, 0xc8, 0xb9, 0x5d, 0xf1, 0x06, 0xd4, 0xdc, 0x88, 0x38, 0xc9, 0x5d, 0x5e, 0xb6, 0xc7, 0x62, + 0x3b, 0x66, 0x25, 0x01, 0xac, 0x69, 0xd9, 0xff, 0xa7, 0x0f, 0x4e, 0xc8, 0x11, 0x91, 0xd9, 0x0b, + 0x54, 0x3f, 0x72, 0xbe, 0xda, 0x56, 0x56, 0xfa, 0xf1, 0x92, 0x04, 0x60, 0x8d, 0x43, 0xed, 0xb1, + 0x76, 0x4c, 0x96, 0x5b, 0x24, 0x58, 0xf4, 0xd6, 0x63, 0x71, 0x18, 0xab, 0x16, 0xca, 0x35, 0x0d, + 0xc2, 0x26, 0x1e, 0xb5, 0xed, 0x1d, 0xc3, 0x68, 0x35, 0x6c, 0x7b, 0x69, 0xa8, 0x4a, 0x38, 0xfa, + 0xe5, 0xdc, 0x5a, 0xc8, 0xc5, 0xe4, 0xfc, 0x75, 0x24, 0x6d, 0x1c, 0xf2, 0x7e, 0xd6, 0xbf, 0x6f, + 0xc1, 0x69, 0xde, 0x2a, 0x47, 0xf2, 0x5a, 0xab, 0xee, 0x24, 0x24, 0x2e, 0xe6, 0x0e, 0x85, 0x9c, + 0xfe, 0x69, 0xf7, 0x72, 0x1e, 0x5b, 0x9c, 0xdf, 0x1b, 0xf4, 0xba, 0x05, 0xa3, 0x5b, 0xa9, 0x72, + 0x31, 0x52, 0x75, 0x1c, 0xb5, 0x92, 0x43, 0x8a, 0xa8, 0x5e, 0x6a, 0xe9, 0xf6, 0x18, 0x67, 0xb9, + 0xdb, 0xff, 0xc3, 0x02, 0x53, 0x8c, 0xde, 0xfb, 0x2a, 0x33, 0x87, 0x37, 0x05, 0xa5, 0x75, 0x59, + 0xe9, 0x6a, 0x5d, 0x3e, 0x0a, 0xe5, 0xb6, 0x57, 0x17, 0xfb, 0x0b, 0x7d, 0x44, 0xbc, 0x30, 0x87, + 0x69, 0xbb, 0xfd, 0x2f, 0x2b, 0xda, 0x0d, 0x22, 0x52, 0xea, 0x7e, 0x28, 0x5e, 0x7b, 0x43, 0xd5, + 0xa9, 0xe3, 0x6f, 0x7e, 0xb5, 0xa3, 0x4e, 0xdd, 0x4f, 0x1d, 0x3e, 0x63, 0x92, 0x0f, 0x50, 0xb7, + 0x32, 0x75, 0x03, 0x07, 0xa4, 0x4b, 0xde, 0x84, 0x2a, 0xdd, 0x82, 0x31, 0x7f, 0x66, 0x35, 0xd5, + 0xa9, 0xea, 0x25, 0xd1, 0x7e, 0x67, 0x6f, 0xe2, 0x5d, 0x87, 0xef, 0x96, 0x7c, 0x1a, 0x2b, 0xfa, + 0x28, 0x86, 0x1a, 0xfd, 0xcd, 0x32, 0x3b, 0xc5, 0xe6, 0xee, 0x9a, 0x92, 0x99, 0x12, 0x50, 0x48, + 0xda, 0xa8, 0xe6, 0x83, 0x02, 0xa8, 0xb1, 0xab, 0xac, 0x19, 0x53, 0xbe, 0x07, 0x5c, 0x51, 0xf9, + 0x95, 0x12, 0x70, 0x67, 0x6f, 0xe2, 0x85, 0xc3, 0x33, 0x55, 0x8f, 0x63, 0xcd, 0xc2, 0xfe, 0xeb, + 0x3e, 0x3d, 0x77, 0x45, 0x79, 0xc2, 0x1f, 0x8a, 0xb9, 0xfb, 0x7c, 0x66, 0xee, 0x9e, 0xeb, 0x98, + 0xbb, 0x23, 0xfa, 0xca, 0xe5, 0xd4, 0x6c, 0xbc, 0xd7, 0x86, 0xc0, 0xc1, 0xfe, 0x06, 0x66, 0x01, + 0xbd, 0xda, 0xf6, 0x22, 0x12, 0xaf, 0x44, 0xed, 0xc0, 0x0b, 0x1a, 0x6c, 0x3a, 0x56, 0x4d, 0x0b, + 0x28, 0x05, 0xc6, 0x59, 0x7c, 0xba, 0xa9, 0xa7, 0xdf, 0xfc, 0x86, 0xb3, 0xcd, 0x67, 0x95, 0x51, + 0xb1, 0x6d, 0x55, 0xb4, 0x63, 0x85, 0x81, 0x36, 0xe1, 0xac, 0x24, 0x30, 0x47, 0x7c, 0x22, 0xee, + 0x4c, 0xde, 0xf0, 0xa2, 0x26, 0x0f, 0x10, 0xe7, 0x91, 0x09, 0x6f, 0x13, 0x14, 0xce, 0xe2, 0x7d, + 0x70, 0xf1, 0xbe, 0x94, 0xec, 0xaf, 0xb3, 0xf3, 0x7a, 0x23, 0x79, 0x9d, 0xce, 0x3e, 0x9f, 0xdd, + 0x52, 0xce, 0x0b, 0xcb, 0xa9, 0xd9, 0xc7, 0xaf, 0x26, 0xe7, 0x30, 0x74, 0x0b, 0x06, 0xd6, 0xf9, + 0x7d, 0x9b, 0xc5, 0xd4, 0xf6, 0x17, 0x97, 0x77, 0xb2, 0x9b, 0x8c, 0xe4, 0x4d, 0x9e, 0x77, 0xf4, + 0x4f, 0x2c, 0xb9, 0xd9, 0xdf, 0xaa, 0xc0, 0x68, 0xe6, 0x1e, 0xeb, 0x54, 0x49, 0xdf, 0xd2, 0x81, + 0x25, 0x7d, 0x3f, 0x08, 0x50, 0x27, 0x2d, 0x3f, 0xdc, 0x65, 0x86, 0x5f, 0xdf, 0xa1, 0x0d, 0x3f, + 0xb5, 0x57, 0x98, 0x53, 0x54, 0xb0, 0x41, 0x51, 0x54, 0xd3, 0xe3, 0x15, 0x82, 0x33, 0xd5, 0xf4, + 0x8c, 0x1b, 0x40, 0xfa, 0xef, 0xed, 0x0d, 0x20, 0x1e, 0x8c, 0xf2, 0x2e, 0xaa, 0x14, 0xf1, 0xbb, + 0xc8, 0x04, 0x67, 0x49, 0x36, 0x73, 0x69, 0x32, 0x38, 0x4b, 0xf7, 0x7e, 0x5e, 0x53, 0x8f, 0xde, + 0x01, 0x35, 0xf9, 0x9d, 0xe3, 0xf1, 0x9a, 0x2e, 0xb3, 0x21, 0xa7, 0x01, 0xbb, 0x3e, 0x5e, 0xfc, + 0xec, 0xa8, 0x76, 0x01, 0xf7, 0xab, 0xda, 0x85, 0xfd, 0xf9, 0x12, 0xdd, 0x31, 0xf0, 0x7e, 0xa9, + 0xc2, 0x4d, 0x4f, 0x40, 0xbf, 0xd3, 0x4e, 0x36, 0xc3, 0x8e, 0x1b, 0x3b, 0xa7, 0x59, 0x2b, 0x16, + 0x50, 0xb4, 0x08, 0x7d, 0x75, 0x5d, 0x8c, 0xe7, 0x30, 0xdf, 0x53, 0x3b, 0x5f, 0x9d, 0x84, 0x60, + 0x46, 0x05, 0x9d, 0x85, 0xbe, 0xc4, 0x69, 0xc8, 0xbc, 0x40, 0x96, 0x0b, 0xbe, 0xe6, 0x34, 0x62, + 0xcc, 0x5a, 0x4d, 0x43, 0xa1, 0xef, 0x00, 0x43, 0xe1, 0x05, 0x18, 0x8e, 0xbd, 0x46, 0xe0, 0x24, + 0xed, 0x88, 0x18, 0xe7, 0x93, 0x3a, 0x3a, 0xc5, 0x04, 0xe2, 0x34, 0xae, 0xfd, 0x3b, 0x43, 0x70, + 0x6a, 0x75, 0x76, 0x49, 0x96, 0x98, 0x3f, 0xb6, 0xd4, 0xbe, 0x3c, 0x1e, 0xf7, 0x2e, 0xb5, 0xaf, + 0x0b, 0x77, 0xdf, 0x48, 0xed, 0xf3, 0x8d, 0xd4, 0xbe, 0x74, 0x9e, 0x55, 0xb9, 0x88, 0x3c, 0xab, + 0xbc, 0x1e, 0xf4, 0x92, 0x67, 0x75, 0x6c, 0xb9, 0x7e, 0xfb, 0x76, 0xe8, 0x50, 0xb9, 0x7e, 0x2a, + 0x11, 0xb2, 0x90, 0x0c, 0x98, 0x2e, 0x9f, 0x2a, 0x37, 0x11, 0x52, 0x25, 0xa1, 0xf1, 0xec, 0x2e, + 0x21, 0xea, 0x5f, 0x2e, 0xbe, 0x03, 0x3d, 0x24, 0xa1, 0x89, 0x04, 0x33, 0x33, 0xf1, 0x71, 0xa0, + 0x88, 0xc4, 0xc7, 0xbc, 0xee, 0x1c, 0x98, 0xf8, 0xf8, 0x02, 0x0c, 0xbb, 0x7e, 0x18, 0x90, 0x95, + 0x28, 0x4c, 0x42, 0x37, 0x94, 0x77, 0x06, 0xea, 0x2b, 0x6f, 0x4c, 0x20, 0x4e, 0xe3, 0x76, 0xcb, + 0x9a, 0xac, 0x1d, 0x35, 0x6b, 0x12, 0xee, 0x53, 0xd6, 0xe4, 0x2f, 0xe8, 0xfc, 0xfe, 0x41, 0xf6, + 0x45, 0x3e, 0x58, 0xfc, 0x17, 0xe9, 0xe9, 0x52, 0xc0, 0x37, 0xf8, 0x95, 0x99, 0xd4, 0x04, 0x9f, + 0x0d, 0x9b, 0xd4, 0xf0, 0x1b, 0x62, 0x43, 0xf2, 0xca, 0x31, 0x4c, 0xd8, 0x1b, 0xab, 0x9a, 0x8d, + 0xba, 0x46, 0x53, 0x37, 0xe1, 0x74, 0x47, 0x8e, 0x52, 0x7f, 0xe0, 0xcb, 0x25, 0xf8, 0x91, 0x03, + 0xbb, 0x80, 0x6e, 0x01, 0x24, 0x4e, 0x43, 0x4c, 0x54, 0x71, 0x34, 0x73, 0xc4, 0x10, 0xd2, 0x35, + 0x49, 0x8f, 0x17, 0xce, 0x51, 0x7f, 0xd9, 0xa1, 0x87, 0xfc, 0xcd, 0x22, 0x47, 0x43, 0xbf, 0xa3, + 0xbe, 0x28, 0x0e, 0x7d, 0x82, 0x19, 0x84, 0xaa, 0xff, 0x88, 0x34, 0xf4, 0x7d, 0xf3, 0xea, 0xf3, + 0x61, 0xd6, 0x8a, 0x05, 0x14, 0x3d, 0x07, 0x83, 0x8e, 0xef, 0xf3, 0xf4, 0x24, 0x12, 0x8b, 0xbb, + 0xa8, 0x74, 0xa1, 0x43, 0x0d, 0xc2, 0x26, 0x9e, 0xfd, 0x97, 0x25, 0x98, 0x38, 0x40, 0xa6, 0x74, + 0xa4, 0xa5, 0x56, 0x7a, 0x4e, 0x4b, 0x15, 0x29, 0x1b, 0xfd, 0x5d, 0x52, 0x36, 0x9e, 0x83, 0xc1, + 0x84, 0x38, 0x4d, 0x11, 0x74, 0x26, 0x7c, 0x0e, 0xfa, 0xac, 0x59, 0x83, 0xb0, 0x89, 0x47, 0xa5, + 0xd8, 0x88, 0xe3, 0xba, 0x24, 0x8e, 0x65, 0x4e, 0x86, 0xf0, 0xdb, 0x16, 0x96, 0xf0, 0xc1, 0xdc, + 0xe1, 0xd3, 0x29, 0x16, 0x38, 0xc3, 0x32, 0x3b, 0xe0, 0xb5, 0x1e, 0x07, 0xfc, 0x6b, 0x25, 0x78, + 0x74, 0x5f, 0xed, 0xd6, 0x73, 0xba, 0x4c, 0x3b, 0x26, 0x51, 0x76, 0xe2, 0x5c, 0x8b, 0x49, 0x84, + 0x19, 0x84, 0x8f, 0x52, 0xab, 0x65, 0xdc, 0xe7, 0x5f, 0x74, 0xee, 0x18, 0x1f, 0xa5, 0x14, 0x0b, + 0x9c, 0x61, 0x79, 0xb7, 0xd3, 0xf2, 0x5b, 0x7d, 0xf0, 0x78, 0x0f, 0x36, 0x40, 0x81, 0x39, 0x76, + 0xe9, 0x7c, 0xd0, 0xf2, 0x7d, 0xca, 0x07, 0xbd, 0xbb, 0xe1, 0x7a, 0x33, 0x8d, 0xb4, 0xa7, 0x5c, + 0xbe, 0xaf, 0x97, 0xe0, 0x4c, 0x77, 0x83, 0x05, 0xbd, 0x1b, 0x46, 0x23, 0x15, 0x64, 0x67, 0xa6, + 0x92, 0x9e, 0xe4, 0x9e, 0x9d, 0x14, 0x08, 0x67, 0x71, 0xd1, 0x24, 0x40, 0xcb, 0x49, 0x36, 0xe3, + 0x0b, 0x3b, 0x5e, 0x9c, 0x88, 0x82, 0x52, 0x23, 0xfc, 0x2c, 0x51, 0xb6, 0x62, 0x03, 0x83, 0xb2, + 0x63, 0xff, 0xe6, 0xc2, 0xab, 0x61, 0xc2, 0x1f, 0xe2, 0x9b, 0xad, 0x93, 0xf2, 0xfa, 0x1d, 0x03, + 0x84, 0xb3, 0xb8, 0x94, 0x1d, 0x3b, 0xad, 0xe6, 0x1d, 0xe5, 0xbb, 0x30, 0xc6, 0x6e, 0x51, 0xb5, + 0x62, 0x03, 0x23, 0x9b, 0x24, 0x5b, 0x39, 0x38, 0x49, 0xd6, 0xfe, 0x17, 0x25, 0x78, 0xa4, 0xab, + 0xc1, 0xdb, 0x9b, 0x98, 0x7a, 0xf0, 0x12, 0x5b, 0xef, 0x72, 0x85, 0x1d, 0x2e, 0x21, 0xf2, 0x4f, + 0xba, 0xcc, 0x34, 0x91, 0x10, 0x79, 0xf7, 0x75, 0x1e, 0x1e, 0xbc, 0xf1, 0xec, 0xc8, 0x81, 0xec, + 0x3b, 0x44, 0x0e, 0x64, 0xe6, 0x63, 0x54, 0x7a, 0xd4, 0x0e, 0x7f, 0xd6, 0xd7, 0x75, 0x78, 0xe9, + 0x06, 0xb9, 0x27, 0xbf, 0xf9, 0x1c, 0x9c, 0xf0, 0x02, 0x76, 0x15, 0xdb, 0x6a, 0x7b, 0x5d, 0xd4, + 0x18, 0xe2, 0x85, 0x34, 0x55, 0xa2, 0xc5, 0x42, 0x06, 0x8e, 0x3b, 0x9e, 0x78, 0x00, 0x73, 0x52, + 0xef, 0x6e, 0x48, 0x0f, 0x29, 0xb9, 0x97, 0xe1, 0xb4, 0x1c, 0x8a, 0x4d, 0x27, 0x22, 0x75, 0xa1, + 0x6c, 0x63, 0x91, 0x5a, 0xf3, 0x08, 0x4f, 0xcf, 0xc9, 0x41, 0xc0, 0xf9, 0xcf, 0xb1, 0xdb, 0xaf, + 0xc2, 0x96, 0xe7, 0x8a, 0xad, 0xa0, 0xbe, 0xfd, 0x8a, 0x36, 0x62, 0x0e, 0xd3, 0xfa, 0xa2, 0x76, + 0x6f, 0xf4, 0xc5, 0x07, 0xa1, 0xa6, 0xc6, 0x9b, 0x67, 0x09, 0xa8, 0x49, 0xde, 0x91, 0x25, 0xa0, + 0x66, 0xb8, 0x81, 0x75, 0xd0, 0xf5, 0xac, 0x3f, 0x01, 0x43, 0xca, 0xfb, 0xd5, 0xeb, 0x1d, 0x64, + 0xf6, 0x9f, 0xf7, 0xc3, 0x70, 0xaa, 0xae, 0x68, 0xca, 0xed, 0x6d, 0x1d, 0xe8, 0xf6, 0x66, 0x09, + 0x22, 0xed, 0x40, 0x5e, 0x50, 0x68, 0x24, 0x88, 0xb4, 0x03, 0x82, 0x39, 0x8c, 0x6e, 0x3a, 0xea, + 0xd1, 0x2e, 0x6e, 0x07, 0x22, 0xe2, 0x55, 0x6d, 0x3a, 0xe6, 0x58, 0x2b, 0x16, 0x50, 0xf4, 0x31, + 0x0b, 0x86, 0x62, 0x76, 0x7a, 0xc3, 0x0f, 0x0d, 0xc4, 0x24, 0xbf, 0x7c, 0xf4, 0xb2, 0xa9, 0xaa, + 0x86, 0x2e, 0x8b, 0x90, 0x32, 0x5b, 0x70, 0x8a, 0x23, 0xfa, 0xa4, 0x05, 0x35, 0x75, 0x8f, 0x92, + 0xb8, 0x6d, 0x74, 0xb5, 0xd8, 0xb2, 0xad, 0xdc, 0xdb, 0xac, 0x0e, 0xc2, 0x54, 0xfd, 0x4c, 0xac, + 0x19, 0xa3, 0x58, 0x79, 0xf4, 0x07, 0x8e, 0xc7, 0xa3, 0x0f, 0x39, 0xde, 0xfc, 0x77, 0x40, 0xad, + 0xe9, 0x04, 0xde, 0x06, 0x89, 0x13, 0xee, 0x64, 0x97, 0xd5, 0xa4, 0x65, 0x23, 0xd6, 0x70, 0x6a, + 0x00, 0xc4, 0xec, 0xc5, 0x12, 0xc3, 0x2b, 0xce, 0x0c, 0x80, 0x55, 0xdd, 0x8c, 0x4d, 0x1c, 0xd3, + 0x85, 0x0f, 0xf7, 0xd5, 0x85, 0x3f, 0x78, 0x80, 0x0b, 0x7f, 0x15, 0x4e, 0x3b, 0xed, 0x24, 0xbc, + 0x44, 0x1c, 0x7f, 0x9a, 0x5f, 0x1d, 0x2c, 0xae, 0xc2, 0x1f, 0x62, 0x6e, 0x21, 0x15, 0xd3, 0xb1, + 0x4a, 0xfc, 0x8d, 0x0e, 0x24, 0x9c, 0xff, 0xac, 0xfd, 0x4f, 0x2d, 0x38, 0x9d, 0x3b, 0x15, 0x1e, + 0xdc, 0x68, 0x5a, 0xfb, 0x4b, 0x15, 0x38, 0x99, 0x53, 0x75, 0x18, 0xed, 0x9a, 0x8b, 0xc4, 0x2a, + 0x22, 0x30, 0x25, 0x1d, 0x67, 0x21, 0xbf, 0x4d, 0xce, 0xca, 0x38, 0xdc, 0xa9, 0x9c, 0x3e, 0x19, + 0x2b, 0xdf, 0xdb, 0x93, 0x31, 0x63, 0xae, 0xf7, 0xdd, 0xd7, 0xb9, 0x5e, 0x39, 0x60, 0xae, 0x7f, + 0xc3, 0x82, 0xf1, 0x66, 0x97, 0xab, 0x2e, 0x84, 0x8f, 0xf9, 0xfa, 0xf1, 0x5c, 0xa4, 0x31, 0x73, + 0xf6, 0xf6, 0xde, 0x44, 0xd7, 0x1b, 0x46, 0x70, 0xd7, 0x5e, 0xd9, 0xdf, 0x2b, 0x03, 0x2b, 0x79, + 0xcd, 0x2a, 0x4b, 0xee, 0xa2, 0x8f, 0x9a, 0xc5, 0xcb, 0xad, 0xa2, 0x0a, 0x6d, 0x73, 0xe2, 0xaa, + 0xf8, 0x39, 0x1f, 0xc1, 0xbc, 0x5a, 0xe8, 0x59, 0x49, 0x58, 0xea, 0x41, 0x12, 0xfa, 0xb2, 0x4a, + 0x7c, 0xb9, 0xf8, 0x2a, 0xf1, 0xb5, 0x6c, 0x85, 0xf8, 0xfd, 0x3f, 0x71, 0xdf, 0x03, 0xf9, 0x89, + 0x7f, 0xc5, 0xe2, 0x82, 0x27, 0xf3, 0x15, 0xb4, 0xb9, 0x61, 0xed, 0x63, 0x6e, 0x3c, 0x05, 0xd5, + 0x58, 0x48, 0x66, 0x61, 0x96, 0xe8, 0xa0, 0x08, 0xd1, 0x8e, 0x15, 0x06, 0xbb, 0x46, 0xda, 0xf7, + 0xc3, 0x5b, 0x17, 0x9a, 0xad, 0x64, 0x57, 0x18, 0x28, 0xfa, 0x1a, 0x69, 0x05, 0xc1, 0x06, 0x96, + 0xfd, 0xf7, 0x4a, 0x7c, 0x06, 0x8a, 0xc8, 0x9a, 0xe7, 0x33, 0x17, 0x7f, 0xf6, 0x1e, 0x94, 0xf2, + 0x61, 0x00, 0x37, 0x6c, 0xb6, 0xa8, 0xf1, 0xba, 0x16, 0x8a, 0xe3, 0xbf, 0x4b, 0x47, 0x35, 0x44, + 0x25, 0x3d, 0xfd, 0x1a, 0xba, 0x0d, 0x1b, 0xfc, 0x52, 0xb2, 0xb4, 0x7c, 0xa0, 0x2c, 0x4d, 0x89, + 0x95, 0xbe, 0xfd, 0xc5, 0x8a, 0xfd, 0x97, 0x16, 0xa4, 0xcc, 0x2c, 0xd4, 0x82, 0x0a, 0xed, 0xee, + 0xae, 0x58, 0xa1, 0xcb, 0xc5, 0xd9, 0x74, 0x54, 0x34, 0x8a, 0x69, 0xcf, 0x7e, 0x62, 0xce, 0x08, + 0xf9, 0x22, 0x00, 0x87, 0x8f, 0xea, 0xd5, 0xe2, 0x18, 0x5e, 0x0a, 0xc3, 0x2d, 0x7e, 0x86, 0xad, + 0x83, 0x79, 0xec, 0xe7, 0x61, 0xac, 0xa3, 0x53, 0xec, 0x8e, 0xbf, 0x90, 0x6a, 0x9f, 0xcc, 0x74, + 0x65, 0xf9, 0xc8, 0x98, 0xc3, 0xec, 0xaf, 0x5b, 0x70, 0x22, 0x4b, 0x1e, 0xbd, 0x61, 0xc1, 0x58, + 0x9c, 0xa5, 0x77, 0x5c, 0x63, 0xa7, 0x82, 0x68, 0x3b, 0x40, 0xb8, 0xb3, 0x13, 0xf6, 0x5f, 0x8b, + 0xc9, 0x7f, 0xc3, 0x0b, 0xea, 0xe1, 0x2d, 0x65, 0x98, 0x58, 0x5d, 0x0d, 0x13, 0xba, 0x1e, 0xdd, + 0x4d, 0x52, 0x6f, 0xfb, 0x1d, 0xd9, 0xcd, 0xab, 0xa2, 0x1d, 0x2b, 0x0c, 0x96, 0xcc, 0xd9, 0x16, + 0xd7, 0x48, 0x64, 0x26, 0xe5, 0x9c, 0x68, 0xc7, 0x0a, 0x03, 0x3d, 0x0b, 0x43, 0xc6, 0x4b, 0xca, + 0x79, 0xc9, 0xac, 0x7c, 0x43, 0x65, 0xc6, 0x38, 0x85, 0x85, 0x26, 0x01, 0x94, 0x91, 0x23, 0x55, + 0x24, 0xf3, 0x76, 0x29, 0x49, 0x14, 0x63, 0x03, 0x83, 0xa5, 0x4e, 0xfb, 0xed, 0x98, 0x1d, 0xe7, + 0xf4, 0xeb, 0xd2, 0xc6, 0xb3, 0xa2, 0x0d, 0x2b, 0x28, 0x95, 0x26, 0x4d, 0x27, 0x68, 0x3b, 0x3e, + 0x1d, 0x21, 0xb1, 0x7f, 0x55, 0xcb, 0x70, 0x49, 0x41, 0xb0, 0x81, 0x45, 0xdf, 0x38, 0xf1, 0x9a, + 0xe4, 0xa5, 0x30, 0x90, 0xc1, 0x8f, 0xfa, 0x84, 0x4f, 0xb4, 0x63, 0x85, 0x61, 0xff, 0x85, 0x05, + 0xa3, 0xba, 0x66, 0x03, 0xbf, 0xcd, 0xdf, 0xdc, 0x6e, 0x5b, 0x07, 0x6e, 0xb7, 0xd3, 0x19, 0xea, + 0xa5, 0x9e, 0x32, 0xd4, 0xcd, 0xe4, 0xf1, 0xf2, 0xbe, 0xc9, 0xe3, 0x3f, 0xaa, 0x6f, 0x8a, 0xe6, + 0x59, 0xe6, 0x83, 0x79, 0xb7, 0x44, 0x23, 0x1b, 0xfa, 0x5d, 0x47, 0xd5, 0x36, 0x1a, 0xe2, 0x1b, + 0x92, 0xd9, 0x69, 0x86, 0x24, 0x20, 0xf6, 0x32, 0xd4, 0xd4, 0x41, 0x97, 0xdc, 0xfd, 0x5a, 0xf9, + 0xbb, 0xdf, 0x9e, 0x92, 0x58, 0x67, 0xd6, 0xbf, 0xf9, 0xfd, 0xc7, 0xde, 0xf2, 0x47, 0xdf, 0x7f, + 0xec, 0x2d, 0xdf, 0xfd, 0xfe, 0x63, 0x6f, 0xf9, 0xd8, 0xed, 0xc7, 0xac, 0x6f, 0xde, 0x7e, 0xcc, + 0xfa, 0xa3, 0xdb, 0x8f, 0x59, 0xdf, 0xbd, 0xfd, 0x98, 0xf5, 0xbd, 0xdb, 0x8f, 0x59, 0x5f, 0xf8, + 0xaf, 0x8f, 0xbd, 0xe5, 0xa5, 0xdc, 0xe8, 0x57, 0xfa, 0xe3, 0x69, 0xb7, 0x3e, 0xb5, 0x7d, 0x9e, + 0x05, 0x60, 0xd2, 0xe5, 0x35, 0x65, 0xcc, 0xa9, 0x29, 0xb9, 0xbc, 0xfe, 0x6f, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x54, 0x39, 0x21, 0x09, 0x7d, 0xec, 0x00, 0x00, } func (m *AWSAuthConfig) Marshal() (dAtA []byte, err error) { @@ -7231,6 +7231,11 @@ func (m *ApplicationSource) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x72 i -= len(m.Ref) copy(dAtA[i:], m.Ref) i = encodeVarintGenerated(dAtA, i, uint64(len(m.Ref))) @@ -15672,6 +15677,8 @@ func (m *ApplicationSource) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) l = len(m.Ref) n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) return n } @@ -19046,6 +19053,7 @@ func (this *ApplicationSource) String() string { `Plugin:` + strings.Replace(this.Plugin.String(), "ApplicationSourcePlugin", "ApplicationSourcePlugin", 1) + `,`, `Chart:` + fmt.Sprintf("%v", this.Chart) + `,`, `Ref:` + fmt.Sprintf("%v", this.Ref) + `,`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, `}`, }, "") return s @@ -27189,6 +27197,38 @@ func (m *ApplicationSource) Unmarshal(dAtA []byte) error { } m.Ref = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index 5911cfd171e3d..5312b8c085c12 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -454,6 +454,9 @@ message ApplicationSource { // Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. optional string ref = 13; + + // Name is used to refer to a source and is displayed in the UI. + optional string name = 14; } // ApplicationSourceDirectory holds options for applications of type plain YAML or Jsonnet diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 4afeac5183615..97e0a180d2e27 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -191,6 +191,8 @@ type ApplicationSource struct { Chart string `json:"chart,omitempty" protobuf:"bytes,12,opt,name=chart"` // Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. Ref string `json:"ref,omitempty" protobuf:"bytes,13,opt,name=ref"` + // Name is used to refer to a source and is displayed in the UI. + Name string `json:"name,omitempty" protobuf:"bytes,14,opt,name=name"` } // ApplicationSources contains list of required information about the sources of an application diff --git a/test/e2e/app_multiple_sources_test.go b/test/e2e/app_multiple_sources_test.go index fd5f2d8d5fb69..63505576e4232 100644 --- a/test/e2e/app_multiple_sources_test.go +++ b/test/e2e/app_multiple_sources_test.go @@ -167,3 +167,62 @@ func TestMultiSourceAppWithSourceOverride(t *testing.T) { assert.Contains(t, output, "foo=bar") }) } + +func TestMultiSourceAppWithSourceName(t *testing.T) { + sources := []ApplicationSource{{ + RepoURL: RepoURL(RepoURLTypeFile), + Path: guestbookPath, + Name: "guestbook", + }, { + RepoURL: RepoURL(RepoURLTypeFile), + Path: "two-nice-pods", + Name: "dynamic duo", + }} + ctx := Given(t) + ctx. + Sources(sources). + When(). + CreateMultiSourceAppFromFile(). + Then(). + And(func(app *Application) { + assert.Equal(t, Name(), app.Name) + for i, source := range app.Spec.GetSources() { + assert.Equal(t, sources[i].RepoURL, source.RepoURL) + assert.Equal(t, sources[i].Path, source.Path) + assert.Equal(t, sources[i].Name, source.Name) + } + assert.Equal(t, DeploymentNamespace(), app.Spec.Destination.Namespace) + assert.Equal(t, KubernetesInternalAPIServerAddr, app.Spec.Destination.Server) + }). + Expect(Event(EventReasonResourceCreated, "create")). + And(func(app *Application) { + // we remove the first source + output, err := RunCli("app", "remove-source", Name(), "--source-name", "guestbook") + require.NoError(t, err) + assert.Contains(t, output, "updated successfully") + assert.Len(t, app.Spec.GetSources(), 2) + }). + Expect(Success("")). + And(func(app *Application) { + // we add a source + output, err := RunCli("app", "add-source", Name(), "--source-name", "guestbook2", "--repo", RepoURL(RepoURLTypeFile), "--path", guestbookPath) + require.NoError(t, err) + assert.Contains(t, output, "updated successfully") + assert.Len(t, app.Spec.GetSources(), 1) + }). + Expect(Success("")). + Given().Timeout(60). + When().Wait().Then(). + Expect(Success("")). + And(func(app *Application) { + statusByName := map[string]SyncStatusCode{} + for _, r := range app.Status.Resources { + statusByName[r.Name] = r.Status + } + // check if the app has 3 resources, guestbook and 2 pods + assert.Len(t, statusByName, 3) + assert.Equal(t, SyncStatusCodeSynced, statusByName["pod-1"]) + assert.Equal(t, SyncStatusCodeSynced, statusByName["pod-2"]) + assert.Equal(t, SyncStatusCodeSynced, statusByName["guestbook-ui"]) + }) +} diff --git a/ui/src/app/applications/components/application-parameters/application-parameters.tsx b/ui/src/app/applications/components/application-parameters/application-parameters.tsx index 041880f007928..1292164e6d776 100644 --- a/ui/src/app/applications/components/application-parameters/application-parameters.tsx +++ b/ui/src/app/applications/components/application-parameters/application-parameters.tsx @@ -307,7 +307,7 @@ export const ApplicationParameters = (props: {
-
Source {index + 1 + ': ' + appSource.repoURL}
+
Source {index + 1 + (appSource.name ? ' - ' + appSource.name : '') + ': ' + appSource.repoURL}
{(appSource.path ? 'PATH=' + appSource.path : '') + (appSource.targetRevision ? (appSource.path ? ', ' : '') + 'REVISION=' + appSource.targetRevision : '')}
@@ -586,6 +586,7 @@ function gatherCoreSourceDetails(i: number, attributes: EditablePanelItem[], sou const repoUrlField = 'spec.sources[' + i + '].repoURL'; const sourcesPathField = 'spec.sources[' + i + '].path'; const refField = 'spec.sources[' + i + '].ref'; + const nameField = 'spec.sources[' + i + '].name'; const chartField = 'spec.sources[' + i + '].chart'; const revisionField = 'spec.sources[' + i + '].targetRevision'; // For single source apps using the source field, these fields are shown in the Summary tab. @@ -595,6 +596,11 @@ function gatherCoreSourceDetails(i: number, attributes: EditablePanelItem[], sou view: , edit: (formApi: FormApi) => }); + attributes.push({ + title: 'NAME', + view: {source?.name}, + edit: (formApi: FormApi) => + }); if (isHelm) { attributes.push({ title: 'CHART', diff --git a/ui/src/app/shared/models.ts b/ui/src/app/shared/models.ts index c9d37184539d3..7d77bff2aab76 100644 --- a/ui/src/app/shared/models.ts +++ b/ui/src/app/shared/models.ts @@ -210,6 +210,8 @@ export interface ApplicationSource { directory?: ApplicationSourceDirectory; ref?: string; + + name?: string; } export interface ApplicationSourceHelm {